# directories
UNNEEDED_BCPROV_SOURCES=" \
org/bouncycastle/asn1/bsi \
org/bouncycastle/asn1/cmp \
org/bouncycastle/asn1/cms/ecc \
org/bouncycastle/asn1/crmf \
org/bouncycastle/asn1/cryptopro \
org/bouncycastle/asn1/dvcs \
org/bouncycastle/asn1/esf \
org/bouncycastle/asn1/ess \
org/bouncycastle/asn1/gnu \
org/bouncycastle/asn1/icao \
org/bouncycastle/asn1/microsoft \
org/bouncycastle/asn1/mozilla \
org/bouncycastle/asn1/ocsp \
org/bouncycastle/asn1/smime \
org/bouncycastle/asn1/test \
org/bouncycastle/asn1/tsp \
org/bouncycastle/asn1/ua \
org/bouncycastle/asn1/x509/qualified \
org/bouncycastle/asn1/x509/sigi \
org/bouncycastle/crypto/agreement/jpake \
org/bouncycastle/crypto/agreement/kdf \
org/bouncycastle/crypto/agreement/srp \
org/bouncycastle/crypto/agreement/test \
org/bouncycastle/crypto/commitments \
org/bouncycastle/crypto/ec/test \
org/bouncycastle/crypto/examples \
org/bouncycastle/crypto/kems \
org/bouncycastle/crypto/parsers \
org/bouncycastle/crypto/prng \
org/bouncycastle/crypto/test/ \
org/bouncycastle/crypto/tls/ \
org/bouncycastle/i18n/ \
org/bouncycastle/jcajce/io \
org/bouncycastle/jcajce/provider/asymmetric/dstu \
org/bouncycastle/jcajce/provider/asymmetric/ecgost \
org/bouncycastle/jcajce/provider/asymmetric/elgamal \
org/bouncycastle/jcajce/provider/asymmetric/gost \
org/bouncycastle/jcajce/provider/asymmetric/ies \
org/bouncycastle/jce/examples \
org/bouncycastle/jce/provider/test \
org/bouncycastle/math/ec/custom/djb \
org/bouncycastle/math/ec/tools \
org/bouncycastle/ocsp \
org/bouncycastle/pqc \
org/bouncycastle/util/test \
org/bouncycastle/x509/examples \
"

# files
UNNEEDED_BCPROV_SOURCES+=" \
org/bouncycastle/LICENSE.java \
org/bouncycastle/asn1/BERSequenceGenerator.java \
org/bouncycastle/asn1/DERGenerator.java \
org/bouncycastle/asn1/DERSequenceGenerator.java \
org/bouncycastle/asn1/DERT61UTF8String.java \
org/bouncycastle/asn1/cms/AuthEnvelopedData.java \
org/bouncycastle/asn1/cms/AuthEnvelopedDataParser.java \
org/bouncycastle/asn1/cms/AuthenticatedData.java \
org/bouncycastle/asn1/cms/AuthenticatedDataParser.java \
org/bouncycastle/asn1/cms/CCMParameters.java \
org/bouncycastle/asn1/cms/CompressedData.java \
org/bouncycastle/asn1/cms/CompressedDataParser.java \
org/bouncycastle/asn1/cms/ContentInfoParser.java \
org/bouncycastle/asn1/cms/DigestedData.java \
org/bouncycastle/asn1/cms/EncryptedContentInfo.java \
org/bouncycastle/asn1/cms/EncryptedContentInfoParser.java \
org/bouncycastle/asn1/cms/EncryptedData.java \
org/bouncycastle/asn1/cms/EnvelopedData.java \
org/bouncycastle/asn1/cms/EnvelopedDataParser.java \
org/bouncycastle/asn1/cms/Evidence.java \
org/bouncycastle/asn1/cms/KEKIdentifier.java \
org/bouncycastle/asn1/cms/KEKRecipientInfo.java \
org/bouncycastle/asn1/cms/KeyAgreeRecipientIdentifier.java \
org/bouncycastle/asn1/cms/KeyAgreeRecipientInfo.java \
org/bouncycastle/asn1/cms/KeyTransRecipientInfo.java \
org/bouncycastle/asn1/cms/MetaData.java \
org/bouncycastle/asn1/cms/OriginatorIdentifierOrKey.java \
org/bouncycastle/asn1/cms/OriginatorInfo.java \
org/bouncycastle/asn1/cms/OriginatorPublicKey.java \
org/bouncycastle/asn1/cms/OtherKeyAttribute.java \
org/bouncycastle/asn1/cms/OtherRecipientInfo.java \
org/bouncycastle/asn1/cms/OtherRevocationInfoFormat.java \
org/bouncycastle/asn1/cms/PasswordRecipientInfo.java \
org/bouncycastle/asn1/cms/RecipientEncryptedKey.java \
org/bouncycastle/asn1/cms/RecipientIdentifier.java \
org/bouncycastle/asn1/cms/RecipientInfo.java \
org/bouncycastle/asn1/cms/RecipientKeyIdentifier.java \
org/bouncycastle/asn1/cms/SCVPReqRes.java \
org/bouncycastle/asn1/cms/SignedDataParser.java \
org/bouncycastle/asn1/cms/TimeStampAndCRL.java \
org/bouncycastle/asn1/cms/TimeStampTokenEvidence.java \
org/bouncycastle/asn1/cms/TimeStampedData.java \
org/bouncycastle/asn1/cms/TimeStampedDataParser.java \
org/bouncycastle/asn1/eac/BidirectionalMap.java \
org/bouncycastle/asn1/eac/CVCertificate.java \
org/bouncycastle/asn1/eac/CVCertificateRequest.java \
org/bouncycastle/asn1/eac/CertificateBody.java \
org/bouncycastle/asn1/eac/CertificateHolderAuthorization.java \
org/bouncycastle/asn1/eac/CertificateHolderReference.java \
org/bouncycastle/asn1/eac/CertificationAuthorityReference.java \
org/bouncycastle/asn1/eac/EACTags.java \
org/bouncycastle/asn1/eac/ECDSAPublicKey.java \
org/bouncycastle/asn1/eac/Flags.java \
org/bouncycastle/asn1/eac/PackedDate.java \
org/bouncycastle/asn1/eac/PublicKeyDataObject.java \
org/bouncycastle/asn1/eac/RSAPublicKey.java \
org/bouncycastle/asn1/eac/UnsignedInteger.java \
org/bouncycastle/asn1/isismtt/ocsp/CertHash.java \
org/bouncycastle/asn1/isismtt/ocsp/RequestedCertificate.java \
org/bouncycastle/asn1/isismtt/x509/AdditionalInformationSyntax.java \
org/bouncycastle/asn1/isismtt/x509/AdmissionSyntax.java \
org/bouncycastle/asn1/isismtt/x509/Admissions.java \
org/bouncycastle/asn1/isismtt/x509/DeclarationOfMajority.java \
org/bouncycastle/asn1/isismtt/x509/MonetaryLimit.java \
org/bouncycastle/asn1/isismtt/x509/NamingAuthority.java \
org/bouncycastle/asn1/isismtt/x509/ProcurationSyntax.java \
org/bouncycastle/asn1/isismtt/x509/ProfessionInfo.java \
org/bouncycastle/asn1/isismtt/x509/Restriction.java \
org/bouncycastle/asn1/misc/CAST5CBCParameters.java \
org/bouncycastle/asn1/misc/IDEACBCPar.java \
org/bouncycastle/asn1/oiw/ElGamalParameter.java \
org/bouncycastle/asn1/pkcs/Attribute.java \
org/bouncycastle/asn1/pkcs/RC2CBCParameter.java \
org/bouncycastle/asn1/pkcs/SignerInfo.java \
org/bouncycastle/asn1/teletrust/TeleTrusTNamedCurves.java \
org/bouncycastle/asn1/util/DERDump.java \
org/bouncycastle/asn1/util/Dump.java \
org/bouncycastle/asn1/x509/AccessDescription.java \
org/bouncycastle/asn1/x509/AuthorityInformationAccess.java \
org/bouncycastle/asn1/x509/CertPolicyId.java \
org/bouncycastle/asn1/x509/CertificatePair.java \
org/bouncycastle/asn1/x509/CertificatePolicies.java \
org/bouncycastle/asn1/x509/DisplayText.java \
org/bouncycastle/asn1/x509/GeneralNamesBuilder.java \
org/bouncycastle/asn1/x509/IetfAttrSyntax.java \
org/bouncycastle/asn1/x509/NoticeReference.java \
org/bouncycastle/asn1/x509/PolicyMappings.java \
org/bouncycastle/asn1/x509/PolicyQualifierId.java \
org/bouncycastle/asn1/x509/PolicyQualifierInfo.java \
org/bouncycastle/asn1/x509/PrivateKeyUsagePeriod.java \
org/bouncycastle/asn1/x509/RoleSyntax.java \
org/bouncycastle/asn1/x509/SubjectDirectoryAttributes.java \
org/bouncycastle/asn1/x509/Target.java \
org/bouncycastle/asn1/x509/TargetInformation.java \
org/bouncycastle/asn1/x509/Targets.java \
org/bouncycastle/asn1/x509/UserNotice.java \
org/bouncycastle/asn1/x509/V2AttributeCertificateInfoGenerator.java \
org/bouncycastle/asn1/x509/V2TBSCertListGenerator.java \
org/bouncycastle/asn1/x509/X509AttributeIdentifiers.java \
org/bouncycastle/asn1/x9/KeySpecificInfo.java \
org/bouncycastle/asn1/x9/OtherInfo.java \
org/bouncycastle/crypto/BufferedAsymmetricBlockCipher.java \
org/bouncycastle/crypto/Commitment.java \
org/bouncycastle/crypto/Committer.java \
org/bouncycastle/crypto/DigestDerivationFunction.java \
org/bouncycastle/crypto/EphemeralKeyPair.java \
org/bouncycastle/crypto/KeyEncapsulation.java \
org/bouncycastle/crypto/KeyEncoder.java \
org/bouncycastle/crypto/KeyParser.java \
org/bouncycastle/crypto/MacDerivationFunction.java \
org/bouncycastle/crypto/MaxBytesExceededException.java \
org/bouncycastle/crypto/agreement/DHAgreement.java \
org/bouncycastle/crypto/agreement/DHStandardGroups.java \
org/bouncycastle/crypto/agreement/ECDHCBasicAgreement.java \
org/bouncycastle/crypto/agreement/ECMQVBasicAgreement.java \
org/bouncycastle/crypto/generators/BCrypt.java \
org/bouncycastle/crypto/generators/OpenBSDBCrypt.java \
org/bouncycastle/crypto/digests/GOST3411Digest.java \
org/bouncycastle/crypto/digests/MD2Digest.java \
org/bouncycastle/crypto/digests/MD4Digest.java \
org/bouncycastle/crypto/digests/NonMemoableDigest.java \
org/bouncycastle/crypto/digests/RIPEMD128Digest.java \
org/bouncycastle/crypto/digests/RIPEMD160Digest.java \
org/bouncycastle/crypto/digests/RIPEMD256Digest.java \
org/bouncycastle/crypto/digests/RIPEMD320Digest.java \
org/bouncycastle/crypto/digests/SHA3Digest.java \
org/bouncycastle/crypto/digests/SHA512tDigest.java \
org/bouncycastle/crypto/digests/SM3Digest.java \
org/bouncycastle/crypto/digests/ShortenedDigest.java \
org/bouncycastle/crypto/digests/SkeinDigest.java \
org/bouncycastle/crypto/digests/SkeinEngine.java \
org/bouncycastle/crypto/digests/TigerDigest.java \
org/bouncycastle/crypto/digests/WhirlpoolDigest.java \
org/bouncycastle/crypto/ec/ECDecryptor.java \
org/bouncycastle/crypto/ec/ECElGamalDecryptor.java \
org/bouncycastle/crypto/ec/ECElGamalEncryptor.java \
org/bouncycastle/crypto/ec/ECEncryptor.java \
org/bouncycastle/crypto/ec/ECFixedTransform.java \
org/bouncycastle/crypto/ec/ECNewPublicKeyTransform.java \
org/bouncycastle/crypto/ec/ECNewRandomnessTransform.java \
org/bouncycastle/crypto/ec/ECPair.java \
org/bouncycastle/crypto/ec/ECPairFactorTransform.java \
org/bouncycastle/crypto/ec/ECPairTransform.java \
org/bouncycastle/crypto/ec/ECUtil.java \
org/bouncycastle/crypto/encodings/ISO9796d1Encoding.java \
org/bouncycastle/crypto/engines/AESLightEngine.java \
org/bouncycastle/crypto/engines/AESWrapPadEngine.java \
org/bouncycastle/crypto/engines/CAST5Engine.java \
org/bouncycastle/crypto/engines/CAST6Engine.java \
org/bouncycastle/crypto/engines/CamelliaEngine.java \
org/bouncycastle/crypto/engines/CamelliaLightEngine.java \
org/bouncycastle/crypto/engines/CamelliaWrapEngine.java \
org/bouncycastle/crypto/engines/ChaChaEngine.java \
org/bouncycastle/crypto/engines/CramerShoupCiphertext.java \
org/bouncycastle/crypto/engines/CramerShoupCoreEngine.java \
org/bouncycastle/crypto/engines/ElGamalEngine.java \
org/bouncycastle/crypto/engines/GOST28147Engine.java \
org/bouncycastle/crypto/engines/Grain128Engine.java \
org/bouncycastle/crypto/engines/Grainv1Engine.java \
org/bouncycastle/crypto/engines/HC128Engine.java \
org/bouncycastle/crypto/engines/HC256Engine.java \
org/bouncycastle/crypto/engines/IDEAEngine.java \
org/bouncycastle/crypto/engines/IESEngine.java \
org/bouncycastle/crypto/engines/ISAACEngine.java \
org/bouncycastle/crypto/engines/NaccacheSternEngine.java \
org/bouncycastle/crypto/engines/NoekeonEngine.java \
org/bouncycastle/crypto/engines/NullEngine.java \
org/bouncycastle/crypto/engines/RC2WrapEngine.java \
org/bouncycastle/crypto/engines/RC532Engine.java \
org/bouncycastle/crypto/engines/RC564Engine.java \
org/bouncycastle/crypto/engines/RC6Engine.java \
org/bouncycastle/crypto/engines/RFC3211WrapEngine.java \
org/bouncycastle/crypto/engines/RFC5649WrapEngine.java \
org/bouncycastle/crypto/engines/RSABlindingEngine.java \
org/bouncycastle/crypto/engines/RSAEngine.java \
org/bouncycastle/crypto/engines/RijndaelEngine.java \
org/bouncycastle/crypto/engines/SEEDEngine.java \
org/bouncycastle/crypto/engines/SEEDWrapEngine.java \
org/bouncycastle/crypto/engines/Salsa20Engine.java \
org/bouncycastle/crypto/engines/SerpentEngine.java \
org/bouncycastle/crypto/engines/Shacal2Engine.java \
org/bouncycastle/crypto/engines/SkipjackEngine.java \
org/bouncycastle/crypto/engines/TEAEngine.java \
org/bouncycastle/crypto/engines/ThreefishEngine.java \
org/bouncycastle/crypto/engines/VMPCEngine.java \
org/bouncycastle/crypto/engines/VMPCKSA3Engine.java \
org/bouncycastle/crypto/engines/XSalsa20Engine.java \
org/bouncycastle/crypto/engines/XTEAEngine.java \
org/bouncycastle/crypto/generators/BaseKDFBytesGenerator.java \
org/bouncycastle/crypto/generators/CramerShoupKeyPairGenerator.java \
org/bouncycastle/crypto/generators/CramerShoupParametersGenerator.java \
org/bouncycastle/crypto/generators/DHKeyPairGenerator.java \
org/bouncycastle/crypto/generators/DSTU4145KeyPairGenerator.java \
org/bouncycastle/crypto/generators/ElGamalKeyPairGenerator.java \
org/bouncycastle/crypto/generators/ElGamalParametersGenerator.java \
org/bouncycastle/crypto/generators/EphemeralKeyPairGenerator.java \
org/bouncycastle/crypto/generators/GOST3410KeyPairGenerator.java \
org/bouncycastle/crypto/generators/GOST3410ParametersGenerator.java \
org/bouncycastle/crypto/generators/HKDFBytesGenerator.java \
org/bouncycastle/crypto/generators/KDF1BytesGenerator.java \
org/bouncycastle/crypto/generators/KDF2BytesGenerator.java \
org/bouncycastle/crypto/generators/KDFCounterBytesGenerator.java \
org/bouncycastle/crypto/generators/KDFDoublePipelineIterationBytesGenerator.java \
org/bouncycastle/crypto/generators/KDFFeedbackBytesGenerator.java \
org/bouncycastle/crypto/generators/MGF1BytesGenerator.java \
org/bouncycastle/crypto/generators/NaccacheSternKeyPairGenerator.java \
org/bouncycastle/crypto/generators/Poly1305KeyGenerator.java \
org/bouncycastle/crypto/generators/RSABlindingFactorGenerator.java \
org/bouncycastle/crypto/generators/SCrypt.java \
org/bouncycastle/crypto/io/CipherIOException.java \
org/bouncycastle/crypto/io/CipherInputStream.java \
org/bouncycastle/crypto/io/CipherOutputStream.java \
org/bouncycastle/crypto/io/InvalidCipherTextIOException.java \
org/bouncycastle/crypto/io/SignerInputStream.java \
org/bouncycastle/crypto/io/SignerOutputStream.java \
org/bouncycastle/crypto/macs/BlockCipherMac.java \
org/bouncycastle/crypto/macs/CFBBlockCipherMac.java \
org/bouncycastle/crypto/macs/CMac.java \
org/bouncycastle/crypto/macs/CMacWithIV.java \
org/bouncycastle/crypto/macs/GMac.java \
org/bouncycastle/crypto/macs/GOST28147Mac.java \
org/bouncycastle/crypto/macs/ISO9797Alg3Mac.java \
org/bouncycastle/crypto/macs/OldHMac.java \
org/bouncycastle/crypto/macs/Poly1305.java \
org/bouncycastle/crypto/macs/SipHash.java \
org/bouncycastle/crypto/macs/SkeinMac.java \
org/bouncycastle/crypto/macs/VMPCMac.java \
org/bouncycastle/crypto/modes/EAXBlockCipher.java \
org/bouncycastle/crypto/modes/GCFBBlockCipher.java \
org/bouncycastle/crypto/modes/GOFBBlockCipher.java \
org/bouncycastle/crypto/modes/OCBBlockCipher.java \
org/bouncycastle/crypto/modes/OldCTSBlockCipher.java \
org/bouncycastle/crypto/modes/OpenPGPCFBBlockCipher.java \
org/bouncycastle/crypto/modes/NISTCTSBlockCipher.java \
org/bouncycastle/crypto/modes/PGPCFBBlockCipher.java \
org/bouncycastle/crypto/modes/PaddedBlockCipher.java \
org/bouncycastle/crypto/modes/gcm/BasicGCMExponentiator.java \
org/bouncycastle/crypto/modes/gcm/BasicGCMMultiplier.java \
org/bouncycastle/crypto/modes/gcm/Tables64kGCMMultiplier.java \
org/bouncycastle/crypto/params/CCMParameters.java \
org/bouncycastle/crypto/params/CramerShoupKeyGenerationParameters.java \
org/bouncycastle/crypto/params/CramerShoupKeyParameters.java \
org/bouncycastle/crypto/params/CramerShoupParameters.java \
org/bouncycastle/crypto/params/CramerShoupPrivateKeyParameters.java \
org/bouncycastle/crypto/params/CramerShoupPublicKeyParameters.java \
org/bouncycastle/crypto/params/ElGamalKeyGenerationParameters.java \
org/bouncycastle/crypto/params/ElGamalKeyParameters.java \
org/bouncycastle/crypto/params/ElGamalParameters.java \
org/bouncycastle/crypto/params/ElGamalPrivateKeyParameters.java \
org/bouncycastle/crypto/params/ElGamalPublicKeyParameters.java \
org/bouncycastle/crypto/params/GOST3410KeyGenerationParameters.java \
org/bouncycastle/crypto/params/GOST3410KeyParameters.java \
org/bouncycastle/crypto/params/GOST3410Parameters.java \
org/bouncycastle/crypto/params/GOST3410PrivateKeyParameters.java \
org/bouncycastle/crypto/params/GOST3410PublicKeyParameters.java \
org/bouncycastle/crypto/params/GOST3410ValidationParameters.java \
org/bouncycastle/crypto/params/HKDFParameters.java \
org/bouncycastle/crypto/params/IESParameters.java \
org/bouncycastle/crypto/params/IESWithCipherParameters.java \
org/bouncycastle/crypto/params/ISO18033KDFParameters.java \
org/bouncycastle/crypto/params/KDFCounterParameters.java \
org/bouncycastle/crypto/params/KDFDoublePipelineIterationParameters.java \
org/bouncycastle/crypto/params/KDFFeedbackParameters.java \
org/bouncycastle/crypto/params/KDFParameters.java \
org/bouncycastle/crypto/params/MGFParameters.java \
org/bouncycastle/crypto/params/MQVPrivateParameters.java \
org/bouncycastle/crypto/params/MQVPublicParameters.java \
org/bouncycastle/crypto/params/NaccacheSternKeyGenerationParameters.java \
org/bouncycastle/crypto/params/NaccacheSternKeyParameters.java \
org/bouncycastle/crypto/params/NaccacheSternPrivateKeyParameters.java \
org/bouncycastle/crypto/params/ParametersWithSBox.java \
org/bouncycastle/crypto/params/ParametersWithSalt.java \
org/bouncycastle/crypto/params/RC5Parameters.java \
org/bouncycastle/crypto/params/RSABlindingParameters.java \
org/bouncycastle/crypto/params/SRP6GroupParameters.java \
org/bouncycastle/crypto/params/SkeinParameters.java \
org/bouncycastle/crypto/params/TweakableBlockCipherParameters.java \
org/bouncycastle/crypto/signers/DSADigestSigner.java \
org/bouncycastle/crypto/signers/DSTU4145Signer.java \
org/bouncycastle/crypto/signers/ECGOST3410Signer.java \
org/bouncycastle/crypto/signers/ECNRSigner.java \
org/bouncycastle/crypto/signers/GOST3410Signer.java \
org/bouncycastle/crypto/signers/GenericSigner.java \
org/bouncycastle/crypto/signers/HMacDSAKCalculator.java \
org/bouncycastle/crypto/signers/ISO9796d2PSSSigner.java \
org/bouncycastle/crypto/signers/ISO9796d2Signer.java \
org/bouncycastle/crypto/signers/PSSSigner.java \
org/bouncycastle/crypto/signers/X931Signer.java \
org/bouncycastle/crypto/util/PrivateKeyInfoFactory.java \
org/bouncycastle/crypto/util/SubjectPublicKeyInfoFactory.java \
org/bouncycastle/jcajce/PKCS12Key.java \
org/bouncycastle/jcajce/PKCS12KeyWithParameters.java \
org/bouncycastle/jcajce/provider/asymmetric/DSTU4145.java \
org/bouncycastle/jcajce/provider/asymmetric/ECGOST.java \
org/bouncycastle/jcajce/provider/asymmetric/ElGamal.java \
org/bouncycastle/jcajce/provider/asymmetric/GOST.java \
org/bouncycastle/jcajce/provider/asymmetric/IES.java \
org/bouncycastle/jcajce/provider/asymmetric/dh/IESCipher.java \
org/bouncycastle/jcajce/provider/asymmetric/ec/IESCipher.java \
org/bouncycastle/jcajce/provider/asymmetric/rsa/ISOSignatureSpi.java \
org/bouncycastle/jcajce/provider/asymmetric/rsa/PSSSignatureSpi.java \
org/bouncycastle/jcajce/provider/asymmetric/rsa/X931SignatureSpi.java \
org/bouncycastle/jcajce/provider/asymmetric/util/GOST3410Util.java \
org/bouncycastle/jcajce/provider/asymmetric/util/IESUtil.java \
org/bouncycastle/jcajce/provider/digest/GOST3411.java \
org/bouncycastle/jcajce/provider/digest/MD2.java \
org/bouncycastle/jcajce/provider/digest/MD4.java \
org/bouncycastle/jcajce/provider/digest/RIPEMD128.java \
org/bouncycastle/jcajce/provider/digest/RIPEMD160.java \
org/bouncycastle/jcajce/provider/digest/RIPEMD256.java \
org/bouncycastle/jcajce/provider/digest/RIPEMD320.java \
org/bouncycastle/jcajce/provider/digest/SHA3.java \
org/bouncycastle/jcajce/provider/digest/SM3.java \
org/bouncycastle/jcajce/provider/digest/Skein.java \
org/bouncycastle/jcajce/provider/digest/Tiger.java \
org/bouncycastle/jcajce/provider/digest/Whirlpool.java \
org/bouncycastle/jcajce/provider/symmetric/CAST5.java \
org/bouncycastle/jcajce/provider/symmetric/CAST6.java \
org/bouncycastle/jcajce/provider/symmetric/Camellia.java \
org/bouncycastle/jcajce/provider/symmetric/ChaCha.java \
org/bouncycastle/jcajce/provider/symmetric/GOST28147.java \
org/bouncycastle/jcajce/provider/symmetric/Grain128.java \
org/bouncycastle/jcajce/provider/symmetric/Grainv1.java \
org/bouncycastle/jcajce/provider/symmetric/HC128.java \
org/bouncycastle/jcajce/provider/symmetric/HC256.java \
org/bouncycastle/jcajce/provider/symmetric/IDEA.java \
org/bouncycastle/jcajce/provider/symmetric/Noekeon.java \
org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2.java \
org/bouncycastle/jcajce/provider/symmetric/RC5.java \
org/bouncycastle/jcajce/provider/symmetric/RC6.java \
org/bouncycastle/jcajce/provider/symmetric/Rijndael.java \
org/bouncycastle/jcajce/provider/symmetric/SEED.java \
org/bouncycastle/jcajce/provider/symmetric/Salsa20.java \
org/bouncycastle/jcajce/provider/symmetric/Serpent.java \
org/bouncycastle/jcajce/provider/symmetric/Shacal2.java \
org/bouncycastle/jcajce/provider/symmetric/SipHash.java \
org/bouncycastle/jcajce/provider/symmetric/Skipjack.java \
org/bouncycastle/jcajce/provider/symmetric/TEA.java \
org/bouncycastle/jcajce/provider/symmetric/Threefish.java \
org/bouncycastle/jcajce/provider/symmetric/VMPC.java \
org/bouncycastle/jcajce/provider/symmetric/VMPCKSA3.java \
org/bouncycastle/jcajce/provider/symmetric/XSalsa20.java \
org/bouncycastle/jcajce/provider/symmetric/XTEA.java \
org/bouncycastle/jcajce/spec/GOST28147ParameterSpec.java \
org/bouncycastle/jcajce/spec/RepeatedSecretKeySpec.java \
org/bouncycastle/jcajce/spec/SkeinParameterSpec.java \
org/bouncycastle/jce/ECGOST3410NamedCurveTable.java \
org/bouncycastle/jce/ECKeyUtil.java \
org/bouncycastle/jce/ECPointUtil.java \
org/bouncycastle/jce/MultiCertStoreParameters.java \
org/bouncycastle/jce/PKCS12Util.java \
org/bouncycastle/jce/X509KeyUsage.java \
org/bouncycastle/jce/X509LDAPCertStoreParameters.java \
org/bouncycastle/jce/exception/ExtCertificateEncodingException.java \
org/bouncycastle/jce/exception/ExtIOException.java \
org/bouncycastle/jce/interfaces/ElGamalKey.java \
org/bouncycastle/jce/interfaces/ElGamalPrivateKey.java \
org/bouncycastle/jce/interfaces/ElGamalPublicKey.java \
org/bouncycastle/jce/interfaces/GOST3410Key.java \
org/bouncycastle/jce/interfaces/GOST3410Params.java \
org/bouncycastle/jce/interfaces/GOST3410PrivateKey.java \
org/bouncycastle/jce/interfaces/GOST3410PublicKey.java \
org/bouncycastle/jce/interfaces/IESKey.java \
org/bouncycastle/jce/interfaces/MQVPrivateKey.java \
org/bouncycastle/jce/interfaces/MQVPublicKey.java \
org/bouncycastle/jce/provider/BrokenJCEBlockCipher.java \
org/bouncycastle/jce/provider/BrokenKDF2BytesGenerator.java \
org/bouncycastle/jce/provider/BrokenPBE.java \
org/bouncycastle/jce/provider/JCEElGamalPrivateKey.java \
org/bouncycastle/jce/provider/JCEElGamalPublicKey.java \
org/bouncycastle/jce/provider/MultiCertStoreSpi.java \
org/bouncycastle/jce/provider/PKIXAttrCertPathBuilderSpi.java \
org/bouncycastle/jce/provider/PKIXAttrCertPathValidatorSpi.java \
org/bouncycastle/jce/provider/RFC3281CertPathUtilities.java \
org/bouncycastle/jce/provider/X509AttrCertParser.java \
org/bouncycastle/jce/provider/X509CRLParser.java \
org/bouncycastle/jce/provider/X509CertPairParser.java \
org/bouncycastle/jce/provider/X509CertParser.java \
org/bouncycastle/jce/provider/X509LDAPCertStoreSpi.java \
org/bouncycastle/jce/provider/X509StoreAttrCertCollection.java \
org/bouncycastle/jce/provider/X509StoreCRLCollection.java \
org/bouncycastle/jce/provider/X509StoreCertCollection.java \
org/bouncycastle/jce/provider/X509StoreCertPairCollection.java \
org/bouncycastle/jce/provider/X509StoreLDAPAttrCerts.java \
org/bouncycastle/jce/provider/X509StoreLDAPCRLs.java \
org/bouncycastle/jce/provider/X509StoreLDAPCertPairs.java \
org/bouncycastle/jce/provider/X509StoreLDAPCerts.java \
org/bouncycastle/jce/spec/ElGamalGenParameterSpec.java \
org/bouncycastle/jce/spec/ElGamalKeySpec.java \
org/bouncycastle/jce/spec/ElGamalParameterSpec.java \
org/bouncycastle/jce/spec/ElGamalPrivateKeySpec.java \
org/bouncycastle/jce/spec/ElGamalPublicKeySpec.java \
org/bouncycastle/jce/spec/GOST28147ParameterSpec.java \
org/bouncycastle/jce/spec/GOST3410ParameterSpec.java \
org/bouncycastle/jce/spec/GOST3410PrivateKeySpec.java \
org/bouncycastle/jce/spec/GOST3410PublicKeyParameterSetSpec.java \
org/bouncycastle/jce/spec/GOST3410PublicKeySpec.java \
org/bouncycastle/jce/spec/IEKeySpec.java \
org/bouncycastle/jce/spec/IESParameterSpec.java \
org/bouncycastle/jce/spec/MQVPrivateKeySpec.java \
org/bouncycastle/jce/spec/MQVPublicKeySpec.java \
org/bouncycastle/jce/spec/RepeatedSecretKeySpec.java \
org/bouncycastle/math/ec/DoubleAddMultiplier.java \
org/bouncycastle/math/ec/MixedNafR2LMultiplier.java \
org/bouncycastle/math/ec/MontgomeryLadderMultiplier.java \
org/bouncycastle/math/ec/NafL2RMultiplier.java \
org/bouncycastle/math/ec/NafR2LMultiplier.java \
org/bouncycastle/math/ec/ReferenceMultiplier.java \
org/bouncycastle/math/ec/ScaleYPointMap.java \
org/bouncycastle/math/ec/ZSignedDigitL2RMultiplier.java \
org/bouncycastle/math/ec/ZSignedDigitR2LMultiplier.java \
org/bouncycastle/math/raw/Mont256.java \
org/bouncycastle/util/MemoableResetException.java \
org/bouncycastle/util/Shorts.java \
org/bouncycastle/util/StreamParser.java \
org/bouncycastle/util/StreamParsingException.java \
org/bouncycastle/util/Times.java \
org/bouncycastle/util/encoders/BufferedDecoder.java \
org/bouncycastle/util/encoders/BufferedEncoder.java \
org/bouncycastle/util/encoders/HexTranslator.java \
org/bouncycastle/util/encoders/Translator.java \
org/bouncycastle/util/encoders/UrlBase64.java \
org/bouncycastle/util/encoders/UrlBase64Encoder.java \
org/bouncycastle/util/io/BufferingOutputStream.java \
org/bouncycastle/x509/CertPathReviewerException.java \
org/bouncycastle/x509/CertPathReviewerMessages_de.properties \
org/bouncycastle/x509/NoSuchParserException.java \
org/bouncycastle/x509/PKIXCRLUtil.java \
org/bouncycastle/x509/PKIXCertPathReviewer.java \
org/bouncycastle/x509/CertPathValidatorUtilities.java \
org/bouncycastle/x509/CertStatus.java \
org/bouncycastle/x509/X509AttributeCertStoreSelector.java \
org/bouncycastle/x509/X509CertPairStoreSelector.java \
org/bouncycastle/x509/X509CertificatePair.java \
org/bouncycastle/x509/X509Store.java \
org/bouncycastle/x509/X509StreamParser.java \
org/bouncycastle/x509/X509StreamParserSpi.java \
org/bouncycastle/x509/X509V2CRLGenerator.java \
org/bouncycastle/x509/util/LDAPStoreHelper.java \
org/bouncycastle/x509/util/StreamParser.java \
org/bouncycastle/x509/util/StreamParsingException.java \
"

# directories
UNNEEDED_BCPKIX_SOURCES=" \
docs \
org/bouncycastle/cert/bc \
org/bouncycastle/cert/cmp \
org/bouncycastle/cert/crmf \
org/bouncycastle/cert/dane \
org/bouncycastle/cert/ocsp \
org/bouncycastle/cert/path \
org/bouncycastle/cert/selector/jcajce \
org/bouncycastle/cert/test \
org/bouncycastle/cms/bc \
org/bouncycastle/cms/test \
org/bouncycastle/dvcs \
org/bouncycastle/eac \
org/bouncycastle/mozilla \
org/bouncycastle/openssl \
org/bouncycastle/operator/test \
org/bouncycastle/pkcs \
org/bouncycastle/pkix \
org/bouncycastle/tsp \
org/bouncycastle/voms \
"

# files
UNNEEDED_BCPKIX_SOURCES+=" \
org/bouncycastle/cert/CertRuntimeException.java \
org/bouncycastle/cert/X509ContentVerifierProviderBuilder.java \
org/bouncycastle/cert/X509ExtensionUtils.java \
org/bouncycastle/cert/X509v1CertificateBuilder.java \
org/bouncycastle/cert/X509v2AttributeCertificateBuilder.java \
org/bouncycastle/cert/X509v2CRLBuilder.java \
org/bouncycastle/cert/X509v3CertificateBuilder.java \
org/bouncycastle/cert/jcajce/CertHelper.java \
org/bouncycastle/cert/jcajce/DefaultCertHelper.java \
org/bouncycastle/cert/jcajce/JcaAttrCertStore.java \
org/bouncycastle/cert/jcajce/JcaAttributeCertificateIssuer.java \
org/bouncycastle/cert/jcajce/JcaCRLStore.java \
org/bouncycastle/cert/jcajce/JcaCertStoreBuilder.java \
org/bouncycastle/cert/jcajce/JcaX500NameUtil.java \
org/bouncycastle/cert/jcajce/JcaX509AttributeCertificateHolder.java \
org/bouncycastle/cert/jcajce/JcaX509CRLConverter.java \
org/bouncycastle/cert/jcajce/JcaX509CRLHolder.java \
org/bouncycastle/cert/jcajce/JcaX509CertificateConverter.java \
org/bouncycastle/cert/jcajce/JcaX509ContentVerifierProviderBuilder.java \
org/bouncycastle/cert/jcajce/JcaX509ExtensionUtils.java \
org/bouncycastle/cert/jcajce/JcaX509v1CertificateBuilder.java \
org/bouncycastle/cert/jcajce/JcaX509v2CRLBuilder.java \
org/bouncycastle/cert/jcajce/JcaX509v3CertificateBuilder.java \
org/bouncycastle/cert/jcajce/NamedCertHelper.java \
org/bouncycastle/cert/jcajce/ProviderCertHelper.java \
org/bouncycastle/cert/selector/X509AttributeCertificateHolderSelector.java \
org/bouncycastle/cert/selector/X509AttributeCertificateHolderSelectorBuilder.java \
org/bouncycastle/cms/AuthAttributesProvider.java \
org/bouncycastle/cms/CMSAlgorithm.java \
org/bouncycastle/cms/CMSAuthEnvelopedData.java \
org/bouncycastle/cms/CMSAuthEnvelopedGenerator.java \
org/bouncycastle/cms/CMSAuthenticatedData.java \
org/bouncycastle/cms/CMSAuthenticatedDataGenerator.java \
org/bouncycastle/cms/CMSAuthenticatedDataParser.java \
org/bouncycastle/cms/CMSAuthenticatedDataStreamGenerator.java \
org/bouncycastle/cms/CMSAuthenticatedGenerator.java \
org/bouncycastle/cms/CMSCompressedData.java \
org/bouncycastle/cms/CMSCompressedDataGenerator.java \
org/bouncycastle/cms/CMSCompressedDataParser.java \
org/bouncycastle/cms/CMSCompressedDataStreamGenerator.java \
org/bouncycastle/cms/CMSConfig.java \
org/bouncycastle/cms/CMSContentInfoParser.java \
org/bouncycastle/cms/CMSDigestedData.java \
org/bouncycastle/cms/CMSEncryptedData.java \
org/bouncycastle/cms/CMSEncryptedDataGenerator.java \
org/bouncycastle/cms/CMSEncryptedGenerator.java \
org/bouncycastle/cms/CMSEnvelopedData.java \
org/bouncycastle/cms/CMSEnvelopedDataGenerator.java \
org/bouncycastle/cms/CMSEnvelopedDataParser.java \
org/bouncycastle/cms/CMSEnvelopedDataStreamGenerator.java \
org/bouncycastle/cms/CMSEnvelopedGenerator.java \
org/bouncycastle/cms/CMSEnvelopedHelper.java \
org/bouncycastle/cms/CMSProcessableFile.java \
org/bouncycastle/cms/CMSProcessableInputStream.java \
org/bouncycastle/cms/CMSSecureReadable.java \
org/bouncycastle/cms/CMSSignedDataParser.java \
org/bouncycastle/cms/CMSSignedDataStreamGenerator.java \
org/bouncycastle/cms/CMSStreamException.java \
org/bouncycastle/cms/CMSTypedStream.java \
org/bouncycastle/cms/DefaultAuthenticatedAttributeTableGenerator.java \
org/bouncycastle/cms/KEKRecipient.java \
org/bouncycastle/cms/KEKRecipientId.java \
org/bouncycastle/cms/KEKRecipientInfoGenerator.java \
org/bouncycastle/cms/KEKRecipientInformation.java \
org/bouncycastle/cms/KeyAgreeRecipient.java \
org/bouncycastle/cms/KeyAgreeRecipientId.java \
org/bouncycastle/cms/KeyAgreeRecipientInfoGenerator.java \
org/bouncycastle/cms/KeyAgreeRecipientInformation.java \
org/bouncycastle/cms/KeyTransRecipient.java \
org/bouncycastle/cms/KeyTransRecipientId.java \
org/bouncycastle/cms/KeyTransRecipientInfoGenerator.java \
org/bouncycastle/cms/KeyTransRecipientInformation.java \
org/bouncycastle/cms/OriginatorId.java \
org/bouncycastle/cms/OriginatorInfoGenerator.java \
org/bouncycastle/cms/OriginatorInformation.java \
org/bouncycastle/cms/PasswordRecipientId.java \
org/bouncycastle/cms/PasswordRecipientInfoGenerator.java \
org/bouncycastle/cms/PasswordRecipientInformation.java \
org/bouncycastle/cms/RecipientId.java \
org/bouncycastle/cms/RecipientInfoGenerator.java \
org/bouncycastle/cms/RecipientInformation.java \
org/bouncycastle/cms/RecipientInformationStore.java \
org/bouncycastle/cms/SignerInformationVerifierProvider.java \
org/bouncycastle/cms/jcajce/CMSUtils.java \
org/bouncycastle/cms/jcajce/DefaultJcaJceExtHelper.java \
org/bouncycastle/cms/jcajce/EnvelopedDataHelper.java \
org/bouncycastle/cms/jcajce/JcaJceExtHelper.java \
org/bouncycastle/cms/jcajce/JcaSelectorConverter.java \
org/bouncycastle/cms/jcajce/JcaSignerId.java \
org/bouncycastle/cms/jcajce/JcaSimpleSignerInfoGeneratorBuilder.java \
org/bouncycastle/cms/jcajce/JcaX509CertSelectorConverter.java \
org/bouncycastle/cms/jcajce/JceAlgorithmIdentifierConverter.java \
org/bouncycastle/cms/jcajce/JceCMSContentEncryptorBuilder.java \
org/bouncycastle/cms/jcajce/JceCMSMacCalculatorBuilder.java \
org/bouncycastle/cms/jcajce/JceKEKAuthenticatedRecipient.java \
org/bouncycastle/cms/jcajce/JceKEKEnvelopedRecipient.java \
org/bouncycastle/cms/jcajce/JceKEKRecipient.java \
org/bouncycastle/cms/jcajce/JceKEKRecipientInfoGenerator.java \
org/bouncycastle/cms/jcajce/JceKeyAgreeAuthenticatedRecipient.java \
org/bouncycastle/cms/jcajce/JceKeyAgreeEnvelopedRecipient.java \
org/bouncycastle/cms/jcajce/JceKeyAgreeRecipient.java \
org/bouncycastle/cms/jcajce/JceKeyAgreeRecipientId.java \
org/bouncycastle/cms/jcajce/JceKeyAgreeRecipientInfoGenerator.java \
org/bouncycastle/cms/jcajce/JceKeyTransAuthenticatedRecipient.java \
org/bouncycastle/cms/jcajce/JceKeyTransEnvelopedRecipient.java \
org/bouncycastle/cms/jcajce/JceKeyTransRecipient.java \
org/bouncycastle/cms/jcajce/JceKeyTransRecipientId.java \
org/bouncycastle/cms/jcajce/JceKeyTransRecipientInfoGenerator.java \
org/bouncycastle/cms/jcajce/JcePasswordAuthenticatedRecipient.java \
org/bouncycastle/cms/jcajce/JcePasswordEnvelopedRecipient.java \
org/bouncycastle/cms/jcajce/JcePasswordRecipient.java \
org/bouncycastle/cms/jcajce/JcePasswordRecipientInfoGenerator.java \
org/bouncycastle/cms/jcajce/NamedJcaJceExtHelper.java \
org/bouncycastle/cms/jcajce/ProviderJcaJceExtHelper.java \
org/bouncycastle/cms/jcajce/ZlibCompressor.java \
org/bouncycastle/cms/jcajce/ZlibExpanderProvider.java \
org/bouncycastle/operator/AlgorithmNameFinder.java \
org/bouncycastle/operator/AsymmetricKeyUnwrapper.java \
org/bouncycastle/operator/AsymmetricKeyWrapper.java \
org/bouncycastle/operator/BufferingContentSigner.java \
org/bouncycastle/operator/DefaultAlgorithmNameFinder.java \
org/bouncycastle/operator/DefaultSecretKeySizeProvider.java \
org/bouncycastle/operator/InputDecryptorProvider.java \
org/bouncycastle/operator/InputExpander.java \
org/bouncycastle/operator/InputExpanderProvider.java \
org/bouncycastle/operator/KeyUnwrapper.java \
org/bouncycastle/operator/KeyWrapper.java \
org/bouncycastle/operator/MacCalculatorProvider.java \
org/bouncycastle/operator/OutputCompressor.java \
org/bouncycastle/operator/OutputEncryptor.java \
org/bouncycastle/operator/SecretKeySizeProvider.java \
org/bouncycastle/operator/SymmetricKeyUnwrapper.java \
org/bouncycastle/operator/SymmetricKeyWrapper.java \
org/bouncycastle/operator/bc/AESUtil.java \
org/bouncycastle/operator/bc/BcAESSymmetricKeyUnwrapper.java \
org/bouncycastle/operator/bc/BcAESSymmetricKeyWrapper.java \
org/bouncycastle/operator/bc/BcAsymmetricKeyUnwrapper.java \
org/bouncycastle/operator/bc/BcAsymmetricKeyWrapper.java \
org/bouncycastle/operator/bc/BcContentSignerBuilder.java \
org/bouncycastle/operator/bc/BcContentVerifierProviderBuilder.java \
org/bouncycastle/operator/bc/BcDSAContentSignerBuilder.java \
org/bouncycastle/operator/bc/BcDSAContentVerifierProviderBuilder.java \
org/bouncycastle/operator/bc/BcRSAAsymmetricKeyUnwrapper.java \
org/bouncycastle/operator/bc/BcRSAAsymmetricKeyWrapper.java \
org/bouncycastle/operator/bc/BcRSAContentSignerBuilder.java \
org/bouncycastle/operator/bc/BcRSAContentVerifierProviderBuilder.java \
org/bouncycastle/operator/bc/BcSignerOutputStream.java \
org/bouncycastle/operator/bc/BcSymmetricKeyUnwrapper.java \
org/bouncycastle/operator/bc/BcSymmetricKeyWrapper.java \
org/bouncycastle/operator/bc/CamelliaUtil.java \
org/bouncycastle/operator/bc/OperatorUtils.java \
org/bouncycastle/operator/bc/SEEDUtil.java \
org/bouncycastle/operator/jcajce/JcaAlgorithmParametersConverter.java \
org/bouncycastle/operator/jcajce/JceAsymmetricKeyUnwrapper.java \
org/bouncycastle/operator/jcajce/JceAsymmetricKeyWrapper.java \
org/bouncycastle/operator/jcajce/JceGenericKey.java \
org/bouncycastle/operator/jcajce/JceSymmetricKeyUnwrapper.java \
org/bouncycastle/operator/jcajce/JceSymmetricKeyWrapper.java \
org/bouncycastle/operator/jcajce/OperatorUtils.java \
"

# needed sources to copy in
NEEDED_BCPROV_SOURCES="org"

# needed sources to copy in
NEEDED_BCPKIX_SOURCES="org"

# list of patch files to apply in the given order
BOUNCYCASTLE_BCPROV_PATCHES="patches/bcprov.patch"
BOUNCYCASTLE_BCPKIX_PATCHES="patches/bcpkix.patch"