练习 3-4 垃圾邮件分类

[1]:
# 定义一个提示下载进度的方法
from tqdm import tqdm, tqdm_notebook
def progress_hook(t):
    """
    封装一个tqdm实例。当结束的时候不要忘了调用close()或者__exit__(),最简单的方法是使用with语法

    示例
    -------

    >>> with tqdm() as t:
    ...     reporthook = my_hook(t)
    ...     urllib.urlretrieve(..., reporthook=reporthook)

    """
    last_b = [0]

    def inner(b=1, bsize=1, tsize=None):
        """
        b   : int, optional
              已经处理的blocks的数量,默认为1
        bsize   : int, optional
                    每个block的大小(以tqdm的单位计算), 默认为1
        tsize   : int, optional
                    总共的size(tqdm单位),默认为None,表示不变
        """
        if tsize is not None:
            t.total = tsize
        t.update((b - last_b[0]) * bsize)
        last_b[0] = b
    return inner

1. 从Apache SpamAssassin的公共数据集(http://spamassassin.apache.org/old/publiccorpus/)中下载垃圾邮件和非垃圾邮件

[2]:
from urllib import request
import os
import tarfile

DOWNLOAD_ROOT = "http://spamassassin.apache.org/old/publiccorpus/"
HAM_URL = DOWNLOAD_ROOT + "20030228_easy_ham.tar.bz2"
SPAM_URL = DOWNLOAD_ROOT + "20030228_spam.tar.bz2"
SPAM_PATH = os.path.join("./datasets", "spam")

def fetch_spam_data(spam_url=SPAM_URL, spam_path=SPAM_PATH):
    if not os.path.isdir(spam_path):
        os.makedirs(spam_path)
    for filename, url in (("ham.tar.bz2", HAM_URL), ("spam.tar.bz2", SPAM_URL)):
        path = os.path.join(spam_path, filename)
        if not os.path.isfile(path):
            print("from {} download file saved to {}\n".format(url, path))
            with tqdm(unit='B', unit_scale=True, leave=True, miniters=1) as t:
                request.urlretrieve(url, path, reporthook=progress_hook(t))
        tar_bz2_file = tarfile.open(path)
        tar_bz2_file.extractall(path=SPAM_PATH)
        tar_bz2_file.close()
[3]:
fetch_spam_data()
0.00B [00:00, ?B/s]from http://spamassassin.apache.org/old/publiccorpus/20030228_easy_ham.tar.bz2 download file saved to ./datasets/spam/ham.tar.bz2

1.61MB [02:16, 11.8kB/s]
0.00B [00:00, ?B/s]from http://spamassassin.apache.org/old/publiccorpus/20030228_spam.tar.bz2 download file saved to ./datasets/spam/spam.tar.bz2

1.19MB [01:13, 16.2kB/s]

加载所有的邮件数据

[4]:
HAM_DIR = os.path.join(SPAM_PATH, 'easy_ham')
SPAM_DIR = os.path.join(SPAM_PATH, 'spam')
ham_filenames = [name for name in sorted(os.listdir(HAM_DIR)) if len(name) > 20]
spam_filenames = [name for name in sorted(os.listdir(SPAM_DIR)) if len(name) > 20]
[5]:
sorted(os.listdir(HAM_DIR))
[5]:
 '00536.ee0a85c68f0db6388d6f8a3468af70ac',
 '00537.0b676300c214afdc2dd6a5007e8b8e2a',
 '00538.313057481a3b1638c05066fad46ae65f',
 '00539.f3a3a009e8410ed004b045e724be525a',
 '00540.c9e660864381381e6a16c599c8f2e1fe',
 '00541.cbdcefd1a6109b8f95e1c8dddfbd7bb2',
 '00542.1db9cca8020648c0ed80436b9aea4d33',
 '00543.0641e755767b41b404070e155708cee6',
 '00544.5a9365cf80100b89b50656045cb8b80c',
 '00545.99996f28814c7028ce6aac44270ff3cd',
 '00546.30fed3b8e986dc41b1865b9285e84e56',
 '00547.59bf01e07cf08c7e3a778b747e020989',
 '00548.120e45c5d33311bc09e844bf236521d2',
 '00549.a847ea8934802a0ec67a7fd1d136d26d',
 '00550.02e6c81fb637ae555b997d6fd72df731',
 '00551.1c59fd8e4f3176c859b79b9a75fcc3b6',
 '00552.2a17c933697e682b93c2f32b66230a3b',
 '00553.d1e0ab732c8cbe70432e98301e352954',
 '00554.a01a74aee9653a7ae8d1d558c75f0a5d',
 '00555.4139b207075574b3774942a3a42013d8',
 '00556.eea9a26e128c1b4b676b4180adbd547a',
 '00557.62ed7b82fd342ca4d7932ccee2552337',
 '00558.95b8c2677759a2f569a5dc0bd70b8cc0',
 '00559.caa975fbe7e1641a76de679bdf213adc',
 '00560.e49654efbb65ad7539d43d356457a322',
 '00561.4fb75fe802e36488a6acbbcccbcde3c1',
 '00562.3f2a351171504facae22864c794c26b6',
 '00563.8c8efdf5034a0ba771e48494fd2d8099',
 '00564.e6fc359c277f507a2e01198b9c60ae61',
 '00565.4ef76da45577ee17827cec345ac543b0',
 '00566.4ce66e249726f98555ef3a7ba1f666d5',
 '00567.aa0b1a5ccd63ce58ca09389b7dd7a5aa',
 '00568.e5478bfa670cbd9bc3d26ed23e7b3eb6',
 '00569.d6da87140fd0ef187bcf217a57153cca',
 '00570.d98ca90ac201b5d881f2397c95838eb2',
 '00571.8f35c46bee6d7a238eabf207a5696b0c',
 '00572.c406ac5bc5c42bedbce48f5661d29976',
 '00573.f36b8bb4af93f6b0736e7475eb6cbcba',
 '00574.6c736036ab8317e753dae53ef19123e9',
 '00575.c4b32c1dc29245ce6298f5abf2f0b085',
 '00576.36892439c0a6bdd5b4231b639b639399',
 '00577.8f3db8ab8b69d38bddf8e5a91b353da2',
 '00578.8c710aa944374d631b9969a806e32a30',
 '00579.566d8e05220571bff1c2f392a1c7bf41',
 '00580.41f4f9793351fe7c7d3abe77cedc5528',
 '00581.9922b0f34aa8f51fb4adf4bf4ecf1464',
 '00582.25153a03da1710fd133d6ff373d612d3',
 '00583.7db5166f3ec5a8bcf81bf1b639b48361',
 '00584.1994033689471c5000d715aeaaf7be24',
 '00585.a55a40c5fca535871d78848d27efd540',
 '00586.7ca83d6acc8e5b0e44b78a4fe8bab72c',
 '00587.8d78332c747a44bf017724d66bf71647',
 '00588.708ecb20113d4c80b91936cd1c86b186',
 '00589.38f809ae603fbabb0d3f2389011e9150',
 '00590.3b596d6b2e6ad9b9f5cf3593a398260b',
 '00591.3bca4fff29ae5e89e2e2948401a24ab8',
 '00592.9608ca87c212f35feae1ebde5567c0e2',
 '00593.f71a708b88b51c4d428bb3bd741ece2d',
 '00594.805dae98d1ad6f99a7792418c1faccfd',
 '00595.7182665eb052808e2061bacbc75ed5ee',
 '00596.73c2473a9c778e096f3a9160d72567e9',
 '00597.d69fd43248612845c272cc277b890e1a',
 '00598.583ed313ddee00f0dc9929f76d3bb24e',
 '00599.94c013ab7037d45045aafbac3389bef0',
 '00600.a1c1bac6e4b69ad676c35512fec98e05',
 '00601.3db4b70f50e83050fcec38b75dee609e',
 '00602.2dc7ba42179a34e52badfe383f7fe08a',
 '00603.712b15c7b1e7bef7235068a3e4d9bd39',
 '00604.2241c022167d341022d1f345689801d7',
 '00605.63a8dd42dd6ce5499718d03acfeb0746',
 '00606.9733a34d34069bbc9671b0292068449d',
 '00607.5032b5e20289cecc351fc872b92c2003',
 '00608.36856bbc19336f3fd57897105b32c720',
 '00609.07f3cfa331e44f1fc138217fc9f9eb86',
 '00610.ef7ca9c067516bdd7e29aebc488d1edd',
 '00611.62116da308e2b9eb2e57ee12de12b677',
 '00612.97d0559a45fd4630e954b8687dfff55a',
 '00613.b8dd681e75a5583349b54f16991b096b',
 '00614.2487f80400eb954b7c3ab257771ed393',
 '00615.4762e05d7ff70fa43cccbad6745b34cb',
 '00616.1111fc61de078f069db9d72e961ab5a1',
 '00617.5433c6be9644f6d773afef39392cb24c',
 '00618.bec430e993398552fbf09c76e04b9994',
 '00619.b2a33ba25583113a3d435bcbc8759244',
 '00620.8d1ccac5b4a36e47f5f168c19e6ac573',
 '00621.2b161b5c7c09b45b568c1982ed49a008',
 '00622.80ded6eb7b17a2bb45d502b85244dad1',
 '00623.37932984e4241279e60e9c28f7fd6706',
 '00624.2847b091fbcbd97af477c23439e0f22f',
 '00625.bc9f45777515eeeb8da0c8898c0526c4',
 '00626.349d4ef602ebce0ec03f1505989ab135',
 '00627.fcd38764f184dd61db99e15081590e7c',
 '00628.4a185fee450d8239cf82bee902dbd1af',
 '00629.370fec99ddca8da57ef5cb0bf30375e5',
 '00630.d4dad4b8734a30afbf8c80499e652c2c',
 '00631.585978ee5a109ebd04ea2289ddaa3f20',
 '00632.5aaf2a16e34b00ee971d17bd4343e61e',
 '00633.a3d861bf0435fda936962c572ce0956a',
 '00634.3215eb7dfc919ae5ca49520f9fcd43df',
 '00635.b30f8636725812c0d15a96f31c07f8b6',
 '00636.f15c6eabe3d5204cb8704b0a4b845403',
 '00637.0f0bbdfd5cab1e45883719f70f691862',
 '00638.62a452b9264fb77572bb34181f71a325',
 '00639.bf2aca6432694667dc120fff4224e5be',
 '00640.bd6aaf961fe455813d6cd9448c29f312',
 '00641.96719d053974ef201283237fc146f384',
 '00642.19131d951ee16af5a157685213dbc7b8',
 '00643.25062169a6a9d2109b047a95c633f885',
 '00644.47e9eaa5c1cac5f991f30201ae7fda6e',
 '00645.2d95a6a89614625aafb7b333e799e111',
 '00646.866a1abeab0f141ef2de39b398134d0b',
 '00647.7d9cd4058b01e8b7f5f788e7fc159aae',
 '00648.d3808dc202cff72d0326d74d23eaad17',
 '00649.b630711c0f63812f552cbe85b22f4568',
 '00650.2c20a3ae4da8ff5186f738ee5d833fda',
 '00651.10adacfbcf0526d9aa331dbecc1a9509',
 '00652.dde353b33fdd09f8daa33ffcdb016188',
 '00653.5bf375439fd118575f08b85000c0d3c7',
 '00654.820dea38bee9162874d734e791ef5ab9',
 '00655.cf1f1255898932a567c5f7c39faab3b9',
 '00656.7d0db073b656ae5ecd234e0c59e97623',
 '00657.9095f1e5c94587ee44a269318647bf4d',
 '00658.b990e54a957ef200aa8d668dff83e83c',
 '00659.1217006d88c29f2f900a9406c51feb64',
 '00660.91d1af396b1bc7b8703f5fae9de020d8',
 '00661.e779083f6d4522af5231edf0b9371a1d',
 '00662.020708cee6e991e3c3a58aa83df7f8d0',
 '00663.cbfae39e27122415329840060e7619e8',
 '00664.dd3769251f79f493bd990b8c3f870f24',
 '00665.f1547d981d26d8c8ccfa9375dcd7d222',
 '00666.9f288224f19ca69b2663b5b9a85d8d62',
 '00667.dfa0ab3eb4214034892b8cda76d9d750',
 '00668.c788422df192a179d3a6ddbcb8b8b612',
 '00669.1324e7460b86ccd5cf81ea949704351d',
 '00670.be029e37187b8615a231865e3663dcf9',
 '00671.daf16d838d9b71f5f6cf09d54ebc1e3c',
 '00672.f7e4f9c91f81b7506b0e9a22ef1fdfe5',
 '00673.aa68749868d6679697146490282dc908',
 '00674.6dcadfb64e1a333f826a1c7b5c722f5f',
 '00675.2b3aefd8378ddbd20396c4b9d961a0bd',
 '00676.5a7325cc70b1732867ec5b831da86eca',
 '00677.b957e34b4dd0d9263b56bf71b1168d8a',
 '00678.28c4d8cffba35f7a4fa077efb4836fc0',
 '00679.7c3eae8e28aadb8ea378fb5c04bc5d29',
 '00680.fba9fe0db5780caca8155fb4defdc679',
 '00681.fd01c0551b4b72201697bfbd55bccd25',
 '00682.7b96194cc45dfc4d54679a198dda3244',
 '00683.7d0233053c9421fe2bf29e23a4aa5b18',
 '00684.1969c6baadceb721cc2a565b93e7f63f',
 '00685.0c2b26b54c5bb9e9072515d58ccc14ea',
 '00686.24376d10c9d96b5aad34a8ed8e6b7586',
 '00687.a044e978152b1411bd3ea6ddc0f537b2',
 '00688.b05bdac7f180a6947d701b974b413dec',
 '00689.baf30774fe011781f6822746345015d5',
 '00690.f56ab439b3ce565dd3fbbefa5fefd0bc',
 '00691.fe0daf79c97e1e314de953d18efc37e2',
 '00692.9761f9740766106c5f982e773069a76d',
 '00693.6849440c3e1d1584a9f05b067d0062aa',
 '00694.d04cd6e81d2ff9a678a18607d32e229d',
 '00695.4ea4110f03a11a6f24b27420647d375f',
 '00696.767a9ee8575785978ea5174d3ad3ee26',
 '00697.edd28212eb2b368046311fd1918aae7d',
 '00698.09cdefd75c1242540db1183f9fc54461',
 '00699.29e599983f044aee500f3a58c34acffc',
 '00700.7eee792482a5a8cf20f1e4225f905f6b',
 '00701.4c1a296394c3afdcb38020e8283d1a5d',
 '00702.bf064c61d1ba308535d0d8af3bcb1789',
 '00703.ec6e20ebdbfec16d51db2989785583ed',
 '00704.e077ad131955ba1fa3b9ba7a68b78f62',
 '00705.e481bd3281b960fad92e6dfaeb567d14',
 '00706.a5e10c660dcdf09e6e760d87c0589b9b',
 '00707.72dce8440a545f840d53765a11adce4f',
 '00708.d3270ed75122fa3989cec02ffb5b3066',
 '00709.ab6879788945a66541ed05b4f23edbed',
 '00710.ab32156df4d26cf061b7e553b51547b5',
 '00711.cd5fd593ba9d0f75c0af12f4fd2d64f0',
 '00712.89e45eecae00da0b8207bc79d2e843f1',
 '00713.7b4a3ad6c8b6bbcf358ee5ee23dcdc12',
 '00714.16c4d34ab2c9622fe82de9570946f9ef',
 '00715.ca0843463580080429cb2d0192b9ce0a',
 '00716.c0e0c922db8f605b6475839d8fec9985',
 '00717.041b5d95813b24c07616f52509bb9fd9',
 '00718.1fc4cf16dbe6d0395c754671b24782e1',
 '00719.6d73cfb0bea6fe5002fbd3b260d480e6',
 '00720.60fb431980df487172ca5ba412bbedc4',
 '00721.9f0c973b343b808cdf4ab26c9e9b3b50',
 '00722.6520838870f11a569a006ac7e119782f',
 '00723.e72e8e80f67f30983c089943e184f5e6',
 '00724.06d186a9890c1bc07b1e0bd89b7efb8f',
 '00725.5d2dec63252bb5fc57f3de280129656a',
 '00726.96933510684f33c2eea5711f969fe444',
 '00727.ea5bab335cc61c1d3d85a8566232f5e8',
 '00728.b5de363dc254b32b4a44fc37743d9322',
 '00729.d8f3ba695fd4f3c1ac6361f2e118ae55',
 '00730.b2c9b979063d66d1a14f8d834a1c6dfa',
 '00731.23dbba60cc6ea56f735599461109200d',
 '00732.3ed34429d759468e94c14ca1e2bb231c',
 '00733.8cd99b24ae020e6028d85ad0c4f06186',
 '00734.e37922bdfd9e3246c18322e4b07a4b23',
 '00735.97b119b8e994bfd0c9a3455b407e52a3',
 '00736.ca47a5a3b86318e4f1ae4d6bcaa7fc80',
 '00737.fe2d8d182d9bc421411c9ca9012f3afc',
 '00738.5c6ce770da4cc06ebea777b8be30abaa',
 '00739.9034df113ffe0cff225c698efcea7426',
 '00740.aef9889d927eccf01a365d72db48882e',
 '00741.03396e9c6182ba4f821ba2cd3740d1e4',
 '00742.1be305d2baafb0b3699c2750ee546787',
 '00743.1ee0d64b26edd4ab988d5b848232f554',
 '00744.667c8aba4400684b27c339f72ad86968',
 '00745.d2df6fc9d5de220dc9b34cf04addf9e2',
 '00746.0ca47650bbc1a73fcfdb519b04fb635e',
 '00747.39967f26d6c1cba3713e2b9f318d0531',
 '00748.d6ca40c29f4224487fc8d802cb5dca88',
 '00749.5f32bf86d99139f3256aa4afdd607f58',
 '00750.5bf605243948976794d149274a18159b',
 '00751.1e509bcc1e777532f90081474defea62',
 '00752.3ce51c783c3d6160d34de35e429dc470',
 '00753.880e08a60a1c96760d26d37f2d6b1cbb',
 '00754.35836a337d451aa3b7cfc7a7e617c2b2',
 '00755.798a2e0b9045d90a9bddbb501dc1fcfb',
 '00756.286dd5a4431bc1a94af390a6bf4d0349',
 '00757.0c98cd042bf54bed37dc526f0b57bf26',
 '00758.af02ef2952273218fb9d6c7ddbec7910',
 '00759.1c5ec35412195e0c2d80ae829d68e8e9',
 '00760.705760ac23c26098abf407bfdfd30499',
 '00761.b4bbbb76fb1fa8407236f5cb167c33d8',
 '00762.c95ecbfb41e18e9ae4b9aceb4a7de176',
 '00763.509a13b8ff69430aacaa8b786b322939',
 '00764.13a2828e7c0475a4d67413331b3f7b2d',
 '00765.ea01c46568902b1338c9685b55d77f6c',
 '00766.9ac5716a891643ea31d43388a282cbbb',
 '00767.d5b223070f2a19834daa88bc4338354d',
 '00768.ce54703f83eb3bf04a04f665dbf55e96',
 '00769.25bf9a767b5db0ed93f03c1637281663',
 '00770.b6b328aeb18316cabd60aa75025771d0',
 '00771.2ce14d08f77127e0720658404cc4ce11',
 '00772.ab8da3bd11afb162b0ccbd65edaf6cc8',
 '00773.d8b19e7b6c9a53f4f37242b3f1ca1276',
 '00774.1af9be3cd1aba6a371ee11dacc7d1025',
 '00775.0e012f373467846510d9db297e99a008',
 '00776.20cdc88a69e453f1ef0dd3b5f55cc717',
 '00777.5abc0824f35b966cf589b15c4f10f2d2',
 '00778.d83af9d544ca2957ea6f326728ad004c',
 '00779.d5e815dc2dda6819f41227fce324b31d',
 '00780.3c407d4d7361184c739b0346741036dd',
 '00781.f2f409be2c85d1303022b58db1551d85',
 '00782.6600ba2aef2816e4852a4c8e43130591',
 '00783.14a724489223eda0063e308c6914ee38',
 '00784.372fcb5f8a0507aa4a8fa0de1e76fe79',
 '00785.95b5f5d3a4210fd76015c4659c5b3ca0',
 '00786.ca79d7745b67c62712e5a5553c3b83e1',
 '00787.2ffb20c151e974ecf6dceb42547761d8',
 '00788.cae8367898a24746723decabdd20ac38',
 '00789.87278efee0d73a7e902af35c49084230',
 '00790.226ce4b62d85d7ca13f3f837b731b082',
 '00791.0150510afcb54992415d2eff33d5a8cb',
 '00792.f321af7901fa6c9e85362d921eadf2ae',
 '00793.6da29475fba399c38bb0a93efabcae5c',
 '00794.ce4c417f911968e4be6ee1203db0bd94',
 '00795.ea9b54832cc27bb552e483a6aefbde47',
 '00796.1c06b1656c17f8aa92a42a82ef0ad2e9',
 '00797.f9905519971d08a70a6d9815016f8295',
 '00798.789e730c08cdcd58675c1f273fe507ab',
 '00799.160a04b5935b5a9610b4dc15951b5d30',
 '00800.0a94761ce8069732112ac9fe52b14e9d',
 '00801.0a1ec38cd598d6c2e02323487c74e53c',
 '00802.c2f1957d9e67ae45f06a7c0845b02f3f',
 '00803.a9faabf181ecae3ece9f7003a005aeea',
 '00804.a27b268d92e03d488d534b6e69d98f43',
 '00805.15e21951a8e03def748ffb6b0de7220a',
 '00806.eed01b7d2bc05e5490e75f366a534353',
 '00807.ee4df461634d0e9d9c7ef72046c3fa2c',
 '00808.1398044c30f7120129aed031ce56ba58',
 '00809.93dfdb8801515083fde97a7fe6c921e4',
 '00810.a290b36b1210ae7d5ad8d224aef851bf',
 '00811.caf6de89b99d2266288dfeff16359be3',
 '00812.5c9165b987d6010d672516ea28ffe213',
 '00813.3bb7842dbc6ea433e2fa5fb94f3d2571',
 '00814.6095f126eed33df37a63e3a37b2728fb',
 '00815.141d4c82a4df4a06f0c0967a608109e6',
 '00816.5fa114769164d0ff93317bc714a3f68f',
 '00817.6dd747cab2629ac615233a528525bb8f',
 '00818.02224a14a25dd7014fd4f48518f48e5b',
 '00819.cbb61ae5d168944f5a02eccfd7217173',
 '00820.13f6cb2d10777d8b8ff18399657607e8',
 '00821.610507766f9b9a60431a96042fc135a5',
 '00822.9d70f64546100d8f04b7394760cf512b',
 '00823.187ae0372c96a338a86a19fc3215010d',
 '00824.77239fe11a4e1336ea49ba0bfc2de54b',
 '00825.49de040a4a48997da11b0e751d40c211',
 '00826.6ab31aba455701b24c69fd1f6dd59184',
 '00827.b863d1780c6c6ed248a3e9136bd52b72',
 '00828.709e1ec58a2bf04455cdf5c0c83f444c',
 '00829.7c74d7c59a6a5f0d0e54562ef671d14b',
 '00830.3a2cadbd29e654a7cbbf64ba4bdc378d',
 '00831.dfa70bbdaef79d5863917ba90097ba7a',
 '00832.e30b18b8b964c0252bfcfbfe2b99efd6',
 '00833.cc61a5d9b6ac040ef4ce65d1ee5ec069',
 '00834.a73f96c83f5f638954df85ede58a3709',
 '00835.9068443a73e2e4b91c9117ef9b022675',
 '00836.0270377f02e23355cca97c0805001c03',
 '00837.d989d85087fd0d2297bdfc4c4d9039fb',
 '00838.5d38f350c098436eb6d9cccda1e054e2',
 '00839.e4777b19e2429f9cece122c1d56998d8',
 '00840.fd947072df20db5eebb0d015f20073a4',
 '00841.d62d1f4d0dd8f02d0595dd52875776ef',
 '00842.85c0352fd0fd5ed7b6008fbe62b42bb2',
 '00843.0c778329d09499853d99746d0f6f2dc1',
 '00844.4af56580a8f02ae25ec39faffafba8ce',
 '00845.c74b7d7bdbbbab316dcb7498825bba9c',
 '00846.cd171eed5306de66f8ebf444aa61e718',
 '00847.f752ba326e2f6670fb6fecc5fd655d3a',
 '00848.a99e7c1ff97407816f4c0b323421b5c9',
 '00849.5ff774a5add00c6739307f6950b4ddf5',
 '00850.9435ce0e094b16d0f2c9c458f2900706',
 '00851.51d3571c945fd64a210d477de46e14b7',
 '00852.8be48f515c9ecb089aa3fc5983eaf038',
 '00853.8b209d0398d8c0f76b676097759e24e5',
 '00854.357b5bdeea553ec020631b131b7e2278',
 '00855.8e0647984e6592b6400021a5b87ee133',
 '00856.b71f98991ee068f642498810ba0c5383',
 '00857.cea46b6fc4077476d49923b4d56621e7',
 '00858.54a727ce6b2e452f05e2719d99393999',
 '00859.54a8c500034dd8056834ee17cec9c4cc',
 '00860.a2a3bca553c3ec8e6ce24f45b3f2a9a4',
 '00861.6e526bc95d6eb4736211696fec13d9f0',
 '00862.b3e793b7c8e41cd45a0eccaa7abaf722',
 '00863.f20cfe969a2e3162ce6ce19fd80188bd',
 '00864.95da38aac2ee9c6c8d36d0f2f1e8c8e5',
 '00865.ffa802dadbaca77b74f05cc1c23c30bd',
 '00866.670508b848fa453d194f443f4737b351',
 '00867.9e8b300d814c941ba6bbedba138239f0',
 '00868.f6059340a945c22b175f306ee79e674e',
 '00869.96acf5a2b0543fd7c1767e5562891eae',
 '00870.cf6be25af593cc88d0c7f58e7deccea4',
 '00871.f3bb3f8e157f00992af581a509234858',
 '00872.b037dfd3ef82cc1690c6692ed42c4dd5',
 '00873.9fa4518a4adfab3e6b194ee33a89b2e0',
 '00874.d9f0374ce55cb5e03ca46a5459894e34',
 '00875.b8e33b6137c804fbf4e77135aeae2283',
 '00876.f075a944de6d2290fd7a1965ac72d94f',
 '00877.fb94c382f9f10548db78b9d0339621e7',
 '00878.23aea042030421f155edaf41a36b3701',
 '00879.798415ecafdee535a11c68481f5d66b2',
 '00880.146f15b727deb84e2459cecd3fd67088',
 '00881.c1a373126fc964123ffbc018433b21d5',
 '00882.7d2cb3dcfbe9ae110726e656347c0628',
 '00883.c44a035e7589e83076b7f1fed8fa97d5',
 '00884.48ae15dc5f48f6caafa8c235d148782a',
 '00885.5923b3938b5b422e7d514cc4bf403316',
 '00886.6d792e0aa2cd6975ef5e050f7b0173b5',
 '00887.07d5efdf4a700dc6d1a7926e0008e57f',
 '00888.b1cc484869abb3e20ae3843f597dc307',
 '00889.8f1ca88d8dc661c9ffcd25a2104efe7a',
 '00890.85334af70442efdbf0b83768fb1d2eb3',
 '00891.e165e538480dcd42dc62b43b7622ecb3',
 '00892.9dc7dadb7e1258d9d1256673f2ae741c',
 '00893.6edf02e68e0e172b2142e5a75d467057',
 '00894.5b21597d342d44631ebc33acf460883c',
 '00895.0c7898bdc5199ca3efd6af04c80430d0',
 '00896.73f4eb6d676530f00ca391dd522034ac',
 '00897.116b99f81aa0d54498bca28abf4c29ab',
 '00898.611a5a9738e5905aaff6344c1cdaf32a',
 '00899.d7f9c80cf9bbd1355322a75886903b65',
 '00900.04d3fc4b18f2def855155994cd956529',
 '00901.dd49a05f9b0b28396c8a91b5b2fb0e2a',
 '00902.1e45b913616e9e1f42bab6b6f31ea830',
 '00903.49d4e076baf5a4d6272fa9a4e510dc5b',
 '00904.42d2e7951496bc3b1ee4b67185ce2746',
 '00905.05268a196c3e0e6464a45e41958a4554',
 '00906.bdc0d543b54cc81cf378c33bdfa39d4d',
 '00907.647447c8ce096234074b65ea25655a10',
 '00908.0be94e6d9ef62596e0dd488fc4d98b8f',
 '00909.777e83e14a0637cb3ffae7b5c8b0e77f',
 '00910.ba4833ce4dbc0ae64d1c148cf41aedcf',
 '00911.dcbdde154d9f25c1afe32f4b8f5f1f9b',
 '00912.f7faf669f2794a54dd91d62e7ac3b904',
 '00913.bc83c1f37836dee281cc5282e61acdee',
 '00914.a24840d53c5f49a00e66fa4425e4626d',
 '00915.22a9c52df39c264be488f62bba9d621c',
 '00916.1ea7a40e892220d43795fee49ab4849e',
 '00917.b633b615b29b9483b6e3ec54dd6914b9',
 '00918.4fb416f486e8b21ffe522b4074598b69',
 '00919.3ca1925f3bab9136611b8222f8cb047b',
 '00920.d7c069763cedddefa021e23cae0dd259',
 '00921.0407865778a278e577c287a9a04763a7',
 '00922.699506b21f6625eaaa1482c7fa034e1d',
 '00923.1a2af021ec7490b689a04ecd0226f9d5',
 '00924.4dbdc2c81ad764bfe29627498857b6f3',
 '00925.f32ef12bc4c8a7f4831cdfecd3b743e5',
 '00926.11b20c87f289b3743af174cd5a1d2c4f',
 '00927.acbc1da1de97d9257d57b4f46ed7a3f4',
 '00928.83cc6f8987cb3dd6090a8928f04bd608',
 '00929.8de0f155d0404d74ae006c0edff6b957',
 '00930.dd136d3d36e14ab324b79c3cf8c9e6e2',
 '00931.c27bf5c9bcb24c213aafe1b28fcbcc7a',
 '00932.659c11cb26c11baa33395f6f6c363ef6',
 '00933.20b1ef5013048f152931fb6c4e92e9ce',
 '00934.f9ba910a655535304bf26a3e281cb324',
 '00935.8ecbeab3ef30caba2c29e25744a2265a',
 '00936.e8fd8c240b680e948f85f2326cc87250',
 '00937.1442bfa30552275d60548860104339c3',
 '00938.e1a61251ecebf0f323c7815e68bdaa27',
 '00939.e48ae1c641ef0958595719db1befb0d9',
 '00940.2d6167e70e2aaa01e531409f1dbdd551',
 '00941.6805692546cf6517f808151dcc9dd6f4',
 '00942.727cb1619115cdee240fa418da19dd1f',
 '00943.c87bed16cca1b008f6e796a9e652ddbf',
 '00944.4c4f3aa0e543af3cab4859ad1b1b16be',
 '00945.e6eb589db145071f678c95f19b162b9b',
 '00946.36ac3a6b0fc1b34bb8c125fe75cff193',
 '00947.488310e3c7ba27ec9d99d390007b8c53',
 '00948.12717d1c7815c5e226f5b4324220dcd8',
 '00949.5a860f580179b99a227c4064ac28724c',
 '00950.552f3425d82204ce19d468127085b7d9',
 '00951.23649926ba46e21259b518be64d300af',
 '00952.61bd88dce9acd2fd68dfd2c2e2d9b675',
 '00953.39959392b9ccbbcbcacdb4211f2986f0',
 '00954.64e0c6e4f6fad8027420d8082164331d',
 '00955.34c902aff03e7a4911b6d5e378f69635',
 '00956.f566e64727b8f438aa73ee8d26e8f31d',
 '00957.7a0420bc5e7ed1ce8333c98dc766e702',
 '00958.82f86525742d7ae45f4e6a9df49fb674',
 '00959.68fb2328c01cd34b7e0f1763c85f9c66',
 '00960.c4805da3c25d516184adc9343144c909',
 '00961.509b19e210cc3cda4ae6615a47663d68',
 '00962.52e0a3b43febe264a7010803f7909f88',
 '00963.0cc9003be43ed6a642376156e98f5fb1',
 '00964.4c5e48c8c2668559fbc379616893f3a7',
 '00965.5732172f491041028b563a9c919d9b4f',
 '00966.2a4fb2559839748a35516c870f765211',
 '00967.e95bd7ad9ef796e4b8f762d898bfc690',
 '00968.747f6cb40f4a18a2e7185454549d06c2',
 '00969.2d5fb4b3c8c376b12157cc8e0a2e7111',
 '00970.b567daf8f05ff88b2cc4418bdc993913',
 '00971.5b0ba338d08a9077b1256678781e4a93',
 '00972.b94b5871ba0d2d042da63d0fcaa2fa32',
 '00973.42545038686536033b1032380502ae09',
 '00974.e075ae7ee23cfacb24d0d1b59ae5af83',
 '00975.23aa3095e145bf342502ee60bc602c28',
 '00976.13ecce82e8d787ee17ae688d4c70737d',
 '00977.8046655ae38293b58a69a94389f20020',
 '00978.a136387f15961a4f0a2c0ca583206199',
 '00979.9eef0c20fa5a680d5d4d5b752bbf9453',
 '00980.c44ba5c1509adaeba8e9e496c91aef25',
 '00981.3eb28c739b5443730f65626c58e3995e',
 '00982.4e1d46e8b99725e70515f1df7410aa44',
 '00983.42eb62cc4057d03dfd3eb1c8afc270e2',
 '00984.6f4ec805e2e78d5310e0a4ae931e67b3',
 '00985.e20b9f4f171d907fb8d8439584fe03b1',
 '00986.93b7eb74f26330872be1d58ec9d2b64c',
 '00987.88641ac821f19f26060f12197bc585a4',
 '00988.2154210bb53f94daded7a622e26225a1',
 '00989.59155225507b38fbee48407ebb6cc68d',
 '00990.ee34876c3873d8e6197432ad9c558429',
 '00991.ec5d16cf8c633a2f15b8f98a39c58a60',
 '00992.4a6d6d9013a804213fff718806aaae49',
 '00993.041d0d8e108657fd1ba5c605a10e2bfa',
 '00994.63ad3cd73487972bfc2eb3e78e2e7cf9',
 '00995.11200ae0fc914c7056dcbf7dcfb4c107',
 '00996.01a4386651fb07928d2314d8690e61cf',
 '00997.3e7c9ac060fb43183adc891520f41ce0',
 '00998.84daa7907ccbbee4f20c4da1288cb196',
 '00999.c78296e77769d280844fe48f2f3babde',
 '01000.bd0b18ad8256a7cb29f5508a20cd19ba',
 ...]
[ ]: