hyb
2026-01-30 7657e1b2fa251a2ea372710ad75cb395a3c0e374
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Ë
ž¬`i“ãó~—ddlZddlZddlmZddlmZmZddlmZddl    m
Z
m Z ddl m Z mZmZmZmZmZmZddlmZmZddlmZmZmZmZmZmZmZmZdd    lm Z d
„Z!Gd „d e"«Z#Gd „dejH«Z%Gd„dejH«Z&Gd„dejH«Z'Gd„dejH«Z(Gd„dejH«Z)Gd„dejH«Z*Gd„dejH«Z+d„Z,Gd„dejH«Z-d„Z.e.e-«ifd„Z/e0d k(rd!„Z1ejdd"¬#«yy)$éN)Ú    unhexlify)ÚbÚbchr)Úlist_test_cases)Úload_test_vectorsÚload_test_vectors_wycheproof)ÚSHA1ÚHMACÚSHA256ÚMD5ÚSHA224ÚSHA384ÚSHA512)ÚAESÚDES3)ÚPBKDF1ÚPBKDF2Ú_S2VÚHKDFÚscryptÚbcryptÚ bcrypt_checkÚSP800_108_Counter)Ú_bcrypt_decodecót—|€y|jdd«jdd«}tt|««S)Nú Úú
)Úreplacerr)ÚtÚt2s  õtH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/Protocol/test_KDF.pyÚt2br#)s6€Ø€yØØ    
‰3˜Ó    ×    #Ñ    # D¨"Ó    -€BÜ ”Qr“UÓ Ðócó —eZdZy)Ú
TestVectorN)Ú__name__Ú
__module__Ú __qualname__©r$r"r&r&0s„Ør$r&có—eZdZdZd„Zy)Ú PBKDF1_Tests))ÚpasswordÚ78578E5A5D63CB06éièÚ DC19847E05C64D2FAF10EBFB4A3D2A20có®—|jd}t|dt|d«|d|dt«}|j    |t|d««y)Nréééé)Ú    _testDatarr#r    Ú assertEqual)ÚselfÚvÚress   r"Útest1zPBKDF1_Tests.test1BsN€Ø N‰N˜1Ñ ˆÜQq‘Tœ3˜q ™t›9 a¨¡d¨A¨a©D´$Ó7ˆØ ×јœc ! A¡$›iÕ(r$N)r'r(r)r6r;r*r$r"r,r,4s„ð€Ió
)r$r,c ó˜—eZdZddddedfdddded    fdddd
ed fdddd ed fdddd edfdddd edfddddedfddddedffZd„Zd„Zd„Zd „Z    y!)"Ú PBKDF2_Testsr-r.éiÚ0BFDE6BE94DF7E11DD409BCE20A0255EC327CB936FFE93643Ú73616c74ér2Ú(0c60c80f961f0e71f3a9b524af6012062fe037a6r3Ú(ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957iÚ(4b007901b765489abead49d926f721d065a429c1ÚpasswordPASSWORDpasswordÚH73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74éÚ23d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038z    passwordÚ
7361006c74r/Ú 56fa6aa75548099dcc37d7f03425e0c3Úpasswdé@ڀ55ac046e56e3089fec1691c22544b605f94185216dde0465e68b9d57c20dacbc49ca9cccf179b645991664b39d77ef317c71b845b1e30bd509112041d3a19783ÚPasswordÚ4e61436ci€8ڀ4ddcd8f60b98be21830cee5ef22701f9641a4418d04c0414aeff08876b34ab56a1d425a1225833549adb841b51c9b3176a272bdebba1d078478f62b397f33c8dcóª—d„}d„}tt|j««D]¬}|j|}|d}t|d«}|d}|d}|d}    t|d«}
|    turBt ||||«} |j | |
«t |||||«} |j | |
«ŒŒt |||||«} |j | |
«Œ®y)    NcóT—tj||t«j«S©N©r
Únewr    Údigest©ÚpÚss  r"Úprf_SHA1z$PBKDF2_Tests.test1.<locals>.prf_SHA1dó€Ü—8‘8˜A˜a¤Ó%×,Ñ,Ó.Ð .r$cóT—tj||t«j«SrS©r
rUr rVrWs  r"Ú
prf_SHA256z&PBKDF2_Tests.test1.<locals>.prf_SHA256gs€Ü—8‘8˜A˜a¤Ó'×.Ñ.Ó0Ð 0r$rr2r3r4r5é)ÚrangeÚlenr6r#r    rr7) r8rZr^Úir9r-ÚsaltÚout_lenÚitersÚhash_modÚexpectedr:s             r"r;zPBKDF2_Tests.test1asã€ò    /ò    1ô”s˜4Ÿ>™>Ó*Ó+ò    0ˆAØ—‘˜qÑ!ˆAؘ‘tˆHܐq˜‘t“9ˆDؘ‘dˆGؐa‘DˆEؘ‘tˆHܘ1˜Q™4“yˆHàœ4ÑܘX t¨W°eÓ<Ø× Ñ   hÔ/ä˜X t¨W°e¸XÓFØ× Ñ   hÕ/ä˜X t¨W°e¸ZÓHØ× Ñ   hÕ/ñ#    0r$c
óx—d„}|jtttd«td«dd|t¬«y)NcóT—tj||t«j«SrSrTrWs  r"rZz$PBKDF2_Tests.test2.<locals>.prf_SHA1r[r$ÚxxxÚyyyr/éd)ÚprfÚhmac_hash_module)Ú assertRaisesÚ
ValueErrorrrr    )r8rZs  r"Útest2zPBKDF2_Tests.test2}s5€ò    /ð     ×Ñœ*¤f¬a°«h¼¸%»À"ÀcØ&¼ð    õ    ?r$c    ó懗td«}td«}ttttt
t fD]7Št||ddˆfd„¬«}t||dd‰¬«}|j||«Œ9y)Nrjrkr/rlcóN•—tj||‰«j«SrS©r
rUrV)rXrYÚhashmods  €r"ú<lambda>z$PBKDF2_Tests.test3.<locals>.<lambda>Žsø€¬$¯(©(°1°Q°wÓ*?×*FÑ*FÓ*H€r$)rm)rn)    rr r    r r rrrr7)r8r-rcÚpr1Úpr2rus     @r"Útest3zPBKDF2_Tests.test3…skø€ôU“8ˆÜ‹xˆäœT¤6¬6´6¼6ÐBò    'ˆG䘠4¨¨SÛHôJˆC䘠4¨¨SÀ7ÔKˆCà × Ñ ˜S #Õ &ñ     'r$có(—tdtd«dd«}ttd«td«dd«}|j||«ttd«ddd«}ttd«td«dd«}|j||«y)Nrjrkr/é
)rrr7)r8Úk1Úk2s   r"Útest4zPBKDF2_Tests.test4“sz€ä Eœ1˜U›8 R¨Ó ,ˆÜ ”Ae“Hœa ›h¨¨BÓ /ˆØ ×ј˜RÔ ä ”Ae“H˜e R¨Ó ,ˆÜ ”Ae“Hœa ›h¨¨BÓ /ˆØ ×ј˜RÕ r$N)
r'r(r)r    r r6r;rqryr~r*r$r"r=r=Hs»„ðÐ*¨2¨d¸Ð>pÐ qà ˜
 B¨¸Ð>hÐ iØ ˜
 B¨¸Ð>hÐ iØ ˜
 B¨¸Ð>hÐ iØ 'Ð(rØ$&¨¸Ð>rð tà˜\¨"¨T¸Ð>`Ð aà˜
 B¨¸ðACð Dؘ* b¨%¸ðACð Dð 
€Iò0ò8?ò 'ó!r$r=có0—eZdZdddefdddefgZd„Zd„Zy    )
Ú    S2V_Tests)Ú0101112131415161718191a1b1c1d1e1f2021222324252627Ú112233445566778899aabbccddeeÚ fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0Ú 85632d07c6e8f37f950acd320a2ecc93)ÚP00112233445566778899aabbccddeeffdeaddadadeaddadaffeeddccbbaa99887766554433221100Ú102030405060708090a0Ú 09f911029d74e35bd84156c5635688c0Ú^7468697320697320736f6d6520706c61696e7465787420746f20656e6372797074207573696e67205349562d414553Ú 7f7e7d7c7b7a79787776757473727170Ú 7bdb6e3b432667eb06f4d14bff2fbd0fcó—|jD]y}tjt|d«|d«}|dD]}|j    t|««Œ|j «}|j |t|d««Œ{y)z!Verify correctness of test vectorr2r4rr3N)r6rrUr#ÚupdateÚderiver7)r8ÚtvÚs2vrYÚresults     r"r;zS2V_Tests.test1Âsw€à—.‘.ò    1ˆBÜ—(‘(œ3˜r !™u›: r¨!¡uÓ-ˆCؘ‘Uò #Ø—
‘
œ3˜q›6Õ"ð #à—Z‘Z“\ˆFØ × Ñ ˜V¤S¨¨A©£ZÕ 0ñ     1r$cóX—td«dztd«dzz}ttfD]~}tj||«}|j
dzdz
}t |«D]}|jtd««Œ|jt|jtd««Œ€y)zOVerify that no more than 127(AES) and 63(TDES)
        components are accepted.rééÿr2ÚXXÚYYN) rrrrrUÚ
block_sizer`rŒrroÚ    TypeError)r8ÚkeyÚmodulerÚ    max_compsrbs      r"rqzS2V_Tests.test2Ës”€ô1‹g˜‰kœD ›I¨™MÑ)ˆÜœDkò    >ˆFÜ—(‘(˜3 Ó'ˆCØ×)Ñ)¨!Ñ+¨AÑ-ˆIܘ9Ó%ò $Ø—
‘
œ1˜T›7Õ#ð $à × Ñ œi¨¯©´Q°t³WÕ =ñ     >r$N)r'r(r)rr6r;rqr*r$r"r€r€žs;„ð1à .Ø .Ø ð  ð2ð /Ø .Ø ð ð
€Iò61ó    >r$r€c ó~—eZdZedddddfedddd    d
fedd d dd fed ddddfedddd    dfedddddfedd dddffZd„Zd„Zy )Ú
HKDF_TestsÚ,0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0bÚ000102030405060708090a0b0cÚf0f1f2f3f4f5f6f7f8f9é*ÚT3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865Ú 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4fÚ 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafÚ b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfefféRÚ¤b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87NÚT8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8Ú0b0b0b0b0b0b0b0b0b0b0bÚT085a01ea1b10f36933068b56efa5ad81a4f14b822f5b091568a9cdd4f155fda2c22e422478d305f3f896Ú¤0bd770a74d1160f7c9f12cd5912a06ebff6adcae899d92191fe4305673ba2ffe8fa3f1a4e5ad79f3f334b3b202b2173c486ea37ce3d397ed034c7f9dfeb15c5e927336d0441f4c4300e2cff0d0900b52d3b4rÚT0ac1af7002b3d761d1e55298da9d0506b9ae52057220a306e07b6b87e8df21d0ea00033de03984d34918Ú,0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0cÚT2c91117204d745f3500d636a62f64f0ab3bae548aa53d423b0d1f27ebba6f5e5673a081d70cce7acfc48c    óì—|jD][}dDcgc]}t||«‘Œc}\}}}}dDcgc]}||‘Œ    c}\}}t||||d|«}    |j|    |«Œ]ycc}wcc}w)N)r2r3r4r_)r5rr2)Ú _test_vectorr#rr7)
r8rŽÚxÚsecretrcÚinfoÚexpÚkey_lenruÚoutputs
          r"r;zHKDF_Tests.test1Gs{€Ø×#Ñ#ò    *ˆBØ<EÖ&G°q¬¨B¨q©E­
Ò&GÑ #ˆFD˜$ Ø05Ö7¨1  A£Ò7Ñ ˆGWä˜& '¨4°¸!¸TÓBˆFØ × Ñ ˜V SÕ )ñ     *ùÚ&GùÚ7s
”A,µ A1cóh—ttd«dtd«t«}ttd«dtd«td«\}}|j|dd|ddf||f«ttd«dtd«td«\}}}|j|dd|dd|ddf|||f«y)    NÚXXXXXXé ÚYYYYér3r5r4r’)rrr    r7©r8ÚrefÚkey1Úkey2Úkey3s     r"rqzHKDF_Tests.test2Os²€Ü”1X“; ¤A f£I¬tÓ4ˆôœ!˜H›+ q¬!¨F«)´T¸1Ó=‰
ˆˆdØ ×ј#˜b˜q˜' 3 q r 7Ð+¨d°D¨\Ô:ô ¤ (£ ¨Q´°&³    ¼4ÀÓCшˆdDØ ×ј#˜b˜q˜' 3 q¨ 8¨S°°¨WÐ5¸¸dÀDÐ7IÕJr$)r'r(r)r r    r¯r;rqr*r$r"rœrœ×sä„ðØ>Ø,Ø&Øð'ð      ðð3ð
3ð
3ð
ðð% ð4Ø>ØØØð'ð      ðØ(Ø,Ø&Øð'ð      ðð3ð
3ð
3ð
ðð% ð4Ø>ØØØð'ð      ðØ>ØØØð'ð      ðwe
€LòN*ó    Kr$rœcó"—eZdZdZd„Zd„Zd„Zy)Ú scrypt_Tests))rrr/r2r2a%
                    77 d6 57 62 38 65 7b 20 3b 19 ca 42 c1 8a 04 97
                    f1 6b 48 44 e3 07 4a e8 df df fa 3f ed e2 14 42
                    fc d0 06 9d ed 09 48 f8 32 6a 75 3a 0f c8 1f 17
                    e8 d3 e0 fb 2e 0d 36 28 cf 35 e2 0c 38 d1 89 06
                    )r-ÚNaClir’r/a%
                    fd ba be 1c 9d 34 72 00 78 56 e7 19 0d 01 e9 fe
                    7c 6a d7 cb c8 23 78 30 e7 73 76 63 4b 37 31 62
                    2e af 30 d9 2e 22 a3 88 6f f1 09 27 9d 98 30 da
                    c7 27 af b9 4a 83 ee 6d 83 60 cb df a2 cc 06 40
                    )Ú pleaseletmeinÚSodiumChloridei@r’r2a%
                    70 23 bd cb 3a fd 73 48 46 1c 06 cd 81 fd 38 eb
                    fd a8 fb ba 90 4f 8e 3e a9 b5 43 f6 54 5d a1 f2
                    d5 43 29 55 61 3f 0f cf 62 d4 97 05 24 2a 9a f9
                    e6 1e 85 dc 0d 65 1e 40 df cf 01 7b 45 57 58 87
                    )rÃrÄér’r2a%
                    21 01 cb 9b 6a 51 1a ae ad db be 09 cf 70 f8 81
                    ec 56 8d 57 4a 2f fd 4d ab e5 ee 98 20 ad aa 47
                    8e 56 fd 8f 4b a5 d0 9f fa 1c 6d 92 7c 40 f4 c3
                    37 30 40 49 e8 a9 52 fb cb f4 5c 6f a7 7a 41 a4
                    cóP—g}|jD]Ž}t«}t|d«|_t|d«|_|d|_|d|_|d|_t|d«|_    t|j«|_ |j|«Œ||_y)Nrr2r3r4r5r_) Údatar&rÚPÚSÚNÚrrXr#rµraÚdkLenÚappend)r8Únew_test_vectorsrŽÚnew_tvs    r"ÚsetUpzscrypt_Tests.setUp›s—€ØÐØ—)‘)ò        ,ˆBÜ“\ˆFܘ˜A™“xˆFŒHܘ˜A™“xˆFŒHؘ!‘uˆFŒHؘ!‘uˆFŒHؘ!‘uˆFŒHÜ  1¡›JˆFŒMܘvŸ}™}Ó-ˆFŒLØ × #Ñ # FÕ +ð        ,ð%ˆ    r$c    ó”—|jD]k}    t|j|j|j|j
|j |j«}|j||j«Œmy#t$rB}dt|«vr.|j
dk\rddl
}|jdt«Yd}~Œ³|‚d}~wwxYw)Nz 2 rÅrz6Not enough memory to unit test scrypt() with N=1048576)rÇrrÈrÉrÌrÊrËrXrpÚstrÚwarningsÚwarnÚRuntimeWarningr7rµ)r8rŽrµÚerÓs     r"rqzscrypt_Tests.test2©sž€à—)‘)ò
    0ˆBð Ü §¡ b§d¡d¨B¯H©H°b·d±d¸B¿D¹DÀ"Ç$Á$ÓGð × Ñ ˜V R§Y¡YÕ /ñ
    0øôò ØœC ›F‘? r§t¡t¨w¢Û#Ø—M‘MÐ"ZÔ\jÔkÜàGûð  ús‘A A<Á<    CÂ6CÃCÃCc    ó\—ttd«td«dddd«}ttd«td«ddddd«\}}|j|dd|ddf||f«ttd«td«ddddd    «\}}}|j|dd|dd
|d
df|||f«y) Nr-rcr¸r/r2rºr3r5r4r’)rrr7r»s     r"ryzscrypt_Tests.test3·s¾€Ü”Qz“]¤A f£I¨r°2°q¸!Ó<ˆôœA˜j›M¬1¨V«9°a¸¸QÀÀ1ÓE‰
ˆˆdØ ×ј#˜b˜q˜' 3 q r 7Ð+¨d°D¨\Ô:ô"¤! J£-´°6³¸A¸rÀ1ÀaÈÓKшˆdDØ ×ј#˜b˜q˜' 3 q¨ 8¨S°°¨WÐ5¸¸dÀDÐ7IÕJr$N)r'r(r)rÇrÐrqryr*r$r"rÁrÁ[s„ð5 €Dòn %ò 0ó    Kr$rÁcóN—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z y ) Ú bcrypt_Testscó˜—|jttdd«|jttdd«|jttdd«|jttddd¬«|jttddd    ¬«|jttddd
¬«|jttd d«y) NsI1111111111111111111111111111111111111111111111111111111111111111111111111r{s
1111111111r4é r5r$©rcó1s11111111111111111s1111111111)rorpr©r8s r"Útest_negative_casesz bcrypt_Tests.test_negative_casesÅs€Ø ×Ñœ*¤f¨i¸Ô<Ø ×Ñœ*¤f¨i¸Ô;Ø ×Ñœ*¤f¨i¸Ô<Ø ×Ñœ*¤f¨i¸ÀÐÔEØ ×Ñœ*¤f¨i¸ÀÐÔFØ ×Ñœ*¤f¨i¸ÀÐÔKØ ×Ñœ*¤f¨m¸QÕ?r$có—tdd«}td|«t|«}td|«|ddt|ddz «z}|j    t
td|«d|ddz}|j    t
td|«y)NÚpwdr5éÿÿÿÿr2óx)rrÚ    bytearrayrrorp)r8r¼ÚbrefÚwrongs    r"Útest_bytearray_mismatchz$bcrypt_Tests.test_bytearray_mismatchÎs€ÜU˜AӈܐU˜CԠܘ‹~ˆÜU˜DÔ!àCRœ4  R¡¨4¡Ó0Ñ0ˆØ ×Ñœ*¤l°E¸5ÔAàs˜1˜2w‘ˆØ ×Ñœ*¤l°E¸5ÕAr$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N))r$r5ózVHmKQtGGQob.b/Nc7l9NOs<$2a$04$zVHmKQtGGQob.b/Nc7l9NO8UlrYcW05FiuCj/SxsFO/ZtiN9.mNzy)r$r_rés<$2a$05$zVHmKQtGGQob.b/Nc7l9NOWES.1hkVBgy5IWImh9DOjKNU8atY4Iy)r$rºrés<$2a$06$zVHmKQtGGQob.b/Nc7l9NOjOl7l4oz3WSh5fJ6414Uw8IXRAUoiaO)r$érés<$2a$07$zVHmKQtGGQob.b/Nc7l9NOBsj1dQpBA1HYNGpIETIByoNX9jc.hOi)r$r’rés<$2a$08$zVHmKQtGGQob.b/Nc7l9NOiLTUh/9MDpX86/DLyEzyiFjqjBFePgOrܩڠ   enumeraterrr7r©r8ÚtvsÚidxr-ÚcostÚsalt64rr°s        r"Útest_empty_passwordz bcrypt_Tests.test_empty_passwordÜsZ€ò
ˆô8AÀ³~ò    +Ñ 3ˆSÑ28˜T 6¨6ܐx ¬N¸6Ó,BÔCˆAØ × Ñ ˜Q Ô 'Ü ˜ 6Õ *ñ    +r$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N))s
<.S.2K(Zq'r5sVYAclAMpaXY/oqAo9yUpkus<$2a$04$VYAclAMpaXY/oqAo9yUpkuWmoYywaPzyhu56HxXpVltnBIfmO9tgu)s
5.rApO%5jAr_skVNDrnYKvbNr5AIcxNzeIus<$2a$05$kVNDrnYKvbNr5AIcxNzeIuRcyIF5cZk6UrwHGxENbxP5dVv.WQM/G)s
oW++kSrQW^rºsQLKkRMH9Am6irtPeSKN5sOs<$2a$06$QLKkRMH9Am6irtPeSKN5sObJGr3j47cO6Pdf5JZ0AsJXuze0IbsNm)s
ggJ\KbTnDGrês4H896R09bzjhapgCPS/LYus<$2a$07$4H896R09bzjhapgCPS/LYuMzAQluVgR5iu/ALF8L8Aln6lzzYXwbq)s
49b0:;VkH/r’shfvO2retKrSrx5f2RXikWes<$2a$08$hfvO2retKrSrx5f2RXikWeFWdtSesPlbj08t/uXxCeZoHRWDz/xFe)s
>9N^5jc##'é    sXZLvl7rMB3EvM0c1.JHivus<$2a$09$XZLvl7rMB3EvM0c1.JHivuIDPJWeNJPTVrpjZIEVRYYB/mF6cYgJK)s
\$ch)s4WXpr{saIjpMOLK5qiS9zjhcHR5TOs<$2a$10$aIjpMOLK5qiS9zjhcHR5TOU7v2NFDmcsBmSFDt5EHOgp/jeTF3O/q)s
RYoj\_>2P7r¸sesIAHiQAJNNBrsr5V13l7.s<$2a$12$esIAHiQAJNNBrsr5V13l7.RFWWJI2BZFtQlkFyiWXjou05GyuREZarÜrërís        r"Ú&test_random_password_and_salt_short_pwz3bcrypt_Tests.test_random_password_and_salt_short_pwëóZ€ò    
ˆô8AÀ³~ò    +Ñ 3ˆSÑ28˜T 6¨6ܐx ¬N¸6Ó,BÔCˆAØ × Ñ ˜Q Ô 'Ü ˜ 6Õ *ñ    +r$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N))s^Q&"]A`%/A(BVGt>QaX0M-#<Q148&fr5svrRP5vQxyD4LrqiLd/oWROs<$2a$04$vrRP5vQxyD4LrqiLd/oWROgrrGINsw3gb4Ga5x2sn01jNmiLVECl6)snZa!rRf\U;OL;R?>1ghq_+":Y0CRmYr_sYuQvhokOGVnevctykUYpKus<$2a$05$YuQvhokOGVnevctykUYpKutZD2pWeGGYn3auyLOasguMY3/0BbIyq)sF%uN/j>[GuB7-jB'_Yj!Tnb7Y!u^6)rºs5L3vpQ0tG9O7k5gQ8nAHAes<$2a$06$5L3vpQ0tG9O7k5gQ8nAHAe9xxQiOcOLh8LGcI0PLWhIznsDt.S.C6)sZ>BobP32ub"Cfe*Q<<WUq3rc=[GJr-rêshp8IdLueqE6qFh1zYycUZ.s<$2a$07$hp8IdLueqE6qFh1zYycUZ.twmUH8eSTPQAEpdNXKMlwms9XfKqfea)sIk&8N['7*[1aCc1lOm8\jWeD*H$eZMr’s2ANDTYCB9m7vf0Prh7rSrus<$2a$08$2ANDTYCB9m7vf0Prh7rSrupqpO3jJOkIz2oW/QHB4lCmK7qMytGV6)sO)=%3[E$*q+>-q-=tRSjOBh8\mLNW.rôsnArqOfdCsD9kIbVnAixnwes<$2a$09$nArqOfdCsD9kIbVnAixnwe6s8QvyPYWtQBpEXKir2OJF9/oNBsEFe)s/MH51`!BP&0tj3%YCA;Xk%e3S`o\EIr{sePiAc.s.yoBi3B6p1iQUCes<$2a$10$ePiAc.s.yoBi3B6p1iQUCezn3mraLwpVJ5XGelVyYFKyp5FZn/y.u)sptAP"mcg6oH.";c0U2_oll.OKi<!kur¸saroG/pwwPj1tU5fl9a9pkOs<$2a$12$aroG/pwwPj1tU5fl9a9pkO4rydAmkXRj/LqfHZOSnR6LGAZ.z.jwarÜrërís        r"Ú%test_random_password_and_salt_long_pwz2bcrypt_Tests.test_random_password_and_salt_long_pwýrör$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N))óQ/A:k3DP;X@=<0"hg&9cr5swbgDTvLMtyjQlNK7fjqwyOs<$2a$04$wbgDTvLMtyjQlNK7fjqwyOakBoACQuYh11.VsKNarF4xUIOBWgD6S)rúr_szbAaOmloOhxiKItjznRqrus<$2a$05$zbAaOmloOhxiKItjznRqrunRqHlu3MAa7pMGv26Rr3WwyfGcwoRm6)rúrºsaOK0bWUvLI0qLkc3ti5jyus<$2a$06$aOK0bWUvLI0qLkc3ti5jyuAIQoqRzuqoK09kQqQ6Ou/YKDhW50/qarÜrërís        r"Ú"test_same_password_and_random_saltz/bcrypt_Tests.test_same_password_and_random_saltsZ€ò
ˆô 8AÀ³~ò    +Ñ 3ˆSÑ28˜T 6¨6ܐx ¬N¸6Ó,BÔCˆAØ × Ñ ˜Q Ô 'Ü ˜ 6Õ *ñ    +r$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N))óo<&+X'F4AQ8H,LU,N`&rr5óBK5u.QHk1Driey7bvnFTH.s<$2a$04$BK5u.QHk1Driey7bvnFTH.3smGwxd91PtoK2GxH5nZ7pcBsYX4lMq)rýr_rþs<$2a$05$BK5u.QHk1Driey7bvnFTH.t5P.jZvFBMzDB1IY4PwkkRPOyVbEtFG)rýrºrþs<$2a$06$BK5u.QHk1Driey7bvnFTH.6Ea1Z5db2p25CPXZbxb/3OyKQagg3pa)rýrêrþs<$2a$07$BK5u.QHk1Driey7bvnFTH.sruuQi8Lhv/0LWKDvNp3AGFk7ltdkm6)rýr’rþs<$2a$08$BK5u.QHk1Driey7bvnFTH.IE7KsaUzc4m7gzAMlyUPUeiYyACWe0q)rýrôrþs<$2a$09$BK5u.QHk1Driey7bvnFTH.1v4Xj1dwkp44QNg0cVAoQt4FQMMrvnS)rýr{rþs<$2a$10$BK5u.QHk1Driey7bvnFTH.ESINe9YntUMcVgFDfkC.Vbhc9vMhNX2)rýr¸rþs<$2a$12$BK5u.QHk1Driey7bvnFTH.QM1/nnGe/f5cTzb6XTTi/vMzcAnycqGrÜrërís        r"Ú2test_same_password_and_salt_increasing_cost_factorz?bcrypt_Tests.test_same_password_and_salt_increasing_cost_factorrör$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N))sFg*3Q45="8NNgpT&mbMJ$Omfr.#ZeW?FP=CE$#roHd?97uL0F-]`?u73c"\[."*)qU34@VGr5sT2XJ5MOWvHQZRijl8LIKkOs<$2a$04$T2XJ5MOWvHQZRijl8LIKkOQKIyX75KBfuLsuRYOJz5OjwBNF2lM8a)sF\M+*8;&QE=Ll[>5?Ui"^ai#iQH7ZFtNMfs3AROnIncE9"BNNoEgO[[*Yk8;RQ(#S,;I+aTr_swgkOlGNXIVE2fWkT3gyRoOs<$2a$05$wgkOlGNXIVE2fWkT3gyRoOqWi4gbi1Wv2Q2Jx3xVs3apl1w.Wtj8C)sFM.E1=dt<.L0Q&p;94NfGm_Oo23+Kpl@M5?WIAL.[@/:'S)W96G8N^AWb7_smmC]>7#fGoBrºsW9zTCl35nEvUukhhFzkKMes<$2a$06$W9zTCl35nEvUukhhFzkKMekjT9/pj7M0lihRVEZrX3m8/SBNZRX7irÜrërís        r"Útest_long_passwordsz bcrypt_Tests.test_long_passwords.sZ€ò
ˆô8AÀ³~ò    +Ñ 3ˆSÑ28˜T 6¨6ܐx ¬N¸6Ó,BÔCˆAØ × Ñ ˜Q Ô 'Ü ˜ 6Õ *ñ    +r$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N))óar5ó5DCebwootqWMCp59ISrMJ.s<$2a$04$5DCebwootqWMCp59ISrMJ.l4WvgHIVg17ZawDIrDM2IjlE64GDNQS)saar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.AyUxBk.ThHlsLvRTH7IqcG7yVHJ3SXq)saaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.BxOVac5xPB6XFdRc/ZrzM9FgZkqmvbW)saaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.Qbr209bpCtfl5hN7UQlG/L4xiD3AKau)saaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.oWszihPjDZI0ypReKsaDOW1jBl7oOii)saaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ./k.Xxn9YiqtV/sxh3EHbnOHd0Qsq27K)saaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.PYJqRFQbgRbIjMd5VNKmdKS4sBVOyDe)saaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ..VMYfzaw1wP/SGxowpLeGf13fxCCt.q)s    aaaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.5B0p054nO5WgAD1n04XslDY/bqY9RJi)s
aaaaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.INBTgqm7sdlBJDg.J5mLMSRK25ri04y)s aaaaaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.s3y7CdFD0OR5p6rsZw/eZ.Dla40KLfm)s aaaaaaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.Jx742Djra6Q7PqJWnTAS.85c28g.Siq)s aaaaaaaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.oKMXW3EZcPHcUV0ib5vDBnh9HojXnLu)saaaaaaaaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.w6nIjWpDPNSH5pZUvLjC1q25ONEQpeS)saaaaaaaaaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.k1b2/r9A/hxdwKEKurg6OCn4MwMdiGq)saaaaaaaaaaaaaaaar5rs<$2a$04$5DCebwootqWMCp59ISrMJ.3prCNHVX1Ws.7Hm2bJxFUnQOX9f7DFarÜrërís        r"Útest_increasing_password_lengthz,bcrypt_Tests.test_increasing_password_length>sZ€ò
ˆô&8AÀ³~ò    +Ñ 3ˆSÑ28˜T 6¨6ܐx ¬N¸6Ó,BÔCˆAØ × Ñ ˜Q Ô 'Ü ˜ 6Õ *ñ    +r$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N))õ0àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝðÐr5sD3qS2aoTVyqM7z8v8crLm.s<$2a$04$D3qS2aoTVyqM7z8v8crLm.3nKt4CzBZJbyFB.ZebmfCvRw7BGs.Xm)rr_sVA1FujiOCMPkUHQ8kF7IaOs<$2a$05$VA1FujiOCMPkUHQ8kF7IaOg7NGaNvpxwWzSluQutxEVmbZItRTsAa)rrºsTXiaNrPeBSz5ugiQlehRt.s<$2a$06$TXiaNrPeBSz5ugiQlehRt.gwpeDQnXWteQL4z2FulouBr6G7D9KUi)õ,âêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿr5sYTn1Qlvps8e1odqMn6G5x.s<$2a$04$YTn1Qlvps8e1odqMn6G5x.85pqKql6w773EZJAExk7/BatYAI4tyO)rr_sC.8k5vJKD2NtfrRI9o17DOs<$2a$05$C.8k5vJKD2NtfrRI9o17DOfIW0XnwItA529vJnh2jzYTb1QdoY0py)rrºsxqfRPj3RYAgwurrhcA6uROs<$2a$06$xqfRPj3RYAgwurrhcA6uROtGlXDp/U6/gkoDYHwlubtcVcNft5.vW)õ+ÄËÏÖÜŸåÅæÆœŒßçÇøØ¢¿¡€r5sy8vGgMmr9EdyxP9rmMKjH.s<$2a$04$y8vGgMmr9EdyxP9rmMKjH.wv2y3r7yRD79gykQtmb3N3zrwjKsyay)r    r_siYH4XIKAOOm/xPQs7xKP1us<$2a$05$iYH4XIKAOOm/xPQs7xKP1upD0cWyMn3Jf0ZWiizXbEkVpS41K1dcO)r    rºswCOob.D0VV8twafNDB2apes<$2a$06$wCOob.D0VV8twafNDB2apegiGD5nqF6Y1e6K95q6Y.R8C4QGd265q)u8ΔημοσιεύθηκεστηνΕφημερίδατηςr5sE5SQtS6P4568MDXW7cyUp.s<$2a$04$E5SQtS6P4568MDXW7cyUp.18wfDisKZBxifnPZjAI1d/KTYMfHPYO)u8АБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНr5s03e26gQFHhQwRNf81/ww9.s<$2a$04$03e26gQFHhQwRNf81/ww9.p1UbrNwxpzWjLuT.zpTLH4t/w5WhAhC)uFнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюr5sPHNoJwpXCfe32nUtLv2Upus<$2a$04$PHNoJwpXCfe32nUtLv2UpuhJXOzd4k7IdFwnEpYwfJVCZ/f/.8Pje)u6電电電島岛島兔兔兎龜龟亀國国国區区区r5swU4/0i1TmNl2u.1jIwBX.us<$2a$04$wU4/0i1TmNl2u.1jIwBX.uZUaOL3Rc5ID7nlQRloQh6q5wwhV/zLW)u6诶比伊艾弗豆贝尔维吾艾尺开艾丝维贼德r5sP4kreGLhCd26d4WIy7DJXus<$2a$04$P4kreGLhCd26d4WIy7DJXusPkhxLvBouzV6OXkL5EB0jux0osjsryrÜrërís        r"Útest_non_ascii_charactersz&bcrypt_Tests.test_non_ascii_charactersXsZ€ò
ˆô"8AÀ³~ò    +Ñ 3ˆSÑ28˜T 6¨6ܐx ¬N¸6Ó,BÔCˆAØ × Ñ ˜Q Ô 'Ü ˜ 6Õ *ñ    +r$có¦—gd¢}t|«D]?\}\}}}}t||t|«¬«}|j||«t    ||«ŒAy)N) )z
-O_=*N!2JPr5ó......................s<$2a$04$......................JjuKLOX9OOwo5PceZZXSkaLDvdmgb82)z
7B[$Q<4b>Ur_r s<$2a$05$......................DRiedDQZRL3xq5A5FL8y7/6NM8a2Y5W)z
>d5-I_8^.hrºr s<$2a$06$......................5Mq1Ng8jgDY.uHNU4h5p/x6BedzNH2W)z
)V`/UM/]1tr5ó.OC/.OC/.OC/.OC/.OC/.Os<$2a$04$.OC/.OC/.OC/.OC/.OC/.OQIvKRDAam.Hm5/IaV/.hc7P8gwwIbmi)z
:@t2.bWuH]r_r s<$2a$05$.OC/.OC/.OC/.OC/.OC/.ONDbUvdOchUiKmQORX6BlkPofa/QxW9e)z
b(#KljF5s"rºr s<$2a$06$.OC/.OC/.OC/.OC/.OC/.OHfTd9e7svOu34vi1PCvOcAEq07ST7.K)z
@3YaJ^Xs]*r5óeGA.eGA.eGA.eGA.eGA.e.s<$2a$04$eGA.eGA.eGA.eGA.eGA.e.stcmvh.R70m.0jbfSFVxlONdj1iws0C)z
'"5\!k*C(pr_rs<$2a$05$eGA.eGA.eGA.eGA.eGA.e.vR37mVSbfdHwu.F0sNMvgn8oruQRghy)z
edEu7C?$'Wrºrs<$2a$06$eGA.eGA.eGA.eGA.eGA.e.tSq0FN8MWHQXJXNFnHTPQKtA.n2a..G)z
N7dHmg\PI^r5ó999999999999999999999us<$2a$04$999999999999999999999uCZfA/pLrlyngNDMq89r1uUk.bQ9icOu)z
"eJuHh!)7*r_rs<$2a$05$999999999999999999999uj8Pfx.ufrJFAoWFLjapYBS5vVEQQ/hK)z
ZeDRJ:_tu:rºrs<$2a$06$999999999999999999999u6RB0P9UmbdbQgjoQFEJsrvrKe.BoU6qrÜrërís        r"Útest_special_case_saltz#bcrypt_Tests.test_special_case_saltpsZ€ò 
ˆô8AÀ³~ò    +Ñ 3ˆSÑ28˜T 6¨6ܐx ¬N¸6Ó,BÔCˆAØ × Ñ ˜Q Ô 'Ü ˜ 6Õ *ñ    +r$N)r'r(r)rßrçròrõrørûrÿrrr
rr*r$r"rÙrÙÃs;„ò@ò
Bò +ò+ò$+ò$ +ò+ò$+ò +ò4+ó0+r$rÙcó6—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    y)    ÚTestVectorsHKDFWycheproofcó^—tjj|«||_d|_y)NÚNone)ÚunittestÚTestCaseÚ__init__Ú_wycheproof_warningsÚ_id)r8Úwycheproof_warningss  r"rz"TestVectorsHKDFWycheproof.__init__‰s%€Ü×Ñ×"Ñ" 4Ô(Ø$7ˆÔ!؈r$có@—d„}d„}td|d|zd|id|i¬«}|S)Ncó€—|d}|dk(rtS|dk(rtS|dk(rtS|dk(rtSt    d|z«‚)NÚ    algorithmz
HKDF-SHA-1z HKDF-SHA-256z HKDF-SHA-384z HKDF-SHA-512zUnknown algorithm )r    r rrrp)ÚrootÚ    algo_names  r"Ú filter_algoz8TestVectorsHKDFWycheproof.add_tests.<locals>.filter_algosQ€Ø˜[Ñ)ˆIؘLÒ(ܐ ؘnÒ,ܐ ؘnÒ,ܐ ؘnÒ,ܐ ä Ð!5¸    Ñ!AÓBÐBr$có—t|d«S)NÚsize©Úint)Úunits r"Ú filter_sizez8TestVectorsHKDFWycheproof.add_tests.<locals>.filter_sizes€Üt˜F‘|Ó$Ð $r$)ÚProtocolÚ
wycheproofzWycheproof HMAC (%s)Ú hash_moduler")Úroot_tagÚunit_tag)r)r8Úfilenamer r&rs     r"Ú    add_testsz#TestVectorsHKDFWycheproof.add_testsŽs?€ò     Cò    %ô.Ð.HØ.6Ø.DÀxÑ.OØ8EÀ{Ð7SØ8>À Ð7Lô    Nˆð
ˆ r$cóš—g|_|jd«|jd«|jd«|jd«y)Nzhkdf_sha1_test.jsonzhkdf_sha256_test.jsonzhkdf_sha384_test.jsonzhkdf_sha512_test.json)rŽr-rÞs r"rÐzTestVectorsHKDFWycheproof.setUp§s=€ØˆŒØ ‰Ð,Ô-Ø ‰Ð.Ô/Ø ‰Ð.Ô/Ø ‰Ð.Õ/r$có—|jSrS)rrÞs r"ÚshortDescriptionz*TestVectorsHKDFWycheproof.shortDescription®s €Øx‰xˆr$có˜—|jr>|jr1ddl}|jd|j›d|j
›d«yyy)NrzWycheproof warning: z (ú))ÚwarningrrÓrÔrÚcomment)r8rŽrÓs   r"rÔzTestVectorsHKDFWycheproof.warn±s4€Ø :Š:˜$×3Ò3Û Ø MŠM¸4¿8»8ÀRÇZÃZÐPÕ Qð4ˆ:r$có”—d|j|j|jfz|_    t    |j
|j |j|jd|j«}||jk7r|jr"J‚|jsJ‚|j|«yy#t$r|jrJ‚YywxYw)Nz!Wycheproof HKDF Test #%d (%s, %s)r2)Úidr4r,rrÚikmr"rcr)r²ÚokmÚvalidrÔrp)r8rŽr˜s   r"Ú test_verifyz%TestVectorsHKDFWycheproof.test_verify¶s¡€Ø6¸"¿%¹%ÀÇÁÈRÏ[É[Ð9YÑYˆŒð        Ür—v‘v˜rŸw™w¨¯©°·±ÀÀBÇGÁGÓLˆCðb—f‘fŠ}ØŸ8š8Ð#|à—x’xxØ—    ‘    ˜"• ð$øô    ò     Ø—x’xÐ <‘xð     ús­AB-Â-CÃCcóH—|jD]}|j|«ŒyrS)rŽr:)r8rŽs  r"ÚrunTestz!TestVectorsHKDFWycheproof.runTestÄs#€Ø—'‘'ò    !ˆBØ × Ñ ˜RÕ  ñ    !r$N)
r'r(r)rr-rÐr0rÔr:r<r*r$r"rr‡s&„òò
ò20òòRò
ó!r$rcóF—td|zt«t«dg«S)Nz Crypto.Hash.rU)Ú
__import__ÚglobalsÚlocals)Ú    hash_names r"Úload_hash_by_namerBÉs€Ü n yÑ0´'³)¼V»XÈÀwÓ OÐOr$có—eZdZd„Zd„Zy)ÚSP800_108_Counter_Testscó¨—d„}    tdd|d¬«}|jttdd|d¬«y#t$r|jd«YŒ<wxYw)NcóT—tj||t«j«SrSr]©rYr°s  r"rmz9SP800_108_Counter_Tests.test_negative_zeroes.<locals>.prfÐó€Ü—8‘8˜A˜q¤&Ó)×0Ñ0Ó2Ð 2r$ó0000000000000000r2sAB)Úlabelz+SP800_108_Counter failed with zero in label)Úcontext)rrpÚfailro)r8rmÚ_s   r"Útest_negative_zeroesz,SP800_108_Counter_Tests.test_negative_zeroesÏs`€ò    3ð    EÜ! )¨Q°¸9ÔEˆAð     ×Ñœ*Ô&7¸ÀAÀsØ"+ð    õ    -øôò    EØ I‰IÐCÖ Dð    Eús…4´AÁAcó—d„}d}t|d|«}dD]p}t|||d|z«}|jt|«d|z«|jt|d«|«|jdj|«|«Œry)NcóT—tj||t«j«SrSr]rGs  r"rmz7SP800_108_Counter_Tests.test_multiple_keys.<locals>.prfÛrHr$rIéŠ)r2r3r4érr$)rr7raÚjoin)r8rmr˜rgrËÚdkss      r"Útest_multiple_keysz*SP800_108_Counter_Tests.test_multiple_keysÚs‡€ò    3ðˆÜ$ S¨&°#Ó6ˆØò    6ˆAÜ# C¨¨C°°a±Ó8ˆCØ × Ñ œS ›X s¨A¡vÔ .Ø × Ñ œS  Q¡›[¨!Ô ,Ø × Ñ ˜SŸX™X c›]¨HÕ 5ñ        6r$N)r'r(r)rNrUr*r$r"rDrDÍs „ò    -ó
6r$rDcó—tddddd„i«xsg}d}t|«D]Ý\}}t|t«rft    j
d|«}|r/|j d«jdd    «}t|«}d
}Œ]t    j
d |«}|rd }Œx|sJ‚|d
k(rfd „}n |d k(rfd„}Œ’|j|j|j|j|jfd„}    t|d|z|    «Œßy)N)r'zKDF_SP800_108_COUNTER.txtz NIST SP 800 108 KDF Counter ModeÚcountcó—t|«SrSr#)r°s r"rvz-add_tests_sp800_108_counter.<locals>.<lambda>ìs
€Ì3ÈqË6€r$z\[HMAC-(SHA-[0-9]+)\]r2ú-rÚhmacz\[CMAC-AES-128\]ÚcmaccóL—tj|||«j«SrSrt©rYr°r)s   r"rmz(add_tests_sp800_108_counter.<locals>.prfs€Ü—x‘x  1 kÓ2×9Ñ9Ó;Ð;r$cóT—tj||t«j«SrS)ÚCMACrUrrVr]s   r"rmz(add_tests_sp800_108_counter.<locals>.prfs€Ü—x‘x  1¤cÓ*×1Ñ1Ó3Ð3r$cóŒ—t|t|«|d||«}t|«t|«k(sJ‚|j||«y)Nr2)rrar7)r8rmÚkinrJrKÚkoutrWrs        r"Úkdf_testz-add_tests_sp800_108_counter.<locals>.kdf_tests@€ä& s¬C°«I°s¸A¸uÀgÓNˆFܐv“;¤# d£)Ò+Ð ,Ð+Ø × Ñ ˜V TÕ *r$ztest_kdf_sp800_108_counter_%d)rrìÚ
isinstancerÒÚreÚmatchÚgrouprrBrarJrKrbrWÚsetattr)
ÚclsÚtest_vectors_sp800_108_counterÚmac_typerïrŽr:rAr)rmrcs
          r"Úadd_tests_sp800_108_counterrlçs€ä%6°~Ø7RØ7YØ8?ÑAQÐ7Ró&8ò&>ð<>ð    #ð €HÜÐ;Ó<òF‰ˆˆRä bœ#Ô Ü—(‘(Ð3°RÓ8ˆCÙØŸI™I a›L×0Ñ0°°bÓ9    Ü/°    Ó: Ø!ØÜ—(‘(Ð.°Ó3ˆCÙØ!ØÙˆJ3à vÒ Ø&1ô <à ˜Ò Ø&1ó 4à à"¨¯©°b·h±hØŸZ™Z¨b¯g©g¸R¿X¹Xó    +ô     Ð4°sÑ:¸HÕEñ;Fr$cóØ—|jd«}|jd«s8tjddt_tjddt_g}|t t «z }|t t«z }|t t«z }|t t«z }|t|«gz }|t t«z }|t t«z }|t t«z }|S)NrÚ
slow_testsr4) Úgetr=r6rÁrÇrr,r€rœrrÙrD)ÚconfigrÚtestss   r"Ú    get_testsrrsЀØ Ÿ*™*Ð%:Ó;Ðà :‰:lÔ #Ü!-×!7Ñ!7¸¸Ð!;Œ ÔÜ(×-Ñ-¨b¨qÐ1Œ Ôà €EØ    Œ_œ\Ó *Ñ*€EØ    Œ_œ\Ó *Ñ*€EØ    Œ_œYÓ 'Ñ'€EØ    Œ_œZÓ (Ñ(€EØ    Ô'Ð(;Ó<Ð =Ñ=€EØ    Œ_œ\Ó *Ñ*€EØ    Œ_œ\Ó *Ñ*€EØ    Œ_Ô4Ó 5Ñ5€Eà €Lr$Ú__main__có<—tjt««SrS)rÚ    TestSuiterrr*r$r"rvrv(s€”H×&Ñ&¤y£{Ó3€r$Úsuite)Ú defaultTest)3rerÚbinasciirÚCrypto.Util.py3compatrrÚCrypto.SelfTest.st_commonrÚCrypto.SelfTest.loaderrrÚ Crypto.Hashr    r
r r r rrÚ Crypto.CipherrrÚCrypto.Protocol.KDFrrrrrrrrrr#Úobjectr&rr,r=r€rœrÁrÙrrBrDrlrrr'rvÚmainr*r$r"ú<module>rs0ðó.
ÛÝç)å5ßRßG×GÑGß#÷4÷4ó4õ/òô    ô    ô)8×$Ñ$ô)ô(S!8×$Ñ$ôS!ôl6>×!Ñ!ô6>ôrAK×"Ñ"ôAKôHeK8×$Ñ$ôeKôPA+8×$Ñ$ôA+ôH?! × 1Ñ 1ô?!òDPô6˜h×/Ñ/ô6ò4&FñRÐ3Ô4ðóð( ˆzÒÙ 3€EØ€H‡MM˜gÖ&ðr$