text: /*
      mnemonic.js : Converts between 4-byte aligned strings and a human-readable
      sequence of words. Uses 1626 common words taken from wikipedia article:
      http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists/Contemporary_poetry
      Originally written in python special for Electrum (lightweight Bitcoin client).
      This version has been reimplemented in javascript and placed in public domain.
  */
  
  function mn_encode(str) {
      var out = [];
      var n = mn_words.length;
      for (var i = 0; i < str.length; i += 8) {
          var x = parseInt(str.substr(i, 8), 16);
          var w1 = (x % n);
          var w2 = (Math.floor(x/n) + w1) % n;
          var w3 = (Math.floor(Math.floor(x/n)/n) + w2) % n;
          out = out.concat([mn_words[w1], mn_words[w2], mn_words[w3]]);
      }
      return out.join(' ');
  }
  
  function mn_mod(a, b) {
      return a < 0 ? b + a : a % b;
  }
  
  function mn_decode(str) {
      var out = '';
      var n = mn_words.length;
      str = str.replace(/^[ \r\n]+|[ \r\n ]+$/gm,'');
      var wlist = str.split(/[ \r\n]+/);
      for (var i = 0; i < wlist.length; i += 3) {
          var w1 = mn_words.indexOf(wlist[i]);
          var w2 = mn_words.indexOf(wlist[i+1]) % n;
          var w3 = mn_words.indexOf(wlist[i+2]) % n;
          var x = w1 + n * mn_mod((w2 - w1), n) + n * n * mn_mod((w3 - w2), n);
          out += ('0000000' + x.toString(16)).slice(-8);
      }
      return out;
  }
  
  var mn_words = [
      "like", "just", "love", "know", "never", "want", "time", "out", "there",
      "make", "look", "eye", "down", "only", "think", "heart", "back", "then",
      "into", "about", "more", "away", "still", "them", "take", "thing", "even",
      "through", "long", "always", "world", "too", "friend", "tell", "try",
      "hand", "thought", "over", "here", "other", "need", "smile", "again",
      "much", "cry", "been", "night", "ever", "little", "said", "end", "some",
      "those", "around", "mind", "people", "girl", "leave", "dream", "left",
      "turn", "myself", "give", "nothing", "really", "off", "before",
      "something", "find", "walk", "wish", "good", "once", "place", "ask",
      "stop", "keep", "watch", "seem", "everything", "wait", "got", "yet",
      "made", "remember", "start", "alone", "run", "hope", "maybe", "believe",
      "body", "hate", "after", "close", "talk", "stand", "own", "each", "hurt",
      "help", "home", "god", "soul", "new", "many", "two", "inside", "should",
      "true", "first", "fear", "mean", "better", "play", "another", "gone",
      "change", "use", "wonder", "someone", "hair", "cold", "open", "best",
      "any", "behind", "happen", "water", "dark", "laugh", "stay", "forever",
      "name", "work", "show", "sky", "break", "came", "deep", "door", "put",
      "black", "together", "upon", "happy", "such", "great", "white", "matter",
      "fill", "past", "please", "burn", "cause", "enough", "touch", "moment",
      "soon", "voice", "scream", "anything", "stare", "sound", "red", "everyone",
      "hide", "kiss", "truth", "death", "beautiful", "mine", "blood", "broken",
      "very", "pass", "next", "forget", "tree", "wrong", "air", "mother",
      "understand", "lip", "hit", "wall", "memory", "sleep", "free", "high",
      "realize", "school", "might", "skin", "sweet", "perfect", "blue", "kill",
      "breath", "dance", "against", "fly", "between", "grow", "strong", "under",
      "listen", "bring", "sometimes", "speak", "pull", "person", "become",
      "family", "begin", "ground", "real", "small", "father", "sure", "feet",
      "rest", "young", "finally", "land", "across", "today", "different", "guy",
      "line", "fire", "reason", "reach", "second", "slowly", "write", "eat",
      "smell", "mouth", "step", "learn", "three", "floor", "promise", "breathe",
      "darkness", "push", "earth", "guess", "save", "song", "above", "along",
      "both", "color", "house", "almost", "sorry", "anymore", "brother", "okay",
      "dear", "game", "fade", "already", "apart", "warm", "beauty", "heard",
      "notice", "question", "shine", "began", "piece", "whole", "shadow",
      "secret", "street", "within", "finger", "point", "morning", "whisper",
      "child", "moon", "green", "story", "glass", "kid", "silence", "since",
      "soft", "yourself", "empty", "shall", "angel", "answer", "baby", "bright",
      "dad", "path", "worry", "hour", "drop", "follow", "power", "war", "half",
      "flow", "heaven", "act", "chance", "fact", "least", "tired", "children",
      "near", "quite", "afraid", "rise", "sea", "taste", "window", "cover",
      "nice", "trust", "lot", "sad", "cool", "force", "peace", "return", "blind",
      "easy", "ready", "roll", "rose", "drive", "held", "music", "beneath",
      "hang", "mom", "paint", "emotion", "quiet", "clear", "cloud", "few",
      "pretty", "bird", "outside", "paper", "picture", "front", "rock", "simple",
      "anyone", "meant", "reality", "road", "sense", "waste", "bit", "leaf",
      "thank", "happiness", "meet", "men", "smoke", "truly", "decide", "self",
      "age", "book", "form", "alive", "carry", "escape", "damn", "instead",
      "able", "ice", "minute", "throw", "catch", "leg", "ring", "course",
      "goodbye", "lead", "poem", "sick", "corner", "desire", "known", "problem",
      "remind", "shoulder", "suppose", "toward", "wave", "drink", "jump",
      "woman", "pretend", "sister", "week", "human", "joy", "crack", "grey",
      "pray", "surprise", "dry", "knee", "less", "search", "bleed", "caught",
      "clean", "embrace", "future", "king", "son", "sorrow", "chest", "hug",
      "remain", "sat", "worth", "blow", "daddy", "final", "parent", "tight",
      "also", "create", "lonely", "safe", "cross", "dress", "evil", "silent",
      "bone", "fate", "perhaps", "anger", "class", "scar", "snow", "tiny",
      "tonight", "continue", "control", "dog", "edge", "mirror", "month",
      "suddenly", "comfort", "given", "loud", "quickly", "gaze", "plan", "rush",
      "stone", "town", "battle", "ignore", "spirit", "stood", "stupid", "yours",
      "brown", "build", "dust", "hey", "kept", "pay", "phone", "twist",
      "although", "ball", "beyond", "hidden", "nose", "taken", "fail", "float",
      "pure", "somehow", "wash", "wrap", "angry", "cheek", "creature",
      "forgotten", "heat", "rip", "single", "space", "special", "weak",
      "whatever", "yell", "anyway", "blame", "job", "choose", "country", "curse",
      "drift", "echo", "figure", "grew", "laughter", "neck", "suffer", "worse",
      "yeah", "disappear", "foot", "forward", "knife", "mess", "somewhere",
      "stomach", "storm", "beg", "idea", "lift", "offer", "breeze", "field",
      "five", "often", "simply", "stuck", "win", "allow", "confuse", "enjoy",
      "except", "flower", "seek", "strength", "calm", "grin", "gun", "heavy",
      "hill", "large", "ocean", "shoe", "sigh", "straight", "summer", "tongue",
      "accept", "crazy", "everyday", "exist", "grass", "mistake", "sent", "shut",
      "surround", "table", "ache", "brain", "destroy", "heal", "nature", "shout",
      "sign", "stain", "choice", "doubt", "glance", "glow", "mountain", "queen",
      "stranger", "throat", "tomorrow", "city", "either", "fish", "flame",
      "rather", "shape", "spin", "spread", "ash", "distance", "finish", "image",
      "imagine", "important", "nobody", "shatter", "warmth", "became", "feed",
      "flesh", "funny", "lust", "shirt", "trouble", "yellow", "attention",
      "bare", "bite", "money", "protect", "amaze", "appear", "born", "choke",
      "completely", "daughter", "fresh", "friendship", "gentle", "probably",
      "six", "deserve", "expect", "grab", "middle", "nightmare", "river",
      "thousand", "weight", "worst", "wound", "barely", "bottle", "cream",
      "regret", "relationship", "stick", "test", "crush", "endless", "fault",
      "itself", "rule", "spill", "art", "circle", "join", "kick", "mask",
      "master", "passion", "quick", "raise", "smooth", "unless", "wander",
      "actually", "broke", "chair", "deal", "favorite", "gift", "note", "number",
      "sweat", "box", "chill", "clothes", "lady", "mark", "park", "poor",
      "sadness", "tie", "animal", "belong", "brush", "consume", "dawn", "forest",
      "innocent", "pen", "pride", "stream", "thick", "clay", "complete", "count",
      "draw", "faith", "press", "silver", "struggle", "surface", "taught",
      "teach", "wet", "bless", "chase", "climb", "enter", "letter", "melt",
      "metal", "movie", "stretch", "swing", "vision", "wife", "beside", "crash",
      "forgot", "guide", "haunt", "joke", "knock", "plant", "pour", "prove",
      "reveal", "steal", "stuff", "trip", "wood", "wrist", "bother", "bottom",
      "crawl", "crowd", "fix", "forgive", "frown", "grace", "loose", "lucky",
      "party", "release", "surely", "survive", "teacher", "gently", "grip",
      "speed", "suicide", "travel", "treat", "vein", "written", "cage", "chain",
      "conversation", "date", "enemy", "however", "interest", "million", "page",
      "pink", "proud", "sway", "themselves", "winter", "church", "cruel", "cup",
      "demon", "experience", "freedom", "pair", "pop", "purpose", "respect",
      "shoot", "softly", "state", "strange", "bar", "birth", "curl", "dirt",
      "excuse", "lord", "lovely", "monster", "order", "pack", "pants", "pool",
      "scene", "seven", "shame", "slide", "ugly", "among", "blade", "blonde",
      "closet", "creek", "deny", "drug", "eternity", "gain", "grade", "handle",
      "key", "linger", "pale", "prepare", "swallow", "swim", "tremble", "wheel",
      "won", "cast", "cigarette", "claim", "college", "direction", "dirty",
      "gather", "ghost", "hundred", "loss", "lung", "orange", "present", "swear",
      "swirl", "twice", "wild", "bitter", "blanket", "doctor", "everywhere",
      "flash", "grown", "knowledge", "numb", "pressure", "radio", "repeat",
      "ruin", "spend", "unknown", "buy", "clock", "devil", "early", "false",
      "fantasy", "pound", "precious", "refuse", "sheet", "teeth", "welcome",
      "add", "ahead", "block", "bury", "caress", "content", "depth", "despite",
      "distant", "marry", "purple", "threw", "whenever", "bomb", "dull",
      "easily", "grasp", "hospital", "innocence", "normal", "receive", "reply",
      "rhyme", "shade", "someday", "sword", "toe", "visit", "asleep", "bought",
      "center", "consider", "flat", "hero", "history", "ink", "insane", "muscle",
      "mystery", "pocket", "reflection", "shove", "silently", "smart", "soldier",
      "spot", "stress", "train", "type", "view", "whether", "bus", "energy",
      "explain", "holy", "hunger", "inch", "magic", "mix", "noise", "nowhere",
      "prayer", "presence", "shock", "snap", "spider", "study", "thunder",
      "trail", "admit", "agree", "bag", "bang", "bound", "butterfly", "cute",
      "exactly", "explode", "familiar", "fold", "further", "pierce", "reflect",
      "scent", "selfish", "sharp", "sink", "spring", "stumble", "universe",
      "weep", "women", "wonderful", "action", "ancient", "attempt", "avoid",
      "birthday", "branch", "chocolate", "core", "depress", "drunk",
      "especially", "focus", "fruit", "honest", "match", "palm", "perfectly",
      "pillow", "pity", "poison", "roar", "shift", "slightly", "thump", "truck",
      "tune", "twenty", "unable", "wipe", "wrote", "coat", "constant", "dinner",
      "drove", "egg", "eternal", "flight", "flood", "frame", "freak", "gasp",
      "glad", "hollow", "motion", "peer", "plastic", "root", "screen", "season",
      "sting", "strike", "team", "unlike", "victim", "volume", "warn", "weird",
      "attack", "await", "awake", "built", "charm", "crave", "despair", "fought",
      "grant", "grief", "horse", "limit", "message", "ripple", "sanity",
      "scatter", "serve", "split", "string", "trick", "annoy", "blur", "boat",
      "brave", "clearly", "cling", "connect", "fist", "forth", "imagination",
      "iron", "jock", "judge", "lesson", "milk", "misery", "nail", "naked",
      "ourselves", "poet", "possible", "princess", "sail", "size", "snake",
      "society", "stroke", "torture", "toss", "trace", "wise", "bloom", "bullet",
      "cell", "check", "cost", "darling", "during", "footstep", "fragile",
      "hallway", "hardly", "horizon", "invisible", "journey", "midnight", "mud",
      "nod", "pause", "relax", "shiver", "sudden", "value", "youth", "abuse",
      "admire", "blink", "breast", "bruise", "constantly", "couple", "creep",
      "curve", "difference", "dumb", "emptiness", "gotta", "honor", "plain",
      "planet", "recall", "rub", "ship", "slam", "soar", "somebody", "tightly",
      "weather", "adore", "approach", "bond", "bread", "burst", "candle",
      "coffee", "cousin", "crime", "desert", "flutter", "frozen", "grand",
      "heel", "hello", "language", "level", "movement", "pleasure", "powerful",
      "random", "rhythm", "settle", "silly", "slap", "sort", "spoken", "steel",
      "threaten", "tumble", "upset", "aside", "awkward", "bee", "blank", "board",
      "button", "card", "carefully", "complain", "crap", "deeply", "discover",
      "drag", "dread", "effort", "entire", "fairy", "giant", "gotten", "greet",
      "illusion", "jeans", "leap", "liquid", "march", "mend", "nervous", "nine",
      "replace", "rope", "spine", "stole", "terror", "accident", "apple",
      "balance", "boom", "childhood", "collect", "demand", "depression",
      "eventually", "faint", "glare", "goal", "group", "honey", "kitchen",
      "laid", "limb", "machine", "mere", "mold", "murder", "nerve", "painful",
      "poetry", "prince", "rabbit", "shelter", "shore", "shower", "soothe",
      "stair", "steady", "sunlight", "tangle", "tease", "treasure", "uncle",
      "begun", "bliss", "canvas", "cheer", "claw", "clutch", "commit", "crimson",
      "crystal", "delight", "doll", "existence", "express", "fog", "football",
      "gay", "goose", "guard", "hatred", "illuminate", "mass", "math", "mourn",
      "rich", "rough", "skip", "stir", "student", "style", "support", "thorn",
      "tough", "yard", "yearn", "yesterday", "advice", "appreciate", "autumn",
      "bank", "beam", "bowl", "capture", "carve", "collapse", "confusion",
      "creation", "dove", "feather", "girlfriend", "glory", "government",
      "harsh", "hop", "inner", "loser", "moonlight", "neighbor", "neither",
      "peach", "pig", "praise", "screw", "shield", "shimmer", "sneak", "stab",
      "subject", "throughout", "thrown", "tower", "twirl", "wow", "army",
      "arrive", "bathroom", "bump", "cease", "cookie", "couch", "courage", "dim",
      "guilt", "howl", "hum", "husband", "insult", "led", "lunch", "mock",
      "mostly", "natural", "nearly", "needle", "nerd", "peaceful", "perfection",
      "pile", "price", "remove", "roam", "sanctuary", "serious", "shiny",
      "shook", "sob", "stolen", "tap", "vain", "void", "warrior", "wrinkle",
      "affection", "apologize", "blossom", "bounce", "bridge", "cheap",
      "crumble", "decision", "descend", "desperately", "dig", "dot", "flip",
      "frighten", "heartbeat", "huge", "lazy", "lick", "odd", "opinion",
      "process", "puzzle", "quietly", "retreat", "score", "sentence", "separate",
      "situation", "skill", "soak", "square", "stray", "taint", "task", "tide",
      "underneath", "veil", "whistle", "anywhere", "bedroom", "bid", "bloody",
      "burden", "careful", "compare", "concern", "curtain", "decay", "defeat",
      "describe", "double", "dreamer", "driver", "dwell", "evening", "flare",
      "flicker", "grandma", "guitar", "harm", "horrible", "hungry", "indeed",
      "lace", "melody", "monkey", "nation", "object", "obviously", "rainbow",
      "salt", "scratch", "shown", "shy", "stage", "stun", "third", "tickle",
      "useless", "weakness", "worship", "worthless", "afternoon", "beard",
      "boyfriend", "bubble", "busy", "certain", "chin", "concrete", "desk",
      "diamond", "doom", "drawn", "due", "felicity", "freeze", "frost", "garden",
      "glide", "harmony", "hopefully", "hunt", "jealous", "lightning", "mama",
      "mercy", "peel", "physical", "position", "pulse", "punch", "quit", "rant",
      "respond", "salty", "sane", "satisfy", "savior", "sheep", "slept",
      "social", "sport", "tuck", "utter", "valley", "wolf", "aim", "alas",
      "alter", "arrow", "awaken", "beaten", "belief", "brand", "ceiling",
      "cheese", "clue", "confidence", "connection", "daily", "disguise", "eager",
      "erase", "essence", "everytime", "expression", "fan", "flag", "flirt",
      "foul", "fur", "giggle", "glorious", "ignorance", "law", "lifeless",
      "measure", "mighty", "muse", "north", "opposite", "paradise", "patience",
      "patient", "pencil", "petal", "plate", "ponder", "possibly", "practice",
      "slice", "spell", "stock", "strife", "strip", "suffocate", "suit",
      "tender", "tool", "trade", "velvet", "verse", "waist", "witch", "aunt",
      "bench", "bold", "cap", "certainly", "click", "companion", "creator",
      "dart", "delicate", "determine", "dish", "dragon", "drama", "drum", "dude",
      "everybody", "feast", "forehead", "former", "fright", "fully", "gas",
      "hook", "hurl", "invite", "juice", "manage", "moral", "possess", "raw",
      "rebel", "royal", "scale", "scary", "several", "slight", "stubborn",
      "swell", "talent", "tea", "terrible", "thread", "torment", "trickle",
      "usually", "vast", "violence", "weave", "acid", "agony", "ashamed", "awe",
      "belly", "blend", "blush", "character", "cheat", "common", "company",
      "coward", "creak", "danger", "deadly", "defense", "define", "depend",
      "desperate", "destination", "dew", "duck", "dusty", "embarrass", "engine",
      "example", "explore", "foe", "freely", "frustrate", "generation", "glove",
      "guilty", "health", "hurry", "idiot", "impossible", "inhale", "jaw",
      "kingdom", "mention", "mist", "moan", "mumble", "mutter", "observe", "ode",
      "pathetic", "pattern", "pie", "prefer", "puff", "rape", "rare", "revenge",
      "rude", "scrape", "spiral", "squeeze", "strain", "sunset", "suspend",
      "sympathy", "thigh", "throne", "total", "unseen", "weapon", "weary"
  ];
  