-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy path.keyhogignore
More file actions
304 lines (303 loc) · 18.8 KB
/
Copy path.keyhogignore
File metadata and controls
304 lines (303 loc) · 18.8 KB
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
path:benchmark-harness/
# Build artifacts
path:crates/cli/tests/fixtures/
path:debug.log
# Demo fixtures intentionally embed fake credentials so the TUI recording
# has rich content to scan; they must never block the self-scan in CI.
path:demo/
path:demo.env
path:demo-secret.env
# CHANGELOG entries quote release notes that paste example credentials
# verbatim - they are documentation about findings, not live secrets.
path:CHANGELOG.md
# Internal planning / analysis docs (gap writeups, perf notes) quote credential
# shapes verbatim while documenting detector behavior - documentation about
# findings, not live secrets (same rationale as CHANGELOG.md). The pinned
# released v0.5.37 dogfood binary flags two: an octopus-deploy shape in prose
# (performance.md) and a quoted EC private-key header marker (detection.md).
# Current code already suppresses both. (NB: do not paste the literal credential
# shapes into the comments below - this file is itself scanned, and the bare
# EC private-key header marker is exactly what the v0.5.37 ssh detector fires on.)
path:backlog/
# Synthetic AWS split-credential reassembly fixture in the multiline fragment
# cache (all-zero key id || all-placeholder body, no real key material). The
# source carries an inline keyhog:ignore the current binary honors, but the
# pinned released v0.5.37 dogfood binary re-emits it from the reassembled
# fragment, so it is suppressed here by credential hash.
hash:57028a916a4ba4e7abfc8318ff8774852c5f4264ece9cfab01b97004ab56e3ae
# Two fabricated AWS-access-key FIXTURES that are non-secrets by construction
# (literal shapes deliberately NOT pasted here - this file is itself scanned;
# see the NB above). Hash-suppressed because dedup is by value, so one entry
# covers every source + test occurrence:
# * 3f0911f2... = the all-`X` synthetic placeholder driving the
# degenerate-repeat suppression unit tests + the doc-comment examples in
# confidence/penalties.rs + prefixes.rs. The CURRENT engine already drops it
# as a degenerate placeholder (that is the feature those examples document);
# the pinned v0.5.37 dogfood binary predates that fix, so it still fires.
# * 0edfda19... = the fabricated known-positive key planted in the
# differential-bench smoke check ($tmp fixture, outside the repo - so this
# repo-local ignore does NOT affect that scan) and the prefix-floor tests.
hash:3f0911f20f6b9854e34b43ad05470a9075d1c6a99b65ab82f03cce4201ee9f4a
hash:0edfda193f931b8c1c9c1a1db3b27576e70dd343cf943b5d22aacd5b63cb0090
# 48d2a5bb... = a leetspeak placeholder in the `parse_env` doc comment in
# crates/scanner/src/structured/parsers/env.rs (`KEY=value # comment` example
# illustrating inline-comment stripping). Not a real secret. It became visible
# to the self-scan when the keyword bridge gained the relaxed low-entropy floor
# (`generic_keyword_low_entropy`): `*_PASS=`-shaped doc examples now surface as
# the feature intends. Suppressed by value hash (literal shape NOT pasted here).
hash:48d2a5bbcf422ccd1b69e2a82fb90bafb52384953e77e304bef856084be052b6
# integration-smoke ships a base64-encoded seed of well-known AWS docs
# examples + an `xoxb-` slack token shape + a `ghp_` GitHub PAT shape;
# the workflow base64-decodes them on the runner so the scanner under
# test can confirm it finds them. v0.5.37's decode-through composition
# now follows the base64 in the workflow source too, surfacing those
# planted fixtures as findings on the dogfood scan.
path:.github/workflows/integration-smoke.yml
# Bundled test-fixture suppression list: the very purpose of the file
# is to enumerate known-public sample credentials (Stripe docs example,
# GitHub docs example, etc.) so keyhog can suppress them by hash. The
# fixture credentials live in this file verbatim by design.
path:crates/cli/data/suppressions/test-fixtures.toml
# Detector unit tests + examples carry sample credentials by design.
path:crates/scanner/examples/
path:crates/cli/src/benchmark.rs
path:deno/
path:detectors/
# Exclude massive datasets and external projects from self-scans
# External projects / Corpuses
path:findings.json
path:go/
hash:00bfcdacfbb7386c7aee8678d9d706de2df12d5ecb2609d530647a91359faa95
hash:041c26b3dc46c8617d59c0dfd6979bda82679725dd14f3e903609f7f23b0154e
hash:053ce87c3513cd550baa61e13439208ea9c4a815a5073338f79cd5349666fd47
hash:065e56b7dfe87d57ab86b89ca7bfd8e73cf9b818daa8388b79a33343d2d3e824
hash:0785dd1c37c60806a37adf41cbe3d1c6db4f7a78e9669b40ea508512231f212a
hash:07e23ede2756aa3f5f7cc9759117c4910875e032c27b8556a1e20626224f10ec
hash:0d3df60eb91a2a4d889ca9acc6c0be39da1f1e8521d9cf4f2e2ee3ec5df66968
hash:0e2a103d00dde12faaecfee17c35dba3b9eb357c816c539caf058f3fecaba440
hash:0e305412dc27135c51f47c67a14a14b43dee246f2f57be33148b191602980afc
hash:0e3da5dcd627e30ccb09f4273599b2d8cfd2a012b9959341cb9ac546fc904f1e
hash:113459eb7bb31bddee85ade5230d6ad5d8b2fb52879e00a84ff6ae1067a210d3
hash:126e6bbf39726060ef04a66e6426f41c0b34f0c96cfc34ee38b7526ae63deba4
hash:16db044ce83335d41d388185fea51d727a62f3b05e3e205eb2de84b075ca56b1
hash:17844e3894347b36ea58256d7338ab3cd8f70b36597838193b1f1a92aa8ffa1f
hash:1960a9ab0a36b0052ee75204a904d1a84ab6760be1deceebc521c78834e65ad8
hash:19898401dcc2aad652a794644756f71d4de5a967357aac58a69f6aa177987cbd
hash:1a3043bc3a2e8c2602bcecf436d4092be9e2fcfe980f5f8fbfe13873688483fc
hash:1dbd560513ddf368ec3f5616a6d14b3421d03f95cb372e1cb0f8a7dfa41b5c5e
hash:20eaff828421ab80cba1fa2aff36b3b9d4cd09a906540a237b388ef95c0215d7
hash:22c78303977c6bbae6d5d08cb33e180541c50f0fc0a1d474f3458c133d9a2c20
hash:233f060abfbaf91faad9fb11f2c2a9701a14b6b4d6f15bd5ecc90b56b4bcd275
hash:26e620cdef2674017cb00bbb4dd38ca6e35b4eed9800a537d8130efdcb050ab7
hash:2a60ed5d4f84727a3fbb06e3365d4b91072285b8360b2789fa9c0e49d5af5dc5
hash:2af7df75fe80688bee1dbcac4e3e348ecd3ad1e731b61483cb6c4a51d3902691
hash:2f493c523b2d22e4651db0d9cd37ccc579e1a1f520a69683e908ec74bdde6b08
hash:3242ae2ca0f4e059ef4039608dd4cd7a60698e747b46686607fba98ea446f634
hash:33cfc85a344fd5a3dc50dccc5d21b65394c63ff02c7f6114bcf9c671c0daa663
hash:384231f02b634b147cab4f8b9ebafa36d3370578fce7455c502b5ff3d45ef3e5
hash:39200d1e8a8dbbb6d7bcea51e02b99f062d32a5f83151e8c5a9fab79576245dd
hash:3af35788198f55f2484792594d05c38746420b283ce5f21f346f1f9b1095a40f
hash:3d291f481c7139c0d15a6ace92db3ac5dd44b4152e2fdfb00455de0c1b2014a2
hash:3de2d5b1989df568904c7c7e648f201f53c13e395287ce0b39a49dcae25d350b
hash:43d935f6971cdd153c2e7e1ff221af94ec81c3e0cfae733176afc52deb5fc18d
hash:448614386ba98053f823fb111cf8335ca19fb14fc776b3131a929f99904e32fb
hash:4617a58d5a1484b36cc00dd47290785501228c6589d8486df573568472bde0a4
hash:4c281411e1ccc93c230902001a09e7b863cb12a3f3b341089eb980a34aa9e434
hash:4e36e93944591d2a960e85a6781ef1791276f2ebb052a0f0483c8f30f518809e
hash:53061b050d3406ce37fd230b54dc072d6bcccdd6df0079b0b6fbc715e0f12187
hash:569fcb14e41e644c3439c558784d87ad85f169630dece28d18945d0b0f35863a
hash:5725f275b793fbca4a3f144cf24ba7da2569ec495a178c5cd183812c02bcaca1
hash:5b0872f369ceae5aed392228ade2e50ddb6a19ee550b04de8c4608598c76fe38
hash:5b2d1b6068626557524ae240c18dd2dae9dcab111b157cd2b85837da5decb28e
hash:62693af46d52edba15a6ee6674da302edd7a350e124d7a8a8265239344ef9e64
hash:63c7cc16bfecbde8952f56f75868eff3e1c40ef49899304359c78006fce148bf
hash:65937d5eec19d2ec8bfc0e469eab5992988d689c88d8782d24be24f02f7de8fe
hash:676fe4d0a299c22a453a78f12d1063adbb2807ea2faabfb985cdf7a559538704
hash:68307278c18d196c4725ee628b80002faee4f418f3da64be16f03c2f24c5dc8a
hash:69b656de3f24c82e27d4360a67dafcf4db0338ed83df2f527bb35d58ac99bbad
hash:6bf6e052f5d2fb050ac4264430ca65614b656bfe260bafafb889003d28f1fd95
hash:6cfb680d063378ef7b16f4a1d43947551cb97fd7d4dae4977e2badfe74576af8
hash:6fb137fe3829ecf0dbd9a55409fe087187488f2e3eab37a3c11f773ebf3e7665
hash:70f1a50a42c5c3452279220a4dac12ade7d8f38c4ed561163270b75070175441
hash:71be76a374b5f353a945bdb12a1cf1d3256f1a46be1d31386313a7fcd7110e45
hash:720835daaa7eab719c5413c3480ecc1dd63907c30983aad27130aaadd333f30d
hash:733f1beeaa2d3f5682e4f7098701eac3002646d16a806d8e0829fd797068230f
hash:735f7c3ed78a281b50dfb57806418f6b831b8b78cf46fe8f1dd1af41cfd373df
hash:75477133ccfb810edac82b409c82bb80ea1659bf5497571796ce516005733c44
hash:764b78da623b9d7bff422a0577cbe3bf3a99ee183cccc777832830edbddb41b1
hash:79f43c3b9c23fbdf293bdba80dab38ba194fc1da79187091b3d3760dad840bf8
hash:7b3e53129febd47e44b460f4bde6179ea9e8d2e85465653272cbfbbc59a61f16
hash:82065707a7c16199d869878cdc2be14195391f6d9820a7d6120d27e947486188
hash:85aca9569dd3939698a812a1e74d05cb39ff7602e0bbffc7cf6cbe61b947874a
hash:8aa521afad23b913a6b19299221b3fef5d51733602e4fd1b2084a85efc40711e
hash:8cd5da67b0e08f4280e6c0f78faafe0c1ba39a6f3218e774d4d7aeef7f8b4bec
hash:9303e19f814f307b0e72ab2a4115ec8ba07c9e84b2c2332ffbb84402952b15cb
hash:9329db92b70356c6edc0c4fabed34cca7d8edf383647f9491b0a521953a1d129
hash:94c0de7b71a483caede642e9bd0dbc40c5a1690b2fabf3bcddf19193b46c1bef
hash:99bedca618d1113a5caf970adc7c11136b2f774ca8449258e40cf9cb90422554
hash:9ac7a641413a08ec5dee36dd699c76285e3455ae5a923a7f4a665a5b593e6d40
hash:9ee116138888a0eab6b35b19ea3e3eb9ed2056f659863c93773b9a932dde077e
hash:9fb28bb8e51420ccd832c43840319f26625fabde26e8765cfd0472d169fe8bbc
hash:9fb4a19158e9de94d73847ee0645f36226a22ea0f2683aff836e0b7bff58fbdc
hash:9fef4fb402a02300596267a332ca8fd6d8f3d303045999ced07cd64a91b9f92f
hash:a0b034cb1d8caa8a41101cd2c8132d0173810f958809cf9c4be723ad73caf357
hash:a268725f8cb345bce8b5a97311f100c297c2f79afd37111a780643698cfc46de
hash:a2a37fd9acc0a7709bf995bff2379fa8561db0250b48c38cef2dd89487b5fe8b
hash:a562c62b6abe32ba628fa45e9bae2bfc8973f2d5a437e6d4ac89b0ca8985d1b4
hash:a58bba2cc561bddbc30505632528c8aec0c367b859555462f52fe4476dc4d4bb
hash:a6140d3145515e5a5c81a5a8818ba92e76cf2b6cd81230e4f8472a411ef8a4bf
hash:a6835e3e01566a937af45890e1534ddc60001c6548829806f1a64decf86d7b7e
hash:a87089f003fb18e26d66d60fad6b0e0659149ce742a6f6c3ec9edab07723495d
hash:a9a27e2c454242b75bdf8c8a8a7b2ae78a031ccd39aa4a7bd7fc53aecfa531bc
hash:aa09fc08c924ad3a4ed5753e4c8c1de10bd5addddd64c0f8acda5ff3c141cd47
hash:aab6089a19b09bd61033069a46a14c76a8873d3bc3f7b735368998c8a9eeb491
hash:af7439e4314e7f0b2bd4513a828d59533aac634d0a969e32b78ab870d529b58b
hash:af7ff1b9cd85a779b1a3816817037586184d9b49083e8a2b65ca057192b3e8a3
hash:afa36a15d8640dca3bbfa07feb397bf4f17dd30a1a9a99813dfb68303201ccf2
hash:b02356ac82aebf6d4740820c4e680c4333c9f64b97c4de2a11d7c786c5318da9
hash:b0c133c8d9ecb16ecee2de43935b769132232b3cf4c919ab91e223bd65f8c1c0
hash:b234422588d3235072beb50f3b5b0c47a658dfcd4819e8132e6525f290588673
hash:b27b70594c9f2b9a930b93a7a9319f97f2a3013ec11864fa76bd6efb50dd2ef6
hash:b45a6fb1f008cc85df16d48345d4ca97cb57788ab272f3dec504add438f18de2
hash:b4b11a0045c828324233883e4d55e4a16a8afc40822fcd5359b71fbd18c12fd5
hash:b537b1df4cfa825103ed04d4aa3ff5febead501b419936c2d15506da59b32c91
hash:b6303e7f380fbe749d2efb30dac839400ba7982051279bfedb55ee134bc1b1f5
hash:b64ba217d95e8f030fd632d75e96fcdbb536ca98621d91a2884729ab3550b6c3
hash:ba656d1c627e5d225acd10ce9bf37872f93ddb6b93d8fd6ffe4cfa98261103e2
hash:baa7ca79fce6083f2e1d3c17639f9ef29e9d95c140036bbac440adf5ccc624c3
hash:bba705a47c53eaf37e963418aee3220419f900b926564d09c0c7aa8ad2dcc66b
hash:bd0ea55ff6295cb01e11f6c34960719f967eab984f761f272b894c786bd961c0
hash:bf4722b7db40f2615d1fb5307ac841e9b585b5bbdba3454118e0fbea1f09c5ab
hash:bf58a9922dd1282444fc6018f60df5a229e2be19e5a189d289ddbfcc0b8e34be
hash:c08c40e757c6ba5e044c73054f96c4b540c42b81e731451a5f40a21ffd9fe373
hash:c2e2d0c56ee6f16dcabf0cfd6611c9b9d045e57bef604946a0da2079c214ca76
hash:c2e3eca817c33c2654c0e36f74948e04b99f8de454dd4eb514e9ce4c50568a75
hash:c3eafeb8f695e62cb928ead444e8d155d61c7dee93587656109d4681151cb9f9
hash:c807966f8630d8d9d4e5b03d702959c1d856850c76c73cf620cf4bdec68b3b19
hash:c9f86b49cb9efad947fc328d9a7c915bbd1e1cab3d147915aacfd163a93d3fb1
hash:cc6acf934795805fa180cbdaa15f689b0104d75746d776598bedb40d71f4d7b0
hash:cd372fb85148700fa88095e3492d3f9f5beb43e555e5ff26d95f5a6adc36f8e6
hash:d1698322763b9543bdbf10a744292dc1b353aaa2c68ed7948867a76f7b1fcc93
hash:d3e8a3b602396c60889866c840cb936381ed9e7c60d9e520671495192983b66f
hash:d46b11dfa71ad1d618300793356457cde279a1fc5018f456f815fa9d5248224e
hash:d506f8acc59482e0d5efa4ba31d805c699a4f3b9520fcc363f56475e6e4ebc4c
hash:db88842693f2722f55fdf62113df834a2f605e37807d10954ab59e5707b16eea
hash:df1cb089d0a72424656e34772fa95fece84bab93b0daac3729c5186c149371ce
hash:df7913cc4c1bfe8c38777e5e41dc1f56133aeaf3e2211f441addcded6cc286e2
hash:e414dc6273262a817aca7be7300e52c66a7b2da61eebf2d79c174c5ef3888dd1
hash:e4e3e2ea88d0fb422b75ddf2be9e9114e719c31de89a2439c79d65b10c88b8ed
hash:ea7a41698e1cd6a6d1e5429155643e7270e27d9c048ac5670eed9e5490f8df6e
hash:ebc5e575d11c4b7cf51afbafdaec4feaed482946df1e5f09a164b89f463c83c1
hash:f017c2c7a283a08d033ba3e1c185fdc7428109382dfc18e2691b136567e3691a
hash:f215faf9d88b7f0a881632ee22459ee452a296c808d261b6cc993d3a1fd0600e
hash:f3b3bb0e5e65dfc51e40d8ef543345028537f01774a13f8bf455b3d1dc95f728
hash:f498be9891483c0c71ce5116e12f63acf3ee52d1550e734968a199e031bfba86
hash:f8003ac36ba4b1c8dad046c76503551ed03534ba810197f0801ca639e0e71357
hash:f80fa846f1787a9411e455d0eeac6c271c0ee498a01190e10bec396a6dbbd9cf
hash:fa0711ddc31e9c34d754f8326fb7e11847690b1ea680cb1f8ee312ba55b1c220
hash:faaa7b43e631a9e9a3242da86d987ec050a9f0db84884dbddce714774b2f761c
hash:fcf0fd485a95ba44c73b7cbccce86d9ab49ee55d3065c38ff0fcb4385a4f9cdf
hash:fe41e95195306260b2f87b35d6ee8eb410f878f6da2f45ce28292874a647cab6
path:.keyhog-cache.json
# KeyHog Ignore File
path:laravel/
path:linux/
path:ml/
path:output.json
path:react/
path:ruff/
path:run_decoder
path:scripts/
# Docs site: regenerated from detectors/*.toml on every build, embeds
# the example/regex tokens from each detector definition. The example
# tokens are by-design tutorial content, not live credentials.
path:site/
# Engine/parser source files that document detector regex shapes and
# reverse-decoder fixtures inside /// doc-comments. They are documentation,
# not credentials, but the hot-pattern fast path matches the shape every CI
# run; suppress at the path level so the keyhog dog-food scan stays at 0.
# (path_filter.rs moved out of pipeline/postprocess/ - keep the path current.)
path:crates/scanner/src/decode/reverse.rs
path:crates/scanner/src/suppression/path_filter.rs
# Pinned v0.5.34 dog-food binary over-captures regex shapes and the
# deliberate "this is NOT a token" counter-examples embedded in engine
# doc-comments (simdsieve_prefilter, hot_patterns, engine/mod, har decode
# fixture). The unreleased HEAD validator already rejects these. Suppress by
# credential hash so the suppression is dedup-proof across every file that
# quotes the same illustrative shape. Not live secrets.
hash:01c2c0cfbc4247225dbbe5fdbf59cecb4abdc6a1c6d78b7ff0c7a5b968fb40b2
hash:76cae95dffa6aec51be9c44c76b13fbfe3e42733d0cc70029ad0d446363bea5a
hash:a512490443708200a01b906808533c7805ee830c2af612b57e7ef47cbba8e1d7
hash:d958bea220901fe230d4387420fc824757df47783f2d79ef7cfff99bff31ba0a
hash:d87feb2a98b486e4ced10e33e459d82fad6df7083432ab2548e5d5e67f943e73
hash:381a4f9e363361fe674d68bee7f8d38045d8a60e24f1aefb5b9e3bca7084163d
hash:cd757e6a240a57d33e1c1daac2f2a1511ef635c9bee7eb88785d6498c9f5fe8a
# engine/mod.rs WARM_SAMPLE: a synthetic string concat (JWT fragment, base64'd
# AKIAIOSFODNN7EXAMPLE, a UUID) used ONLY to warm the lazy-regex DFA caches in
# parallel before the first real batch. It deliberately contains secret SHAPES
# so the detection regexes touch their transition tables; it is not a secret.
hash:3301c53957d9fa995b5ac610c71ba113ec0f41615a0e215c1b119181c34d6b7d
path:tailwind/
path:target/
path:test_extract
# Test fixtures and data
path:test_prefix
path:test_regex_multiline
path:tests/data/
path:tests/fixtures/
path:test_walk
path:test_walk.rs
# Benchmark tooling + fixtures live in benchmarks/ now; the generated corpora
# (benchmarks/corpora/, benchmarks/results/) are gitignored so the dog-food
# self-scan skips them. The retired tools/secretbench/ tree is also gitignored,
# but reproducible/generated leftovers (mirror corpus, ad-hoc result dumps) may
# still sit on disk there — path-suppress it so a local self-scan stays at 0.
path:tools/secretbench/
path:tools/diff_bench/
# Committed differential/leaderboard baselines. The *.json files are keyhog's
# own structured output (credentials already redacted), and differential-round-*.md
# is a TP/FP/FN/TN comparison table that quotes the credential SHAPES each scanner
# (keyhog/trufflehog/gitleaks) surfaced on the TEST corpus — documentation about
# findings, not live secrets (same rationale as CHANGELOG.md / analysis docs above).
path:benchmarks/baselines/
# Mirror-corpus generators assemble SYNTHETIC credentials at runtime to build the
# benchmark fixtures (providers.py: "Every secret is assembled at runtime from
# fragments that ... never match a detector heuristic"). The full-feature
# (ml/decode) self-scan reconstructs a couple of those shapes; they are generator
# templates for fake test data, not live secrets.
path:benchmarks/generators/
# Tooling
hash:03d104c669e3c7b6be7f989db8b12c8b910d3be8c1e2a73c9369d3cc0ba803b5
hash:091652c1b31bff45e34cd898488baa49a69db7a06884c9fa48b219f91517792f
hash:0a07bfebffa769bd0175715e3aceb670d9721f97a5adde6d2dd257b1799f5bf7
hash:1297e216ec6b95fd6d70243ff494e9602b5a133e000c532507fefe672f5d9db3
hash:199163e14049bac77807991e8490a34c2e2ca6781c96cbbdd4baf086f7baab10
hash:305a1a0ed9a4b5ebe2b7c01c24cc68708d1c53b650e4e81243aefc059e69fb9c
hash:33b413e55cb0785f7d7b466503b936d77dd35480432f6e2a8b094a764a23e657
hash:39d479ab19957127eb8c40addfe82372db196387655cd97626ee7053c9ba2965
hash:3efc59b5952b2b54eb30db7608bee9f8b51906b308e5e3109591cff24e62a18d
hash:5241fd13f472029ed3b6ccbe4752652561dd2902ba67e1731403d6de5435e404
hash:536162d6367b53df1f0cac94abd0812082c9054fc921fabbb3282fa2cb6c8ffb
hash:6634ec1802542c19584841ac1e75ea04369825dcc012c86a6c2646a6ed26b47f
hash:70afe56a123e07905257583b315e619484248ac7d3032161220430af3312d057
hash:72f203a86f597e55eff804577a19d190106cb73700be6ad0d4fb2ba715513c72
hash:8bcac7908eb950419537b91e19adc83ce2c9cbfdacf4f81157fdadfec11f7017
hash:9185907d7516d470df3d4a65f7224de6880bb984eac50ac97e7c19f32553441f
hash:9ad3eb0516713f264c5c9dade5a1973f6e75540902b9d68b9bcf13341a4786ae
hash:a38cc42fd4ac46ec596728860189148b6933415ed7c6a153f413cda2a4b9533b
hash:a911455066b5424380caeeed96e7e48d5b157f3e799fb1fba670d5556a3f2e4a
hash:aa44abc7405c2d482b1d9b86229d9b113101740d347eb6eacf6bbe71176d1ae9
hash:b073aefd7c9215dd0179def431a8e7b5b1c39770f72ab676e9d9bd4a466268d1
hash:b5177f693f661b0996e179d5bda5ae770ed1dbbec92a8895c56ffcafc41354b4
hash:b59a2d952c5ccbc5aa8fddc15f7b73c128af9fd568ddde6872edbfc96d2de255
hash:c4f694a5a437281edc2e11bc57b5e50e093f9b54d4dfa8e26e163ad20ffe9f1b
hash:c6a0581b815665905d56e77047d9ad08b200d75d7dd7c84e052a5e7ffe23e8ea
hash:ca0088c82832b0bc60b9243ba08a072cb7286d70399c7e324809459acc6fbeb4
hash:d441c8895cdcd9f31d8bb818bad5d16e97b07aa86704c9370363f6a9431360e8
hash:da3dd7b4bc4bc03d80d8ca048f85e34a11919f4ffdbea1077d4a28762fdc7511
hash:db7b6248ccd32ed7c16aef552bc1fa1bc6ceca8344c66174cc2621cd067452f7
hash:e1bd4d304ca8a683e37d0800df4b21868aa292320c8a073a7bd6202202d24536
hash:e24897816e2d61526e61bf2041e4d1c6747cc5129ed1d52f00fb02167bfd0b0d
hash:f4913b0dd2685cbdf7af5d2fb5c8b21c1389ff106f99f4f4296d3ae3b7ffda17
hash:f6dc8f29e382dcc29478e74e5419e82c8d03453461b06224b9f8d573cc2bd79f
hash:f9b149f9188fb49b28ee28794382c1d4bc655f6b5086e01da4d5308372fbb87e