diff options
Diffstat (limited to 'srchr')
| -rw-r--r-- | srchr/Cargo.lock | 7 | ||||
| -rw-r--r-- | srchr/Cargo.toml | 1 | ||||
| -rw-r--r-- | srchr/shai.json | 2426 | ||||
| -rw-r--r-- | srchr/src/config.rs | 3 | ||||
| -rw-r--r-- | srchr/src/corpus.rs | 75 | ||||
| -rw-r--r-- | srchr/src/evaluation.rs | 8 | ||||
| -rw-r--r-- | srchr/src/main.rs | 9 |
7 files changed, 2509 insertions, 20 deletions
diff --git a/srchr/Cargo.lock b/srchr/Cargo.lock index 1ef3355..0aa5e01 100644 --- a/srchr/Cargo.lock +++ b/srchr/Cargo.lock @@ -86,6 +86,12 @@ dependencies = [ ] [[package]] +name = "json" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd" + +[[package]] name = "libc" version = "0.2.133" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -195,6 +201,7 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" name = "srchr" version = "0.1.0" dependencies = [ + "json", "rand", "rand_pcg", "rayon", diff --git a/srchr/Cargo.toml b/srchr/Cargo.toml index ec32179..509b6bc 100644 --- a/srchr/Cargo.toml +++ b/srchr/Cargo.toml @@ -9,6 +9,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +json = "0.12.4" rand = "0.8.5" rand_pcg = "0.3.1" rayon = "1.5.3" diff --git a/srchr/shai.json b/srchr/shai.json new file mode 100644 index 0000000..958e68f --- /dev/null +++ b/srchr/shai.json @@ -0,0 +1,2426 @@ +{ + "characters": { + "e": 0.1170769393081309, + "t": 0.08871243210775637, + "a": 0.07918373694842466, + "o": 0.07586756367346704, + "i": 0.07072779156631209, + "n": 0.06760240614264212, + "s": 0.06378478336818554, + "r": 0.0601493018031759, + "h": 0.046100289855317986, + "l": 0.04118633352672179, + "d": 0.03645113241918483, + "c": 0.030497349979259427, + "u": 0.028657070863253392, + "m": 0.02416607330136565, + "f": 0.02124090923975154, + "p": 0.020763241906222744, + "g": 0.02044063010412951, + "y": 0.01922770620329345, + "w": 0.01810683036334152, + "b": 0.014880168444340291, + ".": 0.011107312493314122, + "v": 0.010604088637819992, + ",": 0.010276069062304348, + "k": 0.008043300616898551, + "'": 0.004803402358827968, + "-": 0.00257439438900486, + "x": 0.002119700061614289, + "j": 0.0017236196675057484, + "q": 0.0010129566550910742, + ";": 0.0009934944664055673, + "z": 0.0009587005936313058, + "/": 0.0008355188264855267, + "=": 0.000102388811463909, + "\\": 0.000010561430533951644, + "[": 5.900402411010976e-6, + "]": 5.898173320564806e-6, + "`": 2.229090446169617e-9 + }, + "bigrams": { + "th": 0.031546577270869125, + "he": 0.02593952528282628, + "in": 0.02393200756506647, + "an": 0.019214380973102442, + "er": 0.018730569631770586, + "re": 0.01761680891354426, + "on": 0.015186706054064723, + "at": 0.013273874480571725, + "nd": 0.012890530394888232, + "or": 0.012763695631231331, + "en": 0.012351524950161391, + "es": 0.012043670898903626, + "ou": 0.011807815654808, + "to": 0.01175996215284042, + "ng": 0.011284004662824476, + "it": 0.01104362887163391, + "te": 0.010775125858531348, + "st": 0.010578105582648083, + "ti": 0.010522344648332273, + "ar": 0.010496904938199115, + "ed": 0.009829186573629953, + "al": 0.009697636679129174, + "is": 0.009695202972240257, + "ha": 0.009609557922163324, + "nt": 0.009003982274864339, + "ve": 0.008697555171098801, + "le": 0.008485072537310637, + "se": 0.00844157319923238, + "as": 0.008078313540504695, + "ea": 0.007813597860370633, + "of": 0.007770820456201487, + "me": 0.007648652882464814, + "co": 0.007152856310219987, + "ll": 0.007084089285322852, + "ro": 0.007047927728617666, + "ne": 0.006973937963096808, + "hi": 0.006867650115306241, + "de": 0.006764438946792391, + "ri": 0.006226567163907201, + "li": 0.006009651404708403, + "ur": 0.005902954649039628, + "io": 0.005810166401338565, + "ra": 0.005685567940767308, + "ic": 0.00560473390338156, + "ce": 0.0055575600345081026, + "om": 0.005507413828368227, + "be": 0.005498333253417693, + "ca": 0.0054499524012899415, + "ma": 0.005338165447551069, + "ch": 0.005300585403516653, + "fo": 0.005182191062476817, + "el": 0.005134221938281605, + "ho": 0.005084944308876129, + "si": 0.005082558542910865, + "il": 0.004996572266259705, + "ta": 0.004939412584994992, + "us": 0.004804408123936944, + "la": 0.004645396540346629, + "wi": 0.004560997954284646, + "ut": 0.004504010296334214, + "et": 0.0044978033567484605, + "ac": 0.004442217265801263, + "yo": 0.004436362833007068, + "pe": 0.004395601767685633, + "lo": 0.004280281285868183, + "ec": 0.004267523360068116, + "rs": 0.004232078097163376, + "so": 0.0042273742465368256, + "di": 0.004186421417520784, + "ns": 0.004172972578409263, + "ly": 0.004159357356092127, + "ot": 0.00415895972843125, + "ee": 0.004092984557323254, + "pr": 0.004010450027175031, + "ge": 0.003929900815276862, + "no": 0.003922066704341276, + "wa": 0.0038556600649204144, + "un": 0.0038043801969388892, + "we": 0.003764253643842259, + "ow": 0.0037503874366895335, + "tr": 0.0036515445323366705, + "ct": 0.003626781635243304, + "ss": 0.0035370559665472974, + "wh": 0.0035301468334327604, + "ad": 0.003523951174064337, + "ts": 0.0034648597555818864, + "rt": 0.00339446555933492, + "mo": 0.0033609407534305885, + "ie": 0.003298248125565581, + "nc": 0.003272148522718627, + "ol": 0.0032241455578714247, + "ai": 0.003209664578874222, + "em": 0.003199949491698884, + "id": 0.00317090857218317, + "ke": 0.0031684100040446066, + "sh": 0.003139735691592113, + "pa": 0.0030488791811087877, + "ul": 0.0030277372337783053, + "am": 0.003021197527781321, + "pl": 0.0030067109086754536, + "ni": 0.0029770749576955896, + "ay": 0.0029755295679213993, + "ir": 0.0029725572306549823, + "na": 0.002952013134842982, + "po": 0.002950024996538595, + "oo": 0.00292985314789848, + "fi": 0.002907117869870155, + "im": 0.0028181451556809163, + "mi": 0.0027770315835679237, + "vi": 0.0027137918651624184, + "os": 0.002692291770931713, + "ig": 0.002644587731843752, + "s.": 0.002608381054269247, + "su": 0.0025854117117313277, + "ev": 0.0025694699445899085, + "s,": 0.002537197242809191, + "ld": 0.0025182831384013547, + "av": 0.0024805649117046486, + "do": 0.002477953541392787, + "wo": 0.002463244137994655, + "iv": 0.0024367553676498204, + "gh": 0.0024291073803001783, + "fe": 0.0023605574995866434, + "ry": 0.0023388769218786604, + "op": 0.002333879785601534, + "ab": 0.0023021372540353194, + "sa": 0.0022904763293705808, + "bo": 0.0022584940931861066, + "bu": 0.00222475778320684, + "mp": 0.0021833847660952606, + "bl": 0.0021791293041075726, + "tu": 0.0021635851646270307, + "if": 0.0021370794739562016, + "ia": 0.0020992512651405297, + "ci": 0.002079172478293386, + "e.": 0.002067130846293765, + "fr": 0.002050343062852607, + "ag": 0.0020201995020928992, + "ov": 0.001970684988123496, + "ck": 0.001962227645180437, + "da": 0.0019612547264357366, + "ty": 0.0019050820641873863, + "od": 0.001895919707661211, + "ba": 0.0018808267768738636, + "e,": 0.0018770197035250372, + "ex": 0.0018591631194918752, + "tt": 0.0018397837061191827, + "ap": 0.001838023992215725, + "sp": 0.001824792297287804, + "rd": 0.0017758220538045667, + "gr": 0.0017625536981703237, + "ey": 0.0016690745371578072, + "'s": 0.0016519737276857456, + "go": 0.0016485417215631368, + "ls": 0.0016213986986131708, + "up": 0.001616962753148205, + "ei": 0.0015998957843281329, + "cl": 0.001593891888654317, + "uc": 0.0015578374940137649, + "cr": 0.0015311682401916529, + "ak": 0.0015232072268111072, + "ff": 0.001522739097791918, + "fa": 0.0015184187745545831, + "ki": 0.0015055424064725526, + "ep": 0.0014765635281521526, + "pp": 0.0014747586933793757, + "ga": 0.0014476325907554046, + "cu": 0.0014320687108945356, + "gi": 0.0014236113679514761, + "ht": 0.0013990656150417095, + "oc": 0.00138062809981606, + "rm": 0.0013723456002416132, + "rn": 0.0013715334245938636, + "sc": 0.0013641787228947976, + "pi": 0.0013303183305249024, + "ef": 0.0013275828778224123, + "ds": 0.0013208993490544726, + "ew": 0.0013056851559308292, + "ue": 0.0012760802255486223, + "ug": 0.001274625077513071, + "au": 0.0012698761060172016, + "du": 0.001263849649908726, + "lu": 0.0012455418571823698, + "t.": 0.001244594318926662, + "ye": 0.0012339542539302752, + "rk": 0.0012159735875064848, + "qu": 0.0012115094414981943, + "ny": 0.001191955184756889, + "ru": 0.0011676829771173714, + "um": 0.0011583683376572428, + "bi": 0.0011364875360916546, + "br": 0.0011288113481986875, + "by": 0.0011164792506028226, + "rr": 0.001097319801468062, + "va": 0.0010972972410334026, + "lt": 0.0010902894060172295, + "ua": 0.001086657176037016, + "t,": 0.0010854276323480616, + "ui": 0.0010571594077194424, + "ys": 0.0010431380975784315, + "mu": 0.0010431380975784315, + "y,": 0.0010315758748153292, + "oi": 0.0010289109234711505, + "eg": 0.0010282707711376812, + "fu": 0.0010239927487153335, + "n'": 0.0010210993729702254, + "'t": 0.001017086435655129, + "dr": 0.0010030905060031104, + "ok": 0.0010029636035581494, + "d.": 0.0009954255983274732, + "ip": 0.0009742328900190062, + "rc": 0.0009688465862440001, + "tl": 0.0009668443476679505, + "n,": 0.0009616582677505493, + "ud": 0.00096101811541708, + "n.": 0.0009502032070520805, + "pu": 0.0009268052162556267, + "my": 0.000910730906560582, + "og": 0.0009005956312897064, + "ft": 0.0008947693990388358, + "mm": 0.0008904377955841711, + "y.": 0.0008903842145518543, + "d,": 0.000886134392672831, + "r,": 0.0008710076212334941, + "nn": 0.0008661937884879782, + "af": 0.0008499869362393076, + "wn": 0.0008453141062104147, + "ju": 0.0008378663427183774, + "rg": 0.0008366819198987425, + "r.": 0.0008281794560863635, + "ob": 0.0008251873784396192, + "hr": 0.0008177790957082363, + "mb": 0.0007979315533163547, + "nk": 0.0007932587232874619, + "ik": 0.0007831629287772408, + "ms": 0.0007807123015623296, + "pt": 0.0007790061686911889, + "eo": 0.0007765470813132803, + "gu": 0.0007724044214988907, + "rl": 0.0007631490031797438, + "nu": 0.0007583295303255628, + "tw": 0.0007458818105020667, + "oa": 0.0007397961332526095, + "ks": 0.0007299372233063153, + "ib": 0.0007035048540481304, + "cc": 0.0007026390973680638, + "ph": 0.0006953718173533041, + "nl": 0.0006848445545302161, + "ub": 0.0006565904301732593, + "fl": 0.0006285731903802295, + "xp": 0.0006245151321958138, + "rv": 0.0006188242625529015, + "ps": 0.0006166669209885665, + "gs": 0.0006084154420117769, + "gn": 0.0006062468202301121, + "t'": 0.0005962920284365142, + "nf": 0.0005956152153967228, + "aw": 0.0005950878652365521, + "dd": 0.000576416285501308, + "kn": 0.0005681704466331832, + "jo": 0.0005637655217658745, + "sk": 0.0005624175357949566, + "iz": 0.0005554802021370953, + "sl": 0.0005442845864372132, + "gl": 0.0005427476568260203, + "vo": 0.0005348543247494536, + "hu": 0.0005263123801764202, + "e'": 0.0005023249980244815, + "dy": 0.0004994175220077111, + "sm": 0.0004977142091909028, + "tc": 0.0004968117918045143, + "ze": 0.000481603238789536, + "sy": 0.0004807431222181345, + "nv": 0.0004775000597358009, + "g.": 0.0004712056984657413, + "eb": 0.00045011451211324303, + "xt": 0.00044937283782380504, + "l,": 0.000445537563931654, + "g,": 0.0004383887261988578, + "oe": 0.00043440398942708614, + "l.": 0.000420709805588641, + "ws": 0.00041918133614044547, + "lf": 0.00041824507810206743, + "i'": 0.000404220947906724, + "hy": 0.0003988938652726995, + "m.": 0.00038840326315593346, + "e-": 0.00038358097024742, + "eq": 0.0003835612298670928, + "oy": 0.0003832876845968438, + "je": 0.0003820243002558999, + "bs": 0.00038104292134820243, + ".'": 0.00038014050396181396, + "yi": 0.0003749459638814153, + "rf": 0.0003746808787741637, + "lp": 0.0003670357114788538, + "sn": 0.0003420500300932228, + "dl": 0.0003407725454806166, + "rp": 0.00032866887228568114, + "cy": 0.00031702204789260484, + "wr": 0.0003144811789390548, + "ek": 0.00031134245846702236, + "sw": 0.0003070700761533394, + ",'": 0.0002983194475597036, + "h,": 0.00029552759377056426, + "gg": 0.00029498896339306366, + "m,": 0.00027940534315186764, + "tm": 0.00027465919171033073, + "o,": 0.00027370883340029035, + "lv": 0.00027328582525042074, + "h.": 0.0002682492082126401, + "u'": 0.0002671578471859765, + "'r": 0.0002663597718098892, + "lk": 0.0002661369875176245, + "dn": 0.00026563501784644596, + "dg": 0.0002635115169341005, + "ja": 0.00026032485553841624, + "eh": 0.0002591065920667918, + "k.": 0.00025471012736248043, + "xi": 0.00025361876633581685, + "a,": 0.0002479278966929045, + "'m": 0.00024731312484842737, + "lm": 0.0002455872515969594, + "ka": 0.00024187324004110432, + "cs": 0.00023880784098171597, + "a.": 0.00023864991793909798, + "o.": 0.00023610058882255052, + "rb": 0.0002345439188310304, + "xa": 0.00023236119677770328, + "k,": 0.0002306522438522301, + "s;": 0.00022827493804996295, + "yt": 0.00022383899258499707, + "y'": 0.00022382771236766723, + "hn": 0.0002229055546009515, + "gy": 0.00022274763155833352, + "dv": 0.00021954122978232196, + "xc": 0.00021700882099176929, + "ix": 0.00021690729903580059, + "t-": 0.00021646173045127126, + "n-": 0.00021507990382836392, + "yp": 0.0002094820959784229, + "yl": 0.0002013970002072486, + "eu": 0.0002006073849941587, + "p.": 0.00020013079581197228, + "'l": 0.0001978493718570089, + "ax": 0.00019554538746738583, + "az": 0.0001945527283423585, + "'v": 0.00019440608551707036, + "-s": 0.00019374337274894132, + "nm": 0.00019291991688386186, + "ya": 0.00019100792004645125, + "xe": 0.00019099381977478894, + "e;": 0.00018812018441000813, + "ym": 0.00018607564501897173, + "r-": 0.00018290308389494974, + "oh": 0.00018271132020034219, + "za": 0.0001817694220532992, + "'i": 0.00018047219706036576, + "hs": 0.00017961208048896426, + "-t": 0.00017877734440655492, + "ox": 0.00017862506147260185, + "uf": 0.00017755344082626555, + "d-": 0.00017238428123485903, + "ah": 0.00017114345732857487, + "hl": 0.00016942322418577184, + "zi": 0.00016743226582705226, + "lw": 0.00016265227373352578, + "uy": 0.00016251973117989999, + "w,": 0.000157584636098088, + "kl": 0.00015586722300961744, + "sf": 0.0001555090761093945, + "pm": 0.0001530189681338288, + "w.": 0.0001522349930294038, + "rw": 0.00015083060597183672, + "'d": 0.00015035119673531785, + "r'": 0.00014851252131055132, + "o-": 0.00014483235040668583, + "c.": 0.00014389891242264023, + "-c": 0.00014306135628589843, + "py": 0.00014180643210795195, + "p,": 0.0001411042385791684, + "wl": 0.0001384505674523198, + "tn": 0.0001374325278383003, + "bb": 0.00013731690561066928, + "e/": 0.00013705182050341766, + "nj": 0.00013676135490717385, + "dm": 0.00013655831099523646, + "s/": 0.00013437276888757685, + "lc": 0.00013195316227032275, + "l-": 0.00012837451332242594, + "-b": 0.00012573776252157212, + "ko": 0.00012526399339371817, + "-o": 0.00012506658959044568, + "u.": 0.0001250186486667938, + "'w": 0.00012341967786028672, + "oj": 0.00012112133357932856, + "lr": 0.00012025839695359457, + "gt": 0.00012017943543228558, + "yn": 0.00011940392049085798, + "s-": 0.00011901475299297794, + "-f": 0.00011588731273827538, + "y-": 0.00011376381182593, + "-p": 0.0001135043668273433, + "iu": 0.00011349872671867837, + "rh": 0.00011173901281522084, + "d'": 0.00011166851145690924, + "yb": 0.00011149648814262894, + "sd": 0.00011117500194872805, + "ky": 0.00010992007777078157, + "iq": 0.00010909944196003455, + "t/": 0.00010849313027855478, + "tf": 0.00010798834055304373, + "f.": 0.00010698722126501901, + "-a": 0.00010688851936338277, + "fy": 0.0001055010526318105, + "yc": 0.00010451685366978055, + "-d": 0.0001030335050909045, + "'a": 0.00010146837493638698, + "bj": 0.00010086770336357215, + "bt": 0.00010067029956029967, + "s'": 0.00009986658407554743, + "zo": 0.00009766412164189304, + "aj": 0.00009552088034922041, + "sb": 0.00009513453290567285, + "-r": 0.00009508095187335603, + "ae": 0.00009480740660310702, + "-m": 0.00009468614426681107, + "-l": 0.00009380064720641738, + "lb": 0.00009336353878488546, + "dw": 0.00009049836358310203, + "nh": 0.00008892195321125466, + "d;": 0.00008807875696584793, + "t;": 0.00008766984908764066, + "n;": 0.0000868745937658858, + "f,": 0.0000866405292562913, + "hm": 0.00008623162137808402, + "f-": 0.00008620624088909184, + "--": 0.0000853630446436851, + "..": 0.00008522486198139437, + "yw": 0.00008283345590746491, + "c,": 0.0000826219518325301, + "uk": 0.00008018542488928121, + "h-": 0.00008008954304197743, + "sq": 0.00007976241673941162, + "-i": 0.00007948041130616521, + "/'": 0.0000763642512687925, + "pd": 0.00007608506588987857, + "tp": 0.00007462145769132976, + "mc": 0.00007416460888947059, + "mr": 0.00007392490427121114, + "-e": 0.00007266716003893221, + "fs": 0.0000720326478141278, + "-w": 0.00007103434858043555, + "d/": 0.00007099768787411352, + "a'": 0.00007027011385633781, + "nr": 0.00007022499298701839, + "tb": 0.00006909415119970033, + "yd": 0.0000682114741936391, + ".s": 0.0000676390031641489, + "nb": 0.00006684938795105898, + "-h": 0.00006638125893186996, + "i-": 0.00006616129469393777, + "'h": 0.00006579468763071745, + ".c": 0.00006549294181714381, + "g-": 0.00006505583339561189, + "yr": 0.0000636288859033851, + "y;": 0.00006290977204860678, + "mf": 0.00006239652216009834, + "'b": 0.00006232320074745427, + "n/": 0.00006196787390156381, + "np": 0.00006180713080461336, + "ez": 0.00006180149069594843, + "dc": 0.0000607073096149524, + "i,": 0.00006069884945195501, + "ku": 0.00006058040716999152, + "r;": 0.00006030686189974252, + "o'": 0.000059379064024361864, + "l'": 0.00005918166022108938, + "ii": 0.000058640209789256294, + "uo": 0.000058349744193012505, + "u,": 0.0000582482222370438, + "mn": 0.000058107219520420604, + "y/": 0.0000579351962061403, + "'c": 0.00005771523196820811, + "sr": 0.00005767575120755361, + "zz": 0.00005733452463332547, + "r/": 0.00005709764006939849, + "gm": 0.00005705251920007907, + "a-": 0.000056104980944371166, + "db": 0.000055236404209972254, + "i.": 0.000055143342417000946, + "-y": 0.000054948758668060926, + "pc": 0.00005408300198799448, + "bm": 0.00005406890171633216, + "b.": 0.000054043521227339987, + "nw": 0.000053372348296213556, + "hb": 0.00005297472063533613, + "ml": 0.00005233738835619927, + "vy": 0.000052213305965570855, + ".,": 0.00005151957259978471, + "ln": 0.00005040565113846143, + "-u": 0.00005039719097546404, + "aa": 0.000050196967117859095, + "oz": 0.00004955117467572484, + "dj": 0.00004948349337174571, + "wt": 0.00004943837250242628, + "tv": 0.0000488969220705932, + "hw": 0.00004853031500737288, + "hd": 0.00004814396756382531, + "'o": 0.00004803962555352414, + "wd": 0.00004646321518167677, + "lg": 0.000046381433606035316, + "k-": 0.00004633349268238343, + "ux": 0.000045763841707225696, + "bc": 0.00004456813867026097, + "'p": 0.00004446661671429226, + "p-": 0.00004428049312834964, + "-g": 0.000043679821555534804, + "'n": 0.00004287610607078257, + "'y": 0.00004285636569045532, + "ji": 0.000042839445364460535, + "df": 0.00004268716243050748, + "g;": 0.00004118125341697171, + "xu": 0.00004110229189566272, + "dh": 0.000041003589994026474, + "'f": 0.0000409387287443798, + "kr": 0.00004070466423478529, + "ww": 0.00004037753793221947, + "td": 0.00003982198722872406, + "bv": 0.000039365138426864894, + "dt": 0.000038637564409089184, + "uz": 0.00003842042022548946, + "g'": 0.00003818071560723002, + "x.": 0.00003753492316509576, + "g/": 0.00003745032153512185, + "dp": 0.00003708935458056645, + "x,": 0.00003635332039979335, + "zy": 0.0000360120938255652, + "m'": 0.00003598671333657303, + "nz": 0.00003593031224992375, + "m-": 0.00003562010627335271, + "kf": 0.000035487563719726905, + "xh": 0.000034881252038247146, + "pg": 0.00003470076856096945, + "uv": 0.00003467538807197727, + "w-": 0.00003433980160641406, + ".m": 0.00003424955986777521, + "k'": 0.0000339449939998691, + "b,": 0.00003393935389120417, + "'e": 0.00003387731269588996, + "kh": 0.00003387167258722503, + "kt": 0.000033646068240627914, + "cq": 0.00003337816307904384, + "tz": 0.000033242800471085566, + "cn": 0.00003189199444583531, + "kg": 0.00003180739281586139, + "cd": 0.000031798932652864, + "ao": 0.00003137310444866194, + "'g": 0.00003111365945007525, + "m/": 0.000030391725540964467, + "vs": 0.000029556989458555125, + "pf": 0.0000294413672309241, + "v.": 0.000028806855006119702, + "cm": 0.000028657392126499108, + "tg": 0.000028648931963501717, + "l;": 0.000028598170985517367, + "l/": 0.000028567150387860262, + "h'": 0.00002855023006186548, + "sg": 0.000028485368812218805, + "wy": 0.00002824002408529444, + "x-": 0.00002800877963003239, + ".t": 0.00002794391838038572, + "-n": 0.00002784521647874948, + "hc": 0.000027743694522780777, + "mt": 0.000026686174148106778, + "j.": 0.000026378788225868203, + "xy": 0.00002615882398793601, + ".i": 0.000026147543770606155, + "kw": 0.00002596142018466353, + "/o": 0.00002588245866335454, + "ej": 0.000025735815838066412, + "/s": 0.000025730175729401482, + "aq": 0.000025659674371089884, + "yu": 0.000025504571382804364, + "nq": 0.000025338188177188987, + "m;": 0.00002508720334159969, + "cp": 0.000024963120950971276, + "p;": 0.00002477417731069619, + "gb": 0.00002471777622404691, + "hp": 0.00002390560057629728, + ".e": 0.000023860479706977854, + "o;": 0.00002345439188310304, + "km": 0.00002329364878615259, + ".a": 0.000022763478571649363, + "kp": 0.00002262811596369109, + "'.": 0.000022413791834423826, + "gp": 0.000022343290476112225, + "o/": 0.000022241768520143522, + "vu": 0.000022109225966517715, + "kb": 0.000022103585857852785, + "a;": 0.000022058464988533363, + "p'": 0.000021181428091137062, + "h;": 0.00002108272618950082, + "c-": 0.00002067099825696108, + "wb": 0.000020544095812000198, + "yf": 0.00002046795434502367, + ".g": 0.000020338231845730325, + "fc": 0.000020253630215756406, + "yg": 0.00002016620853145002, + "h/": 0.000020123907716463064, + "sv": 0.000019892663261201016, + "k/": 0.00001963321826261433, + "pb": 0.00001959937761062476, + "mw": 0.000019573997121632584, + "nx": 0.00001954861663264041, + "wc": 0.00001908894777644878, + "b-": 0.000018725160767560923, + "ih": 0.000018685680006906427, + "c'": 0.00001863773908325454, + "-k": 0.00001851083663829366, + "gd": 0.000018437515225649593, + ".k": 0.000018417774845322348, + "hf": 0.000018206270770387548, + "k;": 0.000018045527673437098, + "cb": 0.000017929905445806074, + "zl": 0.000017870684304824333, + "iy": 0.000017630979686564894, + "wf": 0.00001736307452498081, + "/c": 0.000017292573166669213, + "xo": 0.000017126189961053836, + "//": 0.00001702184795075267, + "zu": 0.00001666088099619728, + "a/": 0.000016220952520332897, + "cg": 0.000016015088554063023, + "bd": 0.000015792304261798367, + "wk": 0.000015606180675855746, + "-v": 0.00001551311888288443, + "',": 0.00001551029882855197, + "gf": 0.000015304434862282097, + "v,": 0.00001517189230865629, + "mg": 0.000015090110733014834, + "w'": 0.000015078830515684977, + "w/": 0.000014985768722713665, + "vd": 0.000014641722094153058, + "ij": 0.000014466878725540291, + "gw": 0.000014390737258563762, + "p/": 0.000014277935085265203, + "pn": 0.000014252554596273026, + "yz": 0.000014046690630003155, + "md": 0.000014015670032346052, + "z,": 0.00001388030742438778, + "lh": 0.00001386620715272546, + "'u": 0.00001380980606607618, + "/p": 0.000013663163240788052, + "/d": 0.000013417818513863684, + "kd": 0.000013395258079203973, + ".o": 0.000013369877590211796, + "u/": 0.0000132598954712457, + "w;": 0.000013197854275931493, + "wm": 0.00001299763041832655, + ".d": 0.000012910208734020166, + "/m": 0.000012887648299360454, + "/a": 0.000012718445039412614, + "cf": 0.000012698704659085366, + "bn": 0.000012442079714831143, + "/t": 0.000012278516563548231, + "bp": 0.000012267236346218375, + "pk": 0.00001219391493357431, + "vr": 0.00001217981466191199, + "uh": 0.000012100853140603, + "/w": 0.00001191754960899284, + "xb": 0.000011821667761689064, + "/h": 0.000011810387544359207, + "'j": 0.000011796287272696887, + "u-": 0.000011765266675039784, + "f'": 0.000011751166403377465, + "pw": 0.00001140147966615193, + "hh": 0.0000113253381991754, + ".w": 0.000011257656895196266, + "f/": 0.000011003852005274505, + "fm": 0.00001079516798467217, + "vp": 0.000010476501845103738, + "z.": 0.000010420100758454459, + "mh": 0.000010360879617472714, + "xx": 0.000010163475814200236, + ".b": 0.000010011192880247179, + "/b": 0.000010011192880247179, + "xs": 9.991452499919931e-6, + "-q": 9.946331630600508e-6, + "fp": 9.906850869946012e-6, + "uu": 9.853269837629195e-6, + "rq": 9.760208044657885e-6, + "bh": 9.751747881660491e-6, + "wp": 9.602285002039901e-6, + "hg": 9.557164132720477e-6, + ".h": 9.523323480730909e-6, + "iw": 9.275158699474078e-6, + "/f": 9.165176580507982e-6, + "cv": 9.148256254513197e-6, + "/r": 9.046734298544493e-6, + "fb": 9.010073592222462e-6, + "c/": 8.95931261423811e-6, + ".p": 8.950852451240717e-6, + "kk": 8.939572233910862e-6, + ",.": 8.843690386607086e-6, + ".n": 8.773189028295485e-6, + "jr": 8.697047561318958e-6, + "f;": 8.587065442352862e-6, + "yh": 8.488363540716623e-6, + "fn": 8.488363540716623e-6, + "/l": 8.454522888727055e-6, + "''": 8.3727413130856e-6, + "dk": 8.299419900441535e-6, + "-j": 8.169697401148191e-6, + "xl": 8.056895227849632e-6, + "-.": 8.023054575860064e-6, + "pv": 8.011774358530208e-6, + "'k": 8.00613424986528e-6, + "bf": 7.952553217548463e-6, + "b'": 7.93563289155368e-6, + ",s": 7.78052990326816e-6, + "/e": 7.760789522940912e-6, + "/i": 7.704388436291632e-6, + "tk": 7.693108218961775e-6, + "gc": 7.5633857196684325e-6, + "rz": 7.487244252691905e-6, + "fg": 7.360341807731025e-6, + "dq": 7.2334393627701456e-6, + "==": 7.2165190367753616e-6, + "mk": 7.202418765113042e-6, + "bg": 7.174218221788401e-6, + "hz": 7.143197624131297e-6, + "vc": 7.075516320152161e-6, + "vl": 7.055775939824914e-6, + ".l": 7.05295588549245e-6, + "z-": 7.041675668162594e-6, + "zh": 7.036035559497666e-6, + "xf": 7.007835016173026e-6, + "tx": 6.77095045224605e-6, + "c;": 6.748390017586338e-6, + "fd": 6.708909256931842e-6, + "vn": 6.6666084419448825e-6, + "hk": 6.627127681290386e-6, + "fw": 6.582006811970962e-6, + "bw": 6.548166159981394e-6, + "/g": 6.494585127664579e-6, + "x'": 6.480484856002258e-6, + "b/": 6.477664801669795e-6, + ".r": 6.4325439323503705e-6, + "i/": 6.237960183410356e-6, + "yv": 6.158998662101364e-6, + ".j": 6.1561786077689e-6, + "v-": 6.096957466787155e-6, + ";t": 6.003895673815844e-6, + "kc": 5.989795402153524e-6, + "mv": 5.924934152506852e-6, + "js": 5.893913554849748e-6, + "lz": 5.851612739862788e-6, + "yk": 5.798031707545972e-6, + ";i": 5.778291327218724e-6, + "sj": 5.730350403566836e-6, + ",,": 5.673949316917557e-6, + "/n": 5.6626690995877e-6, + "wu": 5.640108664927989e-6, + "rj": 5.5696073066163885e-6, + "uj": 5.518846328632036e-6, + "v'": 5.499105948304789e-6, + "cw": 5.459625187650293e-6, + "vv": 5.394763938003621e-6, + ".f": 5.386303775006229e-6, + "cz": 5.2735016017076695e-6, + "i;": 5.262221384377813e-6, + "hv": 5.231200786720709e-6, + "oq": 5.14659915674679e-6, + "hq": 5.135318939416933e-6, + "xm": 5.109938450424758e-6, + ".u": 5.084557961432581e-6, + ".y": 5.081737907100118e-6, + "vm": 5.050717309443014e-6, + "jp": 5.028156874783302e-6, + ",i": 5.028156874783302e-6, + "qa": 4.932275027479526e-6, + "rx": 4.923814864482134e-6, + "uw": 4.884334103827638e-6, + "/.": 4.86459372350039e-6, + "./": 4.85049345183807e-6, + "qi": 4.839213234508214e-6, + "u;": 4.726411061209655e-6, + "q.": 4.703850626549942e-6, + ",t": 4.596688561916311e-6, + "sz": 4.55438774692935e-6, + "ql": 4.413385030306151e-6, + "px": 4.379544378316583e-6, + ".;": 4.365444106654263e-6, + "gk": 4.3598039979893355e-6, + "dx": 4.289302639677735e-6, + "x;": 4.224441390031063e-6, + "fx": 4.201880955371351e-6, + "uq": 4.111639216732504e-6, + "e=": 4.015757369428728e-6, + ",h": 3.933975793787272e-6, + ",w": 3.905775250462632e-6, + "vf": 3.89731508746524e-6, + ",a": 3.88321481580292e-6, + "/u": 3.8775747071379925e-6, + "vt": 3.8691145441406e-6, + "q;": 3.7534923165095765e-6, + ";'": 3.7478522078446482e-6, + ";w": 3.7083714471901523e-6, + "c=": 3.6209497628837686e-6, + "x/": 3.5955692738915926e-6, + "zk": 3.567368730566953e-6, + "kv": 3.525067915579993e-6, + "zm": 3.446106394271001e-6, + "fh": 3.420725905278825e-6, + "vb": 3.3671448729620093e-6, + "vg": 3.361504764297081e-6, + "n=": 3.353044601299689e-6, + "/v": 3.330484166639977e-6, + "-=": 3.3192039493101214e-6, + "sx": 3.2769031343231613e-6, + "wg": 3.2374223736686655e-6, + "t=": 3.2374223736686655e-6, + "fk": 3.2346023193362013e-6, + "b;": 3.2289622106712735e-6, + "qm": 3.2120418846764894e-6, + "kj": 3.2120418846764894e-6, + "yy": 3.1359004176999614e-6, + "jc": 3.1246202003701057e-6, + "-z": 3.1133399830402495e-6, + "v/": 3.07103916805329e-6, + "z'": 2.9920776467442977e-6, + ";a": 2.9187562341002342e-6, + "a=": 2.899015853772986e-6, + "dz": 2.8708153104483464e-6, + "'q": 2.839794712791242e-6, + "fv": 2.8144142237990665e-6, + "tj": 2.808774115134138e-6, + "r=": 2.7495529741523946e-6, + ".-": 2.7410928111550026e-6, + "zs": 2.7382727568225384e-6, + "cx": 2.7298125938251464e-6, + "-,": 2.6987919961680425e-6, + "=.": 2.6903318331706505e-6, + "=n": 2.6734115071758665e-6, + "zr": 2.6677713985109386e-6, + "qs": 2.6677713985109386e-6, + "vh": 2.6254705835239786e-6, + "jv": 2.605730203196731e-6, + "mx": 2.5690694968746987e-6, + "q,": 2.487287921233243e-6, + "/k": 2.467547540905995e-6, + "s=": 2.450627214911211e-6, + "xd": 2.397046182594395e-6, + "/,": 2.394226128261931e-6, + "=a": 2.368845639269755e-6, + ",/": 2.360385476272363e-6, + "'x": 2.3068044439555474e-6, + ".v": 2.2983442809581554e-6, + "bq": 2.2757838462984435e-6, + "'/": 2.2475833029738034e-6, + "'-": 2.2222028139816273e-6, + "xv": 2.2222028139816273e-6, + "bk": 2.1911822163245235e-6, + "h=": 2.1770819446622036e-6, + "l=": 2.1742618903297395e-6, + "zw": 2.1488814013375634e-6, + "cj": 2.1376011840077077e-6, + "zv": 2.1009404776856756e-6, + "-'": 2.0868402060233557e-6, + "jt": 2.0868402060233557e-6, + ",b": 2.0755599886935e-6, + "d=": 2.067099825696108e-6, + "zd": 2.038899282371468e-6, + "yx": 1.993778413052044e-6, + "=r": 1.9881383043871158e-6, + "zg": 1.968397924059868e-6, + ".x": 1.968397924059868e-6, + "jm": 1.96275781539494e-6, + "/j": 1.951477598065084e-6, + "=t": 1.945837489400156e-6, + "=-": 1.9345572720703e-6, + "xw": 1.917636946075516e-6, + "mj": 1.909176783078124e-6, + "=,": 1.897896565748268e-6, + "-x": 1.889436402750876e-6, + "xq": 1.8809762397534843e-6, + "zb": 1.8781561854210201e-6, + "/y": 1.8555957507613082e-6, + "mz": 1.8499556420963802e-6, + "qr": 1.8499556420963802e-6, + "=s": 1.8443155334314523e-6, + "j,": 1.8443155334314523e-6, + "jd": 1.8443155334314523e-6, + "lj": 1.8330353161015962e-6, + "qb": 1.8302152617691322e-6, + ";s": 1.8189350444392763e-6, + "gz": 1.8161149901068124e-6, + "=c": 1.7625339577899964e-6, + "zn": 1.7597139034575325e-6, + "';": 1.7230531971355005e-6, + ",o": 1.7202331428030366e-6, + "'[": 1.7145930341381085e-6, + "/q": 1.6469117301589727e-6, + "lx": 1.6412716214940446e-6, + "gv": 1.6384515671615807e-6, + "zt": 1.5989708065070848e-6, + "yj": 1.5848705348447647e-6, + "xr": 1.5820504805123008e-6, + "i=": 1.5735903175149088e-6, + "qt": 1.5623101001850528e-6, + "jf": 1.4918087418734529e-6, + "bx": 1.466428252881277e-6, + "jn": 1.463608198548813e-6, + ",p": 1.460788144216349e-6, + "=g": 1.4466878725540291e-6, + "jb": 1.4382277095566371e-6, + ";c": 1.412847220564461e-6, + "jj": 1.4100271662319972e-6, + "g=": 1.3902867859047492e-6, + ",c": 1.3649062969125732e-6, + "j-": 1.3536260795827173e-6, + "m=": 1.3479859709177892e-6, + ";h": 1.3479859709177892e-6, + "vk": 1.3479859709177892e-6, + "z;": 1.3395258079203972e-6, + ",y": 1.3226054819256134e-6, + ";m": 1.3226054819256134e-6, + "'z": 1.3113252645957572e-6, + "gx": 1.3000450472659013e-6, + "qc": 1.2915848842685093e-6, + "=/": 1.2859447756035814e-6, + "pj": 1.2662043952763335e-6, + "vw": 1.2577442322789415e-6, + "j'": 1.2577442322789415e-6, + "v;": 1.2549241779464773e-6, + "jk": 1.2464640149490855e-6, + "='": 1.2380038519516935e-6, + ";g": 1.2295436889543015e-6, + "zf": 1.2267236346218374e-6, + ",m": 1.2210835259569095e-6, + "q-": 1.2126233629595175e-6, + ",d": 1.2126233629595175e-6, + "vx": 1.2069832542945895e-6, + "=o": 1.1928829826322696e-6, + "p=": 1.1844228196348776e-6, + ";d": 1.1816027653024136e-6, + "=m": 1.1759626566374856e-6, + "x=": 1.1703225479725577e-6, + ";b": 1.1646824393076296e-6, + ";p": 1.1562222763102376e-6, + "y=": 1.1364818959829897e-6, + "xn": 1.1280217329855977e-6, + "zc": 1.1280217329855977e-6, + "=d": 1.1167415156557417e-6, + "=b": 1.1139214613232778e-6, + "b=": 1.0998211896609577e-6, + "hx": 1.0941810809960297e-6, + "tq": 1.0885409723311018e-6, + "jh": 1.06598053767139e-6, + "k=": 1.06598053767139e-6, + "=l": 1.0603404290064619e-6, + ";o": 1.0462401573441418e-6, + "v=": 1.0180396140195018e-6, + ";f": 1.015219559687038e-6, + "=p": 1.0067593966896459e-6, + "q'": 1.001119288024718e-6, + ",n": 9.72918744700078e-7, + "=i": 9.70098690367614e-7, + "/-": 9.58818473037758e-7, + ";n": 9.44718201375438e-7, + "bz": 9.44718201375438e-7, + ",r": 9.44718201375438e-7, + "zp": 9.221577667157262e-7, + "-/": 9.165176580507981e-7, + ";l": 9.052374407209421e-7, + "mq": 8.939572233910862e-7, + "/x": 8.826770060612302e-7, + "qe": 8.798569517287662e-7, + "jw": 8.657566800664463e-7, + "z/": 8.544764627365902e-7, + ";y": 8.431962454067343e-7, + "wv": 8.375561367418063e-7, + "=f": 8.375561367418063e-7, + "xg": 8.206358107470223e-7, + ",l": 8.149957020820943e-7, + ",g": 8.093555934171664e-7, + "pq": 8.065355390847023e-7, + "o=": 8.065355390847023e-7, + "f=": 7.896152130899184e-7, + ",e": 7.867951587574544e-7, + ",f": 7.783349957600624e-7, + "fj": 7.755149414275984e-7, + "gj": 7.501344524354224e-7, + ";e": 7.162938004458545e-7, + "j=": 7.134737461133906e-7, + ";r": 7.050135831159986e-7, + "=v": 7.021935287835345e-7, + "wj": 6.824531484562866e-7, + "wz": 6.796330941238226e-7, + "lq": 6.739929854588946e-7, + "zq": 6.683528767939666e-7, + "qq": 6.598927137965746e-7, + "qd": 6.457924421342546e-7, + "hj": 6.429723878017907e-7, + "j;": 6.373322791368627e-7, + "qo": 6.345122248043987e-7, + "j/": 6.345122248043987e-7, + "pz": 6.288721161394707e-7, + ".]": 6.260520618070067e-7, + "jl": 6.147718444771508e-7, + "qw": 6.147718444771508e-7, + "jg": 6.119517901446867e-7, + "=e": 6.091317358122228e-7, + "=h": 6.091317358122228e-7, + "=x": 6.063116814797588e-7, + "wx": 5.611908121603348e-7, + "qn": 5.583707578278709e-7, + "gq": 5.583707578278709e-7, + "-;": 5.414504318330869e-7, + "fz": 5.32990268835695e-7, + "kx": 5.301702145032309e-7, + "qf": 5.18889997173375e-7, + ".[": 5.07609779843519e-7, + "'=": 5.07609779843519e-7, + "jq": 4.991496168461269e-7, + "u=": 4.93509508181199e-7, + "q/": 4.93509508181199e-7, + ".q": 4.87869399516271e-7, + "qv": 4.6530896485655903e-7, + "=y": 4.4838863886177507e-7, + ".z": 4.399284758643831e-7, + "qp": 4.342883671994551e-7, + "=w": 4.2582820420206314e-7, + "/;": 4.2582820420206314e-7, + "/z": 4.2300814986959916e-7, + "fq": 4.089078782072792e-7, + "[t": 4.0608782387481515e-7, + ",[": 4.004477152098872e-7, + "jy": 3.891674978800312e-7, + "xk": 3.835273892151032e-7, + "=k": 3.7788728055017525e-7, + ",j": 3.7224717188524723e-7, + "yq": 3.7224717188524723e-7, + "']": 3.7224717188524723e-7, + "z=": 3.525067915579993e-7, + "=u": 3.496867372255353e-7, + ";.": 3.4686668289307127e-7, + "kz": 3.412265742281433e-7, + "xj": 3.299463568982873e-7, + "zx": 3.2712630256582333e-7, + ",;": 3.2712630256582333e-7, + "qh": 3.2430624823335934e-7, + "vj": 3.2148619390089536e-7, + ";v": 3.1584608523596734e-7, + ";u": 3.1584608523596734e-7, + "=j": 3.073859222385754e-7, + ",-": 3.0174581357364736e-7, + "=;": 2.9046559624379143e-7, + "w=": 2.848254875788634e-7, + ",u": 2.7918537891393544e-7, + "kq": 2.6790516158407945e-7, + ";/": 2.6508510725161546e-7, + ";j": 2.6508510725161546e-7, + "xz": 2.622650529191515e-7, + "vz": 2.622650529191515e-7, + ";;": 2.594449985866875e-7, + ",k": 2.594449985866875e-7, + ";,": 2.594449985866875e-7, + ";k": 2.1996423793219156e-7, + ",v": 2.1150407493479958e-7, + "jz": 2.1150407493479958e-7, + "=z": 2.0304391193740757e-7, + "vq": 1.7484336861276765e-7, + "wq": 1.6920325994783966e-7, + ",=": 1.5792304261798367e-7, + "/=": 1.5792304261798367e-7, + "=q": 1.5510298828551968e-7, + "qy": 1.5510298828551968e-7, + ";x": 1.5510298828551968e-7, + "qx": 1.494628796205917e-7, + "qg": 1.438227709556637e-7, + "[i": 1.438227709556637e-7, + "q=": 1.3254255362580773e-7, + ".=": 1.3254255362580773e-7, + "[c": 1.0716206463363178e-7, + "[a": 1.0152195596870379e-7, + ";-": 1.0152195596870379e-7, + "zj": 9.024173863884781e-8, + "qz": 8.178157564145583e-8, + "jx": 7.332141264406385e-8, + ";q": 7.332141264406385e-8, + ",x": 6.204119531420788e-8, + "e[": 6.204119531420788e-8, + "[l": 5.922114098174388e-8, + ";[": 5.922114098174388e-8, + "qk": 5.640108664927988e-8, + "][": 5.640108664927988e-8, + "s[": 5.640108664927988e-8, + ",q": 5.358103231681589e-8, + "[w": 5.0760977984351893e-8, + "[o": 5.0760977984351893e-8, + "s]": 4.79409236518879e-8, + "r]": 4.79409236518879e-8, + "[s": 4.79409236518879e-8, + "[h": 3.948076065449592e-8, + "['": 3.948076065449592e-8, + "],": 3.948076065449592e-8, + "qj": 3.6660706322031926e-8, + "e]": 3.6660706322031926e-8, + "[b": 3.384065198956793e-8, + ",z": 3.384065198956793e-8, + "].": 3.384065198956793e-8, + "r[": 3.102059765710394e-8, + "n]": 3.102059765710394e-8, + "/[": 3.102059765710394e-8, + "[f": 2.820054332463994e-8, + "n[": 2.820054332463994e-8, + "[r": 2.820054332463994e-8, + "[m": 2.2560434659711953e-8, + "[e": 1.974038032724796e-8, + "[g": 1.974038032724796e-8, + "]'": 1.974038032724796e-8, + "[n": 1.974038032724796e-8, + "d]": 1.974038032724796e-8, + "y]": 1.6920325994783964e-8, + "l[": 1.6920325994783964e-8, + "a[": 1.6920325994783964e-8, + ";z": 1.6920325994783964e-8, + "[p": 1.6920325994783964e-8, + "[d": 1.6920325994783964e-8, + "]a": 1.410027166231997e-8, + "l]": 1.410027166231997e-8, + "t[": 1.410027166231997e-8, + "h]": 1.410027166231997e-8, + "y[": 1.1280217329855976e-8, + "d[": 8.460162997391982e-9, + "g[": 8.460162997391982e-9, + "t]": 8.460162997391982e-9, + "[u": 5.640108664927988e-9, + "k[": 5.640108664927988e-9, + "]h": 5.640108664927988e-9, + "f[": 5.640108664927988e-9, + "w]": 5.640108664927988e-9, + "[j": 5.640108664927988e-9, + "[v": 5.640108664927988e-9, + "]t": 5.640108664927988e-9, + "];": 5.640108664927988e-9, + "i[": 5.640108664927988e-9, + "i]": 5.640108664927988e-9, + "g]": 5.640108664927988e-9, + "/]": 5.640108664927988e-9, + "v[": 5.640108664927988e-9, + ";=": 2.820054332463994e-9, + "[y": 2.820054332463994e-9, + "]w": 2.820054332463994e-9, + "m[": 2.820054332463994e-9, + "h[": 2.820054332463994e-9, + "]b": 2.820054332463994e-9, + "]r": 2.820054332463994e-9, + "`.": 2.820054332463994e-9, + "a]": 2.820054332463994e-9, + "k]": 2.820054332463994e-9, + "[q": 2.820054332463994e-9, + "o[": 2.820054332463994e-9, + "b]": 2.820054332463994e-9, + "]/": 2.820054332463994e-9, + "m]": 2.820054332463994e-9, + "p]": 2.820054332463994e-9 + }, + "skipgrams": { + "te": 0.023340698879876807, + "et": 0.016534156261241738, + "ae": 0.01351568719891884, + "ad": 0.011390285169920099, + "es": 0.01136712576892769, + "ie": 0.011013270555703721, + "oe": 0.010719967730991356, + "ee": 0.010430504690615145, + "ig": 0.00978169060534085, + "sa": 0.008858340360611157, + "nt": 0.008561902273396243, + "ta": 0.008349173168825446, + "to": 0.00829600843555709, + "ea": 0.007908117239248167, + "ei": 0.00775983363786313, + "ot": 0.007727088810329808, + "ne": 0.007267061314723239, + "tr": 0.007256965039681463, + "at": 0.00697606572884444, + "in": 0.00694450820304664, + "ai": 0.006919122962157615, + "ti": 0.006605675303979909, + "ra": 0.006161523407938612, + "so": 0.006025898744679348, + "si": 0.005892862006243136, + "os": 0.005852392700279186, + "fr": 0.0058433265428188205, + "al": 0.0056153477684393015, + "eo": 0.005508431668184565, + "ih": 0.0054948605005929645, + "re": 0.005474948636498897, + "as": 0.005353723164500215, + "rs": 0.005310971881441752, + "ht": 0.005280719545495058, + "rt": 0.005170154527377015, + "se": 0.005145078041076424, + "er": 0.005143158148908347, + "st": 0.005047542466590276, + "hs": 0.005009857565642019, + "ec": 0.004919462642728369, + "hr": 0.004891660695469879, + "dt": 0.004850528970570745, + "tt": 0.004797091971892588, + "mn": 0.004738437020669904, + "ep": 0.004636376788033259, + "ni": 0.004607842250342211, + "ed": 0.004585558589636996, + "it": 0.0045677490636041726, + "ii": 0.0045553651977480935, + "cn": 0.00443920891471951, + "ns": 0.004429244562092792, + "gt": 0.004420147529173583, + "is": 0.004386546609372331, + "yu": 0.004318485870642005, + "ue": 0.004197176192846477, + "hn": 0.004191245297888659, + "tn": 0.0041734077032568855, + "ol": 0.00406805502396358, + "na": 0.004057838053946326, + "pr": 0.00396747400649152, + "or": 0.00396466153287688, + "sr": 0.003949159245677623, + "rn": 0.003947865283266097, + "il": 0.003907640174113, + "ri": 0.0038684255345220486, + "oi": 0.003841387053154957, + "el": 0.0038174922548700977, + "ia": 0.0038174557656914646, + "ut": 0.0037504728611607607, + "po": 0.0037265836765956913, + "on": 0.0036557132711106197, + "en": 0.003554548426780431, + "da": 0.0035067447959112384, + "ls": 0.0034460324163856294, + "rc": 0.003436926962886736, + "sn": 0.0033379991858927425, + "od": 0.0032981221273666065, + "lt": 0.0032902741471006053, + "ts": 0.0032035674380887897, + "oa": 0.0032019394593497765, + "no": 0.003184438687905386, + "wt": 0.00317461467827341, + "rm": 0.0031744995970177216, + "pe": 0.0031361326291150147, + "ln": 0.003111300339625276, + "ce": 0.0031034467456394848, + "vr": 0.0030866392685891223, + "ss": 0.0030654643175423726, + "ef": 0.0030216071316853392, + "ds": 0.002959011349170286, + "td": 0.00292194676425879, + "ew": 0.0029047687817023073, + "dn": 0.002895814898637735, + "ud": 0.0028568641038769, + "ft": 0.002825258861460887, + "em": 0.0028157211515381863, + "ci": 0.002778530257931422, + "ao": 0.002766334451688298, + "rd": 0.00275149739028412, + "la": 0.0027371824048203846, + "wr": 0.0026802003420950318, + "ac": 0.002674954320951557, + "tl": 0.0026531702813076246, + "ro": 0.002638049727054067, + "tm": 0.0026344401052292897, + "sm": 0.002628596222928212, + "aa": 0.00259257017617781, + "dr": 0.0025884104098136424, + "nl": 0.0025834282335002834, + "mr": 0.002576910704824441, + "le": 0.002572885667735226, + "di": 0.002564681216262579, + "cm": 0.0025590001318354025, + "mt": 0.0025467145060756435, + "tc": 0.002528475530478907, + "eh": 0.00252495292131087, + "cs": 0.0025133605899451393, + "cu": 0.0025040754974129747, + "eb": 0.002463384449517332, + "sc": 0.0024471776404844676, + "lo": 0.00243148448681236, + "nr": 0.002423869475917632, + "ca": 0.002408597351229752, + "ui": 0.00239815583242091, + ".t": 0.002391144296403574, + "an": 0.002360619695047079, + "ga": 0.002357563024621587, + "bt": 0.0023468548541227337, + "nw": 0.0023376174782087818, + "eu": 0.002330664886249238, + "cl": 0.0023225811297520695, + "fe": 0.0023222639545839516, + "om": 0.002315718357309161, + "ey": 0.0022726976157007926, + "be": 0.0022590282080128727, + "sl": 0.0022427315794633727, + "lc": 0.0022342520557210306, + "ms": 0.0022317062337964015, + "e.": 0.002227872063180036, + "og": 0.002217604569684674, + "e,": 0.002206843068847819, + "ya": 0.0021968674887815213, + "sd": 0.002188110085909589, + "de": 0.0021858140745156015, + ",a": 0.002178895164874796, + "cr": 0.0021759030522268854, + "dc": 0.002166676903752513, + "id": 0.002161360711111667, + "pi": 0.002129988438066927, + "rl": 0.002115569598787082, + "ok": 0.0020675077368075626, + "pa": 0.0020554999901773938, + "uh": 0.0020439160793913475, + "ak": 0.002030903476918822, + "ay": 0.002025191517032802, + "rp": 0.0020124259182310233, + "ws": 0.0019938220508479566, + "op": 0.0019929266625414994, + "fo": 0.0019888286470950184, + "ml": 0.0019621859329731007, + "ly": 0.001944404475539225, + "yt": 0.0019402559366146366, + "sw": 0.0019325707542225368, + "ul": 0.0019083054504315574, + "oh": 0.001905389123000808, + "ap": 0.0019046509188484625, + "do": 0.001897841476743556, + "ha": 0.0018855895333025352, + "eg": 0.001883644379395404, + "hl": 0.0018804473659751696, + "wl": 0.0018779969772869656, + "we": 0.0018589664671998815, + "ar": 0.0018259493742567594, + "ah": 0.0018258342930010704, + ".i": 0.0018198921706036727, + "tw": 0.0018074269058106433, + "co": 0.0017711650828290742, + "us": 0.0017674263454491338, + "hm": 0.0017641788085507922, + "fc": 0.0017398601744218105, + "go": 0.001733014243138271, + "ge": 0.0016905632940885575, + "pn": 0.0016864428237629175, + "su": 0.001673056908924377, + "li": 0.0016722120440960271, + "ru": 0.0016705082801398532, + "hi": 0.0016673477558982518, + "sf": 0.001638501656758877, + "ag": 0.0016308333155261464, + "ic": 0.0016189574913110353, + "lr": 0.0016069076417824437, + "vn": 0.0015946135954430002, + "gi": 0.0015908018797057936, + "ty": 0.0015869115718915312, + "hv": 0.0015749571555993644, + "dd": 0.0015671540850916812, + "oc": 0.0015644847613316786, + "wi": 0.0015643444183369361, + "sb": 0.0015612091558343886, + ",t": 0.0015534959048433402, + "rg": 0.0015347488876056362, + "rh": 0.0015335615858701147, + "iy": 0.0015217447057127955, + "dw": 0.0015166025383854301, + "ua": 0.0014943385256994787, + "db": 0.0014865859786699026, + "iu": 0.0014827798766524859, + "tp": 0.0014763353263339098, + "nn": 0.0014748785660484826, + "sp": 0.0014579784626215899, + "df": 0.0014543772613764972, + "ev": 0.001447710969126228, + "th": 0.0014450949757042278, + "fl": 0.0014432817442121546, + "gn": 0.0014341369946747327, + "ho": 0.0014265556660987425, + "nc": 0.0014236224975086242, + "oo": 0.0014184971713406278, + "ny": 0.0014000869772903056, + "ld": 0.001390793464178457, + "of": 0.0013754090650947833, + "nm": 0.0013691890635677954, + "pt": 0.0013630644952772322, + "n.": 0.0013538018576242268, + "ma": 0.0013518791585962545, + "rf": 0.0013309961209785695, + "rw": 0.0013278805064952856, + "n,": 0.0013132960624816445, + "rv": 0.0013113817840333566, + "kn": 0.0013079321532225858, + "ct": 0.0013052066922646863, + "ps": 0.0012996406890931984, + "tb": 0.0012938332959707534, + "me": 0.001288971814632873, + "rb": 0.001283372129142647, + "fa": 0.0012784039871287622, + "nh": 0.0012725151950693666, + "fn": 0.0012655906717087713, + "sh": 0.0012548403983114952, + "bi": 0.0012534173203448062, + "hy": 0.0012426109097496332, + "dm": 0.001241002579029884, + "hc": 0.0012346169727690999, + "uc": 0.001232873912774398, + "tf": 0.0012316697698795073, + "fi": 0.0012312515477551746, + "br": 0.0012275857887325003, + "am": 0.00122665391124741, + "gs": 0.0012209166896223365, + "nd": 0.0012113930139991099, + "lw": 0.0012079349626086546, + "pc": 0.0011991382636981941, + "nu": 0.0011976197524950802, + "hu": 0.0011915597419820988, + "hd": 0.0011881999306879631, + "ry": 0.0011798411019210994, + "lg": 0.0011703454948968214, + "wn": 0.0011694613340299436, + "ys": 0.00116269399482346, + "md": 0.0011548656625767228, + "dy": 0.0011498862931232587, + "vl": 0.001149207033028705, + "ob": 0.0011421730421322105, + "o.": 0.0011307407017804858, + "hw": 0.0011269458272026485, + ".a": 0.0011122575293728977, + "yo": 0.0011103937744027172, + "dl": 0.0011062480423380235, + ",i": 0.0010987256578198251, + "dp": 0.0010974569571473528, + "ik": 0.0010968590959897497, + "o,": 0.0010877227670320125, + "ou": 0.0010826591917817029, + "wa": 0.001073216915095427, + "oy": 0.001069806580323184, + ",w": 0.001062856795223535, + "tu": 0.0010559154307035706, + "gr": 0.0010526229840469115, + "r.": 0.00104656297353393, + "sg": 0.001037965561676004, + "yi": 0.0010350211656463063, + "lb": 0.0010348499471927203, + "dh": 0.0010198613153542205, + "au": 0.0010003059224667995, + "hp": 0.0009932466698312516, + "r,": 0.0009932326355317773, + "nf": 0.0009890504142884505, + "wy": 0.0009879669663690385, + "l,": 0.0009872091141974288, + "bc": 0.0009842534907281517, + "sy": 0.0009773626496862946, + "bl": 0.0009765402397371035, + "ek": 0.0009757094092082278, + "lm": 0.000971285798013944, + "mi": 0.0009669828817951387, + "wo": 0.0009506834463857439, + "bs": 0.0009363824952214825, + "tv": 0.0009353888668187055, + "pl": 0.0009327981351357588, + "ba": 0.0009196760651273343, + "fs": 0.0009101832649629512, + "af": 0.0009094226059314467, + "tg": 0.0008949504363135994, + "ip": 0.0008943441545763119, + "mo": 0.0008886630701491351, + "nb": 0.0008881915176868003, + "a,": 0.0008878715356587873, + "vs": 0.0008861200550844009, + "he": 0.0008848653887114029, + "im": 0.0008828921662053232, + ",b": 0.00087845732757146, + "if": 0.0008777752606170114, + "ur": 0.0008772728326958332, + "bu": 0.0008728211529026009, + "ye": 0.0008710837066276887, + "lv": 0.0008690290851846584, + "bo": 0.0008679147618064028, + "yn": 0.0008652173694474518, + "vd": 0.000864223741044675, + "l.": 0.0008542481609783775, + "ko": 0.0008533555795318152, + "un": 0.0008352625606496111, + "t.": 0.000822134876921397, + "mc": 0.0008166923755852825, + "yh": 0.0008144974111475098, + "rr": 0.0008141016439023359, + "i.": 0.0008100429244943826, + ",s": 0.0008062284018972813, + "np": 0.0008059926256661138, + "a.": 0.0008006623987257934, + "lf": 0.0007975692391216686, + "yw": 0.0007909310154703479, + "ab": 0.0007899963311253629, + "yc": 0.0007895275855229228, + "yr": 0.0007786453897105889, + "io": 0.0007760293962885886, + "kt": 0.0007719229602624227, + ".w": 0.0007716535017125172, + "o'": 0.000771431759780824, + "lp": 0.0007683021109980661, + "lk": 0.0007590114047461121, + "t,": 0.0007377382136030428, + "cp": 0.0007251185715157966, + "ir": 0.0007207146083407767, + ".s": 0.0007169870984004157, + "i,": 0.0007134869441115376, + "up": 0.0006998849010610938, + "e'": 0.0006971229509245613, + "cd": 0.0006658180425172976, + "dv": 0.0006596541781882067, + "yd": 0.0006567097821585089, + "mk": 0.0006561764787784874, + "yf": 0.0006538860811042896, + "ng": 0.0006536025882549098, + "sv": 0.0006450556998750911, + "'e": 0.0006337215996196862, + "js": 0.0006319588916057203, + "iw": 0.0006318999475479285, + "du": 0.000631664171316761, + "gm": 0.0006289836201171791, + "bn": 0.00062569117346052, + "s,": 0.0006254497835095628, + "yb": 0.0006253739982924019, + "gl": 0.0006243354601313074, + "tk": 0.0006239958300840305, + ".h": 0.0006182221192803237, + "s.": 0.0006143654937847996, + "py": 0.000612223859685029, + "ow": 0.0006062087589303651, + "yp": 0.0005971790906486321, + "lh": 0.0005968282331617759, + "wu": 0.0005951076280462327, + "xe": 0.0005849439883669804, + "fy": 0.0005741909081098095, + "fm": 0.0005728772976790196, + "c.": 0.0005717433262815002, + "dg": 0.0005624891092081793, + "aw": 0.000560827448150428, + "ug": 0.0005606478091171576, + "mu": 0.0005584528446793847, + "iv": 0.000546122309161308, + "fu": 0.0005429309094608635, + "c,": 0.0005414236256973289, + "nv": 0.0005402952680195991, + "kd": 0.000528910644286087, + "gd": 0.0005276391367537199, + "lu": 0.0005248519248781336, + "mg": 0.0005182277355262873, + "mm": 0.0005105088708154494, + ".b": 0.0005071209909223653, + "ka": 0.000505403192666717, + "ym": 0.0005005164495897829, + "qi": 0.0004953377930837844, + "vc": 0.0004861593612276244, + "hg": 0.0004831419868406605, + "yl": 0.00048272937843611756, + "fw": 0.00048256096684242653, + "my": 0.0004817694323520788, + "s'": 0.00047310746271657123, + "gv": 0.0004686866583821823, + ",o": 0.0004599404829498292, + "ub": 0.0004556235324315497, + "gf": 0.00045516882112858395, + "av": 0.0004527184324403798, + "gc": 0.00045100344104462634, + ",h": 0.00045077889225303837, + ".o": 0.0004407724367278976, + "gw": 0.00043383387906782803, + "vt": 0.0004194655632660901, + ",c": 0.00041805651959887536, + "bd": 0.0004172144616304203, + "a'": 0.00041453952415062813, + "ke": 0.00040854687827512307, + "ks": 0.00040779463982330323, + ".'": 0.00040312121809837773, + "ov": 0.0004025935284381459, + "qe": 0.0004018553242858003, + "by": 0.0003965700071037975, + ".m": 0.00039411400469580363, + "-a": 0.00039396243426148173, + "m.": 0.0003879192649078694, + "pd": 0.0003878266385313393, + "i'": 0.00038009935324081687, + "gp": 0.0003780138563389432, + "uo": 0.0003699020312428263, + ",m": 0.00036767619134621014, + "wd": 0.0003663148642972078, + ".f": 0.00036305890681918163, + "bg": 0.00035992083745673917, + "gh": 0.00035860442016605445, + "kr": 0.0003578802503131831, + ",p": 0.0003577427141783355, + "u.": 0.0003556459898368824, + "u,": 0.0003501220895638173, + "fh": 0.0003462233611698705, + "gb": 0.00034251269238887855, + "d'": 0.00034151625712620676, + "ki": 0.0003412327642768269, + "-o": 0.00033685125598096585, + "uu": 0.000336828801101807, + "kl": 0.0003367951187830688, + ".c": 0.0003367895050632791, + "gy": 0.0003367389815851718, + "d.": 0.00033162207599686, + "uf": 0.0003300698824750079, + "-e": 0.0003260841414243207, + ",y": 0.00031746708154713074, + ",e": 0.00031722007787638395, + "ej": 0.000316450998265195, + "uw": 0.00031464618735280636, + ".y": 0.00031404832619520327, + "fp": 0.0003132231093861173, + "m,": 0.00031288909305863014, + "-i": 0.00031225193586249914, + "fd": 0.00031198247731259357, + "mv": 0.00031086815393433805, + "pp": 0.00031058746794485303, + "g.": 0.0003102927476558938, + "pw": 0.0003091700036979537, + "um": 0.00030908860476100305, + "pu": 0.00030776096003073895, + "ve": 0.0003066185680535349, + "g,": 0.0003063210409046808, + "ll": 0.0003051449666087386, + "'h": 0.0003039857334721655, + ",f": 0.0003034019066140367, + ".p": 0.00030006735705895467, + "wm": 0.00029174782433061887, + "qa": 0.00029074016162836764, + "hb": 0.00029058859119404575, + "jc": 0.0002904566687789878, + "r'": 0.0002895304050136872, + "yg": 0.00028839362675627293, + "fg": 0.00028750385216960543, + "bf": 0.0002865214512064079, + "e-": 0.000285564311982264, + "pb": 0.00028464927565654283, + "fb": 0.00028378195594903416, + "d,": 0.00028330478976690965, + "uk": 0.0002827771001066778, + "..": 0.00028128946436240725, + "ky": 0.0002783113860139712, + "hh": 0.0002781317469807008, + "rq": 0.0002719734963713996, + "hf": 0.0002707440917374552, + "uy": 0.0002682151109721952, + ".d": 0.0002657029713663044, + ".n": 0.0002652061571649159, + ",d": 0.00026472899098279137, + "'o": 0.00025259774251724904, + "cv": 0.00025110449305318876, + "vi": 0.00025068907778875093, + "n'": 0.00024957475441049547, + ".e": 0.00024631037635278473, + "mw": 0.00024336598032308692, + "o-": 0.00024121873250352655, + ",r": 0.00023779436343180938, + ",l": 0.00023662951657544656, + "ff": 0.00023330338760004914, + "ib": 0.00023126560731638794, + "'a": 0.00023052178944425267, + "rj": 0.00022988743910801654, + "zn": 0.00022872820597144342, + ",n": 0.00022733038974380803, + "l-": 0.00022618238404681433, + "wb": 0.00022485754617644507, + "cf": 0.0002223790888892924, + "'l": 0.00021979677778603026, + ".l": 0.00021902769817484132, + "n-": 0.0002165913437861114, + "gu": 0.0002164734556705277, + "xr": 0.00021642854591221009, + "xm": 0.00021590366311187312, + "t'": 0.0002158531396337658, + ".r": 0.00021560894282291384, + "tx": 0.00021343362640440498, + "cc": 0.00021228281384751642, + "fv": 0.0002109888514359905, + "mh": 0.00020996715443426505, + "rk": 0.00020339068170063115, + ".-": 0.00020312683687051525, + "'s": 0.00020186936363762238, + "wv": 0.0002018300675990945, + "mb": 0.0001999775400684934, + "bb": 0.00019411681660804628, + "ww": 0.00019063350347853727, + "'t": 0.00018964829565544487, + "cb": 0.00018897184242078598, + "e;": 0.0001886490535328782, + "nx": 0.00018781822300400255, + "r-": 0.0001863698832982599, + "t-": 0.00018594604745413753, + "-t": 0.0001828444672703281, + "s-": 0.0001788531124998512, + "gg": 0.00017863137056815803, + "xl": 0.00017822718274329962, + "a-": 0.00017746090999200552, + "lz": 0.00017443511502535707, + "jr": 0.00017392707338438919, + "mp": 0.00017295028614098135, + "'i": 0.00016985993339675134, + "kw": 0.00016824879581710736, + "vo": 0.0001680775773635215, + ";t": 0.0001662194361131307, + "h'": 0.00016476267582770347, + "mf": 0.00016372413766660893, + "pg": 0.00016115586086282104, + "wh": 0.00015864372125693016, + "xs": 0.00015806550811859102, + "jn": 0.00015706907285591924, + ",g": 0.00015560389199080745, + "-r": 0.00015542425295753706, + "kp": 0.00015522215904510784, + "wc": 0.000152634234222056, + "-n": 0.00015175007335517822, + "xc": 0.00015148903538495716, + "h,": 0.00014797484679660475, + "kf": 0.00014629353771958953, + ".g": 0.00014608863694726547, + "lx": 0.0001457714617791474, + "sj": 0.00014458135318373095, + "h.": 0.00014110084691411676, + "rz": 0.00013840345455516577, + "zd": 0.00013728071059722572, + "wf": 0.000136076567702335, + "nz": 0.00013584359833106245, + "k,": 0.00013577623369358604, + "e/": 0.00013563589069884354, + "xa": 0.00013508293929955805, + "sx": 0.00013470120635385844, + "i-": 0.00013455805649922108, + "l'": 0.00013425491563057726, + "uv": 0.00013346057428033467, + "eq": 0.00013230976172344612, + "p.": 0.00013183259554132157, + "w'": 0.00012930080791616675, + "cg": 0.0001292250226990058, + "pf": 0.00012896679158867959, + ";a": 0.00012896398472878474, + "bh": 0.00012886013091267527, + "va": 0.00012874785651688128, + "dj": 0.00012820893941707006, + "sk": 0.0001266286772962694, + "nk": 0.00012466106850997946, + ",'": 0.00012452072551523695, + "nj": 0.00012416144744869614, + "v.": 0.0001236618263874128, + "k.": 0.0001232913208812926, + "tj": 0.00012281134783927321, + "kh": 0.0001227439832017968, + "wp": 0.00012117494852057559, + "pm": 0.00012063883828065921, + "p,": 0.00012016167209853468, + "mx": 0.00012003255654337157, + "/i": 0.00011954977664145735, + "xi": 0.00011925505635249809, + "oj": 0.00011922137403375989, + "cy": 0.00011873017355216111, + "kc": 0.00011775900002854296, + ".u": 0.00011735200534378968, + "yy": 0.00011708535365377892, + "f.": 0.0001155219326923474, + "kb": 0.00011423077714071633, + "dk": 0.000113731156079433, + ";i": 0.00011096639908300561, + "-h": 0.00011081763550857855, + "n;": 0.00011038257222487678, + ".j": 0.00010945069473978654, + "yv": 0.00010919246362946031, + "n/": 0.00010883599242281435, + "w.": 0.00010810059513036361, + "mz": 0.00010774412392371765, + "mj": 0.00010763184952792363, + "v,": 0.00010687119049641924, + ",u": 0.00010629297735808012, + "ku": 0.00010587756209364229, + "jb": 0.00010536390673288473, + "-l": 0.00010511128934234821, + "nq": 0.0001039576699255648, + "t;": 0.00010302017872068484, + "ji": 0.00010283773282751959, + "sz": 0.00010280966422857108, + "c-": 0.00010215847273296586, + "xo": 0.00010215847273296586, + "jy": 0.00010185533186432204, + "zt": 0.00010132483534419537, + "km": 0.00010104976307450005, + "y'": 0.00009854323718839887, + "f,": 0.00009843657651239456, + ",j": 0.0000981194013442765, + "aj": 0.00009738400405182576, + "-p": 0.00009621354347567325, + "-u": 0.00009596092608513674, + "vm": 0.00009520588077342204, + "o;": 0.00009456310985750136, + "sq": 0.00009357509517451411, + "y.": 0.0000904286052323871, + "o/": 0.00008967355992067242, + "'n": 0.00008944620426918955, + "w,": 0.00008860133944083965, + "yk": 0.00008848345132525595, + "aq": 0.00008794453422544472, + "'r": 0.00008791927248639107, + "jm": 0.00008714177229551759, + "ij": 0.00008624077026927069, + "bx": 0.00008569062572988006, + "bm": 0.00008506750283322333, + "zr": 0.00008452577887351724, + "cw": 0.0000843657878595108, + "ph": 0.00008404299897160302, + "y,": 0.00008307182544798487, + "bv": 0.00008283324235692261, + "i;": 0.0000816010308630834, + "ez": 0.00008155892796466065, + "/t": 0.00008154770052508125, + "u-": 0.00007977937879132565, + "/a": 0.00007832261850589843, + "-s": 0.00007828051560747568, + "r;": 0.00007801667077735977, + "g'": 0.00007663288884919864, + "kg": 0.00007553821349020709, + "'u": 0.00007514244624503321, + "ch": 0.0000739383033501425, + "''": 0.00007279310451304364, + "jh": 0.00007200999060238046, + "/w": 0.00007197350142374741, + "'.": 0.00007121564925213787, + "hk": 0.00007071883505074938, + "vg": 0.00007043814906126437, + "xd": 0.0000700479955358802, + "a/": 0.00006971678606828789, + "'w": 0.00006959609109280934, + "yj": 0.00006933785998248311, + "fx": 0.00006933505312258826, + ".k": 0.0000690796288721569, + "g-": 0.00006834984529949586, + "bw": 0.00006808600046937996, + "uj": 0.0000680551250105366, + "-w": 0.00006790916829600439, + "-f": 0.00006667976366206004, + "m'": 0.00006657310298605572, + "r/": 0.00006622224549919945, + "b.": 0.00006566648724001913, + "i/": 0.00006556544028380452, + "pk": 0.0000651107289808388, + ",v": 0.00006493108994756839, + "wg": 0.00006488618018925078, + "a;": 0.00006419569265511765, + "h-": 0.00006295506058159388, + "-c": 0.00006258455507547367, + "c'": 0.00006237123372346506, + "xt": 0.0000611530565291001, + "l;": 0.00006054677479181247, + "b,": 0.00006040081807728026, + "tq": 0.00006004715373052914, + "jd": 0.00005850899450815126, + ";s": 0.00005808796552392374, + "d-": 0.00005748449064653096, + ";w": 0.00005737782997052665, + "bk": 0.00005684452659050512, + "'b": 0.00005678277567281842, + ",k": 0.000056659273837445016, + "u'": 0.000056305609490693894, + "'f": 0.00005476745026831602, + "dq": 0.00005476745026831602, + ";h": 0.00005433238698461424, + ";'": 0.000053973108918073426, + ".v": 0.00005396468833838888, + "rx": 0.00005285597867992307, + "fj": 0.000052718442545075413, + "ju": 0.00005232267529990154, + "jl": 0.000051764110180826364, + "xn": 0.000051219579361225436, + "vh": 0.000051213965641435736, + "zs": 0.00005098099627016317, + "'m": 0.00005090521105300222, + "t/": 0.000050666627961939954, + "-m": 0.00005049260264845925, + "/o": 0.000050458920329721046, + "vy": 0.00004912285501977238, + "vu": 0.000048460436084587745, + "'c": 0.00004820781869405123, + "s/": 0.00004805344139983447, + "',": 0.00004798888362225292, + "l/": 0.00004701490323873992, + "iz": 0.000046812809326310706, + "xu": 0.0000467005349305167, + "f'": 0.000046571419375353595, + "za": 0.00004586689754174621, + "c;": 0.00004508939735087272, + "m-": 0.000044494343053164487, + "s;": 0.00004438768237716018, + "wk": 0.000043969460252827514, + "tz": 0.00004394139165387901, + "-b": 0.00004329020015827378, + ";b": 0.00004327897271869438, + "fk": 0.00004318634634216432, + "/r": 0.00004290846721257416, + "lj": 0.00004261936064340459, + "lq": 0.00004216464934043887, + "xh": 0.00004181659871347745, + "gz": 0.00004154433330367699, + "/h": 0.00004132820509177353, + "xb": 0.00004132820509177353, + "'p": 0.00004111769059965977, + "/e": 0.00004026440519162532, + "az": 0.00004014932393593646, + "dz": 0.00004013248277656736, + "-y": 0.0000398265350480287, + "oq": 0.00003973390867149864, + "uz": 0.000039599179396545834, + "/s": 0.000038027337855429756, + "zl": 0.00003744070413740608, + "vv": 0.00003734807776087602, + "ck": 0.00003714317698855196, + "ze": 0.00003678109206211629, + ";o": 0.00003625620926177932, + "k'": 0.00003579588423902389, + "c/": 0.00003557414230733073, + "gj": 0.00003545906105164187, + ";c": 0.00003518960250173626, + "bp": 0.00003505487322678345, + "hj": 0.00003490891651225124, + "yq": 0.000034628230522766235, + "w-": 0.00003460577564360743, + "-d": 0.00003442894347023187, + "jk": 0.00003421000839843356, + "kv": 0.00003351390714451072, + ";f": 0.00003351390714451072, + ";m": 0.0000321020566174011, + "pv": 0.00003171751681180663, + "jp": 0.00003157717381706412, + "'d": 0.00003122631633020786, + "ja": 0.00003096527835998679, + "vb": 0.000030830549085033986, + "dx": 0.0000301540958503751, + ";p": 0.000030069890053529596, + "f-": 0.00002990709217962829, + "d;": 0.00002955342783287717, + "zo": 0.00002898082841432774, + "h/": 0.000028632777787366322, + ";d": 0.000028472786773359866, + "u/": 0.000028265079141140955, + "qo": 0.000027717741461645177, + "--": 0.00002760266020595632, + ";e": 0.000027487578950267463, + "gk": 0.000027086197985303893, + ";y": 0.000027052515666565693, + "p'": 0.000026757795377606427, + ";n": 0.00002621045769811065, + "m/": 0.000026159934220003347, + "/d": 0.000026103797022106344, + "y-": 0.000025539618183241464, + "hq": 0.000025402082048393807, + "'y": 0.000025152271517752145, + "m;": 0.00002491368842668988, + "u;": 0.000024790186591316476, + "jw": 0.00002467791219552247, + "/n": 0.00002451792118151601, + "v-": 0.000024192325433713396, + "d/": 0.00002406882359833999, + "g;": 0.000023993038381179036, + ",-": 0.000023849888526541678, + "je": 0.000023782523889065274, + "xw": 0.000023774103309380724, + "oz": 0.00002375164843022192, + "/c": 0.000023650601474007318, + "ex": 0.00002295169336018963, + "ax": 0.00002294607964039993, + "zi": 0.000022839418964395626, + "/m": 0.000022769247467024372, + "/y": 0.00002194122379804358, + ";l": 0.000021887893460041427, + "-j": 0.000021680185827822516, + "hz": 0.000021671765248137965, + ";r": 0.000021447216456549953, + "z,": 0.000021295646022228044, + "jt": 0.00002119459906601344, + "xf": 0.000020936367955687228, + ";-": 0.00002078479752136532, + "/b": 0.000020767956361996218, + "z.": 0.000020324472498609897, + "k-": 0.00001981923771753687, + "/l": 0.000019768714239429567, + "g/": 0.00001965924670353041, + "zm": 0.00001958907520615916, + "/p": 0.00001947680081036515, + "b-": 0.000019103488444350084, + "xp": 0.000018570185064328557, + "iq": 0.000018505627286747, + "-g": 0.000018213713857682588, + "pz": 0.000018210906997787738, + "zb": 0.00001789653868956452, + "gq": 0.00001788531124998512, + "px": 0.000017579363521446454, + "zp": 0.000017399724488176046, + "xg": 0.000017343587290279044, + "vk": 0.000017054480721109478, + "bz": 0.000017037639561740376, + "x,": 0.000017009570962791873, + "p-": 0.000016928172025841222, + "'v": 0.00001675976043215021, + "vp": 0.000016639065456671656, + "'g": 0.000016563280239510702, + "b'": 0.000016529597920772502, + "jg": 0.000016369606906766042, + "x.": 0.000016223650192233834, + "wz": 0.000016027169999594325, + "/f": 0.000015985067101171574, + "fq": 0.00001593454362306427, + ".q": 0.000015811041787690863, + "wj": 0.000015780166328847513, + "-v": 0.00001538439908367364, + "vw": 0.00001534510304514574, + "/u": 0.000015196339470718681, + "-.": 0.000014831447684388163, + ",q": 0.000014637774351643503, + "jv": 0.0000145704097141671, + "jf": 0.00001437673638142244, + "h;": 0.000014292530584576935, + "/-": 0.000014065174933094074, + "-,": 0.000014037106334145573, + ";g": 0.000014031492614355872, + "zc": 0.000013941673097720667, + "'-": 0.00001380413696287301, + "p;": 0.000013265219863061782, + ".,": 0.000013259606143272081, + "e\\": 0.00001322873068442873, + ";u": 0.000013040671071473771, + "kk": 0.000012917169236100365, + "-x": 0.000012793667400726958, + "v'": 0.000012619642087246249, + "cz": 0.00001205827010827622, + "e=": 0.000011572683346467145, + "w;": 0.000011519353008464993, + "xy": 0.000011393044313196735, + "yz": 0.000011345327694984284, + "k;": 0.00001126954247782333, + "k/": 0.00001109832402423747, + "'k": 0.000011047800546130169, + "/.": 0.000011002890787812566, + "ox": 0.000010907457551387662, + "'j": 0.000010820444894647306, + "ix": 0.000010722204798327551, + "p/": 0.000010354506152102183, + "kj": 0.00001028714151462578, + "zy": 0.000010138377940198721, + "/'": 9.784713593447604e-6, + "v/": 9.422628667011934e-6, + "/g": 9.184045575949672e-6, + ";/": 9.049316300996865e-6, + "x-": 9.029668281732914e-6, + ";j": 9.018440842153513e-6, + "zw": 8.962303644256511e-6, + "y;": 8.878097847411008e-6, + "wx": 8.816346929724303e-6, + "f;": 8.771437171406702e-6, + "fz": 8.527240360554739e-6, + "f/": 8.445841423604084e-6, + "-k": 8.384090505917381e-6, + "bq": 8.37286306633798e-6, + "-'": 8.294270989282177e-6, + ".x": 8.212872052331522e-6, + "kz": 8.17076915390877e-6, + "v;": 8.14831427474997e-6, + "zk": 7.934992922741358e-6, + "pj": 7.873242005054655e-6, + "j.": 7.7525470295761e-6, + "cj": 7.685182392099696e-6, + "vf": 7.592556015569641e-6, + "jz": 7.539225677567488e-6, + ".z": 7.466247320301384e-6, + "b/": 7.438178721352883e-6, + "zg": 7.328711185453727e-6, + "mq": 7.19678877039577e-6, + "w/": 7.177140751131819e-6, + ".;": 7.151879012078168e-6, + "hx": 6.924523360595306e-6, + "';": 6.823476404380701e-6, + ";.": 6.767339206483698e-6, + "b;": 6.6831334096381936e-6, + "/j": 6.61296191226694e-6, + "'x": 6.576472733633889e-6, + "pq": 6.5568247143699375e-6, + "'/": 6.4754257774192835e-6, + "=a": 6.307014183728274e-6, + "=i": 6.205967227513669e-6, + "uq": 6.161057469196067e-6, + "y/": 6.1386025900372655e-6, + ";v": 6.118954570773315e-6, + ",z": 6.096499691614514e-6, + "wq": 5.953349836977156e-6, + "s=": 5.8579166005522514e-6, + "yx": 5.63617466885909e-6, + "gx": 5.630560949069389e-6, + "xv": 5.610912929805438e-6, + "//": 5.467763075168081e-6, + "=t": 5.4509219157989805e-6, + "kq": 5.394784717901977e-6, + "t=": 5.262862302844021e-6, + ",.": 5.229179984105819e-6, + "jo": 5.212338824736718e-6, + "zh": 5.139360467470614e-6, + "c=": 5.125326167996364e-6, + ";k": 5.116905588311814e-6, + "n=": 5.108485008627263e-6, + "=e": 4.945687134725955e-6, + "cx": 4.9063910961980524e-6, + "zf": 4.8642881977753e-6, + "r=": 4.850253898301049e-6, + "a=": 4.810957859773148e-6, + "/v": 4.7800824009297956e-6, + "=s": 4.634125686397588e-6, + "x'": 4.4629072328117295e-6, + "vx": 4.375894576071375e-6, + "zu": 4.370280856281675e-6, + "bj": 4.294495639120721e-6, + ".=": 4.286075059436171e-6, + "cq": 4.27765447975162e-6, + "qs": 4.221517281854617e-6, + "xx": 4.168186943852464e-6, + "-q": 4.148538924588514e-6, + "qt": 3.974513611107805e-6, + "=c": 3.974513611107805e-6, + "l=": 3.904342113736551e-6, + "./": 3.8931146741571506e-6, + "/,": 3.867852935103499e-6, + "j,": 3.851011775734398e-6, + "/k": 3.733123660150692e-6, + "z'": 3.7190893606764414e-6, + "zv": 3.679793322148539e-6, + "z-": 3.5001542888781302e-6, + "=o": 3.474892549824479e-6, + ";;": 3.4692788300347784e-6, + ",x": 3.4355965112965767e-6, + "vz": 3.326128975397421e-6, + "=m": 3.289639796764369e-6, + "o=": 3.230695738972516e-6, + ";,": 3.1464899421270118e-6, + "d=": 3.1212282030733605e-6, + "=h": 3.0622841452815075e-6, + "=l": 2.9331685901184007e-6, + "=r": 2.930361730223551e-6, + "-/": 2.9050999911698996e-6, + "=f": 2.8293147740089457e-6, + "=p": 2.801246175060444e-6, + "='": 2.7619501365325423e-6, + "=.": 2.7338815375840407e-6, + "=n": 2.641255161053986e-6, + "xk": 2.587924823051833e-6, + "=b": 2.5710836636827322e-6, + "=d": 2.5430150647342307e-6, + "=y": 2.4981053064166287e-6, + "g=": 2.4391612486247756e-6, + "'q": 2.394251490307173e-6, + "qr": 2.3633760314638218e-6, + "/x": 2.3605691715689715e-6, + "==": 2.352148591884421e-6, + "i=": 2.312852553356519e-6, + "h=": 2.2707496549337666e-6, + "jj": 2.2679427950389168e-6, + ",,": 2.262329075249216e-6, + "=w": 2.262329075249216e-6, + "jx": 2.2286467565110145e-6, + "m=": 2.2258398966161646e-6, + "/;": 2.2118055971419136e-6, + "=,": 2.155668399244911e-6, + "=-": 2.1472478195603605e-6, + "x/": 2.1135655008221587e-6, + "-;": 2.1051449211376083e-6, + "y=": 2.063042022714856e-6, + "=g": 2.020939124292104e-6, + "f=": 2.020939124292104e-6, + "xj": 1.8693686899701963e-6, + "zz": 1.8328795113371443e-6, + "p=": 1.7991971925989426e-6, + "x=": 1.7851628931246918e-6, + "z;": 1.7234119754379887e-6, + "x;": 1.6616610577512854e-6, + "z/": 1.6223650192233835e-6, + "-z": 1.6167512994336832e-6, + "qb": 1.5886827004851818e-6, + "q,": 1.5858758405903315e-6, + "/q": 1.5858758405903315e-6, + "qc": 1.577455260905781e-6, + "'z": 1.5044769036396773e-6, + "qf": 1.4960563239551269e-6, + "b=": 1.459567145322075e-6, + ";q": 1.456760285427225e-6, + "qd": 1.4511465656375246e-6, + "q.": 1.4371122661632739e-6, + "vj": 1.4371122661632739e-6, + "ux": 1.3893956479508216e-6, + "qn": 1.3669407687920203e-6, + "qw": 1.3360653099486687e-6, + "j'": 1.3136104307898675e-6, + ".[": 1.243438933418614e-6, + "ql": 1.2041428948907119e-6, + "kx": 1.2041428948907119e-6, + "qh": 1.16484685636281e-6, + "=u": 1.1367782574143085e-6, + "=v": 1.125550817834908e-6, + "qm": 1.0750273397276054e-6, + "xz": 1.069413619937905e-6, + "j;": 1.066606760043055e-6, + "k=": 1.0609930402533546e-6, + "qp": 1.049765600673954e-6, + "v=": 1.030117581410003e-6, + "-=": 1.0188901418306024e-6, + "zj": 9.795941033027004e-7, + "u=": 9.767872434078503e-7, + "=k": 9.683666637232999e-7, + "j-": 9.234569054056975e-7, + "/=": 8.869677267726456e-7, + "]t": 8.72933427298395e-7, + "]a": 8.504785481395937e-7, + "q'": 8.36444248665343e-7, + "=/": 8.16796229401392e-7, + ";=": 7.859207705580405e-7, + ";x": 7.746933309786399e-7, + ",;": 7.606590315043892e-7, + "=x": 7.157492731867869e-7, + "zq": 7.101355533970865e-7, + ";z": 7.017149737125361e-7, + ",=": 6.79260094553735e-7, + ",[": 6.79260094553735e-7, + "/z": 6.736463747640347e-7, + "'=": 6.343503362361326e-7, + "xq": 6.315434763412825e-7, + "qy": 5.754062784442796e-7, + "qu": 5.44530819600928e-7, + "]s": 5.417239597060779e-7, + "]h": 5.080416409678762e-7, + "z=": 4.940073414936254e-7, + ",/": 4.912004815987753e-7, + "w=": 4.715524623348243e-7, + "=j": 4.4629072328117294e-7, + "q-": 4.2102898422752165e-7, + "]i": 4.098015446481211e-7, + "]w": 4.041878248584208e-7, + "qq": 3.9015352538417006e-7, + "vq": 3.733123660150692e-7, + "[h": 3.7050550612021907e-7, + "e[": 3.5927806654081846e-7, + "qg": 3.5647120664596834e-7, + ".]": 3.424369071717176e-7, + "j/": 3.3120946759231705e-7, + "zx": 3.2559574780261674e-7, + "=z": 3.171751681180663e-7, + "=;": 3.087545884335159e-7, + "q/": 3.0594772853866576e-7, + "jq": 3.0594772853866576e-7, + "=q": 3.031408686438156e-7, + "j=": 3.0033400874896545e-7, + "q;": 2.891065691695649e-7, + "]b": 2.582311103262133e-7, + "qx": 2.498105306416629e-7, + "/[": 2.4419681085196257e-7, + "qv": 2.3577623116741214e-7, + "q=": 2.217419316931614e-7, + "s[": 2.1612821190346113e-7, + "]p": 2.1051449211376083e-7, + "n[": 2.0490077232406055e-7, + "qk": 1.9086647284980981e-7, + "]m": 1.8805961295495966e-7, + "]o": 1.8525275306010954e-7, + "]y": 1.6841159369100868e-7, + "qj": 1.6279787390130837e-7, + "]c": 1.459567145322075e-7, + "s]": 1.4314985463735736e-7, + "]n": 1.4314985463735736e-7, + "r[": 1.4314985463735736e-7, + "e]": 1.2911555516310665e-7, + "[e": 1.263086952682565e-7, + "[]": 1.1227439579400578e-7, + "]d": 1.0946753589915563e-7, + "]l": 1.0666067600430549e-7, + "[u": 9.824009631975506e-8, + "r]": 9.543323642490491e-8, + "[i": 8.701265674035448e-8, + "t[": 8.701265674035448e-8, + ";[": 8.701265674035448e-8, + "]g": 8.420579684550434e-8, + "[o": 8.139893695065419e-8, + "]r": 8.139893695065419e-8, + "[n": 7.859207705580405e-8, + "[t": 7.859207705580405e-8, + "qz": 7.57852171609539e-8, + "]f": 7.01714973712536e-8, + "o]": 6.736463747640347e-8, + "n]": 6.455777758155333e-8, + "[a": 6.175091768670317e-8, + "l[": 5.8944057791853035e-8, + "d]": 5.8944057791853035e-8, + "[s": 5.613719789700289e-8, + "a[": 5.05234781073026e-8, + "y[": 5.05234781073026e-8, + "d[": 5.05234781073026e-8, + "m[": 4.7716618212452453e-8, + "]e": 4.7716618212452453e-8, + "[r": 4.7716618212452453e-8, + "[l": 4.7716618212452453e-8, + "y]": 4.7716618212452453e-8, + "o[": 4.490975831760231e-8, + "t]": 3.9296038527902024e-8, + "]v": 3.9296038527902024e-8, + "f[": 3.648917863305188e-8, + "]'": 3.648917863305188e-8, + ".\\": 3.648917863305188e-8, + "h[": 3.368231873820173e-8, + "'[": 3.368231873820173e-8, + "l]": 3.368231873820173e-8, + "].": 3.368231873820173e-8, + "u[": 3.087545884335159e-8, + "]k": 3.087545884335159e-8, + "g[": 2.8068598948501445e-8, + "[.": 2.52617390536513e-8, + "i[": 2.52617390536513e-8, + "h]": 2.52617390536513e-8, + "]j": 2.2454879158801154e-8, + "k[": 2.2454879158801154e-8, + "a]": 2.2454879158801154e-8, + "m]": 1.9648019263951012e-8, + "i]": 1.9648019263951012e-8, + "w[": 1.6841159369100866e-8, + "[c": 1.6841159369100866e-8, + "]u": 1.6841159369100866e-8, + "g]": 1.6841159369100866e-8, + "']": 1.4034299474250722e-8, + "c]": 1.4034299474250722e-8, + "p]": 1.4034299474250722e-8, + "]q": 1.4034299474250722e-8, + "\\l": 1.1227439579400577e-8, + "[f": 1.1227439579400577e-8, + "[m": 1.1227439579400577e-8, + "z[": 1.1227439579400577e-8, + "q]": 8.420579684550433e-9, + "v[": 8.420579684550433e-9, + "p[": 8.420579684550433e-9, + "\\d": 8.420579684550433e-9, + "/]": 8.420579684550433e-9, + "[w": 8.420579684550433e-9, + "\\i": 8.420579684550433e-9, + "k]": 8.420579684550433e-9, + "][": 8.420579684550433e-9, + "\\k": 5.6137197897002885e-9, + "[v": 5.6137197897002885e-9, + "\\b": 5.6137197897002885e-9, + "c[": 5.6137197897002885e-9, + "]-": 5.6137197897002885e-9, + "[d": 5.6137197897002885e-9, + "w]": 5.6137197897002885e-9, + "\\s": 5.6137197897002885e-9, + "x[": 5.6137197897002885e-9, + "\\f": 5.6137197897002885e-9, + "];": 5.6137197897002885e-9, + "z]": 5.6137197897002885e-9, + "\\n": 5.6137197897002885e-9, + "\\a": 2.8068598948501442e-9, + "u]": 2.8068598948501442e-9, + "v]": 2.8068598948501442e-9, + "[b": 2.8068598948501442e-9, + "],": 2.8068598948501442e-9, + "\\g": 2.8068598948501442e-9, + "t`": 2.8068598948501442e-9, + "\\t": 2.8068598948501442e-9, + "b[": 2.8068598948501442e-9, + "[y": 2.8068598948501442e-9, + "\\p": 2.8068598948501442e-9, + "\\c": 2.8068598948501442e-9, + "[g": 2.8068598948501442e-9, + ";\\": 2.8068598948501442e-9, + "f]": 2.8068598948501442e-9 + } +} diff --git a/srchr/src/config.rs b/srchr/src/config.rs index c9ca302..8badd52 100644 --- a/srchr/src/config.rs +++ b/srchr/src/config.rs @@ -20,6 +20,9 @@ // Input parameters pub const CORPUS_FILE_NAME: &str = "corpus.txt"; +pub const STATS_FILE_NAME: &str = "shai.json"; +pub const LOAD_STATS: bool = true; + pub const STARTING_LAYOUT_STRING: &str = " A B C D E F G H I J K L M N O P Q R S T diff --git a/srchr/src/corpus.rs b/srchr/src/corpus.rs index 306018c..102aabd 100644 --- a/srchr/src/corpus.rs +++ b/srchr/src/corpus.rs @@ -2,6 +2,7 @@ use std::fmt; use std::fs; use crate::config::*; +extern crate json; const fn build_lookup_table() -> [usize; 128] { let mut result = [0; 128]; @@ -20,8 +21,6 @@ pub struct Corpus { bigram_percs: [f32; NUM_BIGRAMS], skipgram_percs: [f32; NUM_BIGRAMS], character_percs: [f32; 128], - total_count: u32, - total_bigrams: u32, } fn pair_to_index(x: u8, y: u8) -> usize { @@ -43,11 +42,63 @@ impl Corpus { self.skipgram_percs[pair_to_index(x, y)] } - pub fn get_total_bigrams(&self) -> u32 { - self.total_bigrams + pub fn load_from_json_file(path: &str) -> Result<Corpus, std::io::Error> { + let contents = fs::read_to_string(path)?; + + let json = json::parse(&contents).unwrap(); + + let mut character_percs = [0.0; 128]; + let mut bigram_percs = [0.0; NUM_BIGRAMS]; + let mut skipgram_percs = [0.0; NUM_BIGRAMS]; + + for (key, value) in json.entries() { + if key == "characters" { + for (c, p) in value.entries() { + if let Some(c) = canonicalise(c.as_bytes()[0] as char) { + character_percs[c as usize] = p.as_f32().unwrap(); + } + } + } else if key == "bigrams" { + for (b, p) in value.entries() { + let canon: Vec<Option<u8>> = b + .as_bytes() + .iter() + .map(|&b| canonicalise(b as char)) + .collect(); + if let Some(c1) = canon[0] { + if let Some(c2) = canon[1] { + bigram_percs[pair_to_index(c1, c2)] += p.as_f32().unwrap(); + bigram_percs[pair_to_index(c2, c1)] += p.as_f32().unwrap(); + } + } + } + } else if key == "skipgrams" { + for (t, p) in value.entries() { + let canon: Vec<Option<u8>> = t + .as_bytes() + .iter() + .map(|&b| canonicalise(b as char)) + .collect(); + if let Some(c1) = canon[0] { + if let Some(c3) = canon[1] { + skipgram_percs[pair_to_index(c1, c3)] += p.as_f32().unwrap(); + skipgram_percs[pair_to_index(c3, c1)] += p.as_f32().unwrap(); + } + } + } + } + } + + println!("Chars: {:?}\nBigs:{:?}", character_percs, bigram_percs); + + return Ok(Corpus { + skipgram_percs, + bigram_percs, + character_percs, + }); } - pub fn load(path: &str) -> Result<Corpus, std::io::Error> { + pub fn load_from_text_file(path: &str) -> Result<Corpus, std::io::Error> { let contents = fs::read_to_string(path)?; let mut bigram_count = [0; NUM_BIGRAMS]; @@ -100,8 +151,6 @@ impl Corpus { skipgram_percs, bigram_percs, character_percs, - total_count, - total_bigrams, }); } } @@ -109,11 +158,14 @@ impl Corpus { fn dump_bigrams(corpus: &Corpus) -> Vec<(String, f32)> { let mut result: Vec<(String, f32)> = Vec::new(); - for (i, &x) in KEY_CHARS.iter().enumerate() { - for &y in &KEY_CHARS[i..] { + for &x in KEY_CHARS.iter() { + for &y in KEY_CHARS.iter() { let mut pair = String::from(x); pair.push(y); - result.push((pair, corpus.bigram_percs[pair_to_index(x as u8, y as u8)])); + let perc = corpus.bigram_percs[pair_to_index(x as u8, y as u8)]; + if perc > 0.0 { + result.push((pair, perc)); + } } } @@ -131,8 +183,7 @@ fn dump_bigrams(corpus: &Corpus) -> Vec<(String, f32)> { impl fmt::Display for Corpus { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { formatter.write_str(&format!( - "Counted {} characters, top 5 bigrams {:?}", - self.total_count, + "Corpus has top 5 bigrams {:?}", &dump_bigrams(self)[0..5] )) } diff --git a/srchr/src/evaluation.rs b/srchr/src/evaluation.rs index b412d88..3d171b0 100644 --- a/srchr/src/evaluation.rs +++ b/srchr/src/evaluation.rs @@ -92,7 +92,6 @@ pub fn prelayout_fitness(corpus: &Corpus, layout: &Prelayout) -> f32 { pub struct Evaluation { keypress_perc: [f32; NUM_KEYS], - total_bigrams: u32, sfb: [f32; 8], dsfb: [f32; 8], } @@ -183,7 +182,6 @@ impl Evaluation { return Evaluation { keypress_perc, - total_bigrams: corpus.get_total_bigrams(), sfb, dsfb, }; @@ -191,8 +189,6 @@ impl Evaluation { fn output_eval(&self) -> String { let mut result = String::new(); - let big = self.total_bigrams as f32; - let tig = self.total_bigrams as f32; result += &"Percent per key:\n"; result += &format_block_output(self.keypress_perc.into_iter().map(|u| u * 100.0)); @@ -228,8 +224,8 @@ impl Evaluation { let sfb = self.sfb.iter().sum::<f32>(); let dsfb = self.dsfb.iter().sum::<f32>(); - result += &format!("\nTotal sfb: {:.3}% ({:.0})", sfb * 100.0, sfb * big); - result += &format!("\nTotal dsfb: {:.3}% ({:.0})", dsfb * 100.0, dsfb * tig); + result += &format!("\nTotal sfb: {:.3}%", sfb * 100.0); + result += &format!("\nTotal dsfb: {:.3}%", dsfb * 100.0); return result; } diff --git a/srchr/src/main.rs b/srchr/src/main.rs index 667b675..b4a26f9 100644 --- a/srchr/src/main.rs +++ b/srchr/src/main.rs @@ -67,7 +67,7 @@ impl<'a> Tournament<'a> { }); let result; - if tournament[0].1 < best { + if tournament[0].1 + 0.00001 < best { result = Some(tournament[0].0); } else { result = None; @@ -82,7 +82,12 @@ impl<'a> Tournament<'a> { } fn main() { - let corpus = Corpus::load(CORPUS_FILE_NAME).unwrap(); + let corpus; + if LOAD_STATS { + corpus = Corpus::load_from_json_file(STATS_FILE_NAME).unwrap(); + } else { + corpus = Corpus::load_from_text_file(CORPUS_FILE_NAME).unwrap(); + } println!("{}", corpus); let seed_layout = Layout::from_verbose(STARTING_LAYOUT_STRING).unwrap(); |
