text: (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
  "use strict";exports.__esModule=!0;var Helper=require("./helper"),Config=require("./config"),PasswordMeter;!function(t){var e=function(){function t(){this.data={}}return t.prototype.setConfig=function(t){this.data.config=t},t.prototype.getConfig=function(){return this.data.config},t.prototype.setJquery=function(t){this.data.jquery=t},t.prototype.getJquery=function(){return this.data.jquery},t.prototype.setLzstring=function(t){this.data.lzstring=t},t.prototype.getLzstring=function(){return this.data.lzstring},t.prototype.setHelper=function(t){this.data.helper=t},t.prototype.getHelper=function(){return this.data.helper},t.prototype.setDictionaries=function(t){this.data.dictionaries=t},t.prototype.getDictionaries=function(){return this.data.dictionaries},t.prototype.setUI=function(t){this.data.ui=t},t.prototype.getUI=function(){return this.data.ui},t.prototype.setNN=function(t){this.data.nn=t},t.prototype.getNN=function(){return this.data.nn},t}();t.instance=new e,t.instance.setJquery($),t.instance.setLzstring(LZString);var n=new Helper.Helper.Helper($,LZString,!0);t.instance.setHelper(n);var r="undefined"==typeof passwordMeterConfig?Config.Config.passwordMeterDefaultConfig:passwordMeterConfig;t.instance.setConfig(r),"undefined"!=typeof window&&(window.PasswordMeter=t.instance)}(PasswordMeter=exports.PasswordMeter||(exports.PasswordMeter={}));
  },{"./config":3,"./helper":6}],2:[function(require,module,exports){
  Array.prototype.toHumanString=function(){var t=this.length;if(0==t)return"(empty)";if(1==t)return this[0].toString();for(var r=this[0].toString(),i=1;i<t-1;i++)r+=", "+this[i].toString();return r+=" and "+this[t-1].toString()},Array.prototype.removeDuplicates=function(){return this.filter(function(t,r,i){return i.indexOf(t)==r})},Array.prototype.contains=function(t,r){var i=this.length;for(r=void 0!==r&&r;i--;){if(this[i]==t)return!0;if(!r&&"string"==typeof t&&"string"==typeof this[i]&&t.toLowerCase()==this[i].toLowerCase())return!0}return!1},Array.prototype.listSubstringsMinMax=function(t,r){for(var i=new Array,n=0,o=0;o<this.length;o++)n=Math.max(n,this[o].length);t=void 0!==t?t:2,r=void 0!==r?r:n;for(var e=r;e>=t;e--)for(var s=0;s<this.length;s++)if(this[s].length>=e)for(var h=0;h+e<=this[s].length;h++)i.push(this[s].substring(h,h+e));return i};
  },{}],3:[function(require,module,exports){
  "use strict";exports.__esModule=!0;var Config;!function(e){e.passwordMeterDefaultConfig={colors:{compliant:"#006600",noncompliant:"#660000"},symbols:{compliant:"&#x2714; ",noncompliant:"&#x2751; "},remindAgainstReuse:!0,ignoredWords:["pittsburgh","steelers","stillers","penguins","pens","pirates","bucs","carnegie","mellon","university"],forbiddenPasswords:["123456","password","12345","12345678","qwerty","1234567890","1234","baseball","dragon","football","1234567","monkey","letmein","abc123","111111","mustang","access","shadow","master","michael","superman","696969","123123","batman","trustno1"],length:{active:!0,minLength:8,maxLength:0},classCount:{active:!1,minCount:1,maxCount:4},classRequire:{active:!1,upperCase:!1,lowerCase:!0,digits:!0,symbols:!1},classAllow:{active:!1,upperCase:!0,lowerCase:!0,digits:!0,symbols:!0},forbidPasswords:{active:!0,includeLargerList:!0},forbidChars:{active:!1,list:[]},repeatChars:{active:!0,limit:3},usernameDifference:{active:!0,limit:1},neuralNetworkConfig:{intermediate:"basic_3M.info_and_guess_numbers.no_bloomfilter.json",file:"basic_3M.weight_arch.quantized.fixed_point1000.zigzag.nospace.json",zigzag:!0,scaleFactor:300}}}(Config=exports.Config||(exports.Config={}));
  },{}],4:[function(require,module,exports){
  "use strict";exports.__esModule=!0;var Constants;!function(L){L.LOWERCASE_LETTERS=new RegExp("[a-z]"),L.LOWERCASE_LETTERS_GLOBAL=new RegExp("[a-z]","g"),L.UPPERCASE_LETTERS=new RegExp("[A-Z]"),L.UPPERCASE_LETTERS_GLOBAL=new RegExp("[A-Z]","g"),L.NONALPHA=new RegExp("[^A-Za-z]"),L.DIGITS=new RegExp("[0-9]"),L.DIGITS_GLOBAL=new RegExp("[0-9]","g"),L.SYMBOLS=new RegExp("[^A-Za-z0-9]"),L.SYMBOLS_GLOBAL=new RegExp("[^A-Za-z0-9]","g"),L.startASCII=32,L.endASCII=126,L.commonStructures=["LLLLLL","LLLLLLLL","LLLLLLL","DDDDDDDD","DDDDDD","LLLLL","DDDDDDD","LLLLLLDD","LLLLLLLLL","LLLL","DDDD","LLLLLLLD","LLLLLD","LLLLLLLLLL","LLLLLDD","LLLLDDDD","LLLLLLD","LLLLDD","LLLLLDDD","DDDDD","LLLDDD","LLLDDDD","DDDDDDDDD","LLLLLLLLLLL","DDDDDDL","LLLLLDDDD","LLLLDDD","LLLLLLLDD","DDDDDDDDDD","LLLLLLLLLLLL","LLLLLLDDDD","DDDDDDDDL","UUUUUUUU","LLLLLLDDD","LLDDDD","DDDDDDDDDDD","ULLLLL","LLLLLLLLDD","LLLLLLLLD","ULLLLLLL","UUUUUU","ULLLLLLD","LLLLLLLLLLLLL","ULLLLLL","LLLLLLLDDDD","LLLLLLLDDD","ULLLLLD","DDDDLLLL","LLLLLLLLLLLLLL","LLLLD","LLDDDDDD","DLLLLLLL","UUUUUUU","LLLLLLLLLD","DDLLLLLL","DDDDLL","DDDDDDLL","LDDDDDD","LLLDDDDD","ULLLLLDD","LLLLLLLLDDDD","DDDLLL","LLLLLLLLLDD","DDDDDDDL","LLLLLLLLLLLLLLL","DDDDLLL","DULLLLL","DULLLLLL","LLLDDDDDD","ULLLLD","LLLLLLLLDDD","DLLLLL","DDDDDDLLL","LLLLDLLL","LLLLDDDDDD","ULLLL","LLLDD","LDDDDDDD","LLLDLLLL","LLLLLLLLLLLLLLLL","DDLLLL","LLLDDLLL","DDDDDDDDDDDD","DLLLLLL","DDLLLLL","LLLLLDLL","LLLLLLLLLLDD","LLDDDDD","LLLLLDDDDDD","DDDLLLLL","LDDDDDDDD","DDDDDDLLLL","UUUUU","LLLLLLDL","LDDDDD","ULLLDDDD","ULLLLDDD","ULLLLLLLL","LLLLLLLLLDDD","DDDDDL","LLLLLLDDDDDD","LLLLLLLLLLDDDD","DULLLL","ULLLLDD","LLLLDDDDD","LLLLDL","LDLLLLLL","LLDLLLLL","LLLDLL","LLDLLL","LLLLLLLLLLD","LLLDLLL","LLLLLDDDDD","DDDDLLLLL","LDLDLDLD","DDDDDDDDLL","DDDDDDDDLLL","LLLLLLLLLDDDD","DDDLLLL","DDDDDDDDLLLL","DLLLLLLD","LLDDD","LDLDLD","LLLD","DDDDDDDDDL","DLLLDLLL","LDLLLL","LLLLDDDDDDDD","LLLLDLL","UUUU","ULLLLDDDD","LLLLLDL","ULLLLLLDD","DDLLLLDD","LLLLLLDDDDD","LLDDLL","DDDDLLLLLL","DDDDDLLL","DDDDDDDDDDDL","DDDDDDDDDDL","LLLDDDDDDDD","LDDDDL","LLLLDDLL","ULLL","LLLLLLLLLLLDD","LLLLLLLLLLLLLLLLL","DDDDDDLLLLL","LLLLLLLLLLLLDD","LLLLLLLLLLLD","ULLLLLDDDD","LDDDLL","ULLLLLLLLL","ULLLDD","LLLDDDDDDD","LLDDDDDDD","LLLDLLLD","DDLLLDD","DDDDDDDLL","LLDDDDDDDD","ULLLLLLLD","LLLLLDDL","DLDLDLDL","LLDDDDLL","DDDDDDDLLL","DLDLDL","ULLLLLDDD","LLLLLDDDDDDDD","UUUUUUDD","LLDLLLL","LLLLLLLLLLDDD","LDDDDDDL","DDDDDLL","ULLLD","LLLLDDDDDDD","LLDDLLLL","LLLDDDLL","DDDDDDLLLLLL","DLLLLD","DLLLL","LLLLLLLLLLLLLLLLLL","LLLDDLL","ULLLLLLLDD","LLDDLLDD","UUUUUUUUU","LLLLLLLLLLLDDDD","DULLL","ULLLDDD","DDLLLLLLL","LLL","UUUUDDDD","DDLLDD","DDDLLLLLL","DDDDDDDDLLLLL","LLLDDL","DLLLLLD","DDDDDDDLLLL","LDLLLLL","UUUDDDD","LLLLLLLDDDDDD","DLLLLLLLL","LLLLLLLLLLLDDD","LLLLLLLLLLLLLDD","LLLLLLDDDDDDDD","UUUUUD","UUUUDD","LDDLLLLL","LLLLDLLLL","DDDDLLLLLLL","LLLLLDDDDDDD","DDDDL","UUUDDD","LLLLLLLLLLLLD","UUDDDD","UUUUUUUD","LLLLLLLLLLLLDDDD","LDLDLDLDLD","LDDD","LLDLLD","DDDDDDU","LLLLDDL","LLLDDDDL","UUUUUDD","LLLLLLLDDDDD","DDLLLLLDD","UDDDDDD","LLDD","LDDDD","LLDDDLL","ULLLULLL","DDDDLLLLLLLL","LDLLLDLL","DDDDDLLLL","LDDLLL","LLLLLDLD","ULLLLLLDDD","ULLLLU","DDLLL","LLDDLLL","ULLLLLLDDDD","LDDLDD","LDLLDL","ULLLLLLLLLL","LLDLLLDL","","LLLLDLLD","LLDLLDLL","LLLDL","LLDLLLLD","ULDDDDDD","ULLULL","LLLDDDLLL","UUUUUDDD","LLDLL","UUUUUUD","LLLLDDDL","LLLLLLLLLLLLLD","LLLLLLLLDDDDDD","UUUUUUUUUU","LDLLLLDL","LLLLDLDL","LDLLDLLL","LLLLLLLLLLLLLLLLLLL","DLDLLLLL","DDDLLLDDD","DDDDDLLLLL","LLLDDDL","DLLLLDLL","LLLDLLDL","LLLLLLLLLLLLDDD","LDDDDDDDDD","ULLLLLLLLD","LDLDLLLL","LLLLLLLLLLLLLLDD","DDLLLLLLLL","LLDLDLLL","DLLLLLDL","DDDDDDDDU","DDDDDDDDLLLLLL","LDDDDDDDDDD","LDLLLLLD","DDLLLLLLDD","LLDDDL","LLLDLDLL","DLLL","ULLDDDD","DDLLDLLL","DLLLLLLLLL","DLLDLLLL","DDDLL","LLLLLLDDDDDDD","DDD","LLLLLLLDDDDDDDD","LLLDLD","DDLLLLLD","DLLDLL","LLLLLLDLL","UUDDDDDD","DDDDDDDDDLLL","LLDDDLLL","ULLLLLLLLDD","ULULLL","DDLLDDLL","DLLLLLDD","LDLLL","DDDDDDDLLLLL","DDLDDLDDL","ULULUL","ULLLUL","LDLLLD","UDDDDDDDD","LLLLLDLLL","LDLDLL","ULLLLULL","DDDDDDDDDDDDD","ULLLLLLLDDDD","UUUUDDD","LLLLLLLLLLLLLLLLLLLL","DDDDDDDDDDDDDD","DDDLDDD","DDLDDL","DLLLDL","ULLLUU","DLDLDLDLDL","ULLLLLLLDDD","ULLDDD","LLLLLLDLLL","DDDLLLLLLL","DDDDDDDDDDLL","DDLLLDDDD","UDDDDDDD","ULUULL","ULULLU","ULLLLLLLLLD","ULUULU","DDDDDDDDDLL","LLLLLDLLLL","DDDDDDDDDDDLLLL","ULUUUL","ULUUUU","ULLUUU","ULLULU","ULLUUL","LLDLDL","LLLLLLLDL","LLLLLLLS","LLDL","LLLLLLLLLLLLLLD","LDDDDDDDDL","LDDDLLL","LLLLLLS","ULULUU","LDDDDDDDDDDD","LLLLLLLLLLLLLDDD","LLLLLLLLLDDDDDD","DDDDDDLLLLLLL","DDDDDDDDDDLLL","LLLDDLLD","DDDLLDDD","LDDLDDLDD","LLLDLLLLL","ULLLLLLLLLLL","LLLLDDLLL","DDLLLD","LLLDDDDLLL","DDDDDDDDDDDLLL","LDLDLDL","LLLLLLLLDDDDD","LLLLSLLL","LLLLLLLLDDDDDDDD","DLLLDD","LLLLDLD","DDDDDDDDDDDDDDDD","DLDLLL","UUUUUDDDD","DDDDDDDDDDLLLL","LLLLDLLLLL","DLLLD","DDDDDDDU","DDDDDDUU","DDDLLLDD","LLDDDDL","DLLLLLLLD","LLLSLLL","LDDLLLL","ULLLDDDDDD","LLLLLLLLLLLLLDDDD","DDLLLLD","ULLULLLL","LLLDDLLLL","LLLLDDLLLL","DDDLLLLDDD","LDLL","LDDDDDDDL","LLLDLLLLLL","DDDDDDDDDLLLL","LDDDLLDD","LDDDLLLL","LLDDLLLD","DDDDDDDDDDDLL","LLLDLLDD","DDLL","DDDDUU","DDLDDLDD","DDDDDDLLLLLLLL","DDLDDDD","DDDDLLDD","LLLLLS","ULLDDDDDD","LLDLLDL","LDLDLDLL","LLLLDLDD","LDLLLLLLL","DDDLLLD","LLDLLLDD","ULLDDDDD","ULLLLLLU","ULDDDD","LLLDDLLLDD","UUUUUUUDD","LLLLLLLDDDDDDD","UUUDDDDD","LLDLLLD","UUDDDDD","LDLDL","UUUUUUUUUUU","LDLLLLDD","LLDLLLLLL","LLLDDLDL","DLLLDLL","DLLLLDD","LLLLLSDD","DDDDULLL","DDLLDDDD","LLLLLLLDLL","DLLLLDL","LLLLLLLLDL","LDLLLDL","DLDLDLD","LLDLDD","LLLDDDDDDDDD","ULLLLDDDDDD","LDDDLDDD","DDDDDDDDDDDDDDD","DDDDDDDDDDDDL","ULLULLL","LDLDLDLDLDLD","LLLDLLD","DDDDDDDLLLLLL","LDDDDDL","DDDLLLLLLLLL","LLDDL","LLLLLLDDL","LDLLDLL","LDLLDLDL","LLLLLLLLLLLLLLLDD","UULLLLLL","ULLLLLLLLLDD","LDDDDLL","LDLLDLLD","DDDLDD","DDLLLLLLLDD","LLLLLLLLS","UUUUUUDDDD","LLLLDDLD","UDDDDD","LLDDLDLL","DDDDDDDDLLLLLLL","UUUDDDDDD","DDDDLDDDD","LLDDLD","LLLLLDDLLL","DDLLLDDD","UUUUUUDDD","LLLLLDDLL","LLLLDDDDDDDDDD","DDDLLLLLLLL","LLLLLLLLLDDDDD","LDLLDD","LLLLLLLLLLLLLLLLLLLLL","LLLLLLLLLLLLLLLD","LLLSLLLL","DDDDLD","DDLDDD","DDDDUUUU","DLDLL","LDLLLLD","DLDLLLDL","LLLLSLLLL","LDLDLLDL","DDLDLLLL","DDDDDDDDDDDLLLLL","LLLLLLLLLLDDDDDD","UUUUUUUUUUUU","LLLDLDL","LLLLDDDDDDDDD","DDDDDLLLLLL","DDULLLLL","ULLLULL","LLLLLLLLLLLLLLDDDD","DLLDLLDL","LLLDLDLD","LLLDDDDDDDDDD","DDDDLLLLDDDD","LLLLSL","LDLDLLL","DLLLLLLLLD","LDLLLDLD","DDDDLDD","ULDDDLL","LLDLLLLLLL","LLLLLLSDD","DLDLLLL","ULLLLLLLLDDD","LLDLDLL","DDDDDDS","DDLLLLLLLLL","LDLLLDDL","ULLLLDLL","DDLLLDLL","DDLLDL","LLLLLSLLL","DLLLDDLL","LDLDLDLDL","DLLLDLDL","DLLDLLL","DLLDL","DLDLDLLL","LLDDLLD","DDDLLLLLDDD","DDSDDSDDDD","LLDDLLDL","DLLDLLLD","DLLLDDD","LLDLLDDL","LLLLLU","DLLDLDLL","LDDLDL","LDDLLD","LLDLLDLD","DDLLDDD","DDDDLLLD","DLLDDL","ULLLLLDDDDDD","DDDLDDDL","DDLLD","LLLLLDLLLLL","LLLDDLDD","LLDLDLLD","LDDDDLLL","DLLDDLLL","LLLLDDDDDDDDDDD","DLDLLDLL","LLDDDDDDDDD","DDDDDDUUU","DLDDLLLL","DDDLLD","LDDLLLLD","LDLLLLLLLL","DDDDUUU","LLDLDLDL","DLLLLDLD","DDLLLLDDDD","ULLLLDDDDD","LUULDDL","ULLLDDDDD","LDDLLLDL","ULLLLLLLLDDDD","DDLLLLDL","DLLLLLLLLLL","ULLLLLU","LLLLLSLL","DLLLLDDL","LDLDLLLD","DLDLLLLD","UUUDD","LDLDDLLL","LLLLLLDLLLL","LDLLD","DDDDDDUL","LDLD","DLLLLDDD","LDLLDDLL","UUUUD","LDDLLDLL","LLLLLLLLDDDDDDD","LLLDLDDL","DLLLDLLD","DDDDDDDDDDLLLLL","LLLLLDDDDDDDDD","DDDDDDDDUU","LLLLLDDDDDDDDDD","ULDDDDDDDD","UUULLL","LLLLLSLLLLL","LLLLLSLLLL","DLDLLD","LLLSDDDD","LLDDDDDDLL","DLLLDDDD","DLDLD","ULLLLLLLLLLLL","LLLLLLULLLLL","LLDLDDLL","LLLLLLLLLLLLLLDDD","DDDDLLD","LLLDDDLD","ULLLLULLLL","LDDLL","DDLLLDDL","DDDLLLLD","DDDL","ULDDDDDDD","LLLLLLLU","DDDLLDD","LLLLLLLLLLDDDDD","DDLDD","LLLLLLLLLLLLLLLLLLLLLL","UDLLLLLL","LLLLSDD","LDDLDLLL","DLDDLL","LLLLSLLLLL","LLLLSLLLLLL","LLDDDDDDDDDD","DLDDDD","ULLLDLLL","LLLDDDDLL","DDDDLDDD","DLDLDLDLDLDL","ULLLLLUL","DDLDLL","UUULLLLL","UDDDDDDL","LLLLLLDDDDDDDDD","LLLLLLLLLS","LLSLLL","LLDLD","DDDLDDDD","LLLLLLLLLLLLLLLLDD","LLLDDLD","LLLLLLSD","UUUUUUUUDD","LDLDDD","LLDLLDD","DDDDLLLDDDD","DDLLLLLLLLDD","LLLLDDDDLLLL","DDDDDU","UUUDDDUU","DDDDDDDDLLLLLLLL","LLLLDLLLLD","UUUUUUUUD","LLLLSDDD","LLLLLDDDDDDDDDDD","DDDLLLLLLDDD","DLLDDD","DLLDLD","LLDDLLLLL","UDDDDDDU","LSLLLL","LLLLLLULLLLLL","DDDDDDDDDLLLLL","LLLLLLDDLL","DDDDDDDDS","LLLLLSDDD","LDDLLDDL","ULLULLDD","DLLLLLLDD","ULLLLULLL","LLDLLDDD","UULLLL","ULLLULLLL","LLLLLLSLLL","LLLDDLLLLL","UUDDDDDDDD","LLLLLLU","DDDDDDLLLLLLLLL","ULLLDDDDDDDD","DDLDL","DLLDD","LDLDDL","LDDLDDL","LLLLLLDDDDDDDDDD","LLLLLLSLLLLLL","DDDLD","DDDDDDLD","DDLLLLLDDDD","LDDLDDDD","UUDDDDDDD","DUUUUUUU","LDDL","DDDUUU","ULULLLLL","LDLDLDD","LLLDDDDDDDDDDD","DLLDDLLD","UUUUUUUDDD","LLLDLDD","DDDDLLLDD","LLLLLDDDL","ULLLLLDL","ULULULUL","LLLLLLLDDL","LDDLLLDD","ULLLLLLLLLLD","DDDULLLL","LLLSLL","LLLLLLSL","LLLDDDLLLDDD","LLLDDDLLLL","LLLLDDDLLL","LDLLLDDD","LLLSLLLLL","LLLLDDDDL","LLLLDDDLL","LDDDL","LLLLLLULLLLLLL","DDDDDDDDDDLLLLLL","LLLLLLLSDD","UDDDDU","LLLDLDDD","LLLLLSLLLLLL","LLDDLDD","DLDDL","LDLLLDD","LLLLLLDDLLL","DDLDLLL","DDDDDDDDDDDU","LLDDLDL","DLLDLLD","LDDDDLDDDD","LLLLLLSLLLLL","DDDDDDDDDLLLLLL","UUUUUUUDDDD","ULDDDDD","LLLDLLLDDD","DDLLDDL","ULLLLLDDDDD","LLDDDLLD","UUUULLLL","ULLLLLUU","DDDDDDDLLLLLLL","LLLLDDDLLLL","DLDDLD","DDDDLLDDDD","DDSDDSDD","ULLDLLLL","LDDLDDLD","DDDDDDDDUUU","DLLDDLL","DDDDDDDDDDDDDDDDDD","LLLLLLLLLLLLLLLDDD","ULLLU","LLLLLLDLD","UUDDDDUU","LLLLLDDDDL","LLLLLLLLLLLLLLLDDDD","LLLSDD","LLLLLLSLLLL","LLLLLLLLLDDDDDDD","LSLLLLL","LDDDLD","ULLLLDDDDDDDD","DDDDLLLLLDDDD","DDDDDDDDDU","LLLLSDDDD","LDDLDDLL","ULLLLUDD","LDLLDDDD","ULLULLLD","LLLDDDDDDLLL","LLDDDDDL","ULLDDLLL","DDDLDL","LLLLLSL","LDLLDLD","LDLLDLDD","LDLDLLD","DLDLDD","DDDDLLLLLLLLL","LLLLDDDDLL","LLLDLLLLD","DDLLDLL","DDLLLLLLDDDD","ULLDD","UUUDDDDDDDD","ULULLLL","DDLDDLLL","LDLDLLDD","ULLLULLD","DLLDLLDLL","DDUUUUUU","LDDLLDD","ULULDDDD","LLLLLLLLDLL","LLLLSLL","LLLLDLLLLLL","DDLLLLLLLLLL","LLDLLDLLD","LLLLLSDDDD","LLLLLLLLLDL","DLDLDLDLD","LLLLLSD","LLLLLDDLLLL","DDDDDDDDDDDDLLL","DLDL","LLLLDDLLLLL","LLLLLLLDLLL","LLSLLLLL","DDLLLLLLD","DDLDDDDD","LDDLLLLLL","LLDDDDLLL","DLDDDL","LLLLLDDLLLLL","LLLLLLLLLLLLLLLLLDD","LLLLLLLLLLLDDDDD","LLLLLLLSLLLLLL","LDDLLDL","LLLLLLUU","DULLLLLD","UUUUDDDDDD","DLLD","UUDDD","LLLLLLLDLLLL","LLLLLLLLLDDDDDDDD","LDLLDDL","DDULLLL","ULLLDL","DLLLDLLLDLLL","LLLLDDDDLLL","LDLDLDDD","LLDLDDDD","DLDDD","DDDDDDDDDDU","LLUULL","LLLLLLSDDD","UULLDDDD","LLLLUU","LDLDDLDL","DDDLLLDL","LLLLLLLLSDD","DDDLDLLL","UULLLLL","ULLLLLLLLLLDDDD","DDDDDDDDUL","ULLLDDDLLLL","LLLSDDD","DDLDDLL","DDDSDDD","LLLULL","DDDDUL","DDDDDLLLLLLL","UUUUDUUU","DLDLDLL","LDLDDLDD","LLLLLLLLLLLDDDDDD","DDDDULLLL","ULDLLLLL","DDLDLD","DDDDDDLLLLLLLLLL","DDDDDLDD","DDDLLLLLDD","LDLDLDDL","ULDLDD","LLLLLLDDDL","DLLLLDLLL","LLLUUU","LLLLLDDDLL","DDLLDLLD","DLLLDDDL","DDDDDDDDDDDDLLLL","DLLLDDL","LLDDLDDL","ULLLULLLLL","DLDLLLD","ULLDLL","DLDLLLDD","LSLLLLLL","DLLDDDLL","DLLLLDLLLL","DDDLLDLL","ULLDDDDDDD","LLLLLLLSD","LLLLUL","DLLDLLDD","LLLSLLLLLL","UDLLLL","LLLLLLSLLLLLLL","UUULLLDD","DDLDDLD","LLLLLLLLLLLLLLLLD","DDDDDDDS","LULLLL","LLLLLLSDDDD","DDUUUUU","UDDDDDDDDD","LLSLLLL","DDDDLLLLDD","LLLLLLLSLLLLL","DDDLLLLDD","LDDLLLD","LLLLDLLLD","LLLLULLL","DDULLL","DDSULL","LDDDLLLD","LDDDDLDD","DDDDDDDDDDDDLL","LLLLLLLULLLLL","ULLLLLLLLLDDDD","UUUUUDUU","DDDDDLD","ULLDDDDDDDD","LLLLLLLDDDDDDDDD","ULLLLULLLLL","DDLLLDL","LLLLLSLLLLLLL","UUUDUUUU","DDUUUU","DLLLLLLLLLLL","LDDLD","LLLLLLULLLL","LLDLDLDD","UULLLLDD","ULUL","ULLLLUUU","ULLLDDDDDDD","LDDDLDLL","DLDDLDLL","LDLDDDDD","LLDDDDDDL","ULLLLLUD","DDDDLLLLLLDDDD","UULLLDDD","ULLLLLDDDDDDDD","DLLLDLLLL","LDDLLDLD","DLLLLLLDL","LLDDLLLLLL","DLDDDLLL","LLLLLULL","DDDDDDDUU","DDDLLLDDDLLL","UUDDDUU","LDDLDLDL","LDDDDDLL","DDDDDDDDDDDDDDDDDDDD","UULLUU","LLDDDLDD","UUU","LULULU","UUUDLLLL","UDDDUU","DLLLDDLD","DDLLDLDL","DDDUUUUU","LDLLDDDL","DLDDDDDD","SLLLLL","LLLDLLLLLLL","UDDDDDDDDL","LDLLDDLD","UULLL","LLDDDLDL","LLLLLDLLD","ULLLDLL","DDLDDLDDDDL","LLLLU","UUUUUUDU","ULLLLLULLLL","DDLDDDDL","ULLLLLULLLLL","DLLDDLDL","DLLLLLLLLLD","LLLLLLLSLLLL","UDDDDDDDDDD","ULLLLLULLL","LDDLLDDD","DLLLDLD","DDDDDUU","DDLDDLDDDD","UUUUUUUUUD","DLDLLDL","LLDDDDDDDDLL","LLDLLLLDL","LLLLLLLLLLLLLLLLLLLLLLL","DLLDDLD","DLDDLLL","DLDLDDLL","DDDDULL","LDDDLLDDD","LLDDLDLD","LLLLLLLLLLLLLLLLDDDD","DDLLLLDDD","LDLDDDLL","LLLDDDDLLLL","DLLDLDL","DLDLDLLD","LDLLLLDLL","LLULLLLL","UUUUULLL","UUUUUUUUDDDD","ULLLLDDDDDDD","LDDDDDDDDDL","UDUDUD","DUUUUU","LLLLSLLLLLLL","UDDDD","DLDDLLDL","DDLDLDLL","ULLULULL","DDDLDDL","DLLDLDLD","LLDLDDL","LLULLL","UDLDLDLD","UUULLLL","LLLLLLLULLLLLL","DLDDLLLD","ULLLLDL","LLDDDDDDDDDDD","LLDLDDLD","LLLLLLSLL","DDLDLLDL","DDLLLDLD","DDL","LLDLDLD","LDDDDDDDDDDL","LDDLDLLD","DLLDDDD","DDLDLLLD","ULLDLLL","DLLLDLDD","LDLDD","UDDDDDDDL","LLLLLLDDLLLL","DDDDDUUU","LDDLLLLLLL","UDUDUDUD","DDDLDLL","DLDLLDDL","LLLLLLSLLLLLLLL","DLLDLDDL","ULLULLD","LLLLDLLDD","LDDLDLDD","ULLLLLLLLLLDD","ULLLLLLDDDDDD","ULLLLLLLLLLLLL","ULLSDD","LDDDLDD","UDLLLLL","DLDDDDD","LLLLLLLLLLDDDDDDDD","LUUUUU","DDU","LULULL","LLLLLLLLLLLLLLLLLLLLLLLL","LLLLLLLSLLLLLLL","LDLDDLLD","LLLLLLLSLL","DLDLLDLD","DLDLLLLLL","UUUUUUUUUDD","LDDDLLDL","UUUUUUUUUUUUU","DDUUU","LDLLLLLLD","LDLDDDD","DDDDLLDL","DSDSDDD","DLDDLLD","LLLDDDLLLD","LDDLDDD","LLLLLLLDLD","LLULUL","LLDDLDDD","ULLLLLULL","LLLLDDLLLLDD","LDLDDLL","LLLDDLLDD","DLDLDLDD","LLLLLLLLLSDD","LLDDDDDLL","DDDDDLLD","LLLLLDLDL","LLLLLLDLLLLL","UUDUUUUU","LLLLLLLLSLLLLLL","LLLLLLUUUUUU","SSSSSS","LLLLLLLLLLLLDDDDDD","DDULL","LLLLLLLLLLSLLLLL","DDDDDS","LLDLDDD","DLLLLLDLL","ULLLLUD","DUUUU","LLLLLLLLSL","DLDDLDDL","LLLLLLLLLLLSLLLL","LLLLLDDDLLL","ULDLLL","ULLLLLLULLLL","UUUDDDDDDD","ULLLULLU","UULLLU","ULLLULUL","LDDLDLL","DUUUUUU","DDDDLDDDDL","LLLLLLLLSLLLLL","DDDLLDL","LLLLLLLLLDLL","ULLLLLLDDDDD","LLLLLLLSLLL","LLLLLLLLLSLLL","UDUUUUUU","LDLDLLLLL","DDDDDDUUUU","DULLLULL","DDDDDDULLL","LLDLLLLLLLL","ULLULLUL","LLDDLLLDD","LLLLUD","UUUD","ULLDDULL","ULLLLLLLLLDDD","LLLLLLDDDDL","DDDDDDDLLLLLLLL","UULLLLLD","LDLLDLLLL","LLLULLLL","LLDLLLLDLL","DDLDDLDDLDDL","LLLLLSLLLLLLLL","LDLLDDD","ULULU","LULLUL","LLLULU","LLLLLLLLLLLSLLLLL","DDDDDDLU","UULUUL","LLDDLLDDLLDD","LLLLLLLSL","DDLDDLDL","LLLLLLUD","UUUUUULL","UDDDUDDD","LLLDDDLLLLLL","ULLLUD","ULLLDDLL","LDDDDDDDDDDDD","UDDDDDDDDDDD","ULULL","ULLLLDDL","DDLLDDDL","DDDDLDDL","SLLLLLL","LLLLLLLDDLL","DDDDLLLLLDD","ULULULU","SLLLLLLL","LLLLDLLDL","UUDDUU","DDLLLLLLLLLDD","UUUULU","UUUDDUUU","UUULUU","LLUULU","DLLDLLLLL","LLUUUU","ULLULULU","ULUUUULL","DDLDDDLL","LLDLLLLLD","ULLLDULL","DDDDLLLLLLLLLL","ULLULLLU","LLLLLLLLLLSLLLL","DULLLLLLL","ULLUDDDD","LLLLLDDDDLLLLL","LLLLDDDDDDDDDDDD","DDDDU","DDDULL","DDULLLDD","LLLLLLLLSLLLL","LLDLDDDL","LLLDLDLLL","LLLLLLLSDDDD","LLDDDLD","UUUUDDDDD","DSDSDSDDD","DDDDULLLLL","DDLDDLLD","LLLLLLLULLLLLLL","ULLULLLLL","ULULLLUL","LDLLLLLLLLL","UUUULL","LLLDLLDLL","LDLLLLLDL","ULULULLL","DDDLLLLLLLDDD","DDUUUDD","LLLLLLLLULLLLL","LDDLDDLDDLDD","ULLUULLU","DLLLLLLU","ULULLLLU","LDDLDLD","LLLUDD","UULULL","LLLLLLLLLLLLLLLLDDD","UUUUUDDDDDD","LLDLLLDLL","DDDLDDLL","DDDUUUU","LDDDLLD","LLLLLLULLLLLLLL","DDDDDDULL","LLLLLLLLSLLL","UUUUUUUUDDD","LDLDDLD","ULLLUULL","ULULLULL","LLLLLLLLDLLL","LLLLLLLLLLSLLL","LLLLLLLDDLLL","DDDDDDDDDDS","LLLLLLLLLLLLDDDDD","UDDDDDDDDU","LLLLLLLLLLDL","ULLLLULU","LLUUUL","DUUUUUUD","LUULUU","LLLLLLLLLLLSLLL","ULULUUUL","LLLLLLLLLLLLSLLL","LDDDDDDLL","UUULLLDDD","ULLLULLLLLL","DDLLDDLD","ULULLULU","LLLLLLLSDDD","LLLLLLLLLSLLLL","DDLLDLD","ULLUL","LLLLLLLLLLLLLLLLLLDD","LLLLLLLLLSLLLLLL","DUDLUDUL","DLLLLDDDD","DDLDLLDD","UUULUL","LLLLLLLLDDL","LLLLLLLLLSLLLLL","ULLUUUUU","SSSSS","UULLLULL","DLDLLDDD","ULLULLUU","ULULUULU","LULUUU","LLLLLLLLSLLLLLLL","LLLLLLLSLLLLLLLL","LLLLLUUU","LLLDDLLLLLL","ULLLLUL","DDUUUUDD","DDLDDDL","LDDLDDLDDDD","LLLLUUUU","UULLLLLU","LLLULLL","ULULLLUU","ULLUULLL","DDDDDDDDDDDDDDL","LUULLU","LLLDLLLLLD","LLDDLLDDLL","LDDLDDLDDL","LLDDDLLLL","LLLDLLLDL","LUUULL","LUULLL","DLLDLDD","UULLUUUL","ULULLUUL","LDLDLDLDLDL","DDLDLDDL","ULUUULLL","UULLULLL","ULLLUUUU","DDUU","LLLDDDLLLLL","LLLLLLUUUUUUU","UUUDUUU","LLULUU","LLLLLLLLLLLSDD","ULLLLUUL","ULUULULU","LLLUUL","LLLLLDLLLLLL","LULLLLLL","UUDUUU","DDDDLDLL","LLSLLLLLL","LLLLDDDLLLLDDD","UUUULULL","UUULLUUL","LLLLLLLLLLLLSLLLLL","LULLL","DDDLLLDDDD","DDDDDDDDUUUU","LLLLDLDLL","LSLLL","DLDLDDDL","LDDDLLLLL","LDDDDDDDDDDDL","UULLLLUL","UULUUU","UUULLLLU","UULULU","ULUULULL","UUUUULUU","UUUDU","ULUULUUL","UUULLULL","ULLUUULU","ULULULLU","UULLLLUU","UUDUU","DULULLLL","UULLLUUU","DDDDLDL","ULLLULUU","UUULLLLD","LLLLLLLDLLLLLL","LLLLLLLLDLLLLLL","DDDLDLLD","DDLLLLLLLD","LLLLLLLLSLLLLLLLL","LLDLLDLLL","UUULULLL","LLLLLLDDDLLL","LLLDLLLDD","UUULUULL","ULLUULUL","UULUUULL","UULLULLU","LSLLLLLLL","LLLLSLLLLLLLL","DLLLLLDLLL","LDDDLLDDLLL","LLLSLLLLLLL","LDLLLDLLL","DLLLDLLLLL","LLLLSD","LLLLLDDDDLL","LLDDDLLDDD","LLLLLLDLDL","ULDDLLLL","LLLLDDLLLLLL","LLDLLLLLDL","UDDUDD","DDLLDLDD","LLLLLLDDS","UUUDDLLL","ULUULUUU","DLLDDDDD","DDUUDD","UULLULUU","DDLUL","DDDDDDDDDDDLLLLLL","LUUULU","DULLU","DULUL","LLLLLLLLDLLLL","LLLDDLLLD","DDDDDDDDULLL","DDDULLL","DDDDDDUD","UULULLLL","ULLLLLLLU","ULLULUUL","ULLUUULL","LLLUUD","LLLLLLDLLD","LLLLLLDDDLL","UUUUUUUUUUUUUU","LDDDLDDL","UDDLLLLL","UULLLUUL","DDDLLDDDD","DDUUL","ULULDD","UULULULU","UDUUU","DDLLLLLLLDDDD","ULUUUUUL","DLDDLLDD","LSLLDDDD","DDDDDDDDDDDDDDDDD","LLULL","DULLULLL","LULLLU","LLLLLLLLLLLSLLLLLL","LLLLLLLULLLL","UUUUUL","ULDDLL","DLLLLLLLDD","UULLUULU","UDDDUUDD","LLLLLLLLULLLLLL","DLDDLDL","UUUUUUDDDDDD","DDLLU","DDDLLLLLLLLLL","ULLLLSDD","LLLLLLLLU","LLLLLLLLLLLLLLLLLD","DDDDDDDDDDDS","UUULLULU","LLLLDLLLLLLL","DDDLLDDL","DDDDDDULLLL","LLDLLLDLLL","DLDLDDD","LLLLLLLLSD","UUUUUUUL","DDDDDLDL","LLLUL","UUUUUULU","DULLLLUL","LLLLLUDD","LSLLLLLLLL","DLDLLDD","ULLLLLDDDDDDD","UUULULUL","LLUUL","UULULLUL","LLUUUD","UUUULUUL","ULLDULLL","ULDDDDDDDDD","DDLLDDLLDD","ULLUULUU","ULUULLUL","ULUUULLU","UUULUUUU","UUUUDU","DDDDLLLLD","UULUUUUU","ULULULUU","DLDLDDL","LLLLLLULLLLDD","ULULULDD","DDDLLLLLLLLDDD","DDUULLLL","ULLLULLLDD","LLLLLDLLLLLD","ULLLUUUL","DDLDLDD","ULUULLUU","DLLUL","UUULLLUU","DDDDSDD","DDLLDDDDDD","DDDDDDLLLLDD","LLLLLLLLLLSLLLLLL","UUULLLUL","DDDDDDDUL","UUULULUU","LLLLLDDDDLLL","DLLUU","DLLLLLLLLLLD","ULLLLLSD","LLLLLLLLLLLLSLLLL","UDDDDUDD","LLLLLLLLULLLLLLL","DDLDLLD","DDDDLLLDDD","UUUDUU","ULULUULL","DDDUU","LLLLLLLDLLLLLLL","LUULUL","UULLUUUU","DDDDDDLLLLLDD","DLLULLLL","DDLDLDLD","DDDLDDLD","ULLLULDD","ULDLLLL","DDDDUDDD","LDDLDDDL","DDLDLDL","ULLLLLSDD","UDDDDDU","ULULLUUU","LDLDLDLDLDLDLD","LLLLLLLLLLLLSDD","DLLLDLLLD","DLDDDLDD","ULUUUULU","UUUUDDDDDDDD","UUUUUDDDDD","DUUULLLL","ULLULUUU","LDLLLLDLLL","LLLLLLLLLLLDDDDDDDD","ULLLLULLLLLL","LLULU","DLUULLUL","LLLLLLULLLLLDD","UUUUULUL","ULLLUDDD","LLLLDLDLLL","DDUDDUDD","DULLLULU","DLLLLLDDDD","LLLLLDDDDLLLL","UUULL","DLLDDLDD","UUULUULU","DDDDDDDDDDDDDL","ULLLUULU","UULUULLU","DUULLUUL","ULLLLLLLDDDDDD","ULUULLLU","DLLULULL","LUULL","DLDDDLLD","LLLLLLLLLLSDD","DDLU","DULULUUL","DLDDLDD","UULLULUL","DDLDDDLD","LLLLDDDDUU","DLULU","ULUUUUUU","LLLLLLLLDDLL","LLLLDLLLDL","DDUL","ULULUUUU","ULUULLLL","UDDUDDUDD","LLDDDDLD","LLULLU","UDUUUU","UUUULLUU","LLLLLLDDDDLLLLLL","DDDLDLDL","ULUUULUL","UUULULLU","UUDDUUDD","ULLLLLDDS","DLLDDDL","DDDDDDLLLLLLDD","UULUULLL","UULULULL","DLLLULLU","ULULLLLD","DULLLLLU","LLDLDLLLL","DLDDDDL","ULULUD","UUUULLLU","UUUULLUL","UUULLUUU","DUUULLUL","DUUULULU","UULLUULL","DDDDDDLDD","DDDDUUUUU","DDDLLLLLD","LLLLLLUL","DLLLLLLLDL","LLDLLLLDD","DULULLLU","DDDDLLDDD","UULUUUUL","DULULULU","DDDDLLLLLLLDDDD","LLDLLLLLLD","LLLLLDLDD","UULULLLU","LLLDDDDLLLLLL","LLLLLLDDDDDDDDDDD","DLDLDDDD","LLLLLLLLLLLLLLLLLDDDD","DDDDLDLD","LLDDDDLLLL","LLLLLLLDDDL","DDLD","LLLUU","DDDLDLD","DDULU","DUULLLUL","UUUUULLU","DLLDLDDD","DDLDLDDD","ULLUUUUL","DLLUUULU","ULLU","DUULLLLL","UULUULUL","UULULLUU","LLLLDU","DLLUULUU","DDDDDDDDDLLLLLLL","DLLLLLUU","ULUUULUU","DDDDDDDUUU","ULDDD","LLUUU","DLDLDLDLDLD","DDLLLDDLL","LLDDDDDDDLL","DDDLLDLD","ULLDULLD","DLLLULLL","UULLLULU","DULULULL","UULUULUU","DDLLLLLDDD","DULULLUL","UDDUDDDD","UUUULULU","DDDDLLLLLLDD","DUULU","DLLLLULU","DDULLLLLL","DLLLULUU","DDDUDDDD","LLLLLDLLDL","UUDDDDLL","DLDLLLLLLL","DDLLLDDLLL","LLLLLSLLLLLLLLL","LLLLLLLLLLLLSLLLLLL","ULLLUDD","LLLDULLL","DUUUL","DDDDDDSS","UULULUUL","LLLDDDDDDDDLLL","DUULLLLU","LLDLLDLLLL","DUULLULU","LLLLLUU","DDLDDDDDD","DUUULLUU","DDLUU","LLLLDLLDLL","DLDDDLL","UUUULUUU","LLDLDLLLLL","DLLLU","LLLLLLLDLLLLLLLL","LLLLLDLLLD","LLULLD","LDLLLLDDL","DDDLDLDD","UUULLU","DDDDDDDDDS","DUULULUU","UDDUDDD","ULLLUUU","DLULUUUL","UDDDDL","DUUUULLU","LLLLLLLLLDDL","LLLLLLLLLLSLLLLLLL","LLLUUUDD","LDLLLDLLLL","DLDDDLD","LDDDDLD","DULUUULL","DLLUUULL","DULUULLU","UULUUULU","LLLLLDDS","ULLLLLDDDLLLL","ULLDL","UULLLD","LLLDDDDLLLLL","DULLLUUL","LLLDLLDLLL","DUULULLL","UULLUL","DDDDLLLLLLLLLLL","ULLLLLLDDDDDDDD","ULLLLUU","DLUUULUL","DULUULLL","DDDDDDDLDD","DLLULLLU","ULLLLULD","ULLDLLLD","DULLULUL","DLLDDDDL","LUUUUL","DUULD","DLUUUULL","DUUULLLU","LLLLLLLLLLLLLSLLLLL","LUUUU","UULLLDD","DDULLLLDD","DLLULL","UULLDD","DSULL","DLLLUULL","UULULUUU","ULUUL","DUUUULUU","DLULLULL","UDLLLLLD","DDLDLLLLL","UULUL","ULLLLLLULLL","LLLLLLDS","UDDDDDDDU","LLLLLLLLLDLLL","DLLUULLL","LLLDDDDDDDDDDDD","DLLLLLDDD","DDDDDDDDDDDDDDDL","ULUDDD","DULLUULL","LLLLLUD","ULLLLLLLLLLLLLL","LDDDLDLD","UUUUDUU","UDDDDDUD","DLULLLLU","LLLDLLDDD","LLLLLLLLLLLLLLLLLDDD","ULDDDDLL","DULLUULU","DUUUULUL","LDLLLLLLLD","LLDLLDDDD","DDLLDDLLDDLL","DLULULLL","DULUULUL","DULLLU","DLLLULUL","DUULLLUU","LULLUU","DUULLULL","DLDDDDLL","LLSLLLLLLL","DDDDDDULLLLL","ULLULLLLLL","DULUU","DULLULLU","LDDDDLLD","ULULLLDD","DLLLLLUL","DUDUDUDU","LLLLLLDLLLLLL","ULDDULDD","DULLUUUL","LLLLLDDDLLLL","ULDULL","LLLLLDDDLLLLL","DLLLUUUU","LUDDDDDD","ULDULD","UDLLLLDD","ULLLDLLLL","DUUULUUU","ULLD","UUUDUUUD","ULLLLLLS","DUULULUL","DUULUUUL","UDDUDDUD","DLDDDLDL","UUUUUUUUUDDD","LLDDDDDDLLL","DLDDLDDD","LLLLLLLLLLS","DDULLDD","DULULLUU","DUULULLU","UUDDUUUU","LLLLLLLLLLLDL","DDDDDDLLLLLLLLLLL","ULLLLUUD","DLDLLLLLD","UUUDDDU","DULUULUU","LLLLLLLLLLLLLDDDDDD","ULLLULLLD","DLLUULLU","LULUUL","DUUULUUL","UUUDDUU","LLLDLLLDLL","DUUUUUUL","DUULL","LDDLLLDDL","DDLLLLLLLLLLL","UUUUDDUU","DDDDDDDDLLLLLLLLL","ULLUU","LLLLULLD","UUUDDDDU","LLLLLLLLLSLL","DDSDDSDDDDS","DLLUUUUL","UULUU","DLUUULLL","LLLLLLLLDLLLLLLL","DULULUUU","DLLDDDLD","DLUUULUU","DDDDDDLLD","DULULU","ULL","ULUUU","ULLDDLL","DULUUULU","DUUUUULU","UUUUUDDU","LLLLULL","LLLLDDDDDDLLLL","UUDD","DUULUULL","UUUUL","DLLLDDLLL","LLLLLLLLLLLLLDDDDD","ULULLLD","ULLLLLDLL","DDDDDUDD","LLLLLLDDDDLLL","DLULLLLL","DLUULULL","ULLLLLLLLLLLDD","DULLLUUU","LLLDLDLLLL","LLLLLDLLDD","ULLLLLLDS","DULLLLD","LUUUUUUU","ULLLLLLLLLLDDD","ULLUDD","ULLLLLLLLLLLD","LLLLUULL","DLULUULU","DDDDSDDDD","DDDUUDDD","LLLLLLLLLLLLLSLLLL","DLLLLUUU","DLLULLUU","DUUUULLL","DUULUULU","LLDDDLLLLL","LLLDDDLLLLLLLL","DDDDDDLLLDD","DUUULULL","DLDULU","DLUUULLU","DULLUUUU","DUUDU","LLLLLLLLLLLLSLLLLLLL","LULULULU","LLLLLDDLD","DLUULLLL","DDDDUUDD","LLLLLLLLLLSLL","LULLU","DLLULLUL","DULUUUUL","DDSDDSDDS","ULLLLLULLLLLDDDD","ULULUDDD","ULLLLLUDD","LDLDDDL","DUULUUUU","LLLDDDDDDDLLL","LLLLLLLLLLLLDDDDDDDD","DLDDLDLD","LLLDDDDDLLL","DUULLUUU","UDUDDDDD","LUUUL","LLLLUDDD","DULUUUUU","ULUDDDD","LDLLDLLDL","UUULUUUL","DLDD","LULUULUL","LULUL","DUDUUUUU","DLLLLULL","LLLLLLDDLLLLLL","DDDUDDD","DLLLLLLDLL","LLLLLLLLLLLLDL","LUUULLUU","DDLLLLLLLLLLDD","LLLLLLLLLSLLLLLLL","UDDDDDUU","LLLLDLLDDDD","DULLULUU","LLLLLLSS","DULLLLUU","LLLLDDDLLLLL","DLUULUUU","LLLLLLLLLLLSLLLLLLL","UDLDLD","DUDDDDDD","UUUDDDLL","LDLLDLLLLL","LLLDDDLLLLLLL","LDLDLLLLLL","DLULLLUU","LLLLSS","LLLLLLLLSDDD","UUUUUUUUUUUUUUU","LLLLLLDDLLLLL","UUDUUUU","DLULLUUU","LLLDLLDDDD","SLLLLLS","ULULULUD","LLLLLLDDDDLL","DDDDLLLLDDD","LLLLUUU","UUUDULLL","DULULL","LLLLLLLDLLLLL","LLLUULLL","LLLLLLULLLLLLLLL","LLLLLLLLSLL","UUUUUUUUUUDD","LLLULLLD","LDLDDDDL","LLUUUULL","ULLDDDLL","LDLDLDLLL","LLLLLLLLLDLLLL","ULULDDD","LLLLLDLDLL","LLLLLLLLLLDLLLL","UDDUDDU","DLLUUL","ULLLULLLLLLL","DDDDDULL","LLLLLLLLLLLLLSDD","DLLLLUUL","LUULU","DLUUUUUL","DDDULLLLL","LLLLLLLLDDDL","DUUUUULL","DLUUL","LLLLLLUUUUUUUU","LLDDLLDDD","ULDDDDDDDDDD","LLLLLLDU","DLULUULL","DDDUL","SLLLLLLLL","LLUUUUUU","DLUULLUU","LLLLLLSLLLLLLLLL","LLSLLLLLLLL","UUUDDDLD","LLLSLLLLLLLL","LLLLSLLLLLLLLL","DDUDDDDD","DLLDLLLLLL","LULLLLLLDD","DDLLDDLLL","LDDLLLLDL","LLLLLLLDDDLL","DLLUUUUU","LLLDLLLLDL","ULLLLDLD","DLLLUULU","LLLLDDDU","LLLLLLLLLSD","DLUUUULU","DLLLLDDLL","LULLLLLU","DLLUULUL","UULLU","LLLLLLLLLLLSL","LDLDLDLDLDLDLDLD","DLLLUL","ULUUUD","DLDDDDDL","ULLLDLLD","LLLDLLLDLLLD","DLDLDDLD","LLLDDDDLLLLLLLL","LLLLLDDU","LLLLLLLLSDDDD","LLDDLLLLD","DLULLULU","LLLULLLU","LLLU","ULLLLLDS","LLLLLLLLDLLLLLLLL","UULLLLD","DLDUU","DLULUUUU","UUDDDDDU","LLULUD","LLLLLLULLLDD","LDLLLLLDLL","UUUULLLD","LLLLLLLLLLLLLLLLLLD","DDUDDU","DUUUUD","DLLULUUU","DDUDDDD","LSSL","UULDUU","LLDDDDLLDDDD","UDDDDUU","DDDDDDDDULLLL","UUUUDDDDDDD","LLULLLLU","DLULLUUL","USLLLLLDDDD","LLLLLLLDS","LLLLLLLLDLLLLL","LLLLLLLLLLDLL","ULLLLLLLDDDDD","LLLLLLLLLLSL","LDDDDLDL","UUUULLL","LLLSL","LLLLDDDDDDDDLLLL","ULLLLLS","ULLLLDUL","DDDUDDDU","LLUDLU","UUUDUDD","DDDDLLLLLLLLDDDD","DDLLLLLU","DLLLLLLLLLLLL","LUULLLUU","LLULLLL","UUULU","UUDDUUU","LLLDDDDLLLLLLL","DDDLLLLLLDD","LLLDLLLLDD","DULLD","DLULLL","DUUUDUUU","LLDLLLDDDD","LLLLLLLLLLLLLLLLLLLDD","LLLLLLLDDDDDDDDDD","LDLLLLLDD","LLUULLLL","UUULLLD","UUUUUDDDDDDDD","LDLDLDLDLL","DDDDDDUUUUU","DDDDDDDLD","UDLLL","UUDDLLLL","UUDDDDU","LULLLULL","DDDDDDDLU","DLULLU","LLLLLLLLDDLLL","LLLLULUU","DLULLLUL","LLLDDLLLLD","DLULL","DLDLDLDLL","LLLLLLLLLLLLLLLLLLLLLLLLLL","DULDL","ULLLUDDDD","ULLLDU","DDDLLLLDDDD","DULUUU","DDDUUUDD","ULLLLDDU","SDDDDDDS","LLLUD","DUULLU","DLLULUUL","LDDDDLLLL","LLLLLLLUUUUUU","LLLLLLLLLLDLLL","LDDDDDLD","LDLLLLLLDL","DULLUL","UDULLLLL","DDUDD","DLUULUUL","LLLLDDDDU","DUUUUDUU","LLLLDDDDLLLLL","LLLUUULL","LLLLLLLLULLLL","DUUDUUUU","LDDDLDDDD","LLLLLLLLLLLSLL","ULDLLLLU","DLUULULU","LDDDLDL","ULLLLLDU","LUUUUULL","LLDULL","LLLLULLLL"],
  L.blacklistedSubstrings=["12345678","password","23456789","11198","land","blue","04199","07199","02199","06199","08199","angel","10199","09199","12199","11199","01197","05197","07197","a199","04197","03197","10197","08197","123123","12197","06197","master","dragon","09197","fish","02197","black","11197","a200","2112","fire","mike","baby","pussy","line","test","mark","cher","wood","mama","bear","cool","ling","anne","fred","illa","a198","anti","alle","marc","monkey","life","man1","dick","ness","good","daniel","sexy","o123","time","assi","gold","shan","shadow","rain","ters","alli","ford","play","mont","anta","mine","qazwsx","ache","stra","erry","michael","dima","green","sher","nick","shar","wolf","ring","killer","suck","tina","robert","01196","even","elin","aris","2211","dark","bird","jordan","paul","1108","scar","ones","lock","123321","0909","arri","mustang","rose","shit","asta","money","121212","0505","arch","03196","football","stro","hill","01019","letmein","dman","chin","10219","04196","05196","amil","pant","baseball","porn","david","james","onic","eron","10419","mini","stal","ison","abc123","lover","ander","alen","30319","t123","erin","ina1","vers","0303","ings","martin","mega","olly","ante","hello","11119","0108","90519","00119","08196","21219","shka","10196","hunter","30119","40419","00319","30219","02196","yboy","666666","10619","1102","vlad","70719","pers","1211","nova","12196","10919","anni","sara","lian","010119","07196","30419","0707","elli","oker","50219","er123","atch","00519","00419","rest","06196","50319","side","na19","60619","1107","50419","1210","00619","50819","80319","11196","90919","1109","tran","arma","anton","30519","50719","andrew","l123","09196","50119","31019","enny","0808","40219","90619","01119","80219","34567890","fuckyou","70219","00719","40519","anch","sweet","30719","80519","51219","40619","80419","soccer","21119","2108","00819","70419","60319","1204","60519","80819","1205","1002","elly","race","00919","7777777","60219","stic","steve","40319","70519","west","41019","90419","30619","thomas","01219","51019","boob","tche","30819","less","assa","60719","allo","ital","poli","light","50919","lion","30919","50619","90319","70319","2109","80119","ment","70919","70119","60419","60119","40719","40819","81219","80719","0404","70819","1208","0112","31219","0107","asti","90119","harley","each","70619","40119","51119","0304","80619","90719","bone","well","41219","0606","80919","71019","10101","1206","phil","0105","brand","1209","61219","1202","90819","1105","696969","71119","lick","ista","11111111","91019","lisa","more","0110","1005","123qwe","91219","1106","alis","60819","0106","60919","1000","41119","stre","arry","1207","llin","1007","charlie","enko","40919","1203","1004","k123","1110","31119","71219","long","61019","buster","apple","1003","wing","91119","ivan","1123","reat","1103","81019","61119","tori","0506","batman","stri","2212","anov","sion","2107","leon","1104","81119","isha","2102","a197","power","summer","superman","anya","qwertyui","sing","3108","pepper","1312","2311","george","ence","nker","lore","2110","tech","alan","3112","87654321","1006","card","2106","1008","part","ryan","ross","123a","liver","amin","gran","1402","cock","aron","william","ssie","gene","2512","2301","01200","elan","ipper","ding","para","rish","maria","nson","dave","frank","sasha","1311","2103","moon","rill","buck","tigger","amel","mara","hand","2105","1812","ollo","2309","roni","kate","1512","happy","2525","2505","0405","1301","21985","redd","2202","arth","terr","iloveyou","hockey","2310","mper","2501","2210","3012","per1","2206","adam","3107","abri","tron","emen","0123","olli","11991","isto","game","cent","1009","3110","2305","achi","arta","emin","21990","1310","ladi","hawk","gfhjkm","moni","21989","gate","ines","ing1","lone","llen","ania","elis","mary","alina","2412","ardo","tall","itte","crea","mani","2204","indi","dogg","1478","shel","0502","0305","tree","ning","ation","peter","real","scott","miss","ucki","sant","slav","liza","erna","3010","olle","2510","oria","enne","meli","asca","0308","0708","chie","access","1510","reds","bass","justin","esse","sche","1305","0508","roll","1412","jxrf","2511","sman","2104","1504","0905","niko","hammer","arre","ender","2303","erto","0507","hall","1410","2207","2410","1502","1501","svet","sama","2203","1303","ingo","bitch","1308","2205","1503","esta","0501","1511","98765432","1404","222222","112233","2503","ress","m123","2504","0212","pres","2304","f123","ming","lucky","lass","fuckme","jessica","1307","1306","lash","1302","0211","an19","tlan","jennifer","1405","link","acker","2306","0306","ener","harr","0301","0503","0302","marl","1235","0509","0809","wild","1612","21984","lori","1411","2411","cola","ger1","andrea","1221","21992","0310","avis","0803","snow","came","3003","1507","illo","mist","sandr","cand","rate","1711","silver","hant","1508","daddy","3001","franc","unny","90219","taylor","1304","2401","ashi","3004","freedom","1704","3105","dead","2208","2509","0607","amanda","0307","joshua","11984","1805","arie","asse","1403","trin","2209","1705","yman","rett","kell","jeff","0609","inst","2502","stas","matthew","lanc","0608","2507","alia","1605","0406","alie","2404","tana","bble","ngle","21991","1801","2307","face","stone","1611","1309","1408","2606","hone","1401","mash","anas","mann","aren","wertyuio","son1","2508","8888888","00219","3006","0504","nicole","1712","1213","1707","poop","1407","asper","3103","dallas","erri","dream","denis","teri","2805","mina","ader","diamond","ride","eral","asshole","0912","ashley","team","cheese","bobb","2506","1406","1710","11983","thunder","ister","hero","roman","er19","2405","chen","3005","21983","n200","ginger","serge","0908","2707","kiss","1811","1604","2406","smoke","0309","lord","maggie","trustno1","2611","1509","mila","wall","2601","s200","pack","1802","arme","trac","1703","2909","0311","44444","orne","2812","1606","arne","i123","dude","2711","cookie","1702","2308","kara","0512","sere","1706","sunshine","holl","tell","1601","2403","101198","1803","ertyuiop","wind","2801","1610","2802","1603","2701","ers1","anny","2612","21982","ound","radi","1506","nman","0407","arro","0408","0510","stat","mail","11992","1804","0807","2808","1602","1810","east","2703","2811","nika","enda","astr","barb","victor","osto","abel","2710","2905","ember","0709","1806","ckle","0711","1409","2901","0312","1808","ker1","2605","rena","arke","olga","n199","colo","0410","ckie","rach","2904","2603","0403","dina","2704","2803","alon","corn","2712","ally","papa","0906","anthony","otte","icks","rona","0704","2804","audi","2810","0702","2602","iner","cart","2604","11982","reak","2702","russ","bron","tain","0605","0910","hbyf","1709","pimp","bond","03200","ristin","1608","0602","devil","2903","shot","phan","08200","etro","2610","05200","1230","lant","2402","house","aran","ana1","enter","mali","slan","2408","2407","01195","erse","ardi","159753","gust","cali","kova","azer","e200","1222","chil","andra","2705","0610","chelsea","princess","0902","1809","ermi","2607","ango","oose","0710","3007","hack","atan","0402","11980","0511","04200","adri","0401","on12","nokia","lady","0805","onde","0601","0412","z123","essa","0603","0810","plan","0411","michelle","maks","inde","2906","blow","nasty","0701","computer","aine","mira","ucks","core","2912","qwerty1","2409","1708","lson","aint","0812","0911","2709","1609","toni","iron","eave","1088","ture","oner","some","0705","tere","onta","skin","vent","3009","fast","merlin","4123","1807","0706","0802","0901","1607","2910","0806","0904","11981","atur","02200","09200","2911","tten","elena","0612","white","manu","zxcvbnm","yankees","0604","blin","ammy","2907","samm","0001","nica","acha","2609","starwars","oleg","1018","2807","0801","alls","water","12200","guitar","boom","tara","0409","0611","0804","mate","2809","nell","rton","boot","ffff","vill","2708","bles","maxim","ster1","3008","eeee","0907","flor","riel","rebe","maha","lton","2468","berg","0712","2806","chicken","tony","jackson","tick","cham","igma","avel","anut","ales","lane","ichi","2608","nche","welcome","0903","2706","ckers","lari","onne","inka","apri","kari","dann","07200","adis","10200","call","pion","london","pink","ddie","0703","erson","sport","eren","peac","1qaz2wsx","11200","1029","03195","beer","lala","sssss","metal","opper","ydog","brown","carol","buff","r200","amor","ennis","cros","brad","2424","init","anes","frog","esto","06200","igor","fant","21993","12011","13579","ncc1701","cast","eddy","rush","n198","rris","stel","05195","kins","11993","enta","0000000","magic","kman","vert","10195","2908","4789","ease","tera","arsenal","0811","them","erre","rter","1100","21980","5150","rome","6123","sham","1194","lman","bigdog","brian","uffy","jake","greg","poll","moto","aser","21981","rando","rash","8963","ooke","sparky","oger","jason","wwww","golfer","jane","arat","eagles","rado","ping","scooter","assword1","medi","lera","poke","nett","arge","sten","high","cont","ddog","user","ambo","anim","phoenix","3344","nity","mars","oren","ashe","octo","orma","work","stud","conn","2369","coll","der1","spider","7896","onte","y200","teen","elvi","sting","hanna","lips","rida","marina","yama","term","tigers","kenn","brit","10203","anad","ooper","08195","atte","bast","vika","billy","ferrari","ishi","kkkk","river","tttt","llar","lakers","rend","04195","11195","able","rita","trip","nice","ilan","barn","seve","usty","bbie","boss","dash","iris","itan","sana","cass","ka19","nina","feli","soni","anil","ussi","aram","ampi","ablo","olla","ton1","toma","gman","rama","02195","spri","isco","rack","mers","admi","lade","olan","333333","inal","tani","1089","1078","lana","temp","lly1","unner","09195","adin","12195","9090","rent","man2","honda","tany","na12","131313","4545","jami","nake","r1234","ples","acki","vova","back","ghbdtn","g123","hema","estr","onald","stia","5252","book","cccc","dale","secret","1515","anis","mana","anal","rell","rion","1415","corvette","emil","madd","tink","icky","h123","103198","tine","surf","ssan","bang","speed","1128","onnie","bubba","23232","best","iant","lter","hhhh","nathan","gent","gina","vera","eart","riss","apol","marine","llis","ager","9999999","spec","renc","q1w2e3r4","lley","llll","07195","arad","mous","iann","rola","iter","aper","fylh","slayer","anet","erpo","trav","carlo","rrrr","orange","lent","herm","spir","cana","1232","kola","adim","01010","alexand","1414","ass1","alic","mish","a196","mily","drum","ter2","smith","11979","tits","asia","acka","21994","dger","r199","moll","ores","egor","ishe","x123","tyle","rangers","osta","alpha","haha","jesus","wer1","herr","nders","020219","clar","buddy","olas","tian","lovem","vfvf","rney","ley1","mans","oopy","rami","orth","lice","ttie","mero","babe","o200","carr","barr","lder","brook","klas","nikita","acer","anic","2334","21978","open","er20","er11","ina2","cowboys","mano","an123","read","anit","bara","rsch","iber","ties","gian","field","obby","q123","outh","ilia","anci","anga","na20","32323","down","ravi","ktor","llan","ine1","bren","112198","amat","21979","beat","3141","ndia","11978","solo","road","alma","amma","steph","internet","nich","bbbbb","nite","vita","arde","form","rans","ndro","austin","enna","mall","bloo","ants","107198","endo","1087","valer","icia","mack","ommy","anana","erbo","simp","dent","arty","1191","mach","asha1","cris","appe","simon","nard","alker","lovel","arga","icker","06195","mela","music","teme","bigg","chik","ler1","bite","rocke","nkin","ver1","lica","domin","geni","105198","aska","izard","coco","banan","tomm","11994","tasha","gang","anka","pook","petr","101199","stya","oone","illie","inner","adma","icho","iman","donn","0100","5123","inky","etta","123654","gand","tewa","9632","slut","maverick","lama","amber","mala","ksan","mona","mino","ddddd","bart","8097","eres","lolo","qazxsw","arks","olina","scha","brie","8098","ugar","richard","here","ntan","hamp","ysta","marg","mmmmm","01020","crazy","oles","soft","wins","drey","ney1","pire","gera","3000","serv","eddi","mercedes","alte","1321","dust","020319","020419","spank","unda","1017","qweasd","erbe","yfcn","magn","shor","horse","aaaaaaa","bern","reme","lett","snoop","artem","egas","guar","plat","bandit","nsta","2580","rdon","s199","108198","dona","horny","asil","ordo","nny1","1472","hear","walk","abbi","otto","baba","8912","ickl","boog","inha","erica","ical","1028","10120","1098","kota","ican","dest","harm","raci","onco","rice","evel","789456","qwas","post","tard","atar","unch","aleks","arah","hers","whatever","amba","guin","ellow","mode","1q2w3e","doug","natas","ffin","8050","tele","winn","1593","202198","burn","a111","steelers","lvin","nada","veta","erti","nna1","madi","ulle","zzzzzz","ena1","duck","4242","indo","oron","matrix","fhby","11995","020819","9119","andal","hoot","eway","abcde","deli","chas","issi","pand","iden","orte","list","rost","laster","punk","nior","heri","polo","nand","kitty","butter","rini","cking","110198","yana","olive","start","linda","1090","pala","051987","21977","1717","chuc","rule","020519","nima","entr","ailey","ador","haro","turn","eder","atti","brea","koff","hans","vero","mati","julia","arce","izza","7891","fucker","011990","orri","erik","leas","mother","natali","thead","arco","rant","erta","b123","020119","gator","heel","ard1","grea","anat","mer1","vfrc","020619","olden","ick1","help","bbit","mera","akot","pool","erst","erni","8951","inch","lame","nchi","death","5555555","1058","kati","011987","aras","lexi","rrie","ierr","mili","dboy","ates","kristi","perf","case","bean","asto","randy","oris","iles","falcon","1516","5050","llio","nati","inni","91989","anki","rame","kevin","207198","a2010","lest","a123456","rega","friend","chevy","aval","andon","red1","verp","lava","omar","kiri","as12","cara","amir","olit","hani","annon","tive","okey","nther","1092","estin","ickey","204198","11977","unit","dance","031988","arba","trai","juan","d1234","rger","11975","1079","020719","dell","rabb","rmin","thor","rlan","jean","jone","scorpio","11976","p123","shal","erlo","nest","hele","5566","en12","want","ayne","est1","erem","issy","208198","ygir","burg","s1234","forever","ions","enka","flower","uren","sass","051990","ashk","theb","isse","scho","2119","camp","031987","201198","tima","0012","ophi","les1","rene","9874","late","oome","205198","chip","hica","ento","loves","2131","pace","21976","inke","ction","little","duke","206198","elic","onat","ancer","sala","doll","onik","eria","cord","eanu","chang","gord","kaka","diab","asdfghj","elia","1237","umpe","dies","alam","gala","fort","nine","11121","1118","rker","2128","071987","avan","soph","oshi","knight","bomb","arra","jimmy","1314","1285","mple","like","imbo","bigt","1324","dodge","rchi","fend","ikol","1129","ocky","r198","1022","lege","inat","llo1","bber","041988","rade","ebel","kass","robi","elec","hari","aldo","otti","stef","ssma","erda","luca","samu","leri","tati","ears","adel","frea","iano","ya19","offe","yell","ochka","geli","esha","15051","dmin","morgan","bella","onna","21995","8910","31991","ameri","annah","isla","truck","asmin","071986","020919","anthe","s198","compa","beth","041986","a777","121987","061986","raider","grac","atash","051988","stle","joke","041987","male","4455","driv","tita","051986","nato","amal","0010","3030","patrick","09876","jjjjj","charle","item","41984","edog","1290","121986","stop","demon","ious","lissa","cheste","5935","4725","chol","warr","atro","entin","umbe","ma19","22011","tata","asan","host","skip","on19","lipp","abra","nish","alib","erro","ench","mpir","1190","1077","10111","10121","dogs","lphin","nnet","ippy","berl","71990","llet","011988","junio","203198","41985","arit","71985","cons","ronc","craft","ongo","ingl","1086","ka12","iking","81990","ooooo","ergi","ritt","hester","10011","031986","cats","brav","011986","7258","2123","k199","lita","81985","011985","0990","johnny","terp","samsung","mang","city","71989","micke","huck","91986","etty","desi","aura","021019","oser","fall","key1","ssin","timo","joseph","viki","orgi","061987","world","anja","iabl","hjcn","mass","hank","5454","anky","comm","21975","051985","91988","81987","arsh","fami","q2w3e4r","051989","obra","twin","011989","gabr","rles","muff","elove","209198","61990","1127","071988","qqqqqq","imbe","erty12","baile","061988","ilip","rico","dward","rova","erde","ghjc","lect","eone","cky1","irina","0019","monster","9357","oster","lish","edwar","3698","shing","inho","idas","1245","01041","shak","1038","ppppp","girls","5656","45612","yste","5000","smar","amie","ners","raven","pean","meric","ulie","laure","look","n1234","210198","101987","2344","idge","ymrf","rpoo","31985","ffer","081988","viper","tton","thing","031990","choo","101986","41990","oodl","right","miller","31989","evan","onto","bian","eigh","manc","lace","lema","ggggg","heather","nnnn","tenn","orin","emar","ssio","hort","loui","camaro","squi","carm","31983","061985","8908","inga","2341","kath","7852","kbyf","stea","view","lldog","pson","ty123","ris1","ert1","1234q","eles","ouch","20011","hman","ova1","arik","dirt","1188","8904","name","ooby","christi","dria","ethe","plea","ra19","1080","boro","dako","pain","earl","rple","ocket","deep","livi","elon","01031","1068","61989","sabe","01021","tyrj","hark","ontr","rink","vfhb","amant","utch","in12","lean","01091","hara","nsto","rocks","e1234","20021","dolphi","asda","iell","anin","fghjk","icki","albert","rato","latin","bulldo","1082","505198","popo","ceman","eras","dog1","23021","mell","71983","mario","ber1","smile","rlos","hane","roke","1016","homer","ntai","xxxxxxx","winte","storm","lova","purpl","kare","41991","coob","091987","nita","count","021988","okin","2342","081989","diana","ione","ntha","pira","pear","dawg","beav","imal","obbi","aroli","71984","2333","081986","tdog","bigbo","rove","erba","blad","bett","usha","ndri"]}(Constants=exports.Constants||(exports.Constants={}));
  },{}],5:[function(require,module,exports){
  "use strict";exports.__esModule=!0;var PasswordMeter=require("./PasswordMeter"),Dictionaries;!function(e){var i=function(){function e(){var e=PasswordMeter.PasswordMeter.instance.getHelper();this.blacklistDict=e.compressedFileToDict("dictionary-blacklist1c8-compressed.txt"),this.namesDict=e.compressedFileToDict("dictionary-names-compressed.txt"),this.passwordsDict=e.compressedFileToDict("dictionary-passwords-compressed.txt"),this.phrasesDict=e.compressedFileToDict("dictionary-phrases-compressed.txt"),this.englishwordsDict=e.compressedFileToDict("dictionary-englishwords-compressed.txt"),this.wikipediaDict=e.compressedFileToDict("dictionary-wikipedia-compressed.txt"),this.petnames={};for(var i=["abbey","abby","alex","allie","amber","angel","annie","ashley","baby","bailey","bandit","barney","baxter","bear","beau","bella","belle","bentley","blackie","blue","bonnie","boomer","boots","bosco","brady","brandy","bruno","brutus","bubba","buddy","buffy","buster","cali","callie","calvin","casey","casper","cassie","champ","chance","charlie","chase","chelsea","chester","chico","chloe","cleo","cleopatra","clyde","coco","cocoa","cody","cookie","cooper","cosmo","daisy","dakota","dexter","diesel","dixie","duke","duncan","dusty","ella","ellie","elvis","emily","emma","felix","fiona","fluffy","frankie","fred","gabriel","garfield","george","gigi","ginger","gizmo","grace","gracie","guinness","haley","hannah","harley","harry","heidi","henry","holly","honey","hunter","isabella","isis","jack","jackson","jade","jake","jasmine","jasper","jessie","joey","junior","katie","kiki","kitty","kobe","lacey","lady","lexi","lexie","libby","lilly","lily","loki","lola","louie","lucky","lucy","luke","lulu","luna","maddie","madison","maggie","mandy","marley","maximus","maxwell","maya","merlin","mickey","midnight","mikey","millie","milo","mimi","minnie","misskitty","missy","misty","mittens","mocha","molly","moose","morgan","muffin","murphy","nala","nikki","oliver","olivia","oreo","oscar","otis","patches","peaches","peanut","pebbles","penny","pepper","phoebe","piper","precious","prince","princess","pumpkin","rascal","riley","rocco","rocky","romeo","roscoe","rosie","roxie","roxy","ruby","rudy","rufus","rusty","sabrina","sadie","samantha","sammy","sampson","samson","sandy","sarah","sasha","sassy","scooter","scout","sebastian","shadow","sheba","shelby","sierra","simba","simon","smokey","snoopy","snowball","socks","sonny","sophia","sophie","sparky","spencer","spike","stalla","stella","sugar","sunny","sydney","sylvester","tabitha","tasha","teddy","thomas","tiger","tigger","tinkerbell","toby","tommy","trixie","tucker","tyson","willie","willow","winston","xena","yoda","zeus","ziggy","zoey"],s=0;s<i.length;s++)this.petnames[i[s]]=!0}return e}();e.Dictionaries=i,function(){PasswordMeter.PasswordMeter.instance.setDictionaries(new i)}()}(Dictionaries=exports.Dictionaries||(exports.Dictionaries={}));
  },{"./PasswordMeter":1}],6:[function(require,module,exports){
  "use strict";exports.__esModule=!0;var Helper;!function(t){function e(t){return t.map(function(t){return"<b>"+t+"</b>"})}var r=function(){function t(t,e,r){this.$=t,this.LZString=e,this.verboseMode=r,this.log=r&&window.console?console.log:function(){}}return t.prototype.buildDict=function(t,e){for(var r=0;r<t.length;r++)e[t[r]]=!0;return t.length},t.prototype.decompressFile=function(t){var e,r=this.LZString;return this.$.get(t,function(t){var o=r.decompressFromEncodedURIComponent(t);e=o.split(",")}),e},t.prototype.fileToDict=function(t){var e={},r=this.buildDict;return this.$.get(t,function(t){var o=t.split("\n"),n=r(o,e);this.verboseMode&&this.log("Loaded "+n+" words to dictionary.")}),e},t.prototype.toDict=function(t){var e=t.split("\n"),r={},o=this.buildDict(e,r);return this.verboseMode&&this.log("Loaded "+o+" words to the dictionary."),r},t.prototype.compressedFileToDict=function(t){var e={},r=this.LZString,o=this.buildDict;return this.$.get(t,function(t){var n=r.decompressFromEncodedURIComponent(t),s=n.split(","),i=o(s,e);this.verboseMode&&this.log("Decompressed and loaded "+i+" words to the dictionary.")}),e},t.prototype.fileToArray=function(t){var e=[];return this.$.get(t,function(t){for(var r=t.split("\n"),o=0;o<r.length;o++)e.push(r[o]);this.verboseMode&&this.log("Loaded"+r.length+"passwords to an array.")}),e},t.prototype.matchHelper=function(t,e){for(var r=[],o=[],n=0,s=0;s<t.length;s++){var i=t[s].match(e);if(i){for(var c=0;c<i.length;c++){n+=i[c].length;var a=t[s].indexOf(i[c]);0===a?t[s]=t[s].substring(i[c].length):(o.push(t[s].substring(0,a)),t[s]=t[s].substring(a+i[c].length))}r=r.concat(i)}t[s].length>0&&o.push(t[s])}return{matched:r,revisedParts:o,score:n}},t.prototype.commonSubstitutions=function(t){var e=new RegExp("[^A-Za-z]"),r=new Array,o={candidate:t,offset:0,commonness:100};r.push(o);for(var n=0;n<t.length;n++)if(n>=1&&this.isALetter(t.charAt(n-1))||n>=2&&this.isALetter(t.charAt(n-2))||n<t.length-1&&this.isALetter(t.charAt(n+1))||n<t.length-2&&this.isALetter(t.charAt(n+2))){var s=new Array;"0"===t.charAt(n)?s.push({replacement:"o",commonness:16.2}):"1"===t.charAt(n)?s.push({replacement:"i",commonness:7.6}):"3"===t.charAt(n)?s.push({replacement:"e",commonness:12.4}):"4"===t.charAt(n)?(s.push({replacement:"for",commonness:6.8}),s.push({replacement:"a",commonness:3.1})):"5"===t.charAt(n)?s.push({replacement:"s",commonness:2}):"u"===t.charAt(n)||"U"===t.charAt(n)?s.push({replacement:"o",commonness:2.8}):"z"===t.charAt(n)||"Z"===t.charAt(n)?s.push({replacement:"s",commonness:2.5}):"@"===t.charAt(n)?s.push({replacement:"a",commonness:7.8}):"$"===t.charAt(n)&&s.push({replacement:"s",commonness:3.9});for(var i=r.length,c=0;c<i;c++)for(var a=0;a<s.length;a++){var h=s[a].replacement,p=r[c].candidate.replaceAt(n+r[c].offset,h),l=s[a].commonness;r[c].commonness<l&&(l=r[c].commonness);var u=r[c].offset+s[a].replacement.length-1;r.push({candidate:p,offset:u,commonness:l})}}for(var m=r.length-1;m>=0;m--)r[m].candidate.match(e)&&r.splice(m,1);return r},t.prototype.sortedOverlap=function(t,e){for(var r=0;r<t.length;r++)for(var o=0;o<e.length;o++)if(t[r]==e[o])return t[r];return""},t.prototype.isALetter=function(t){if(1!=t.length)return!1;var e=t.charCodeAt(0);return e>=65&&e<=90||e>=97&&e<=122},t}();t.Helper=r,t.boldAll=e}(Helper=exports.Helper||(exports.Helper={}));
  },{}],7:[function(require,module,exports){
  "use strict";exports.__esModule=!0;var PasswordMeter=require("./PasswordMeter"),Constants=require("./constants"),NeuralNetwork;!function(e){function t(e){var t=1,r=e.substr(1);if(e.charAt(0)===e.charAt(0).toUpperCase()&&e.charAt(0)!==e.charAt(0).toLowerCase()&&r===r.toLowerCase())t=1.5;else if(-1==e.search(/[a-z]/)){var n=e.replace(Constants.Constants.UPPERCASE_LETTERS_GLOBAL,"");e.length>=n.length+3&&(t=2)}else e!==e.toLowerCase()&&(t=10);return t}function r(e){return Math.log(e)/Math.LN10}function n(e,n){var s=PasswordMeter.PasswordMeter.instance.getUI();e*=t(n),a&&console.log(n+" is NN guess # "+e),o=!1;var i=r(e)*(67/15);e<=1&&(i=r(1.1)*(67/15)),isNaN(e)&&(i=-1),n.length>0&&e==Number.POSITIVE_INFINITY&&(i=100),s.setNeuralnetMapping(n,i),s.displayRating(n)}function s(e,n){var s=PasswordMeter.PasswordMeter.instance.getUI();e*=t(n),a&&console.log("Fixed possibility "+n+" is NN guess # "+e),o=!1;var i=r(e)*(67/15);e<=1&&(i=r(1.1)*(67/15)),isNaN(e)&&(i=-1),n.length>0&&e==Number.POSITIVE_INFINITY&&(i=100),s.setNeuralnetMapping(n,i),s.synthesizeFixed(n)}var a=!1,o=!0;e.nnFixedCallback=s;var i=function(){function e(e,t){this.nn=e,this.nnfixed=t}return e.prototype.heardFromNn=function(){return!o},e}();e.NeuralNetworkInterface=i,function(){var e=PasswordMeter.PasswordMeter.instance,t=(e.getJquery(),e.getLzstring(),e.getConfig()),r=t.neuralNetworkConfig,a=new NeuralNetworkClient(s,r),o=new NeuralNetworkClient(n,r),N=new i(o,a);e.setNN(N)}()}(NeuralNetwork=exports.NeuralNetwork||(exports.NeuralNetwork={}));
  },{"./PasswordMeter":1,"./constants":4}],8:[function(require,module,exports){
  "use strict";exports.__esModule=!0;var PasswordMeter=require("./PasswordMeter"),Helper=require("./helper"),Constants=require("./constants"),RuleFunctions;!function(e){function t(e,t){var s=PasswordMeter.PasswordMeter.instance,r=s.getConfig(),a=s.getDictionaries(),n=r.colors.compliant,o=r.colors.noncompliant,i=r.symbols.compliant,l=r.symbols.noncompliant,c={},h={};if(r.length.active){var u=r.length.minLength,d=r.length.maxLength,g=!1,p="";p=d>0?"Contain "+u.toString()+"-"+d.toString()+" characters":"Contain "+u.toString()+"+ characters",e.length>=u&&(e.length<=d||0===d)&&(g=!0),p=g?"<span style='color:"+n+"'>"+i+p:"<span style='color:"+o+"'>"+l+p,p+="</span>",c.length=p,h.length=g}var m=!1,f=!1,v=!1,w=!1,b=0;if(e.match(Constants.Constants.LOWERCASE_LETTERS_GLOBAL)&&(b++,m=!0),e.match(Constants.Constants.UPPERCASE_LETTERS_GLOBAL)&&(b++,f=!0),e.match(Constants.Constants.DIGITS_GLOBAL)&&(b++,v=!0),e.match(Constants.Constants.SYMBOLS_GLOBAL)&&(b++,w=!0),r.classCount.active){var y=r.classCount.minCount,C=r.classCount.maxCount,p="",g=!1;p=4===C?"Use "+y.toString()+"+ of the following: ":"Use "+y.toString()+"-"+C.toString()+" of the following: ",p+="uppercase letters; lowercase letters; digits; symbols",b>=y&&b<=C&&(g=!0),p=g?"<span style='color:"+n+"'>"+i+p:"<span style='color:"+o+"'>"+l+p,p=p+="</span>",c.classCount=p,h.classCount=g}if(r.classRequire.active){var A=r.classRequire.upperCase,x=r.classRequire.lowerCase,M=r.classRequire.digits,T=r.classRequire.symbols,p="",g=!1;x&&(p.length>0?p+=" and a lowercase letter":p="Contain a lowercase letter"),A&&(p.length>0?p+=" and an uppercase letter":p="Contain an uppercase letter"),M&&(p.length>0?p+=" and a digit":p="Contain a digit"),T&&(p.length>0?p+=" and a symbol":p="Contain a symbol"),x&&!m||A&&!f||M&&!v||T&&!w||(g=!0),p=g?"<span style='color:"+n+"'>"+i+p:"<span style='color:"+o+"'>"+l+p,p=p+="</span>",c.classRequire=p,h.classRequire=g}if(r.classAllow.active){var S=r.classAllow.upperCase,k=r.classAllow.lowerCase,P=r.classAllow.digits,E=r.classAllow.symbols,p="",g=!1;if(k||(p.length>0?p+=" or lowercase letters":p="Not include lowercase letters"),S||(p.length>0?p+=" or uppercase letters":p="Not include uppercase letters"),P||(p.length>0?p+=" or digits":p="Not include digits"),E||(p.length>0?p+=" or symbols":p="Not include symbols"),!k&&m||!S&&f||!P&&v||!E&&w||(g=!0),g)p="<span style='color:"+n+"'>"+i+p;else{var L=[];!k&&m&&(L=L.concat(e.match(Constants.Constants.LOWERCASE_LETTERS))),!S&&f&&(L=L.concat(e.match(Constants.Constants.UPPERCASE_LETTERS))),!P&&v&&(L=L.concat(e.match(Constants.Constants.DIGITS))),!E&&w&&(L=L.concat(e.match(Constants.Constants.SYMBOLS))),L=L.removeDuplicates();var R=L.indexOf(" ");R>-1&&(L[R]="[space]"),p+=" (You used <b>"+L.join("</b>, <b>")+"</b>)",p="<span style='color:"+o+"'>"+l+p}p=p+="</span>",c.classAllow=p,h.classAllow=g}if(r.forbidPasswords.active){var D=r.forbiddenPasswords,O=r.forbidPasswords.includeLargerList,p="",g=!1;p="Not be an extremely common password",0!==e.length&&-1!==D.indexOf(e.toLowerCase())||(O?0!==e.length&&!0===a.passwordsDict[e.toLowerCase()]||(g=!0):g=!0),g||(p="<span style='color:"+o+"'>"+l+p+"</span>"),g||(c.forbidPasswords=p),h.forbidPasswords=g}if(r.forbidChars.active){var W=r.forbidChars.list,p="",g=!1;p="Not include the following characters: "+z;for(var H=e.removeDuplicateChars(),z="",q=0;q<H.length;q++)(H.charCodeAt(q)<Constants.Constants.startASCII||H.charCodeAt(q)>Constants.Constants.endASCII||W.indexOf(H.charAt(q))>=0)&&(z+=H.charAt(q));0===z.length&&(g=!0),g||(p="<span style='color:"+o+"'>"+l+p+"</span>"),g||(c.forbidChars=p),h.forbidChars=g}if(r.repeatChars.active){var I=r.repeatChars.limit,p="",g=!1;p="Not repeat the same character "+I.toString()+"+ times in a row";for(var _=[],j=I-1;j<e.length;j++){var B=e.substring(j-I+1,j+1),U=B.removeDuplicateChars();1===U.length&&_.push(U)}0==_.length&&(g=!0),g?p="<span style='color:"+n+"'>"+i+p:(p+=" (<b>"+_.removeDuplicates().join("</b>, <b> ")+"</b>)",p="<span style='color:"+o+"'>"+l+p),p+="</span>",c.repeatChars=p,h.repeatChars=g}if(r.usernameDifference.active){var Z=r.usernameDifference.limit,p="",g=!1;p="Not base your password around your username";for(var G=e.toLowerCase(),N=t.toLowerCase();N.length>0&&G.indexOf(N)>-1;)G=G.substr(0,G.indexOf(N))+G.substr(G.indexOf(N)+N.length);(0==N.length||0==e.length||G.length>=Z)&&(g=!0),g||(p="<span style='color:"+o+"'>"+l+p+"</span>"),g||(c.usernameDifference=p),h.usernameDifference=g}var Y=!0;for(var $ in h)if(!(Y=Y&&h[$]))break;return{compliant:Y,detail:{compliance:h,explanation:c}}}function s(e){var t=e.length,s="",r="",a="",n=PasswordMeter.PasswordMeter.instance.getConfig(),o=n.length.maxLength;return t<16&&(0===o||t<o-3)&&(t<10?(a="Attackers are very good at guessing passwords under 10 characters even if the passwords look random",s="Make your password longer",r="Make your password longer than "+t+" characters"):t<=12?(a="Attackers are very good at guessing passwords containing 12 characters or fewer",s="Make your password longer",r="Make your password longer than "+t+" characters"):(a="In recent years, attackers have gotten much better at guessing passwords under 16 characters",s="Consider making your password longer",r="Consider making your password longer than "+t+" characters")),{length:t,reasonWhy:a,publicText:s,sensitiveText:r}}function r(e){for(var t=0,s="",r="",a="",n="",o=PasswordMeter.PasswordMeter.instance.getConfig(),i=o.classAllow.upperCase,l=0;l<e.length;l++)e.charCodeAt(l)>=65&&e.charCodeAt(l)<=90&&t++;if(t<.15*e.length&&i){s="Consider using more uppercase letters",r="Consider using ",r+=(t+1).toString()+" or more uppercase letters",a="Uppercase letters are surprisingly uncommon in passwords, which makes them hard to guess";var c=65+Math.floor(26*Math.random()),h=Math.floor(1+Math.random()*(e.length-1));n=e.slice(0,h)+String.fromCharCode(c)+e.slice(h)}return{count:t,reasonWhy:a,publicText:s,sensitiveText:r,fixedPw:n}}function a(e){for(var t=0,s="",r="",a="",n="",o=PasswordMeter.PasswordMeter.instance.getConfig(),i=o.classAllow.lowerCase,l=0;l<e.length;l++)e.charCodeAt(l)>=97&&e.charCodeAt(l)<=122&&t++;if(t<.15*e.length&&i){a="Having variety in the types of characters you use makes your password harder to guess",s="Consider using more lowercase letters",r="Consider using ",r+=t+1+" or more lowercase letters";var c=97+Math.floor(26*Math.random()),h=Math.floor(1+Math.random()*(e.length-1));n=e.slice(0,h)+String.fromCharCode(c)+e.slice(h)}return{count:t,reasonWhy:a,publicText:s,sensitiveText:r,fixedPw:n}}function n(e){for(var t=0,s="",r="",a="",n=PasswordMeter.PasswordMeter.instance.getConfig(),o=n.classAllow.digits,i=0;i<e.length;i++)e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57&&t++;return t<.15*e.length&&o&&(s="Consider using more digits",a="Most passwords contain no digits or digits in predictable places; doing otherwise makes your password harder to guess",r="Consider using ",r+=t+1+" or more digits"),{count:t,reasonWhy:a,publicText:s,sensitiveText:r}}function o(e){var t=e.replace(/[A-Za-z0-9]/g,"").length,s="",r="",a="",n=PasswordMeter.PasswordMeter.instance.getConfig(),o=n.classAllow.symbols;return t<.15*e.length&&o&&(s="Consider using more symbols",a="Few passwords contain symbols, which makes passwords with symbols harder to guess",r="Consider using ",r+=t+1+" or more symbols"),{count:t,reasonWhy:a,publicText:s,sensitiveText:r}}function i(e){var t=0;e.match(Constants.Constants.LOWERCASE_LETTERS)&&t++,e.match(Constants.Constants.UPPERCASE_LETTERS)&&t++,e.match(Constants.Constants.DIGITS)&&t++,e.match(Constants.Constants.SYMBOLS)&&t++;var s=t,r="",a="",n="",o=PasswordMeter.PasswordMeter.instance.getConfig(),i=o.classAllow;if(e.match(Constants.Constants.UPPERCASE_LETTERS)||e.match(Constants.Constants.DIGITS)||e.match(Constants.Constants.SYMBOLS))if(e.match(Constants.Constants.DIGITS)||e.match(Constants.Constants.SYMBOLS))if(e.match(Constants.Constants.UPPERCASE_LETTERS)||e.match(Constants.Constants.SYMBOLS))e.match(Constants.Constants.SYMBOLS)||i.symbols&&(r="Add symbols in unpredictable locations",a="Add symbols in unpredictable locations","",n="Because only 1% of passwords use symbols, adding them unpredictably strengthens your password");else{var l=[],c="";i.symbols&&l.push("symbols"),i.upperCase&&l.push("uppercase letters"),c=l.toHumanString(),r="Add "+c+" in unpredictable locations",a="Add "+c+" in unpredictable locations","",n="42% of passwords contain only lowercase letters and number, making them easy for attackers to guess"}else{var l=[],c="";i.symbols&&l.push("symbols"),i.digits&&l.push("digits"),c=l.toHumanString(),r="Add "+c+" in unpredictable locations",a="Add "+c+" in unpredictable locations","",n="42% of passwords contain only letters, making them easy for attackers to guess"}else{var l=[],c="";i.symbols&&l.push("symbols"),i.digits&&l.push("digits"),i.upperCase&&l.push("uppercase letters"),c=l.toHumanString(),r="Add "+c+" in unpredictable locations",a="Add "+c+" in unpredictable locations","",n="38% of passwords contain only lowercase letters, making them easy for attackers to guess"}return{count:s,reasonWhy:n,publicText:r,sensitiveText:a}}function l(e){var t=0,s="",r="",a="",n="",o="";if(e.charAt(0)===e.charAt(0).toUpperCase()&&e.charAt(0)!==e.charAt(0).toLowerCase()){var i=e.substr(1);if(i===i.toLowerCase()){t=1,s="Capitalize a letter in the middle",r="Capitalize a letter in the middle, rather than the first character",n=e.charAt(0),a="30% of people also capitalize only the first character";for(var l=new Array,c=0;c<e.length;c++)e.charCodeAt(c)>=97&&e.charCodeAt(c)<=122&&l.push(c);var h=Math.floor(Math.random()*l.length);o=e.substring(0,l[h]),o+=e.charAt(l[h]).toUpperCase(),o+=e.substring(l[h]+1)}}if(-1==e.search(/[a-z]/)){var u=e.replace(/[A-Z]/g,"");if(e.length>=u.length+3){t=1,s="Mix up your capitalization",r="Mix up your capitalization, rather than capitalizing everything",a="21% of passwords also contain only uppercase letters";for(var d=new Array,c=0;c<e.length;c++)e.charCodeAt(c)>=65&&e.charCodeAt(c)<=90&&d.push(c);var g=Math.floor(Math.random()*d.length);o=e.substring(0,d[g]),o+=e.charAt(d[g]).toLowerCase(),o+=e.substring(d[g]+1)}}return{score:t,reasonWhy:a,publicText:s,sensitiveText:r,fixedPw:o,problemText:n}}function c(e){var t=0,s="",r="",a="",n="",o="",i=[],l=new RegExp("[^0-9]"),c=new RegExp("^[0-9]+[^0-9]+$"),h=new RegExp("^[^0-9]+[0-9]+$");if(e.length>=4&&!e.match(l)){t=1,s="Add more letters and symbols to your password",r="Add characters other than digits to your password",a=e,n="35% of people also use only digits";var u=58+Math.floor(68*Math.random()),d=Math.floor(1+Math.random()*(e.length-1));o=e.slice(0,d)+String.fromCharCode(u)+e.slice(d);for(var g=0;g<o.length;g++)i[g]=0;i[d]=1}else if(e.length>=4&&e.match(c)){t=1,r="Consider inserting digits into the middle, not just at the beginning",s="Consider inserting digits into the middle",n="10% of people also put digits at the beginning of the password";for(var p=1;e.charCodeAt(p)>=48&&e.charCodeAt(p)<=57;)p++;a=e.slice(0,p);var d=Math.floor(p+1+Math.random()*(e.length-p-1));o=e.slice(p,d)+e.slice(0,p)+e.slice(d);for(var g=0;g<d-p;g++)i[g]=0;for(var g=d-p;g<d;g++)i[g]=1;for(var g=d;g<o.length;g++)i[g]=0}else if(e.length>=4&&e.match(h)){t=1,r="Consider inserting digits into the middle, not just at the end",s="Consider inserting digits into the middle",n="38% of people also put digits at the end of the password";for(var m=e.length-2;e.charCodeAt(m)>=48&&e.charCodeAt(m)<=57;)m--;a=e.slice(m+1);var d=Math.floor(1+Math.random()*(e.length-m-1));o=e.slice(0,d)+e.slice(m+1)+e.slice(d,m+1);for(var g=0;g<d;g++)i[g]=0;for(var g=d;g<d+e.slice(m+1).length;g++)i[g]=1;for(var g=d+e.slice(m+1).length;g<o.length;g++)i[g]=0}return{score:t,reasonWhy:n,publicText:s,sensitiveText:r,fixedPw:o,problemText:a,deltas:i}}function h(e){var t=0,s="",r="",a="",n="",o="",i=[],l=new RegExp("^[A-Za-z]+[^0-9A-Za-z]+[0-9]+$"),c=new RegExp("^[0-9A-Za-z]+[^0-9A-Za-z]+$"),h=new RegExp("[^0-9A-Za-z]+");if(e.length>=4&&e.match(l)){t=1,r="Move symbols and digits earlier, rather than just at the end",s="Move symbols and digits elsewhere in your password",a=e.match(h)[0],n="14% of people also use letters, followed by symbols, followed by digits";var u=e.search(h);a=e.slice(u);var d=Math.floor(1+Math.random()*(u-1));o=e.slice(0,d)+e.slice(u)+e.slice(d,u);for(var g=0;g<d;g++)i[g]=0;for(var g=d;g<d+e.slice(u).length;g++)i[g]=1;for(var g=d+e.slice(u).length;g<o.length;g++)i[g]=0}else if(e.length>=4&&e.match(c)){t=1,r="Move your symbols earlier, rather than just at the end",s="Move symbols and digits elsewhere in your password",n="16% of people also put symbols only at the end of the password";var u=e.search(h);a=e.slice(u);var d=Math.floor(1+Math.random()*(u-1));o=e.slice(0,d)+e.slice(u)+e.slice(d,u);for(var g=0;g<d;g++)i[g]=0;for(var g=d;g<d+e.slice(u).length;g++)i[g]=1;for(var g=d+e.slice(u).length;g<o.length;g++)i[g]=0}return{score:t,reasonWhy:n,publicText:s,sensitiveText:r,fixedPw:o,problemText:a,deltas:i}}function u(e){e=e.toLowerCase();for(var t={a:[2,1],b:[3,5],c:[3,3],d:[2,3],e:[1,3],f:[2,4],g:[2,5],h:[2,6],i:[1,8],j:[2,7],k:[2,8],l:[2,9],m:[3,7],n:[3,6],o:[1,9],p:[1,10],q:[1,1],r:[1,4],s:[2,2],t:[1,5],u:[1,7],v:[3,4],w:[1,2],x:[3,2],y:[1,6],z:[3,1],0:[0,10],1:[0,1],2:[0,2],3:[0,3],4:[0,4],5:[0,5],6:[0,6],7:[0,7],8:[0,8],9:[0,9],"`":[0,0],"~":[0,0],"!":[0,1],"@":[0,2],"#":[0,3],$:[0,4],"%":[0,5],"^":[0,6],"&":[0,7],"*":[0,8],"(":[0,9],")":[0,10],"-":[0,11],_:[0,11],"=":[0,12],"+":[0,12],"[":[1,11],"{":[1,11],"]":[1,12],"}":[1,12],"|":[1,13],"\\":[1,13],";":[2,10],":":[2,10],"'":[2,11],'"':[2,11],",":[3,8],"<":[3,8],".":[3,9],">":[3,9],"/":[3,10],"?":[3,10]," ":[4,5]},s="",r=0;r<e.length;r++)void 0!==t[e.charAt(r)]&&(s+=e.charAt(r));for(var a=new Array,r=1;r<s.length;r++){var n=t[s.charAt(r)][0]-t[s.charAt(r-1)][0],o=t[s.charAt(r)][1]-t[s.charAt(r-1)][1];a[r-1]=n.toString()+","+o.toString()}for(var i=(new RegExp("^[0-9]+$"),0),l=0,c=0,r=0;r<a.length;r++){var h=a[r];"none"===h||(r-c>l&&"0,0"!==h&&(i=c,l=r-c),c=r)}var u=l+1,d="",g="",p="",m="";return u>=4&&(p=s.substring(i,i+l+1),d="Avoid using a pattern on your keyboard",g="Avoid using a pattern on your keyboard like <b>"+p+"</b>",m="Because keyboard patterns are very common in passwords, attackers know to guess them"),u<3&&(u=0),{score:u,reasonWhy:m,publicText:d,sensitiveText:g,problemText:p}}function d(e){var t=e.split(""),s=t.removeDuplicates(),r=e.length-s.length,a="",n="",o="",i="";if(s.length<=.5*e.length&&s.length<=5){i="",a="Have more variety in the characters you choose";var l="";s.length>1&&(l="s");var n="Have more variety than repeating the same "+s.length+" character"+l+" ("+Helper.Helper.boldAll(s.sort()).toHumanString()+")";o="Passwords that use only a few different characters are easy for attackers to guess"}return{count:r,reasonWhy:o,publicText:a,sensitiveText:n,problemText:i}}function g(e){var t=0,s="",r="",a="",n="",o=!1;e=e.toLowerCase();for(var i=e.length,l=Math.floor(i/2);l>=3;l--){for(var c=0;c<=i-l;c++){for(var h=e.substring(c,c+l),u=h.split("").reverse().join(""),d=0;d+l<=c;d++)e.substring(d,d+l)===h?(t+=l,a=h):e.substring(d,d+l)===u&&(t+=l,a=h,o=!0);for(var d=c+l;d+l<=i;d++)e.substring(d,d+l)===h?(t+=l,a=h):e.substring(d,d+l)===u&&(t+=l,a=h,o=!0);if(t>=3){t>=4?(s="Avoid repeating sections",r="Avoid repeating sections (<b>"+a+"</b>)",n="In their guessing, attackers know to try duplicating parts of the password",o&&(s+=", forwards or backwards",r+=", forwards or backwards")):a="";break}}if(t>0)break}return{count:t,reasonWhy:n,publicText:s,sensitiveText:r,problemText:a}}function p(e){for(var t=e.length,s=1,r=1,a="",n="",o="",i="",l="",c=1;c<t;c++)e[c-1]==e[c]?++r>s&&(s=r,a=e[c]):r=1;var h=s;if(s>=3){n="Don't repeat the same character many times in a row";for(var u=0;u<h;u++)i+=a;o="Don't repeat the same character (<b>"+i+"</b>) many times in a row",l="Hitting the same key over and over adds little to your password's strength"}return 1===h&&(h=0),{count:h,reasonWhy:l,publicText:n,sensitiveText:o,problemText:i}}function m(e,t){for(var s=0,r="",a="",n="",o="",i=e,l=0;l<t.length;l++)t[l]=t[l].toLowerCase();var c=t.listSubstringsMinMax(5,void 0),h=[e.toLowerCase()].listSubstringsMinMax(5,void 0),u=PasswordMeter.PasswordMeter.instance.getHelper(),d=u.sortedOverlap(h,c);if(d.length>=5){s=d.length,n=d,r="Don't use your account information in your password",a="Don't use your account information (<b>"+n+"</b>) in your password",o="Attackers know to guess your username and email address as part of your password";var g=e.indexOf(d);g>-1&&(i=e.substr(0,g)+e.substr(g+d.length))}return{count:s,reasonWhy:o,publicText:r,sensitiveText:a,problemText:n,remaining:i}}function f(e){var t=0,s="",r="",a="",n="",o=new Array;e=e.toLowerCase();for(var i=Constants.Constants.blacklistedSubstrings,l=0;l<i.length;l++)for(;-1!=e.indexOf(i[l]);)o.push(i[l]),e=e.replace(i[l]," ");if(o.length>0){s="Avoid strings of characters commonly found in passwords";r="Avoid strings of characters commonly found in passwords like <b>"+o.join(" </b>and<b> ")+"</b>",n="Even if they don't make sense, these strings of characters show up in many passwords, which makes them bad to use in yours.",a=o[0];for(var c=0;c<o.length;c++)t+=o[c].length}return{count:t,reasonWhy:n,publicText:s,sensitiveText:r,problemText:a}}function v(e){for(var t=PasswordMeter.PasswordMeter.instance.getDictionaries().passwordsDict,s="Attackers frequently use other people's common passwords as a starting point for their guesses",r=0;r<e.length;r++)if(t[e[r]]){var a="Avoid using very common passwords like <b>"+e[r]+"</b> as part of your own password",n=e[r],o=n.length;return{length:o,reasonWhy:s,publicText:"Avoid using very common passwords as part of your own password",sensitiveText:a,problemText:n}}return{length:0,reasonWhy:s,publicText:"",sensitiveText:"",problemText:""}}function w(e){var t=PasswordMeter.PasswordMeter.instance.getConfig(),s=PasswordMeter.PasswordMeter.instance.getHelper(),r=t.ignoredWords,a="",n="",o="",i="",l=e,c=[],h=new RegExp("[^A-Za-z]");e=e.toLowerCase(),e=e.replace(/[-_ ]/g,"");var u=e.split(/[^a-z01345@$]+/);u=u.filter(function(e){return e});for(var d=u.listSubstringsMinMax(1,void 0),g=0;g<d.length;){var p="",m=new Array;d[g].match(h)&&e.length<=14?m=s.commonSubstitutions(d[g]):m.push({candidate:d[g],offset:0,commonness:100});for(var f=0;f<m.length;f++){var v=m[f].candidate;r.indexOf(v)>-1&&(c.push(d[g]),p=d[g])}if(p.length>0){0==o.length&&(o=d[g]);for(var f=0;f<u.length;f++){var w=u[f].indexOf(p);if(w>-1){u.splice(f,1,u[f].substring(0,w),u[f].substring(w+p.length)),u=u.filter(function(e){return e});break}}var d=u.listSubstringsMinMax(1,p.length);p="",g=0}else g++}var b=0,y=0;if(c.length>0){a="Don't use site-specific terms in your password";for(var g=0;g<c.length;g++){b+=c[g].length,y++;var C=l.indexOf(c[g]);C>-1&&(l=l.substr(0,C)+l.substr(C+c[g].length))}n="Don't use site-specific terms ("+Helper.Helper.boldAll(c.removeDuplicates()).toHumanString()+")",i="Attackers target their attacks to words used on a particular service"}return{length:b,reasonWhy:i,publicText:a,sensitiveText:n,problemText:o,remaining:l}}function b(e){var t="",s="",r="",a="",n=100,o=new Array,i=new Array,l=new Array,c=new Array,h=new Array,u=PasswordMeter.PasswordMeter.instance,d=u.getDictionaries(),g=u.getHelper(),p=new Array,m=new Array;e=e.replace(/[-_ ]/g,"");var f=e.split(/[^A-Za-z012345!&@$]+/);f=f.filter(function(e){return e});for(var v=f.listSubstringsMinMax(4,void 0),w=0;w<v.length;){var b="",y=new Array,C=v[w].toLowerCase();C.match(Constants.Constants.NONALPHA)&&e.length<=14?y=g.commonSubstitutions(C):y.push({candidate:C,offset:0,commonness:100});for(var A=0;A<y.length;A++){var x=y[A].candidate,M=y[A].commonness;d.petnames[x]?(100===y[A].commonness?o.push(v[w]):(p.push(x+"  &#x2192;  "+v[w]),m.push(v[w])),b=v[w],M<n&&(n=M)):d.phrasesDict[x]?(100===y[A].commonness?i.push(v[w]):(p.push(x+"  &#x2192;  "+v[w]),m.push(v[w])),b=v[w],M<n&&(n=M)):d.namesDict[x]?(100===y[A].commonness?l.push(v[w]):(p.push(x+"  &#x2192;  "+v[w]),m.push(v[w])),b=v[w],M<n&&(n=M)):d.wikipediaDict[x]?(100===y[A].commonness?c.push(v[w]):(p.push(x+" &#x2192; "+v[w]),m.push(v[w])),b=v[w],M<n&&(n=M)):d.englishwordsDict[x]&&(100===y[A].commonness?h.push(v[w]):(p.push(x+" &#x2192; "+v[w]),m.push(v[w])),b=v[w],M<n&&(n=M))}if(b.length>0){0==r.length&&(r=v[w]);for(var A=0;A<f.length;A++){var T=f[A].indexOf(b);if(T>-1){f.splice(A,1,f[A].substring(0,T),f[A].substring(T+b.length)),f=f.filter(function(e){return e});break}}var v=f.listSubstringsMinMax(4,b.length);b="",w=0}else w++}var S=new Array,k=new Array,P=0,E=0,L=function(e){return Helper.Helper.boldAll(e.removeDuplicates()).toHumanString()},R=function(e,t){if(e.length>0){S.push(t);for(var s=0;s<e.length;s++)P+=e[s].length,E++;k.push(t+" ("+L(e)+")")}};return R(l,"names"),R(o,"pet names"),R(i,"common phrases"),R(h,"dictionary words"),R(c,"words used on Wikipedia"),R(p,"simple transformations of words or phrases"),S.length>0&&(a="Attackers use software that automatically guesses millions of words commonly found in dictionaries, wordlists, or other people's passwords",t="Don't use ",s="Don't use ",n<100&&(a+=", including simple transformations of those words/phrases where they substitute digits and symbols for letters"),t+=S.join(" or "),s+=k.join(" or ")),n=100-n,{length:P,reasonWhy:a,publicText:t,sensitiveText:s,problemText:r,dictionaryTokens:E,substitutionCommonness:n}}function y(e){var t=0,s="",r="",a="",n="",o=[],i=PasswordMeter.PasswordMeter.instance.getHelper(),l=[e],c=function(e){var s=i.matchHelper(l,e);s.score>0&&(t+=s.score,o=o.concat(s.matched.toString()),l=s.revisedParts)},h="([ .-/])",u="((0\\d|1[012])|\\d)",d="(january|february|march|april|may|june|july|august|september|october|november|december)",g="([012]\\d|3[01])",p="(\\d\\d)",m="(19\\d\\d|20[01234]\\d)",f=new RegExp(u+h+g+h+m,"g");c(f);var f=new RegExp(g+h+u+h+m,"g");c(f);var f=new RegExp(u+h+g+h+p,"g");c(f);var f=new RegExp(g+h+u+h+p,"g");c(f);var f=new RegExp(u+g+m,"g");c(f);var f=new RegExp(g+u+m,"g");c(f);var f=new RegExp(d+m,"ig");c(f);var f=new RegExp(d+p,"ig");c(f);var f=new RegExp(u+h+g,"g");c(f);var f=new RegExp(g+h+u,"g");c(f);var f=new RegExp(m,"g");return c(f),t>0&&(s="Avoid using dates",r="Avoid using dates like "+Helper.Helper.boldAll(o).toHumanString(),n="Dates and years in any format are quite common in passwords",a=o[0]),{count:t,reasonWhy:n,publicText:s,sensitiveText:r,problemText:a}}function C(e){var t=0,s="",r="",a="",n="",o=[],i=[];o[0]=e.charCodeAt(0);for(var l=1;l<e.length;l++)o[l]=e.charCodeAt(l),i[l-1]=o[l]-o[l-1];for(var c=-1,h=-1,u=0,l=0;l<i.length;l++){var d=i[l];-1===d||(l-u>h&&0!==d&&(c=u,h=l-u),u=l);var t=h;if(1===t&&(t=0),t>=2&&t++,t>=4){a=e.substr(c,c+h+1);var g=new RegExp("^[0-9]+$");a.match(g)?(s="Avoid numerical patterns",r="Avoid numerical patterns like <b>"+a+"</b>"):(s="Avoid patterns from the alphabet",r="Avoid patterns from the alphabet like <b>"+a+"</b>"),n="Attackers know to guess sequences following the alphabet, in addition to repeated characters or patterns on your keyboard"}}return{count:t,reasonWhy:n,publicText:s,sensitiveText:r,problemText:a}}function A(e){var t="",s="",r="",a=0,e=e.replace(/[A-Z]/g,"U"),e=e.replace(/[a-z]/g,"L"),e=e.replace(/[0-9]/g,"D"),e=e.replace(/[^A-Za-z0-9]/g,"S"),n=Constants.Constants.commonStructures.indexOf(e);if(n>=0){a=2124-n,r="One technique attackers use is to try all possible passwords within common structures, or arrangements of character classes (e.g., where lowercase letters and digits are located)",t="The way you structure your password is predictable",s=t+" (";for(var o=!0,i=0;i<e.length;){for(var l=0;i+l<e.length&&e.charAt(i)===e.charAt(i+l);)l++;o||(s+=", "),o=!1,s+=l.toString()+" ","L"===e.charAt(i)?s+="lowercase letter":"U"===e.charAt(i)?s+="uppercase letter":"D"===e.charAt(i)?s+="digit":"S"===e.charAt(i)&&(s+="symbol"),l>1&&(s+="s"),i+=l}s+=")"}return{score:a,reasonWhy:r,publicText:t,sensitiveText:s}}e.verifyMinimumRequirements=t,e.pwLength=s,e.countUC=r,e.countLC=a,e.countDIGS=n,e.countSYMS=o,e.characterClasses=i,e.uppercasePredictable=l,e.digitsPredictable=c,e.symbolsPredictable=h,e.keyboardPatterns=u,e.duplicatedCharacters=d,e.repeatedSections=g,e.repeats=p,e.contextual=m,e.commonSubstringCheck=f,e.commonPwCheck=v,e.blacklist=w,e.combinedDictCheck=b,e.identifyDates=y,e.alphabeticSequenceCheck=C,e.structurePredictable=A}(RuleFunctions=exports.RuleFunctions||(exports.RuleFunctions={}));
  },{"./PasswordMeter":1,"./constants":4,"./helper":6}],9:[function(require,module,exports){
  String.prototype.replaceAt=function(r,t){return this.substr(0,r)+t+this.substr(r+1)},String.prototype.listSubstringsNoFilter=function(r){for(var t=new Array,e=this.toLowerCase(),n=e.length,i=n;i>=r-1;i--)for(var o=0;i+o<n;o++){var s=e.substring(o,o+i+1);t.push(s)}return t},String.prototype.escapeHTML=function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},String.prototype.listSubstrings=function(r){for(var t=new Array,e=this.toLowerCase(),e=e.replace(/[^a-z]/g,""),n=e.length,i=n;i>=r-1;i--)for(var o=0;i+o<n;o++){var s=e.substring(o,o+i+1);t.push(s)}return t},String.prototype.frequencies=function(){for(var r=[],t=0;t<this.length;t++){var e=this.charCodeAt(t);void 0==r[e]&&(r[e]=0),r[e]++}return r},String.prototype.removeDuplicateChars=function(){return this.split("").filter(function(r,t,e){return e.indexOf(r)===t}).join("")},String.prototype.reverse=function(){for(var r="",t=this.length;t--;)r+=this[t];return r};
  },{}],10:[function(require,module,exports){
  "use strict";exports.__esModule=!0;var PasswordMeter=require("./PasswordMeter"),RuleFunctions=require("./rulefunctions"),UIMisc;!function(e){var t=function(){function e(e){this.pwWhenModalOpened="",this.tookSuggestion=!1,this.previouslyRated="",this.heuristicMapping={},this.neuralnetMapping={},this.feedbackMapping={},this.recommendedFixes={},this.recommendedFixesTries={},this.previousCandidate={},this.fixedpwMapping={},this.deltaHighlighted={},this.inCompliance=!1;var t=PasswordMeter.PasswordMeter.instance;this.helper=t.getHelper(),this.$=t.getJquery(),this.verboseMode=e}return e.prototype.onReady=function(){this.$(".pop").fadeIn(),this.$("#showHidePWNonModal").prop("checked",!1),this.toggleShowHideNonModal(),this.spawnRating()},e.prototype.toggleShowHideNonModal=function(){this.$("#showHidePWNonModal").prop("checked")?(this.$("#pwbox").prop("type","text"),this.$("#pwboxModal").prop("type","text"),this.$("#showHidePWModal").prop("checked",!0)):(this.$("#pwbox").prop("type","password"),this.$("#pwboxModal").prop("type","password"),this.$("#showHidePWModal").prop("checked",!1)),this.spawnRating()},e.prototype.toggleShowHideModal=function(){this.$("#showHidePWModal").prop("checked")?(this.$("#pwbox").prop("type","text"),this.$("#pwboxModal").prop("type","text"),this.$("#showHidePWNonModal").prop("checked",!0)):(this.$("#pwbox").prop("type","password"),this.$("#pwboxModal").prop("type","password"),this.$("#showHidePWNonModal").prop("checked",!1)),this.spawnRating()},e.prototype.storepw=function(){var e=this.$("#pwbox").val();this.pwWhenModalOpened=e,this.$("#pwboxModal").val(e)},e.prototype.enableDiscard=function(){this.$("#pwboxModal").val()===this.pwWhenModalOpened?(this.$("#discardButton").hide(),this.$("#keepButton").html("OK")):(this.$("#discardButton").show(),this.$("#keepButton").html("Keep Changes"))},e.prototype.keeppw=function(){this.$("#pwbox").val(this.$("#pwboxModal").val())},e.prototype.fixPWNonModal=function(){this.tookSuggestion=!0;var e=this.$("#nonmodalFixedPW").text();this.$("#pwbox").val(e),this.spawnRating()},e.prototype.fixPWModal=function(){this.tookSuggestion=!0;var e=this.$("#modalFixedPW").text();this.$("#pwboxModal").val(e),this.spawnRating(),this.enableDiscard()},e.prototype.showModal=function(){this.storepw(),this.$("#discardButton").hide(),this.$("#keepButton").html("OK"),this.$("#myModal").modal("show")},e.prototype.mayberate=function(){this.$("#pwbox").val()!==this.previouslyRated&&(this.previouslyRated=this.$("#pwbox").val(),this.spawnRating())},e.prototype.continueCheck=function(e){var t=!0;e&&this.$("#usernamebox").val().length<1?(this.$("#usernameTooShort").show(),t=!1):this.$("#usernameTooShort").hide(),this.inCompliance?(this.$("#feedbackHeaderText").css({color:"","font-weight":""}),this.$("#passwordNonCompliant").hide()):(t=!1,this.$("#confirmDoesNotMatch").hide(),e&&(this.$("#feedbackHeaderText").css({color:"red","font-weight":"bold"}),this.$("#passwordNonCompliant").show())),this.$("#pwbox").val()!==this.$("#confirmbox").val()?(t=!1,e&&this.inCompliance&&this.$("#confirmDoesNotMatch").show()):this.$("#confirmDoesNotMatch").hide(),e&&t&&alert("this would be submitted")},e.prototype.spawnRating=function(){var e="",t=PasswordMeter.PasswordMeter.instance.getNN(),i=t.nn;e=this.$("#myModal").data("bs.modal")&&this.$("#myModal").data("bs.modal").isShown?this.$("#pwboxModal").val():this.$("#pwbox").val();var s=this.$("#usernamebox").val(),o=0;void 0===this.neuralnetMapping[e]?(this.neuralnetMapping[e]=-1,i.query_guess_number(e)):this.neuralnetMapping[e]>=0&&o++,void 0===this.heuristicMapping[e]?this.queryHeuristicGuessNumber(e,s,!0):this.heuristicMapping[e]>=0&&o++,0!==e.length&&t.heardFromNn()&&2!==o||this.displayRating(e)},e.prototype.generateCandidateFixed=function(e,t,i){var s=[];if(void 0===this.deltaHighlighted[e])for(var o=0;o<e.length;o++)s[o]=0;else s=this.deltaHighlighted[e];var n=e;void 0!==this.previousCandidate[e]&&(n=this.previousCandidate[e],s=this.deltaHighlighted[n]);var h=Math.floor(8*Math.random());if(0===h||1===h){var a=n.length,p=Math.floor(a*Math.random());n.charCodeAt(p)>=65&&n.charCodeAt(p)<=90?(n=n.replaceAt(p,String.fromCharCode(n.charCodeAt(p)+32)),s[p]=1):n.charCodeAt(p)>=97&&n.charCodeAt(p)<=122&&(n=n.replaceAt(p,String.fromCharCode(n.charCodeAt(p)-32)),s[p]=1)}else if(2===h||3===h){var r=32+Math.floor(95*Math.random()),l=Math.floor(n.length*Math.random());n.charCodeAt(l)!==r&&(s[l]=1),n=n.replaceAt(l,String.fromCharCode(r))}else if(h>=4){var r=32+Math.floor(95*Math.random()),l=Math.floor((n.length+1)*Math.random());n=n.slice(0,l)+String.fromCharCode(r)+n.slice(l),s=s.slice(0,l).concat(1,s.slice(l))}var d=this.$("#usernamebox").val();return RuleFunctions.RuleFunctions.verifyMinimumRequirements(n,d).compliant?(this.recommendedFixes[i]=n,this.deltaHighlighted[n]=s,this.verboseMode&&console.log("identified "+n+" as a potential fix for "+i),void 0===this.recommendedFixesTries[i]?this.recommendedFixesTries[i]=1:this.recommendedFixesTries[i]=this.recommendedFixesTries[i]+1,this.spawnFixedRating(n)):++t<8&&this.generateCandidateFixed(e,t,i),1},e.prototype.spawnFixedRating=function(e){var t=PasswordMeter.PasswordMeter.instance.getNN(),i=t.nnfixed,s=this.$("#usernamebox").val();void 0===this.neuralnetMapping[e]&&(this.neuralnetMapping[e]=-1,i.query_guess_number(e)),void 0===this.heuristicMapping[e]?this.queryHeuristicGuessNumber(e,s,!1):this.neuralnetMapping[e]>=0&&this.heuristicMapping[e]>=0&&this.synthesizeFixed(e)},e.prototype.synthesizeFixed=function(e){var t=0,i=0,s=!1;if(void 0!==this.heuristicMapping[e]&&this.heuristicMapping[e]>=0&&(i++,t=this.heuristicMapping[e]),void 0!==this.neuralnetMapping[e]&&this.neuralnetMapping[e]>=0&&isFinite(this.neuralnetMapping[e])&&(i++,(0===t||t>0&&this.neuralnetMapping[e]<t)&&(t=this.neuralnetMapping[e])),this.verboseMode&&console.log("potential fixed "+e+" from heuristic ("+this.heuristicMapping[e]+") and neural nets ("+this.neuralnetMapping[e]+") "+i),2===i&&t>=67){this.verboseMode&&console.log(e+" is a plausible fix above the 2/3rds threshold");for(var o in this.recommendedFixes)if(this.recommendedFixes[o]===e&&void 0===this.fixedpwMapping[o]){var n=0;void 0!==this.heuristicMapping[o]&&this.heuristicMapping[o]>=0&&(n=this.heuristicMapping[o]),void 0!==this.neuralnetMapping[o]&&this.neuralnetMapping[o]>=0&&isFinite(this.neuralnetMapping[o])&&(0===n||n>0&&this.neuralnetMapping[o]<n)&&(n=this.neuralnetMapping[o]),t>n+15?(this.fixedpwMapping[o]=e,this.verboseMode&&console.log("mapping "+o+" to "+e),s=!0):this.verboseMode&&console.log("not mapping "+o+" to "+e+" because it is not enough of an improvement "+n+" --\x3e "+t)}return s&&this.spawnRating(),1}var h=this.$("#pwbox").val();return this.$("#myModal").data("bs.modal")&&this.$("#myModal").data("bs.modal").isShown&&(h=this.$("#pwboxModal").val()),this.recommendedFixes[h]===e&&2===i&&void 0===this.fixedpwMapping[h]&&void 0!==this.recommendedFixesTries[h]&&this.recommendedFixesTries[h]<8&&(this.verboseMode&&console.log("trying again on "+e+" as current password is "+h),this.generateCandidateFixed(e,0,h)),1},e.prototype.redundant=function(e,t){e=e.toLowerCase();for(var i=0;i<t.length;i++)if(t[i]=t[i].toLowerCase(),t[i].length>0&&e.length>0&&(t[i].indexOf(e)>=0&&e.length>=.7*t[i].length||e.indexOf(t[i])>=0&&t[i].length>=.7*e.length))return!0;return!1},e.prototype.queryHeuristicGuessNumber=function(e,t,i){var s=e,o=[],n=[],h=[],a=[],p=RuleFunctions.RuleFunctions.contextual(e,[t]);void 0===(e=p.remaining)&&(e="");var r=RuleFunctions.RuleFunctions.blacklist(e);void 0===(e=r.remaining)&&(e="");for(var l=RuleFunctions.RuleFunctions.pwLength(e),d=RuleFunctions.RuleFunctions.characterClasses(e),u=RuleFunctions.RuleFunctions.duplicatedCharacters(e),c=RuleFunctions.RuleFunctions.repeats(e),g=RuleFunctions.RuleFunctions.keyboardPatterns(e),m=RuleFunctions.RuleFunctions.repeatedSections(e),x=RuleFunctions.RuleFunctions.structurePredictable(e),b=RuleFunctions.RuleFunctions.uppercasePredictable(e),w=RuleFunctions.RuleFunctions.digitsPredictable(e),M=RuleFunctions.RuleFunctions.symbolsPredictable(e),$=RuleFunctions.RuleFunctions.countUC(e),v=RuleFunctions.RuleFunctions.countLC(e),f=RuleFunctions.RuleFunctions.countDIGS(e),y=RuleFunctions.RuleFunctions.countSYMS(e),T=RuleFunctions.RuleFunctions.identifyDates(e),R=(RuleFunctions.RuleFunctions.verifyMinimumRequirements(e,t),RuleFunctions.RuleFunctions.alphabeticSequenceCheck(e)),F=RuleFunctions.RuleFunctions.commonSubstringCheck(e),C=RuleFunctions.RuleFunctions.combinedDictCheck(e),k=e.listSubstringsNoFilter(4),W=RuleFunctions.RuleFunctions.commonPwCheck(k),P=[1.53,.3129,.9912,.04637,-.03885,-.1172,-.2976,-8581e-7,-.3008,-.5566,0,.9108,.7369,.7578,0,-.1213,-.2402,-.1364,-.5534,1.927,.001496,-.3946],H=[1,l.length,d.count,u.count,c.count,g.score,m.count,x.score,b.score,w.score,M.score,$.count,v.count,f.count,y.count,T.count,R.count,F.count,C.length,C.dictionaryTokens,C.substitutionCommonness,W.length],N=P[0],S=1;S<P.length;S++)N+=P[S]*H[S];N*=67/15,N<e.length/2?N=e.length/2:N>100&&(N=100),p.publicText.length>0&&(o.push(p.publicText),n.push(p.sensitiveText),h.push(p.reasonWhy),a.push(p.problemText)),r.publicText.length>0&&(o.push(r.publicText),n.push(r.sensitiveText),h.push(r.reasonWhy),a.push(r.problemText)),C.publicText.length>0&&!this.redundant(C.problemText,a)&&(o.push(C.publicText),n.push(C.sensitiveText),h.push(C.reasonWhy),a.push(C.problemText)),g.publicText.length>0&&(o.push(g.publicText),n.push(g.sensitiveText),h.push(g.reasonWhy),a.push(g.problemText)),c.publicText.length>0&&(o.push(c.publicText),n.push(c.sensitiveText),h.push(c.reasonWhy),a.push(c.problemText)),T.publicText.length>0&&(o.push(T.publicText),n.push(T.sensitiveText),h.push(T.reasonWhy),a.push(T.problemText)),m.publicText.length>0&&(o.push(m.publicText),n.push(m.sensitiveText),h.push(m.reasonWhy),a.push(m.problemText)),R.publicText.length>0&&(o.push(R.publicText),n.push(R.sensitiveText),h.push(R.reasonWhy),a.push(R.problemText)),W.publicText.length>0&&!this.redundant(W.problemText,a)&&(o.push(W.publicText),n.push(W.sensitiveText),h.push(W.reasonWhy),a.push(W.problemText)),b.publicText.length>0&&(o.push(b.publicText),n.push(b.sensitiveText),h.push(b.reasonWhy),a.push(b.problemText)),w.publicText.length>0&&(o.push(w.publicText),n.push(w.sensitiveText),h.push(w.reasonWhy),a.push(w.problemText)),M.publicText.length>0&&(o.push(M.publicText),n.push(M.sensitiveText),h.push(M.reasonWhy),a.push(M.problemText)),u.publicText.length>0&&(o.push(u.publicText),n.push(u.sensitiveText),h.push(u.reasonWhy),a.push(u.problemText)),l.publicText.length>0&&(o.push(l.publicText),n.push(l.sensitiveText),h.push(l.reasonWhy)),y.publicText.length>0&&(o.push(y.publicText),n.push(y.sensitiveText),h.push(y.reasonWhy)),$.publicText.length>0&&(o.push($.publicText),n.push($.sensitiveText),h.push($.reasonWhy)),f.publicText.length>0&&(o.push(f.publicText),n.push(f.sensitiveText),h.push(f.reasonWhy)),v.publicText.length>0&&(o.push(v.publicText),n.push(v.sensitiveText),h.push(v.reasonWhy)),F.publicText.length>0&&!this.redundant(F.problemText,a)&&(o.push(F.publicText),n.push(F.sensitiveText),h.push(F.reasonWhy)),x.publicText.length>0&&(o.push(x.publicText),n.push(x.sensitiveText),h.push(x.reasonWhy)),this.heuristicMapping[s]=N,this.feedbackMapping[s]=JSON.stringify({publictips1:o[0],publictips2:o[1],publictips3:o[2],sensitivetips1:n[0],sensitivetips2:n[1],sensitivetips3:n[2],reasonWhy1:h[0],reasonWhy2:h[1],reasonWhy3:h[2]}),i?(this.displayRating(s),w.fixedPw.length>0?(this.previousCandidate[s]=w.fixedPw,this.deltaHighlighted[w.fixedPw]=w.deltas):M.fixedPw.length>0&&(this.previousCandidate[s]=M.fixedPw,this.deltaHighlighted[M.fixedPw]=M.deltas)):this.synthesizeFixed(s)},e.prototype.setNeuralnetMapping=function(e,t){this.neuralnetMapping[e]=t},e.prototype.displayRating=function(e){var t=0,i=0;e.length>0&&(void 0!==this.heuristicMapping[e]&&this.heuristicMapping[e]>=0&&(t=this.heuristicMapping[e],i++),void 0!==this.neuralnetMapping[e]&&this.neuralnetMapping[e]>=0&&isFinite(this.neuralnetMapping[e])&&(i++,(0==t||t>0&&this.neuralnetMapping[e]<t)&&(t=this.neuralnetMapping[e]))),t<e.length/2&&(t=e.length/2),this.verboseMode&&console.log(e+" overall from heuristic ("+this.heuristicMapping[e]+") and neural nets ("+this.neuralnetMapping[e]+")"),void 0===this.feedbackMapping[e]&&(this.feedbackMapping[e]=JSON.stringify({publictips1:"",publictips2:"",publictips3:"",sensitivetips1:"",sensitivetips2:"",sensitivetips3:"",reasonWhy1:"",reasonWhy2:"",reasonWhy3:""}));var s=JSON.parse(this.feedbackMapping[e]),o=PasswordMeter.PasswordMeter.instance.getConfig(),n=this.$("#usernamebox").val(),h=PasswordMeter.PasswordMeter.instance.getNN(),a=RuleFunctions.RuleFunctions.verifyMinimumRequirements(e,n);if(a.compliant){if(this.inCompliance=!0,0!==e.length&&h.heardFromNn()&&2!==i||this.displayBar(t,!0),this.$(".detailedFeedback").show(),this.$(".portalToGenericAdviceModal").hide(),this.$(".explainWhy").show(),this.$("#nonmodalRow1").show(),this.$("#nonmodalRow2").show(),this.$("#nonmodalRow3").show(),this.$("#nonmodalRow4").hide(),this.$("#nonmodalRow5").hide(),this.$("#nonmodalRow6").hide(),this.$("#nonmodalRow7").hide(),this.$("#nonmodalRow8").hide(),this.$("#confirmpw").show(),this.$(".modalRow").hide(),this.$("#modalRow1").show(),this.$("#modalRow1a").show(),this.$("#modalRow2").show(),this.$("#modalRow2a").show(),this.$("#modalRow3").show(),this.$("#modalRow3a").show(),void 0===s.publictips3&&(this.$("#nonmodalRow3").hide(),this.$("#modalRow3").hide(),this.$("#modalRow3a").hide()),void 0===s.publictips2&&(this.$("#nonmodalRow2").hide(),this.$("#modalRow2").hide(),this.$("#modalRow2a").hide()),void 0===s.publictips1&&(this.$("#nonmodalRow1").hide(),this.$("#modalRow1").hide(),this.$("#modalRow1a").hide()),t<=33){this.$("#feedbackHeaderText").html("Your password is very easy to guess."),this.$("#feedbackHeaderTextModal").html("Your password is very easy to guess.")}else if(t<=66){this.$("#feedbackHeaderText").html("Your password could be better."),this.$("#feedbackHeaderTextModal").html("Your password could be better.")}else if(t<100){var p="Your password is pretty good.";o.remindAgainstReuse&&(p+=" Use it only for this account. <span class='explainWhy explainWhyColoring' onclick=\"$('#myModalGeneric').modal('show');$('#okGeneric').prop('disabled', false);\" data-target='#myModalGeneric' data-target='#myModal'>(Why?)</span>"),p+="<br><p style='line-height:0.25em;'>&nbsp;</p>To make it even better:",this.$("#feedbackHeaderText").html(p),this.$("#feedbackHeaderTextModal").html(p)}else{var r="Your password appears strong.";o.remindAgainstReuse&&(r+=" Make sure you use it only for this account. <span class='explainWhy explainWhyColoring' onclick=\"$('#myModalGeneric').modal('show');$('#okGeneric').prop('disabled', false);\" data-target='#myModalGeneric' data-target='#myModal'>(Why?)</span>"),this.$("#feedbackHeaderText").html(r),this.$("#feedbackHeaderTextModal").html(r)}if(this.$(".nonmodalColorCell").show(),this.$(".modalColorCell").show(),this.$(".modalColorCellSpacer").show(),this.$(".recommended").show(),!0===this.$("#showHidePWNonModal").prop("checked")?(this.$(".fixedPWavailablePortal").hide(),this.$(".concreteSuggestionDiv").show(),this.$("#tipText1").html(s.sensitivetips1),this.$("#tipText2").html(s.sensitivetips2),this.$("#tipText3").html(s.sensitivetips3),this.$("#suggestion1").html(s.sensitivetips1),this.$("#suggestion2").html(s.sensitivetips2),this.$("#suggestion3").html(s.sensitivetips3),this.$("#sensText1").html(s.reasonWhy1),this.$("#sensText2").html(s.reasonWhy2),this.$("#sensText3").html(s.reasonWhy3)):(this.$(".fixedPWavailablePortal").show(),this.$(".concreteSuggestionDiv").hide(),this.$("#tipText1").html(s.publictips1),this.$("#tipText2").html(s.publictips2),this.$("#tipText3").html(s.publictips3),this.$("#suggestion1").html(s.publictips1),this.$("#suggestion2").html(s.publictips2),this.$("#suggestion3").html(s.publictips3),this.$("#sensText1").html(s.reasonWhy1),this.$("#sensText2").html(s.reasonWhy2),this.$("#sensText3").html(s.reasonWhy3)),void 0!==this.fixedpwMapping[e]){for(var l="",d=this.deltaHighlighted[this.fixedpwMapping[e]],u=this.fixedpwMapping[e],c=0;c<u.length;c++)1===d[c]?l+="<span class='deltaHighlights'>"+u[c].escapeHTML()+"</span>":l+=u[c].escapeHTML();this.$(".fixedPW").html(l)}else this.$(".recommended").hide();t<=66?(this.$("#nonmodalFeedbackTable").show(),this.$("#modalFeedbackTable").show(),this.$(".portalToGenericAdviceModal").show()):t<100?(this.$("#nonmodalFeedbackTable").show(),this.$("#modalFeedbackTable").show(),this.$(".portalToGenericAdviceModal").show(),this.tookSuggestion&&(this.$(".recommended").hide(),this.$(".portalToGenericAdviceModal").hide())):(this.$("#nonmodalFeedbackTable").hide(),this.$("#modalFeedbackTable").hide(),this.$(".recommended").hide(),this.$(".portalToGenericAdviceModal").hide())}else{this.inCompliance=!1;var h=PasswordMeter.PasswordMeter.instance.getNN();0!==e.length&&h.heardFromNn()&&2!==i||this.displayBar(t,!1),this.$("#confirmpw").hide(),this.$(".detailedFeedback").hide(),this.$(".portalToGenericAdviceModal").show(),this.$(".explainWhy").hide();var g="",o=PasswordMeter.PasswordMeter.instance.getConfig();o.remindAgainstReuse&&(g="<span style='color:#555555;'>Don't reuse a password from another account!</span> <span class='explainWhy explainWhyColoring' onclick=\"$('#myModalGeneric').modal('show');$('#okGeneric').prop('disabled', false);\" data-target='#myModalGeneric' data-target='#myModal'>(Why?)</span><br><p style='line-height:0.25em;'>&nbsp;</p>");var m="Your password <span style='text-decoration: underline;'>must</span>:";this.$("#feedbackHeaderText").html(g+m),this.$("#feedbackHeaderTextModal").html(g+m),this.$("#nonmodalFeedbackTable").show(),this.$(".recommended").hide();var x=[],b=a.detail;for(var w in b.compliance)b.compliance[w]||x.push(b.explanation[w]);this.$(".nonmodalColorCell").hide(),this.$(".modalColorCell").hide(),this.$(".modalColorCellSpacer").hide(),this.$(".nonmodalRow").hide(),this.$(".modalRow").hide();for(var M=0;M<x.length;M++){var $=this.$("#nonmodalRow"+(M+1)),v=this.$("#tipText"+(M+1)),f=this.$("#modalRow"+(M+1)),y=this.$("#suggestion"+(M+1)),T=x[M];$.show(),v.html(T),f.show(),y.html(T)}}var h=PasswordMeter.PasswordMeter.instance.getNN();(0===e.length||!h.heardFromNn()||2===i)&&a.compliant&&void 0===this.fixedpwMapping[e]&&t<100&&this.generateCandidateFixed(e,0,e)},e.prototype.displayBar=function(e,t){e<0&&(e=0),e>100&&(e=100);var i=e/100,s="rgb(160,160,160)";t&&i<.45?s="rgb("+Math.round(255)+","+Math.round(i/.45*140)+",0)":t&&i>=.45&&i<.65?s="rgb("+Math.round(255)+","+Math.round((i-.45)/.2*75+140)+",0)":t&&(s="rgb("+Math.round(255-(i-.65)/.35*205)+","+Math.round(215-(i-.65)/.035)+",0)"),this.$("#cups-passwordmeter-span").css("width",Math.round(298*e/100).toString()+"px"),this.$("#cups-passwordmeter-span").css("background-color",s),this.$("#cups-passwordmeter-span-modal").css("width",Math.round(298*e/100).toString()+"px"),this.$("#cups-passwordmeter-span-modal").css("background-color",s)},e.prototype.getMaxOfArray=function(e){return Math.max.apply(null,e)},e.prototype.expandHelpBut=function(){this.$("#expandHelpDiv").show(),this.$("#helpButton").hide()},e.prototype.modalShowCheck=function(){"text"==this.$("#pwbox").prop("type")?(this.$("#myModal").modal("show"),this.storepw()):this.$("#expandHelpDiv").is(":visible")?(this.$("#myModal").modal("show"),this.storepw()):this.expandHelpBut()},e.prototype.closeDiv=function(e){this.$(e).hide()},e.prototype.deselect=function(e){void 0==this.$.fn.slideFadeToggle&&(this.$.fn.slideFadeToggle=function(e,t){return this.animate({opacity:"toggle",height:"toggle"},"fast",e,t)}),this.$(".pop").slideFadeToggle(function(){e.removeClass("selected")})},e}();e.UIMisc=t,function(){var e=PasswordMeter.PasswordMeter.instance,i=e.getJquery(),s=new t(!1);e.setUI(s),i(document).ready(function(){i("#showpassword").prop("checked",!1),i("#showpassword").click(function(){document.getElementById("hide-show-label").textContent="Hide Password",i("#cbbutton").css("background-color","#f5f5f5"),"password"==i("#pwbox").prop("type")?i("#pwbox").prop("type","text"):(i("#pwbox").prop("type","password"),document.getElementById("hide-show-label").textContent="Show Password",i("#cbbutton").css("background-color","#f5f5f5"))})}),i(document).ready(function(){var e=i("#pwboxModal");i("#tip1, #sensText1").mouseover(function(){e.addClass("problemColor")}),i("#tip2, #sensText2").mouseover(function(){e.addClass("problemColor")}),i("#tip3, #sensText3").mouseover(function(){e.addClass("problemColor")})}),i(document).ready(function(){s.onReady()})}()}(UIMisc=exports.UIMisc||(exports.UIMisc={}));
  },{"./PasswordMeter":1,"./rulefunctions":8}]},{},[1,2,3,4,5,6,7,8,9,10]);
  