1*<()I()V()Z()[B(B)V(II)I(I[BI)V([BI)I([BII)V([B[B)ZIS1S2Z[BaddaddFieldElement addUserIDand arraycopycalculateInnerHash calculateKeycalculateKeyWithConfirmation calculateU cleanPointconfirmation tag mismatchconstantTimeAreEqualcopydigest digestDoFinaldoFinalecParams ephemeralKeyephemeralPubPointgetAgetAffineXCoordgetAffineYCoordgetBgetCurvegetD getDigestSize getEncodedgetEphemeralPrivateKeygetEphemeralPublicKeygetEphemeralPublicPoint getFieldSizegetGgetHgetIDgetN getParametersgetQgetStaticPrivateKeygetStaticPublicKeygetStaticPublicPointgetZ*if initiating, confirmationTag must be setinit initiatorintToBigEndian isInitiator"java/lang/IllegalArgumentExceptionjava/lang/IllegalStateExceptionjava/lang/Mathjava/lang/Objectjava/lang/Systemjava/math/BigIntegerkdfmaxminmodmultiply normalizeorg/bouncycastle/crypto/Digest0org/bouncycastle/crypto/agreement/SM2KeyExchange)org/bouncycastle/crypto/digests/SM3Digest1org/bouncycastle/crypto/params/ECDomainParameters5org/bouncycastle/crypto/params/ECPrivateKeyParameters4org/bouncycastle/crypto/params/ECPublicKeyParameters/org/bouncycastle/crypto/params/ParametersWithID>org/bouncycastle/crypto/params/SM2KeyExchangePrivateParameters=org/bouncycastle/crypto/params/SM2KeyExchangePublicParameters%org/bouncycastle/math/ec/ECAlgorithms org/bouncycastle/math/ec/ECCurve'org/bouncycastle/math/ec/ECFieldElement org/bouncycastle/math/ec/ECPointorg/bouncycastle/util/Arraysorg/bouncycastle/util/Memoableorg/bouncycastle/util/PackreduceresetsetBit shiftLeft staticKeystaticPubPointsubtractsumOfTwoMultiplies toBigIntegerupdateuserIDvalueOfwABCDEFMNOPQRSTUVWXYZ[\ Lorg/bouncycastle/crypto/Digest;3Lorg/bouncycastle/crypto/params/ECDomainParameters;7Lorg/bouncycastle/crypto/params/ECPrivateKeyParameters;"Lorg/bouncycastle/math/ec/ECPoint;(Ljava/lang/String;)V()Ljava/math/BigInteger;(I)Ljava/math/BigInteger;(J)Ljava/math/BigInteger;,()Lorg/bouncycastle/crypto/CipherParameters;/(ILorg/bouncycastle/crypto/CipherParameters;)[B2(I[BLorg/bouncycastle/crypto/CipherParameters;)[[B-(Lorg/bouncycastle/crypto/CipherParameters;)V#(Lorg/bouncycastle/crypto/Digest;)V%(Lorg/bouncycastle/crypto/Digest;[B)V5()Lorg/bouncycastle/crypto/params/ECDomainParameters;9()Lorg/bouncycastle/crypto/params/ECPrivateKeyParameters;8()Lorg/bouncycastle/crypto/params/ECPublicKeyParameters;$()Lorg/bouncycastle/math/ec/ECCurve;+()Lorg/bouncycastle/math/ec/ECFieldElement;$()Lorg/bouncycastle/math/ec/ECPoint;+(Lorg/bouncycastle/math/ec/ECPoint;[B[BI)[B"()Lorg/bouncycastle/util/Memoable;#(Lorg/bouncycastle/util/Memoable;)V*(Ljava/lang/Object;ILjava/lang/Object;II)V.(Ljava/math/BigInteger;)Ljava/math/BigInteger;L(Lorg/bouncycastle/crypto/Digest;Lorg/bouncycastle/math/ec/ECFieldElement;)VH(Lorg/bouncycastle/crypto/Digest;Lorg/bouncycastle/math/ec/ECPoint;[B)[BH(Lorg/bouncycastle/crypto/Digest;[BLorg/bouncycastle/math/ec/ECPoint;)[Bc(Lorg/bouncycastle/crypto/params/SM2KeyExchangePublicParameters;)Lorg/bouncycastle/math/ec/ECPoint;h(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;(Lorg/bouncycastle/crypto/Digest;Lorg/bouncycastle/math/ec/ECPoint;[B[BLorg/bouncycastle/math/ec/ECPoint;Lorg/bouncycastle/math/ec/ECPoint;)[B(Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECPoint; i > g # $ a % b , 1  @ ! - 4 f H I ? " f  + 3 5 e _ ` h 6  6 . 8 / 9 * & ' ( ) 0 2 7 : L G  ^    J K ] c    ;    d r r r r r r r r r k l m m n o p p p p p p p p r r r r r r r r r r r s t t t t u u v w w x x x x x y y z z { { { | | } } } ~ q q q q  Code!rn  gab%#i$> ) *sY ) **+=)~r+w+wxM*+w+xM**,*,*,** *,*,** ld) {,w,wyN,w: ,yN:****:**- :*-:**:*:)4 (-w-wy:-w:-y::*, kY****:** :*:*f*: *** : ** :  ,! lYjY SY** S*: ** *: jY SY** SY** S) * M, + N, + :**:*:* * :**:*: -  G) *#6:`l:6: : *G**+**+*,,&*--&*:  ': 6    (5**+**+*,,&*--&  "*&*%Wd6   `6p])*+ * *)++$*+,+--&*)XL*+,+--&+&*+*+*+*+*)++$*+,+--&*;)eY*+,*+* *+* *+* *+* *+-*+-*)0$,h>+|$+$+,,&),N+--&!)&*#L*+%W+