]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - bip39-standalone.html
Test suggested word for first four letters of word
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / bip39-standalone.html
CommitLineData
ebd8d4e8
IC
1<!DOCTYPE html>
2<html>
3 <head lang="en">
4 <meta charset="utf-8" />
5 <title>BIP39 - Mnemonic Code</title>
ab78acc6 6 <style>/*!
ebd8d4e8
IC
7 * Bootstrap v3.2.0 (http://getbootstrap.com)
8 * Copyright 2011-2014 Twitter, Inc.
9 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
10 *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}</style>
11 <meta content="Mnemonic code for generating deterministic keys" name="description"/>
12 <meta content="width=device-width, initial-scale=1.0" name="viewport" />
13 <meta content="bitcoin mnemonic converter" name="description" />
b630f83d 14 <meta content="Ian Coleman" name="author" />
3af2954a 15
ab78acc6
IC
16 <style>
17 body {
18 padding-bottom: 32px;
19 }
20 .form-control[readonly] {
21 cursor: text;
22 }
23 .feedback-container {
24 position: fixed;
25 top: 0;
26 width: 100%;
27 text-align: center;
28 z-index: 4;
29 }
30 .feedback {
31 display: table;
32 padding: 0.5em 1em;
33 background-color: orange;
34 margin: 0 auto;
35 font-size: 2em;
36 color: #444;
37 border: 2px solid #555;
38 border-top: 0;
39 border-bottom-left-radius: 20px 20px;
40 border-bottom-right-radius: 20px 20px;
41 }
d5dc92fd
IC
42 .no-border {
43 border: 0;
44 box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
45 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
46 }
0515eeec
IC
47 .phrase {
48 word-break: keep-all;
49 }
2a6dd137 50 .generate-container .strength {
b0818b31
IC
51 /* override mobile width from bootstrap */
52 width: auto!important;
53 display: inline-block;
54 }
ea87f1d3 55 .languages a {
0515eeec
IC
56 padding-left: 10px;
57 }
ea87f1d3
IC
58 .languages a:nth-of-type(1) {
59 margin-left: -12px;
60 padding-left: 0;
61 }
d737abf6
IC
62 .monospace {
63 font-family: monospace;
64 }
2a6dd137
IC
65 .entropy-container .filtered,
66 .entropy-container .binary {
67 word-wrap: break-word;
68 }
69 .entropy-container li {
70 padding-bottom: 5px;
71 }
72 .card-suit {
73 font-size: 19px;
74 line-height: 0;
75 }
76 .card-suit.club {
77 color: #009F00;
78 }
79 .card-suit.diamond {
80 color: #3D5DC4;
81 }
82 .card-suit.heart {
83 color: #F00;
84 }
85 .card-suit.spade {
86 color: #000;
87 }
e00964cc
IC
88 .qr-container {
89 position: fixed;
90 top: 0;
91 right: 0;
92 text-align: center;
93 background-color: #FFF;
94 border: 1px solid #CCC;
95 }
96 .qr-image {
97 margin: 5px;
98 }
52da415f
IC
99 .qr-hint,
100 .qr-warning {
e00964cc 101 padding: 2px;
52da415f
IC
102 max-width: 150px;
103 }
104 .more-info {
105 cursor: help;
106 border-bottom: 1px dashed #000;
107 text-decoration: none;
e00964cc 108 }
ab78acc6
IC
109 </style>
110 </head>
111 <body>
112 <div class="container">
3af2954a 113
ab78acc6
IC
114 <h1 class="text-center">Mnemonic Code Converter</h1>
115 <hr>
116 <div class="row">
117 <div class="col-md-12">
118 <h2>Mnemonic</h2>
119 <form class="form-horizontal" role="form">
ab78acc6 120 <div class="form-group">
c6624d51
IC
121 <div class="col-sm-2"></div>
122 <div class="col-sm-10">
ea87f1d3
IC
123 <p data-translate>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).</p>
124 <p data-translate-html>
125 For more info see the
126 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a>.
127 </p>
c6624d51
IC
128 </div>
129 </div>
130 <div class="form-group generate-container">
b0818b31 131 <label class="col-sm-2 control-label"></label>
ab78acc6 132 <div class="col-sm-10">
b0818b31
IC
133 <div class="form-inline">
134 <div class="input-group-inline">
ea87f1d3 135 <span data-translate>Generate a random mnemonic, or enter your own below</span>:
b0818b31 136 <button class="btn generate">Generate</button>
b0818b31
IC
137 <select id="strength" class="strength form-control">
138 <option value="3">3</option>
139 <option value="6">6</option>
140 <option value="9">9</option>
141 <option value="12">12</option>
142 <option value="15" selected>15</option>
143 <option value="18">18</option>
144 <option value="21">21</option>
145 <option value="24">24</option>
146 </select>
ea87f1d3 147 <span data-translate>words</span>
b0818b31
IC
148 </div>
149 </div>
ab78acc6 150 </div>
0515eeec 151 </div>
c6624d51 152 <div class="entropy-container hidden">
2a6dd137 153 <div class="form-group text-danger">
ea87f1d3 154 <label class="col-sm-2 control-label" data-translate>Warning</label>
2a6dd137 155 <div class="col-sm-10 form-control-static">
ea87f1d3
IC
156 <span data-translate>Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.</span>
157 <a href="#entropy-notes" data-translate>Read more</a>
18abe53b
IC
158 </div>
159 </div>
2a6dd137 160 <div class="form-group">
ea87f1d3 161 <label for="entropy" class="col-sm-2 control-label" data-translate>Entropy</label>
2a6dd137 162 <div class="col-sm-7">
ea87f1d3 163 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards" data-translate-placeholder></textarea>
95f04905 164 <div class="row">
ea87f1d3 165 <label class="col-sm-3 control-label" data-translate>Strength</label>
95f04905 166 <div class="strength col-sm-3 form-control-static"></div>
ea87f1d3 167 <label class="col-sm-3 control-label" data-translate>Event Count</label>
95f04905
IC
168 <div class="event-count col-sm-3 form-control-static"></div>
169 </div>
170 <div class="row">
ea87f1d3 171 <label class="col-sm-3 control-label" data-translate>Entropy Type</label>
95f04905 172 <div class="type col-sm-3 form-control-static"></div>
ea87f1d3 173 <label class="col-sm-3 control-label" data-translate>Bits Per Event</label>
95f04905
IC
174 <div class="bits-per-event col-sm-3 form-control-static"></div>
175 </div>
176 <div class="row">
ea87f1d3 177 <label class="col-sm-3 control-label" data-translate>Word Count</label>
95f04905 178 <div class="word-count col-sm-3 form-control-static"></div>
52da415f 179 <label class="col-sm-3 control-label" data-translate><span class="more-info" data-translate-title title="Total bits of entropy may be less than indicated if any entropy event uses a weak source.">Total Bits</span></label>
95f04905
IC
180 <div class="bits col-sm-3 form-control-static"></div>
181 </div>
ea87f1d3 182 <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label>
2a6dd137 183 <div class="filtered col-sm-9 form-control-static"></div>
ea87f1d3 184 <label class="col-sm-3 control-label" data-translate>Raw Binary</label>
2a6dd137 185 <div class="binary col-sm-9 form-control-static"></div>
ea87f1d3 186 <label class="col-sm-3 control-label" data-translate>Mnemonic Length</label>
2a6dd137 187 <div class="col-sm-9">
18abe53b 188 <select class="mnemonic-length form-control">
ea87f1d3
IC
189 <option value="raw" data-translate>From entropy length (3 words per 32 bits)</option>
190 <option value="12">12 <span data-translate>Words</span></option>
191 <option value="15" selected>15 <span data-translate>Words</option>
192 <option value="18">18 <span data-translate>Words</span></option>
193 <option value="21">21 <span data-translate>Words</span></option>
194 <option value="24">24 <span data-translate>Words</span></option>
18abe53b 195 </select>
c6624d51 196 </div>
18abe53b 197 </div>
2a6dd137 198 <div class="col-sm-3">
ea87f1d3 199 <p data-translate>Valid entropy values include:</p>
2a6dd137 200 <ul>
ea87f1d3
IC
201 <li><strong data-translate>Binary</strong> [0-1]<br>101010011</li>
202 <li><strong data-translate>Base 6</strong> [0-5]<br>123434014</li>
203 <li><strong data-translate>Dice</strong> [1-6]<br>62535634</li>
204 <li><strong data-translate>Base 10</strong> [0-9]<br>90834528</li>
205 <li><strong data-translate>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
206 <li><strong data-translate>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
2a6dd137
IC
207 </ul>
208 </div>
c6624d51
IC
209 </div>
210 </div>
211 <div class="form-group">
212 <div class="col-sm-2"></div>
213 <div class="col-sm-10 checkbox">
214 <label>
215 <input type="checkbox" class="use-entropy">
ea87f1d3 216 <span data-translate>Supply my own source of entropy</span>
c6624d51
IC
217 </label>
218 </div>
219 </div>
220 <div class="form-group">
ea87f1d3 221 <label class="col-sm-2 control-label" data-translate>Mnemonic Language</label>
0515eeec 222 <div class="col-sm-10 languages">
ea87f1d3
IC
223 <div class="form-control no-border">
224 <a href="#english">English</a>
225 <a href="#japanese" title="Japanese">日本語</a>
226 <a href="#spanish" title="Spanish">Español</a>
227 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
228 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
229 <a href="#french" title="French">Français</a>
230 <a href="#italian" title="Italian">Italiano</a>
231 </div>
0515eeec 232 </div>
ab78acc6
IC
233 </div>
234 <div class="form-group">
ea87f1d3 235 <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label>
ab78acc6 236 <div class="col-sm-10">
e00964cc 237 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
ab78acc6
IC
238 </div>
239 </div>
240 <div class="form-group">
ea87f1d3 241 <label for="passphrase" class="col-sm-2 control-label" data-translate>BIP39 Passphrase (optional)</label>
ab78acc6
IC
242 <div class="col-sm-10">
243 <textarea id="passphrase" class="passphrase form-control"></textarea>
244 </div>
245 </div>
73161a92 246 <div class="form-group">
ea87f1d3 247 <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label>
73161a92 248 <div class="col-sm-10">
e00964cc 249 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
73161a92
IC
250 </div>
251 </div>
ab78acc6 252 <div class="form-group">
ea87f1d3 253 <label for="network-phrase" class="col-sm-2 control-label" data-translate>Coin</label>
ab78acc6
IC
254 <div class="col-sm-10">
255 <select id="network-phrase" class="network form-control">
256 <!-- populated by javascript -->
257 </select>
258 </div>
259 </div>
260 <div class="form-group">
ea87f1d3 261 <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
ab78acc6 262 <div class="col-sm-10">
e00964cc 263 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
ab78acc6
IC
264 </div>
265 </div>
266 </form>
267 </div>
268 </div>
3af2954a 269
ab78acc6 270 <hr>
3af2954a 271
ab78acc6
IC
272 <div class="row">
273 <div class="col-md-12">
274 <h2>Derivation Path</h2>
275 <ul class="derivation-type nav nav-tabs" role="tablist">
d5dc92fd 276 <li id="bip44-tab" class="active">
ab78acc6
IC
277 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
278 </li>
279 <li id="bip32-tab">
280 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
281 </li>
282 </ul>
283 <div class="derivation-type tab-content">
d5dc92fd 284 <div id="bip44" class="tab-pane active">
ab78acc6
IC
285 <form class="form-horizontal" role="form">
286 <br>
287 <div class="col-sm-2"></div>
288 <div class="col-sm-10">
ea87f1d3
IC
289 <p data-translate-html>
290 For more info see the
291 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>.
292 </p>
ab78acc6
IC
293 </div>
294 <div class="form-group">
295 <label for="purpose" class="col-sm-2 control-label">
ea87f1d3 296 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a>
ab78acc6
IC
297 </label>
298 <div class="col-sm-10">
299 <input id="purpose" type="text" class="purpose form-control" value="44">
300 </div>
301 </div>
302 <div class="form-group">
303 <label for="coin" class="col-sm-2 control-label">
ea87f1d3 304 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a>
ab78acc6
IC
305 </label>
306 <div class="col-sm-10">
307 <input id="coin" type="text" class="coin form-control" value="0">
308 </div>
309 </div>
310 <div class="form-group">
311 <label for="account" class="col-sm-2 control-label">
ea87f1d3 312 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a>
ab78acc6
IC
313 </label>
314 <div class="col-sm-10">
315 <input id="account" type="text" class="account form-control" value="0">
316 </div>
317 </div>
318 <div class="form-group">
319 <label for="change" class="col-sm-2 control-label">
ea87f1d3 320 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a>
ab78acc6
IC
321 </label>
322 <div class="col-sm-10">
323 <input id="change" type="text" class="change form-control" value="0">
324 </div>
325 </div>
20083ab9
IC
326 <div class="form-group">
327 <label class="col-sm-2 control-label">
328 </label>
329 <div class="col-sm-10">
f3bfd2a5 330 <p data-translate>The account extended keys can be used for importing to most BIP44 compatible wallets, such as mycelium or electrum.</p>
20083ab9
IC
331 </div>
332 </div>
333 <div class="form-group">
334 <label for="account-xprv" class="col-sm-2 control-label">
335 <span data-translate>Account Extended Private Key</span>
336 </label>
337 <div class="col-sm-10">
338 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
339 </div>
340 </div>
341 <div class="form-group">
342 <label for="account-xpub" class="col-sm-2 control-label">
343 <span data-translate>Account Extended Public Key</span>
344 </label>
345 <div class="col-sm-10">
346 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
347 </div>
348 </div>
349 <div class="form-group">
350 <label class="col-sm-2 control-label">
351 </label>
352 <div class="col-sm-10">
353 <p data-translate>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
354 </div>
355 </div>
ab78acc6 356 <div class="form-group">
ea87f1d3 357 <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ab78acc6
IC
358 <div class="col-sm-10">
359 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
360 </div>
361 </div>
362 </form>
363 </div>
364 <div id="bip32" class="tab-pane">
365 <form class="form-horizontal" role="form">
366 <br>
367 <div class="col-sm-2"></div>
368 <div class="col-sm-10">
ea87f1d3
IC
369 <p data-translate>
370 For more info see the
371 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a>
372 </p>
ab78acc6
IC
373 </div>
374 <div class="form-group">
ea87f1d3 375 <label for="bip32-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ab78acc6
IC
376 <div class="col-sm-10">
377 <input id="bip32-path" type="text" class="path form-control" value="m/0">
378 </div>
379 </div>
1975bfbc
IC
380 <div class="form-group">
381 <div class="col-sm-2"></div>
382 <label class="col-sm-10">
383 <input class="hardened-addresses" type="checkbox">
ea87f1d3 384 <span data-translate>Use hardened addresses</span>
1975bfbc
IC
385 </label>
386 </div>
1975bfbc 387 <div class="form-group">
ea87f1d3 388 <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label>
1975bfbc 389 <div class="col-sm-10">
ea87f1d3 390 <p class="form-control no-border" data-translate-html>
1975bfbc 391 Use path <code>m/0'/0'</code> with hardened addresses.
c866242d 392 </p>
ea87f1d3
IC
393 <p class="form-control no-border" data-translate-html>
394 For more info see the
395 <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
1975bfbc
IC
396 </p>
397 </div>
398 </div>
aa51da11 399 <div class="form-group">
ea87f1d3 400 <label class="col-sm-2 control-label" data-translate>Block Explorers</label>
aa51da11
IC
401 <div class="col-sm-10">
402 <p class="form-control no-border">
ea87f1d3
IC
403 <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span>
404 <span data-translate-html>Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.</span>
c866242d
IC
405 </p>
406 <p class="form-control no-border">
ea87f1d3
IC
407 <span data-translate>Can be used with</span>:
408 <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
aa51da11
IC
409 </p>
410 </div>
411 </div>
ab78acc6
IC
412 </form>
413 </div>
414 </div>
415 <form class="form-horizontal" role="form">
416 <div class="form-group">
20083ab9 417 <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Private Key</label>
ab78acc6 418 <div class="col-sm-10">
e00964cc 419 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
ab78acc6
IC
420 </div>
421 </div>
422 <div class="form-group">
20083ab9 423 <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Public Key</label>
ab78acc6 424 <div class="col-sm-10">
e00964cc 425 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
ab78acc6
IC
426 </div>
427 </div>
428 </form>
429 </div>
430 </div>
3af2954a 431
ab78acc6 432 <hr>
3af2954a 433
ab78acc6
IC
434 <div class="row">
435 <div class="col-md-12">
436 <h2>Derived Addresses</h2>
ea87f1d3 437 <p data-translate>Note these addreses are derived from the BIP32 Extended Key</p>
ab78acc6
IC
438 <table class="table table-striped">
439 <thead>
440 <th>
441 <div class="input-group">
ea87f1d3
IC
442 <span data-translate>Path</span>&nbsp;&nbsp;
443 <button class="index-toggle" data-translate>Toggle</button>
ab78acc6
IC
444 </div>
445 </th>
446 <th>
447 <div class="input-group">
ea87f1d3
IC
448 <span data-translate>Address</span>&nbsp;&nbsp;
449 <button class="address-toggle" data-translate>Toggle</button>
ab78acc6
IC
450 </div>
451 </th>
1b12b2f5
IC
452 <th>
453 <div class="input-group">
ea87f1d3
IC
454 <span data-translate>Public Key</span>&nbsp;&nbsp;
455 <button class="public-key-toggle" data-translate>Toggle</button>
1b12b2f5
IC
456 </div>
457 </th>
ab78acc6
IC
458 <th>
459 <div class="input-group">
ea87f1d3
IC
460 <span data-translate>Private Key</span>&nbsp;&nbsp;
461 <button class="private-key-toggle" data-translate>Toggle</button>
ab78acc6
IC
462 </div>
463 </th>
464 </thead>
d737abf6 465 <tbody class="addresses monospace">
c866242d
IC
466 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
467 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
468 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
469 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
470 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
ab78acc6
IC
471 </tbody>
472 </table>
473 </div>
474 </div>
ea87f1d3 475 <span data-translate>Show more rows</span>:
ab78acc6 476 <input type="number" class="rows-to-add" value="20">
ea87f1d3 477 <button class="more" data-translate>Show</button>
3af2954a 478
ab78acc6 479 <hr>
3af2954a 480
ab78acc6
IC
481 <div class="row">
482 <div class="col-md-12">
ea87f1d3
IC
483 <h2 data-translate>More info</h2>
484 <h3>BIP39 <span class="small" data-translate>Mnemonic code for generating deterministic keys</span></h3>
485 <p data-translate-html>
ab78acc6
IC
486 Read more at the
487 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
488 </p>
ea87f1d3
IC
489 <h3>BIP32 <span class="small" data-translate>Hierarchical Deterministic Wallets</span></h3>
490 <p data-translate-html>
ab78acc6
IC
491 Read more at the
492 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
ea87f1d3
IC
493 </p>
494 <p data-translate-html>
495 See the demo at
ab78acc6
IC
496 <a href="http://bip32.org/" target="_blank">bip32.org</a>
497 </p>
ea87f1d3
IC
498 <h3>BIP44 <span class="small" data-translate>Multi-Account Hierarchy for Deterministic Wallets</span></h3>
499 <p data-translate-html>
ab78acc6
IC
500 Read more at the
501 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
502 </p>
ea87f1d3 503 <h3 data-translate>Private Keys</h3>
ab78acc6 504 <p>
ea87f1d3
IC
505 <span data-translate-html>
506 Use private keys at
507 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
508 </span>
509 <span data-translate>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
ab78acc6 510 </p>
ea87f1d3 511 <h3 id="entropy-notes" data-translate>Entropy</h3>
c6624d51 512 <p>
ea87f1d3
IC
513 <span data-translate-html>
514 Entropy values must be sourced from a
515 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
516 </span>
517 <span data-translate>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span>
518 <span data-translate-html>
519 Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address,
520 keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't
521 random enough for the needs of this tool.
522 </span>
c6624d51 523 </p>
434caecd
IC
524 <p>
525 <strong><span data-translate>Do not store entropy.</span></strong>
526 </p>
527 <p>
528 <span data-translate>Storing entropy (such as keeping a deck of cards in a specific shuffled order) is unreliable compared to storing a mnemonic.</span>
529 <span data-translate>Instead of storing entropy, store the mnemonic generated from the entropy.</span>
530 <span data-translate-html><a href="https://en.wikipedia.org/wiki/Steganography#Physical" target="_blank">Steganography</a> may be beneficial when storing the mnemonic.</span>
531 </p>
c6624d51 532 <p>
ea87f1d3
IC
533 <span data-translate-html>
534 The random mnemonic generator on this page uses a
535 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>.
536 </span>
537 <span data-translate>The built in random generator can generally be trusted more than your own intuition about randomness.</span>
538 <span data-translate>If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.</span>
539 <span data-translate>In that case you might choose to use your own source of entropy.</span>
c6624d51
IC
540 </p>
541 <p>
ea87f1d3 542 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank" data-translate>You are not a good source of entropy.</a>
c6624d51 543 </p>
52da415f
IC
544 <h3 data-translate>License</h3>
545 <p>
546 <span data-translate-html>Please refer to <a href="https://github.com/iancoleman/bip39/blob/master/LICENSE" target="_blank">the software license</a> for more detail.
547 </span>
548 </p>
549 <p data-translate>The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.</p>
ab78acc6
IC
550 </div>
551 </div>
3af2954a 552
ab78acc6 553 <hr>
3af2954a 554
ab78acc6
IC
555 <div class="row">
556 <div class="col-md-12">
3af2954a 557
ea87f1d3 558 <h2 data-translate>Offline Usage</h2>
3af2954a 559
ea87f1d3 560 <p data-translate>
ab78acc6
IC
561 You can use this tool without having to be online.
562 </p>
ea87f1d3 563 <p data-translate>
ab78acc6
IC
564 In your browser, select file save-as, and save this page
565 as a file.
566 </p>
ea87f1d3 567 <p data-translate>
ab78acc6
IC
568 Double-click that file to open it in a browser
569 on any offline computer.
570 </p>
571 <p>
ea87f1d3
IC
572 <span data-translate>Alternatively, download the file from the repository</span>
573 -
574 <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
575 </p>
3af2954a 576
ab78acc6
IC
577 </div>
578 </div>
3af2954a 579
ab78acc6 580 <hr>
3af2954a 581
ab78acc6
IC
582 <div class="row">
583 <div class="col-md-12">
3af2954a 584
ea87f1d3 585 <h2 data-translate>This project is 100% open-source code</h2>
3af2954a 586
ab78acc6 587 <p>
ea87f1d3
IC
588 <span data-translate>Get the source code from the repository</span>
589 -
b630f83d
IC
590 <a href="https://github.com/iancoleman/bip39" target="_blank">
591 https://github.com/iancoleman/bip39
ab78acc6
IC
592 </a>
593 </p>
3af2954a 594
ea87f1d3 595 <h3 data-translate>Libraries</h3>
3af2954a 596
ab78acc6
IC
597 <p>
598 <span>BitcoinJS - </span>
599 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
600 https://github.com/bitcoinjs/bitcoinjs-lib
601 </a>
602 </p>
3af2954a 603
ab78acc6
IC
604 <p>
605 <span>jsBIP39 - </span>
606 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
607 https://github.com/iancoleman/jsbip39
608 </a>
609 </p>
3af2954a 610
ab78acc6
IC
611 <p>
612 <span>sjcl - </span>
613 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
614 https://github.com/bitwiseshiftleft/sjcl
615 </a>
616 </p>
3af2954a 617
ab78acc6
IC
618 <p>
619 <span>jQuery - </span>
620 <a href="https://jquery.com/" target="_blank">
621 https://jquery.com/
622 </a>
623 </p>
3af2954a 624
ab78acc6
IC
625 <p>
626 <span>Twitter Bootstrap - </span>
627 <a href="http://getbootstrap.com/" target="_blank">
628 http://getbootstrap.com/
629 </a>
630 </p>
3af2954a 631
ab78acc6
IC
632 </div>
633 </div>
3af2954a 634
ab78acc6 635 </div>
3af2954a 636
e00964cc 637 <div class="qr-container hidden">
52da415f
IC
638 <div class="qr-hint bg-primary hidden" data-translate>Click field to hide QR</div>
639 <div class="qr-hint bg-primary" data-translate>Click field to show QR</div>
640 <div class="qr-hider hidden">
641 <div class="qr-image"></div>
642 <div class="qr-warning bg-primary" data-translate>Caution: Scanner may keep history</div>
643 </div>
e00964cc
IC
644 </div>
645
ab78acc6
IC
646 <div class="feedback-container">
647 <div class="feedback">Loading...</div>
648 </div>
3af2954a 649
ab78acc6
IC
650 <script type="text/template" id="address-row-template">
651 <tr>
652 <td class="index"><span></span></td>
e00964cc
IC
653 <td class="address"><span data-show-qr></span></td>
654 <td class="pubkey"><span data-show-qr></span></td>
655 <td class="privkey"><span data-show-qr></span></td>
ab78acc6
IC
656 </tr>
657 </script>
658 <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
659!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
660},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
661},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n});
662</script>
663 <script>/*!
664 * Bootstrap v3.2.0 (http://getbootstrap.com)
3af2954a
IC
665 * Copyright 2011-2014 Twitter, Inc.
666 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
667 */
668if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);</script>
563e401a
IC
669 <script>(function() {
670 'use strict';
671
672 /**
673 * Extend an Object with another Object's properties.
674 *
675 * The source objects are specified as additional arguments.
676 *
677 * @param dst Object the object to extend.
678 *
679 * @return Object the final object.
680 */
681 var _extend = function(dst) {
682 var sources = Array.prototype.slice.call(arguments, 1);
683 for (var i=0; i<sources.length; ++i) {
684 var src = sources[i];
685 for (var p in src) {
686 if (src.hasOwnProperty(p)) dst[p] = src[p];
687 }
688 }
689 return dst;
690 };
691
692
693 /**
694 * Defer execution of given function.
695 * @param {Function} func
696 */
697 var _defer = function(func) {
698 if (typeof setImmediate === 'function') {
699 return setImmediate(func);
700 } else {
701 return setTimeout(func, 0);
702 }
703 };
704
705 /**
706 * Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
707 */
708 var Levenshtein = {
709 /**
710 * Calculate levenshtein distance of the two strings.
711 *
712 * @param str1 String the first string.
713 * @param str2 String the second string.
714 * @return Integer the levenshtein distance (0 and above).
715 */
716 get: function(str1, str2) {
717 // base cases
718 if (str1 === str2) return 0;
719 if (str1.length === 0) return str2.length;
720 if (str2.length === 0) return str1.length;
721
722 // two rows
723 var prevRow = new Array(str2.length + 1),
724 curCol, nextCol, i, j, tmp;
725
726 // initialise previous row
727 for (i=0; i<prevRow.length; ++i) {
728 prevRow[i] = i;
729 }
730
731 // calculate current row distance from previous row
732 for (i=0; i<str1.length; ++i) {
733 nextCol = i + 1;
734
735 for (j=0; j<str2.length; ++j) {
736 curCol = nextCol;
737
738 // substution
739 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
740 // insertion
741 tmp = curCol + 1;
742 if (nextCol > tmp) {
743 nextCol = tmp;
744 }
745 // deletion
746 tmp = prevRow[j + 1] + 1;
747 if (nextCol > tmp) {
748 nextCol = tmp;
749 }
750
751 // copy current col value into previous (in preparation for next iteration)
752 prevRow[j] = curCol;
753 }
754
755 // copy last col value into previous (in preparation for next iteration)
756 prevRow[j] = nextCol;
757 }
758
759 return nextCol;
760 },
761
762 /**
763 * Asynchronously calculate levenshtein distance of the two strings.
764 *
765 * @param str1 String the first string.
766 * @param str2 String the second string.
767 * @param cb Function callback function with signature: function(Error err, int distance)
768 * @param [options] Object additional options.
769 * @param [options.progress] Function progress callback with signature: function(percentComplete)
770 */
771 getAsync: function(str1, str2, cb, options) {
772 options = _extend({}, {
773 progress: null
774 }, options);
775
776 // base cases
777 if (str1 === str2) return cb(null, 0);
778 if (str1.length === 0) return cb(null, str2.length);
779 if (str2.length === 0) return cb(null, str1.length);
780
781 // two rows
782 var prevRow = new Array(str2.length + 1),
783 curCol, nextCol,
784 i, j, tmp,
785 startTime, currentTime;
786
787 // initialise previous row
788 for (i=0; i<prevRow.length; ++i) {
789 prevRow[i] = i;
790 }
791
792 nextCol = 1;
793 i = 0;
794 j = -1;
795
796 var __calculate = function() {
797 // reset timer
798 startTime = new Date().valueOf();
799 currentTime = startTime;
800
801 // keep going until one second has elapsed
802 while (currentTime - startTime < 1000) {
803 // reached end of current row?
804 if (str2.length <= (++j)) {
805 // copy current into previous (in preparation for next iteration)
806 prevRow[j] = nextCol;
807
808 // if already done all chars
809 if (str1.length <= (++i)) {
810 return cb(null, nextCol);
811 }
812 // else if we have more left to do
813 else {
814 nextCol = i + 1;
815 j = 0;
816 }
817 }
818
819 // calculation
820 curCol = nextCol;
821
822 // substution
823 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
824 // insertion
825 tmp = curCol + 1;
826 if (nextCol > tmp) {
827 nextCol = tmp;
828 }
829 // deletion
830 tmp = prevRow[j + 1] + 1;
831 if (nextCol > tmp) {
832 nextCol = tmp;
833 }
834
835 // copy current into previous (in preparation for next iteration)
836 prevRow[j] = curCol;
837
838 // get current time
839 currentTime = new Date().valueOf();
840 }
841
842 // send a progress update?
843 if (null !== options.progress) {
844 try {
845 options.progress.call(null, (i * 100.0/ str1.length));
846 } catch (err) {
847 return cb('Progress callback: ' + err.toString());
848 }
849 }
850
851 // next iteration
852 _defer(__calculate);
853 };
854
855 __calculate();
856 }
857
858 };
859
860 // amd
861 if (typeof define !== "undefined" && define !== null && define.amd) {
862 define(function() {
863 return Levenshtein;
864 });
865 }
866 // commonjs
867 else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
868 module.exports = Levenshtein;
869 }
870 // web worker
871 else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
872 self.Levenshtein = Levenshtein;
873 }
874 // browser main thread
875 else if (typeof window !== "undefined" && window !== null) {
876 window.Levenshtein = Levenshtein;
877 }
878}());
879
e00964cc
IC
880</script>
881 <script>(function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.data=a}function o(a,c){this.typeNumber=a;this.errorCorrectLevel=c;this.modules=null;this.moduleCount=0;this.dataCache=null;this.dataList=[]}function q(a,c){if(void 0==a.length)throw Error(a.length+"/"+c);for(var d=0;d<a.length&&0==a[d];)d++;this.num=Array(a.length-d+c);for(var b=0;b<a.length-d;b++)this.num[b]=a[b+d]}function p(a,c){this.totalCount=a;this.dataCount=c}function t(){this.buffer=[];this.length=0}u.prototype={getLength:function(){return this.data.length},
882write:function(a){for(var c=0;c<this.data.length;c++)a.put(this.data.charCodeAt(c),8)}};o.prototype={addData:function(a){this.dataList.push(new u(a));this.dataCache=null},isDark:function(a,c){if(0>a||this.moduleCount<=a||0>c||this.moduleCount<=c)throw Error(a+","+c);return this.modules[a][c]},getModuleCount:function(){return this.moduleCount},make:function(){if(1>this.typeNumber){for(var a=1,a=1;40>a;a++){for(var c=p.getRSBlocks(a,this.errorCorrectLevel),d=new t,b=0,e=0;e<c.length;e++)b+=c[e].dataCount;
883for(e=0;e<this.dataList.length;e++)c=this.dataList[e],d.put(c.mode,4),d.put(c.getLength(),j.getLengthInBits(c.mode,a)),c.write(d);if(d.getLengthInBits()<=8*b)break}this.typeNumber=a}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17;this.modules=Array(this.moduleCount);for(var d=0;d<this.moduleCount;d++){this.modules[d]=Array(this.moduleCount);for(var b=0;b<this.moduleCount;b++)this.modules[d][b]=null}this.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount-
8847,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(a,c);7<=this.typeNumber&&this.setupTypeNumber(a);null==this.dataCache&&(this.dataCache=o.createData(this.typeNumber,this.errorCorrectLevel,this.dataList));this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,c){for(var d=-1;7>=d;d++)if(!(-1>=a+d||this.moduleCount<=a+d))for(var b=-1;7>=b;b++)-1>=c+b||this.moduleCount<=c+b||(this.modules[a+d][c+b]=
8850<=d&&6>=d&&(0==b||6==b)||0<=b&&6>=b&&(0==d||6==d)||2<=d&&4>=d&&2<=b&&4>=b?!0:!1)},getBestMaskPattern:function(){for(var a=0,c=0,d=0;8>d;d++){this.makeImpl(!0,d);var b=j.getLostPoint(this);if(0==d||a>b)a=b,c=d}return c},createMovieClip:function(a,c,d){a=a.createEmptyMovieClip(c,d);this.make();for(c=0;c<this.modules.length;c++)for(var d=1*c,b=0;b<this.modules[c].length;b++){var e=1*b;this.modules[c][b]&&(a.beginFill(0,100),a.moveTo(e,d),a.lineTo(e+1,d),a.lineTo(e+1,d+1),a.lineTo(e,d+1),a.endFill())}return a},
886setupTimingPattern:function(){for(var a=8;a<this.moduleCount-8;a++)null==this.modules[a][6]&&(this.modules[a][6]=0==a%2);for(a=8;a<this.moduleCount-8;a++)null==this.modules[6][a]&&(this.modules[6][a]=0==a%2)},setupPositionAdjustPattern:function(){for(var a=j.getPatternPosition(this.typeNumber),c=0;c<a.length;c++)for(var d=0;d<a.length;d++){var b=a[c],e=a[d];if(null==this.modules[b][e])for(var f=-2;2>=f;f++)for(var i=-2;2>=i;i++)this.modules[b+f][e+i]=-2==f||2==f||-2==i||2==i||0==f&&0==i?!0:!1}},setupTypeNumber:function(a){for(var c=
887j.getBCHTypeNumber(this.typeNumber),d=0;18>d;d++){var b=!a&&1==(c>>d&1);this.modules[Math.floor(d/3)][d%3+this.moduleCount-8-3]=b}for(d=0;18>d;d++)b=!a&&1==(c>>d&1),this.modules[d%3+this.moduleCount-8-3][Math.floor(d/3)]=b},setupTypeInfo:function(a,c){for(var d=j.getBCHTypeInfo(this.errorCorrectLevel<<3|c),b=0;15>b;b++){var e=!a&&1==(d>>b&1);6>b?this.modules[b][8]=e:8>b?this.modules[b+1][8]=e:this.modules[this.moduleCount-15+b][8]=e}for(b=0;15>b;b++)e=!a&&1==(d>>b&1),8>b?this.modules[8][this.moduleCount-
888b-1]=e:9>b?this.modules[8][15-b-1+1]=e:this.modules[8][15-b-1]=e;this.modules[this.moduleCount-8][8]=!a},mapData:function(a,c){for(var d=-1,b=this.moduleCount-1,e=7,f=0,i=this.moduleCount-1;0<i;i-=2)for(6==i&&i--;;){for(var g=0;2>g;g++)if(null==this.modules[b][i-g]){var n=!1;f<a.length&&(n=1==(a[f]>>>e&1));j.getMask(c,b,i-g)&&(n=!n);this.modules[b][i-g]=n;e--; -1==e&&(f++,e=7)}b+=d;if(0>b||this.moduleCount<=b){b-=d;d=-d;break}}}};o.PAD0=236;o.PAD1=17;o.createData=function(a,c,d){for(var c=p.getRSBlocks(a,
889c),b=new t,e=0;e<d.length;e++){var f=d[e];b.put(f.mode,4);b.put(f.getLength(),j.getLengthInBits(f.mode,a));f.write(b)}for(e=a=0;e<c.length;e++)a+=c[e].dataCount;if(b.getLengthInBits()>8*a)throw Error("code length overflow. ("+b.getLengthInBits()+">"+8*a+")");for(b.getLengthInBits()+4<=8*a&&b.put(0,4);0!=b.getLengthInBits()%8;)b.putBit(!1);for(;!(b.getLengthInBits()>=8*a);){b.put(o.PAD0,8);if(b.getLengthInBits()>=8*a)break;b.put(o.PAD1,8)}return o.createBytes(b,c)};o.createBytes=function(a,c){for(var d=
8900,b=0,e=0,f=Array(c.length),i=Array(c.length),g=0;g<c.length;g++){var n=c[g].dataCount,h=c[g].totalCount-n,b=Math.max(b,n),e=Math.max(e,h);f[g]=Array(n);for(var k=0;k<f[g].length;k++)f[g][k]=255&a.buffer[k+d];d+=n;k=j.getErrorCorrectPolynomial(h);n=(new q(f[g],k.getLength()-1)).mod(k);i[g]=Array(k.getLength()-1);for(k=0;k<i[g].length;k++)h=k+n.getLength()-i[g].length,i[g][k]=0<=h?n.get(h):0}for(k=g=0;k<c.length;k++)g+=c[k].totalCount;d=Array(g);for(k=n=0;k<b;k++)for(g=0;g<c.length;g++)k<f[g].length&&
891(d[n++]=f[g][k]);for(k=0;k<e;k++)for(g=0;g<c.length;g++)k<i[g].length&&(d[n++]=i[g][k]);return d};s=4;for(var j={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,
89278,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(a){for(var c=a<<10;0<=j.getBCHDigit(c)-j.getBCHDigit(j.G15);)c^=j.G15<<j.getBCHDigit(c)-j.getBCHDigit(j.G15);return(a<<10|c)^j.G15_MASK},getBCHTypeNumber:function(a){for(var c=a<<12;0<=j.getBCHDigit(c)-
893j.getBCHDigit(j.G18);)c^=j.G18<<j.getBCHDigit(c)-j.getBCHDigit(j.G18);return a<<12|c},getBCHDigit:function(a){for(var c=0;0!=a;)c++,a>>>=1;return c},getPatternPosition:function(a){return j.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,c,d){switch(a){case 0:return 0==(c+d)%2;case 1:return 0==c%2;case 2:return 0==d%3;case 3:return 0==(c+d)%3;case 4:return 0==(Math.floor(c/2)+Math.floor(d/3))%2;case 5:return 0==c*d%2+c*d%3;case 6:return 0==(c*d%2+c*d%3)%2;case 7:return 0==(c*d%3+(c+d)%2)%2;default:throw Error("bad maskPattern:"+
894a);}},getErrorCorrectPolynomial:function(a){for(var c=new q([1],0),d=0;d<a;d++)c=c.multiply(new q([1,l.gexp(d)],0));return c},getLengthInBits:function(a,c){if(1<=c&&10>c)switch(a){case 1:return 10;case 2:return 9;case s:return 8;case 8:return 8;default:throw Error("mode:"+a);}else if(27>c)switch(a){case 1:return 12;case 2:return 11;case s:return 16;case 8:return 10;default:throw Error("mode:"+a);}else if(41>c)switch(a){case 1:return 14;case 2:return 13;case s:return 16;case 8:return 12;default:throw Error("mode:"+
895a);}else throw Error("type:"+c);},getLostPoint:function(a){for(var c=a.getModuleCount(),d=0,b=0;b<c;b++)for(var e=0;e<c;e++){for(var f=0,i=a.isDark(b,e),g=-1;1>=g;g++)if(!(0>b+g||c<=b+g))for(var h=-1;1>=h;h++)0>e+h||c<=e+h||0==g&&0==h||i==a.isDark(b+g,e+h)&&f++;5<f&&(d+=3+f-5)}for(b=0;b<c-1;b++)for(e=0;e<c-1;e++)if(f=0,a.isDark(b,e)&&f++,a.isDark(b+1,e)&&f++,a.isDark(b,e+1)&&f++,a.isDark(b+1,e+1)&&f++,0==f||4==f)d+=3;for(b=0;b<c;b++)for(e=0;e<c-6;e++)a.isDark(b,e)&&!a.isDark(b,e+1)&&a.isDark(b,e+
8962)&&a.isDark(b,e+3)&&a.isDark(b,e+4)&&!a.isDark(b,e+5)&&a.isDark(b,e+6)&&(d+=40);for(e=0;e<c;e++)for(b=0;b<c-6;b++)a.isDark(b,e)&&!a.isDark(b+1,e)&&a.isDark(b+2,e)&&a.isDark(b+3,e)&&a.isDark(b+4,e)&&!a.isDark(b+5,e)&&a.isDark(b+6,e)&&(d+=40);for(e=f=0;e<c;e++)for(b=0;b<c;b++)a.isDark(b,e)&&f++;a=Math.abs(100*f/c/c-50)/5;return d+10*a}},l={glog:function(a){if(1>a)throw Error("glog("+a+")");return l.LOG_TABLE[a]},gexp:function(a){for(;0>a;)a+=255;for(;256<=a;)a-=255;return l.EXP_TABLE[a]},EXP_TABLE:Array(256),
897LOG_TABLE:Array(256)},m=0;8>m;m++)l.EXP_TABLE[m]=1<<m;for(m=8;256>m;m++)l.EXP_TABLE[m]=l.EXP_TABLE[m-4]^l.EXP_TABLE[m-5]^l.EXP_TABLE[m-6]^l.EXP_TABLE[m-8];for(m=0;255>m;m++)l.LOG_TABLE[l.EXP_TABLE[m]]=m;q.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var c=Array(this.getLength()+a.getLength()-1),d=0;d<this.getLength();d++)for(var b=0;b<a.getLength();b++)c[d+b]^=l.gexp(l.glog(this.get(d))+l.glog(a.get(b)));return new q(c,0)},mod:function(a){if(0>
898this.getLength()-a.getLength())return this;for(var c=l.glog(this.get(0))-l.glog(a.get(0)),d=Array(this.getLength()),b=0;b<this.getLength();b++)d[b]=this.get(b);for(b=0;b<a.getLength();b++)d[b]^=l.gexp(l.glog(a.get(b))+c);return(new q(d,0)).mod(a)}};p.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],
899[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,
900116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,
90143,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,
9023,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,
90355,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,
90445,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];p.getRSBlocks=function(a,c){var d=p.getRsBlockTable(a,c);if(void 0==d)throw Error("bad rs block @ typeNumber:"+a+"/errorCorrectLevel:"+c);for(var b=d.length/3,e=[],f=0;f<b;f++)for(var h=d[3*f+0],g=d[3*f+1],j=d[3*f+2],l=0;l<h;l++)e.push(new p(g,j));return e};p.getRsBlockTable=function(a,c){switch(c){case 1:return p.RS_BLOCK_TABLE[4*(a-1)+0];case 0:return p.RS_BLOCK_TABLE[4*(a-1)+1];case 3:return p.RS_BLOCK_TABLE[4*
905(a-1)+2];case 2:return p.RS_BLOCK_TABLE[4*(a-1)+3]}};t.prototype={get:function(a){return 1==(this.buffer[Math.floor(a/8)]>>>7-a%8&1)},put:function(a,c){for(var d=0;d<c;d++)this.putBit(1==(a>>>c-d-1&1))},getLengthInBits:function(){return this.length},putBit:function(a){var c=Math.floor(this.length/8);this.buffer.length<=c&&this.buffer.push(0);a&&(this.buffer[c]|=128>>>this.length%8);this.length++}};"string"===typeof h&&(h={text:h});h=r.extend({},{render:"canvas",width:256,height:256,typeNumber:-1,
906correctLevel:2,background:"#ffffff",foreground:"#000000"},h);return this.each(function(){var a;if("canvas"==h.render){a=new o(h.typeNumber,h.correctLevel);a.addData(h.text);a.make();var c=document.createElement("canvas");c.width=h.width;c.height=h.height;for(var d=c.getContext("2d"),b=h.width/a.getModuleCount(),e=h.height/a.getModuleCount(),f=0;f<a.getModuleCount();f++)for(var i=0;i<a.getModuleCount();i++){d.fillStyle=a.isDark(f,i)?h.foreground:h.background;var g=Math.ceil((i+1)*b)-Math.floor(i*b),
907j=Math.ceil((f+1)*b)-Math.floor(f*b);d.fillRect(Math.round(i*b),Math.round(f*e),g,j)}}else{a=new o(h.typeNumber,h.correctLevel);a.addData(h.text);a.make();c=r("<table></table>").css("width",h.width+"px").css("height",h.height+"px").css("border","0px").css("border-collapse","collapse").css("background-color",h.background);d=h.width/a.getModuleCount();b=h.height/a.getModuleCount();for(e=0;e<a.getModuleCount();e++){f=r("<tr></tr>").css("height",b+"px").appendTo(c);for(i=0;i<a.getModuleCount();i++)r("<td></td>").css("width",
908d+"px").css("background-color",a.isDark(e,i)?h.foreground:h.background).appendTo(f)}}a=c;$(a).appendTo(this)})}})($);
563e401a 909</script>
ab78acc6
IC
910 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.bitcoin = f()}})(function(){var define,module,exports;return (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){
911// (public) Constructor
912function BigInteger(a, b, c) {
913 if (!(this instanceof BigInteger))
914 return new BigInteger(a, b, c)
3af2954a 915
ab78acc6
IC
916 if (a != null) {
917 if ("number" == typeof a) this.fromNumber(a, b, c)
918 else if (b == null && "string" != typeof a) this.fromString(a, 256)
919 else this.fromString(a, b)
920 }
921}
3af2954a 922
ab78acc6 923var proto = BigInteger.prototype
3af2954a 924
ab78acc6
IC
925// duck-typed isBigInteger
926proto.__bigi = require('../package.json').version
927BigInteger.isBigInteger = function (obj, check_ver) {
928 return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)
929}
3af2954a 930
ab78acc6
IC
931// Bits per digit
932var dbits
3af2954a 933
ab78acc6
IC
934// am: Compute w_j += (x*this_i), propagate carries,
935// c is initial carry, returns final carry.
936// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
937// We need to select the fastest one that works in this environment.
3af2954a 938
ab78acc6
IC
939// am1: use a single mult and divide to get the high bits,
940// max digit bits should be 26 because
941// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
942function am1(i, x, w, j, c, n) {
943 while (--n >= 0) {
944 var v = x * this[i++] + w[j] + c
945 c = Math.floor(v / 0x4000000)
946 w[j++] = v & 0x3ffffff
3af2954a 947 }
ab78acc6
IC
948 return c
949}
950// am2 avoids a big mult-and-extract completely.
951// Max digit bits should be <= 30 because we do bitwise ops
952// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
953function am2(i, x, w, j, c, n) {
954 var xl = x & 0x7fff,
955 xh = x >> 15
956 while (--n >= 0) {
957 var l = this[i] & 0x7fff
958 var h = this[i++] >> 15
959 var m = xh * l + h * xl
960 l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)
961 c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)
962 w[j++] = l & 0x3fffffff
963 }
964 return c
965}
966// Alternately, set max digit bits to 28 since some
967// browsers slow down when dealing with 32-bit numbers.
968function am3(i, x, w, j, c, n) {
969 var xl = x & 0x3fff,
970 xh = x >> 14
971 while (--n >= 0) {
972 var l = this[i] & 0x3fff
973 var h = this[i++] >> 14
974 var m = xh * l + h * xl
975 l = xl * l + ((m & 0x3fff) << 14) + w[j] + c
976 c = (l >> 28) + (m >> 14) + xh * h
977 w[j++] = l & 0xfffffff
3af2954a 978 }
ab78acc6
IC
979 return c
980}
3af2954a 981
ab78acc6
IC
982// wtf?
983BigInteger.prototype.am = am1
984dbits = 26
3af2954a 985
ab78acc6
IC
986BigInteger.prototype.DB = dbits
987BigInteger.prototype.DM = ((1 << dbits) - 1)
988var DV = BigInteger.prototype.DV = (1 << dbits)
3af2954a 989
ab78acc6
IC
990var BI_FP = 52
991BigInteger.prototype.FV = Math.pow(2, BI_FP)
992BigInteger.prototype.F1 = BI_FP - dbits
993BigInteger.prototype.F2 = 2 * dbits - BI_FP
3af2954a 994
ab78acc6
IC
995// Digit conversions
996var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"
997var BI_RC = new Array()
998var rr, vv
999rr = "0".charCodeAt(0)
1000for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv
1001rr = "a".charCodeAt(0)
1002for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
1003rr = "A".charCodeAt(0)
1004for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
3af2954a 1005
ab78acc6
IC
1006function int2char(n) {
1007 return BI_RM.charAt(n)
1008}
3af2954a 1009
ab78acc6
IC
1010function intAt(s, i) {
1011 var c = BI_RC[s.charCodeAt(i)]
1012 return (c == null) ? -1 : c
1013}
3af2954a 1014
ab78acc6
IC
1015// (protected) copy this to r
1016function bnpCopyTo(r) {
1017 for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]
1018 r.t = this.t
1019 r.s = this.s
1020}
3af2954a 1021
ab78acc6
IC
1022// (protected) set from integer value x, -DV <= x < DV
1023function bnpFromInt(x) {
1024 this.t = 1
1025 this.s = (x < 0) ? -1 : 0
1026 if (x > 0) this[0] = x
1027 else if (x < -1) this[0] = x + DV
1028 else this.t = 0
1029}
3af2954a 1030
ab78acc6
IC
1031// return bigint initialized to value
1032function nbv(i) {
1033 var r = new BigInteger()
1034 r.fromInt(i)
1035 return r
1036}
3af2954a 1037
ab78acc6
IC
1038// (protected) set from string and radix
1039function bnpFromString(s, b) {
1040 var self = this
3af2954a 1041
ab78acc6
IC
1042 var k
1043 if (b == 16) k = 4
1044 else if (b == 8) k = 3
1045 else if (b == 256) k = 8; // byte array
1046 else if (b == 2) k = 1
1047 else if (b == 32) k = 5
1048 else if (b == 4) k = 2
1049 else {
1050 self.fromRadix(s, b)
1051 return
1052 }
1053 self.t = 0
1054 self.s = 0
1055 var i = s.length,
1056 mi = false,
1057 sh = 0
1058 while (--i >= 0) {
1059 var x = (k == 8) ? s[i] & 0xff : intAt(s, i)
1060 if (x < 0) {
1061 if (s.charAt(i) == "-") mi = true
1062 continue
1063 }
1064 mi = false
1065 if (sh == 0)
1066 self[self.t++] = x
1067 else if (sh + k > self.DB) {
1068 self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh
1069 self[self.t++] = (x >> (self.DB - sh))
1070 } else
1071 self[self.t - 1] |= x << sh
1072 sh += k
1073 if (sh >= self.DB) sh -= self.DB
1074 }
1075 if (k == 8 && (s[0] & 0x80) != 0) {
1076 self.s = -1
1077 if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh
1078 }
1079 self.clamp()
1080 if (mi) BigInteger.ZERO.subTo(self, self)
1081}
3af2954a 1082
ab78acc6
IC
1083// (protected) clamp off excess high words
1084function bnpClamp() {
1085 var c = this.s & this.DM
1086 while (this.t > 0 && this[this.t - 1] == c)--this.t
1087}
3af2954a 1088
ab78acc6
IC
1089// (public) return string representation in given radix
1090function bnToString(b) {
1091 var self = this
1092 if (self.s < 0) return "-" + self.negate()
1093 .toString(b)
1094 var k
1095 if (b == 16) k = 4
1096 else if (b == 8) k = 3
1097 else if (b == 2) k = 1
1098 else if (b == 32) k = 5
1099 else if (b == 4) k = 2
1100 else return self.toRadix(b)
1101 var km = (1 << k) - 1,
1102 d, m = false,
1103 r = "",
1104 i = self.t
1105 var p = self.DB - (i * self.DB) % k
1106 if (i-- > 0) {
1107 if (p < self.DB && (d = self[i] >> p) > 0) {
1108 m = true
1109 r = int2char(d)
1110 }
1111 while (i >= 0) {
1112 if (p < k) {
1113 d = (self[i] & ((1 << p) - 1)) << (k - p)
1114 d |= self[--i] >> (p += self.DB - k)
1115 } else {
1116 d = (self[i] >> (p -= k)) & km
1117 if (p <= 0) {
1118 p += self.DB
1119 --i
1120 }
1121 }
1122 if (d > 0) m = true
1123 if (m) r += int2char(d)
3af2954a 1124 }
3af2954a 1125 }
ab78acc6
IC
1126 return m ? r : "0"
1127}
3af2954a 1128
ab78acc6
IC
1129// (public) -this
1130function bnNegate() {
1131 var r = new BigInteger()
1132 BigInteger.ZERO.subTo(this, r)
1133 return r
1134}
3af2954a 1135
ab78acc6
IC
1136// (public) |this|
1137function bnAbs() {
1138 return (this.s < 0) ? this.negate() : this
1139}
3af2954a 1140
ab78acc6
IC
1141// (public) return + if this > a, - if this < a, 0 if equal
1142function bnCompareTo(a) {
1143 var r = this.s - a.s
1144 if (r != 0) return r
1145 var i = this.t
1146 r = i - a.t
1147 if (r != 0) return (this.s < 0) ? -r : r
1148 while (--i >= 0)
1149 if ((r = this[i] - a[i]) != 0) return r
1150 return 0
1151}
3af2954a 1152
ab78acc6
IC
1153// returns bit length of the integer x
1154function nbits(x) {
1155 var r = 1,
1156 t
1157 if ((t = x >>> 16) != 0) {
1158 x = t
1159 r += 16
1160 }
1161 if ((t = x >> 8) != 0) {
1162 x = t
1163 r += 8
1164 }
1165 if ((t = x >> 4) != 0) {
1166 x = t
1167 r += 4
1168 }
1169 if ((t = x >> 2) != 0) {
1170 x = t
1171 r += 2
3af2954a 1172 }
ab78acc6
IC
1173 if ((t = x >> 1) != 0) {
1174 x = t
1175 r += 1
1176 }
1177 return r
1178}
1179
1180// (public) return the number of bits in "this"
1181function bnBitLength() {
1182 if (this.t <= 0) return 0
1183 return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
1184}
3af2954a 1185
ab78acc6
IC
1186// (public) return the number of bytes in "this"
1187function bnByteLength() {
1188 return this.bitLength() >> 3
1189}
3af2954a 1190
ab78acc6
IC
1191// (protected) r = this << n*DB
1192function bnpDLShiftTo(n, r) {
1193 var i
1194 for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]
1195 for (i = n - 1; i >= 0; --i) r[i] = 0
1196 r.t = this.t + n
1197 r.s = this.s
1198}
3af2954a 1199
ab78acc6
IC
1200// (protected) r = this >> n*DB
1201function bnpDRShiftTo(n, r) {
1202 for (var i = n; i < this.t; ++i) r[i - n] = this[i]
1203 r.t = Math.max(this.t - n, 0)
1204 r.s = this.s
1205}
3af2954a 1206
ab78acc6
IC
1207// (protected) r = this << n
1208function bnpLShiftTo(n, r) {
1209 var self = this
1210 var bs = n % self.DB
1211 var cbs = self.DB - bs
1212 var bm = (1 << cbs) - 1
1213 var ds = Math.floor(n / self.DB),
1214 c = (self.s << bs) & self.DM,
1215 i
1216 for (i = self.t - 1; i >= 0; --i) {
1217 r[i + ds + 1] = (self[i] >> cbs) | c
1218 c = (self[i] & bm) << bs
1219 }
1220 for (i = ds - 1; i >= 0; --i) r[i] = 0
1221 r[ds] = c
1222 r.t = self.t + ds + 1
1223 r.s = self.s
1224 r.clamp()
1225}
3af2954a 1226
ab78acc6
IC
1227// (protected) r = this >> n
1228function bnpRShiftTo(n, r) {
1229 var self = this
1230 r.s = self.s
1231 var ds = Math.floor(n / self.DB)
1232 if (ds >= self.t) {
1233 r.t = 0
1234 return
3af2954a 1235 }
ab78acc6
IC
1236 var bs = n % self.DB
1237 var cbs = self.DB - bs
1238 var bm = (1 << bs) - 1
1239 r[0] = self[ds] >> bs
1240 for (var i = ds + 1; i < self.t; ++i) {
1241 r[i - ds - 1] |= (self[i] & bm) << cbs
1242 r[i - ds] = self[i] >> bs
1243 }
1244 if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs
1245 r.t = self.t - ds
1246 r.clamp()
1247}
3af2954a 1248
ab78acc6
IC
1249// (protected) r = this - a
1250function bnpSubTo(a, r) {
1251 var self = this
1252 var i = 0,
1253 c = 0,
1254 m = Math.min(a.t, self.t)
1255 while (i < m) {
1256 c += self[i] - a[i]
1257 r[i++] = c & self.DM
1258 c >>= self.DB
1259 }
1260 if (a.t < self.t) {
1261 c -= a.s
1262 while (i < self.t) {
1263 c += self[i]
1264 r[i++] = c & self.DM
1265 c >>= self.DB
1266 }
1267 c += self.s
1268 } else {
1269 c += self.s
1270 while (i < a.t) {
1271 c -= a[i]
1272 r[i++] = c & self.DM
1273 c >>= self.DB
1274 }
1275 c -= a.s
1276 }
1277 r.s = (c < 0) ? -1 : 0
1278 if (c < -1) r[i++] = self.DV + c
1279 else if (c > 0) r[i++] = c
1280 r.t = i
1281 r.clamp()
1282}
3af2954a 1283
ab78acc6
IC
1284// (protected) r = this * a, r != this,a (HAC 14.12)
1285// "this" should be the larger one if appropriate.
1286function bnpMultiplyTo(a, r) {
1287 var x = this.abs(),
1288 y = a.abs()
1289 var i = x.t
1290 r.t = i + y.t
1291 while (--i >= 0) r[i] = 0
1292 for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)
1293 r.s = 0
1294 r.clamp()
1295 if (this.s != a.s) BigInteger.ZERO.subTo(r, r)
1296}
3af2954a 1297
ab78acc6
IC
1298// (protected) r = this^2, r != this (HAC 14.16)
1299function bnpSquareTo(r) {
1300 var x = this.abs()
1301 var i = r.t = 2 * x.t
1302 while (--i >= 0) r[i] = 0
1303 for (i = 0; i < x.t - 1; ++i) {
1304 var c = x.am(i, x[i], r, 2 * i, 0, 1)
1305 if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
1306 r[i + x.t] -= x.DV
1307 r[i + x.t + 1] = 1
1308 }
1309 }
1310 if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)
1311 r.s = 0
1312 r.clamp()
1313}
3af2954a 1314
ab78acc6
IC
1315// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
1316// r != q, this != m. q or r may be null.
1317function bnpDivRemTo(m, q, r) {
1318 var self = this
1319 var pm = m.abs()
1320 if (pm.t <= 0) return
1321 var pt = self.abs()
1322 if (pt.t < pm.t) {
1323 if (q != null) q.fromInt(0)
1324 if (r != null) self.copyTo(r)
1325 return
1326 }
1327 if (r == null) r = new BigInteger()
1328 var y = new BigInteger(),
1329 ts = self.s,
1330 ms = m.s
1331 var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus
1332 if (nsh > 0) {
1333 pm.lShiftTo(nsh, y)
1334 pt.lShiftTo(nsh, r)
1335 } else {
1336 pm.copyTo(y)
1337 pt.copyTo(r)
1338 }
1339 var ys = y.t
1340 var y0 = y[ys - 1]
1341 if (y0 == 0) return
1342 var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)
1343 var d1 = self.FV / yt,
1344 d2 = (1 << self.F1) / yt,
1345 e = 1 << self.F2
1346 var i = r.t,
1347 j = i - ys,
1348 t = (q == null) ? new BigInteger() : q
1349 y.dlShiftTo(j, t)
1350 if (r.compareTo(t) >= 0) {
1351 r[r.t++] = 1
1352 r.subTo(t, r)
1353 }
1354 BigInteger.ONE.dlShiftTo(ys, t)
1355 t.subTo(y, y); // "negative" y so we can replace sub with am later
1356 while (y.t < ys) y[y.t++] = 0
1357 while (--j >= 0) {
1358 // Estimate quotient digit
1359 var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)
1360 if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
1361 y.dlShiftTo(j, t)
1362 r.subTo(t, r)
1363 while (r[i] < --qd) r.subTo(t, r)
3af2954a 1364 }
ab78acc6
IC
1365 }
1366 if (q != null) {
1367 r.drShiftTo(ys, q)
1368 if (ts != ms) BigInteger.ZERO.subTo(q, q)
1369 }
1370 r.t = ys
1371 r.clamp()
1372 if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
1373 if (ts < 0) BigInteger.ZERO.subTo(r, r)
1374}
3af2954a 1375
ab78acc6
IC
1376// (public) this mod a
1377function bnMod(a) {
1378 var r = new BigInteger()
1379 this.abs()
1380 .divRemTo(a, null, r)
1381 if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)
1382 return r
1383}
3af2954a 1384
ab78acc6
IC
1385// Modular reduction using "classic" algorithm
1386function Classic(m) {
1387 this.m = m
1388}
3af2954a 1389
ab78acc6
IC
1390function cConvert(x) {
1391 if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)
1392 else return x
1393}
1394
1395function cRevert(x) {
1396 return x
1397}
3af2954a 1398
ab78acc6
IC
1399function cReduce(x) {
1400 x.divRemTo(this.m, null, x)
1401}
3af2954a 1402
ab78acc6
IC
1403function cMulTo(x, y, r) {
1404 x.multiplyTo(y, r)
1405 this.reduce(r)
1406}
3af2954a 1407
ab78acc6
IC
1408function cSqrTo(x, r) {
1409 x.squareTo(r)
1410 this.reduce(r)
1411}
3af2954a 1412
ab78acc6
IC
1413Classic.prototype.convert = cConvert
1414Classic.prototype.revert = cRevert
1415Classic.prototype.reduce = cReduce
1416Classic.prototype.mulTo = cMulTo
1417Classic.prototype.sqrTo = cSqrTo
3af2954a 1418
ab78acc6
IC
1419// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1420// justification:
1421// xy == 1 (mod m)
1422// xy = 1+km
1423// xy(2-xy) = (1+km)(1-km)
1424// x[y(2-xy)] = 1-k^2m^2
1425// x[y(2-xy)] == 1 (mod m^2)
1426// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1427// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1428// JS multiply "overflows" differently from C/C++, so care is needed here.
1429function bnpInvDigit() {
1430 if (this.t < 1) return 0
1431 var x = this[0]
1432 if ((x & 1) == 0) return 0
1433 var y = x & 3; // y == 1/x mod 2^2
1434 y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1435 y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1436 y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1437 // last step - calculate inverse mod DV directly
1438 // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1439 y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1440 // we really want the negative inverse, and -DV < y < DV
1441 return (y > 0) ? this.DV - y : -y
1442}
3af2954a 1443
ab78acc6
IC
1444// Montgomery reduction
1445function Montgomery(m) {
1446 this.m = m
1447 this.mp = m.invDigit()
1448 this.mpl = this.mp & 0x7fff
1449 this.mph = this.mp >> 15
1450 this.um = (1 << (m.DB - 15)) - 1
1451 this.mt2 = 2 * m.t
1452}
3af2954a 1453
ab78acc6
IC
1454// xR mod m
1455function montConvert(x) {
1456 var r = new BigInteger()
1457 x.abs()
1458 .dlShiftTo(this.m.t, r)
1459 r.divRemTo(this.m, null, r)
1460 if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)
1461 return r
1462}
3af2954a 1463
ab78acc6
IC
1464// x/R mod m
1465function montRevert(x) {
1466 var r = new BigInteger()
1467 x.copyTo(r)
1468 this.reduce(r)
1469 return r
1470}
3af2954a 1471
ab78acc6
IC
1472// x = x/R mod m (HAC 14.32)
1473function montReduce(x) {
1474 while (x.t <= this.mt2) // pad x so am has enough room later
1475 x[x.t++] = 0
1476 for (var i = 0; i < this.m.t; ++i) {
1477 // faster way of calculating u0 = x[i]*mp mod DV
1478 var j = x[i] & 0x7fff
1479 var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM
1480 // use am to combine the multiply-shift-add into one call
1481 j = i + this.m.t
1482 x[j] += this.m.am(0, u0, x, i, 0, this.m.t)
1483 // propagate carry
1484 while (x[j] >= x.DV) {
1485 x[j] -= x.DV
1486 x[++j]++
1487 }
1488 }
1489 x.clamp()
1490 x.drShiftTo(this.m.t, x)
1491 if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)
1492}
3af2954a 1493
ab78acc6
IC
1494// r = "x^2/R mod m"; x != r
1495function montSqrTo(x, r) {
1496 x.squareTo(r)
1497 this.reduce(r)
1498}
3af2954a 1499
ab78acc6
IC
1500// r = "xy/R mod m"; x,y != r
1501function montMulTo(x, y, r) {
1502 x.multiplyTo(y, r)
1503 this.reduce(r)
1504}
3af2954a 1505
ab78acc6
IC
1506Montgomery.prototype.convert = montConvert
1507Montgomery.prototype.revert = montRevert
1508Montgomery.prototype.reduce = montReduce
1509Montgomery.prototype.mulTo = montMulTo
1510Montgomery.prototype.sqrTo = montSqrTo
3af2954a 1511
ab78acc6
IC
1512// (protected) true iff this is even
1513function bnpIsEven() {
1514 return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
1515}
3af2954a 1516
ab78acc6
IC
1517// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1518function bnpExp(e, z) {
1519 if (e > 0xffffffff || e < 1) return BigInteger.ONE
1520 var r = new BigInteger(),
1521 r2 = new BigInteger(),
1522 g = z.convert(this),
1523 i = nbits(e) - 1
1524 g.copyTo(r)
1525 while (--i >= 0) {
1526 z.sqrTo(r, r2)
1527 if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)
1528 else {
1529 var t = r
1530 r = r2
1531 r2 = t
3af2954a 1532 }
3af2954a 1533 }
ab78acc6
IC
1534 return z.revert(r)
1535}
3af2954a 1536
ab78acc6
IC
1537// (public) this^e % m, 0 <= e < 2^32
1538function bnModPowInt(e, m) {
1539 var z
1540 if (e < 256 || m.isEven()) z = new Classic(m)
1541 else z = new Montgomery(m)
1542 return this.exp(e, z)
1543}
3af2954a 1544
ab78acc6
IC
1545// protected
1546proto.copyTo = bnpCopyTo
1547proto.fromInt = bnpFromInt
1548proto.fromString = bnpFromString
1549proto.clamp = bnpClamp
1550proto.dlShiftTo = bnpDLShiftTo
1551proto.drShiftTo = bnpDRShiftTo
1552proto.lShiftTo = bnpLShiftTo
1553proto.rShiftTo = bnpRShiftTo
1554proto.subTo = bnpSubTo
1555proto.multiplyTo = bnpMultiplyTo
1556proto.squareTo = bnpSquareTo
1557proto.divRemTo = bnpDivRemTo
1558proto.invDigit = bnpInvDigit
1559proto.isEven = bnpIsEven
1560proto.exp = bnpExp
3af2954a 1561
ab78acc6
IC
1562// public
1563proto.toString = bnToString
1564proto.negate = bnNegate
1565proto.abs = bnAbs
1566proto.compareTo = bnCompareTo
1567proto.bitLength = bnBitLength
1568proto.byteLength = bnByteLength
1569proto.mod = bnMod
1570proto.modPowInt = bnModPowInt
3af2954a 1571
ab78acc6
IC
1572// (public)
1573function bnClone() {
1574 var r = new BigInteger()
1575 this.copyTo(r)
1576 return r
1577}
3af2954a 1578
ab78acc6
IC
1579// (public) return value as integer
1580function bnIntValue() {
1581 if (this.s < 0) {
1582 if (this.t == 1) return this[0] - this.DV
1583 else if (this.t == 0) return -1
1584 } else if (this.t == 1) return this[0]
1585 else if (this.t == 0) return 0
1586 // assumes 16 < DB < 32
1587 return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]
1588}
3af2954a 1589
ab78acc6
IC
1590// (public) return value as byte
1591function bnByteValue() {
1592 return (this.t == 0) ? this.s : (this[0] << 24) >> 24
1593}
3af2954a 1594
ab78acc6
IC
1595// (public) return value as short (assumes DB>=16)
1596function bnShortValue() {
1597 return (this.t == 0) ? this.s : (this[0] << 16) >> 16
1598}
3af2954a 1599
ab78acc6
IC
1600// (protected) return x s.t. r^x < DV
1601function bnpChunkSize(r) {
1602 return Math.floor(Math.LN2 * this.DB / Math.log(r))
1603}
3af2954a 1604
ab78acc6
IC
1605// (public) 0 if this == 0, 1 if this > 0
1606function bnSigNum() {
1607 if (this.s < 0) return -1
1608 else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0
1609 else return 1
1610}
3af2954a 1611
ab78acc6
IC
1612// (protected) convert to radix string
1613function bnpToRadix(b) {
1614 if (b == null) b = 10
1615 if (this.signum() == 0 || b < 2 || b > 36) return "0"
1616 var cs = this.chunkSize(b)
1617 var a = Math.pow(b, cs)
1618 var d = nbv(a),
1619 y = new BigInteger(),
1620 z = new BigInteger(),
1621 r = ""
1622 this.divRemTo(d, y, z)
1623 while (y.signum() > 0) {
1624 r = (a + z.intValue())
1625 .toString(b)
1626 .substr(1) + r
1627 y.divRemTo(d, y, z)
1628 }
1629 return z.intValue()
1630 .toString(b) + r
1631}
3af2954a 1632
ab78acc6
IC
1633// (protected) convert from radix string
1634function bnpFromRadix(s, b) {
1635 var self = this
1636 self.fromInt(0)
1637 if (b == null) b = 10
1638 var cs = self.chunkSize(b)
1639 var d = Math.pow(b, cs),
1640 mi = false,
1641 j = 0,
1642 w = 0
1643 for (var i = 0; i < s.length; ++i) {
1644 var x = intAt(s, i)
1645 if (x < 0) {
1646 if (s.charAt(i) == "-" && self.signum() == 0) mi = true
1647 continue
1648 }
1649 w = b * w + x
1650 if (++j >= cs) {
1651 self.dMultiply(d)
1652 self.dAddOffset(w, 0)
1653 j = 0
1654 w = 0
1655 }
1656 }
1657 if (j > 0) {
1658 self.dMultiply(Math.pow(b, j))
1659 self.dAddOffset(w, 0)
1660 }
1661 if (mi) BigInteger.ZERO.subTo(self, self)
1662}
3af2954a 1663
ab78acc6
IC
1664// (protected) alternate constructor
1665function bnpFromNumber(a, b, c) {
1666 var self = this
1667 if ("number" == typeof b) {
1668 // new BigInteger(int,int,RNG)
1669 if (a < 2) self.fromInt(1)
1670 else {
1671 self.fromNumber(a, c)
1672 if (!self.testBit(a - 1)) // force MSB set
1673 self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)
1674 if (self.isEven()) self.dAddOffset(1, 0); // force odd
1675 while (!self.isProbablePrime(b)) {
1676 self.dAddOffset(2, 0)
1677 if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)
1678 }
1679 }
1680 } else {
1681 // new BigInteger(int,RNG)
1682 var x = new Array(),
1683 t = a & 7
1684 x.length = (a >> 3) + 1
1685 b.nextBytes(x)
1686 if (t > 0) x[0] &= ((1 << t) - 1)
1687 else x[0] = 0
1688 self.fromString(x, 256)
3af2954a 1689 }
ab78acc6 1690}
3af2954a 1691
ab78acc6
IC
1692// (public) convert to bigendian byte array
1693function bnToByteArray() {
1694 var self = this
1695 var i = self.t,
1696 r = new Array()
1697 r[0] = self.s
1698 var p = self.DB - (i * self.DB) % 8,
1699 d, k = 0
1700 if (i-- > 0) {
1701 if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)
1702 r[k++] = d | (self.s << (self.DB - p))
1703 while (i >= 0) {
1704 if (p < 8) {
1705 d = (self[i] & ((1 << p) - 1)) << (8 - p)
1706 d |= self[--i] >> (p += self.DB - 8)
1707 } else {
1708 d = (self[i] >> (p -= 8)) & 0xff
1709 if (p <= 0) {
1710 p += self.DB
1711 --i
1712 }
1713 }
1714 if ((d & 0x80) != 0) d |= -256
1715 if (k === 0 && (self.s & 0x80) != (d & 0x80))++k
1716 if (k > 0 || d != self.s) r[k++] = d
3af2954a 1717 }
3af2954a 1718 }
ab78acc6
IC
1719 return r
1720}
3af2954a 1721
ab78acc6
IC
1722function bnEquals(a) {
1723 return (this.compareTo(a) == 0)
1724}
3af2954a 1725
ab78acc6
IC
1726function bnMin(a) {
1727 return (this.compareTo(a) < 0) ? this : a
1728}
3af2954a 1729
ab78acc6
IC
1730function bnMax(a) {
1731 return (this.compareTo(a) > 0) ? this : a
1732}
3af2954a 1733
ab78acc6
IC
1734// (protected) r = this op a (bitwise)
1735function bnpBitwiseTo(a, op, r) {
1736 var self = this
1737 var i, f, m = Math.min(a.t, self.t)
1738 for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])
1739 if (a.t < self.t) {
1740 f = a.s & self.DM
1741 for (i = m; i < self.t; ++i) r[i] = op(self[i], f)
1742 r.t = self.t
1743 } else {
1744 f = self.s & self.DM
1745 for (i = m; i < a.t; ++i) r[i] = op(f, a[i])
1746 r.t = a.t
3af2954a 1747 }
ab78acc6
IC
1748 r.s = op(self.s, a.s)
1749 r.clamp()
1750}
3af2954a 1751
ab78acc6
IC
1752// (public) this & a
1753function op_and(x, y) {
1754 return x & y
1755}
3af2954a 1756
ab78acc6
IC
1757function bnAnd(a) {
1758 var r = new BigInteger()
1759 this.bitwiseTo(a, op_and, r)
1760 return r
1761}
3af2954a 1762
ab78acc6
IC
1763// (public) this | a
1764function op_or(x, y) {
1765 return x | y
1766}
3af2954a 1767
ab78acc6
IC
1768function bnOr(a) {
1769 var r = new BigInteger()
1770 this.bitwiseTo(a, op_or, r)
1771 return r
1772}
3af2954a 1773
ab78acc6
IC
1774// (public) this ^ a
1775function op_xor(x, y) {
1776 return x ^ y
1777}
3af2954a 1778
ab78acc6
IC
1779function bnXor(a) {
1780 var r = new BigInteger()
1781 this.bitwiseTo(a, op_xor, r)
1782 return r
1783}
3af2954a 1784
ab78acc6
IC
1785// (public) this & ~a
1786function op_andnot(x, y) {
1787 return x & ~y
1788}
3af2954a 1789
ab78acc6
IC
1790function bnAndNot(a) {
1791 var r = new BigInteger()
1792 this.bitwiseTo(a, op_andnot, r)
1793 return r
1794}
3af2954a 1795
ab78acc6
IC
1796// (public) ~this
1797function bnNot() {
1798 var r = new BigInteger()
1799 for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]
1800 r.t = this.t
1801 r.s = ~this.s
1802 return r
1803}
3af2954a 1804
ab78acc6
IC
1805// (public) this << n
1806function bnShiftLeft(n) {
1807 var r = new BigInteger()
1808 if (n < 0) this.rShiftTo(-n, r)
1809 else this.lShiftTo(n, r)
1810 return r
1811}
3af2954a 1812
ab78acc6
IC
1813// (public) this >> n
1814function bnShiftRight(n) {
1815 var r = new BigInteger()
1816 if (n < 0) this.lShiftTo(-n, r)
1817 else this.rShiftTo(n, r)
1818 return r
1819}
3af2954a 1820
ab78acc6
IC
1821// return index of lowest 1-bit in x, x < 2^31
1822function lbit(x) {
1823 if (x == 0) return -1
1824 var r = 0
1825 if ((x & 0xffff) == 0) {
1826 x >>= 16
1827 r += 16
3af2954a 1828 }
ab78acc6
IC
1829 if ((x & 0xff) == 0) {
1830 x >>= 8
1831 r += 8
1832 }
1833 if ((x & 0xf) == 0) {
1834 x >>= 4
1835 r += 4
1836 }
1837 if ((x & 3) == 0) {
1838 x >>= 2
1839 r += 2
1840 }
1841 if ((x & 1) == 0)++r
1842 return r
1843}
3af2954a 1844
ab78acc6
IC
1845// (public) returns index of lowest 1-bit (or -1 if none)
1846function bnGetLowestSetBit() {
1847 for (var i = 0; i < this.t; ++i)
1848 if (this[i] != 0) return i * this.DB + lbit(this[i])
1849 if (this.s < 0) return this.t * this.DB
1850 return -1
1851}
3af2954a 1852
ab78acc6
IC
1853// return number of 1 bits in x
1854function cbit(x) {
1855 var r = 0
1856 while (x != 0) {
1857 x &= x - 1
1858 ++r
3af2954a 1859 }
ab78acc6
IC
1860 return r
1861}
3af2954a 1862
ab78acc6
IC
1863// (public) return number of set bits
1864function bnBitCount() {
1865 var r = 0,
1866 x = this.s & this.DM
1867 for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)
1868 return r
1869}
1870
1871// (public) true iff nth bit is set
1872function bnTestBit(n) {
1873 var j = Math.floor(n / this.DB)
1874 if (j >= this.t) return (this.s != 0)
1875 return ((this[j] & (1 << (n % this.DB))) != 0)
1876}
3af2954a 1877
ab78acc6
IC
1878// (protected) this op (1<<n)
1879function bnpChangeBit(n, op) {
1880 var r = BigInteger.ONE.shiftLeft(n)
1881 this.bitwiseTo(r, op, r)
1882 return r
1883}
3af2954a 1884
ab78acc6
IC
1885// (public) this | (1<<n)
1886function bnSetBit(n) {
1887 return this.changeBit(n, op_or)
1888}
3af2954a 1889
ab78acc6
IC
1890// (public) this & ~(1<<n)
1891function bnClearBit(n) {
1892 return this.changeBit(n, op_andnot)
1893}
3af2954a 1894
ab78acc6
IC
1895// (public) this ^ (1<<n)
1896function bnFlipBit(n) {
1897 return this.changeBit(n, op_xor)
1898}
3af2954a 1899
ab78acc6
IC
1900// (protected) r = this + a
1901function bnpAddTo(a, r) {
1902 var self = this
3af2954a 1903
ab78acc6
IC
1904 var i = 0,
1905 c = 0,
1906 m = Math.min(a.t, self.t)
1907 while (i < m) {
1908 c += self[i] + a[i]
1909 r[i++] = c & self.DM
1910 c >>= self.DB
1911 }
1912 if (a.t < self.t) {
1913 c += a.s
1914 while (i < self.t) {
1915 c += self[i]
1916 r[i++] = c & self.DM
1917 c >>= self.DB
1918 }
1919 c += self.s
1920 } else {
1921 c += self.s
1922 while (i < a.t) {
1923 c += a[i]
1924 r[i++] = c & self.DM
1925 c >>= self.DB
1926 }
1927 c += a.s
1928 }
1929 r.s = (c < 0) ? -1 : 0
1930 if (c > 0) r[i++] = c
1931 else if (c < -1) r[i++] = self.DV + c
1932 r.t = i
1933 r.clamp()
1934}
3af2954a 1935
ab78acc6
IC
1936// (public) this + a
1937function bnAdd(a) {
1938 var r = new BigInteger()
1939 this.addTo(a, r)
1940 return r
1941}
3af2954a 1942
ab78acc6
IC
1943// (public) this - a
1944function bnSubtract(a) {
1945 var r = new BigInteger()
1946 this.subTo(a, r)
1947 return r
1948}
3af2954a 1949
ab78acc6
IC
1950// (public) this * a
1951function bnMultiply(a) {
1952 var r = new BigInteger()
1953 this.multiplyTo(a, r)
1954 return r
1955}
3af2954a 1956
ab78acc6
IC
1957// (public) this^2
1958function bnSquare() {
1959 var r = new BigInteger()
1960 this.squareTo(r)
1961 return r
1962}
3af2954a 1963
ab78acc6
IC
1964// (public) this / a
1965function bnDivide(a) {
1966 var r = new BigInteger()
1967 this.divRemTo(a, r, null)
1968 return r
1969}
3af2954a 1970
ab78acc6
IC
1971// (public) this % a
1972function bnRemainder(a) {
1973 var r = new BigInteger()
1974 this.divRemTo(a, null, r)
1975 return r
1976}
3af2954a 1977
ab78acc6
IC
1978// (public) [this/a,this%a]
1979function bnDivideAndRemainder(a) {
1980 var q = new BigInteger(),
1981 r = new BigInteger()
1982 this.divRemTo(a, q, r)
1983 return new Array(q, r)
1984}
3af2954a 1985
ab78acc6
IC
1986// (protected) this *= n, this >= 0, 1 < n < DV
1987function bnpDMultiply(n) {
1988 this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)
1989 ++this.t
1990 this.clamp()
1991}
3af2954a 1992
ab78acc6
IC
1993// (protected) this += n << w words, this >= 0
1994function bnpDAddOffset(n, w) {
1995 if (n == 0) return
1996 while (this.t <= w) this[this.t++] = 0
1997 this[w] += n
1998 while (this[w] >= this.DV) {
1999 this[w] -= this.DV
2000 if (++w >= this.t) this[this.t++] = 0
2001 ++this[w]
3af2954a 2002 }
ab78acc6 2003}
3af2954a 2004
ab78acc6
IC
2005// A "null" reducer
2006function NullExp() {}
3af2954a 2007
ab78acc6
IC
2008function nNop(x) {
2009 return x
2010}
3af2954a 2011
ab78acc6
IC
2012function nMulTo(x, y, r) {
2013 x.multiplyTo(y, r)
2014}
3af2954a 2015
ab78acc6
IC
2016function nSqrTo(x, r) {
2017 x.squareTo(r)
2018}
3af2954a 2019
ab78acc6
IC
2020NullExp.prototype.convert = nNop
2021NullExp.prototype.revert = nNop
2022NullExp.prototype.mulTo = nMulTo
2023NullExp.prototype.sqrTo = nSqrTo
3af2954a 2024
ab78acc6
IC
2025// (public) this^e
2026function bnPow(e) {
2027 return this.exp(e, new NullExp())
2028}
3af2954a 2029
ab78acc6
IC
2030// (protected) r = lower n words of "this * a", a.t <= n
2031// "this" should be the larger one if appropriate.
2032function bnpMultiplyLowerTo(a, n, r) {
2033 var i = Math.min(this.t + a.t, n)
2034 r.s = 0; // assumes a,this >= 0
2035 r.t = i
2036 while (i > 0) r[--i] = 0
2037 var j
2038 for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)
2039 for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)
2040 r.clamp()
2041}
3af2954a 2042
ab78acc6
IC
2043// (protected) r = "this * a" without lower n words, n > 0
2044// "this" should be the larger one if appropriate.
2045function bnpMultiplyUpperTo(a, n, r) {
2046 --n
2047 var i = r.t = this.t + a.t - n
2048 r.s = 0; // assumes a,this >= 0
2049 while (--i >= 0) r[i] = 0
2050 for (i = Math.max(n - this.t, 0); i < a.t; ++i)
2051 r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)
2052 r.clamp()
2053 r.drShiftTo(1, r)
2054}
3af2954a 2055
ab78acc6
IC
2056// Barrett modular reduction
2057function Barrett(m) {
2058 // setup Barrett
2059 this.r2 = new BigInteger()
2060 this.q3 = new BigInteger()
2061 BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)
2062 this.mu = this.r2.divide(m)
2063 this.m = m
2064}
3af2954a 2065
ab78acc6
IC
2066function barrettConvert(x) {
2067 if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)
2068 else if (x.compareTo(this.m) < 0) return x
2069 else {
2070 var r = new BigInteger()
2071 x.copyTo(r)
2072 this.reduce(r)
2073 return r
3af2954a 2074 }
ab78acc6 2075}
3af2954a 2076
ab78acc6
IC
2077function barrettRevert(x) {
2078 return x
2079}
3af2954a 2080
ab78acc6
IC
2081// x = x mod m (HAC 14.42)
2082function barrettReduce(x) {
2083 var self = this
2084 x.drShiftTo(self.m.t - 1, self.r2)
2085 if (x.t > self.m.t + 1) {
2086 x.t = self.m.t + 1
2087 x.clamp()
3af2954a 2088 }
ab78acc6
IC
2089 self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)
2090 self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)
2091 while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)
2092 x.subTo(self.r2, x)
2093 while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)
2094}
3af2954a 2095
ab78acc6
IC
2096// r = x^2 mod m; x != r
2097function barrettSqrTo(x, r) {
2098 x.squareTo(r)
2099 this.reduce(r)
2100}
3af2954a 2101
ab78acc6
IC
2102// r = x*y mod m; x,y != r
2103function barrettMulTo(x, y, r) {
2104 x.multiplyTo(y, r)
2105 this.reduce(r)
2106}
3af2954a 2107
ab78acc6
IC
2108Barrett.prototype.convert = barrettConvert
2109Barrett.prototype.revert = barrettRevert
2110Barrett.prototype.reduce = barrettReduce
2111Barrett.prototype.mulTo = barrettMulTo
2112Barrett.prototype.sqrTo = barrettSqrTo
3af2954a 2113
ab78acc6
IC
2114// (public) this^e % m (HAC 14.85)
2115function bnModPow(e, m) {
2116 var i = e.bitLength(),
2117 k, r = nbv(1),
2118 z
2119 if (i <= 0) return r
2120 else if (i < 18) k = 1
2121 else if (i < 48) k = 3
2122 else if (i < 144) k = 4
2123 else if (i < 768) k = 5
2124 else k = 6
2125 if (i < 8)
2126 z = new Classic(m)
2127 else if (m.isEven())
2128 z = new Barrett(m)
2129 else
2130 z = new Montgomery(m)
3af2954a 2131
ab78acc6
IC
2132 // precomputation
2133 var g = new Array(),
2134 n = 3,
2135 k1 = k - 1,
2136 km = (1 << k) - 1
2137 g[1] = z.convert(this)
2138 if (k > 1) {
2139 var g2 = new BigInteger()
2140 z.sqrTo(g[1], g2)
2141 while (n <= km) {
2142 g[n] = new BigInteger()
2143 z.mulTo(g2, g[n - 2], g[n])
2144 n += 2
2145 }
2146 }
2147
2148 var j = e.t - 1,
2149 w, is1 = true,
2150 r2 = new BigInteger(),
2151 t
2152 i = nbits(e[j]) - 1
2153 while (j >= 0) {
2154 if (i >= k1) w = (e[j] >> (i - k1)) & km
2155 else {
2156 w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)
2157 if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)
2158 }
3af2954a 2159
ab78acc6
IC
2160 n = k
2161 while ((w & 1) == 0) {
2162 w >>= 1
2163 --n
2164 }
2165 if ((i -= n) < 0) {
2166 i += this.DB
2167 --j
2168 }
2169 if (is1) { // ret == 1, don't bother squaring or multiplying it
2170 g[w].copyTo(r)
2171 is1 = false
2172 } else {
2173 while (n > 1) {
2174 z.sqrTo(r, r2)
2175 z.sqrTo(r2, r)
2176 n -= 2
2177 }
2178 if (n > 0) z.sqrTo(r, r2)
2179 else {
2180 t = r
2181 r = r2
2182 r2 = t
2183 }
2184 z.mulTo(r2, g[w], r)
2185 }
3af2954a 2186
ab78acc6
IC
2187 while (j >= 0 && (e[j] & (1 << i)) == 0) {
2188 z.sqrTo(r, r2)
2189 t = r
2190 r = r2
2191 r2 = t
2192 if (--i < 0) {
2193 i = this.DB - 1
2194 --j
3af2954a 2195 }
3af2954a
IC
2196 }
2197 }
ab78acc6
IC
2198 return z.revert(r)
2199}
3af2954a 2200
ab78acc6
IC
2201// (public) gcd(this,a) (HAC 14.54)
2202function bnGCD(a) {
2203 var x = (this.s < 0) ? this.negate() : this.clone()
2204 var y = (a.s < 0) ? a.negate() : a.clone()
2205 if (x.compareTo(y) < 0) {
2206 var t = x
2207 x = y
2208 y = t
2209 }
2210 var i = x.getLowestSetBit(),
2211 g = y.getLowestSetBit()
2212 if (g < 0) return x
2213 if (i < g) g = i
2214 if (g > 0) {
2215 x.rShiftTo(g, x)
2216 y.rShiftTo(g, y)
2217 }
2218 while (x.signum() > 0) {
2219 if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)
2220 if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)
2221 if (x.compareTo(y) >= 0) {
2222 x.subTo(y, x)
2223 x.rShiftTo(1, x)
2224 } else {
2225 y.subTo(x, y)
2226 y.rShiftTo(1, y)
2227 }
3af2954a 2228 }
ab78acc6
IC
2229 if (g > 0) y.lShiftTo(g, y)
2230 return y
2231}
3af2954a 2232
ab78acc6
IC
2233// (protected) this % n, n < 2^26
2234function bnpModInt(n) {
2235 if (n <= 0) return 0
2236 var d = this.DV % n,
2237 r = (this.s < 0) ? n - 1 : 0
2238 if (this.t > 0)
2239 if (d == 0) r = this[0] % n
2240 else
2241 for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n
2242 return r
2243}
3af2954a 2244
ab78acc6
IC
2245// (public) 1/this % m (HAC 14.61)
2246function bnModInverse(m) {
2247 var ac = m.isEven()
2248 if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO
2249 var u = m.clone(),
2250 v = this.clone()
2251 var a = nbv(1),
2252 b = nbv(0),
2253 c = nbv(0),
2254 d = nbv(1)
2255 while (u.signum() != 0) {
2256 while (u.isEven()) {
2257 u.rShiftTo(1, u)
2258 if (ac) {
2259 if (!a.isEven() || !b.isEven()) {
2260 a.addTo(this, a)
2261 b.subTo(m, b)
2262 }
2263 a.rShiftTo(1, a)
2264 } else if (!b.isEven()) b.subTo(m, b)
2265 b.rShiftTo(1, b)
2266 }
2267 while (v.isEven()) {
2268 v.rShiftTo(1, v)
2269 if (ac) {
2270 if (!c.isEven() || !d.isEven()) {
2271 c.addTo(this, c)
2272 d.subTo(m, d)
2273 }
2274 c.rShiftTo(1, c)
2275 } else if (!d.isEven()) d.subTo(m, d)
2276 d.rShiftTo(1, d)
2277 }
2278 if (u.compareTo(v) >= 0) {
2279 u.subTo(v, u)
2280 if (ac) a.subTo(c, a)
2281 b.subTo(d, b)
2282 } else {
2283 v.subTo(u, v)
2284 if (ac) c.subTo(a, c)
2285 d.subTo(b, d)
2286 }
2287 }
2288 if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO
2289 if (d.compareTo(m) >= 0) return d.subtract(m)
2290 if (d.signum() < 0) d.addTo(m, d)
2291 else return d
2292 if (d.signum() < 0) return d.add(m)
2293 else return d
2294}
2295
2296var lowprimes = [
2297 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
2298 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
2299 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
2300 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
2301 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
2302 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
2303 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
2304 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
2305 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
2306 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
2307 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
2308]
2309
2310var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]
2311
2312// (public) test primality with certainty >= 1-.5^t
2313function bnIsProbablePrime(t) {
2314 var i, x = this.abs()
2315 if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
2316 for (i = 0; i < lowprimes.length; ++i)
2317 if (x[0] == lowprimes[i]) return true
2318 return false
3af2954a 2319 }
ab78acc6
IC
2320 if (x.isEven()) return false
2321 i = 1
2322 while (i < lowprimes.length) {
2323 var m = lowprimes[i],
2324 j = i + 1
2325 while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]
2326 m = x.modInt(m)
2327 while (i < j) if (m % lowprimes[i++] == 0) return false
2328 }
2329 return x.millerRabin(t)
2330}
2331
2332// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
2333function bnpMillerRabin(t) {
2334 var n1 = this.subtract(BigInteger.ONE)
2335 var k = n1.getLowestSetBit()
2336 if (k <= 0) return false
2337 var r = n1.shiftRight(k)
2338 t = (t + 1) >> 1
2339 if (t > lowprimes.length) t = lowprimes.length
2340 var a = new BigInteger(null)
2341 var j, bases = []
2342 for (var i = 0; i < t; ++i) {
2343 for (;;) {
2344 j = lowprimes[Math.floor(Math.random() * lowprimes.length)]
2345 if (bases.indexOf(j) == -1) break
2346 }
2347 bases.push(j)
2348 a.fromInt(j)
2349 var y = a.modPow(r, this)
2350 if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
2351 var j = 1
2352 while (j++ < k && y.compareTo(n1) != 0) {
2353 y = y.modPowInt(2, this)
2354 if (y.compareTo(BigInteger.ONE) == 0) return false
2355 }
2356 if (y.compareTo(n1) != 0) return false
2357 }
3af2954a 2358 }
ab78acc6
IC
2359 return true
2360}
3af2954a 2361
ab78acc6
IC
2362// protected
2363proto.chunkSize = bnpChunkSize
2364proto.toRadix = bnpToRadix
2365proto.fromRadix = bnpFromRadix
2366proto.fromNumber = bnpFromNumber
2367proto.bitwiseTo = bnpBitwiseTo
2368proto.changeBit = bnpChangeBit
2369proto.addTo = bnpAddTo
2370proto.dMultiply = bnpDMultiply
2371proto.dAddOffset = bnpDAddOffset
2372proto.multiplyLowerTo = bnpMultiplyLowerTo
2373proto.multiplyUpperTo = bnpMultiplyUpperTo
2374proto.modInt = bnpModInt
2375proto.millerRabin = bnpMillerRabin
3af2954a 2376
ab78acc6
IC
2377// public
2378proto.clone = bnClone
2379proto.intValue = bnIntValue
2380proto.byteValue = bnByteValue
2381proto.shortValue = bnShortValue
2382proto.signum = bnSigNum
2383proto.toByteArray = bnToByteArray
2384proto.equals = bnEquals
2385proto.min = bnMin
2386proto.max = bnMax
2387proto.and = bnAnd
2388proto.or = bnOr
2389proto.xor = bnXor
2390proto.andNot = bnAndNot
2391proto.not = bnNot
2392proto.shiftLeft = bnShiftLeft
2393proto.shiftRight = bnShiftRight
2394proto.getLowestSetBit = bnGetLowestSetBit
2395proto.bitCount = bnBitCount
2396proto.testBit = bnTestBit
2397proto.setBit = bnSetBit
2398proto.clearBit = bnClearBit
2399proto.flipBit = bnFlipBit
2400proto.add = bnAdd
2401proto.subtract = bnSubtract
2402proto.multiply = bnMultiply
2403proto.divide = bnDivide
2404proto.remainder = bnRemainder
2405proto.divideAndRemainder = bnDivideAndRemainder
2406proto.modPow = bnModPow
2407proto.modInverse = bnModInverse
2408proto.pow = bnPow
2409proto.gcd = bnGCD
2410proto.isProbablePrime = bnIsProbablePrime
3af2954a 2411
ab78acc6
IC
2412// JSBN-specific extension
2413proto.square = bnSquare
3af2954a 2414
ab78acc6
IC
2415// constants
2416BigInteger.ZERO = nbv(0)
2417BigInteger.ONE = nbv(1)
2418BigInteger.valueOf = nbv
3af2954a 2419
ab78acc6 2420module.exports = BigInteger
3af2954a 2421
ab78acc6
IC
2422},{"../package.json":4}],2:[function(require,module,exports){
2423(function (Buffer){
2424// FIXME: Kind of a weird way to throw exceptions, consider removing
2425var assert = require('assert')
2426var BigInteger = require('./bigi')
3af2954a 2427
ab78acc6
IC
2428/**
2429 * Turns a byte array into a big integer.
2430 *
2431 * This function will interpret a byte array as a big integer in big
2432 * endian notation.
2433 */
2434BigInteger.fromByteArrayUnsigned = function(byteArray) {
2435 // BigInteger expects a DER integer conformant byte array
2436 if (byteArray[0] & 0x80) {
2437 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2438 }
2439
ab78acc6
IC
2440 return new BigInteger(byteArray)
2441}
3af2954a 2442
ab78acc6
IC
2443/**
2444 * Returns a byte array representation of the big integer.
2445 *
2446 * This returns the absolute of the contained value in big endian
2447 * form. A value of zero results in an empty array.
2448 */
2449BigInteger.prototype.toByteArrayUnsigned = function() {
2450 var byteArray = this.toByteArray()
2451 return byteArray[0] === 0 ? byteArray.slice(1) : byteArray
2452}
3af2954a 2453
ab78acc6
IC
2454BigInteger.fromDERInteger = function(byteArray) {
2455 return new BigInteger(byteArray)
2456}
3af2954a 2457
ab78acc6
IC
2458/*
2459 * Converts BigInteger to a DER integer representation.
2460 *
2461 * The format for this value uses the most significant bit as a sign
2462 * bit. If the most significant bit is already set and the integer is
2463 * positive, a 0x00 is prepended.
2464 *
2465 * Examples:
2466 *
2467 * 0 => 0x00
2468 * 1 => 0x01
2469 * -1 => 0xff
2470 * 127 => 0x7f
2471 * -127 => 0x81
2472 * 128 => 0x0080
2473 * -128 => 0x80
2474 * 255 => 0x00ff
2475 * -255 => 0xff01
2476 * 16300 => 0x3fac
2477 * -16300 => 0xc054
2478 * 62300 => 0x00f35c
2479 * -62300 => 0xff0ca4
2480*/
2481BigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray
3af2954a 2482
ab78acc6
IC
2483BigInteger.fromBuffer = function(buffer) {
2484 // BigInteger expects a DER integer conformant byte array
2485 if (buffer[0] & 0x80) {
2486 var byteArray = Array.prototype.slice.call(buffer)
3af2954a 2487
ab78acc6 2488 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2489 }
2490
ab78acc6
IC
2491 return new BigInteger(buffer)
2492}
3af2954a 2493
ab78acc6
IC
2494BigInteger.fromHex = function(hex) {
2495 if (hex === '') return BigInteger.ZERO
3af2954a 2496
ab78acc6
IC
2497 assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')
2498 assert.equal(hex.length % 2, 0, 'Incomplete hex')
2499 return new BigInteger(hex, 16)
2500}
3af2954a 2501
ab78acc6
IC
2502BigInteger.prototype.toBuffer = function(size) {
2503 var byteArray = this.toByteArrayUnsigned()
2504 var zeros = []
3af2954a 2505
ab78acc6
IC
2506 var padding = size - byteArray.length
2507 while (zeros.length < padding) zeros.push(0)
3af2954a 2508
ab78acc6
IC
2509 return new Buffer(zeros.concat(byteArray))
2510}
3af2954a 2511
ab78acc6
IC
2512BigInteger.prototype.toHex = function(size) {
2513 return this.toBuffer(size).toString('hex')
2514}
3af2954a 2515
ab78acc6
IC
2516}).call(this,require("buffer").Buffer)
2517},{"./bigi":1,"assert":5,"buffer":7}],3:[function(require,module,exports){
2518var BigInteger = require('./bigi')
3af2954a 2519
ab78acc6
IC
2520//addons
2521require('./convert')
3af2954a 2522
ab78acc6
IC
2523module.exports = BigInteger
2524},{"./bigi":1,"./convert":2}],4:[function(require,module,exports){
2525module.exports={
2526 "name": "bigi",
2527 "version": "1.4.0",
2528 "description": "Big integers.",
2529 "keywords": [
2530 "cryptography",
2531 "math",
2532 "bitcoin",
2533 "arbitrary",
2534 "precision",
2535 "arithmetic",
2536 "big",
2537 "integer",
2538 "int",
2539 "number",
2540 "biginteger",
2541 "bigint",
2542 "bignumber",
2543 "decimal",
2544 "float"
2545 ],
2546 "devDependencies": {
2547 "mocha": "^1.20.1",
2548 "jshint": "^2.5.1",
2549 "coveralls": "^2.10.0",
2550 "istanbul": "^0.2.11"
2551 },
2552 "repository": {
2553 "url": "https://github.com/cryptocoinjs/bigi",
2554 "type": "git"
2555 },
2556 "main": "./lib/index.js",
2557 "scripts": {
2558 "test": "_mocha -- test/*.js",
2559 "jshint": "jshint --config jshint.json lib/*.js ; true",
2560 "unit": "mocha",
2561 "coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",
2562 "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"
2563 },
2564 "dependencies": {},
2565 "testling": {
2566 "files": "test/*.js",
2567 "harness": "mocha",
2568 "browsers": [
2569 "ie/9..latest",
2570 "firefox/latest",
2571 "chrome/latest",
2572 "safari/6.0..latest",
2573 "iphone/6.0..latest",
2574 "android-browser/4.2..latest"
2575 ]
2576 },
2577 "bugs": {
2578 "url": "https://github.com/cryptocoinjs/bigi/issues"
2579 },
2580 "homepage": "https://github.com/cryptocoinjs/bigi",
2581 "_id": "bigi@1.4.0",
2582 "dist": {
2583 "shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2584 "tarball": "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2585 },
2586 "_from": "bigi@^1.4.0",
2587 "_npmVersion": "1.4.3",
2588 "_npmUser": {
2589 "name": "jp",
2590 "email": "jprichardson@gmail.com"
2591 },
2592 "maintainers": [
2593 {
2594 "name": "jp",
2595 "email": "jprichardson@gmail.com"
2596 },
2597 {
2598 "name": "midnightlightning",
2599 "email": "boydb@midnightdesign.ws"
2600 },
2601 {
2602 "name": "sidazhang",
2603 "email": "sidazhang89@gmail.com"
2604 },
2605 {
2606 "name": "nadav",
2607 "email": "npm@shesek.info"
3af2954a 2608 }
ab78acc6
IC
2609 ],
2610 "directories": {},
2611 "_shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2612 "_resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2613}
3af2954a 2614
ab78acc6
IC
2615},{}],5:[function(require,module,exports){
2616// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
2617//
2618// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
2619//
2620// Originally from narwhal.js (http://narwhaljs.org)
2621// Copyright (c) 2009 Thomas Robinson <280north.com>
2622//
2623// Permission is hereby granted, free of charge, to any person obtaining a copy
2624// of this software and associated documentation files (the 'Software'), to
2625// deal in the Software without restriction, including without limitation the
2626// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2627// sell copies of the Software, and to permit persons to whom the Software is
2628// furnished to do so, subject to the following conditions:
2629//
2630// The above copyright notice and this permission notice shall be included in
2631// all copies or substantial portions of the Software.
2632//
2633// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2634// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2635// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2636// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
2637// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2638// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3af2954a 2639
ab78acc6
IC
2640// when used in node, this will actually load the util module we depend on
2641// versus loading the builtin util module as happens otherwise
2642// this is a bug in node module loading as far as I am concerned
2643var util = require('util/');
3af2954a 2644
ab78acc6
IC
2645var pSlice = Array.prototype.slice;
2646var hasOwn = Object.prototype.hasOwnProperty;
3af2954a 2647
ab78acc6
IC
2648// 1. The assert module provides functions that throw
2649// AssertionError's when particular conditions are not met. The
2650// assert module must conform to the following interface.
3af2954a 2651
ab78acc6 2652var assert = module.exports = ok;
3af2954a 2653
ab78acc6
IC
2654// 2. The AssertionError is defined in assert.
2655// new assert.AssertionError({ message: message,
2656// actual: actual,
2657// expected: expected })
3af2954a 2658
ab78acc6
IC
2659assert.AssertionError = function AssertionError(options) {
2660 this.name = 'AssertionError';
2661 this.actual = options.actual;
2662 this.expected = options.expected;
2663 this.operator = options.operator;
2664 if (options.message) {
2665 this.message = options.message;
2666 this.generatedMessage = false;
2667 } else {
2668 this.message = getMessage(this);
2669 this.generatedMessage = true;
2670 }
2671 var stackStartFunction = options.stackStartFunction || fail;
3af2954a 2672
ab78acc6
IC
2673 if (Error.captureStackTrace) {
2674 Error.captureStackTrace(this, stackStartFunction);
3af2954a 2675 }
ab78acc6
IC
2676 else {
2677 // non v8 browsers so we can have a stacktrace
2678 var err = new Error();
2679 if (err.stack) {
2680 var out = err.stack;
3af2954a 2681
ab78acc6
IC
2682 // try to strip useless frames
2683 var fn_name = stackStartFunction.name;
2684 var idx = out.indexOf('\n' + fn_name);
2685 if (idx >= 0) {
2686 // once we have located the function frame
2687 // we need to strip out everything before it (and its line)
2688 var next_line = out.indexOf('\n', idx + 1);
2689 out = out.substring(next_line + 1);
2690 }
3af2954a 2691
ab78acc6 2692 this.stack = out;
3af2954a 2693 }
3af2954a 2694 }
ab78acc6 2695};
3af2954a 2696
ab78acc6
IC
2697// assert.AssertionError instanceof Error
2698util.inherits(assert.AssertionError, Error);
3af2954a 2699
ab78acc6
IC
2700function replacer(key, value) {
2701 if (util.isUndefined(value)) {
2702 return '' + value;
2703 }
2704 if (util.isNumber(value) && !isFinite(value)) {
2705 return value.toString();
2706 }
2707 if (util.isFunction(value) || util.isRegExp(value)) {
2708 return value.toString();
2709 }
2710 return value;
2711}
3af2954a 2712
ab78acc6
IC
2713function truncate(s, n) {
2714 if (util.isString(s)) {
2715 return s.length < n ? s : s.slice(0, n);
2716 } else {
2717 return s;
2718 }
2719}
3af2954a 2720
ab78acc6
IC
2721function getMessage(self) {
2722 return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
2723 self.operator + ' ' +
2724 truncate(JSON.stringify(self.expected, replacer), 128);
2725}
3af2954a 2726
ab78acc6
IC
2727// At present only the three keys mentioned above are used and
2728// understood by the spec. Implementations or sub modules can pass
2729// other keys to the AssertionError's constructor - they will be
2730// ignored.
3af2954a 2731
ab78acc6
IC
2732// 3. All of the following functions must throw an AssertionError
2733// when a corresponding condition is not met, with a message that
2734// may be undefined if not provided. All assertion methods provide
2735// both the actual and expected values to the assertion error for
2736// display purposes.
3af2954a 2737
ab78acc6
IC
2738function fail(actual, expected, message, operator, stackStartFunction) {
2739 throw new assert.AssertionError({
2740 message: message,
2741 actual: actual,
2742 expected: expected,
2743 operator: operator,
2744 stackStartFunction: stackStartFunction
2745 });
2746}
3af2954a 2747
ab78acc6
IC
2748// EXTENSION! allows for well behaved errors defined elsewhere.
2749assert.fail = fail;
ebd8d4e8 2750
ab78acc6
IC
2751// 4. Pure assertion tests whether a value is truthy, as determined
2752// by !!guard.
2753// assert.ok(guard, message_opt);
2754// This statement is equivalent to assert.equal(true, !!guard,
2755// message_opt);. To test strictly for the value true, use
2756// assert.strictEqual(true, guard, message_opt);.
3af2954a 2757
ab78acc6
IC
2758function ok(value, message) {
2759 if (!value) fail(value, true, message, '==', assert.ok);
2760}
2761assert.ok = ok;
3af2954a 2762
ab78acc6
IC
2763// 5. The equality assertion tests shallow, coercive equality with
2764// ==.
2765// assert.equal(actual, expected, message_opt);
3af2954a 2766
ab78acc6
IC
2767assert.equal = function equal(actual, expected, message) {
2768 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
2769};
3af2954a 2770
ab78acc6
IC
2771// 6. The non-equality assertion tests for whether two objects are not equal
2772// with != assert.notEqual(actual, expected, message_opt);
3af2954a 2773
ab78acc6
IC
2774assert.notEqual = function notEqual(actual, expected, message) {
2775 if (actual == expected) {
2776 fail(actual, expected, message, '!=', assert.notEqual);
3af2954a 2777 }
ab78acc6 2778};
3af2954a 2779
ab78acc6
IC
2780// 7. The equivalence assertion tests a deep equality relation.
2781// assert.deepEqual(actual, expected, message_opt);
3af2954a 2782
ab78acc6
IC
2783assert.deepEqual = function deepEqual(actual, expected, message) {
2784 if (!_deepEqual(actual, expected)) {
2785 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
2786 }
2787};
3af2954a 2788
ab78acc6
IC
2789function _deepEqual(actual, expected) {
2790 // 7.1. All identical values are equivalent, as determined by ===.
2791 if (actual === expected) {
2792 return true;
3af2954a 2793
ab78acc6
IC
2794 } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
2795 if (actual.length != expected.length) return false;
3af2954a 2796
ab78acc6
IC
2797 for (var i = 0; i < actual.length; i++) {
2798 if (actual[i] !== expected[i]) return false;
3af2954a
IC
2799 }
2800
ab78acc6 2801 return true;
3af2954a 2802
ab78acc6
IC
2803 // 7.2. If the expected value is a Date object, the actual value is
2804 // equivalent if it is also a Date object that refers to the same time.
2805 } else if (util.isDate(actual) && util.isDate(expected)) {
2806 return actual.getTime() === expected.getTime();
3af2954a 2807
ab78acc6
IC
2808 // 7.3 If the expected value is a RegExp object, the actual value is
2809 // equivalent if it is also a RegExp object with the same source and
2810 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
2811 } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
2812 return actual.source === expected.source &&
2813 actual.global === expected.global &&
2814 actual.multiline === expected.multiline &&
2815 actual.lastIndex === expected.lastIndex &&
2816 actual.ignoreCase === expected.ignoreCase;
3af2954a 2817
ab78acc6
IC
2818 // 7.4. Other pairs that do not both pass typeof value == 'object',
2819 // equivalence is determined by ==.
2820 } else if (!util.isObject(actual) && !util.isObject(expected)) {
2821 return actual == expected;
3af2954a 2822
ab78acc6
IC
2823 // 7.5 For all other Object pairs, including Array objects, equivalence is
2824 // determined by having the same number of owned properties (as verified
2825 // with Object.prototype.hasOwnProperty.call), the same set of keys
2826 // (although not necessarily the same order), equivalent values for every
2827 // corresponding key, and an identical 'prototype' property. Note: this
2828 // accounts for both named and indexed properties on Arrays.
2829 } else {
2830 return objEquiv(actual, expected);
3af2954a 2831 }
ab78acc6 2832}
3af2954a 2833
ab78acc6
IC
2834function isArguments(object) {
2835 return Object.prototype.toString.call(object) == '[object Arguments]';
2836}
3af2954a 2837
ab78acc6
IC
2838function objEquiv(a, b) {
2839 if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
2840 return false;
2841 // an identical 'prototype' property.
2842 if (a.prototype !== b.prototype) return false;
2843 // if one is a primitive, the other must be same
2844 if (util.isPrimitive(a) || util.isPrimitive(b)) {
2845 return a === b;
3af2954a 2846 }
ab78acc6
IC
2847 var aIsArgs = isArguments(a),
2848 bIsArgs = isArguments(b);
2849 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
2850 return false;
2851 if (aIsArgs) {
2852 a = pSlice.call(a);
2853 b = pSlice.call(b);
2854 return _deepEqual(a, b);
3af2954a 2855 }
ab78acc6
IC
2856 var ka = objectKeys(a),
2857 kb = objectKeys(b),
2858 key, i;
2859 // having the same number of owned properties (keys incorporates
2860 // hasOwnProperty)
2861 if (ka.length != kb.length)
2862 return false;
2863 //the same set of keys (although not necessarily the same order),
2864 ka.sort();
2865 kb.sort();
2866 //~~~cheap key test
2867 for (i = ka.length - 1; i >= 0; i--) {
2868 if (ka[i] != kb[i])
2869 return false;
3af2954a 2870 }
ab78acc6
IC
2871 //equivalent values for every corresponding key, and
2872 //~~~possibly expensive deep test
2873 for (i = ka.length - 1; i >= 0; i--) {
2874 key = ka[i];
2875 if (!_deepEqual(a[key], b[key])) return false;
3af2954a 2876 }
ab78acc6
IC
2877 return true;
2878}
2879
2880// 8. The non-equivalence assertion tests for any deep inequality.
2881// assert.notDeepEqual(actual, expected, message_opt);
3af2954a 2882
ab78acc6
IC
2883assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
2884 if (_deepEqual(actual, expected)) {
2885 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
3af2954a 2886 }
ab78acc6 2887};
3af2954a 2888
ab78acc6
IC
2889// 9. The strict equality assertion tests strict equality, as determined by ===.
2890// assert.strictEqual(actual, expected, message_opt);
3af2954a 2891
ab78acc6
IC
2892assert.strictEqual = function strictEqual(actual, expected, message) {
2893 if (actual !== expected) {
2894 fail(actual, expected, message, '===', assert.strictEqual);
3af2954a 2895 }
ab78acc6 2896};
3af2954a 2897
ab78acc6
IC
2898// 10. The strict non-equality assertion tests for strict inequality, as
2899// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
3af2954a 2900
ab78acc6
IC
2901assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
2902 if (actual === expected) {
2903 fail(actual, expected, message, '!==', assert.notStrictEqual);
2904 }
2905};
3af2954a 2906
ab78acc6
IC
2907function expectedException(actual, expected) {
2908 if (!actual || !expected) {
2909 return false;
2910 }
3af2954a 2911
ab78acc6
IC
2912 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
2913 return expected.test(actual);
2914 } else if (actual instanceof expected) {
2915 return true;
2916 } else if (expected.call({}, actual) === true) {
2917 return true;
3af2954a
IC
2918 }
2919
ab78acc6
IC
2920 return false;
2921}
3af2954a 2922
ab78acc6
IC
2923function _throws(shouldThrow, block, expected, message) {
2924 var actual;
3af2954a 2925
ab78acc6
IC
2926 if (util.isString(expected)) {
2927 message = expected;
2928 expected = null;
3af2954a
IC
2929 }
2930
ab78acc6
IC
2931 try {
2932 block();
2933 } catch (e) {
2934 actual = e;
3af2954a
IC
2935 }
2936
ab78acc6
IC
2937 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
2938 (message ? ' ' + message : '.');
3af2954a 2939
ab78acc6
IC
2940 if (shouldThrow && !actual) {
2941 fail(actual, expected, 'Missing expected exception' + message);
3af2954a
IC
2942 }
2943
ab78acc6
IC
2944 if (!shouldThrow && expectedException(actual, expected)) {
2945 fail(actual, expected, 'Got unwanted exception' + message);
3af2954a
IC
2946 }
2947
ab78acc6
IC
2948 if ((shouldThrow && actual && expected &&
2949 !expectedException(actual, expected)) || (!shouldThrow && actual)) {
2950 throw actual;
3af2954a 2951 }
ab78acc6 2952}
3af2954a 2953
ab78acc6
IC
2954// 11. Expected to throw an error:
2955// assert.throws(block, Error_opt, message_opt);
3af2954a 2956
ab78acc6
IC
2957assert.throws = function(block, /*optional*/error, /*optional*/message) {
2958 _throws.apply(this, [true].concat(pSlice.call(arguments)));
2959};
3af2954a 2960
ab78acc6
IC
2961// EXTENSION! This is annoying to write outside this module.
2962assert.doesNotThrow = function(block, /*optional*/message) {
2963 _throws.apply(this, [false].concat(pSlice.call(arguments)));
2964};
3af2954a 2965
ab78acc6 2966assert.ifError = function(err) { if (err) {throw err;}};
3af2954a 2967
ab78acc6
IC
2968var objectKeys = Object.keys || function (obj) {
2969 var keys = [];
2970 for (var key in obj) {
2971 if (hasOwn.call(obj, key)) keys.push(key);
3af2954a 2972 }
ab78acc6
IC
2973 return keys;
2974};
3af2954a 2975
ab78acc6 2976},{"util/":29}],6:[function(require,module,exports){
3af2954a 2977
ab78acc6
IC
2978},{}],7:[function(require,module,exports){
2979/*!
2980 * The buffer module from node.js, for the browser.
2981 *
2982 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
2983 * @license MIT
2984 */
3af2954a 2985
ab78acc6
IC
2986var base64 = require('base64-js')
2987var ieee754 = require('ieee754')
2988var isArray = require('is-array')
3af2954a 2989
ab78acc6
IC
2990exports.Buffer = Buffer
2991exports.SlowBuffer = SlowBuffer
2992exports.INSPECT_MAX_BYTES = 50
2993Buffer.poolSize = 8192 // not used by this implementation
3af2954a 2994
ab78acc6 2995var rootParent = {}
3af2954a 2996
ab78acc6
IC
2997/**
2998 * If `Buffer.TYPED_ARRAY_SUPPORT`:
2999 * === true Use Uint8Array implementation (fastest)
3000 * === false Use Object implementation (most compatible, even IE6)
3001 *
3002 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
3003 * Opera 11.6+, iOS 4.2+.
3004 *
3005 * Due to various browser bugs, sometimes the Object implementation will be used even
3006 * when the browser supports typed arrays.
3007 *
3008 * Note:
3009 *
3010 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
3011 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
3012 *
3013 * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
3014 * on objects.
3015 *
3016 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
3017 *
3018 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
3019 * incorrect length in some situations.
3af2954a 3020
ab78acc6
IC
3021 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
3022 * get the Object implementation, which is slower but behaves correctly.
3023 */
3024Buffer.TYPED_ARRAY_SUPPORT = (function () {
3025 function Bar () {}
3026 try {
3027 var arr = new Uint8Array(1)
3028 arr.foo = function () { return 42 }
3029 arr.constructor = Bar
3030 return arr.foo() === 42 && // typed array instances can be augmented
3031 arr.constructor === Bar && // constructor can be set
3032 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
3033 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
3034 } catch (e) {
3035 return false
3036 }
3037})()
3af2954a 3038
ab78acc6
IC
3039function kMaxLength () {
3040 return Buffer.TYPED_ARRAY_SUPPORT
3041 ? 0x7fffffff
3042 : 0x3fffffff
3043}
3af2954a 3044
ab78acc6
IC
3045/**
3046 * Class: Buffer
3047 * =============
3048 *
3049 * The Buffer constructor returns instances of `Uint8Array` that are augmented
3050 * with function properties for all the node `Buffer` API functions. We use
3051 * `Uint8Array` so that square bracket notation works as expected -- it returns
3052 * a single octet.
3053 *
3054 * By augmenting the instances, we can avoid modifying the `Uint8Array`
3055 * prototype.
3056 */
3057function Buffer (arg) {
3058 if (!(this instanceof Buffer)) {
3059 // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
3060 if (arguments.length > 1) return new Buffer(arg, arguments[1])
3061 return new Buffer(arg)
3af2954a
IC
3062 }
3063
ab78acc6
IC
3064 this.length = 0
3065 this.parent = undefined
3af2954a 3066
ab78acc6
IC
3067 // Common case.
3068 if (typeof arg === 'number') {
3069 return fromNumber(this, arg)
3070 }
3af2954a 3071
ab78acc6
IC
3072 // Slightly less common case.
3073 if (typeof arg === 'string') {
3074 return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
3075 }
3af2954a 3076
ab78acc6
IC
3077 // Unusual.
3078 return fromObject(this, arg)
3079}
3af2954a 3080
ab78acc6
IC
3081function fromNumber (that, length) {
3082 that = allocate(that, length < 0 ? 0 : checked(length) | 0)
3083 if (!Buffer.TYPED_ARRAY_SUPPORT) {
3084 for (var i = 0; i < length; i++) {
3085 that[i] = 0
3086 }
3af2954a 3087 }
ab78acc6
IC
3088 return that
3089}
3af2954a 3090
ab78acc6
IC
3091function fromString (that, string, encoding) {
3092 if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
3af2954a 3093
ab78acc6
IC
3094 // Assumption: byteLength() return value is always < kMaxLength.
3095 var length = byteLength(string, encoding) | 0
3096 that = allocate(that, length)
3af2954a 3097
ab78acc6
IC
3098 that.write(string, encoding)
3099 return that
3100}
3af2954a 3101
ab78acc6
IC
3102function fromObject (that, object) {
3103 if (Buffer.isBuffer(object)) return fromBuffer(that, object)
3af2954a 3104
ab78acc6 3105 if (isArray(object)) return fromArray(that, object)
3af2954a 3106
ab78acc6
IC
3107 if (object == null) {
3108 throw new TypeError('must start with number, buffer, array or string')
3109 }
3af2954a 3110
ab78acc6
IC
3111 if (typeof ArrayBuffer !== 'undefined') {
3112 if (object.buffer instanceof ArrayBuffer) {
3113 return fromTypedArray(that, object)
3114 }
3115 if (object instanceof ArrayBuffer) {
3116 return fromArrayBuffer(that, object)
3117 }
3af2954a
IC
3118 }
3119
ab78acc6 3120 if (object.length) return fromArrayLike(that, object)
3af2954a 3121
ab78acc6
IC
3122 return fromJsonObject(that, object)
3123}
3af2954a 3124
ab78acc6
IC
3125function fromBuffer (that, buffer) {
3126 var length = checked(buffer.length) | 0
3127 that = allocate(that, length)
3128 buffer.copy(that, 0, 0, length)
3129 return that
3130}
3af2954a 3131
ab78acc6
IC
3132function fromArray (that, array) {
3133 var length = checked(array.length) | 0
3134 that = allocate(that, length)
3135 for (var i = 0; i < length; i += 1) {
3136 that[i] = array[i] & 255
3af2954a 3137 }
ab78acc6
IC
3138 return that
3139}
3af2954a 3140
ab78acc6
IC
3141// Duplicate of fromArray() to keep fromArray() monomorphic.
3142function fromTypedArray (that, array) {
3143 var length = checked(array.length) | 0
3144 that = allocate(that, length)
3145 // Truncating the elements is probably not what people expect from typed
3146 // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
3147 // of the old Buffer constructor.
3148 for (var i = 0; i < length; i += 1) {
3149 that[i] = array[i] & 255
3af2954a 3150 }
ab78acc6
IC
3151 return that
3152}
3af2954a 3153
ab78acc6
IC
3154function fromArrayBuffer (that, array) {
3155 if (Buffer.TYPED_ARRAY_SUPPORT) {
3156 // Return an augmented `Uint8Array` instance, for best performance
3157 array.byteLength
3158 that = Buffer._augment(new Uint8Array(array))
3159 } else {
3160 // Fallback: Return an object instance of the Buffer class
3161 that = fromTypedArray(that, new Uint8Array(array))
3162 }
3163 return that
3164}
3af2954a 3165
ab78acc6
IC
3166function fromArrayLike (that, array) {
3167 var length = checked(array.length) | 0
3168 that = allocate(that, length)
3169 for (var i = 0; i < length; i += 1) {
3170 that[i] = array[i] & 255
3af2954a 3171 }
ab78acc6
IC
3172 return that
3173}
3af2954a 3174
ab78acc6
IC
3175// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
3176// Returns a zero-length buffer for inputs that don't conform to the spec.
3177function fromJsonObject (that, object) {
3178 var array
3179 var length = 0
3180
3181 if (object.type === 'Buffer' && isArray(object.data)) {
3182 array = object.data
3183 length = checked(array.length) | 0
3af2954a 3184 }
ab78acc6 3185 that = allocate(that, length)
3af2954a 3186
ab78acc6
IC
3187 for (var i = 0; i < length; i += 1) {
3188 that[i] = array[i] & 255
3af2954a 3189 }
ab78acc6
IC
3190 return that
3191}
3af2954a 3192
ab78acc6
IC
3193function allocate (that, length) {
3194 if (Buffer.TYPED_ARRAY_SUPPORT) {
3195 // Return an augmented `Uint8Array` instance, for best performance
3196 that = Buffer._augment(new Uint8Array(length))
3197 } else {
3198 // Fallback: Return an object instance of the Buffer class
3199 that.length = length
3200 that._isBuffer = true
3201 }
3af2954a 3202
ab78acc6
IC
3203 var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
3204 if (fromPool) that.parent = rootParent
3af2954a 3205
ab78acc6
IC
3206 return that
3207}
3af2954a 3208
ab78acc6
IC
3209function checked (length) {
3210 // Note: cannot use `length < kMaxLength` here because that fails when
3211 // length is NaN (which is otherwise coerced to zero.)
3212 if (length >= kMaxLength()) {
3213 throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
3214 'size: 0x' + kMaxLength().toString(16) + ' bytes')
3af2954a 3215 }
ab78acc6
IC
3216 return length | 0
3217}
3af2954a 3218
ab78acc6
IC
3219function SlowBuffer (subject, encoding) {
3220 if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
3af2954a 3221
ab78acc6
IC
3222 var buf = new Buffer(subject, encoding)
3223 delete buf.parent
3224 return buf
3225}
3af2954a 3226
ab78acc6
IC
3227Buffer.isBuffer = function isBuffer (b) {
3228 return !!(b != null && b._isBuffer)
3229}
3af2954a 3230
ab78acc6
IC
3231Buffer.compare = function compare (a, b) {
3232 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
3233 throw new TypeError('Arguments must be Buffers')
3af2954a
IC
3234 }
3235
ab78acc6 3236 if (a === b) return 0
3af2954a 3237
ab78acc6
IC
3238 var x = a.length
3239 var y = b.length
3af2954a 3240
ab78acc6
IC
3241 var i = 0
3242 var len = Math.min(x, y)
3243 while (i < len) {
3244 if (a[i] !== b[i]) break
3af2954a 3245
ab78acc6
IC
3246 ++i
3247 }
3af2954a 3248
ab78acc6
IC
3249 if (i !== len) {
3250 x = a[i]
3251 y = b[i]
3252 }
3af2954a 3253
ab78acc6
IC
3254 if (x < y) return -1
3255 if (y < x) return 1
3256 return 0
3257}
3af2954a 3258
ab78acc6
IC
3259Buffer.isEncoding = function isEncoding (encoding) {
3260 switch (String(encoding).toLowerCase()) {
3261 case 'hex':
3262 case 'utf8':
3263 case 'utf-8':
3264 case 'ascii':
3265 case 'binary':
3266 case 'base64':
3267 case 'raw':
3268 case 'ucs2':
3269 case 'ucs-2':
3270 case 'utf16le':
3271 case 'utf-16le':
3272 return true
3273 default:
3274 return false
3af2954a 3275 }
ab78acc6 3276}
3af2954a 3277
ab78acc6
IC
3278Buffer.concat = function concat (list, length) {
3279 if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
3af2954a 3280
ab78acc6
IC
3281 if (list.length === 0) {
3282 return new Buffer(0)
3af2954a
IC
3283 }
3284
ab78acc6
IC
3285 var i
3286 if (length === undefined) {
3287 length = 0
3288 for (i = 0; i < list.length; i++) {
3289 length += list[i].length
3290 }
3af2954a
IC
3291 }
3292
ab78acc6
IC
3293 var buf = new Buffer(length)
3294 var pos = 0
3295 for (i = 0; i < list.length; i++) {
3296 var item = list[i]
3297 item.copy(buf, pos)
3298 pos += item.length
3299 }
3300 return buf
3301}
3af2954a 3302
ab78acc6
IC
3303function byteLength (string, encoding) {
3304 if (typeof string !== 'string') string = '' + string
3305
3306 var len = string.length
3307 if (len === 0) return 0
3308
3309 // Use a for loop to avoid recursion
3310 var loweredCase = false
3311 for (;;) {
3312 switch (encoding) {
3313 case 'ascii':
3314 case 'binary':
3315 // Deprecated
3316 case 'raw':
3317 case 'raws':
3318 return len
3319 case 'utf8':
3320 case 'utf-8':
3321 return utf8ToBytes(string).length
3322 case 'ucs2':
3323 case 'ucs-2':
3324 case 'utf16le':
3325 case 'utf-16le':
3326 return len * 2
3327 case 'hex':
3328 return len >>> 1
3329 case 'base64':
3330 return base64ToBytes(string).length
3331 default:
3332 if (loweredCase) return utf8ToBytes(string).length // assume utf8
3333 encoding = ('' + encoding).toLowerCase()
3334 loweredCase = true
3af2954a 3335 }
3af2954a 3336 }
ab78acc6
IC
3337}
3338Buffer.byteLength = byteLength
3af2954a 3339
ab78acc6
IC
3340// pre-set for values that may exist in the future
3341Buffer.prototype.length = undefined
3342Buffer.prototype.parent = undefined
3af2954a 3343
ab78acc6
IC
3344function slowToString (encoding, start, end) {
3345 var loweredCase = false
3af2954a 3346
ab78acc6
IC
3347 start = start | 0
3348 end = end === undefined || end === Infinity ? this.length : end | 0
3af2954a 3349
ab78acc6
IC
3350 if (!encoding) encoding = 'utf8'
3351 if (start < 0) start = 0
3352 if (end > this.length) end = this.length
3353 if (end <= start) return ''
3af2954a 3354
ab78acc6
IC
3355 while (true) {
3356 switch (encoding) {
3357 case 'hex':
3358 return hexSlice(this, start, end)
3af2954a 3359
ab78acc6
IC
3360 case 'utf8':
3361 case 'utf-8':
3362 return utf8Slice(this, start, end)
3af2954a 3363
ab78acc6
IC
3364 case 'ascii':
3365 return asciiSlice(this, start, end)
3af2954a 3366
ab78acc6
IC
3367 case 'binary':
3368 return binarySlice(this, start, end)
3af2954a 3369
ab78acc6
IC
3370 case 'base64':
3371 return base64Slice(this, start, end)
3af2954a 3372
ab78acc6
IC
3373 case 'ucs2':
3374 case 'ucs-2':
3375 case 'utf16le':
3376 case 'utf-16le':
3377 return utf16leSlice(this, start, end)
3af2954a 3378
ab78acc6
IC
3379 default:
3380 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3381 encoding = (encoding + '').toLowerCase()
3382 loweredCase = true
3383 }
3af2954a 3384 }
ab78acc6 3385}
3af2954a 3386
ab78acc6
IC
3387Buffer.prototype.toString = function toString () {
3388 var length = this.length | 0
3389 if (length === 0) return ''
3390 if (arguments.length === 0) return utf8Slice(this, 0, length)
3391 return slowToString.apply(this, arguments)
3392}
3af2954a 3393
ab78acc6
IC
3394Buffer.prototype.equals = function equals (b) {
3395 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3396 if (this === b) return true
3397 return Buffer.compare(this, b) === 0
3398}
3af2954a 3399
ab78acc6
IC
3400Buffer.prototype.inspect = function inspect () {
3401 var str = ''
3402 var max = exports.INSPECT_MAX_BYTES
3403 if (this.length > 0) {
3404 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
3405 if (this.length > max) str += ' ... '
3af2954a 3406 }
ab78acc6
IC
3407 return '<Buffer ' + str + '>'
3408}
3af2954a 3409
ab78acc6
IC
3410Buffer.prototype.compare = function compare (b) {
3411 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3412 if (this === b) return 0
3413 return Buffer.compare(this, b)
3414}
3af2954a 3415
ab78acc6
IC
3416Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
3417 if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
3418 else if (byteOffset < -0x80000000) byteOffset = -0x80000000
3419 byteOffset >>= 0
3af2954a 3420
ab78acc6
IC
3421 if (this.length === 0) return -1
3422 if (byteOffset >= this.length) return -1
3af2954a 3423
ab78acc6
IC
3424 // Negative offsets start from the end of the buffer
3425 if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
3af2954a 3426
ab78acc6
IC
3427 if (typeof val === 'string') {
3428 if (val.length === 0) return -1 // special case: looking for empty string always fails
3429 return String.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3430 }
ab78acc6
IC
3431 if (Buffer.isBuffer(val)) {
3432 return arrayIndexOf(this, val, byteOffset)
3af2954a 3433 }
ab78acc6
IC
3434 if (typeof val === 'number') {
3435 if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
3436 return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3437 }
ab78acc6 3438 return arrayIndexOf(this, [ val ], byteOffset)
3af2954a
IC
3439 }
3440
ab78acc6
IC
3441 function arrayIndexOf (arr, val, byteOffset) {
3442 var foundIndex = -1
3443 for (var i = 0; byteOffset + i < arr.length; i++) {
3444 if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
3445 if (foundIndex === -1) foundIndex = i
3446 if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
3af2954a 3447 } else {
ab78acc6 3448 foundIndex = -1
3af2954a 3449 }
3af2954a 3450 }
ab78acc6
IC
3451 return -1
3452 }
3af2954a 3453
ab78acc6
IC
3454 throw new TypeError('val must be string, number or Buffer')
3455}
3af2954a 3456
ab78acc6
IC
3457// `get` is deprecated
3458Buffer.prototype.get = function get (offset) {
3459 console.log('.get() is deprecated. Access using array indexes instead.')
3460 return this.readUInt8(offset)
3461}
3af2954a 3462
ab78acc6
IC
3463// `set` is deprecated
3464Buffer.prototype.set = function set (v, offset) {
3465 console.log('.set() is deprecated. Access using array indexes instead.')
3466 return this.writeUInt8(v, offset)
3467}
3af2954a 3468
ab78acc6
IC
3469function hexWrite (buf, string, offset, length) {
3470 offset = Number(offset) || 0
3471 var remaining = buf.length - offset
3472 if (!length) {
3473 length = remaining
3474 } else {
3475 length = Number(length)
3476 if (length > remaining) {
3477 length = remaining
3478 }
3479 }
3af2954a 3480
ab78acc6
IC
3481 // must be an even number of digits
3482 var strLen = string.length
3483 if (strLen % 2 !== 0) throw new Error('Invalid hex string')
3af2954a 3484
ab78acc6
IC
3485 if (length > strLen / 2) {
3486 length = strLen / 2
3487 }
3488 for (var i = 0; i < length; i++) {
3489 var parsed = parseInt(string.substr(i * 2, 2), 16)
3490 if (isNaN(parsed)) throw new Error('Invalid hex string')
3491 buf[offset + i] = parsed
3af2954a 3492 }
ab78acc6
IC
3493 return i
3494}
3495
3496function utf8Write (buf, string, offset, length) {
3497 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
3498}
3af2954a 3499
ab78acc6
IC
3500function asciiWrite (buf, string, offset, length) {
3501 return blitBuffer(asciiToBytes(string), buf, offset, length)
3502}
3af2954a 3503
ab78acc6
IC
3504function binaryWrite (buf, string, offset, length) {
3505 return asciiWrite(buf, string, offset, length)
3506}
3af2954a 3507
ab78acc6
IC
3508function base64Write (buf, string, offset, length) {
3509 return blitBuffer(base64ToBytes(string), buf, offset, length)
3510}
3af2954a 3511
ab78acc6
IC
3512function ucs2Write (buf, string, offset, length) {
3513 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
3514}
3af2954a 3515
ab78acc6
IC
3516Buffer.prototype.write = function write (string, offset, length, encoding) {
3517 // Buffer#write(string)
3518 if (offset === undefined) {
3519 encoding = 'utf8'
3520 length = this.length
3521 offset = 0
3522 // Buffer#write(string, encoding)
3523 } else if (length === undefined && typeof offset === 'string') {
3524 encoding = offset
3525 length = this.length
3526 offset = 0
3527 // Buffer#write(string, offset[, length][, encoding])
3528 } else if (isFinite(offset)) {
3529 offset = offset | 0
3530 if (isFinite(length)) {
3531 length = length | 0
3532 if (encoding === undefined) encoding = 'utf8'
3533 } else {
3534 encoding = length
3535 length = undefined
3536 }
3537 // legacy write(string, encoding, offset, length) - remove in v0.13
3538 } else {
3539 var swap = encoding
3540 encoding = offset
3541 offset = length | 0
3542 length = swap
3af2954a
IC
3543 }
3544
ab78acc6
IC
3545 var remaining = this.length - offset
3546 if (length === undefined || length > remaining) length = remaining
3af2954a 3547
ab78acc6
IC
3548 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
3549 throw new RangeError('attempt to write outside buffer bounds')
3550 }
3af2954a 3551
ab78acc6 3552 if (!encoding) encoding = 'utf8'
3af2954a 3553
ab78acc6
IC
3554 var loweredCase = false
3555 for (;;) {
3556 switch (encoding) {
3557 case 'hex':
3558 return hexWrite(this, string, offset, length)
ebd8d4e8 3559
ab78acc6
IC
3560 case 'utf8':
3561 case 'utf-8':
3562 return utf8Write(this, string, offset, length)
ebd8d4e8 3563
ab78acc6
IC
3564 case 'ascii':
3565 return asciiWrite(this, string, offset, length)
ebd8d4e8 3566
ab78acc6
IC
3567 case 'binary':
3568 return binaryWrite(this, string, offset, length)
ebd8d4e8 3569
ab78acc6
IC
3570 case 'base64':
3571 // Warning: maxLength not taken into account in base64Write
3572 return base64Write(this, string, offset, length)
ebd8d4e8 3573
ab78acc6
IC
3574 case 'ucs2':
3575 case 'ucs-2':
3576 case 'utf16le':
3577 case 'utf-16le':
3578 return ucs2Write(this, string, offset, length)
ebd8d4e8 3579
ab78acc6
IC
3580 default:
3581 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3582 encoding = ('' + encoding).toLowerCase()
3583 loweredCase = true
3584 }
3585 }
3586}
212b1b46 3587
ab78acc6
IC
3588Buffer.prototype.toJSON = function toJSON () {
3589 return {
3590 type: 'Buffer',
3591 data: Array.prototype.slice.call(this._arr || this, 0)
3592 }
3593}
212b1b46 3594
ab78acc6
IC
3595function base64Slice (buf, start, end) {
3596 if (start === 0 && end === buf.length) {
3597 return base64.fromByteArray(buf)
3598 } else {
3599 return base64.fromByteArray(buf.slice(start, end))
3af2954a 3600 }
ab78acc6
IC
3601}
3602
3603function utf8Slice (buf, start, end) {
3604 end = Math.min(buf.length, end)
3605 var firstByte
3606 var secondByte
3607 var thirdByte
3608 var fourthByte
3609 var bytesPerSequence
3610 var tempCodePoint
3611 var codePoint
3612 var res = []
3613 var i = start
3614
3615 for (; i < end; i += bytesPerSequence) {
3616 firstByte = buf[i]
3617 codePoint = 0xFFFD
3618
3619 if (firstByte > 0xEF) {
3620 bytesPerSequence = 4
3621 } else if (firstByte > 0xDF) {
3622 bytesPerSequence = 3
3623 } else if (firstByte > 0xBF) {
3624 bytesPerSequence = 2
3625 } else {
3626 bytesPerSequence = 1
3627 }
212b1b46 3628
ab78acc6
IC
3629 if (i + bytesPerSequence <= end) {
3630 switch (bytesPerSequence) {
3631 case 1:
3632 if (firstByte < 0x80) {
3633 codePoint = firstByte
3634 }
3635 break
3636 case 2:
3637 secondByte = buf[i + 1]
3638 if ((secondByte & 0xC0) === 0x80) {
3639 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
3640 if (tempCodePoint > 0x7F) {
3641 codePoint = tempCodePoint
3642 }
3643 }
3644 break
3645 case 3:
3646 secondByte = buf[i + 1]
3647 thirdByte = buf[i + 2]
3648 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
3649 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
3650 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
3651 codePoint = tempCodePoint
3652 }
3653 }
3654 break
3655 case 4:
3656 secondByte = buf[i + 1]
3657 thirdByte = buf[i + 2]
3658 fourthByte = buf[i + 3]
3659 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
3660 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
3661 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
3662 codePoint = tempCodePoint
3663 }
3664 }
3665 }
3666 }
212b1b46 3667
ab78acc6
IC
3668 if (codePoint === 0xFFFD) {
3669 // we generated an invalid codePoint so make sure to only advance by 1 byte
3670 bytesPerSequence = 1
3671 } else if (codePoint > 0xFFFF) {
3672 // encode to utf16 (surrogate pair dance)
3673 codePoint -= 0x10000
3674 res.push(codePoint >>> 10 & 0x3FF | 0xD800)
3675 codePoint = 0xDC00 | codePoint & 0x3FF
3676 }
212b1b46 3677
ab78acc6 3678 res.push(codePoint)
3af2954a 3679 }
212b1b46 3680
ab78acc6
IC
3681 return String.fromCharCode.apply(String, res)
3682}
212b1b46 3683
ab78acc6
IC
3684function asciiSlice (buf, start, end) {
3685 var ret = ''
3686 end = Math.min(buf.length, end)
3687
3688 for (var i = start; i < end; i++) {
3689 ret += String.fromCharCode(buf[i] & 0x7F)
3af2954a 3690 }
ab78acc6
IC
3691 return ret
3692}
212b1b46 3693
ab78acc6
IC
3694function binarySlice (buf, start, end) {
3695 var ret = ''
3696 end = Math.min(buf.length, end)
212b1b46 3697
ab78acc6
IC
3698 for (var i = start; i < end; i++) {
3699 ret += String.fromCharCode(buf[i])
3700 }
3701 return ret
3702}
212b1b46 3703
ab78acc6
IC
3704function hexSlice (buf, start, end) {
3705 var len = buf.length
212b1b46 3706
ab78acc6
IC
3707 if (!start || start < 0) start = 0
3708 if (!end || end < 0 || end > len) end = len
212b1b46 3709
ab78acc6
IC
3710 var out = ''
3711 for (var i = start; i < end; i++) {
3712 out += toHex(buf[i])
3713 }
3714 return out
3715}
212b1b46 3716
ab78acc6
IC
3717function utf16leSlice (buf, start, end) {
3718 var bytes = buf.slice(start, end)
3719 var res = ''
3720 for (var i = 0; i < bytes.length; i += 2) {
3721 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
3722 }
3723 return res
3724}
212b1b46 3725
ab78acc6
IC
3726Buffer.prototype.slice = function slice (start, end) {
3727 var len = this.length
3728 start = ~~start
3729 end = end === undefined ? len : ~~end
212b1b46 3730
ab78acc6
IC
3731 if (start < 0) {
3732 start += len
3733 if (start < 0) start = 0
3734 } else if (start > len) {
3735 start = len
3736 }
212b1b46 3737
ab78acc6
IC
3738 if (end < 0) {
3739 end += len
3740 if (end < 0) end = 0
3741 } else if (end > len) {
3742 end = len
3743 }
212b1b46 3744
ab78acc6 3745 if (end < start) end = start
212b1b46 3746
ab78acc6
IC
3747 var newBuf
3748 if (Buffer.TYPED_ARRAY_SUPPORT) {
3749 newBuf = Buffer._augment(this.subarray(start, end))
3750 } else {
3751 var sliceLen = end - start
3752 newBuf = new Buffer(sliceLen, undefined)
3753 for (var i = 0; i < sliceLen; i++) {
3754 newBuf[i] = this[i + start]
3af2954a
IC
3755 }
3756 }
212b1b46 3757
ab78acc6 3758 if (newBuf.length) newBuf.parent = this.parent || this
ebd8d4e8 3759
ab78acc6
IC
3760 return newBuf
3761}
ebd8d4e8 3762
ab78acc6
IC
3763/*
3764 * Need to make sure that buffer isn't trying to write out of bounds.
3765 */
3766function checkOffset (offset, ext, length) {
3767 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
3768 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
3769}
ebd8d4e8 3770
ab78acc6
IC
3771Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
3772 offset = offset | 0
3773 byteLength = byteLength | 0
3774 if (!noAssert) checkOffset(offset, byteLength, this.length)
3af2954a 3775
ab78acc6
IC
3776 var val = this[offset]
3777 var mul = 1
3778 var i = 0
3779 while (++i < byteLength && (mul *= 0x100)) {
3780 val += this[offset + i] * mul
3781 }
3af2954a 3782
ab78acc6
IC
3783 return val
3784}
3af2954a 3785
ab78acc6
IC
3786Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
3787 offset = offset | 0
3788 byteLength = byteLength | 0
3789 if (!noAssert) {
3790 checkOffset(offset, byteLength, this.length)
3791 }
3af2954a 3792
ab78acc6
IC
3793 var val = this[offset + --byteLength]
3794 var mul = 1
3795 while (byteLength > 0 && (mul *= 0x100)) {
3796 val += this[offset + --byteLength] * mul
3af2954a
IC
3797 }
3798
ab78acc6
IC
3799 return val
3800}
3af2954a 3801
ab78acc6
IC
3802Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
3803 if (!noAssert) checkOffset(offset, 1, this.length)
3804 return this[offset]
3805}
3af2954a 3806
ab78acc6
IC
3807Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
3808 if (!noAssert) checkOffset(offset, 2, this.length)
3809 return this[offset] | (this[offset + 1] << 8)
3810}
3af2954a 3811
ab78acc6
IC
3812Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
3813 if (!noAssert) checkOffset(offset, 2, this.length)
3814 return (this[offset] << 8) | this[offset + 1]
3815}
ebd8d4e8 3816
ab78acc6
IC
3817Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
3818 if (!noAssert) checkOffset(offset, 4, this.length)
3af2954a 3819
ab78acc6
IC
3820 return ((this[offset]) |
3821 (this[offset + 1] << 8) |
3822 (this[offset + 2] << 16)) +
3823 (this[offset + 3] * 0x1000000)
3824}
3af2954a 3825
ab78acc6
IC
3826Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
3827 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3828
ab78acc6
IC
3829 return (this[offset] * 0x1000000) +
3830 ((this[offset + 1] << 16) |
3831 (this[offset + 2] << 8) |
3832 this[offset + 3])
3833}
ebd8d4e8 3834
ab78acc6
IC
3835Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
3836 offset = offset | 0
3837 byteLength = byteLength | 0
3838 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3839
ab78acc6
IC
3840 var val = this[offset]
3841 var mul = 1
3842 var i = 0
3843 while (++i < byteLength && (mul *= 0x100)) {
3844 val += this[offset + i] * mul
ebd8d4e8 3845 }
ab78acc6 3846 mul *= 0x80
ebd8d4e8 3847
ab78acc6
IC
3848 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
3849
3850 return val
ebd8d4e8
IC
3851}
3852
ab78acc6
IC
3853Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
3854 offset = offset | 0
3855 byteLength = byteLength | 0
3856 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3857
ab78acc6
IC
3858 var i = byteLength
3859 var mul = 1
3860 var val = this[offset + --i]
3861 while (i > 0 && (mul *= 0x100)) {
3862 val += this[offset + --i] * mul
3863 }
3864 mul *= 0x80
ebd8d4e8 3865
ab78acc6 3866 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
ebd8d4e8 3867
ab78acc6
IC
3868 return val
3869}
ebd8d4e8 3870
ab78acc6
IC
3871Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
3872 if (!noAssert) checkOffset(offset, 1, this.length)
3873 if (!(this[offset] & 0x80)) return (this[offset])
3874 return ((0xff - this[offset] + 1) * -1)
ebd8d4e8 3875}
ab78acc6
IC
3876
3877Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
3878 if (!noAssert) checkOffset(offset, 2, this.length)
3879 var val = this[offset] | (this[offset + 1] << 8)
3880 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8 3881}
ab78acc6
IC
3882
3883Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
3884 if (!noAssert) checkOffset(offset, 2, this.length)
3885 var val = this[offset + 1] | (this[offset] << 8)
3886 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8
IC
3887}
3888
ab78acc6
IC
3889Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
3890 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3891
ab78acc6
IC
3892 return (this[offset]) |
3893 (this[offset + 1] << 8) |
3894 (this[offset + 2] << 16) |
3895 (this[offset + 3] << 24)
ebd8d4e8 3896}
ebd8d4e8 3897
ab78acc6
IC
3898Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
3899 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3900
ab78acc6
IC
3901 return (this[offset] << 24) |
3902 (this[offset + 1] << 16) |
3903 (this[offset + 2] << 8) |
3904 (this[offset + 3])
ebd8d4e8
IC
3905}
3906
ab78acc6
IC
3907Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
3908 if (!noAssert) checkOffset(offset, 4, this.length)
3909 return ieee754.read(this, offset, true, 23, 4)
ebd8d4e8
IC
3910}
3911
ab78acc6
IC
3912Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
3913 if (!noAssert) checkOffset(offset, 4, this.length)
3914 return ieee754.read(this, offset, false, 23, 4)
ebd8d4e8
IC
3915}
3916
ab78acc6
IC
3917Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
3918 if (!noAssert) checkOffset(offset, 8, this.length)
3919 return ieee754.read(this, offset, true, 52, 8)
ebd8d4e8
IC
3920}
3921
ab78acc6
IC
3922Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
3923 if (!noAssert) checkOffset(offset, 8, this.length)
3924 return ieee754.read(this, offset, false, 52, 8)
ebd8d4e8
IC
3925}
3926
ab78acc6
IC
3927function checkInt (buf, value, offset, ext, max, min) {
3928 if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
3929 if (value > max || value < min) throw new RangeError('value is out of bounds')
3930 if (offset + ext > buf.length) throw new RangeError('index out of range')
ebd8d4e8
IC
3931}
3932
ab78acc6
IC
3933Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
3934 value = +value
3935 offset = offset | 0
3936 byteLength = byteLength | 0
3937 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3938
ab78acc6
IC
3939 var mul = 1
3940 var i = 0
3941 this[offset] = value & 0xFF
3942 while (++i < byteLength && (mul *= 0x100)) {
3943 this[offset + i] = (value / mul) & 0xFF
3944 }
ebd8d4e8 3945
ab78acc6 3946 return offset + byteLength
ebd8d4e8
IC
3947}
3948
ab78acc6
IC
3949Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
3950 value = +value
3951 offset = offset | 0
3952 byteLength = byteLength | 0
3953 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3954
ab78acc6
IC
3955 var i = byteLength - 1
3956 var mul = 1
3957 this[offset + i] = value & 0xFF
3958 while (--i >= 0 && (mul *= 0x100)) {
3959 this[offset + i] = (value / mul) & 0xFF
3960 }
ebd8d4e8 3961
ab78acc6 3962 return offset + byteLength
ebd8d4e8
IC
3963}
3964
ab78acc6
IC
3965Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
3966 value = +value
3967 offset = offset | 0
3968 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
3969 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3970 this[offset] = value
3971 return offset + 1
ebd8d4e8
IC
3972}
3973
ab78acc6
IC
3974function objectWriteUInt16 (buf, value, offset, littleEndian) {
3975 if (value < 0) value = 0xffff + value + 1
3976 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
3977 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
3978 (littleEndian ? i : 1 - i) * 8
ebd8d4e8 3979 }
ebd8d4e8
IC
3980}
3981
ab78acc6
IC
3982Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
3983 value = +value
3984 offset = offset | 0
3985 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3986 if (Buffer.TYPED_ARRAY_SUPPORT) {
3987 this[offset] = value
3988 this[offset + 1] = (value >>> 8)
3989 } else {
3990 objectWriteUInt16(this, value, offset, true)
3991 }
3992 return offset + 2
ebd8d4e8
IC
3993}
3994
ab78acc6
IC
3995Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
3996 value = +value
3997 offset = offset | 0
3998 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3999 if (Buffer.TYPED_ARRAY_SUPPORT) {
4000 this[offset] = (value >>> 8)
4001 this[offset + 1] = value
4002 } else {
4003 objectWriteUInt16(this, value, offset, false)
ebd8d4e8 4004 }
ab78acc6 4005 return offset + 2
ebd8d4e8
IC
4006}
4007
ab78acc6
IC
4008function objectWriteUInt32 (buf, value, offset, littleEndian) {
4009 if (value < 0) value = 0xffffffff + value + 1
4010 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
4011 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
4012 }
ebd8d4e8
IC
4013}
4014
ab78acc6
IC
4015Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
4016 value = +value
4017 offset = offset | 0
4018 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
4019 if (Buffer.TYPED_ARRAY_SUPPORT) {
4020 this[offset + 3] = (value >>> 24)
4021 this[offset + 2] = (value >>> 16)
4022 this[offset + 1] = (value >>> 8)
4023 this[offset] = value
4024 } else {
4025 objectWriteUInt32(this, value, offset, true)
ebd8d4e8 4026 }
ab78acc6 4027 return offset + 4
ebd8d4e8
IC
4028}
4029
ab78acc6
IC
4030Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
4031 value = +value
4032 offset = offset | 0
4033 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
4034 if (Buffer.TYPED_ARRAY_SUPPORT) {
4035 this[offset] = (value >>> 24)
4036 this[offset + 1] = (value >>> 16)
4037 this[offset + 2] = (value >>> 8)
4038 this[offset + 3] = value
4039 } else {
4040 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4041 }
ab78acc6
IC
4042 return offset + 4
4043}
4044
4045Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
4046 value = +value
4047 offset = offset | 0
4048 if (!noAssert) {
4049 var limit = Math.pow(2, 8 * byteLength - 1)
4050
4051 checkInt(this, value, offset, byteLength, limit - 1, -limit)
ebd8d4e8 4052 }
ab78acc6
IC
4053
4054 var i = 0
4055 var mul = 1
4056 var sub = value < 0 ? 1 : 0
4057 this[offset] = value & 0xFF
4058 while (++i < byteLength && (mul *= 0x100)) {
4059 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
ebd8d4e8 4060 }
ebd8d4e8 4061
ab78acc6 4062 return offset + byteLength
ebd8d4e8
IC
4063}
4064
ab78acc6
IC
4065Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
4066 value = +value
4067 offset = offset | 0
4068 if (!noAssert) {
4069 var limit = Math.pow(2, 8 * byteLength - 1)
ebd8d4e8 4070
ab78acc6
IC
4071 checkInt(this, value, offset, byteLength, limit - 1, -limit)
4072 }
ebd8d4e8 4073
ab78acc6
IC
4074 var i = byteLength - 1
4075 var mul = 1
4076 var sub = value < 0 ? 1 : 0
4077 this[offset + i] = value & 0xFF
4078 while (--i >= 0 && (mul *= 0x100)) {
4079 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
4080 }
4081
4082 return offset + byteLength
ebd8d4e8
IC
4083}
4084
ab78acc6
IC
4085Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
4086 value = +value
4087 offset = offset | 0
4088 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
4089 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
4090 if (value < 0) value = 0xff + value + 1
4091 this[offset] = value
4092 return offset + 1
ebd8d4e8
IC
4093}
4094
ab78acc6
IC
4095Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
4096 value = +value
4097 offset = offset | 0
4098 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4099 if (Buffer.TYPED_ARRAY_SUPPORT) {
4100 this[offset] = value
4101 this[offset + 1] = (value >>> 8)
4102 } else {
4103 objectWriteUInt16(this, value, offset, true)
4104 }
4105 return offset + 2
ebd8d4e8
IC
4106}
4107
ab78acc6
IC
4108Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
4109 value = +value
4110 offset = offset | 0
4111 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4112 if (Buffer.TYPED_ARRAY_SUPPORT) {
4113 this[offset] = (value >>> 8)
4114 this[offset + 1] = value
4115 } else {
4116 objectWriteUInt16(this, value, offset, false)
4117 }
4118 return offset + 2
ebd8d4e8
IC
4119}
4120
ab78acc6
IC
4121Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
4122 value = +value
4123 offset = offset | 0
4124 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4125 if (Buffer.TYPED_ARRAY_SUPPORT) {
4126 this[offset] = value
4127 this[offset + 1] = (value >>> 8)
4128 this[offset + 2] = (value >>> 16)
4129 this[offset + 3] = (value >>> 24)
4130 } else {
4131 objectWriteUInt32(this, value, offset, true)
4132 }
4133 return offset + 4
4134}
4135
4136Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
4137 value = +value
4138 offset = offset | 0
4139 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4140 if (value < 0) value = 0xffffffff + value + 1
4141 if (Buffer.TYPED_ARRAY_SUPPORT) {
4142 this[offset] = (value >>> 24)
4143 this[offset + 1] = (value >>> 16)
4144 this[offset + 2] = (value >>> 8)
4145 this[offset + 3] = value
4146 } else {
4147 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4148 }
ab78acc6 4149 return offset + 4
ebd8d4e8
IC
4150}
4151
ab78acc6
IC
4152function checkIEEE754 (buf, value, offset, ext, max, min) {
4153 if (value > max || value < min) throw new RangeError('value is out of bounds')
4154 if (offset + ext > buf.length) throw new RangeError('index out of range')
4155 if (offset < 0) throw new RangeError('index out of range')
4156}
ebd8d4e8 4157
ab78acc6
IC
4158function writeFloat (buf, value, offset, littleEndian, noAssert) {
4159 if (!noAssert) {
4160 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
4161 }
4162 ieee754.write(buf, value, offset, littleEndian, 23, 4)
4163 return offset + 4
4164}
ebd8d4e8 4165
ab78acc6
IC
4166Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
4167 return writeFloat(this, value, offset, true, noAssert)
4168}
ebd8d4e8 4169
ab78acc6
IC
4170Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
4171 return writeFloat(this, value, offset, false, noAssert)
4172}
ebd8d4e8 4173
ab78acc6
IC
4174function writeDouble (buf, value, offset, littleEndian, noAssert) {
4175 if (!noAssert) {
4176 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
ebd8d4e8 4177 }
ab78acc6
IC
4178 ieee754.write(buf, value, offset, littleEndian, 52, 8)
4179 return offset + 8
ebd8d4e8
IC
4180}
4181
ab78acc6
IC
4182Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
4183 return writeDouble(this, value, offset, true, noAssert)
ebd8d4e8
IC
4184}
4185
ab78acc6
IC
4186Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
4187 return writeDouble(this, value, offset, false, noAssert)
4188}
ebd8d4e8 4189
ab78acc6
IC
4190// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
4191Buffer.prototype.copy = function copy (target, targetStart, start, end) {
4192 if (!start) start = 0
4193 if (!end && end !== 0) end = this.length
4194 if (targetStart >= target.length) targetStart = target.length
4195 if (!targetStart) targetStart = 0
4196 if (end > 0 && end < start) end = start
4197
4198 // Copy 0 bytes; we're done
4199 if (end === start) return 0
4200 if (target.length === 0 || this.length === 0) return 0
ebd8d4e8 4201
ab78acc6
IC
4202 // Fatal error conditions
4203 if (targetStart < 0) {
4204 throw new RangeError('targetStart out of bounds')
4205 }
4206 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
4207 if (end < 0) throw new RangeError('sourceEnd out of bounds')
ebd8d4e8 4208
ab78acc6
IC
4209 // Are we oob?
4210 if (end > this.length) end = this.length
4211 if (target.length - targetStart < end - start) {
4212 end = target.length - targetStart + start
4213 }
ebd8d4e8 4214
ab78acc6
IC
4215 var len = end - start
4216 var i
ebd8d4e8 4217
ab78acc6
IC
4218 if (this === target && start < targetStart && targetStart < end) {
4219 // descending copy from end
4220 for (i = len - 1; i >= 0; i--) {
4221 target[i + targetStart] = this[i + start]
4222 }
4223 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
4224 // ascending copy from start
4225 for (i = 0; i < len; i++) {
4226 target[i + targetStart] = this[i + start]
4227 }
4228 } else {
4229 target._set(this.subarray(start, start + len), targetStart)
ebd8d4e8 4230 }
ebd8d4e8 4231
ab78acc6
IC
4232 return len
4233}
ebd8d4e8 4234
ab78acc6
IC
4235// fill(value, start=0, end=buffer.length)
4236Buffer.prototype.fill = function fill (value, start, end) {
4237 if (!value) value = 0
4238 if (!start) start = 0
4239 if (!end) end = this.length
ebd8d4e8 4240
ab78acc6 4241 if (end < start) throw new RangeError('end < start')
ebd8d4e8 4242
ab78acc6
IC
4243 // Fill 0 bytes; we're done
4244 if (end === start) return
4245 if (this.length === 0) return
ebd8d4e8 4246
ab78acc6
IC
4247 if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
4248 if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
ebd8d4e8 4249
ab78acc6
IC
4250 var i
4251 if (typeof value === 'number') {
4252 for (i = start; i < end; i++) {
4253 this[i] = value
ebd8d4e8 4254 }
ab78acc6
IC
4255 } else {
4256 var bytes = utf8ToBytes(value.toString())
4257 var len = bytes.length
4258 for (i = start; i < end; i++) {
4259 this[i] = bytes[i % len]
ebd8d4e8
IC
4260 }
4261 }
ebd8d4e8 4262
ab78acc6 4263 return this
ebd8d4e8
IC
4264}
4265
ab78acc6
IC
4266/**
4267 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
4268 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
4269 */
4270Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
4271 if (typeof Uint8Array !== 'undefined') {
4272 if (Buffer.TYPED_ARRAY_SUPPORT) {
4273 return (new Buffer(this)).buffer
4274 } else {
4275 var buf = new Uint8Array(this.length)
4276 for (var i = 0, len = buf.length; i < len; i += 1) {
4277 buf[i] = this[i]
ebd8d4e8 4278 }
ab78acc6 4279 return buf.buffer
ebd8d4e8 4280 }
ab78acc6
IC
4281 } else {
4282 throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
ebd8d4e8 4283 }
ebd8d4e8
IC
4284}
4285
ab78acc6
IC
4286// HELPER FUNCTIONS
4287// ================
ebd8d4e8 4288
ab78acc6 4289var BP = Buffer.prototype
ebd8d4e8 4290
ab78acc6
IC
4291/**
4292 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
4293 */
4294Buffer._augment = function _augment (arr) {
4295 arr.constructor = Buffer
4296 arr._isBuffer = true
ebd8d4e8 4297
ab78acc6
IC
4298 // save reference to original Uint8Array set method before overwriting
4299 arr._set = arr.set
ebd8d4e8 4300
ab78acc6
IC
4301 // deprecated
4302 arr.get = BP.get
4303 arr.set = BP.set
ebd8d4e8 4304
ab78acc6
IC
4305 arr.write = BP.write
4306 arr.toString = BP.toString
4307 arr.toLocaleString = BP.toString
4308 arr.toJSON = BP.toJSON
4309 arr.equals = BP.equals
4310 arr.compare = BP.compare
4311 arr.indexOf = BP.indexOf
4312 arr.copy = BP.copy
4313 arr.slice = BP.slice
4314 arr.readUIntLE = BP.readUIntLE
4315 arr.readUIntBE = BP.readUIntBE
4316 arr.readUInt8 = BP.readUInt8
4317 arr.readUInt16LE = BP.readUInt16LE
4318 arr.readUInt16BE = BP.readUInt16BE
4319 arr.readUInt32LE = BP.readUInt32LE
4320 arr.readUInt32BE = BP.readUInt32BE
4321 arr.readIntLE = BP.readIntLE
4322 arr.readIntBE = BP.readIntBE
4323 arr.readInt8 = BP.readInt8
4324 arr.readInt16LE = BP.readInt16LE
4325 arr.readInt16BE = BP.readInt16BE
4326 arr.readInt32LE = BP.readInt32LE
4327 arr.readInt32BE = BP.readInt32BE
4328 arr.readFloatLE = BP.readFloatLE
4329 arr.readFloatBE = BP.readFloatBE
4330 arr.readDoubleLE = BP.readDoubleLE
4331 arr.readDoubleBE = BP.readDoubleBE
4332 arr.writeUInt8 = BP.writeUInt8
4333 arr.writeUIntLE = BP.writeUIntLE
4334 arr.writeUIntBE = BP.writeUIntBE
4335 arr.writeUInt16LE = BP.writeUInt16LE
4336 arr.writeUInt16BE = BP.writeUInt16BE
4337 arr.writeUInt32LE = BP.writeUInt32LE
4338 arr.writeUInt32BE = BP.writeUInt32BE
4339 arr.writeIntLE = BP.writeIntLE
4340 arr.writeIntBE = BP.writeIntBE
4341 arr.writeInt8 = BP.writeInt8
4342 arr.writeInt16LE = BP.writeInt16LE
4343 arr.writeInt16BE = BP.writeInt16BE
4344 arr.writeInt32LE = BP.writeInt32LE
4345 arr.writeInt32BE = BP.writeInt32BE
4346 arr.writeFloatLE = BP.writeFloatLE
4347 arr.writeFloatBE = BP.writeFloatBE
4348 arr.writeDoubleLE = BP.writeDoubleLE
4349 arr.writeDoubleBE = BP.writeDoubleBE
4350 arr.fill = BP.fill
4351 arr.inspect = BP.inspect
4352 arr.toArrayBuffer = BP.toArrayBuffer
ebd8d4e8 4353
ab78acc6 4354 return arr
ebd8d4e8
IC
4355}
4356
ab78acc6 4357var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
ebd8d4e8 4358
ab78acc6
IC
4359function base64clean (str) {
4360 // Node strips out invalid characters like \n and \t from the string, base64-js does not
4361 str = stringtrim(str).replace(INVALID_BASE64_RE, '')
4362 // Node converts strings with length < 2 to ''
4363 if (str.length < 2) return ''
4364 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
4365 while (str.length % 4 !== 0) {
4366 str = str + '='
4367 }
4368 return str
ebd8d4e8
IC
4369}
4370
ab78acc6
IC
4371function stringtrim (str) {
4372 if (str.trim) return str.trim()
4373 return str.replace(/^\s+|\s+$/g, '')
ebd8d4e8
IC
4374}
4375
ab78acc6
IC
4376function toHex (n) {
4377 if (n < 16) return '0' + n.toString(16)
4378 return n.toString(16)
ebd8d4e8
IC
4379}
4380
ab78acc6
IC
4381function utf8ToBytes (string, units) {
4382 units = units || Infinity
4383 var codePoint
4384 var length = string.length
4385 var leadSurrogate = null
4386 var bytes = []
ebd8d4e8 4387
ab78acc6
IC
4388 for (var i = 0; i < length; i++) {
4389 codePoint = string.charCodeAt(i)
ebd8d4e8 4390
ab78acc6
IC
4391 // is surrogate component
4392 if (codePoint > 0xD7FF && codePoint < 0xE000) {
4393 // last char was a lead
4394 if (!leadSurrogate) {
4395 // no lead yet
4396 if (codePoint > 0xDBFF) {
4397 // unexpected trail
4398 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4399 continue
ebd8d4e8 4400
ab78acc6
IC
4401 } else if (i + 1 === length) {
4402 // unpaired lead
4403 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4404 continue
4405 }
ebd8d4e8 4406
ab78acc6
IC
4407 // valid lead
4408 leadSurrogate = codePoint
ebd8d4e8 4409
ab78acc6
IC
4410 continue
4411 }
ebd8d4e8 4412
ab78acc6
IC
4413 // 2 leads in a row
4414 if (codePoint < 0xDC00) {
4415 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4416 leadSurrogate = codePoint
4417 continue
4418 }
ebd8d4e8 4419
ab78acc6
IC
4420 // valid surrogate pair
4421 codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
4422
4423 } else if (leadSurrogate) {
4424 // valid bmp char, but last char was a lead
4425 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4426 }
4427
4428 leadSurrogate = null
4429
4430 // encode utf8
4431 if (codePoint < 0x80) {
4432 if ((units -= 1) < 0) break
4433 bytes.push(codePoint)
4434 } else if (codePoint < 0x800) {
4435 if ((units -= 2) < 0) break
4436 bytes.push(
4437 codePoint >> 0x6 | 0xC0,
4438 codePoint & 0x3F | 0x80
4439 )
4440 } else if (codePoint < 0x10000) {
4441 if ((units -= 3) < 0) break
4442 bytes.push(
4443 codePoint >> 0xC | 0xE0,
4444 codePoint >> 0x6 & 0x3F | 0x80,
4445 codePoint & 0x3F | 0x80
4446 )
4447 } else if (codePoint < 0x110000) {
4448 if ((units -= 4) < 0) break
4449 bytes.push(
4450 codePoint >> 0x12 | 0xF0,
4451 codePoint >> 0xC & 0x3F | 0x80,
4452 codePoint >> 0x6 & 0x3F | 0x80,
4453 codePoint & 0x3F | 0x80
4454 )
4455 } else {
4456 throw new Error('Invalid code point')
ebd8d4e8 4457 }
ebd8d4e8 4458 }
ab78acc6
IC
4459
4460 return bytes
4461}
4462
4463function asciiToBytes (str) {
4464 var byteArray = []
4465 for (var i = 0; i < str.length; i++) {
4466 // Node's code seems to be doing this and not & 0x7F..
4467 byteArray.push(str.charCodeAt(i) & 0xFF)
ebd8d4e8 4468 }
ab78acc6 4469 return byteArray
ebd8d4e8
IC
4470}
4471
ab78acc6
IC
4472function utf16leToBytes (str, units) {
4473 var c, hi, lo
4474 var byteArray = []
4475 for (var i = 0; i < str.length; i++) {
4476 if ((units -= 2) < 0) break
ebd8d4e8 4477
ab78acc6
IC
4478 c = str.charCodeAt(i)
4479 hi = c >> 8
4480 lo = c % 256
4481 byteArray.push(lo)
4482 byteArray.push(hi)
4483 }
ebd8d4e8 4484
ab78acc6
IC
4485 return byteArray
4486}
ebd8d4e8 4487
ab78acc6
IC
4488function base64ToBytes (str) {
4489 return base64.toByteArray(base64clean(str))
4490}
ebd8d4e8 4491
ab78acc6
IC
4492function blitBuffer (src, dst, offset, length) {
4493 for (var i = 0; i < length; i++) {
4494 if ((i + offset >= dst.length) || (i >= src.length)) break
4495 dst[i + offset] = src[i]
4496 }
4497 return i
4498}
4499
4500},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){
4501var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
4502
4503;(function (exports) {
4504 'use strict';
4505
4506 var Arr = (typeof Uint8Array !== 'undefined')
4507 ? Uint8Array
4508 : Array
ebd8d4e8 4509
ab78acc6
IC
4510 var PLUS = '+'.charCodeAt(0)
4511 var SLASH = '/'.charCodeAt(0)
4512 var NUMBER = '0'.charCodeAt(0)
4513 var LOWER = 'a'.charCodeAt(0)
4514 var UPPER = 'A'.charCodeAt(0)
4515 var PLUS_URL_SAFE = '-'.charCodeAt(0)
4516 var SLASH_URL_SAFE = '_'.charCodeAt(0)
ebd8d4e8 4517
ab78acc6
IC
4518 function decode (elt) {
4519 var code = elt.charCodeAt(0)
4520 if (code === PLUS ||
4521 code === PLUS_URL_SAFE)
4522 return 62 // '+'
4523 if (code === SLASH ||
4524 code === SLASH_URL_SAFE)
4525 return 63 // '/'
4526 if (code < NUMBER)
4527 return -1 //no match
4528 if (code < NUMBER + 10)
4529 return code - NUMBER + 26 + 26
4530 if (code < UPPER + 26)
4531 return code - UPPER
4532 if (code < LOWER + 26)
4533 return code - LOWER + 26
4534 }
ebd8d4e8 4535
ab78acc6
IC
4536 function b64ToByteArray (b64) {
4537 var i, j, l, tmp, placeHolders, arr
ebd8d4e8 4538
ab78acc6
IC
4539 if (b64.length % 4 > 0) {
4540 throw new Error('Invalid string. Length must be a multiple of 4')
4541 }
ebd8d4e8 4542
ab78acc6
IC
4543 // the number of equal signs (place holders)
4544 // if there are two placeholders, than the two characters before it
4545 // represent one byte
4546 // if there is only one, then the three characters before it represent 2 bytes
4547 // this is just a cheap hack to not do indexOf twice
4548 var len = b64.length
4549 placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
ebd8d4e8 4550
ab78acc6
IC
4551 // base64 is 4/3 + up to two characters of the original data
4552 arr = new Arr(b64.length * 3 / 4 - placeHolders)
ebd8d4e8 4553
ab78acc6
IC
4554 // if there are placeholders, only get up to the last complete 4 chars
4555 l = placeHolders > 0 ? b64.length - 4 : b64.length
ebd8d4e8 4556
ab78acc6 4557 var L = 0
ebd8d4e8 4558
ab78acc6
IC
4559 function push (v) {
4560 arr[L++] = v
4561 }
ebd8d4e8 4562
ab78acc6
IC
4563 for (i = 0, j = 0; i < l; i += 4, j += 3) {
4564 tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
4565 push((tmp & 0xFF0000) >> 16)
4566 push((tmp & 0xFF00) >> 8)
4567 push(tmp & 0xFF)
4568 }
ebd8d4e8 4569
ab78acc6
IC
4570 if (placeHolders === 2) {
4571 tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
4572 push(tmp & 0xFF)
4573 } else if (placeHolders === 1) {
4574 tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
4575 push((tmp >> 8) & 0xFF)
4576 push(tmp & 0xFF)
4577 }
ebd8d4e8 4578
ab78acc6
IC
4579 return arr
4580 }
ebd8d4e8 4581
ab78acc6
IC
4582 function uint8ToBase64 (uint8) {
4583 var i,
4584 extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
4585 output = "",
4586 temp, length
ebd8d4e8 4587
ab78acc6
IC
4588 function encode (num) {
4589 return lookup.charAt(num)
4590 }
ebd8d4e8 4591
ab78acc6
IC
4592 function tripletToBase64 (num) {
4593 return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
4594 }
ebd8d4e8 4595
ab78acc6
IC
4596 // go through the array every three bytes, we'll deal with trailing stuff later
4597 for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
4598 temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
4599 output += tripletToBase64(temp)
4600 }
ebd8d4e8 4601
ab78acc6
IC
4602 // pad the end with zeros, but make sure to not forget the extra bytes
4603 switch (extraBytes) {
4604 case 1:
4605 temp = uint8[uint8.length - 1]
4606 output += encode(temp >> 2)
4607 output += encode((temp << 4) & 0x3F)
4608 output += '=='
4609 break
4610 case 2:
4611 temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
4612 output += encode(temp >> 10)
4613 output += encode((temp >> 4) & 0x3F)
4614 output += encode((temp << 2) & 0x3F)
4615 output += '='
4616 break
4617 }
ebd8d4e8 4618
ab78acc6
IC
4619 return output
4620 }
ebd8d4e8 4621
ab78acc6
IC
4622 exports.toByteArray = b64ToByteArray
4623 exports.fromByteArray = uint8ToBase64
4624}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
ebd8d4e8 4625
ab78acc6
IC
4626},{}],9:[function(require,module,exports){
4627exports.read = function (buffer, offset, isLE, mLen, nBytes) {
4628 var e, m
4629 var eLen = nBytes * 8 - mLen - 1
4630 var eMax = (1 << eLen) - 1
4631 var eBias = eMax >> 1
4632 var nBits = -7
4633 var i = isLE ? (nBytes - 1) : 0
4634 var d = isLE ? -1 : 1
4635 var s = buffer[offset + i]
4636
4637 i += d
4638
4639 e = s & ((1 << (-nBits)) - 1)
4640 s >>= (-nBits)
4641 nBits += eLen
4642 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
4643
4644 m = e & ((1 << (-nBits)) - 1)
4645 e >>= (-nBits)
4646 nBits += mLen
4647 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
ebd8d4e8 4648
ab78acc6
IC
4649 if (e === 0) {
4650 e = 1 - eBias
4651 } else if (e === eMax) {
4652 return m ? NaN : ((s ? -1 : 1) * Infinity)
4653 } else {
4654 m = m + Math.pow(2, mLen)
4655 e = e - eBias
ebd8d4e8 4656 }
ab78acc6 4657 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
ebd8d4e8
IC
4658}
4659
ab78acc6
IC
4660exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
4661 var e, m, c
4662 var eLen = nBytes * 8 - mLen - 1
4663 var eMax = (1 << eLen) - 1
4664 var eBias = eMax >> 1
4665 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
4666 var i = isLE ? 0 : (nBytes - 1)
4667 var d = isLE ? 1 : -1
4668 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
ebd8d4e8 4669
ab78acc6 4670 value = Math.abs(value)
ebd8d4e8 4671
ab78acc6
IC
4672 if (isNaN(value) || value === Infinity) {
4673 m = isNaN(value) ? 1 : 0
4674 e = eMax
4675 } else {
4676 e = Math.floor(Math.log(value) / Math.LN2)
4677 if (value * (c = Math.pow(2, -e)) < 1) {
4678 e--
4679 c *= 2
ebd8d4e8 4680 }
ab78acc6
IC
4681 if (e + eBias >= 1) {
4682 value += rt / c
4683 } else {
4684 value += rt * Math.pow(2, 1 - eBias)
ebd8d4e8 4685 }
ab78acc6
IC
4686 if (value * c >= 2) {
4687 e++
4688 c /= 2
ebd8d4e8 4689 }
ab78acc6
IC
4690
4691 if (e + eBias >= eMax) {
4692 m = 0
4693 e = eMax
4694 } else if (e + eBias >= 1) {
4695 m = (value * c - 1) * Math.pow(2, mLen)
4696 e = e + eBias
4697 } else {
4698 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
4699 e = 0
ebd8d4e8
IC
4700 }
4701 }
ebd8d4e8 4702
ab78acc6 4703 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
ebd8d4e8 4704
ab78acc6
IC
4705 e = (e << mLen) | m
4706 eLen += mLen
4707 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
ebd8d4e8 4708
ab78acc6
IC
4709 buffer[offset + i - d] |= s * 128
4710}
ebd8d4e8 4711
ab78acc6 4712},{}],10:[function(require,module,exports){
ebd8d4e8 4713
ab78acc6
IC
4714/**
4715 * isArray
4716 */
ebd8d4e8 4717
ab78acc6 4718var isArray = Array.isArray;
ebd8d4e8
IC
4719
4720/**
ab78acc6 4721 * toString
ebd8d4e8 4722 */
ebd8d4e8 4723
ab78acc6 4724var str = Object.prototype.toString;
ebd8d4e8
IC
4725
4726/**
ab78acc6
IC
4727 * Whether or not the given `val`
4728 * is an array.
ebd8d4e8 4729 *
ab78acc6
IC
4730 * example:
4731 *
4732 * isArray([]);
4733 * // > true
4734 * isArray(arguments);
4735 * // > false
4736 * isArray('');
4737 * // > false
4738 *
4739 * @param {mixed} val
4740 * @return {bool}
ebd8d4e8 4741 */
ebd8d4e8 4742
ab78acc6
IC
4743module.exports = isArray || function (val) {
4744 return !! val && '[object Array]' == str.call(val);
4745};
4746
4747},{}],11:[function(require,module,exports){
4748// Copyright Joyent, Inc. and other Node contributors.
4749//
4750// Permission is hereby granted, free of charge, to any person obtaining a
4751// copy of this software and associated documentation files (the
4752// "Software"), to deal in the Software without restriction, including
4753// without limitation the rights to use, copy, modify, merge, publish,
4754// distribute, sublicense, and/or sell copies of the Software, and to permit
4755// persons to whom the Software is furnished to do so, subject to the
4756// following conditions:
4757//
4758// The above copyright notice and this permission notice shall be included
4759// in all copies or substantial portions of the Software.
4760//
4761// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4762// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4763// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
4764// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4765// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4766// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
4767// USE OR OTHER DEALINGS IN THE SOFTWARE.
4768
4769function EventEmitter() {
4770 this._events = this._events || {};
4771 this._maxListeners = this._maxListeners || undefined;
ebd8d4e8 4772}
ab78acc6 4773module.exports = EventEmitter;
ebd8d4e8 4774
ab78acc6
IC
4775// Backwards-compat with node 0.10.x
4776EventEmitter.EventEmitter = EventEmitter;
ebd8d4e8 4777
ab78acc6
IC
4778EventEmitter.prototype._events = undefined;
4779EventEmitter.prototype._maxListeners = undefined;
4780
4781// By default EventEmitters will print a warning if more than 10 listeners are
4782// added to it. This is a useful default which helps finding memory leaks.
4783EventEmitter.defaultMaxListeners = 10;
4784
4785// Obviously not all Emitters should be limited to 10. This function allows
4786// that to be increased. Set to zero for unlimited.
4787EventEmitter.prototype.setMaxListeners = function(n) {
4788 if (!isNumber(n) || n < 0 || isNaN(n))
4789 throw TypeError('n must be a positive number');
4790 this._maxListeners = n;
4791 return this;
4792};
4793
4794EventEmitter.prototype.emit = function(type) {
4795 var er, handler, len, args, i, listeners;
4796
4797 if (!this._events)
4798 this._events = {};
4799
4800 // If there is no 'error' event listener then throw.
4801 if (type === 'error') {
4802 if (!this._events.error ||
4803 (isObject(this._events.error) && !this._events.error.length)) {
4804 er = arguments[1];
4805 if (er instanceof Error) {
4806 throw er; // Unhandled 'error' event
4807 }
4808 throw TypeError('Uncaught, unspecified "error" event.');
4809 }
4810 }
4811
4812 handler = this._events[type];
4813
4814 if (isUndefined(handler))
4815 return false;
4816
4817 if (isFunction(handler)) {
4818 switch (arguments.length) {
4819 // fast cases
4820 case 1:
4821 handler.call(this);
4822 break;
4823 case 2:
4824 handler.call(this, arguments[1]);
4825 break;
4826 case 3:
4827 handler.call(this, arguments[1], arguments[2]);
4828 break;
4829 // slower
4830 default:
4831 len = arguments.length;
4832 args = new Array(len - 1);
4833 for (i = 1; i < len; i++)
4834 args[i - 1] = arguments[i];
4835 handler.apply(this, args);
4836 }
4837 } else if (isObject(handler)) {
4838 len = arguments.length;
4839 args = new Array(len - 1);
4840 for (i = 1; i < len; i++)
4841 args[i - 1] = arguments[i];
ebd8d4e8 4842
ab78acc6
IC
4843 listeners = handler.slice();
4844 len = listeners.length;
4845 for (i = 0; i < len; i++)
4846 listeners[i].apply(this, args);
ebd8d4e8
IC
4847 }
4848
ab78acc6
IC
4849 return true;
4850};
ebd8d4e8 4851
ab78acc6
IC
4852EventEmitter.prototype.addListener = function(type, listener) {
4853 var m;
ebd8d4e8 4854
ab78acc6
IC
4855 if (!isFunction(listener))
4856 throw TypeError('listener must be a function');
ebd8d4e8 4857
ab78acc6
IC
4858 if (!this._events)
4859 this._events = {};
ebd8d4e8 4860
ab78acc6
IC
4861 // To avoid recursion in the case that type === "newListener"! Before
4862 // adding it to the listeners, first emit "newListener".
4863 if (this._events.newListener)
4864 this.emit('newListener', type,
4865 isFunction(listener.listener) ?
4866 listener.listener : listener);
ebd8d4e8 4867
ab78acc6
IC
4868 if (!this._events[type])
4869 // Optimize the case of one listener. Don't need the extra array object.
4870 this._events[type] = listener;
4871 else if (isObject(this._events[type]))
4872 // If we've already got an array, just append.
4873 this._events[type].push(listener);
4874 else
4875 // Adding the second element, need to change to array.
4876 this._events[type] = [this._events[type], listener];
4877
4878 // Check for listener leak
4879 if (isObject(this._events[type]) && !this._events[type].warned) {
4880 var m;
4881 if (!isUndefined(this._maxListeners)) {
4882 m = this._maxListeners;
4883 } else {
4884 m = EventEmitter.defaultMaxListeners;
4885 }
4886
4887 if (m && m > 0 && this._events[type].length > m) {
4888 this._events[type].warned = true;
4889 console.error('(node) warning: possible EventEmitter memory ' +
4890 'leak detected. %d listeners added. ' +
4891 'Use emitter.setMaxListeners() to increase limit.',
4892 this._events[type].length);
4893 if (typeof console.trace === 'function') {
4894 // not supported in IE 10
4895 console.trace();
4896 }
4897 }
4898 }
ebd8d4e8 4899
ab78acc6
IC
4900 return this;
4901};
ebd8d4e8 4902
ab78acc6 4903EventEmitter.prototype.on = EventEmitter.prototype.addListener;
ebd8d4e8 4904
ab78acc6
IC
4905EventEmitter.prototype.once = function(type, listener) {
4906 if (!isFunction(listener))
4907 throw TypeError('listener must be a function');
ebd8d4e8 4908
ab78acc6 4909 var fired = false;
ebd8d4e8 4910
ab78acc6
IC
4911 function g() {
4912 this.removeListener(type, g);
ebd8d4e8 4913
ab78acc6
IC
4914 if (!fired) {
4915 fired = true;
4916 listener.apply(this, arguments);
4917 }
4918 }
ebd8d4e8 4919
ab78acc6
IC
4920 g.listener = listener;
4921 this.on(type, g);
ebd8d4e8 4922
ab78acc6
IC
4923 return this;
4924};
ebd8d4e8 4925
ab78acc6
IC
4926// emits a 'removeListener' event iff the listener was removed
4927EventEmitter.prototype.removeListener = function(type, listener) {
4928 var list, position, length, i;
ebd8d4e8 4929
ab78acc6
IC
4930 if (!isFunction(listener))
4931 throw TypeError('listener must be a function');
ebd8d4e8 4932
ab78acc6
IC
4933 if (!this._events || !this._events[type])
4934 return this;
ebd8d4e8 4935
ab78acc6
IC
4936 list = this._events[type];
4937 length = list.length;
4938 position = -1;
4939
4940 if (list === listener ||
4941 (isFunction(list.listener) && list.listener === listener)) {
4942 delete this._events[type];
4943 if (this._events.removeListener)
4944 this.emit('removeListener', type, listener);
4945
4946 } else if (isObject(list)) {
4947 for (i = length; i-- > 0;) {
4948 if (list[i] === listener ||
4949 (list[i].listener && list[i].listener === listener)) {
4950 position = i;
4951 break;
ebd8d4e8 4952 }
ab78acc6 4953 }
ebd8d4e8 4954
ab78acc6
IC
4955 if (position < 0)
4956 return this;
4957
4958 if (list.length === 1) {
4959 list.length = 0;
4960 delete this._events[type];
4961 } else {
4962 list.splice(position, 1);
ebd8d4e8 4963 }
ab78acc6
IC
4964
4965 if (this._events.removeListener)
4966 this.emit('removeListener', type, listener);
ebd8d4e8 4967 }
ab78acc6
IC
4968
4969 return this;
ebd8d4e8
IC
4970};
4971
ab78acc6
IC
4972EventEmitter.prototype.removeAllListeners = function(type) {
4973 var key, listeners;
ebd8d4e8 4974
ab78acc6
IC
4975 if (!this._events)
4976 return this;
4977
4978 // not listening for removeListener, no need to emit
4979 if (!this._events.removeListener) {
4980 if (arguments.length === 0)
4981 this._events = {};
4982 else if (this._events[type])
4983 delete this._events[type];
4984 return this;
ebd8d4e8 4985 }
ab78acc6
IC
4986
4987 // emit removeListener for all listeners on all events
4988 if (arguments.length === 0) {
4989 for (key in this._events) {
4990 if (key === 'removeListener') continue;
4991 this.removeAllListeners(key);
4992 }
4993 this.removeAllListeners('removeListener');
4994 this._events = {};
4995 return this;
ebd8d4e8 4996 }
ebd8d4e8 4997
ab78acc6
IC
4998 listeners = this._events[type];
4999
5000 if (isFunction(listeners)) {
5001 this.removeListener(type, listeners);
ebd8d4e8 5002 } else {
ab78acc6
IC
5003 // LIFO order
5004 while (listeners.length)
5005 this.removeListener(type, listeners[listeners.length - 1]);
ebd8d4e8 5006 }
ab78acc6 5007 delete this._events[type];
ebd8d4e8 5008
ab78acc6
IC
5009 return this;
5010};
ebd8d4e8 5011
ab78acc6
IC
5012EventEmitter.prototype.listeners = function(type) {
5013 var ret;
5014 if (!this._events || !this._events[type])
5015 ret = [];
5016 else if (isFunction(this._events[type]))
5017 ret = [this._events[type]];
5018 else
5019 ret = this._events[type].slice();
5020 return ret;
5021};
ebd8d4e8 5022
ab78acc6
IC
5023EventEmitter.listenerCount = function(emitter, type) {
5024 var ret;
5025 if (!emitter._events || !emitter._events[type])
5026 ret = 0;
5027 else if (isFunction(emitter._events[type]))
5028 ret = 1;
5029 else
5030 ret = emitter._events[type].length;
5031 return ret;
5032};
ebd8d4e8 5033
ab78acc6
IC
5034function isFunction(arg) {
5035 return typeof arg === 'function';
ebd8d4e8
IC
5036}
5037
ab78acc6
IC
5038function isNumber(arg) {
5039 return typeof arg === 'number';
5040}
ebd8d4e8 5041
ab78acc6
IC
5042function isObject(arg) {
5043 return typeof arg === 'object' && arg !== null;
5044}
ebd8d4e8 5045
ab78acc6
IC
5046function isUndefined(arg) {
5047 return arg === void 0;
ebd8d4e8 5048}
ebd8d4e8 5049
ab78acc6
IC
5050},{}],12:[function(require,module,exports){
5051if (typeof Object.create === 'function') {
5052 // implementation from standard node.js 'util' module
5053 module.exports = function inherits(ctor, superCtor) {
5054 ctor.super_ = superCtor
5055 ctor.prototype = Object.create(superCtor.prototype, {
5056 constructor: {
5057 value: ctor,
5058 enumerable: false,
5059 writable: true,
5060 configurable: true
5061 }
5062 });
5063 };
5064} else {
5065 // old school shim for old browsers
5066 module.exports = function inherits(ctor, superCtor) {
5067 ctor.super_ = superCtor
5068 var TempCtor = function () {}
5069 TempCtor.prototype = superCtor.prototype
5070 ctor.prototype = new TempCtor()
5071 ctor.prototype.constructor = ctor
5072 }
5073}
ebd8d4e8 5074
ab78acc6
IC
5075},{}],13:[function(require,module,exports){
5076module.exports = Array.isArray || function (arr) {
5077 return Object.prototype.toString.call(arr) == '[object Array]';
ebd8d4e8
IC
5078};
5079
ab78acc6
IC
5080},{}],14:[function(require,module,exports){
5081// shim for using process in browser
ebd8d4e8 5082
ab78acc6
IC
5083var process = module.exports = {};
5084var queue = [];
5085var draining = false;
5086var currentQueue;
5087var queueIndex = -1;
5088
5089function cleanUpNextTick() {
5090 draining = false;
5091 if (currentQueue.length) {
5092 queue = currentQueue.concat(queue);
5093 } else {
5094 queueIndex = -1;
5095 }
5096 if (queue.length) {
5097 drainQueue();
5098 }
5099}
ebd8d4e8 5100
ab78acc6
IC
5101function drainQueue() {
5102 if (draining) {
5103 return;
5104 }
5105 var timeout = setTimeout(cleanUpNextTick);
5106 draining = true;
ebd8d4e8 5107
ab78acc6
IC
5108 var len = queue.length;
5109 while(len) {
5110 currentQueue = queue;
5111 queue = [];
5112 while (++queueIndex < len) {
5113 currentQueue[queueIndex].run();
5114 }
5115 queueIndex = -1;
5116 len = queue.length;
5117 }
5118 currentQueue = null;
5119 draining = false;
5120 clearTimeout(timeout);
5121}
5122
5123process.nextTick = function (fun) {
5124 var args = new Array(arguments.length - 1);
5125 if (arguments.length > 1) {
5126 for (var i = 1; i < arguments.length; i++) {
5127 args[i - 1] = arguments[i];
5128 }
5129 }
5130 queue.push(new Item(fun, args));
5131 if (queue.length === 1 && !draining) {
5132 setTimeout(drainQueue, 0);
5133 }
ebd8d4e8
IC
5134};
5135
ab78acc6
IC
5136// v8 likes predictible objects
5137function Item(fun, array) {
5138 this.fun = fun;
5139 this.array = array;
5140}
5141Item.prototype.run = function () {
5142 this.fun.apply(null, this.array);
5143};
5144process.title = 'browser';
5145process.browser = true;
5146process.env = {};
5147process.argv = [];
5148process.version = ''; // empty string to avoid regexp issues
5149process.versions = {};
ebd8d4e8 5150
ab78acc6
IC
5151function noop() {}
5152
5153process.on = noop;
5154process.addListener = noop;
5155process.once = noop;
5156process.off = noop;
5157process.removeListener = noop;
5158process.removeAllListeners = noop;
5159process.emit = noop;
5160
5161process.binding = function (name) {
5162 throw new Error('process.binding is not supported');
5163};
ebd8d4e8 5164
ab78acc6
IC
5165// TODO(shtylman)
5166process.cwd = function () { return '/' };
5167process.chdir = function (dir) {
5168 throw new Error('process.chdir is not supported');
5169};
5170process.umask = function() { return 0; };
ebd8d4e8 5171
ab78acc6
IC
5172},{}],15:[function(require,module,exports){
5173module.exports = require("./lib/_stream_duplex.js")
ebd8d4e8 5174
ab78acc6
IC
5175},{"./lib/_stream_duplex.js":16}],16:[function(require,module,exports){
5176(function (process){
5177// Copyright Joyent, Inc. and other Node contributors.
5178//
5179// Permission is hereby granted, free of charge, to any person obtaining a
5180// copy of this software and associated documentation files (the
5181// "Software"), to deal in the Software without restriction, including
5182// without limitation the rights to use, copy, modify, merge, publish,
5183// distribute, sublicense, and/or sell copies of the Software, and to permit
5184// persons to whom the Software is furnished to do so, subject to the
5185// following conditions:
5186//
5187// The above copyright notice and this permission notice shall be included
5188// in all copies or substantial portions of the Software.
5189//
5190// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5191// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5192// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5193// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5194// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5195// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5196// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5197
ab78acc6
IC
5198// a duplex stream is just a stream that is both readable and writable.
5199// Since JS doesn't have multiple prototypal inheritance, this class
5200// prototypally inherits from Readable, and then parasitically from
5201// Writable.
ebd8d4e8 5202
ab78acc6 5203module.exports = Duplex;
ebd8d4e8 5204
ab78acc6
IC
5205/*<replacement>*/
5206var objectKeys = Object.keys || function (obj) {
5207 var keys = [];
5208 for (var key in obj) keys.push(key);
5209 return keys;
ebd8d4e8 5210}
ab78acc6 5211/*</replacement>*/
ebd8d4e8 5212
ebd8d4e8 5213
ab78acc6
IC
5214/*<replacement>*/
5215var util = require('core-util-is');
5216util.inherits = require('inherits');
5217/*</replacement>*/
ebd8d4e8 5218
ab78acc6
IC
5219var Readable = require('./_stream_readable');
5220var Writable = require('./_stream_writable');
ebd8d4e8 5221
ab78acc6 5222util.inherits(Duplex, Readable);
ebd8d4e8 5223
ab78acc6
IC
5224forEach(objectKeys(Writable.prototype), function(method) {
5225 if (!Duplex.prototype[method])
5226 Duplex.prototype[method] = Writable.prototype[method];
5227});
ebd8d4e8 5228
ab78acc6
IC
5229function Duplex(options) {
5230 if (!(this instanceof Duplex))
5231 return new Duplex(options);
ebd8d4e8 5232
ab78acc6
IC
5233 Readable.call(this, options);
5234 Writable.call(this, options);
ebd8d4e8 5235
ab78acc6
IC
5236 if (options && options.readable === false)
5237 this.readable = false;
ebd8d4e8 5238
ab78acc6
IC
5239 if (options && options.writable === false)
5240 this.writable = false;
ebd8d4e8 5241
ab78acc6
IC
5242 this.allowHalfOpen = true;
5243 if (options && options.allowHalfOpen === false)
5244 this.allowHalfOpen = false;
ebd8d4e8 5245
ab78acc6 5246 this.once('end', onend);
ebd8d4e8
IC
5247}
5248
ab78acc6
IC
5249// the no-half-open enforcer
5250function onend() {
5251 // if we allow half-open state, or if the writable side ended,
5252 // then we're ok.
5253 if (this.allowHalfOpen || this._writableState.ended)
5254 return;
ebd8d4e8 5255
ab78acc6
IC
5256 // no more data can be written.
5257 // But allow more writes to happen in this tick.
5258 process.nextTick(this.end.bind(this));
5259}
ebd8d4e8 5260
ab78acc6
IC
5261function forEach (xs, f) {
5262 for (var i = 0, l = xs.length; i < l; i++) {
5263 f(xs[i], i);
ebd8d4e8 5264 }
ab78acc6 5265}
ebd8d4e8 5266
ab78acc6
IC
5267}).call(this,require('_process'))
5268},{"./_stream_readable":18,"./_stream_writable":20,"_process":14,"core-util-is":21,"inherits":12}],17:[function(require,module,exports){
5269// Copyright Joyent, Inc. and other Node contributors.
5270//
5271// Permission is hereby granted, free of charge, to any person obtaining a
5272// copy of this software and associated documentation files (the
5273// "Software"), to deal in the Software without restriction, including
5274// without limitation the rights to use, copy, modify, merge, publish,
5275// distribute, sublicense, and/or sell copies of the Software, and to permit
5276// persons to whom the Software is furnished to do so, subject to the
5277// following conditions:
5278//
5279// The above copyright notice and this permission notice shall be included
5280// in all copies or substantial portions of the Software.
5281//
5282// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5283// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5284// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5285// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5286// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5287// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5288// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5289
ab78acc6
IC
5290// a passthrough stream.
5291// basically just the most minimal sort of Transform stream.
5292// Every written chunk gets output as-is.
ebd8d4e8 5293
ab78acc6 5294module.exports = PassThrough;
ebd8d4e8 5295
ab78acc6 5296var Transform = require('./_stream_transform');
ebd8d4e8 5297
ab78acc6
IC
5298/*<replacement>*/
5299var util = require('core-util-is');
5300util.inherits = require('inherits');
5301/*</replacement>*/
ebd8d4e8 5302
ab78acc6 5303util.inherits(PassThrough, Transform);
ebd8d4e8 5304
ab78acc6
IC
5305function PassThrough(options) {
5306 if (!(this instanceof PassThrough))
5307 return new PassThrough(options);
ebd8d4e8 5308
ab78acc6
IC
5309 Transform.call(this, options);
5310}
ebd8d4e8 5311
ab78acc6
IC
5312PassThrough.prototype._transform = function(chunk, encoding, cb) {
5313 cb(null, chunk);
ebd8d4e8
IC
5314};
5315
ab78acc6
IC
5316},{"./_stream_transform":19,"core-util-is":21,"inherits":12}],18:[function(require,module,exports){
5317(function (process){
ebd8d4e8
IC
5318// Copyright Joyent, Inc. and other Node contributors.
5319//
5320// Permission is hereby granted, free of charge, to any person obtaining a
5321// copy of this software and associated documentation files (the
5322// "Software"), to deal in the Software without restriction, including
5323// without limitation the rights to use, copy, modify, merge, publish,
5324// distribute, sublicense, and/or sell copies of the Software, and to permit
5325// persons to whom the Software is furnished to do so, subject to the
5326// following conditions:
5327//
5328// The above copyright notice and this permission notice shall be included
5329// in all copies or substantial portions of the Software.
5330//
5331// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5332// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5333// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5334// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5335// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5336// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5337// USE OR OTHER DEALINGS IN THE SOFTWARE.
5338
ab78acc6 5339module.exports = Readable;
ebd8d4e8 5340
ab78acc6
IC
5341/*<replacement>*/
5342var isArray = require('isarray');
5343/*</replacement>*/
5344
5345
5346/*<replacement>*/
5347var Buffer = require('buffer').Buffer;
5348/*</replacement>*/
5349
5350Readable.ReadableState = ReadableState;
5351
5352var EE = require('events').EventEmitter;
5353
5354/*<replacement>*/
5355if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
5356 return emitter.listeners(type).length;
ebd8d4e8 5357};
ab78acc6
IC
5358/*</replacement>*/
5359
5360var Stream = require('stream');
5361
5362/*<replacement>*/
5363var util = require('core-util-is');
5364util.inherits = require('inherits');
5365/*</replacement>*/
5366
5367var StringDecoder;
5368
5369
5370/*<replacement>*/
5371var debug = require('util');
5372if (debug && debug.debuglog) {
5373 debug = debug.debuglog('stream');
5374} else {
5375 debug = function () {};
5376}
5377/*</replacement>*/
5378
5379
5380util.inherits(Readable, Stream);
5381
5382function ReadableState(options, stream) {
5383 var Duplex = require('./_stream_duplex');
5384
5385 options = options || {};
5386
5387 // the point at which it stops calling _read() to fill the buffer
5388 // Note: 0 is a valid value, means "don't call _read preemptively ever"
5389 var hwm = options.highWaterMark;
5390 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
5391 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
5392
5393 // cast to ints.
5394 this.highWaterMark = ~~this.highWaterMark;
5395
5396 this.buffer = [];
5397 this.length = 0;
5398 this.pipes = null;
5399 this.pipesCount = 0;
5400 this.flowing = null;
5401 this.ended = false;
5402 this.endEmitted = false;
5403 this.reading = false;
ebd8d4e8 5404
ab78acc6
IC
5405 // a flag to be able to tell if the onwrite cb is called immediately,
5406 // or on a later tick. We set this to true at first, because any
5407 // actions that shouldn't happen until "later" should generally also
5408 // not happen before the first write call.
5409 this.sync = true;
ebd8d4e8 5410
ab78acc6
IC
5411 // whenever we return null, then we set a flag to say
5412 // that we're awaiting a 'readable' event emission.
5413 this.needReadable = false;
5414 this.emittedReadable = false;
5415 this.readableListening = false;
ebd8d4e8 5416
ab78acc6
IC
5417
5418 // object stream flag. Used to make read(n) ignore n and to
5419 // make all the buffer merging and length checks go away
5420 this.objectMode = !!options.objectMode;
5421
5422 if (stream instanceof Duplex)
5423 this.objectMode = this.objectMode || !!options.readableObjectMode;
5424
5425 // Crypto is kind of old and crusty. Historically, its default string
5426 // encoding is 'binary' so we have to make this configurable.
5427 // Everything else in the universe uses 'utf8', though.
5428 this.defaultEncoding = options.defaultEncoding || 'utf8';
5429
5430 // when piping, we only care about 'readable' events that happen
5431 // after read()ing all the bytes and not getting any pushback.
5432 this.ranOut = false;
5433
5434 // the number of writers that are awaiting a drain event in .pipe()s
5435 this.awaitDrain = 0;
5436
5437 // if true, a maybeReadMore has been scheduled
5438 this.readingMore = false;
5439
5440 this.decoder = null;
5441 this.encoding = null;
5442 if (options.encoding) {
5443 if (!StringDecoder)
5444 StringDecoder = require('string_decoder/').StringDecoder;
5445 this.decoder = new StringDecoder(options.encoding);
5446 this.encoding = options.encoding;
ebd8d4e8 5447 }
ab78acc6 5448}
ebd8d4e8 5449
ab78acc6
IC
5450function Readable(options) {
5451 var Duplex = require('./_stream_duplex');
5452
5453 if (!(this instanceof Readable))
5454 return new Readable(options);
5455
5456 this._readableState = new ReadableState(options, this);
5457
5458 // legacy
5459 this.readable = true;
5460
5461 Stream.call(this);
5462}
5463
5464// Manually shove something into the read() buffer.
5465// This returns true if the highWaterMark has not been hit yet,
5466// similar to how Writable.write() returns true if you should
5467// write() some more.
5468Readable.prototype.push = function(chunk, encoding) {
5469 var state = this._readableState;
5470
5471 if (util.isString(chunk) && !state.objectMode) {
5472 encoding = encoding || state.defaultEncoding;
5473 if (encoding !== state.encoding) {
5474 chunk = new Buffer(chunk, encoding);
5475 encoding = '';
ebd8d4e8 5476 }
ebd8d4e8
IC
5477 }
5478
ab78acc6 5479 return readableAddChunk(this, state, chunk, encoding, false);
ebd8d4e8
IC
5480};
5481
ab78acc6
IC
5482// Unshift should *always* be something directly out of read()
5483Readable.prototype.unshift = function(chunk) {
5484 var state = this._readableState;
5485 return readableAddChunk(this, state, chunk, '', true);
5486};
ebd8d4e8 5487
ab78acc6
IC
5488function readableAddChunk(stream, state, chunk, encoding, addToFront) {
5489 var er = chunkInvalid(state, chunk);
5490 if (er) {
5491 stream.emit('error', er);
5492 } else if (util.isNullOrUndefined(chunk)) {
5493 state.reading = false;
5494 if (!state.ended)
5495 onEofChunk(stream, state);
5496 } else if (state.objectMode || chunk && chunk.length > 0) {
5497 if (state.ended && !addToFront) {
5498 var e = new Error('stream.push() after EOF');
5499 stream.emit('error', e);
5500 } else if (state.endEmitted && addToFront) {
5501 var e = new Error('stream.unshift() after end event');
5502 stream.emit('error', e);
ebd8d4e8 5503 } else {
ab78acc6
IC
5504 if (state.decoder && !addToFront && !encoding)
5505 chunk = state.decoder.write(chunk);
5506
5507 if (!addToFront)
5508 state.reading = false;
5509
5510 // if we want the data now, just emit it.
5511 if (state.flowing && state.length === 0 && !state.sync) {
5512 stream.emit('data', chunk);
5513 stream.read(0);
5514 } else {
5515 // update the buffer info.
5516 state.length += state.objectMode ? 1 : chunk.length;
5517 if (addToFront)
5518 state.buffer.unshift(chunk);
5519 else
5520 state.buffer.push(chunk);
5521
5522 if (state.needReadable)
5523 emitReadable(stream);
5524 }
5525
5526 maybeReadMore(stream, state);
ebd8d4e8 5527 }
ab78acc6
IC
5528 } else if (!addToFront) {
5529 state.reading = false;
ebd8d4e8 5530 }
ebd8d4e8 5531
ab78acc6
IC
5532 return needMoreData(state);
5533}
ebd8d4e8 5534
ab78acc6
IC
5535
5536
5537// if it's past the high water mark, we can push in some more.
5538// Also, if we have no data yet, we can stand some
5539// more bytes. This is to work around cases where hwm=0,
5540// such as the repl. Also, if the push() triggered a
5541// readable event, and the user called read(largeNumber) such that
5542// needReadable was set, then we ought to push more, so that another
5543// 'readable' event will be triggered.
5544function needMoreData(state) {
5545 return !state.ended &&
5546 (state.needReadable ||
5547 state.length < state.highWaterMark ||
5548 state.length === 0);
5549}
5550
5551// backwards compatibility.
5552Readable.prototype.setEncoding = function(enc) {
5553 if (!StringDecoder)
5554 StringDecoder = require('string_decoder/').StringDecoder;
5555 this._readableState.decoder = new StringDecoder(enc);
5556 this._readableState.encoding = enc;
5557 return this;
5558};
5559
5560// Don't raise the hwm > 128MB
5561var MAX_HWM = 0x800000;
5562function roundUpToNextPowerOf2(n) {
5563 if (n >= MAX_HWM) {
5564 n = MAX_HWM;
5565 } else {
5566 // Get the next highest power of 2
5567 n--;
5568 for (var p = 1; p < 32; p <<= 1) n |= n >> p;
5569 n++;
ebd8d4e8 5570 }
ab78acc6 5571 return n;
ebd8d4e8 5572}
ebd8d4e8 5573
ab78acc6
IC
5574function howMuchToRead(n, state) {
5575 if (state.length === 0 && state.ended)
5576 return 0;
ebd8d4e8 5577
ab78acc6
IC
5578 if (state.objectMode)
5579 return n === 0 ? 0 : 1;
ebd8d4e8 5580
ab78acc6
IC
5581 if (isNaN(n) || util.isNull(n)) {
5582 // only flow one buffer at a time
5583 if (state.flowing && state.buffer.length)
5584 return state.buffer[0].length;
5585 else
5586 return state.length;
5587 }
ebd8d4e8 5588
ab78acc6
IC
5589 if (n <= 0)
5590 return 0;
ebd8d4e8 5591
ab78acc6
IC
5592 // If we're asking for more than the target buffer level,
5593 // then raise the water mark. Bump up to the next highest
5594 // power of 2, to prevent increasing it excessively in tiny
5595 // amounts.
5596 if (n > state.highWaterMark)
5597 state.highWaterMark = roundUpToNextPowerOf2(n);
ebd8d4e8 5598
ab78acc6
IC
5599 // don't have that much. return null, unless we've ended.
5600 if (n > state.length) {
5601 if (!state.ended) {
5602 state.needReadable = true;
5603 return 0;
5604 } else
5605 return state.length;
ebd8d4e8 5606 }
ab78acc6
IC
5607
5608 return n;
ebd8d4e8
IC
5609}
5610
ab78acc6
IC
5611// you can override either this method, or the async _read(n) below.
5612Readable.prototype.read = function(n) {
5613 debug('read', n);
5614 var state = this._readableState;
5615 var nOrig = n;
ebd8d4e8 5616
ab78acc6
IC
5617 if (!util.isNumber(n) || n > 0)
5618 state.emittedReadable = false;
5619
5620 // if we're doing read(0) to trigger a readable event, but we
5621 // already have a bunch of data in the buffer, then just trigger
5622 // the 'readable' event and move on.
5623 if (n === 0 &&
5624 state.needReadable &&
5625 (state.length >= state.highWaterMark || state.ended)) {
5626 debug('read: emitReadable', state.length, state.ended);
5627 if (state.length === 0 && state.ended)
5628 endReadable(this);
5629 else
5630 emitReadable(this);
5631 return null;
5632 }
5633
5634 n = howMuchToRead(n, state);
5635
5636 // if we've ended, and we're now clear, then finish it up.
5637 if (n === 0 && state.ended) {
5638 if (state.length === 0)
5639 endReadable(this);
5640 return null;
5641 }
5642
5643 // All the actual chunk generation logic needs to be
5644 // *below* the call to _read. The reason is that in certain
5645 // synthetic stream cases, such as passthrough streams, _read
5646 // may be a completely synchronous operation which may change
5647 // the state of the read buffer, providing enough data when
5648 // before there was *not* enough.
5649 //
5650 // So, the steps are:
5651 // 1. Figure out what the state of things will be after we do
5652 // a read from the buffer.
5653 //
5654 // 2. If that resulting state will trigger a _read, then call _read.
5655 // Note that this may be asynchronous, or synchronous. Yes, it is
5656 // deeply ugly to write APIs this way, but that still doesn't mean
5657 // that the Readable class should behave improperly, as streams are
5658 // designed to be sync/async agnostic.
5659 // Take note if the _read call is sync or async (ie, if the read call
5660 // has returned yet), so that we know whether or not it's safe to emit
5661 // 'readable' etc.
5662 //
5663 // 3. Actually pull the requested chunks out of the buffer and return.
5664
5665 // if we need a readable event, then we need to do some reading.
5666 var doRead = state.needReadable;
5667 debug('need readable', doRead);
5668
5669 // if we currently have less than the highWaterMark, then also read some
5670 if (state.length === 0 || state.length - n < state.highWaterMark) {
5671 doRead = true;
5672 debug('length less than watermark', doRead);
5673 }
5674
5675 // however, if we've ended, then there's no point, and if we're already
5676 // reading, then it's unnecessary.
5677 if (state.ended || state.reading) {
5678 doRead = false;
5679 debug('reading or ended', doRead);
5680 }
5681
5682 if (doRead) {
5683 debug('do read');
5684 state.reading = true;
5685 state.sync = true;
5686 // if the length is currently zero, then we *need* a readable event.
5687 if (state.length === 0)
5688 state.needReadable = true;
5689 // call internal read method
5690 this._read(state.highWaterMark);
5691 state.sync = false;
5692 }
5693
5694 // If _read pushed data synchronously, then `reading` will be false,
5695 // and we need to re-evaluate how much data we can return to the user.
5696 if (doRead && !state.reading)
5697 n = howMuchToRead(nOrig, state);
5698
5699 var ret;
5700 if (n > 0)
5701 ret = fromList(n, state);
5702 else
5703 ret = null;
ebd8d4e8 5704
ab78acc6
IC
5705 if (util.isNull(ret)) {
5706 state.needReadable = true;
5707 n = 0;
5708 }
ebd8d4e8 5709
ab78acc6 5710 state.length -= n;
ebd8d4e8 5711
ab78acc6
IC
5712 // If we have nothing in the buffer, then we want to know
5713 // as soon as we *do* get something into the buffer.
5714 if (state.length === 0 && !state.ended)
5715 state.needReadable = true;
ebd8d4e8 5716
ab78acc6
IC
5717 // If we tried to read() past the EOF, then emit end on the next tick.
5718 if (nOrig !== n && state.ended && state.length === 0)
5719 endReadable(this);
5720
5721 if (!util.isNull(ret))
5722 this.emit('data', ret);
5723
5724 return ret;
5725};
5726
5727function chunkInvalid(state, chunk) {
5728 var er = null;
5729 if (!util.isBuffer(chunk) &&
5730 !util.isString(chunk) &&
5731 !util.isNullOrUndefined(chunk) &&
5732 !state.objectMode) {
5733 er = new TypeError('Invalid non-string/buffer chunk');
5734 }
5735 return er;
ebd8d4e8
IC
5736}
5737
5738
ab78acc6
IC
5739function onEofChunk(stream, state) {
5740 if (state.decoder && !state.ended) {
5741 var chunk = state.decoder.end();
5742 if (chunk && chunk.length) {
5743 state.buffer.push(chunk);
5744 state.length += state.objectMode ? 1 : chunk.length;
ebd8d4e8 5745 }
ebd8d4e8 5746 }
ab78acc6 5747 state.ended = true;
ebd8d4e8 5748
ab78acc6
IC
5749 // emit 'readable' now to make sure it gets picked up.
5750 emitReadable(stream);
5751}
5752
5753// Don't emit readable right away in sync mode, because this can trigger
5754// another read() call => stack overflow. This way, it might trigger
5755// a nextTick recursion warning, but that's not so bad.
5756function emitReadable(stream) {
5757 var state = stream._readableState;
5758 state.needReadable = false;
5759 if (!state.emittedReadable) {
5760 debug('emitReadable', state.flowing);
5761 state.emittedReadable = true;
5762 if (state.sync)
5763 process.nextTick(function() {
5764 emitReadable_(stream);
5765 });
5766 else
5767 emitReadable_(stream);
ebd8d4e8 5768 }
ab78acc6 5769}
ebd8d4e8 5770
ab78acc6
IC
5771function emitReadable_(stream) {
5772 debug('emit readable');
5773 stream.emit('readable');
5774 flow(stream);
5775}
ebd8d4e8 5776
ab78acc6
IC
5777
5778// at this point, the user has presumably seen the 'readable' event,
5779// and called read() to consume some data. that may have triggered
5780// in turn another _read(n) call, in which case reading = true if
5781// it's in progress.
5782// However, if we're not ended, or reading, and the length < hwm,
5783// then go ahead and try to read some more preemptively.
5784function maybeReadMore(stream, state) {
5785 if (!state.readingMore) {
5786 state.readingMore = true;
5787 process.nextTick(function() {
5788 maybeReadMore_(stream, state);
5789 });
ebd8d4e8 5790 }
ab78acc6 5791}
ebd8d4e8 5792
ab78acc6
IC
5793function maybeReadMore_(stream, state) {
5794 var len = state.length;
5795 while (!state.reading && !state.flowing && !state.ended &&
5796 state.length < state.highWaterMark) {
5797 debug('maybeReadMore read 0');
5798 stream.read(0);
5799 if (len === state.length)
5800 // didn't get any data, stop spinning.
5801 break;
5802 else
5803 len = state.length;
ebd8d4e8 5804 }
ab78acc6
IC
5805 state.readingMore = false;
5806}
ebd8d4e8 5807
ab78acc6
IC
5808// abstract method. to be overridden in specific implementation classes.
5809// call cb(er, data) where data is <= n in length.
5810// for virtual (non-string, non-buffer) streams, "length" is somewhat
5811// arbitrary, and perhaps not very meaningful.
5812Readable.prototype._read = function(n) {
5813 this.emit('error', new Error('not implemented'));
5814};
5815
5816Readable.prototype.pipe = function(dest, pipeOpts) {
5817 var src = this;
5818 var state = this._readableState;
5819
5820 switch (state.pipesCount) {
5821 case 0:
5822 state.pipes = dest;
5823 break;
5824 case 1:
5825 state.pipes = [state.pipes, dest];
5826 break;
5827 default:
5828 state.pipes.push(dest);
5829 break;
ebd8d4e8 5830 }
ab78acc6
IC
5831 state.pipesCount += 1;
5832 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
ebd8d4e8 5833
ab78acc6
IC
5834 var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
5835 dest !== process.stdout &&
5836 dest !== process.stderr;
ebd8d4e8 5837
ab78acc6
IC
5838 var endFn = doEnd ? onend : cleanup;
5839 if (state.endEmitted)
5840 process.nextTick(endFn);
5841 else
5842 src.once('end', endFn);
5843
5844 dest.on('unpipe', onunpipe);
5845 function onunpipe(readable) {
5846 debug('onunpipe');
5847 if (readable === src) {
5848 cleanup();
5849 }
5850 }
5851
5852 function onend() {
5853 debug('onend');
5854 dest.end();
5855 }
5856
5857 // when the dest drains, it reduces the awaitDrain counter
5858 // on the source. This would be more elegant with a .once()
5859 // handler in flow(), but adding and removing repeatedly is
5860 // too slow.
5861 var ondrain = pipeOnDrain(src);
5862 dest.on('drain', ondrain);
5863
5864 function cleanup() {
5865 debug('cleanup');
5866 // cleanup event handlers once the pipe is broken
5867 dest.removeListener('close', onclose);
5868 dest.removeListener('finish', onfinish);
5869 dest.removeListener('drain', ondrain);
5870 dest.removeListener('error', onerror);
5871 dest.removeListener('unpipe', onunpipe);
5872 src.removeListener('end', onend);
5873 src.removeListener('end', cleanup);
5874 src.removeListener('data', ondata);
5875
5876 // if the reader is waiting for a drain event from this
5877 // specific writer, then it would cause it to never start
5878 // flowing again.
5879 // So, if this is awaiting a drain, then we just call it now.
5880 // If we don't know, then assume that we are waiting for one.
5881 if (state.awaitDrain &&
5882 (!dest._writableState || dest._writableState.needDrain))
5883 ondrain();
5884 }
5885
5886 src.on('data', ondata);
5887 function ondata(chunk) {
5888 debug('ondata');
5889 var ret = dest.write(chunk);
5890 if (false === ret) {
5891 debug('false write response, pause',
5892 src._readableState.awaitDrain);
5893 src._readableState.awaitDrain++;
5894 src.pause();
5895 }
5896 }
5897
5898 // if the dest has an error, then stop piping into it.
5899 // however, don't suppress the throwing behavior for this.
5900 function onerror(er) {
5901 debug('onerror', er);
5902 unpipe();
5903 dest.removeListener('error', onerror);
5904 if (EE.listenerCount(dest, 'error') === 0)
5905 dest.emit('error', er);
5906 }
5907 // This is a brutally ugly hack to make sure that our error handler
5908 // is attached before any userland ones. NEVER DO THIS.
5909 if (!dest._events || !dest._events.error)
5910 dest.on('error', onerror);
5911 else if (isArray(dest._events.error))
5912 dest._events.error.unshift(onerror);
5913 else
5914 dest._events.error = [onerror, dest._events.error];
5915
5916
5917
5918 // Both close and finish should trigger unpipe, but only once.
5919 function onclose() {
5920 dest.removeListener('finish', onfinish);
5921 unpipe();
ebd8d4e8 5922 }
ab78acc6
IC
5923 dest.once('close', onclose);
5924 function onfinish() {
5925 debug('onfinish');
5926 dest.removeListener('close', onclose);
5927 unpipe();
5928 }
5929 dest.once('finish', onfinish);
ebd8d4e8 5930
ab78acc6
IC
5931 function unpipe() {
5932 debug('unpipe');
5933 src.unpipe(dest);
ebd8d4e8
IC
5934 }
5935
ab78acc6
IC
5936 // tell the dest that it's being piped to
5937 dest.emit('pipe', src);
5938
5939 // start the flow if it hasn't been started already.
5940 if (!state.flowing) {
5941 debug('pipe resume');
5942 src.resume();
ebd8d4e8
IC
5943 }
5944
ab78acc6
IC
5945 return dest;
5946};
5947
5948function pipeOnDrain(src) {
5949 return function() {
5950 var state = src._readableState;
5951 debug('pipeOnDrain', state.awaitDrain);
5952 if (state.awaitDrain)
5953 state.awaitDrain--;
5954 if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
5955 state.flowing = true;
5956 flow(src);
5957 }
5958 };
5959}
5960
5961
5962Readable.prototype.unpipe = function(dest) {
5963 var state = this._readableState;
5964
5965 // if we're not piping anywhere, then do nothing.
5966 if (state.pipesCount === 0)
5967 return this;
5968
5969 // just one destination. most common case.
5970 if (state.pipesCount === 1) {
5971 // passed in one, but it's not the right one.
5972 if (dest && dest !== state.pipes)
5973 return this;
5974
5975 if (!dest)
5976 dest = state.pipes;
5977
5978 // got a match.
5979 state.pipes = null;
5980 state.pipesCount = 0;
5981 state.flowing = false;
5982 if (dest)
5983 dest.emit('unpipe', this);
5984 return this;
ebd8d4e8
IC
5985 }
5986
ab78acc6
IC
5987 // slow case. multiple pipe destinations.
5988
5989 if (!dest) {
5990 // remove all.
5991 var dests = state.pipes;
5992 var len = state.pipesCount;
5993 state.pipes = null;
5994 state.pipesCount = 0;
5995 state.flowing = false;
5996
5997 for (var i = 0; i < len; i++)
5998 dests[i].emit('unpipe', this);
5999 return this;
ebd8d4e8
IC
6000 }
6001
ab78acc6
IC
6002 // try to find the right one.
6003 var i = indexOf(state.pipes, dest);
6004 if (i === -1)
6005 return this;
6006
6007 state.pipes.splice(i, 1);
6008 state.pipesCount -= 1;
6009 if (state.pipesCount === 1)
6010 state.pipes = state.pipes[0];
6011
6012 dest.emit('unpipe', this);
ebd8d4e8 6013
ab78acc6
IC
6014 return this;
6015};
6016
6017// set up data events if they are asked for
6018// Ensure readable listeners eventually get something
6019Readable.prototype.on = function(ev, fn) {
6020 var res = Stream.prototype.on.call(this, ev, fn);
6021
6022 // If listening to data, and it has not explicitly been paused,
6023 // then call resume to start the flow of data on the next tick.
6024 if (ev === 'data' && false !== this._readableState.flowing) {
6025 this.resume();
6026 }
6027
6028 if (ev === 'readable' && this.readable) {
6029 var state = this._readableState;
6030 if (!state.readableListening) {
6031 state.readableListening = true;
6032 state.emittedReadable = false;
6033 state.needReadable = true;
6034 if (!state.reading) {
6035 var self = this;
6036 process.nextTick(function() {
6037 debug('readable nexttick read 0');
6038 self.read(0);
6039 });
6040 } else if (state.length) {
6041 emitReadable(this, state);
6042 }
ebd8d4e8
IC
6043 }
6044 }
6045
ab78acc6
IC
6046 return res;
6047};
6048Readable.prototype.addListener = Readable.prototype.on;
6049
6050// pause() and resume() are remnants of the legacy readable stream API
6051// If the user uses them, then switch into old mode.
6052Readable.prototype.resume = function() {
6053 var state = this._readableState;
6054 if (!state.flowing) {
6055 debug('resume');
6056 state.flowing = true;
6057 if (!state.reading) {
6058 debug('resume read 0');
6059 this.read(0);
6060 }
6061 resume(this, state);
6062 }
6063 return this;
6064};
ebd8d4e8 6065
ab78acc6
IC
6066function resume(stream, state) {
6067 if (!state.resumeScheduled) {
6068 state.resumeScheduled = true;
6069 process.nextTick(function() {
6070 resume_(stream, state);
ebd8d4e8
IC
6071 });
6072 }
ebd8d4e8
IC
6073}
6074
ab78acc6
IC
6075function resume_(stream, state) {
6076 state.resumeScheduled = false;
6077 stream.emit('resume');
6078 flow(stream);
6079 if (state.flowing && !state.reading)
6080 stream.read(0);
ebd8d4e8
IC
6081}
6082
ab78acc6
IC
6083Readable.prototype.pause = function() {
6084 debug('call pause flowing=%j', this._readableState.flowing);
6085 if (false !== this._readableState.flowing) {
6086 debug('pause');
6087 this._readableState.flowing = false;
6088 this.emit('pause');
6089 }
6090 return this;
6091};
ebd8d4e8 6092
ab78acc6
IC
6093function flow(stream) {
6094 var state = stream._readableState;
6095 debug('flow', state.flowing);
6096 if (state.flowing) {
6097 do {
6098 var chunk = stream.read();
6099 } while (null !== chunk && state.flowing);
6100 }
ebd8d4e8
IC
6101}
6102
ab78acc6
IC
6103// wrap an old-style stream as the async data source.
6104// This is *not* part of the readable stream interface.
6105// It is an ugly unfortunate mess of history.
6106Readable.prototype.wrap = function(stream) {
6107 var state = this._readableState;
6108 var paused = false;
ebd8d4e8 6109
ab78acc6
IC
6110 var self = this;
6111 stream.on('end', function() {
6112 debug('wrapped end');
6113 if (state.decoder && !state.ended) {
6114 var chunk = state.decoder.end();
6115 if (chunk && chunk.length)
6116 self.push(chunk);
ebd8d4e8 6117 }
ab78acc6
IC
6118
6119 self.push(null);
ebd8d4e8 6120 });
ebd8d4e8 6121
ab78acc6
IC
6122 stream.on('data', function(chunk) {
6123 debug('wrapped data');
6124 if (state.decoder)
6125 chunk = state.decoder.write(chunk);
6126 if (!chunk || !state.objectMode && !chunk.length)
6127 return;
ebd8d4e8 6128
ab78acc6
IC
6129 var ret = self.push(chunk);
6130 if (!ret) {
6131 paused = true;
6132 stream.pause();
ebd8d4e8 6133 }
ab78acc6
IC
6134 });
6135
6136 // proxy all the other methods.
6137 // important when wrapping filters and duplexes.
6138 for (var i in stream) {
6139 if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
6140 this[i] = function(method) { return function() {
6141 return stream[method].apply(stream, arguments);
6142 }}(i);
ebd8d4e8
IC
6143 }
6144 }
ab78acc6
IC
6145
6146 // proxy certain important events.
6147 var events = ['error', 'close', 'destroy', 'pause', 'resume'];
6148 forEach(events, function(ev) {
6149 stream.on(ev, self.emit.bind(self, ev));
6150 });
6151
6152 // when we try to consume some more bytes, simply unpause the
6153 // underlying stream.
6154 self._read = function(n) {
6155 debug('wrapped _read', n);
6156 if (paused) {
6157 paused = false;
6158 stream.resume();
ebd8d4e8 6159 }
ab78acc6
IC
6160 };
6161
6162 return self;
6163};
6164
6165
6166
6167// exposed for testing purposes only.
6168Readable._fromList = fromList;
6169
6170// Pluck off n bytes from an array of buffers.
6171// Length is the combined lengths of all the buffers in the list.
6172function fromList(n, state) {
6173 var list = state.buffer;
6174 var length = state.length;
6175 var stringMode = !!state.decoder;
6176 var objectMode = !!state.objectMode;
6177 var ret;
6178
6179 // nothing in the list, definitely empty.
6180 if (list.length === 0)
6181 return null;
6182
6183 if (length === 0)
6184 ret = null;
6185 else if (objectMode)
6186 ret = list.shift();
6187 else if (!n || n >= length) {
6188 // read it all, truncate the array.
6189 if (stringMode)
6190 ret = list.join('');
6191 else
6192 ret = Buffer.concat(list, length);
6193 list.length = 0;
6194 } else {
6195 // read just some of it.
6196 if (n < list[0].length) {
6197 // just take a part of the first list item.
6198 // slice is the same for buffers and strings.
6199 var buf = list[0];
6200 ret = buf.slice(0, n);
6201 list[0] = buf.slice(n);
6202 } else if (n === list[0].length) {
6203 // first list is a perfect match
6204 ret = list.shift();
ebd8d4e8 6205 } else {
ab78acc6
IC
6206 // complex case.
6207 // we have enough to cover it, but it spans past the first buffer.
6208 if (stringMode)
6209 ret = '';
6210 else
6211 ret = new Buffer(n);
ebd8d4e8 6212
ab78acc6
IC
6213 var c = 0;
6214 for (var i = 0, l = list.length; i < l && c < n; i++) {
6215 var buf = list[0];
6216 var cpy = Math.min(n - c, buf.length);
ebd8d4e8 6217
ab78acc6
IC
6218 if (stringMode)
6219 ret += buf.slice(0, cpy);
6220 else
6221 buf.copy(ret, c, 0, cpy);
ebd8d4e8 6222
ab78acc6
IC
6223 if (cpy < buf.length)
6224 list[0] = buf.slice(cpy);
6225 else
6226 list.shift();
ebd8d4e8 6227
ab78acc6
IC
6228 c += cpy;
6229 }
6230 }
ebd8d4e8
IC
6231 }
6232
ab78acc6 6233 return ret;
ebd8d4e8
IC
6234}
6235
ab78acc6
IC
6236function endReadable(stream) {
6237 var state = stream._readableState;
ebd8d4e8 6238
ab78acc6
IC
6239 // If we get here before consuming all the bytes, then that is a
6240 // bug in node. Should never happen.
6241 if (state.length > 0)
6242 throw new Error('endReadable called on non-empty stream');
ebd8d4e8 6243
ab78acc6
IC
6244 if (!state.endEmitted) {
6245 state.ended = true;
6246 process.nextTick(function() {
6247 // Check that we didn't get one last unshift.
6248 if (!state.endEmitted && state.length === 0) {
6249 state.endEmitted = true;
6250 stream.readable = false;
6251 stream.emit('end');
6252 }
6253 });
6254 }
ebd8d4e8 6255}
ebd8d4e8 6256
ab78acc6
IC
6257function forEach (xs, f) {
6258 for (var i = 0, l = xs.length; i < l; i++) {
6259 f(xs[i], i);
6260 }
ebd8d4e8 6261}
ebd8d4e8 6262
ab78acc6
IC
6263function indexOf (xs, x) {
6264 for (var i = 0, l = xs.length; i < l; i++) {
6265 if (xs[i] === x) return i;
6266 }
6267 return -1;
ebd8d4e8 6268}
ebd8d4e8 6269
ab78acc6
IC
6270}).call(this,require('_process'))
6271},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"events":11,"inherits":12,"isarray":13,"stream":26,"string_decoder/":27,"util":6}],19:[function(require,module,exports){
6272// Copyright Joyent, Inc. and other Node contributors.
6273//
6274// Permission is hereby granted, free of charge, to any person obtaining a
6275// copy of this software and associated documentation files (the
6276// "Software"), to deal in the Software without restriction, including
6277// without limitation the rights to use, copy, modify, merge, publish,
6278// distribute, sublicense, and/or sell copies of the Software, and to permit
6279// persons to whom the Software is furnished to do so, subject to the
6280// following conditions:
6281//
6282// The above copyright notice and this permission notice shall be included
6283// in all copies or substantial portions of the Software.
6284//
6285// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6286// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6287// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6288// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6289// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6290// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6291// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6292
ebd8d4e8 6293
ab78acc6
IC
6294// a transform stream is a readable/writable stream where you do
6295// something with the data. Sometimes it's called a "filter",
6296// but that's not a great name for it, since that implies a thing where
6297// some bits pass through, and others are simply ignored. (That would
6298// be a valid example of a transform, of course.)
6299//
6300// While the output is causally related to the input, it's not a
6301// necessarily symmetric or synchronous transformation. For example,
6302// a zlib stream might take multiple plain-text writes(), and then
6303// emit a single compressed chunk some time in the future.
6304//
6305// Here's how this works:
6306//
6307// The Transform stream has all the aspects of the readable and writable
6308// stream classes. When you write(chunk), that calls _write(chunk,cb)
6309// internally, and returns false if there's a lot of pending writes
6310// buffered up. When you call read(), that calls _read(n) until
6311// there's enough pending readable data buffered up.
6312//
6313// In a transform stream, the written data is placed in a buffer. When
6314// _read(n) is called, it transforms the queued up data, calling the
6315// buffered _write cb's as it consumes chunks. If consuming a single
6316// written chunk would result in multiple output chunks, then the first
6317// outputted bit calls the readcb, and subsequent chunks just go into
6318// the read buffer, and will cause it to emit 'readable' if necessary.
6319//
6320// This way, back-pressure is actually determined by the reading side,
6321// since _read has to be called to start processing a new chunk. However,
6322// a pathological inflate type of transform can cause excessive buffering
6323// here. For example, imagine a stream where every byte of input is
6324// interpreted as an integer from 0-255, and then results in that many
6325// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
6326// 1kb of data being output. In this case, you could write a very small
6327// amount of input, and end up with a very large amount of output. In
6328// such a pathological inflating mechanism, there'd be no way to tell
6329// the system to stop doing the transform. A single 4MB write could
6330// cause the system to run out of memory.
6331//
6332// However, even in such a pathological case, only a single written chunk
6333// would be consumed, and then the rest would wait (un-transformed) until
6334// the results of the previous transformed chunk were consumed.
ebd8d4e8 6335
ab78acc6 6336module.exports = Transform;
ebd8d4e8 6337
ab78acc6 6338var Duplex = require('./_stream_duplex');
ebd8d4e8 6339
ab78acc6
IC
6340/*<replacement>*/
6341var util = require('core-util-is');
6342util.inherits = require('inherits');
6343/*</replacement>*/
6344
6345util.inherits(Transform, Duplex);
6346
6347
6348function TransformState(options, stream) {
6349 this.afterTransform = function(er, data) {
6350 return afterTransform(stream, er, data);
6351 };
6352
6353 this.needTransform = false;
6354 this.transforming = false;
6355 this.writecb = null;
6356 this.writechunk = null;
ebd8d4e8 6357}
ebd8d4e8 6358
ab78acc6
IC
6359function afterTransform(stream, er, data) {
6360 var ts = stream._transformState;
6361 ts.transforming = false;
6362
6363 var cb = ts.writecb;
6364
6365 if (!cb)
6366 return stream.emit('error', new Error('no writecb in Transform class'));
6367
6368 ts.writechunk = null;
6369 ts.writecb = null;
6370
6371 if (!util.isNullOrUndefined(data))
6372 stream.push(data);
6373
6374 if (cb)
6375 cb(er);
6376
6377 var rs = stream._readableState;
6378 rs.reading = false;
6379 if (rs.needReadable || rs.length < rs.highWaterMark) {
6380 stream._read(rs.highWaterMark);
6381 }
ebd8d4e8 6382}
ebd8d4e8 6383
ab78acc6
IC
6384
6385function Transform(options) {
6386 if (!(this instanceof Transform))
6387 return new Transform(options);
6388
6389 Duplex.call(this, options);
6390
6391 this._transformState = new TransformState(options, this);
6392
6393 // when the writable side finishes, then flush out anything remaining.
6394 var stream = this;
6395
6396 // start out asking for a readable event once data is transformed.
6397 this._readableState.needReadable = true;
6398
6399 // we have implemented the _read method, and done the other things
6400 // that Readable wants before the first _read call, so unset the
6401 // sync guard flag.
6402 this._readableState.sync = false;
6403
6404 this.once('prefinish', function() {
6405 if (util.isFunction(this._flush))
6406 this._flush(function(er) {
6407 done(stream, er);
6408 });
6409 else
6410 done(stream);
6411 });
ebd8d4e8 6412}
ebd8d4e8 6413
ab78acc6
IC
6414Transform.prototype.push = function(chunk, encoding) {
6415 this._transformState.needTransform = false;
6416 return Duplex.prototype.push.call(this, chunk, encoding);
6417};
6418
6419// This is the part where you do stuff!
6420// override this function in implementation classes.
6421// 'chunk' is an input chunk.
6422//
6423// Call `push(newChunk)` to pass along transformed output
6424// to the readable side. You may call 'push' zero or more times.
6425//
6426// Call `cb(err)` when you are done with this chunk. If you pass
6427// an error, then that'll put the hurt on the whole operation. If you
6428// never call cb(), then you'll never get another chunk.
6429Transform.prototype._transform = function(chunk, encoding, cb) {
6430 throw new Error('not implemented');
6431};
6432
6433Transform.prototype._write = function(chunk, encoding, cb) {
6434 var ts = this._transformState;
6435 ts.writecb = cb;
6436 ts.writechunk = chunk;
6437 ts.writeencoding = encoding;
6438 if (!ts.transforming) {
6439 var rs = this._readableState;
6440 if (ts.needTransform ||
6441 rs.needReadable ||
6442 rs.length < rs.highWaterMark)
6443 this._read(rs.highWaterMark);
6444 }
6445};
6446
6447// Doesn't matter what the args are here.
6448// _transform does all the work.
6449// That we got here means that the readable side wants more data.
6450Transform.prototype._read = function(n) {
6451 var ts = this._transformState;
ebd8d4e8 6452
ab78acc6
IC
6453 if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
6454 ts.transforming = true;
6455 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
6456 } else {
6457 // mark that we need a transform, so that any data that comes in
6458 // will get processed, now that we've asked for it.
6459 ts.needTransform = true;
6460 }
6461};
ebd8d4e8 6462
ebd8d4e8 6463
ab78acc6
IC
6464function done(stream, er) {
6465 if (er)
6466 return stream.emit('error', er);
ebd8d4e8 6467
ab78acc6
IC
6468 // if there's nothing in the write buffer, then that means
6469 // that nothing more will ever be provided
6470 var ws = stream._writableState;
6471 var ts = stream._transformState;
ebd8d4e8 6472
ab78acc6
IC
6473 if (ws.length)
6474 throw new Error('calling transform done when ws.length != 0');
6475
6476 if (ts.transforming)
6477 throw new Error('calling transform done when still transforming');
6478
6479 return stream.push(null);
ebd8d4e8
IC
6480}
6481
ab78acc6
IC
6482},{"./_stream_duplex":16,"core-util-is":21,"inherits":12}],20:[function(require,module,exports){
6483(function (process){
6484// Copyright Joyent, Inc. and other Node contributors.
6485//
6486// Permission is hereby granted, free of charge, to any person obtaining a
6487// copy of this software and associated documentation files (the
6488// "Software"), to deal in the Software without restriction, including
6489// without limitation the rights to use, copy, modify, merge, publish,
6490// distribute, sublicense, and/or sell copies of the Software, and to permit
6491// persons to whom the Software is furnished to do so, subject to the
6492// following conditions:
6493//
6494// The above copyright notice and this permission notice shall be included
6495// in all copies or substantial portions of the Software.
6496//
6497// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6498// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6499// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6500// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6501// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6502// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6503// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6504
ab78acc6
IC
6505// A bit simpler than readable streams.
6506// Implement an async ._write(chunk, cb), and it'll handle all
6507// the drain event emission and buffering.
ebd8d4e8 6508
ab78acc6 6509module.exports = Writable;
ebd8d4e8 6510
ab78acc6
IC
6511/*<replacement>*/
6512var Buffer = require('buffer').Buffer;
6513/*</replacement>*/
ebd8d4e8 6514
ab78acc6 6515Writable.WritableState = WritableState;
ebd8d4e8
IC
6516
6517
ab78acc6
IC
6518/*<replacement>*/
6519var util = require('core-util-is');
6520util.inherits = require('inherits');
6521/*</replacement>*/
ebd8d4e8 6522
ab78acc6 6523var Stream = require('stream');
ebd8d4e8 6524
ab78acc6 6525util.inherits(Writable, Stream);
ebd8d4e8 6526
ab78acc6
IC
6527function WriteReq(chunk, encoding, cb) {
6528 this.chunk = chunk;
6529 this.encoding = encoding;
6530 this.callback = cb;
ebd8d4e8
IC
6531}
6532
ab78acc6
IC
6533function WritableState(options, stream) {
6534 var Duplex = require('./_stream_duplex');
ebd8d4e8 6535
ab78acc6 6536 options = options || {};
ebd8d4e8 6537
ab78acc6
IC
6538 // the point at which write() starts returning false
6539 // Note: 0 is a valid value, means that we always return false if
6540 // the entire buffer is not flushed immediately on write()
6541 var hwm = options.highWaterMark;
6542 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
6543 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
ebd8d4e8 6544
ab78acc6
IC
6545 // object stream flag to indicate whether or not this stream
6546 // contains buffers or objects.
6547 this.objectMode = !!options.objectMode;
ebd8d4e8 6548
ab78acc6
IC
6549 if (stream instanceof Duplex)
6550 this.objectMode = this.objectMode || !!options.writableObjectMode;
ebd8d4e8 6551
ab78acc6
IC
6552 // cast to ints.
6553 this.highWaterMark = ~~this.highWaterMark;
ebd8d4e8 6554
ab78acc6
IC
6555 this.needDrain = false;
6556 // at the start of calling end()
6557 this.ending = false;
6558 // when end() has been called, and returned
6559 this.ended = false;
6560 // when 'finish' is emitted
6561 this.finished = false;
ebd8d4e8 6562
ab78acc6
IC
6563 // should we decode strings into buffers before passing to _write?
6564 // this is here so that some node-core streams can optimize string
6565 // handling at a lower level.
6566 var noDecode = options.decodeStrings === false;
6567 this.decodeStrings = !noDecode;
ebd8d4e8 6568
ab78acc6
IC
6569 // Crypto is kind of old and crusty. Historically, its default string
6570 // encoding is 'binary' so we have to make this configurable.
6571 // Everything else in the universe uses 'utf8', though.
6572 this.defaultEncoding = options.defaultEncoding || 'utf8';
ebd8d4e8 6573
ab78acc6
IC
6574 // not an actual buffer we keep track of, but a measurement
6575 // of how much we're waiting to get pushed to some underlying
6576 // socket or file.
6577 this.length = 0;
ebd8d4e8 6578
ab78acc6
IC
6579 // a flag to see when we're in the middle of a write.
6580 this.writing = false;
ebd8d4e8 6581
ab78acc6
IC
6582 // when true all writes will be buffered until .uncork() call
6583 this.corked = 0;
ebd8d4e8 6584
ab78acc6
IC
6585 // a flag to be able to tell if the onwrite cb is called immediately,
6586 // or on a later tick. We set this to true at first, because any
6587 // actions that shouldn't happen until "later" should generally also
6588 // not happen before the first write call.
6589 this.sync = true;
ebd8d4e8 6590
ab78acc6
IC
6591 // a flag to know if we're processing previously buffered items, which
6592 // may call the _write() callback in the same tick, so that we don't
6593 // end up in an overlapped onwrite situation.
6594 this.bufferProcessing = false;
ebd8d4e8 6595
ab78acc6
IC
6596 // the callback that's passed to _write(chunk,cb)
6597 this.onwrite = function(er) {
6598 onwrite(stream, er);
6599 };
ebd8d4e8 6600
ab78acc6
IC
6601 // the callback that the user supplies to write(chunk,encoding,cb)
6602 this.writecb = null;
ebd8d4e8 6603
ab78acc6
IC
6604 // the amount that is being written when _write is called.
6605 this.writelen = 0;
ebd8d4e8 6606
ab78acc6 6607 this.buffer = [];
ebd8d4e8 6608
ab78acc6
IC
6609 // number of pending user-supplied write callbacks
6610 // this must be 0 before 'finish' can be emitted
6611 this.pendingcb = 0;
ebd8d4e8 6612
ab78acc6
IC
6613 // emit prefinish if the only thing we're waiting for is _write cbs
6614 // This is relevant for synchronous Transform streams
6615 this.prefinished = false;
ebd8d4e8 6616
ab78acc6
IC
6617 // True if the error was already emitted and should not be thrown again
6618 this.errorEmitted = false;
ebd8d4e8
IC
6619}
6620
ab78acc6
IC
6621function Writable(options) {
6622 var Duplex = require('./_stream_duplex');
ebd8d4e8 6623
ab78acc6
IC
6624 // Writable ctor is applied to Duplexes, though they're not
6625 // instanceof Writable, they're instanceof Readable.
6626 if (!(this instanceof Writable) && !(this instanceof Duplex))
6627 return new Writable(options);
ebd8d4e8 6628
ab78acc6 6629 this._writableState = new WritableState(options, this);
ebd8d4e8 6630
ab78acc6
IC
6631 // legacy.
6632 this.writable = true;
ebd8d4e8 6633
ab78acc6 6634 Stream.call(this);
ebd8d4e8
IC
6635}
6636
ab78acc6
IC
6637// Otherwise people can pipe Writable streams, which is just wrong.
6638Writable.prototype.pipe = function() {
6639 this.emit('error', new Error('Cannot pipe. Not readable.'));
6640};
ebd8d4e8 6641
ebd8d4e8 6642
ab78acc6
IC
6643function writeAfterEnd(stream, state, cb) {
6644 var er = new Error('write after end');
6645 // TODO: defer error events consistently everywhere, not just the cb
6646 stream.emit('error', er);
6647 process.nextTick(function() {
6648 cb(er);
6649 });
ebd8d4e8
IC
6650}
6651
ab78acc6
IC
6652// If we get something that is not a buffer, string, null, or undefined,
6653// and we're not in objectMode, then that's an error.
6654// Otherwise stream chunks are all considered to be of length=1, and the
6655// watermarks determine how many objects to keep in the buffer, rather than
6656// how many bytes or characters.
6657function validChunk(stream, state, chunk, cb) {
6658 var valid = true;
6659 if (!util.isBuffer(chunk) &&
6660 !util.isString(chunk) &&
6661 !util.isNullOrUndefined(chunk) &&
6662 !state.objectMode) {
6663 var er = new TypeError('Invalid non-string/buffer chunk');
6664 stream.emit('error', er);
6665 process.nextTick(function() {
6666 cb(er);
6667 });
6668 valid = false;
6669 }
6670 return valid;
ebd8d4e8
IC
6671}
6672
ab78acc6
IC
6673Writable.prototype.write = function(chunk, encoding, cb) {
6674 var state = this._writableState;
6675 var ret = false;
ebd8d4e8 6676
ab78acc6
IC
6677 if (util.isFunction(encoding)) {
6678 cb = encoding;
6679 encoding = null;
ebd8d4e8 6680 }
ebd8d4e8 6681
ab78acc6
IC
6682 if (util.isBuffer(chunk))
6683 encoding = 'buffer';
6684 else if (!encoding)
6685 encoding = state.defaultEncoding;
6686
6687 if (!util.isFunction(cb))
6688 cb = function() {};
6689
6690 if (state.ended)
6691 writeAfterEnd(this, state, cb);
6692 else if (validChunk(this, state, chunk, cb)) {
6693 state.pendingcb++;
6694 ret = writeOrBuffer(this, state, chunk, encoding, cb);
ebd8d4e8 6695 }
ebd8d4e8 6696
ab78acc6
IC
6697 return ret;
6698};
6699
6700Writable.prototype.cork = function() {
6701 var state = this._writableState;
6702
6703 state.corked++;
6704};
ebd8d4e8 6705
ab78acc6
IC
6706Writable.prototype.uncork = function() {
6707 var state = this._writableState;
ebd8d4e8 6708
ab78acc6
IC
6709 if (state.corked) {
6710 state.corked--;
ebd8d4e8 6711
ab78acc6
IC
6712 if (!state.writing &&
6713 !state.corked &&
6714 !state.finished &&
6715 !state.bufferProcessing &&
6716 state.buffer.length)
6717 clearBuffer(this, state);
ebd8d4e8 6718 }
ab78acc6 6719};
ebd8d4e8 6720
ab78acc6
IC
6721function decodeChunk(state, chunk, encoding) {
6722 if (!state.objectMode &&
6723 state.decodeStrings !== false &&
6724 util.isString(chunk)) {
6725 chunk = new Buffer(chunk, encoding);
ebd8d4e8 6726 }
ab78acc6 6727 return chunk;
ebd8d4e8
IC
6728}
6729
ab78acc6
IC
6730// if we're already writing something, then just put this
6731// in the queue, and wait our turn. Otherwise, call _write
6732// If we return false, then we need a drain event, so set that flag.
6733function writeOrBuffer(stream, state, chunk, encoding, cb) {
6734 chunk = decodeChunk(state, chunk, encoding);
6735 if (util.isBuffer(chunk))
6736 encoding = 'buffer';
6737 var len = state.objectMode ? 1 : chunk.length;
6738
6739 state.length += len;
6740
6741 var ret = state.length < state.highWaterMark;
6742 // we must ensure that previous needDrain will not be reset to false.
6743 if (!ret)
6744 state.needDrain = true;
6745
6746 if (state.writing || state.corked)
6747 state.buffer.push(new WriteReq(chunk, encoding, cb));
6748 else
6749 doWrite(stream, state, false, len, chunk, encoding, cb);
6750
6751 return ret;
ebd8d4e8
IC
6752}
6753
ab78acc6
IC
6754function doWrite(stream, state, writev, len, chunk, encoding, cb) {
6755 state.writelen = len;
6756 state.writecb = cb;
6757 state.writing = true;
6758 state.sync = true;
6759 if (writev)
6760 stream._writev(chunk, state.onwrite);
6761 else
6762 stream._write(chunk, encoding, state.onwrite);
6763 state.sync = false;
ebd8d4e8
IC
6764}
6765
ab78acc6
IC
6766function onwriteError(stream, state, sync, er, cb) {
6767 if (sync)
6768 process.nextTick(function() {
6769 state.pendingcb--;
6770 cb(er);
6771 });
6772 else {
6773 state.pendingcb--;
6774 cb(er);
6775 }
ebd8d4e8 6776
ab78acc6
IC
6777 stream._writableState.errorEmitted = true;
6778 stream.emit('error', er);
6779}
ebd8d4e8 6780
ab78acc6
IC
6781function onwriteStateUpdate(state) {
6782 state.writing = false;
6783 state.writecb = null;
6784 state.length -= state.writelen;
6785 state.writelen = 0;
6786}
ebd8d4e8 6787
ab78acc6
IC
6788function onwrite(stream, er) {
6789 var state = stream._writableState;
6790 var sync = state.sync;
6791 var cb = state.writecb;
ebd8d4e8 6792
ab78acc6 6793 onwriteStateUpdate(state);
ebd8d4e8 6794
ab78acc6
IC
6795 if (er)
6796 onwriteError(stream, state, sync, er, cb);
6797 else {
6798 // Check if we're actually ready to finish, but don't emit yet
6799 var finished = needFinish(stream, state);
ebd8d4e8 6800
ab78acc6
IC
6801 if (!finished &&
6802 !state.corked &&
6803 !state.bufferProcessing &&
6804 state.buffer.length) {
6805 clearBuffer(stream, state);
6806 }
6807
6808 if (sync) {
6809 process.nextTick(function() {
6810 afterWrite(stream, state, finished, cb);
6811 });
6812 } else {
6813 afterWrite(stream, state, finished, cb);
ebd8d4e8 6814 }
ebd8d4e8
IC
6815 }
6816}
6817
ab78acc6
IC
6818function afterWrite(stream, state, finished, cb) {
6819 if (!finished)
6820 onwriteDrain(stream, state);
6821 state.pendingcb--;
6822 cb();
6823 finishMaybe(stream, state);
6824}
6825
6826// Must force callback to be called on nextTick, so that we don't
6827// emit 'drain' before the write() consumer gets the 'false' return
6828// value, and has a chance to attach a 'drain' listener.
6829function onwriteDrain(stream, state) {
6830 if (state.length === 0 && state.needDrain) {
6831 state.needDrain = false;
6832 stream.emit('drain');
ebd8d4e8
IC
6833 }
6834}
6835
ebd8d4e8 6836
ab78acc6
IC
6837// if there's something in the buffer waiting, then process it
6838function clearBuffer(stream, state) {
6839 state.bufferProcessing = true;
6840
6841 if (stream._writev && state.buffer.length > 1) {
6842 // Fast case, write everything using _writev()
6843 var cbs = [];
6844 for (var c = 0; c < state.buffer.length; c++)
6845 cbs.push(state.buffer[c].callback);
6846
6847 // count the one we are adding, as well.
6848 // TODO(isaacs) clean this up
6849 state.pendingcb++;
6850 doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
6851 for (var i = 0; i < cbs.length; i++) {
6852 state.pendingcb--;
6853 cbs[i](err);
6854 }
6855 });
6856
6857 // Clear buffer
6858 state.buffer = [];
6859 } else {
6860 // Slow case, write chunks one-by-one
6861 for (var c = 0; c < state.buffer.length; c++) {
6862 var entry = state.buffer[c];
6863 var chunk = entry.chunk;
6864 var encoding = entry.encoding;
6865 var cb = entry.callback;
6866 var len = state.objectMode ? 1 : chunk.length;
6867
6868 doWrite(stream, state, false, len, chunk, encoding, cb);
6869
6870 // if we didn't call the onwrite immediately, then
6871 // it means that we need to wait until it does.
6872 // also, that means that the chunk and cb are currently
6873 // being processed, so move the buffer counter past them.
6874 if (state.writing) {
6875 c++;
6876 break;
6877 }
ebd8d4e8 6878 }
ab78acc6
IC
6879
6880 if (c < state.buffer.length)
6881 state.buffer = state.buffer.slice(c);
6882 else
6883 state.buffer.length = 0;
ebd8d4e8
IC
6884 }
6885
ab78acc6 6886 state.bufferProcessing = false;
ebd8d4e8
IC
6887}
6888
ab78acc6
IC
6889Writable.prototype._write = function(chunk, encoding, cb) {
6890 cb(new Error('not implemented'));
ebd8d4e8 6891
ab78acc6 6892};
ebd8d4e8 6893
ab78acc6 6894Writable.prototype._writev = null;
ebd8d4e8 6895
ab78acc6
IC
6896Writable.prototype.end = function(chunk, encoding, cb) {
6897 var state = this._writableState;
ebd8d4e8 6898
ab78acc6
IC
6899 if (util.isFunction(chunk)) {
6900 cb = chunk;
6901 chunk = null;
6902 encoding = null;
6903 } else if (util.isFunction(encoding)) {
6904 cb = encoding;
6905 encoding = null;
6906 }
ebd8d4e8 6907
ab78acc6
IC
6908 if (!util.isNullOrUndefined(chunk))
6909 this.write(chunk, encoding);
6910
6911 // .end() fully uncorks
6912 if (state.corked) {
6913 state.corked = 1;
6914 this.uncork();
ebd8d4e8 6915 }
ab78acc6
IC
6916
6917 // ignore unnecessary end() calls.
6918 if (!state.ending && !state.finished)
6919 endWritable(this, state, cb);
6920};
6921
6922
6923function needFinish(stream, state) {
6924 return (state.ending &&
6925 state.length === 0 &&
6926 !state.finished &&
6927 !state.writing);
ebd8d4e8
IC
6928}
6929
ab78acc6
IC
6930function prefinish(stream, state) {
6931 if (!state.prefinished) {
6932 state.prefinished = true;
6933 stream.emit('prefinish');
ebd8d4e8 6934 }
ebd8d4e8
IC
6935}
6936
ab78acc6
IC
6937function finishMaybe(stream, state) {
6938 var need = needFinish(stream, state);
6939 if (need) {
6940 if (state.pendingcb === 0) {
6941 prefinish(stream, state);
6942 state.finished = true;
6943 stream.emit('finish');
6944 } else
6945 prefinish(stream, state);
6946 }
6947 return need;
6948}
ebd8d4e8 6949
ab78acc6
IC
6950function endWritable(stream, state, cb) {
6951 state.ending = true;
6952 finishMaybe(stream, state);
6953 if (cb) {
6954 if (state.finished)
6955 process.nextTick(cb);
6956 else
6957 stream.once('finish', cb);
ebd8d4e8 6958 }
ab78acc6 6959 state.ended = true;
ebd8d4e8
IC
6960}
6961
ab78acc6
IC
6962}).call(this,require('_process'))
6963},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"inherits":12,"stream":26}],21:[function(require,module,exports){
6964(function (Buffer){
6965// Copyright Joyent, Inc. and other Node contributors.
6966//
6967// Permission is hereby granted, free of charge, to any person obtaining a
6968// copy of this software and associated documentation files (the
6969// "Software"), to deal in the Software without restriction, including
6970// without limitation the rights to use, copy, modify, merge, publish,
6971// distribute, sublicense, and/or sell copies of the Software, and to permit
6972// persons to whom the Software is furnished to do so, subject to the
6973// following conditions:
6974//
6975// The above copyright notice and this permission notice shall be included
6976// in all copies or substantial portions of the Software.
6977//
6978// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6979// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6980// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6981// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6982// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6983// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6984// USE OR OTHER DEALINGS IN THE SOFTWARE.
6985
6986// NOTE: These type checking functions intentionally don't use `instanceof`
6987// because it is fragile and can be easily faked with `Object.create()`.
6988function isArray(ar) {
6989 return Array.isArray(ar);
ebd8d4e8 6990}
ab78acc6 6991exports.isArray = isArray;
ebd8d4e8 6992
ab78acc6
IC
6993function isBoolean(arg) {
6994 return typeof arg === 'boolean';
ebd8d4e8 6995}
ab78acc6 6996exports.isBoolean = isBoolean;
ebd8d4e8 6997
ab78acc6
IC
6998function isNull(arg) {
6999 return arg === null;
7000}
7001exports.isNull = isNull;
ebd8d4e8 7002
ab78acc6
IC
7003function isNullOrUndefined(arg) {
7004 return arg == null;
7005}
7006exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7007
ab78acc6
IC
7008function isNumber(arg) {
7009 return typeof arg === 'number';
ebd8d4e8 7010}
ab78acc6 7011exports.isNumber = isNumber;
ebd8d4e8 7012
ab78acc6
IC
7013function isString(arg) {
7014 return typeof arg === 'string';
7015}
7016exports.isString = isString;
ebd8d4e8 7017
ab78acc6
IC
7018function isSymbol(arg) {
7019 return typeof arg === 'symbol';
7020}
7021exports.isSymbol = isSymbol;
ebd8d4e8 7022
ab78acc6
IC
7023function isUndefined(arg) {
7024 return arg === void 0;
ebd8d4e8 7025}
ab78acc6 7026exports.isUndefined = isUndefined;
ebd8d4e8 7027
ab78acc6
IC
7028function isRegExp(re) {
7029 return isObject(re) && objectToString(re) === '[object RegExp]';
ebd8d4e8 7030}
ab78acc6 7031exports.isRegExp = isRegExp;
ebd8d4e8 7032
ab78acc6
IC
7033function isObject(arg) {
7034 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7035}
ab78acc6 7036exports.isObject = isObject;
ebd8d4e8 7037
ab78acc6
IC
7038function isDate(d) {
7039 return isObject(d) && objectToString(d) === '[object Date]';
7040}
7041exports.isDate = isDate;
ebd8d4e8 7042
ab78acc6
IC
7043function isError(e) {
7044 return isObject(e) &&
7045 (objectToString(e) === '[object Error]' || e instanceof Error);
7046}
7047exports.isError = isError;
ebd8d4e8 7048
ab78acc6
IC
7049function isFunction(arg) {
7050 return typeof arg === 'function';
7051}
7052exports.isFunction = isFunction;
7053
7054function isPrimitive(arg) {
7055 return arg === null ||
7056 typeof arg === 'boolean' ||
7057 typeof arg === 'number' ||
7058 typeof arg === 'string' ||
7059 typeof arg === 'symbol' || // ES6 symbol
7060 typeof arg === 'undefined';
ebd8d4e8 7061}
ab78acc6 7062exports.isPrimitive = isPrimitive;
ebd8d4e8 7063
ab78acc6
IC
7064function isBuffer(arg) {
7065 return Buffer.isBuffer(arg);
ebd8d4e8 7066}
ab78acc6 7067exports.isBuffer = isBuffer;
ebd8d4e8 7068
ab78acc6
IC
7069function objectToString(o) {
7070 return Object.prototype.toString.call(o);
ebd8d4e8 7071}
ab78acc6
IC
7072}).call(this,require("buffer").Buffer)
7073},{"buffer":7}],22:[function(require,module,exports){
7074module.exports = require("./lib/_stream_passthrough.js")
ebd8d4e8 7075
ab78acc6
IC
7076},{"./lib/_stream_passthrough.js":17}],23:[function(require,module,exports){
7077exports = module.exports = require('./lib/_stream_readable.js');
7078exports.Stream = require('stream');
7079exports.Readable = exports;
7080exports.Writable = require('./lib/_stream_writable.js');
7081exports.Duplex = require('./lib/_stream_duplex.js');
7082exports.Transform = require('./lib/_stream_transform.js');
7083exports.PassThrough = require('./lib/_stream_passthrough.js');
ebd8d4e8 7084
ab78acc6
IC
7085},{"./lib/_stream_duplex.js":16,"./lib/_stream_passthrough.js":17,"./lib/_stream_readable.js":18,"./lib/_stream_transform.js":19,"./lib/_stream_writable.js":20,"stream":26}],24:[function(require,module,exports){
7086module.exports = require("./lib/_stream_transform.js")
ebd8d4e8 7087
ab78acc6
IC
7088},{"./lib/_stream_transform.js":19}],25:[function(require,module,exports){
7089module.exports = require("./lib/_stream_writable.js")
7090
7091},{"./lib/_stream_writable.js":20}],26:[function(require,module,exports){
7092// Copyright Joyent, Inc. and other Node contributors.
7093//
7094// Permission is hereby granted, free of charge, to any person obtaining a
7095// copy of this software and associated documentation files (the
7096// "Software"), to deal in the Software without restriction, including
7097// without limitation the rights to use, copy, modify, merge, publish,
7098// distribute, sublicense, and/or sell copies of the Software, and to permit
7099// persons to whom the Software is furnished to do so, subject to the
7100// following conditions:
7101//
7102// The above copyright notice and this permission notice shall be included
7103// in all copies or substantial portions of the Software.
7104//
7105// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7106// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7107// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7108// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7109// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7110// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7111// USE OR OTHER DEALINGS IN THE SOFTWARE.
7112
7113module.exports = Stream;
7114
7115var EE = require('events').EventEmitter;
7116var inherits = require('inherits');
7117
7118inherits(Stream, EE);
7119Stream.Readable = require('readable-stream/readable.js');
7120Stream.Writable = require('readable-stream/writable.js');
7121Stream.Duplex = require('readable-stream/duplex.js');
7122Stream.Transform = require('readable-stream/transform.js');
7123Stream.PassThrough = require('readable-stream/passthrough.js');
7124
7125// Backwards-compat with node 0.4.x
7126Stream.Stream = Stream;
7127
7128
7129
7130// old-style streams. Note that the pipe method (the only relevant
7131// part of this class) is overridden in the Readable class.
7132
7133function Stream() {
7134 EE.call(this);
ebd8d4e8
IC
7135}
7136
ab78acc6
IC
7137Stream.prototype.pipe = function(dest, options) {
7138 var source = this;
ebd8d4e8 7139
ab78acc6
IC
7140 function ondata(chunk) {
7141 if (dest.writable) {
7142 if (false === dest.write(chunk) && source.pause) {
7143 source.pause();
7144 }
7145 }
7146 }
ebd8d4e8 7147
ab78acc6 7148 source.on('data', ondata);
ebd8d4e8 7149
ab78acc6
IC
7150 function ondrain() {
7151 if (source.readable && source.resume) {
7152 source.resume();
7153 }
7154 }
ebd8d4e8 7155
ab78acc6 7156 dest.on('drain', ondrain);
ebd8d4e8 7157
ab78acc6
IC
7158 // If the 'end' option is not supplied, dest.end() will be called when
7159 // source gets the 'end' or 'close' events. Only dest.end() once.
7160 if (!dest._isStdio && (!options || options.end !== false)) {
7161 source.on('end', onend);
7162 source.on('close', onclose);
ebd8d4e8
IC
7163 }
7164
ab78acc6
IC
7165 var didOnEnd = false;
7166 function onend() {
7167 if (didOnEnd) return;
7168 didOnEnd = true;
ebd8d4e8 7169
ab78acc6
IC
7170 dest.end();
7171 }
ebd8d4e8 7172
ebd8d4e8 7173
ab78acc6
IC
7174 function onclose() {
7175 if (didOnEnd) return;
7176 didOnEnd = true;
ebd8d4e8 7177
ab78acc6 7178 if (typeof dest.destroy === 'function') dest.destroy();
ebd8d4e8
IC
7179 }
7180
ab78acc6
IC
7181 // don't leave dangling pipes when there are errors.
7182 function onerror(er) {
7183 cleanup();
7184 if (EE.listenerCount(this, 'error') === 0) {
7185 throw er; // Unhandled stream error in pipe.
7186 }
7187 }
ebd8d4e8 7188
ab78acc6
IC
7189 source.on('error', onerror);
7190 dest.on('error', onerror);
ebd8d4e8 7191
ab78acc6
IC
7192 // remove all the event listeners that were added.
7193 function cleanup() {
7194 source.removeListener('data', ondata);
7195 dest.removeListener('drain', ondrain);
ebd8d4e8 7196
ab78acc6
IC
7197 source.removeListener('end', onend);
7198 source.removeListener('close', onclose);
7199
7200 source.removeListener('error', onerror);
7201 dest.removeListener('error', onerror);
7202
7203 source.removeListener('end', cleanup);
7204 source.removeListener('close', cleanup);
7205
7206 dest.removeListener('close', cleanup);
ebd8d4e8
IC
7207 }
7208
ab78acc6
IC
7209 source.on('end', cleanup);
7210 source.on('close', cleanup);
ebd8d4e8 7211
ab78acc6 7212 dest.on('close', cleanup);
ebd8d4e8 7213
ab78acc6 7214 dest.emit('pipe', source);
ebd8d4e8 7215
ab78acc6
IC
7216 // Allow for unix-like usage: A.pipe(B).pipe(C)
7217 return dest;
7218};
ebd8d4e8 7219
ab78acc6
IC
7220},{"events":11,"inherits":12,"readable-stream/duplex.js":15,"readable-stream/passthrough.js":22,"readable-stream/readable.js":23,"readable-stream/transform.js":24,"readable-stream/writable.js":25}],27:[function(require,module,exports){
7221// Copyright Joyent, Inc. and other Node contributors.
7222//
7223// Permission is hereby granted, free of charge, to any person obtaining a
7224// copy of this software and associated documentation files (the
7225// "Software"), to deal in the Software without restriction, including
7226// without limitation the rights to use, copy, modify, merge, publish,
7227// distribute, sublicense, and/or sell copies of the Software, and to permit
7228// persons to whom the Software is furnished to do so, subject to the
7229// following conditions:
7230//
7231// The above copyright notice and this permission notice shall be included
7232// in all copies or substantial portions of the Software.
7233//
7234// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7235// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7236// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7237// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7238// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7239// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7240// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7241
ab78acc6 7242var Buffer = require('buffer').Buffer;
ebd8d4e8 7243
ab78acc6
IC
7244var isBufferEncoding = Buffer.isEncoding
7245 || function(encoding) {
7246 switch (encoding && encoding.toLowerCase()) {
7247 case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
7248 default: return false;
7249 }
7250 }
ebd8d4e8 7251
ebd8d4e8 7252
ab78acc6
IC
7253function assertEncoding(encoding) {
7254 if (encoding && !isBufferEncoding(encoding)) {
7255 throw new Error('Unknown encoding: ' + encoding);
ebd8d4e8 7256 }
ebd8d4e8
IC
7257}
7258
ab78acc6
IC
7259// StringDecoder provides an interface for efficiently splitting a series of
7260// buffers into a series of JS strings without breaking apart multi-byte
7261// characters. CESU-8 is handled as part of the UTF-8 encoding.
7262//
7263// @TODO Handling all encodings inside a single object makes it very difficult
7264// to reason about this code, so it should be split up in the future.
7265// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
7266// points as used by CESU-8.
7267var StringDecoder = exports.StringDecoder = function(encoding) {
7268 this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
7269 assertEncoding(encoding);
7270 switch (this.encoding) {
7271 case 'utf8':
7272 // CESU-8 represents each of Surrogate Pair by 3-bytes
7273 this.surrogateSize = 3;
7274 break;
7275 case 'ucs2':
7276 case 'utf16le':
7277 // UTF-16 represents each of Surrogate Pair by 2-bytes
7278 this.surrogateSize = 2;
7279 this.detectIncompleteChar = utf16DetectIncompleteChar;
7280 break;
7281 case 'base64':
7282 // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
7283 this.surrogateSize = 3;
7284 this.detectIncompleteChar = base64DetectIncompleteChar;
7285 break;
7286 default:
7287 this.write = passThroughWrite;
7288 return;
7289 }
ebd8d4e8 7290
ab78acc6
IC
7291 // Enough space to store all bytes of a single character. UTF-8 needs 4
7292 // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
7293 this.charBuffer = new Buffer(6);
7294 // Number of bytes received for the current incomplete multi-byte character.
7295 this.charReceived = 0;
7296 // Number of bytes expected for the current incomplete multi-byte character.
7297 this.charLength = 0;
7298};
ebd8d4e8 7299
ebd8d4e8 7300
ab78acc6
IC
7301// write decodes the given buffer and returns it as JS string that is
7302// guaranteed to not contain any partial multi-byte characters. Any partial
7303// character found at the end of the buffer is buffered up, and will be
7304// returned when calling write again with the remaining bytes.
7305//
7306// Note: Converting a Buffer containing an orphan surrogate to a String
7307// currently works, but converting a String to a Buffer (via `new Buffer`, or
7308// Buffer#write) will replace incomplete surrogates with the unicode
7309// replacement character. See https://codereview.chromium.org/121173009/ .
7310StringDecoder.prototype.write = function(buffer) {
7311 var charStr = '';
7312 // if our last write ended with an incomplete multibyte character
7313 while (this.charLength) {
7314 // determine how many remaining bytes this buffer has to offer for this char
7315 var available = (buffer.length >= this.charLength - this.charReceived) ?
7316 this.charLength - this.charReceived :
7317 buffer.length;
7318
7319 // add the new bytes to the char buffer
7320 buffer.copy(this.charBuffer, this.charReceived, 0, available);
7321 this.charReceived += available;
7322
7323 if (this.charReceived < this.charLength) {
7324 // still not enough chars in this buffer? wait for more ...
7325 return '';
7326 }
7327
7328 // remove bytes belonging to the current character from the buffer
7329 buffer = buffer.slice(available, buffer.length);
7330
7331 // get the character that was split
7332 charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
7333
7334 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7335 var charCode = charStr.charCodeAt(charStr.length - 1);
7336 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7337 this.charLength += this.surrogateSize;
7338 charStr = '';
7339 continue;
7340 }
7341 this.charReceived = this.charLength = 0;
ebd8d4e8 7342
ab78acc6
IC
7343 // if there are no more bytes in this buffer, just emit our char
7344 if (buffer.length === 0) {
7345 return charStr;
7346 }
7347 break;
ebd8d4e8 7348 }
ebd8d4e8 7349
ab78acc6
IC
7350 // determine and set charLength / charReceived
7351 this.detectIncompleteChar(buffer);
ebd8d4e8 7352
ab78acc6
IC
7353 var end = buffer.length;
7354 if (this.charLength) {
7355 // buffer the incomplete character bytes we got
7356 buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
7357 end -= this.charReceived;
ebd8d4e8
IC
7358 }
7359
ab78acc6 7360 charStr += buffer.toString(this.encoding, 0, end);
ebd8d4e8 7361
ab78acc6
IC
7362 var end = charStr.length - 1;
7363 var charCode = charStr.charCodeAt(end);
7364 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7365 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7366 var size = this.surrogateSize;
7367 this.charLength += size;
7368 this.charReceived += size;
7369 this.charBuffer.copy(this.charBuffer, size, 0, size);
7370 buffer.copy(this.charBuffer, 0, 0, size);
7371 return charStr.substring(0, end);
ebd8d4e8
IC
7372 }
7373
ab78acc6
IC
7374 // or just emit the charStr
7375 return charStr;
7376};
ebd8d4e8 7377
ab78acc6
IC
7378// detectIncompleteChar determines if there is an incomplete UTF-8 character at
7379// the end of the given buffer. If so, it sets this.charLength to the byte
7380// length that character, and sets this.charReceived to the number of bytes
7381// that are available for this character.
7382StringDecoder.prototype.detectIncompleteChar = function(buffer) {
7383 // determine how many bytes we have to check at the end of this buffer
7384 var i = (buffer.length >= 3) ? 3 : buffer.length;
ebd8d4e8 7385
ab78acc6
IC
7386 // Figure out if one of the last i bytes of our buffer announces an
7387 // incomplete char.
7388 for (; i > 0; i--) {
7389 var c = buffer[buffer.length - i];
ebd8d4e8 7390
ab78acc6 7391 // See http://en.wikipedia.org/wiki/UTF-8#Description
ebd8d4e8 7392
ab78acc6
IC
7393 // 110XXXXX
7394 if (i == 1 && c >> 5 == 0x06) {
7395 this.charLength = 2;
7396 break;
7397 }
ebd8d4e8 7398
ab78acc6
IC
7399 // 1110XXXX
7400 if (i <= 2 && c >> 4 == 0x0E) {
7401 this.charLength = 3;
7402 break;
7403 }
ebd8d4e8 7404
ab78acc6
IC
7405 // 11110XXX
7406 if (i <= 3 && c >> 3 == 0x1E) {
7407 this.charLength = 4;
7408 break;
7409 }
7410 }
7411 this.charReceived = i;
7412};
ebd8d4e8 7413
ab78acc6
IC
7414StringDecoder.prototype.end = function(buffer) {
7415 var res = '';
7416 if (buffer && buffer.length)
7417 res = this.write(buffer);
ebd8d4e8 7418
ab78acc6
IC
7419 if (this.charReceived) {
7420 var cr = this.charReceived;
7421 var buf = this.charBuffer;
7422 var enc = this.encoding;
7423 res += buf.slice(0, cr).toString(enc);
ebd8d4e8
IC
7424 }
7425
ab78acc6
IC
7426 return res;
7427};
ebd8d4e8 7428
ab78acc6
IC
7429function passThroughWrite(buffer) {
7430 return buffer.toString(this.encoding);
ebd8d4e8
IC
7431}
7432
ab78acc6
IC
7433function utf16DetectIncompleteChar(buffer) {
7434 this.charReceived = buffer.length % 2;
7435 this.charLength = this.charReceived ? 2 : 0;
ebd8d4e8
IC
7436}
7437
ab78acc6
IC
7438function base64DetectIncompleteChar(buffer) {
7439 this.charReceived = buffer.length % 3;
7440 this.charLength = this.charReceived ? 3 : 0;
ebd8d4e8
IC
7441}
7442
ab78acc6
IC
7443},{"buffer":7}],28:[function(require,module,exports){
7444module.exports = function isBuffer(arg) {
7445 return arg && typeof arg === 'object'
7446 && typeof arg.copy === 'function'
7447 && typeof arg.fill === 'function'
7448 && typeof arg.readUInt8 === 'function';
7449}
7450},{}],29:[function(require,module,exports){
7451(function (process,global){
7452// Copyright Joyent, Inc. and other Node contributors.
7453//
7454// Permission is hereby granted, free of charge, to any person obtaining a
7455// copy of this software and associated documentation files (the
7456// "Software"), to deal in the Software without restriction, including
7457// without limitation the rights to use, copy, modify, merge, publish,
7458// distribute, sublicense, and/or sell copies of the Software, and to permit
7459// persons to whom the Software is furnished to do so, subject to the
7460// following conditions:
7461//
7462// The above copyright notice and this permission notice shall be included
7463// in all copies or substantial portions of the Software.
7464//
7465// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7466// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7467// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7468// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7469// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7470// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7471// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7472
ab78acc6
IC
7473var formatRegExp = /%[sdj%]/g;
7474exports.format = function(f) {
7475 if (!isString(f)) {
7476 var objects = [];
7477 for (var i = 0; i < arguments.length; i++) {
7478 objects.push(inspect(arguments[i]));
7479 }
7480 return objects.join(' ');
7481 }
ebd8d4e8 7482
ab78acc6
IC
7483 var i = 1;
7484 var args = arguments;
7485 var len = args.length;
7486 var str = String(f).replace(formatRegExp, function(x) {
7487 if (x === '%%') return '%';
7488 if (i >= len) return x;
7489 switch (x) {
7490 case '%s': return String(args[i++]);
7491 case '%d': return Number(args[i++]);
7492 case '%j':
7493 try {
7494 return JSON.stringify(args[i++]);
7495 } catch (_) {
7496 return '[Circular]';
7497 }
7498 default:
7499 return x;
7500 }
7501 });
7502 for (var x = args[i]; i < len; x = args[++i]) {
7503 if (isNull(x) || !isObject(x)) {
7504 str += ' ' + x;
7505 } else {
7506 str += ' ' + inspect(x);
7507 }
7508 }
7509 return str;
7510};
ebd8d4e8 7511
ebd8d4e8 7512
ab78acc6
IC
7513// Mark that a method should not be used.
7514// Returns a modified function which warns once by default.
7515// If --no-deprecation is set, then it is a no-op.
7516exports.deprecate = function(fn, msg) {
7517 // Allow for deprecating things in the process of starting up.
7518 if (isUndefined(global.process)) {
7519 return function() {
7520 return exports.deprecate(fn, msg).apply(this, arguments);
7521 };
7522 }
ebd8d4e8 7523
ab78acc6
IC
7524 if (process.noDeprecation === true) {
7525 return fn;
7526 }
ebd8d4e8 7527
ab78acc6
IC
7528 var warned = false;
7529 function deprecated() {
7530 if (!warned) {
7531 if (process.throwDeprecation) {
7532 throw new Error(msg);
7533 } else if (process.traceDeprecation) {
7534 console.trace(msg);
7535 } else {
7536 console.error(msg);
7537 }
7538 warned = true;
7539 }
7540 return fn.apply(this, arguments);
7541 }
ebd8d4e8 7542
ab78acc6
IC
7543 return deprecated;
7544};
ebd8d4e8 7545
ebd8d4e8 7546
ab78acc6
IC
7547var debugs = {};
7548var debugEnviron;
7549exports.debuglog = function(set) {
7550 if (isUndefined(debugEnviron))
7551 debugEnviron = process.env.NODE_DEBUG || '';
7552 set = set.toUpperCase();
7553 if (!debugs[set]) {
7554 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
7555 var pid = process.pid;
7556 debugs[set] = function() {
7557 var msg = exports.format.apply(exports, arguments);
7558 console.error('%s %d: %s', set, pid, msg);
7559 };
7560 } else {
7561 debugs[set] = function() {};
ebd8d4e8
IC
7562 }
7563 }
ab78acc6
IC
7564 return debugs[set];
7565};
ebd8d4e8 7566
ebd8d4e8
IC
7567
7568/**
ab78acc6
IC
7569 * Echos the value of a value. Trys to print the value out
7570 * in the best way possible given the different types.
7571 *
7572 * @param {Object} obj The object to print out.
7573 * @param {Object} opts Optional options object that alters the output.
ebd8d4e8 7574 */
ab78acc6
IC
7575/* legacy: obj, showHidden, depth, colors*/
7576function inspect(obj, opts) {
7577 // default options
7578 var ctx = {
7579 seen: [],
7580 stylize: stylizeNoColor
7581 };
7582 // legacy...
7583 if (arguments.length >= 3) ctx.depth = arguments[2];
7584 if (arguments.length >= 4) ctx.colors = arguments[3];
7585 if (isBoolean(opts)) {
7586 // legacy...
7587 ctx.showHidden = opts;
7588 } else if (opts) {
7589 // got an "options" object
7590 exports._extend(ctx, opts);
ebd8d4e8 7591 }
ab78acc6
IC
7592 // set default options
7593 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
7594 if (isUndefined(ctx.depth)) ctx.depth = 2;
7595 if (isUndefined(ctx.colors)) ctx.colors = false;
7596 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
7597 if (ctx.colors) ctx.stylize = stylizeWithColor;
7598 return formatValue(ctx, obj, ctx.depth);
ebd8d4e8 7599}
ab78acc6 7600exports.inspect = inspect;
ebd8d4e8 7601
ebd8d4e8 7602
ab78acc6
IC
7603// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
7604inspect.colors = {
7605 'bold' : [1, 22],
7606 'italic' : [3, 23],
7607 'underline' : [4, 24],
7608 'inverse' : [7, 27],
7609 'white' : [37, 39],
7610 'grey' : [90, 39],
7611 'black' : [30, 39],
7612 'blue' : [34, 39],
7613 'cyan' : [36, 39],
7614 'green' : [32, 39],
7615 'magenta' : [35, 39],
7616 'red' : [31, 39],
7617 'yellow' : [33, 39]
7618};
ebd8d4e8 7619
ab78acc6
IC
7620// Don't use 'blue' not visible on cmd.exe
7621inspect.styles = {
7622 'special': 'cyan',
7623 'number': 'yellow',
7624 'boolean': 'yellow',
7625 'undefined': 'grey',
7626 'null': 'bold',
7627 'string': 'green',
7628 'date': 'magenta',
7629 // "name": intentionally not styling
7630 'regexp': 'red'
7631};
ebd8d4e8 7632
ebd8d4e8 7633
ab78acc6
IC
7634function stylizeWithColor(str, styleType) {
7635 var style = inspect.styles[styleType];
ebd8d4e8 7636
ab78acc6
IC
7637 if (style) {
7638 return '\u001b[' + inspect.colors[style][0] + 'm' + str +
7639 '\u001b[' + inspect.colors[style][1] + 'm';
7640 } else {
7641 return str;
ebd8d4e8 7642 }
ebd8d4e8
IC
7643}
7644
ebd8d4e8 7645
ab78acc6
IC
7646function stylizeNoColor(str, styleType) {
7647 return str;
ebd8d4e8
IC
7648}
7649
ebd8d4e8 7650
ab78acc6
IC
7651function arrayToHash(array) {
7652 var hash = {};
ebd8d4e8 7653
ab78acc6
IC
7654 array.forEach(function(val, idx) {
7655 hash[val] = true;
7656 });
ebd8d4e8 7657
ab78acc6 7658 return hash;
ebd8d4e8
IC
7659}
7660
ebd8d4e8 7661
ab78acc6
IC
7662function formatValue(ctx, value, recurseTimes) {
7663 // Provide a hook for user-specified inspect functions.
7664 // Check that value is an object with an inspect function on it
7665 if (ctx.customInspect &&
7666 value &&
7667 isFunction(value.inspect) &&
7668 // Filter out the util module, it's inspect function is special
7669 value.inspect !== exports.inspect &&
7670 // Also filter out any prototype objects using the circular check.
7671 !(value.constructor && value.constructor.prototype === value)) {
7672 var ret = value.inspect(recurseTimes, ctx);
7673 if (!isString(ret)) {
7674 ret = formatValue(ctx, ret, recurseTimes);
7675 }
7676 return ret;
ebd8d4e8 7677 }
ebd8d4e8 7678
ab78acc6
IC
7679 // Primitive types cannot have properties
7680 var primitive = formatPrimitive(ctx, value);
7681 if (primitive) {
7682 return primitive;
ebd8d4e8
IC
7683 }
7684
ab78acc6
IC
7685 // Look up the keys of the object.
7686 var keys = Object.keys(value);
7687 var visibleKeys = arrayToHash(keys);
ebd8d4e8 7688
ab78acc6
IC
7689 if (ctx.showHidden) {
7690 keys = Object.getOwnPropertyNames(value);
7691 }
ebd8d4e8 7692
ab78acc6
IC
7693 // IE doesn't make error fields non-enumerable
7694 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
7695 if (isError(value)
7696 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
7697 return formatError(value);
ebd8d4e8 7698 }
ebd8d4e8 7699
ab78acc6
IC
7700 // Some type of object without properties can be shortcutted.
7701 if (keys.length === 0) {
7702 if (isFunction(value)) {
7703 var name = value.name ? ': ' + value.name : '';
7704 return ctx.stylize('[Function' + name + ']', 'special');
7705 }
7706 if (isRegExp(value)) {
7707 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7708 }
7709 if (isDate(value)) {
7710 return ctx.stylize(Date.prototype.toString.call(value), 'date');
7711 }
7712 if (isError(value)) {
7713 return formatError(value);
7714 }
ebd8d4e8 7715 }
ebd8d4e8 7716
ab78acc6 7717 var base = '', array = false, braces = ['{', '}'];
ebd8d4e8 7718
ab78acc6
IC
7719 // Make Array say that they are Array
7720 if (isArray(value)) {
7721 array = true;
7722 braces = ['[', ']'];
7723 }
ebd8d4e8 7724
ab78acc6
IC
7725 // Make functions say that they are functions
7726 if (isFunction(value)) {
7727 var n = value.name ? ': ' + value.name : '';
7728 base = ' [Function' + n + ']';
7729 }
ebd8d4e8 7730
ab78acc6
IC
7731 // Make RegExps say that they are RegExps
7732 if (isRegExp(value)) {
7733 base = ' ' + RegExp.prototype.toString.call(value);
7734 }
ebd8d4e8 7735
ab78acc6
IC
7736 // Make dates with properties first say the date
7737 if (isDate(value)) {
7738 base = ' ' + Date.prototype.toUTCString.call(value);
7739 }
ebd8d4e8 7740
ab78acc6
IC
7741 // Make error with message first say the error
7742 if (isError(value)) {
7743 base = ' ' + formatError(value);
7744 }
ebd8d4e8 7745
ab78acc6
IC
7746 if (keys.length === 0 && (!array || value.length == 0)) {
7747 return braces[0] + base + braces[1];
7748 }
ebd8d4e8 7749
ab78acc6
IC
7750 if (recurseTimes < 0) {
7751 if (isRegExp(value)) {
7752 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7753 } else {
7754 return ctx.stylize('[Object]', 'special');
7755 }
7756 }
ebd8d4e8 7757
ab78acc6 7758 ctx.seen.push(value);
ebd8d4e8 7759
ab78acc6
IC
7760 var output;
7761 if (array) {
7762 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
7763 } else {
7764 output = keys.map(function(key) {
7765 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
7766 });
7767 }
ebd8d4e8 7768
ab78acc6 7769 ctx.seen.pop();
ebd8d4e8 7770
ab78acc6
IC
7771 return reduceToSingleString(output, base, braces);
7772}
ebd8d4e8 7773
ebd8d4e8 7774
ab78acc6
IC
7775function formatPrimitive(ctx, value) {
7776 if (isUndefined(value))
7777 return ctx.stylize('undefined', 'undefined');
7778 if (isString(value)) {
7779 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
7780 .replace(/'/g, "\\'")
7781 .replace(/\\"/g, '"') + '\'';
7782 return ctx.stylize(simple, 'string');
7783 }
7784 if (isNumber(value))
7785 return ctx.stylize('' + value, 'number');
7786 if (isBoolean(value))
7787 return ctx.stylize('' + value, 'boolean');
7788 // For some reason typeof null is "object", so special case here.
7789 if (isNull(value))
7790 return ctx.stylize('null', 'null');
7791}
ebd8d4e8 7792
ebd8d4e8 7793
ab78acc6
IC
7794function formatError(value) {
7795 return '[' + Error.prototype.toString.call(value) + ']';
7796}
ebd8d4e8 7797
ebd8d4e8 7798
ab78acc6
IC
7799function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
7800 var output = [];
7801 for (var i = 0, l = value.length; i < l; ++i) {
7802 if (hasOwnProperty(value, String(i))) {
7803 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7804 String(i), true));
7805 } else {
7806 output.push('');
7807 }
7808 }
7809 keys.forEach(function(key) {
7810 if (!key.match(/^\d+$/)) {
7811 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7812 key, true));
7813 }
7814 });
7815 return output;
7816}
ebd8d4e8 7817
ebd8d4e8 7818
ab78acc6
IC
7819function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
7820 var name, str, desc;
7821 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
7822 if (desc.get) {
7823 if (desc.set) {
7824 str = ctx.stylize('[Getter/Setter]', 'special');
7825 } else {
7826 str = ctx.stylize('[Getter]', 'special');
7827 }
7828 } else {
7829 if (desc.set) {
7830 str = ctx.stylize('[Setter]', 'special');
7831 }
7832 }
7833 if (!hasOwnProperty(visibleKeys, key)) {
7834 name = '[' + key + ']';
7835 }
7836 if (!str) {
7837 if (ctx.seen.indexOf(desc.value) < 0) {
7838 if (isNull(recurseTimes)) {
7839 str = formatValue(ctx, desc.value, null);
7840 } else {
7841 str = formatValue(ctx, desc.value, recurseTimes - 1);
7842 }
7843 if (str.indexOf('\n') > -1) {
7844 if (array) {
7845 str = str.split('\n').map(function(line) {
7846 return ' ' + line;
7847 }).join('\n').substr(2);
7848 } else {
7849 str = '\n' + str.split('\n').map(function(line) {
7850 return ' ' + line;
7851 }).join('\n');
7852 }
7853 }
7854 } else {
7855 str = ctx.stylize('[Circular]', 'special');
7856 }
7857 }
7858 if (isUndefined(name)) {
7859 if (array && key.match(/^\d+$/)) {
7860 return str;
7861 }
7862 name = JSON.stringify('' + key);
7863 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
7864 name = name.substr(1, name.length - 2);
7865 name = ctx.stylize(name, 'name');
7866 } else {
7867 name = name.replace(/'/g, "\\'")
7868 .replace(/\\"/g, '"')
7869 .replace(/(^"|"$)/g, "'");
7870 name = ctx.stylize(name, 'string');
7871 }
7872 }
ebd8d4e8 7873
ab78acc6
IC
7874 return name + ': ' + str;
7875}
ebd8d4e8 7876
ebd8d4e8 7877
ab78acc6
IC
7878function reduceToSingleString(output, base, braces) {
7879 var numLinesEst = 0;
7880 var length = output.reduce(function(prev, cur) {
7881 numLinesEst++;
7882 if (cur.indexOf('\n') >= 0) numLinesEst++;
7883 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
7884 }, 0);
ebd8d4e8 7885
ab78acc6
IC
7886 if (length > 60) {
7887 return braces[0] +
7888 (base === '' ? '' : base + '\n ') +
7889 ' ' +
7890 output.join(',\n ') +
7891 ' ' +
7892 braces[1];
7893 }
ebd8d4e8 7894
ab78acc6
IC
7895 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
7896}
ebd8d4e8 7897
ebd8d4e8 7898
ab78acc6
IC
7899// NOTE: These type checking functions intentionally don't use `instanceof`
7900// because it is fragile and can be easily faked with `Object.create()`.
7901function isArray(ar) {
7902 return Array.isArray(ar);
7903}
7904exports.isArray = isArray;
ebd8d4e8 7905
ab78acc6
IC
7906function isBoolean(arg) {
7907 return typeof arg === 'boolean';
7908}
7909exports.isBoolean = isBoolean;
ebd8d4e8 7910
ab78acc6
IC
7911function isNull(arg) {
7912 return arg === null;
7913}
7914exports.isNull = isNull;
ebd8d4e8 7915
ab78acc6
IC
7916function isNullOrUndefined(arg) {
7917 return arg == null;
7918}
7919exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7920
ab78acc6
IC
7921function isNumber(arg) {
7922 return typeof arg === 'number';
7923}
7924exports.isNumber = isNumber;
ebd8d4e8 7925
ab78acc6
IC
7926function isString(arg) {
7927 return typeof arg === 'string';
7928}
7929exports.isString = isString;
ebd8d4e8 7930
ab78acc6
IC
7931function isSymbol(arg) {
7932 return typeof arg === 'symbol';
7933}
7934exports.isSymbol = isSymbol;
ebd8d4e8 7935
ab78acc6
IC
7936function isUndefined(arg) {
7937 return arg === void 0;
7938}
7939exports.isUndefined = isUndefined;
ebd8d4e8 7940
ab78acc6
IC
7941function isRegExp(re) {
7942 return isObject(re) && objectToString(re) === '[object RegExp]';
7943}
7944exports.isRegExp = isRegExp;
ebd8d4e8 7945
ab78acc6
IC
7946function isObject(arg) {
7947 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7948}
ab78acc6 7949exports.isObject = isObject;
ebd8d4e8 7950
ab78acc6
IC
7951function isDate(d) {
7952 return isObject(d) && objectToString(d) === '[object Date]';
7953}
7954exports.isDate = isDate;
ebd8d4e8 7955
ab78acc6
IC
7956function isError(e) {
7957 return isObject(e) &&
7958 (objectToString(e) === '[object Error]' || e instanceof Error);
7959}
7960exports.isError = isError;
ebd8d4e8 7961
ab78acc6
IC
7962function isFunction(arg) {
7963 return typeof arg === 'function';
7964}
7965exports.isFunction = isFunction;
ebd8d4e8 7966
ab78acc6
IC
7967function isPrimitive(arg) {
7968 return arg === null ||
7969 typeof arg === 'boolean' ||
7970 typeof arg === 'number' ||
7971 typeof arg === 'string' ||
7972 typeof arg === 'symbol' || // ES6 symbol
7973 typeof arg === 'undefined';
7974}
7975exports.isPrimitive = isPrimitive;
ebd8d4e8 7976
ab78acc6 7977exports.isBuffer = require('./support/isBuffer');
ebd8d4e8 7978
ab78acc6
IC
7979function objectToString(o) {
7980 return Object.prototype.toString.call(o);
7981}
ebd8d4e8 7982
ebd8d4e8 7983
ab78acc6
IC
7984function pad(n) {
7985 return n < 10 ? '0' + n.toString(10) : n.toString(10);
7986}
ebd8d4e8 7987
ebd8d4e8 7988
ab78acc6
IC
7989var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
7990 'Oct', 'Nov', 'Dec'];
ebd8d4e8 7991
ab78acc6
IC
7992// 26 Feb 16:19:34
7993function timestamp() {
7994 var d = new Date();
7995 var time = [pad(d.getHours()),
7996 pad(d.getMinutes()),
7997 pad(d.getSeconds())].join(':');
7998 return [d.getDate(), months[d.getMonth()], time].join(' ');
ebd8d4e8
IC
7999}
8000
ab78acc6
IC
8001
8002// log is just a thin wrapper to console.log that prepends a timestamp
8003exports.log = function() {
8004 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
ebd8d4e8
IC
8005};
8006
ab78acc6
IC
8007
8008/**
8009 * Inherit the prototype methods from one constructor into another.
8010 *
8011 * The Function.prototype.inherits from lang.js rewritten as a standalone
8012 * function (not on Function.prototype). NOTE: If this file is to be loaded
8013 * during bootstrapping this function needs to be rewritten using some native
8014 * functions as prototype setup using normal JavaScript does not work as
8015 * expected during bootstrapping (see mirror.js in r114903).
8016 *
8017 * @param {function} ctor Constructor function which needs to inherit the
8018 * prototype.
8019 * @param {function} superCtor Constructor function to inherit prototype from.
8020 */
8021exports.inherits = require('inherits');
8022
8023exports._extend = function(origin, add) {
8024 // Don't do anything if add isn't an object
8025 if (!add || !isObject(add)) return origin;
8026
8027 var keys = Object.keys(add);
8028 var i = keys.length;
8029 while (i--) {
8030 origin[keys[i]] = add[keys[i]];
8031 }
8032 return origin;
8033};
8034
8035function hasOwnProperty(obj, prop) {
8036 return Object.prototype.hasOwnProperty.call(obj, prop);
8037}
8038
8039}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
8040},{"./support/isBuffer":28,"_process":14,"inherits":12}],30:[function(require,module,exports){
ebd8d4e8
IC
8041// Base58 encoding/decoding
8042// Originally written by Mike Hearn for BitcoinJ
8043// Copyright (c) 2011 Google Inc
8044// Ported to JavaScript by Stefan Thomas
8045// Merged Buffer refactorings from base58-native by Stephen Pair
8046// Copyright (c) 2013 BitPay Inc
8047
ebd8d4e8 8048var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
ebd8d4e8
IC
8049var ALPHABET_MAP = {}
8050for(var i = 0; i < ALPHABET.length; i++) {
ab78acc6 8051 ALPHABET_MAP[ALPHABET.charAt(i)] = i
ebd8d4e8 8052}
ab78acc6 8053var BASE = 58
ebd8d4e8
IC
8054
8055function encode(buffer) {
ab78acc6
IC
8056 if (buffer.length === 0) return ''
8057
8058 var i, j, digits = [0]
8059 for (i = 0; i < buffer.length; i++) {
8060 for (j = 0; j < digits.length; j++) digits[j] <<= 8
8061
8062 digits[0] += buffer[i]
ebd8d4e8 8063
ab78acc6
IC
8064 var carry = 0
8065 for (j = 0; j < digits.length; ++j) {
8066 digits[j] += carry
ebd8d4e8 8067
ab78acc6
IC
8068 carry = (digits[j] / BASE) | 0
8069 digits[j] %= BASE
8070 }
8071
8072 while (carry) {
8073 digits.push(carry % BASE)
8074
8075 carry = (carry / BASE) | 0
8076 }
ebd8d4e8
IC
8077 }
8078
8079 // deal with leading zeros
ab78acc6 8080 for (i = 0; buffer[i] === 0 && i < buffer.length - 1; i++) digits.push(0)
ebd8d4e8 8081
ab78acc6
IC
8082 // convert digits to a string
8083 var stringOutput = ""
8084 for (var i = digits.length - 1; i >= 0; i--) {
8085 stringOutput = stringOutput + ALPHABET[digits[i]]
8086 }
8087 return stringOutput
ebd8d4e8
IC
8088}
8089
8090function decode(string) {
ab78acc6 8091 if (string.length === 0) return []
ebd8d4e8 8092
ab78acc6
IC
8093 var i, j, bytes = [0]
8094 for (i = 0; i < string.length; i++) {
8095 var c = string[i]
8096 if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character')
ebd8d4e8 8097
ab78acc6
IC
8098 for (j = 0; j < bytes.length; j++) bytes[j] *= BASE
8099 bytes[0] += ALPHABET_MAP[c]
ebd8d4e8 8100
ab78acc6
IC
8101 var carry = 0
8102 for (j = 0; j < bytes.length; ++j) {
8103 bytes[j] += carry
ebd8d4e8 8104
ab78acc6
IC
8105 carry = bytes[j] >> 8
8106 bytes[j] &= 0xff
8107 }
ebd8d4e8 8108
ab78acc6
IC
8109 while (carry) {
8110 bytes.push(carry & 0xff)
8111
8112 carry >>= 8
8113 }
ebd8d4e8
IC
8114 }
8115
ab78acc6
IC
8116 // deal with leading zeros
8117 for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)
ebd8d4e8 8118
ab78acc6 8119 return bytes.reverse()
ebd8d4e8
IC
8120}
8121
8122module.exports = {
8123 encode: encode,
8124 decode: decode
8125}
8126
ab78acc6 8127},{}],31:[function(require,module,exports){
ebd8d4e8 8128(function (Buffer){
ab78acc6
IC
8129'use strict'
8130
8131var base58 = require('bs58')
8132var createHash = require('create-hash')
8133
8134// SHA256(SHA256(buffer))
8135function sha256x2 (buffer) {
8136 buffer = createHash('sha256').update(buffer).digest()
8137 return createHash('sha256').update(buffer).digest()
8138}
8139
8140// Encode a buffer as a base58-check encoded string
8141function encode (payload) {
8142 var checksum = sha256x2(payload).slice(0, 4)
8143
8144 return base58.encode(Buffer.concat([
8145 payload,
8146 checksum
8147 ]))
8148}
8149
8150// Decode a base58-check encoded string to a buffer
8151function decode (string) {
8152 var buffer = new Buffer(base58.decode(string))
8153
8154 var payload = buffer.slice(0, -4)
8155 var checksum = buffer.slice(-4)
8156 var newChecksum = sha256x2(payload).slice(0, 4)
8157
8158 for (var i = 0; i < newChecksum.length; ++i) {
8159 if (newChecksum[i] === checksum[i]) continue
8160
8161 throw new Error('Invalid checksum')
ebd8d4e8 8162 }
ab78acc6
IC
8163
8164 return payload
ebd8d4e8
IC
8165}
8166
ab78acc6
IC
8167module.exports = {
8168 encode: encode,
8169 decode: decode
ebd8d4e8
IC
8170}
8171
ab78acc6
IC
8172}).call(this,require("buffer").Buffer)
8173},{"bs58":30,"buffer":7,"create-hash":32}],32:[function(require,module,exports){
ebd8d4e8 8174(function (Buffer){
ab78acc6
IC
8175'use strict';
8176var inherits = require('inherits')
8177var md5 = require('./md5')
8178var rmd160 = require('ripemd160')
8179var sha = require('sha.js')
ebd8d4e8 8180
ab78acc6 8181var Transform = require('stream').Transform
ebd8d4e8 8182
ab78acc6
IC
8183function HashNoConstructor(hash) {
8184 Transform.call(this)
ebd8d4e8 8185
ab78acc6
IC
8186 this._hash = hash
8187 this.buffers = []
8188}
ebd8d4e8 8189
ab78acc6 8190inherits(HashNoConstructor, Transform)
ebd8d4e8 8191
ab78acc6
IC
8192HashNoConstructor.prototype._transform = function (data, _, next) {
8193 this.buffers.push(data)
ebd8d4e8 8194
ab78acc6
IC
8195 next()
8196}
ebd8d4e8 8197
ab78acc6
IC
8198HashNoConstructor.prototype._flush = function (next) {
8199 this.push(this.digest())
8200 next()
8201}
8202
8203HashNoConstructor.prototype.update = function (data, enc) {
8204 if (typeof data === 'string') {
8205 data = new Buffer(data, enc)
ebd8d4e8
IC
8206 }
8207
ab78acc6
IC
8208 this.buffers.push(data)
8209 return this
8210}
8211
8212HashNoConstructor.prototype.digest = function (enc) {
8213 var buf = Buffer.concat(this.buffers)
8214 var r = this._hash(buf)
8215 this.buffers = null
8216
8217 return enc ? r.toString(enc) : r
8218}
8219
8220function Hash(hash) {
8221 Transform.call(this)
8222
8223 this._hash = hash
8224}
8225
8226inherits(Hash, Transform)
8227
8228Hash.prototype._transform = function (data, enc, next) {
8229 if (enc) data = new Buffer(data, enc)
8230
8231 this._hash.update(data)
8232
8233 next()
ebd8d4e8
IC
8234}
8235
ab78acc6
IC
8236Hash.prototype._flush = function (next) {
8237 this.push(this._hash.digest())
8238 this._hash = null
8239
8240 next()
8241}
8242
8243Hash.prototype.update = function (data, enc) {
8244 if (typeof data === 'string') {
8245 data = new Buffer(data, enc)
8246 }
8247
8248 this._hash.update(data)
ebd8d4e8
IC
8249 return this
8250}
8251
ab78acc6
IC
8252Hash.prototype.digest = function (enc) {
8253 var outData = this._hash.digest()
8254
8255 return enc ? outData.toString(enc) : outData
ebd8d4e8
IC
8256}
8257
ab78acc6
IC
8258module.exports = function createHash (alg) {
8259 if ('md5' === alg) return new HashNoConstructor(md5)
8260 if ('rmd160' === alg) return new HashNoConstructor(rmd160)
8261
8262 return new Hash(sha(alg))
8263}
ebd8d4e8 8264
ab78acc6
IC
8265}).call(this,require("buffer").Buffer)
8266},{"./md5":34,"buffer":7,"inherits":35,"ripemd160":36,"sha.js":38,"stream":26}],33:[function(require,module,exports){
ebd8d4e8 8267(function (Buffer){
ab78acc6 8268'use strict';
ebd8d4e8
IC
8269var intSize = 4;
8270var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
8271var chrsz = 8;
8272
8273function toArray(buf, bigEndian) {
8274 if ((buf.length % intSize) !== 0) {
8275 var len = buf.length + (intSize - (buf.length % intSize));
8276 buf = Buffer.concat([buf, zeroBuffer], len);
8277 }
8278
8279 var arr = [];
8280 var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
8281 for (var i = 0; i < buf.length; i += intSize) {
8282 arr.push(fn.call(buf, i));
8283 }
8284 return arr;
8285}
8286
8287function toBuffer(arr, size, bigEndian) {
8288 var buf = new Buffer(size);
8289 var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
8290 for (var i = 0; i < arr.length; i++) {
8291 fn.call(buf, arr[i], i * 4, true);
8292 }
8293 return buf;
8294}
8295
8296function hash(buf, fn, hashSize, bigEndian) {
8297 if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
8298 var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
8299 return toBuffer(arr, hashSize, bigEndian);
8300}
ab78acc6
IC
8301exports.hash = hash;
8302}).call(this,require("buffer").Buffer)
8303},{"buffer":7}],34:[function(require,module,exports){
8304'use strict';
ebd8d4e8
IC
8305/*
8306 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
8307 * Digest Algorithm, as defined in RFC 1321.
8308 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
8309 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8310 * Distributed under the BSD License
8311 * See http://pajhome.org.uk/crypt/md5 for more info.
8312 */
8313
ab78acc6 8314var helpers = require('./helpers');
ebd8d4e8
IC
8315
8316/*
8317 * Calculate the MD5 of an array of little-endian words, and a bit length
8318 */
8319function core_md5(x, len)
8320{
8321 /* append padding */
8322 x[len >> 5] |= 0x80 << ((len) % 32);
8323 x[(((len + 64) >>> 9) << 4) + 14] = len;
8324
8325 var a = 1732584193;
8326 var b = -271733879;
8327 var c = -1732584194;
8328 var d = 271733878;
8329
8330 for(var i = 0; i < x.length; i += 16)
8331 {
8332 var olda = a;
8333 var oldb = b;
8334 var oldc = c;
8335 var oldd = d;
8336
8337 a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
8338 d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
8339 c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
8340 b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
8341 a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
8342 d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
8343 c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
8344 b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
8345 a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
8346 d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
8347 c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
8348 b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
8349 a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
8350 d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
8351 c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
8352 b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
8353
8354 a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
8355 d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
8356 c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
8357 b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
8358 a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
8359 d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
8360 c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
8361 b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
8362 a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
8363 d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
8364 c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
8365 b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
8366 a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
8367 d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
8368 c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
8369 b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
8370
8371 a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
8372 d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
8373 c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
8374 b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
8375 a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
8376 d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
8377 c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
8378 b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
8379 a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
8380 d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
8381 c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
8382 b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
8383 a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
8384 d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
8385 c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
8386 b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
8387
8388 a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
8389 d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
8390 c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
8391 b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
8392 a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
8393 d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
8394 c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
8395 b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
8396 a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
8397 d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
8398 c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
8399 b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
8400 a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
8401 d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
8402 c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
8403 b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
8404
8405 a = safe_add(a, olda);
8406 b = safe_add(b, oldb);
8407 c = safe_add(c, oldc);
8408 d = safe_add(d, oldd);
8409 }
8410 return Array(a, b, c, d);
8411
8412}
8413
8414/*
8415 * These functions implement the four basic operations the algorithm uses.
8416 */
8417function md5_cmn(q, a, b, x, s, t)
8418{
8419 return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
8420}
8421function md5_ff(a, b, c, d, x, s, t)
8422{
8423 return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
8424}
8425function md5_gg(a, b, c, d, x, s, t)
8426{
8427 return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
8428}
8429function md5_hh(a, b, c, d, x, s, t)
8430{
8431 return md5_cmn(b ^ c ^ d, a, b, x, s, t);
8432}
8433function md5_ii(a, b, c, d, x, s, t)
8434{
8435 return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
8436}
8437
8438/*
8439 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
8440 * to work around bugs in some JS interpreters.
8441 */
8442function safe_add(x, y)
8443{
8444 var lsw = (x & 0xFFFF) + (y & 0xFFFF);
8445 var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
8446 return (msw << 16) | (lsw & 0xFFFF);
8447}
8448
8449/*
8450 * Bitwise rotate a 32-bit number to the left.
8451 */
8452function bit_rol(num, cnt)
8453{
8454 return (num << cnt) | (num >>> (32 - cnt));
8455}
8456
8457module.exports = function md5(buf) {
8458 return helpers.hash(buf, core_md5, 16);
8459};
ab78acc6
IC
8460},{"./helpers":33}],35:[function(require,module,exports){
8461arguments[4][12][0].apply(exports,arguments)
8462},{"dup":12}],36:[function(require,module,exports){
ebd8d4e8 8463(function (Buffer){
ebd8d4e8
IC
8464/*
8465CryptoJS v3.1.2
8466code.google.com/p/crypto-js
8467(c) 2009-2013 by Jeff Mott. All rights reserved.
8468code.google.com/p/crypto-js/wiki/License
8469*/
8470/** @preserve
8471(c) 2012 by Cédric Mesnil. All rights reserved.
8472
8473Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8474
8475 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8476 - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8477
8478THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8479*/
8480
ab78acc6 8481// constants table
ebd8d4e8 8482var zl = [
ab78acc6
IC
8483 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8484 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
8485 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
8486 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
8487 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
8488]
8489
ebd8d4e8 8490var zr = [
ab78acc6
IC
8491 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
8492 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
8493 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8494 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
8495 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
8496]
8497
ebd8d4e8 8498var sl = [
ab78acc6
IC
8499 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
8500 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
8501 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
8502 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
8503 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
8504]
8505
ebd8d4e8 8506var sr = [
ab78acc6
IC
8507 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
8508 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
8509 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
8510 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8511 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
8512]
ebd8d4e8 8513
ab78acc6
IC
8514var hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]
8515var hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]
ebd8d4e8 8516
ab78acc6
IC
8517function bytesToWords (bytes) {
8518 var words = []
ebd8d4e8 8519 for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
ab78acc6 8520 words[b >>> 5] |= bytes[i] << (24 - b % 32)
ebd8d4e8 8521 }
ab78acc6
IC
8522 return words
8523}
ebd8d4e8 8524
ab78acc6
IC
8525function wordsToBytes (words) {
8526 var bytes = []
ebd8d4e8 8527 for (var b = 0; b < words.length * 32; b += 8) {
ab78acc6 8528 bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)
ebd8d4e8 8529 }
ab78acc6
IC
8530 return bytes
8531}
ebd8d4e8 8532
ab78acc6
IC
8533function processBlock (H, M, offset) {
8534 // swap endian
ebd8d4e8 8535 for (var i = 0; i < 16; i++) {
ab78acc6
IC
8536 var offset_i = offset + i
8537 var M_offset_i = M[offset_i]
ebd8d4e8
IC
8538
8539 // Swap
8540 M[offset_i] = (
ab78acc6
IC
8541 (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
8542 (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
8543 )
ebd8d4e8
IC
8544 }
8545
8546 // Working variables
ab78acc6
IC
8547 var al, bl, cl, dl, el
8548 var ar, br, cr, dr, er
8549
8550 ar = al = H[0]
8551 br = bl = H[1]
8552 cr = cl = H[2]
8553 dr = dl = H[3]
8554 er = el = H[4]
8555
8556 // computation
8557 var t
8558 for (i = 0; i < 80; i += 1) {
8559 t = (al + M[offset + zl[i]]) | 0
8560 if (i < 16) {
8561 t += f1(bl, cl, dl) + hl[0]
8562 } else if (i < 32) {
8563 t += f2(bl, cl, dl) + hl[1]
8564 } else if (i < 48) {
8565 t += f3(bl, cl, dl) + hl[2]
8566 } else if (i < 64) {
8567 t += f4(bl, cl, dl) + hl[3]
ebd8d4e8 8568 } else {// if (i<80) {
ab78acc6
IC
8569 t += f5(bl, cl, dl) + hl[4]
8570 }
8571 t = t | 0
8572 t = rotl(t, sl[i])
8573 t = (t + el) | 0
8574 al = el
8575 el = dl
8576 dl = rotl(cl, 10)
8577 cl = bl
8578 bl = t
8579
8580 t = (ar + M[offset + zr[i]]) | 0
8581 if (i < 16) {
8582 t += f5(br, cr, dr) + hr[0]
8583 } else if (i < 32) {
8584 t += f4(br, cr, dr) + hr[1]
8585 } else if (i < 48) {
8586 t += f3(br, cr, dr) + hr[2]
8587 } else if (i < 64) {
8588 t += f2(br, cr, dr) + hr[3]
ebd8d4e8 8589 } else {// if (i<80) {
ab78acc6 8590 t += f1(br, cr, dr) + hr[4]
ebd8d4e8 8591 }
ebd8d4e8 8592
ab78acc6
IC
8593 t = t | 0
8594 t = rotl(t, sr[i])
8595 t = (t + er) | 0
8596 ar = er
8597 er = dr
8598 dr = rotl(cr, 10)
8599 cr = br
8600 br = t
8601 }
8602
8603 // intermediate hash value
8604 t = (H[1] + cl + dr) | 0
8605 H[1] = (H[2] + dl + er) | 0
8606 H[2] = (H[3] + el + ar) | 0
8607 H[3] = (H[4] + al + br) | 0
8608 H[4] = (H[0] + bl + cr) | 0
8609 H[0] = t
ebd8d4e8
IC
8610}
8611
ab78acc6
IC
8612function f1 (x, y, z) {
8613 return ((x) ^ (y) ^ (z))
ebd8d4e8
IC
8614}
8615
ab78acc6
IC
8616function f2 (x, y, z) {
8617 return (((x) & (y)) | ((~x) & (z)))
ebd8d4e8
IC
8618}
8619
ab78acc6
IC
8620function f3 (x, y, z) {
8621 return (((x) | (~(y))) ^ (z))
ebd8d4e8
IC
8622}
8623
ab78acc6
IC
8624function f4 (x, y, z) {
8625 return (((x) & (z)) | ((y) & (~(z))))
ebd8d4e8
IC
8626}
8627
ab78acc6
IC
8628function f5 (x, y, z) {
8629 return ((x) ^ ((y) | (~(z))))
ebd8d4e8
IC
8630}
8631
ab78acc6
IC
8632function rotl (x, n) {
8633 return (x << n) | (x >>> (32 - n))
8634}
8635
8636function ripemd160 (message) {
8637 var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]
ebd8d4e8 8638
ab78acc6
IC
8639 if (typeof message === 'string') {
8640 message = new Buffer(message, 'utf8')
8641 }
ebd8d4e8 8642
ab78acc6 8643 var m = bytesToWords(message)
ebd8d4e8 8644
ab78acc6
IC
8645 var nBitsLeft = message.length * 8
8646 var nBitsTotal = message.length * 8
ebd8d4e8
IC
8647
8648 // Add padding
ab78acc6 8649 m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32)
ebd8d4e8 8650 m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
ab78acc6
IC
8651 (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
8652 (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
8653 )
ebd8d4e8 8654
ab78acc6
IC
8655 for (var i = 0; i < m.length; i += 16) {
8656 processBlock(H, m, i)
ebd8d4e8
IC
8657 }
8658
ab78acc6
IC
8659 // swap endian
8660 for (i = 0; i < 5; i++) {
8661 // shortcut
8662 var H_i = H[i]
ebd8d4e8
IC
8663
8664 // Swap
ab78acc6
IC
8665 H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
8666 (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00)
ebd8d4e8
IC
8667 }
8668
ab78acc6
IC
8669 var digestbytes = wordsToBytes(H)
8670 return new Buffer(digestbytes)
ebd8d4e8
IC
8671}
8672
ab78acc6
IC
8673module.exports = ripemd160
8674
8675}).call(this,require("buffer").Buffer)
8676},{"buffer":7}],37:[function(require,module,exports){
8677(function (Buffer){
8678// prototype class for hash functions
8679function Hash (blockSize, finalSize) {
8680 this._block = new Buffer(blockSize)
8681 this._finalSize = finalSize
8682 this._blockSize = blockSize
8683 this._len = 0
8684 this._s = 0
8685}
ebd8d4e8 8686
ab78acc6
IC
8687Hash.prototype.update = function (data, enc) {
8688 if (typeof data === 'string') {
8689 enc = enc || 'utf8'
8690 data = new Buffer(data, enc)
8691 }
ebd8d4e8 8692
ab78acc6
IC
8693 var l = this._len += data.length
8694 var s = this._s || 0
8695 var f = 0
8696 var buffer = this._block
ebd8d4e8 8697
ab78acc6
IC
8698 while (s < l) {
8699 var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
8700 var ch = (t - f)
ebd8d4e8 8701
ab78acc6
IC
8702 for (var i = 0; i < ch; i++) {
8703 buffer[(s % this._blockSize) + i] = data[i + f]
8704 }
8705
8706 s += ch
8707 f += ch
ebd8d4e8 8708
ab78acc6
IC
8709 if ((s % this._blockSize) === 0) {
8710 this._update(buffer)
8711 }
ebd8d4e8 8712 }
ab78acc6
IC
8713 this._s = s
8714
8715 return this
8716}
ebd8d4e8 8717
ab78acc6
IC
8718Hash.prototype.digest = function (enc) {
8719 // Suppose the length of the message M, in bits, is l
8720 var l = this._len * 8
8721
8722 // Append the bit 1 to the end of the message
8723 this._block[this._len % this._blockSize] = 0x80
8724
8725 // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
8726 this._block.fill(0, this._len % this._blockSize + 1)
8727
8728 if (l % (this._blockSize * 8) >= this._finalSize * 8) {
8729 this._update(this._block)
8730 this._block.fill(0)
ebd8d4e8
IC
8731 }
8732
ab78acc6
IC
8733 // to this append the block which is equal to the number l written in binary
8734 // TODO: handle case where l is > Math.pow(2, 29)
8735 this._block.writeInt32BE(l, this._blockSize - 4)
8736
8737 var hash = this._update(this._block) || this._hash()
ebd8d4e8 8738
ab78acc6
IC
8739 return enc ? hash.toString(enc) : hash
8740}
ebd8d4e8 8741
ab78acc6
IC
8742Hash.prototype._update = function () {
8743 throw new Error('_update must be implemented by subclass')
8744}
ebd8d4e8 8745
ab78acc6 8746module.exports = Hash
ebd8d4e8 8747
ab78acc6
IC
8748}).call(this,require("buffer").Buffer)
8749},{"buffer":7}],38:[function(require,module,exports){
8750var exports = module.exports = function SHA (algorithm) {
8751 algorithm = algorithm.toLowerCase()
ebd8d4e8 8752
ab78acc6
IC
8753 var Algorithm = exports[algorithm]
8754 if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
ebd8d4e8 8755
ab78acc6
IC
8756 return new Algorithm()
8757}
8758
8759exports.sha = require('./sha')
8760exports.sha1 = require('./sha1')
8761exports.sha224 = require('./sha224')
8762exports.sha256 = require('./sha256')
8763exports.sha384 = require('./sha384')
8764exports.sha512 = require('./sha512')
8765
8766},{"./sha":39,"./sha1":40,"./sha224":41,"./sha256":42,"./sha384":43,"./sha512":44}],39:[function(require,module,exports){
8767(function (Buffer){
8768/*
8769 * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
8770 * in FIPS PUB 180-1
8771 * This source code is derived from sha1.js of the same repository.
8772 * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
8773 * operation was added.
8774 */
ebd8d4e8 8775
ab78acc6
IC
8776var inherits = require('inherits')
8777var Hash = require('./hash')
ebd8d4e8 8778
ab78acc6 8779var W = new Array(80)
ebd8d4e8 8780
ab78acc6
IC
8781function Sha () {
8782 this.init()
8783 this._w = W
ebd8d4e8 8784
ab78acc6
IC
8785 Hash.call(this, 64, 56)
8786}
ebd8d4e8 8787
ab78acc6 8788inherits(Sha, Hash)
ebd8d4e8 8789
ab78acc6
IC
8790Sha.prototype.init = function () {
8791 this._a = 0x67452301 | 0
8792 this._b = 0xefcdab89 | 0
8793 this._c = 0x98badcfe | 0
8794 this._d = 0x10325476 | 0
8795 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8796
ab78acc6
IC
8797 return this
8798}
8799
8800/*
8801 * Bitwise rotate a 32-bit number to the left.
8802 */
8803function rol (num, cnt) {
8804 return (num << cnt) | (num >>> (32 - cnt))
8805}
8806
8807Sha.prototype._update = function (M) {
8808 var W = this._w
8809
8810 var a = this._a
8811 var b = this._b
8812 var c = this._c
8813 var d = this._d
8814 var e = this._e
ebd8d4e8 8815
ab78acc6
IC
8816 var j = 0, k
8817
8818 /*
8819 * SHA-1 has a bitwise rotate left operation. But, SHA is not
8820 * function calcW() { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8821 */
8822 function calcW () { return W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16] }
8823 function loop (w, f) {
8824 W[j] = w
8825
8826 var t = rol(a, 5) + f + e + w + k
8827
8828 e = d
8829 d = c
8830 c = rol(b, 30)
8831 b = a
8832 a = t
8833 j++
ebd8d4e8
IC
8834 }
8835
ab78acc6
IC
8836 k = 1518500249
8837 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8838 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8839 k = 1859775393
8840 while (j < 40) loop(calcW(), b ^ c ^ d)
8841 k = -1894007588
8842 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8843 k = -899497514
8844 while (j < 80) loop(calcW(), b ^ c ^ d)
8845
8846 this._a = (a + this._a) | 0
8847 this._b = (b + this._b) | 0
8848 this._c = (c + this._c) | 0
8849 this._d = (d + this._d) | 0
8850 this._e = (e + this._e) | 0
ebd8d4e8
IC
8851}
8852
ab78acc6
IC
8853Sha.prototype._hash = function () {
8854 var H = new Buffer(20)
8855
8856 H.writeInt32BE(this._a | 0, 0)
8857 H.writeInt32BE(this._b | 0, 4)
8858 H.writeInt32BE(this._c | 0, 8)
8859 H.writeInt32BE(this._d | 0, 12)
8860 H.writeInt32BE(this._e | 0, 16)
8861
8862 return H
ebd8d4e8
IC
8863}
8864
ab78acc6 8865module.exports = Sha
ebd8d4e8 8866
ebd8d4e8 8867
ab78acc6
IC
8868}).call(this,require("buffer").Buffer)
8869},{"./hash":37,"buffer":7,"inherits":35}],40:[function(require,module,exports){
8870(function (Buffer){
ebd8d4e8
IC
8871/*
8872 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
8873 * in FIPS PUB 180-1
8874 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
8875 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8876 * Distributed under the BSD License
8877 * See http://pajhome.org.uk/crypt/md5 for details.
8878 */
ebd8d4e8 8879
ab78acc6
IC
8880var inherits = require('inherits')
8881var Hash = require('./hash')
ebd8d4e8 8882
ab78acc6 8883var W = new Array(80)
ebd8d4e8 8884
ab78acc6
IC
8885function Sha1 () {
8886 this.init()
8887 this._w = W
ebd8d4e8 8888
ab78acc6
IC
8889 Hash.call(this, 64, 56)
8890}
ebd8d4e8 8891
ab78acc6 8892inherits(Sha1, Hash)
ebd8d4e8 8893
ab78acc6
IC
8894Sha1.prototype.init = function () {
8895 this._a = 0x67452301 | 0
8896 this._b = 0xefcdab89 | 0
8897 this._c = 0x98badcfe | 0
8898 this._d = 0x10325476 | 0
8899 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8900
ab78acc6
IC
8901 return this
8902}
ebd8d4e8 8903
ab78acc6
IC
8904/*
8905 * Bitwise rotate a 32-bit number to the left.
8906 */
8907function rol (num, cnt) {
8908 return (num << cnt) | (num >>> (32 - cnt))
8909}
ebd8d4e8 8910
ab78acc6
IC
8911Sha1.prototype._update = function (M) {
8912 var W = this._w
ebd8d4e8 8913
ab78acc6
IC
8914 var a = this._a
8915 var b = this._b
8916 var c = this._c
8917 var d = this._d
8918 var e = this._e
ebd8d4e8 8919
ab78acc6 8920 var j = 0, k
ebd8d4e8 8921
ab78acc6
IC
8922 function calcW () { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8923 function loop (w, f) {
8924 W[j] = w
ebd8d4e8 8925
ab78acc6 8926 var t = rol(a, 5) + f + e + w + k
ebd8d4e8 8927
ab78acc6
IC
8928 e = d
8929 d = c
8930 c = rol(b, 30)
8931 b = a
8932 a = t
8933 j++
ebd8d4e8
IC
8934 }
8935
ab78acc6
IC
8936 k = 1518500249
8937 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8938 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8939 k = 1859775393
8940 while (j < 40) loop(calcW(), b ^ c ^ d)
8941 k = -1894007588
8942 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8943 k = -899497514
8944 while (j < 80) loop(calcW(), b ^ c ^ d)
ebd8d4e8 8945
ab78acc6
IC
8946 this._a = (a + this._a) | 0
8947 this._b = (b + this._b) | 0
8948 this._c = (c + this._c) | 0
8949 this._d = (d + this._d) | 0
8950 this._e = (e + this._e) | 0
8951}
ebd8d4e8 8952
ab78acc6
IC
8953Sha1.prototype._hash = function () {
8954 var H = new Buffer(20)
ebd8d4e8 8955
ab78acc6
IC
8956 H.writeInt32BE(this._a | 0, 0)
8957 H.writeInt32BE(this._b | 0, 4)
8958 H.writeInt32BE(this._c | 0, 8)
8959 H.writeInt32BE(this._d | 0, 12)
8960 H.writeInt32BE(this._e | 0, 16)
ebd8d4e8 8961
ab78acc6
IC
8962 return H
8963}
ebd8d4e8 8964
ab78acc6 8965module.exports = Sha1
ebd8d4e8 8966
ab78acc6
IC
8967}).call(this,require("buffer").Buffer)
8968},{"./hash":37,"buffer":7,"inherits":35}],41:[function(require,module,exports){
8969(function (Buffer){
8970/**
8971 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8972 * in FIPS 180-2
8973 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8974 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8975 *
8976 */
ebd8d4e8 8977
ab78acc6
IC
8978var inherits = require('inherits')
8979var Sha256 = require('./sha256')
8980var Hash = require('./hash')
ebd8d4e8 8981
ab78acc6 8982var W = new Array(64)
ebd8d4e8 8983
ab78acc6
IC
8984function Sha224 () {
8985 this.init()
ebd8d4e8 8986
ab78acc6 8987 this._w = W // new Array(64)
ebd8d4e8 8988
ab78acc6
IC
8989 Hash.call(this, 64, 56)
8990}
ebd8d4e8 8991
ab78acc6 8992inherits(Sha224, Sha256)
ebd8d4e8 8993
ab78acc6
IC
8994Sha224.prototype.init = function () {
8995 this._a = 0xc1059ed8 | 0
8996 this._b = 0x367cd507 | 0
8997 this._c = 0x3070dd17 | 0
8998 this._d = 0xf70e5939 | 0
8999 this._e = 0xffc00b31 | 0
9000 this._f = 0x68581511 | 0
9001 this._g = 0x64f98fa7 | 0
9002 this._h = 0xbefa4fa4 | 0
9003
9004 return this
9005}
9006
9007Sha224.prototype._hash = function () {
9008 var H = new Buffer(28)
9009
9010 H.writeInt32BE(this._a, 0)
9011 H.writeInt32BE(this._b, 4)
9012 H.writeInt32BE(this._c, 8)
9013 H.writeInt32BE(this._d, 12)
9014 H.writeInt32BE(this._e, 16)
9015 H.writeInt32BE(this._f, 20)
9016 H.writeInt32BE(this._g, 24)
9017
9018 return H
ebd8d4e8
IC
9019}
9020
ab78acc6 9021module.exports = Sha224
ebd8d4e8 9022
ab78acc6
IC
9023}).call(this,require("buffer").Buffer)
9024},{"./hash":37,"./sha256":42,"buffer":7,"inherits":35}],42:[function(require,module,exports){
9025(function (Buffer){
ebd8d4e8
IC
9026/**
9027 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
9028 * in FIPS 180-2
9029 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
9030 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
9031 *
9032 */
9033
ab78acc6
IC
9034var inherits = require('inherits')
9035var Hash = require('./hash')
9036
9037var K = [
9038 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
9039 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
9040 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
9041 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
9042 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
9043 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
9044 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
9045 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
9046 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
9047 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
9048 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
9049 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
9050 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
9051 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
9052 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
9053 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
9054]
9055
9056var W = new Array(64)
9057
9058function Sha256 () {
9059 this.init()
9060
9061 this._w = W // new Array(64)
9062
9063 Hash.call(this, 64, 56)
9064}
9065
9066inherits(Sha256, Hash)
9067
9068Sha256.prototype.init = function () {
9069 this._a = 0x6a09e667 | 0
9070 this._b = 0xbb67ae85 | 0
9071 this._c = 0x3c6ef372 | 0
9072 this._d = 0xa54ff53a | 0
9073 this._e = 0x510e527f | 0
9074 this._f = 0x9b05688c | 0
9075 this._g = 0x1f83d9ab | 0
9076 this._h = 0x5be0cd19 | 0
ebd8d4e8 9077
ab78acc6
IC
9078 return this
9079}
ebd8d4e8 9080
ab78acc6
IC
9081function S (X, n) {
9082 return (X >>> n) | (X << (32 - n))
9083}
ebd8d4e8 9084
ab78acc6
IC
9085function R (X, n) {
9086 return (X >>> n)
9087}
ebd8d4e8 9088
ab78acc6
IC
9089function Ch (x, y, z) {
9090 return ((x & y) ^ ((~x) & z))
9091}
ebd8d4e8 9092
ab78acc6
IC
9093function Maj (x, y, z) {
9094 return ((x & y) ^ (x & z) ^ (y & z))
9095}
ebd8d4e8 9096
ab78acc6
IC
9097function Sigma0256 (x) {
9098 return (S(x, 2) ^ S(x, 13) ^ S(x, 22))
9099}
ebd8d4e8 9100
ab78acc6
IC
9101function Sigma1256 (x) {
9102 return (S(x, 6) ^ S(x, 11) ^ S(x, 25))
9103}
ebd8d4e8 9104
ab78acc6
IC
9105function Gamma0256 (x) {
9106 return (S(x, 7) ^ S(x, 18) ^ R(x, 3))
9107}
ebd8d4e8 9108
ab78acc6
IC
9109function Gamma1256 (x) {
9110 return (S(x, 17) ^ S(x, 19) ^ R(x, 10))
9111}
ebd8d4e8 9112
ab78acc6
IC
9113Sha256.prototype._update = function (M) {
9114 var W = this._w
ebd8d4e8 9115
ab78acc6
IC
9116 var a = this._a | 0
9117 var b = this._b | 0
9118 var c = this._c | 0
9119 var d = this._d | 0
9120 var e = this._e | 0
9121 var f = this._f | 0
9122 var g = this._g | 0
9123 var h = this._h | 0
ebd8d4e8 9124
ab78acc6 9125 var j = 0
ebd8d4e8 9126
ab78acc6
IC
9127 function calcW () { return Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16] }
9128 function loop (w) {
9129 W[j] = w
ebd8d4e8 9130
ab78acc6
IC
9131 var T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w
9132 var T2 = Sigma0256(a) + Maj(a, b, c)
ebd8d4e8 9133
ab78acc6
IC
9134 h = g
9135 g = f
9136 f = e
9137 e = d + T1
9138 d = c
9139 c = b
9140 b = a
9141 a = T1 + T2
ebd8d4e8 9142
ab78acc6 9143 j++
ebd8d4e8
IC
9144 }
9145
ab78acc6
IC
9146 while (j < 16) loop(M.readInt32BE(j * 4))
9147 while (j < 64) loop(calcW())
ebd8d4e8 9148
ab78acc6
IC
9149 this._a = (a + this._a) | 0
9150 this._b = (b + this._b) | 0
9151 this._c = (c + this._c) | 0
9152 this._d = (d + this._d) | 0
9153 this._e = (e + this._e) | 0
9154 this._f = (f + this._f) | 0
9155 this._g = (g + this._g) | 0
9156 this._h = (h + this._h) | 0
9157}
ebd8d4e8 9158
ab78acc6
IC
9159Sha256.prototype._hash = function () {
9160 var H = new Buffer(32)
ebd8d4e8 9161
ab78acc6
IC
9162 H.writeInt32BE(this._a, 0)
9163 H.writeInt32BE(this._b, 4)
9164 H.writeInt32BE(this._c, 8)
9165 H.writeInt32BE(this._d, 12)
9166 H.writeInt32BE(this._e, 16)
9167 H.writeInt32BE(this._f, 20)
9168 H.writeInt32BE(this._g, 24)
9169 H.writeInt32BE(this._h, 28)
ebd8d4e8 9170
ab78acc6
IC
9171 return H
9172}
ebd8d4e8 9173
ab78acc6 9174module.exports = Sha256
ebd8d4e8 9175
ab78acc6
IC
9176}).call(this,require("buffer").Buffer)
9177},{"./hash":37,"buffer":7,"inherits":35}],43:[function(require,module,exports){
9178(function (Buffer){
9179var inherits = require('inherits')
9180var SHA512 = require('./sha512')
9181var Hash = require('./hash')
ebd8d4e8 9182
ab78acc6 9183var W = new Array(160)
ebd8d4e8 9184
ab78acc6
IC
9185function Sha384 () {
9186 this.init()
9187 this._w = W
ebd8d4e8 9188
ab78acc6
IC
9189 Hash.call(this, 128, 112)
9190}
ebd8d4e8 9191
ab78acc6 9192inherits(Sha384, SHA512)
ebd8d4e8 9193
ab78acc6
IC
9194Sha384.prototype.init = function () {
9195 this._a = 0xcbbb9d5d | 0
9196 this._b = 0x629a292a | 0
9197 this._c = 0x9159015a | 0
9198 this._d = 0x152fecd8 | 0
9199 this._e = 0x67332667 | 0
9200 this._f = 0x8eb44a87 | 0
9201 this._g = 0xdb0c2e0d | 0
9202 this._h = 0x47b5481d | 0
ebd8d4e8 9203
ab78acc6
IC
9204 this._al = 0xc1059ed8 | 0
9205 this._bl = 0x367cd507 | 0
9206 this._cl = 0x3070dd17 | 0
9207 this._dl = 0xf70e5939 | 0
9208 this._el = 0xffc00b31 | 0
9209 this._fl = 0x68581511 | 0
9210 this._gl = 0x64f98fa7 | 0
9211 this._hl = 0xbefa4fa4 | 0
ebd8d4e8 9212
ab78acc6 9213 return this
ebd8d4e8
IC
9214}
9215
ab78acc6
IC
9216Sha384.prototype._hash = function () {
9217 var H = new Buffer(48)
ebd8d4e8 9218
ab78acc6
IC
9219 function writeInt64BE (h, l, offset) {
9220 H.writeInt32BE(h, offset)
9221 H.writeInt32BE(l, offset + 4)
ebd8d4e8 9222 }
ebd8d4e8 9223
ab78acc6
IC
9224 writeInt64BE(this._a, this._al, 0)
9225 writeInt64BE(this._b, this._bl, 8)
9226 writeInt64BE(this._c, this._cl, 16)
9227 writeInt64BE(this._d, this._dl, 24)
9228 writeInt64BE(this._e, this._el, 32)
9229 writeInt64BE(this._f, this._fl, 40)
9230
9231 return H
ebd8d4e8
IC
9232}
9233
ab78acc6 9234module.exports = Sha384
ebd8d4e8 9235
ab78acc6
IC
9236}).call(this,require("buffer").Buffer)
9237},{"./hash":37,"./sha512":44,"buffer":7,"inherits":35}],44:[function(require,module,exports){
ebd8d4e8 9238(function (Buffer){
ab78acc6
IC
9239var inherits = require('inherits')
9240var Hash = require('./hash')
9241
9242var K = [
9243 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
9244 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
9245 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
9246 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
9247 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
9248 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
9249 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
9250 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
9251 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
9252 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
9253 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
9254 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
9255 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
9256 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
9257 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
9258 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
9259 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
9260 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
9261 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
9262 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
9263 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
9264 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
9265 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
9266 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
9267 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
9268 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
9269 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
9270 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
9271 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
9272 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
9273 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
9274 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
9275 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
9276 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
9277 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
9278 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
9279 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
9280 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
9281 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
9282 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
9283]
9284
9285var W = new Array(160)
9286
9287function Sha512 () {
9288 this.init()
9289 this._w = W
9290
9291 Hash.call(this, 128, 112)
9292}
9293
9294inherits(Sha512, Hash)
9295
9296Sha512.prototype.init = function () {
9297 this._a = 0x6a09e667 | 0
9298 this._b = 0xbb67ae85 | 0
9299 this._c = 0x3c6ef372 | 0
9300 this._d = 0xa54ff53a | 0
9301 this._e = 0x510e527f | 0
9302 this._f = 0x9b05688c | 0
9303 this._g = 0x1f83d9ab | 0
9304 this._h = 0x5be0cd19 | 0
9305
9306 this._al = 0xf3bcc908 | 0
9307 this._bl = 0x84caa73b | 0
9308 this._cl = 0xfe94f82b | 0
9309 this._dl = 0x5f1d36f1 | 0
9310 this._el = 0xade682d1 | 0
9311 this._fl = 0x2b3e6c1f | 0
9312 this._gl = 0xfb41bd6b | 0
9313 this._hl = 0x137e2179 | 0
ebd8d4e8 9314
ab78acc6 9315 return this
ebd8d4e8
IC
9316}
9317
ab78acc6
IC
9318function S (X, Xl, n) {
9319 return (X >>> n) | (Xl << (32 - n))
9320}
9321
9322function Ch (x, y, z) {
9323 return ((x & y) ^ ((~x) & z))
9324}
9325
9326function Maj (x, y, z) {
9327 return ((x & y) ^ (x & z) ^ (y & z))
9328}
9329
9330Sha512.prototype._update = function (M) {
9331 var W = this._w
9332
9333 var a = this._a | 0
9334 var b = this._b | 0
9335 var c = this._c | 0
9336 var d = this._d | 0
9337 var e = this._e | 0
9338 var f = this._f | 0
9339 var g = this._g | 0
9340 var h = this._h | 0
9341
9342 var al = this._al | 0
9343 var bl = this._bl | 0
9344 var cl = this._cl | 0
9345 var dl = this._dl | 0
9346 var el = this._el | 0
9347 var fl = this._fl | 0
9348 var gl = this._gl | 0
9349 var hl = this._hl | 0
9350
9351 var i = 0, j = 0
9352 var Wi, Wil
9353 function calcW () {
9354 var x = W[j - 15 * 2]
9355 var xl = W[j - 15 * 2 + 1]
9356 var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
9357 var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
9358
9359 x = W[j - 2 * 2]
9360 xl = W[j - 2 * 2 + 1]
9361 var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
9362 var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
9363
9364 // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
9365 var Wi7 = W[j - 7 * 2]
9366 var Wi7l = W[j - 7 * 2 + 1]
9367
9368 var Wi16 = W[j - 16 * 2]
9369 var Wi16l = W[j - 16 * 2 + 1]
ebd8d4e8 9370
ab78acc6
IC
9371 Wil = gamma0l + Wi7l
9372 Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
9373 Wil = Wil + gamma1l
9374 Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
9375 Wil = Wil + Wi16l
9376 Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
9377 }
9378
9379 function loop () {
9380 W[j] = Wi
9381 W[j + 1] = Wil
ebd8d4e8 9382
ab78acc6
IC
9383 var maj = Maj(a, b, c)
9384 var majl = Maj(al, bl, cl)
ebd8d4e8 9385
ab78acc6
IC
9386 var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
9387 var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
9388 var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
9389 var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)
ebd8d4e8 9390
ab78acc6
IC
9391 // t1 = h + sigma1 + ch + K[i] + W[i]
9392 var Ki = K[j]
9393 var Kil = K[j + 1]
ebd8d4e8 9394
ab78acc6
IC
9395 var ch = Ch(e, f, g)
9396 var chl = Ch(el, fl, gl)
ebd8d4e8 9397
ab78acc6
IC
9398 var t1l = hl + sigma1l
9399 var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
9400 t1l = t1l + chl
9401 t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
9402 t1l = t1l + Kil
9403 t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
9404 t1l = t1l + Wil
9405 t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)
ebd8d4e8 9406
ab78acc6
IC
9407 // t2 = sigma0 + maj
9408 var t2l = sigma0l + majl
9409 var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)
ebd8d4e8 9410
ab78acc6
IC
9411 h = g
9412 hl = gl
9413 g = f
9414 gl = fl
9415 f = e
9416 fl = el
9417 el = (dl + t1l) | 0
9418 e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9419 d = c
9420 dl = cl
9421 c = b
9422 cl = bl
9423 b = a
9424 bl = al
9425 al = (t1l + t2l) | 0
9426 a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
9427
9428 i++
9429 j += 2
9430 }
9431
9432 while (i < 16) {
9433 Wi = M.readInt32BE(j * 4)
9434 Wil = M.readInt32BE(j * 4 + 4)
9435
9436 loop()
9437 }
9438
9439 while (i < 80) {
9440 calcW()
9441 loop()
9442 }
9443
9444 this._al = (this._al + al) | 0
9445 this._bl = (this._bl + bl) | 0
9446 this._cl = (this._cl + cl) | 0
9447 this._dl = (this._dl + dl) | 0
9448 this._el = (this._el + el) | 0
9449 this._fl = (this._fl + fl) | 0
9450 this._gl = (this._gl + gl) | 0
9451 this._hl = (this._hl + hl) | 0
9452
9453 this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
9454 this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
9455 this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
9456 this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9457 this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
9458 this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
9459 this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
9460 this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
9461}
9462
9463Sha512.prototype._hash = function () {
9464 var H = new Buffer(64)
9465
9466 function writeInt64BE (h, l, offset) {
9467 H.writeInt32BE(h, offset)
9468 H.writeInt32BE(l, offset + 4)
9469 }
9470
9471 writeInt64BE(this._a, this._al, 0)
9472 writeInt64BE(this._b, this._bl, 8)
9473 writeInt64BE(this._c, this._cl, 16)
9474 writeInt64BE(this._d, this._dl, 24)
9475 writeInt64BE(this._e, this._el, 32)
9476 writeInt64BE(this._f, this._fl, 40)
9477 writeInt64BE(this._g, this._gl, 48)
9478 writeInt64BE(this._h, this._hl, 56)
9479
9480 return H
9481}
9482
9483module.exports = Sha512
9484
9485}).call(this,require("buffer").Buffer)
9486},{"./hash":37,"buffer":7,"inherits":35}],45:[function(require,module,exports){
9487(function (Buffer){
9488'use strict';
9489var createHash = require('create-hash/browser');
9490var inherits = require('inherits')
ebd8d4e8 9491
ab78acc6 9492var Transform = require('stream').Transform
ebd8d4e8 9493
ab78acc6
IC
9494var ZEROS = new Buffer(128)
9495ZEROS.fill(0)
ebd8d4e8 9496
ab78acc6
IC
9497function Hmac(alg, key) {
9498 Transform.call(this)
ebd8d4e8 9499
ab78acc6
IC
9500 if (typeof key === 'string') {
9501 key = new Buffer(key)
9502 }
ebd8d4e8 9503
ab78acc6 9504 var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
ebd8d4e8 9505
ab78acc6
IC
9506 this._alg = alg
9507 this._key = key
ebd8d4e8 9508
ab78acc6
IC
9509 if (key.length > blocksize) {
9510 key = createHash(alg).update(key).digest()
ebd8d4e8 9511
ab78acc6
IC
9512 } else if (key.length < blocksize) {
9513 key = Buffer.concat([key, ZEROS], blocksize)
9514 }
ebd8d4e8 9515
ab78acc6
IC
9516 var ipad = this._ipad = new Buffer(blocksize)
9517 var opad = this._opad = new Buffer(blocksize)
ebd8d4e8 9518
ab78acc6
IC
9519 for (var i = 0; i < blocksize; i++) {
9520 ipad[i] = key[i] ^ 0x36
9521 opad[i] = key[i] ^ 0x5C
9522 }
ebd8d4e8 9523
ab78acc6
IC
9524 this._hash = createHash(alg).update(ipad)
9525}
ebd8d4e8 9526
ab78acc6 9527inherits(Hmac, Transform)
ebd8d4e8 9528
ab78acc6
IC
9529Hmac.prototype.update = function (data, enc) {
9530 this._hash.update(data, enc)
ebd8d4e8 9531
ab78acc6
IC
9532 return this
9533}
ebd8d4e8 9534
ab78acc6
IC
9535Hmac.prototype._transform = function (data, _, next) {
9536 this._hash.update(data)
ebd8d4e8 9537
ab78acc6
IC
9538 next()
9539}
ebd8d4e8 9540
ab78acc6
IC
9541Hmac.prototype._flush = function (next) {
9542 this.push(this.digest())
ebd8d4e8 9543
ab78acc6
IC
9544 next()
9545}
ebd8d4e8 9546
ab78acc6
IC
9547Hmac.prototype.digest = function (enc) {
9548 var h = this._hash.digest()
ebd8d4e8 9549
ab78acc6
IC
9550 return createHash(this._alg).update(this._opad).update(h).digest(enc)
9551}
ebd8d4e8 9552
ab78acc6
IC
9553module.exports = function createHmac(alg, key) {
9554 return new Hmac(alg, key)
9555}
ebd8d4e8 9556
ab78acc6
IC
9557}).call(this,require("buffer").Buffer)
9558},{"buffer":7,"create-hash/browser":32,"inherits":46,"stream":26}],46:[function(require,module,exports){
9559arguments[4][12][0].apply(exports,arguments)
9560},{"dup":12}],47:[function(require,module,exports){
9561var assert = require('assert')
9562var BigInteger = require('bigi')
ebd8d4e8 9563
ab78acc6 9564var Point = require('./point')
ebd8d4e8
IC
9565
9566function Curve(p, a, b, Gx, Gy, n, h) {
9567 this.p = p
9568 this.a = a
9569 this.b = b
9570 this.G = Point.fromAffine(this, Gx, Gy)
9571 this.n = n
9572 this.h = h
9573
9574 this.infinity = new Point(this, null, null, BigInteger.ZERO)
9575
9576 // result caching
9577 this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)
9578}
9579
9580Curve.prototype.pointFromX = function(isOdd, x) {
9581 var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)
ab78acc6 9582 var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves
ebd8d4e8
IC
9583
9584 var y = beta
9585 if (beta.isEven() ^ !isOdd) {
9586 y = this.p.subtract(y) // -y % p
9587 }
9588
9589 return Point.fromAffine(this, x, y)
9590}
9591
9592Curve.prototype.isInfinity = function(Q) {
9593 if (Q === this.infinity) return true
9594
9595 return Q.z.signum() === 0 && Q.y.signum() !== 0
9596}
9597
9598Curve.prototype.isOnCurve = function(Q) {
9599 if (this.isInfinity(Q)) return true
9600
9601 var x = Q.affineX
9602 var y = Q.affineY
9603 var a = this.a
9604 var b = this.b
9605 var p = this.p
9606
9607 // Check that xQ and yQ are integers in the interval [0, p - 1]
9608 if (x.signum() < 0 || x.compareTo(p) >= 0) return false
9609 if (y.signum() < 0 || y.compareTo(p) >= 0) return false
9610
9611 // and check that y^2 = x^3 + ax + b (mod p)
9612 var lhs = y.square().mod(p)
9613 var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)
9614 return lhs.equals(rhs)
9615}
9616
9617/**
9618 * Validate an elliptic curve point.
9619 *
9620 * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive
9621 */
9622Curve.prototype.validate = function(Q) {
9623 // Check Q != O
9624 assert(!this.isInfinity(Q), 'Point is at infinity')
9625 assert(this.isOnCurve(Q), 'Point is not on the curve')
9626
9627 // Check nQ = O (where Q is a scalar multiple of G)
9628 var nQ = Q.multiply(this.n)
9629 assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')
9630
9631 return true
9632}
9633
9634module.exports = Curve
9635
ab78acc6 9636},{"./point":51,"assert":5,"bigi":3}],48:[function(require,module,exports){
ebd8d4e8
IC
9637module.exports={
9638 "secp128r1": {
9639 "p": "fffffffdffffffffffffffffffffffff",
9640 "a": "fffffffdfffffffffffffffffffffffc",
9641 "b": "e87579c11079f43dd824993c2cee5ed3",
9642 "n": "fffffffe0000000075a30d1b9038a115",
9643 "h": "01",
9644 "Gx": "161ff7528b899b2d0c28607ca52c5b86",
9645 "Gy": "cf5ac8395bafeb13c02da292dded7a83"
9646 },
9647 "secp160k1": {
9648 "p": "fffffffffffffffffffffffffffffffeffffac73",
9649 "a": "00",
9650 "b": "07",
9651 "n": "0100000000000000000001b8fa16dfab9aca16b6b3",
9652 "h": "01",
9653 "Gx": "3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
9654 "Gy": "938cf935318fdced6bc28286531733c3f03c4fee"
9655 },
9656 "secp160r1": {
9657 "p": "ffffffffffffffffffffffffffffffff7fffffff",
9658 "a": "ffffffffffffffffffffffffffffffff7ffffffc",
9659 "b": "1c97befc54bd7a8b65acf89f81d4d4adc565fa45",
9660 "n": "0100000000000000000001f4c8f927aed3ca752257",
9661 "h": "01",
9662 "Gx": "4a96b5688ef573284664698968c38bb913cbfc82",
9663 "Gy": "23a628553168947d59dcc912042351377ac5fb32"
9664 },
9665 "secp192k1": {
9666 "p": "fffffffffffffffffffffffffffffffffffffffeffffee37",
9667 "a": "00",
9668 "b": "03",
9669 "n": "fffffffffffffffffffffffe26f2fc170f69466a74defd8d",
9670 "h": "01",
9671 "Gx": "db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
9672 "Gy": "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
9673 },
9674 "secp192r1": {
9675 "p": "fffffffffffffffffffffffffffffffeffffffffffffffff",
9676 "a": "fffffffffffffffffffffffffffffffefffffffffffffffc",
9677 "b": "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
9678 "n": "ffffffffffffffffffffffff99def836146bc9b1b4d22831",
9679 "h": "01",
9680 "Gx": "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
9681 "Gy": "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"
9682 },
ebd8d4e8
IC
9683 "secp256k1": {
9684 "p": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
9685 "a": "00",
9686 "b": "07",
9687 "n": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
9688 "h": "01",
9689 "Gx": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
9690 "Gy": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
9691 },
9692 "secp256r1": {
9693 "p": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
9694 "a": "ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",
9695 "b": "5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
9696 "n": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
9697 "h": "01",
9698 "Gx": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
9699 "Gy": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
9700 }
9701}
9702
ab78acc6
IC
9703},{}],49:[function(require,module,exports){
9704var Point = require('./point')
9705var Curve = require('./curve')
ebd8d4e8 9706
ab78acc6 9707var getCurveByName = require('./names')
ebd8d4e8
IC
9708
9709module.exports = {
9710 Curve: Curve,
9711 Point: Point,
9712 getCurveByName: getCurveByName
9713}
9714
ab78acc6
IC
9715},{"./curve":47,"./names":50,"./point":51}],50:[function(require,module,exports){
9716var BigInteger = require('bigi')
ebd8d4e8 9717
ab78acc6
IC
9718var curves = require('./curves')
9719var Curve = require('./curve')
ebd8d4e8
IC
9720
9721function getCurveByName(name) {
9722 var curve = curves[name]
9723 if (!curve) return null
9724
9725 var p = new BigInteger(curve.p, 16)
9726 var a = new BigInteger(curve.a, 16)
9727 var b = new BigInteger(curve.b, 16)
9728 var n = new BigInteger(curve.n, 16)
9729 var h = new BigInteger(curve.h, 16)
9730 var Gx = new BigInteger(curve.Gx, 16)
9731 var Gy = new BigInteger(curve.Gy, 16)
9732
9733 return new Curve(p, a, b, Gx, Gy, n, h)
9734}
9735
9736module.exports = getCurveByName
9737
ab78acc6 9738},{"./curve":47,"./curves":48,"bigi":3}],51:[function(require,module,exports){
ebd8d4e8 9739(function (Buffer){
ab78acc6
IC
9740var assert = require('assert')
9741var BigInteger = require('bigi')
ebd8d4e8
IC
9742
9743var THREE = BigInteger.valueOf(3)
9744
9745function Point(curve, x, y, z) {
9746 assert.notStrictEqual(z, undefined, 'Missing Z coordinate')
9747
9748 this.curve = curve
9749 this.x = x
9750 this.y = y
9751 this.z = z
9752 this._zInv = null
9753
9754 this.compressed = true
9755}
9756
9757Object.defineProperty(Point.prototype, 'zInv', {
9758 get: function() {
9759 if (this._zInv === null) {
9760 this._zInv = this.z.modInverse(this.curve.p)
9761 }
9762
9763 return this._zInv
9764 }
9765})
9766
9767Object.defineProperty(Point.prototype, 'affineX', {
9768 get: function() {
9769 return this.x.multiply(this.zInv).mod(this.curve.p)
9770 }
9771})
9772
9773Object.defineProperty(Point.prototype, 'affineY', {
9774 get: function() {
9775 return this.y.multiply(this.zInv).mod(this.curve.p)
9776 }
9777})
9778
9779Point.fromAffine = function(curve, x, y) {
9780 return new Point(curve, x, y, BigInteger.ONE)
9781}
9782
9783Point.prototype.equals = function(other) {
9784 if (other === this) return true
9785 if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)
9786 if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)
9787
9788 // u = Y2 * Z1 - Y1 * Z2
9789 var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)
9790
9791 if (u.signum() !== 0) return false
9792
9793 // v = X2 * Z1 - X1 * Z2
9794 var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)
9795
9796 return v.signum() === 0
9797}
9798
9799Point.prototype.negate = function() {
9800 var y = this.curve.p.subtract(this.y)
9801
9802 return new Point(this.curve, this.x, y, this.z)
9803}
9804
9805Point.prototype.add = function(b) {
9806 if (this.curve.isInfinity(this)) return b
9807 if (this.curve.isInfinity(b)) return this
9808
9809 var x1 = this.x
9810 var y1 = this.y
9811 var x2 = b.x
9812 var y2 = b.y
9813
9814 // u = Y2 * Z1 - Y1 * Z2
9815 var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)
9816 // v = X2 * Z1 - X1 * Z2
9817 var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)
9818
9819 if (v.signum() === 0) {
9820 if (u.signum() === 0) {
9821 return this.twice() // this == b, so double
9822 }
9823
9824 return this.curve.infinity // this = -b, so infinity
9825 }
9826
9827 var v2 = v.square()
9828 var v3 = v2.multiply(v)
9829 var x1v2 = x1.multiply(v2)
9830 var zu2 = u.square().multiply(this.z)
9831
9832 // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
9833 var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)
9834 // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
9835 var y3 = x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.p)
9836 // z3 = v^3 * z1 * z2
9837 var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)
9838
9839 return new Point(this.curve, x3, y3, z3)
9840}
9841
9842Point.prototype.twice = function() {
9843 if (this.curve.isInfinity(this)) return this
9844 if (this.y.signum() === 0) return this.curve.infinity
9845
9846 var x1 = this.x
9847 var y1 = this.y
9848
9849 var y1z1 = y1.multiply(this.z)
9850 var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)
9851 var a = this.curve.a
9852
9853 // w = 3 * x1^2 + a * z1^2
9854 var w = x1.square().multiply(THREE)
9855
9856 if (a.signum() !== 0) {
9857 w = w.add(this.z.square().multiply(a))
9858 }
9859
9860 w = w.mod(this.curve.p)
9861 // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
9862 var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)
9863 // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
9864 var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)
9865 // z3 = 8 * (y1 * z1)^3
9866 var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)
9867
9868 return new Point(this.curve, x3, y3, z3)
9869}
9870
9871// Simple NAF (Non-Adjacent Form) multiplication algorithm
9872// TODO: modularize the multiplication algorithm
9873Point.prototype.multiply = function(k) {
9874 if (this.curve.isInfinity(this)) return this
9875 if (k.signum() === 0) return this.curve.infinity
9876
9877 var e = k
9878 var h = e.multiply(THREE)
9879
9880 var neg = this.negate()
9881 var R = this
9882
9883 for (var i = h.bitLength() - 2; i > 0; --i) {
9884 R = R.twice()
9885
9886 var hBit = h.testBit(i)
9887 var eBit = e.testBit(i)
9888
9889 if (hBit != eBit) {
9890 R = R.add(hBit ? this : neg)
9891 }
9892 }
9893
9894 return R
9895}
9896
9897// Compute this*j + x*k (simultaneous multiplication)
9898Point.prototype.multiplyTwo = function(j, x, k) {
9899 var i
9900
9901 if (j.bitLength() > k.bitLength())
9902 i = j.bitLength() - 1
9903 else
9904 i = k.bitLength() - 1
9905
9906 var R = this.curve.infinity
9907 var both = this.add(x)
9908
9909 while (i >= 0) {
9910 R = R.twice()
9911
9912 var jBit = j.testBit(i)
9913 var kBit = k.testBit(i)
9914
9915 if (jBit) {
9916 if (kBit) {
9917 R = R.add(both)
9918
9919 } else {
9920 R = R.add(this)
9921 }
9922
9923 } else {
9924 if (kBit) {
9925 R = R.add(x)
9926 }
9927 }
9928 --i
9929 }
9930
9931 return R
9932}
9933
9934Point.prototype.getEncoded = function(compressed) {
9935 if (compressed == undefined) compressed = this.compressed
9936 if (this.curve.isInfinity(this)) return new Buffer('00', 'hex') // Infinity point encoded is simply '00'
9937
9938 var x = this.affineX
9939 var y = this.affineY
9940
9941 var buffer
9942
9943 // Determine size of q in bytes
9944 var byteLength = Math.floor((this.curve.p.bitLength() + 7) / 8)
9945
9946 // 0x02/0x03 | X
9947 if (compressed) {
9948 buffer = new Buffer(1 + byteLength)
9949 buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)
9950
9951 // 0x04 | X | Y
9952 } else {
9953 buffer = new Buffer(1 + byteLength + byteLength)
9954 buffer.writeUInt8(0x04, 0)
9955
9956 y.toBuffer(byteLength).copy(buffer, 1 + byteLength)
9957 }
9958
9959 x.toBuffer(byteLength).copy(buffer, 1)
9960
9961 return buffer
9962}
9963
9964Point.decodeFrom = function(curve, buffer) {
9965 var type = buffer.readUInt8(0)
9966 var compressed = (type !== 4)
9967
ebd8d4e8 9968 var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)
ab78acc6 9969 var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))
ebd8d4e8
IC
9970
9971 var Q
9972 if (compressed) {
9973 assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')
9974 assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')
9975
9976 var isOdd = (type === 0x03)
9977 Q = curve.pointFromX(isOdd, x)
9978
9979 } else {
9980 assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')
9981
9982 var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))
9983 Q = Point.fromAffine(curve, x, y)
9984 }
9985
9986 Q.compressed = compressed
9987 return Q
9988}
9989
9990Point.prototype.toString = function () {
9991 if (this.curve.isInfinity(this)) return '(INFINITY)'
9992
9993 return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'
9994}
9995
9996module.exports = Point
9997
ab78acc6
IC
9998}).call(this,require("buffer").Buffer)
9999},{"assert":5,"bigi":3,"buffer":7}],52:[function(require,module,exports){
10000(function (process,global,Buffer){
10001'use strict';
ebd8d4e8 10002
ab78acc6
IC
10003var crypto = global.crypto || global.msCrypto
10004if(crypto && crypto.getRandomValues) {
10005 module.exports = randomBytes;
10006} else {
10007 module.exports = oldBrowser;
10008}
10009function randomBytes(size, cb) {
10010 var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
10011 /* This will not work in older browsers.
10012 * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
10013 */
10014
10015 crypto.getRandomValues(bytes);
10016 if (typeof cb === 'function') {
10017 return process.nextTick(function () {
10018 cb(null, bytes);
10019 });
ebd8d4e8 10020 }
ab78acc6
IC
10021 return bytes;
10022}
10023function oldBrowser() {
10024 throw new Error(
10025 'secure random number generation not supported by this browser\n'+
10026 'use chrome, FireFox or Internet Explorer 11'
10027 )
ebd8d4e8
IC
10028}
10029
ab78acc6
IC
10030}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
10031},{"_process":14,"buffer":7}],53:[function(require,module,exports){
10032(function (Buffer){
10033'use strict';
ebd8d4e8 10034
ab78acc6
IC
10035function getFunctionName(fn) {
10036 return fn.name || fn.toString().match(/function (.*?)\s*\(/)[1];
10037}
10038
10039function getTypeTypeName(type) {
10040 if (nativeTypes.Function(type)) {
10041 type = type.toJSON ? type.toJSON() : getFunctionName(type);
ebd8d4e8 10042 }
ab78acc6
IC
10043 if (nativeTypes.Object(type)) return JSON.stringify(type);
10044
10045 return type;
ebd8d4e8
IC
10046}
10047
ab78acc6
IC
10048function getValueTypeName(value) {
10049 if (nativeTypes.Null(value)) return '';
ebd8d4e8 10050
ab78acc6
IC
10051 return getFunctionName(value.constructor);
10052}
10053
10054function tfErrorString(type, value) {
10055 var typeTypeName = getTypeTypeName(type);
10056 var valueTypeName = getValueTypeName(value);
10057
10058 return 'Expected ' + typeTypeName + ', got ' + (valueTypeName && valueTypeName + ' ') + JSON.stringify(value);
10059}
10060
10061function tfPropertyErrorString(type, name, value) {
10062 return tfErrorString('property \"' + name + '\" of type ' + getTypeTypeName(type), value);
10063}
10064
10065var nativeTypes = {
10066 Array: (function (_Array) {
10067 function Array(_x) {
10068 return _Array.apply(this, arguments);
10069 }
10070
10071 Array.toString = function () {
10072 return _Array.toString();
10073 };
10074
10075 return Array;
10076 })(function (value) {
10077 return value !== null && value !== undefined && value.constructor === Array;
10078 }),
10079 Boolean: function Boolean(value) {
10080 return typeof value === 'boolean';
10081 },
10082 Buffer: (function (_Buffer) {
10083 function Buffer(_x2) {
10084 return _Buffer.apply(this, arguments);
10085 }
10086
10087 Buffer.toString = function () {
10088 return _Buffer.toString();
10089 };
10090
10091 return Buffer;
10092 })(function (value) {
10093 return Buffer.isBuffer(value);
10094 }),
10095 Function: function Function(value) {
10096 return typeof value === 'function';
10097 },
10098 Null: function Null(value) {
10099 return value === undefined || value === null;
10100 },
10101 Number: function Number(value) {
10102 return typeof value === 'number';
10103 },
10104 Object: function Object(value) {
10105 return typeof value === 'object';
10106 },
10107 String: function String(value) {
10108 return typeof value === 'string';
10109 },
10110 '': function _() {
10111 return true;
ebd8d4e8 10112 }
ab78acc6
IC
10113};
10114
10115function tJSON(type) {
10116 return type && type.toJSON ? type.toJSON() : type;
ebd8d4e8
IC
10117}
10118
ab78acc6
IC
10119function sJSON(type) {
10120 var json = tJSON(type);
10121 return nativeTypes.Object(json) ? JSON.stringify(json) : json;
ebd8d4e8
IC
10122}
10123
ab78acc6
IC
10124var otherTypes = {
10125 arrayOf: function arrayOf(type) {
10126 function arrayOf(value, strict) {
10127 try {
10128 return nativeTypes.Array(value) && value.every(function (x) {
10129 return typeforce(type, x, strict);
10130 });
10131 } catch (e) {
10132 return false;
10133 }
10134 }
10135 arrayOf.toJSON = function () {
10136 return [tJSON(type)];
10137 };
10138
10139 return arrayOf;
10140 },
10141
10142 maybe: function maybe(type) {
10143 function maybe(value, strict) {
10144 return nativeTypes.Null(value) || typeforce(type, value, strict);
10145 }
10146 maybe.toJSON = function () {
10147 return '?' + sJSON(type);
10148 };
10149
10150 return maybe;
10151 },
10152
10153 object: function object(type) {
10154 function object(value, strict) {
10155 typeforce(nativeTypes.Object, value, strict);
10156
10157 var propertyName, propertyType, propertyValue;
10158
10159 try {
10160 for (propertyName in type) {
10161 propertyType = type[propertyName];
10162 propertyValue = value[propertyName];
10163
10164 typeforce(propertyType, propertyValue, strict);
10165 }
10166 } catch (e) {
10167 throw new TypeError(tfPropertyErrorString(propertyType, propertyName, propertyValue));
10168 }
10169
10170 if (strict) {
10171 for (propertyName in value) {
10172 if (type[propertyName]) continue;
10173
10174 throw new TypeError('Unexpected property "' + propertyName + '"');
10175 }
10176 }
10177
10178 return true;
10179 }
10180 object.toJSON = function () {
10181 return type;
10182 };
10183
10184 return object;
10185 },
10186
10187 oneOf: function oneOf() {
10188 for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
10189 types[_key] = arguments[_key];
10190 }
10191
10192 function oneOf(value, strict) {
10193 return types.some(function (type) {
10194 try {
10195 return typeforce(type, value, strict);
10196 } catch (e) {
10197 return false;
10198 }
10199 });
10200 }
10201 oneOf.toJSON = function () {
10202 return types.map(sJSON).join('|');
10203 };
10204
10205 return oneOf;
10206 },
10207
10208 quacksLike: function quacksLike(type) {
10209 function quacksLike(value, strict) {
10210 return type === getValueTypeName(value);
10211 }
10212 quacksLike.toJSON = function () {
10213 return type;
10214 };
10215
10216 return quacksLike;
10217 },
10218
10219 tuple: function tuple() {
10220 for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10221 types[_key2] = arguments[_key2];
10222 }
10223
10224 function tuple(value, strict) {
10225 return types.every(function (type, i) {
10226 return typeforce(type, value[i], strict);
10227 });
10228 }
10229 tuple.toJSON = function () {
10230 return '(' + types.map(sJSON).join(', ') + ')';
10231 };
10232
10233 return tuple;
10234 },
10235
10236 value: function value(expected) {
10237 function value(actual) {
10238 return actual === expected;
10239 }
10240 value.toJSON = function () {
10241 return expected;
10242 };
10243
10244 return value;
10245 }
10246};
10247
10248function compile(type) {
10249 if (nativeTypes.String(type)) {
10250 if (type[0] === '?') return otherTypes.maybe(compile(type.slice(1)));
10251
10252 return nativeTypes[type] || otherTypes.quacksLike(type);
10253 } else if (type && nativeTypes.Object(type)) {
10254 if (nativeTypes.Array(type)) return otherTypes.arrayOf(compile(type[0]));
10255
10256 var compiled = {};
10257
10258 for (var propertyName in type) {
10259 compiled[propertyName] = compile(type[propertyName]);
10260 }
10261
10262 return otherTypes.object(compiled);
10263 } else if (nativeTypes.Function(type)) {
10264 return type;
10265 }
10266
10267 return otherTypes.value(type);
ebd8d4e8
IC
10268}
10269
ab78acc6
IC
10270function typeforce(_x3, _x4, _x5) {
10271 var _again = true;
10272
10273 _function: while (_again) {
10274 var type = _x3,
10275 value = _x4,
10276 strict = _x5;
10277 _again = false;
10278
10279 if (nativeTypes.Function(type)) {
10280 if (type(value, strict)) return true;
10281
10282 throw new TypeError(tfErrorString(type, value));
10283 }
10284
10285 // JIT
10286 _x3 = compile(type);
10287 _x4 = value;
10288 _x5 = strict;
10289 _again = true;
10290 continue _function;
10291 }
ebd8d4e8
IC
10292}
10293
ab78acc6
IC
10294// assign all types to typeforce function
10295var typeName;
10296Object.keys(nativeTypes).forEach(function (typeName) {
10297 var nativeType = nativeTypes[typeName];
10298 nativeType.toJSON = function () {
10299 return typeName;
10300 };
10301
10302 typeforce[typeName] = nativeType;
10303});
ebd8d4e8 10304
ab78acc6
IC
10305for (typeName in otherTypes) {
10306 typeforce[typeName] = otherTypes[typeName];
10307}
ebd8d4e8 10308
ab78acc6
IC
10309module.exports = typeforce;
10310module.exports.compile = compile;
10311}).call(this,require("buffer").Buffer)
10312},{"buffer":7}],54:[function(require,module,exports){
ebd8d4e8 10313(function (Buffer){
ab78acc6
IC
10314var assert = require('assert')
10315var base58check = require('bs58check')
10316var typeForce = require('typeforce')
10317var networks = require('./networks')
10318var scripts = require('./scripts')
ebd8d4e8 10319
ab78acc6 10320function findScriptTypeByVersion (version) {
ebd8d4e8
IC
10321 for (var networkName in networks) {
10322 var network = networks[networkName]
10323
10324 if (version === network.pubKeyHash) return 'pubkeyhash'
10325 if (version === network.scriptHash) return 'scripthash'
10326 }
10327}
10328
ab78acc6
IC
10329function Address (hash, version) {
10330 typeForce('Buffer', hash)
10331
ebd8d4e8
IC
10332 assert.strictEqual(hash.length, 20, 'Invalid hash length')
10333 assert.strictEqual(version & 0xff, version, 'Invalid version byte')
10334
10335 this.hash = hash
10336 this.version = version
10337}
10338
ab78acc6 10339Address.fromBase58Check = function (string) {
ebd8d4e8
IC
10340 var payload = base58check.decode(string)
10341 var version = payload.readUInt8(0)
10342 var hash = payload.slice(1)
10343
10344 return new Address(hash, version)
10345}
10346
ab78acc6 10347Address.fromOutputScript = function (script, network) {
ebd8d4e8
IC
10348 network = network || networks.bitcoin
10349
ab78acc6
IC
10350 if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash)
10351 if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash)
ebd8d4e8 10352
ab78acc6 10353 assert(false, script.toASM() + ' has no matching Address')
ebd8d4e8
IC
10354}
10355
ebd8d4e8
IC
10356Address.prototype.toBase58Check = function () {
10357 var payload = new Buffer(21)
10358 payload.writeUInt8(this.version, 0)
10359 this.hash.copy(payload, 1)
10360
10361 return base58check.encode(payload)
10362}
10363
ab78acc6 10364Address.prototype.toOutputScript = function () {
ebd8d4e8
IC
10365 var scriptType = findScriptTypeByVersion(this.version)
10366
10367 if (scriptType === 'pubkeyhash') return scripts.pubKeyHashOutput(this.hash)
10368 if (scriptType === 'scripthash') return scripts.scriptHashOutput(this.hash)
10369
ab78acc6
IC
10370 assert(false, this.toString() + ' has no matching Script')
10371}
10372
10373Address.prototype.toString = Address.prototype.toBase58Check
10374
10375module.exports = Address
10376
10377}).call(this,require("buffer").Buffer)
10378},{"./networks":66,"./scripts":69,"assert":5,"bs58check":31,"buffer":7,"typeforce":53}],55:[function(require,module,exports){
10379var bs58check = require('bs58check')
10380
10381function decode () {
10382 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10383
10384 return bs58check.decode.apply(undefined, arguments)
10385}
10386
10387function encode () {
10388 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10389
10390 return bs58check.encode.apply(undefined, arguments)
10391}
10392
10393module.exports = {
10394 decode: decode,
10395 encode: encode
10396}
10397
10398},{"bs58check":31}],56:[function(require,module,exports){
10399(function (Buffer){
10400var assert = require('assert')
10401var bufferutils = require('./bufferutils')
10402var crypto = require('./crypto')
10403
10404var Transaction = require('./transaction')
10405
10406function Block () {
10407 this.version = 1
10408 this.prevHash = null
10409 this.merkleRoot = null
10410 this.timestamp = 0
10411 this.bits = 0
10412 this.nonce = 0
10413}
10414
10415Block.fromBuffer = function (buffer) {
10416 assert(buffer.length >= 80, 'Buffer too small (< 80 bytes)')
10417
10418 var offset = 0
10419 function readSlice (n) {
10420 offset += n
10421 return buffer.slice(offset - n, offset)
10422 }
10423
10424 function readUInt32 () {
10425 var i = buffer.readUInt32LE(offset)
10426 offset += 4
10427 return i
10428 }
10429
10430 var block = new Block()
10431 block.version = readUInt32()
10432 block.prevHash = readSlice(32)
10433 block.merkleRoot = readSlice(32)
10434 block.timestamp = readUInt32()
10435 block.bits = readUInt32()
10436 block.nonce = readUInt32()
10437
10438 if (buffer.length === 80) return block
10439
10440 function readVarInt () {
10441 var vi = bufferutils.readVarInt(buffer, offset)
10442 offset += vi.size
10443 return vi.number
10444 }
10445
10446 // FIXME: poor performance
10447 function readTransaction () {
10448 var tx = Transaction.fromBuffer(buffer.slice(offset), true)
10449
10450 offset += tx.toBuffer().length
10451 return tx
10452 }
10453
10454 var nTransactions = readVarInt()
10455 block.transactions = []
10456
10457 for (var i = 0; i < nTransactions; ++i) {
10458 var tx = readTransaction()
10459 block.transactions.push(tx)
10460 }
10461
10462 return block
10463}
10464
10465Block.fromHex = function (hex) {
10466 return Block.fromBuffer(new Buffer(hex, 'hex'))
10467}
10468
10469Block.prototype.getHash = function () {
10470 return crypto.hash256(this.toBuffer(true))
10471}
10472
10473Block.prototype.getId = function () {
10474 return bufferutils.reverse(this.getHash()).toString('hex')
ebd8d4e8
IC
10475}
10476
ab78acc6
IC
10477Block.prototype.getUTCDate = function () {
10478 var date = new Date(0) // epoch
10479 date.setUTCSeconds(this.timestamp)
ebd8d4e8 10480
ab78acc6
IC
10481 return date
10482}
ebd8d4e8 10483
ab78acc6
IC
10484Block.prototype.toBuffer = function (headersOnly) {
10485 var buffer = new Buffer(80)
ebd8d4e8 10486
ab78acc6
IC
10487 var offset = 0
10488 function writeSlice (slice) {
10489 slice.copy(buffer, offset)
10490 offset += slice.length
10491 }
ebd8d4e8 10492
ab78acc6
IC
10493 function writeUInt32 (i) {
10494 buffer.writeUInt32LE(i, offset)
10495 offset += 4
10496 }
ebd8d4e8 10497
ab78acc6
IC
10498 writeUInt32(this.version)
10499 writeSlice(this.prevHash)
10500 writeSlice(this.merkleRoot)
10501 writeUInt32(this.timestamp)
10502 writeUInt32(this.bits)
10503 writeUInt32(this.nonce)
ebd8d4e8 10504
ab78acc6 10505 if (headersOnly || !this.transactions) return buffer
ebd8d4e8 10506
ab78acc6
IC
10507 var txLenBuffer = bufferutils.varIntBuffer(this.transactions.length)
10508 var txBuffers = this.transactions.map(function (tx) {
10509 return tx.toBuffer()
10510 })
ebd8d4e8 10511
ab78acc6 10512 return Buffer.concat([buffer, txLenBuffer].concat(txBuffers))
ebd8d4e8
IC
10513}
10514
ab78acc6
IC
10515Block.prototype.toHex = function (headersOnly) {
10516 return this.toBuffer(headersOnly).toString('hex')
ebd8d4e8
IC
10517}
10518
ab78acc6
IC
10519module.exports = Block
10520
10521}).call(this,require("buffer").Buffer)
10522},{"./bufferutils":57,"./crypto":58,"./transaction":70,"assert":5,"buffer":7}],57:[function(require,module,exports){
10523(function (Buffer){
10524var assert = require('assert')
10525var opcodes = require('./opcodes')
ebd8d4e8
IC
10526
10527// https://github.com/feross/buffer/blob/master/index.js#L1127
ab78acc6 10528function verifuint (value, max) {
ebd8d4e8
IC
10529 assert(typeof value === 'number', 'cannot write a non-number as a number')
10530 assert(value >= 0, 'specified a negative value for writing an unsigned value')
10531 assert(value <= max, 'value is larger than maximum value for type')
10532 assert(Math.floor(value) === value, 'value has a fractional component')
10533}
10534
ab78acc6 10535function pushDataSize (i) {
ebd8d4e8 10536 return i < opcodes.OP_PUSHDATA1 ? 1
ab78acc6
IC
10537 : i < 0xff ? 2
10538 : i < 0xffff ? 3
10539 : 5
ebd8d4e8
IC
10540}
10541
ab78acc6 10542function readPushDataInt (buffer, offset) {
ebd8d4e8
IC
10543 var opcode = buffer.readUInt8(offset)
10544 var number, size
10545
10546 // ~6 bit
10547 if (opcode < opcodes.OP_PUSHDATA1) {
10548 number = opcode
10549 size = 1
10550
10551 // 8 bit
10552 } else if (opcode === opcodes.OP_PUSHDATA1) {
ab78acc6 10553 if (offset + 2 > buffer.length) return null
ebd8d4e8
IC
10554 number = buffer.readUInt8(offset + 1)
10555 size = 2
10556
10557 // 16 bit
10558 } else if (opcode === opcodes.OP_PUSHDATA2) {
ab78acc6 10559 if (offset + 3 > buffer.length) return null
ebd8d4e8
IC
10560 number = buffer.readUInt16LE(offset + 1)
10561 size = 3
10562
10563 // 32 bit
10564 } else {
ab78acc6 10565 if (offset + 5 > buffer.length) return null
ebd8d4e8
IC
10566 assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
10567
10568 number = buffer.readUInt32LE(offset + 1)
10569 size = 5
ebd8d4e8
IC
10570 }
10571
10572 return {
10573 opcode: opcode,
10574 number: number,
10575 size: size
10576 }
10577}
10578
ab78acc6 10579function readUInt64LE (buffer, offset) {
ebd8d4e8
IC
10580 var a = buffer.readUInt32LE(offset)
10581 var b = buffer.readUInt32LE(offset + 4)
10582 b *= 0x100000000
10583
10584 verifuint(b + a, 0x001fffffffffffff)
10585
10586 return b + a
10587}
10588
ab78acc6 10589function readVarInt (buffer, offset) {
ebd8d4e8
IC
10590 var t = buffer.readUInt8(offset)
10591 var number, size
10592
10593 // 8 bit
10594 if (t < 253) {
10595 number = t
10596 size = 1
10597
10598 // 16 bit
10599 } else if (t < 254) {
10600 number = buffer.readUInt16LE(offset + 1)
10601 size = 3
10602
10603 // 32 bit
10604 } else if (t < 255) {
10605 number = buffer.readUInt32LE(offset + 1)
10606 size = 5
10607
10608 // 64 bit
10609 } else {
10610 number = readUInt64LE(buffer, offset + 1)
10611 size = 9
10612 }
10613
10614 return {
10615 number: number,
10616 size: size
10617 }
10618}
10619
ab78acc6 10620function writePushDataInt (buffer, number, offset) {
ebd8d4e8
IC
10621 var size = pushDataSize(number)
10622
10623 // ~6 bit
10624 if (size === 1) {
10625 buffer.writeUInt8(number, offset)
10626
10627 // 8 bit
10628 } else if (size === 2) {
10629 buffer.writeUInt8(opcodes.OP_PUSHDATA1, offset)
10630 buffer.writeUInt8(number, offset + 1)
10631
10632 // 16 bit
10633 } else if (size === 3) {
10634 buffer.writeUInt8(opcodes.OP_PUSHDATA2, offset)
10635 buffer.writeUInt16LE(number, offset + 1)
10636
10637 // 32 bit
10638 } else {
10639 buffer.writeUInt8(opcodes.OP_PUSHDATA4, offset)
10640 buffer.writeUInt32LE(number, offset + 1)
ebd8d4e8
IC
10641 }
10642
10643 return size
10644}
10645
ab78acc6 10646function writeUInt64LE (buffer, value, offset) {
ebd8d4e8
IC
10647 verifuint(value, 0x001fffffffffffff)
10648
10649 buffer.writeInt32LE(value & -1, offset)
10650 buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4)
10651}
10652
ab78acc6
IC
10653function varIntSize (i) {
10654 return i < 253 ? 1
10655 : i < 0x10000 ? 3
10656 : i < 0x100000000 ? 5
10657 : 9
ebd8d4e8
IC
10658}
10659
ab78acc6 10660function writeVarInt (buffer, number, offset) {
ebd8d4e8
IC
10661 var size = varIntSize(number)
10662
10663 // 8 bit
10664 if (size === 1) {
10665 buffer.writeUInt8(number, offset)
10666
10667 // 16 bit
10668 } else if (size === 3) {
10669 buffer.writeUInt8(253, offset)
10670 buffer.writeUInt16LE(number, offset + 1)
10671
10672 // 32 bit
10673 } else if (size === 5) {
10674 buffer.writeUInt8(254, offset)
10675 buffer.writeUInt32LE(number, offset + 1)
10676
10677 // 64 bit
10678 } else {
10679 buffer.writeUInt8(255, offset)
10680 writeUInt64LE(buffer, number, offset + 1)
10681 }
10682
10683 return size
10684}
10685
ab78acc6
IC
10686function varIntBuffer (i) {
10687 var size = varIntSize(i)
10688 var buffer = new Buffer(size)
10689 writeVarInt(buffer, i, 0)
10690
10691 return buffer
10692}
10693
10694function reverse (buffer) {
10695 var buffer2 = new Buffer(buffer)
10696 Array.prototype.reverse.call(buffer2)
10697 return buffer2
10698}
10699
ebd8d4e8
IC
10700module.exports = {
10701 pushDataSize: pushDataSize,
10702 readPushDataInt: readPushDataInt,
10703 readUInt64LE: readUInt64LE,
10704 readVarInt: readVarInt,
ab78acc6
IC
10705 reverse: reverse,
10706 varIntBuffer: varIntBuffer,
ebd8d4e8
IC
10707 varIntSize: varIntSize,
10708 writePushDataInt: writePushDataInt,
10709 writeUInt64LE: writeUInt64LE,
10710 writeVarInt: writeVarInt
10711}
10712
ab78acc6
IC
10713}).call(this,require("buffer").Buffer)
10714},{"./opcodes":67,"assert":5,"buffer":7}],58:[function(require,module,exports){
10715var createHash = require('create-hash')
ebd8d4e8 10716
ab78acc6 10717function hash160 (buffer) {
ebd8d4e8
IC
10718 return ripemd160(sha256(buffer))
10719}
10720
ab78acc6 10721function hash256 (buffer) {
ebd8d4e8
IC
10722 return sha256(sha256(buffer))
10723}
10724
ab78acc6
IC
10725function ripemd160 (buffer) {
10726 return createHash('rmd160').update(buffer).digest()
ebd8d4e8
IC
10727}
10728
ab78acc6
IC
10729function sha1 (buffer) {
10730 return createHash('sha1').update(buffer).digest()
ebd8d4e8
IC
10731}
10732
ab78acc6
IC
10733function sha256 (buffer) {
10734 return createHash('sha256').update(buffer).digest()
ebd8d4e8
IC
10735}
10736
10737// FIXME: Name not consistent with others
ab78acc6 10738var createHmac = require('create-hmac')
ebd8d4e8 10739
ab78acc6
IC
10740function HmacSHA256 (buffer, secret) {
10741 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10742 return createHmac('sha256', secret).update(buffer).digest()
10743}
ebd8d4e8 10744
ab78acc6
IC
10745function HmacSHA512 (buffer, secret) {
10746 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10747 return createHmac('sha512', secret).update(buffer).digest()
ebd8d4e8
IC
10748}
10749
10750module.exports = {
10751 ripemd160: ripemd160,
10752 sha1: sha1,
10753 sha256: sha256,
10754 hash160: hash160,
10755 hash256: hash256,
10756 HmacSHA256: HmacSHA256,
10757 HmacSHA512: HmacSHA512
10758}
10759
ab78acc6 10760},{"create-hash":32,"create-hmac":45}],59:[function(require,module,exports){
ebd8d4e8 10761(function (Buffer){
ab78acc6
IC
10762var assert = require('assert')
10763var createHmac = require('create-hmac')
10764var typeForce = require('typeforce')
ebd8d4e8 10765
ab78acc6
IC
10766var BigInteger = require('bigi')
10767var ECSignature = require('./ecsignature')
10768
10769var ZERO = new Buffer([0])
10770var ONE = new Buffer([1])
ebd8d4e8
IC
10771
10772// https://tools.ietf.org/html/rfc6979#section-3.2
ab78acc6
IC
10773function deterministicGenerateK (curve, hash, d, checkSig) {
10774 typeForce('Buffer', hash)
10775 typeForce('BigInteger', d)
10776
10777 // FIXME: remove/uncomment for 2.0.0
10778 // typeForce('Function', checkSig)
10779
10780 if (typeof checkSig !== 'function') {
10781 console.warn('deterministicGenerateK requires a checkSig callback in 2.0.0, see #337 for more information')
10782
10783 checkSig = function (k) {
10784 var G = curve.G
10785 var n = curve.n
10786 var e = BigInteger.fromBuffer(hash)
10787
10788 var Q = G.multiply(k)
10789
10790 if (curve.isInfinity(Q))
10791 return false
10792
10793 var r = Q.affineX.mod(n)
10794 if (r.signum() === 0)
10795 return false
10796
10797 var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10798 if (s.signum() === 0)
10799 return false
10800
10801 return true
10802 }
10803 }
10804
10805 // sanity check
ebd8d4e8 10806 assert.equal(hash.length, 32, 'Hash must be 256 bit')
ebd8d4e8
IC
10807
10808 var x = d.toBuffer(32)
10809 var k = new Buffer(32)
10810 var v = new Buffer(32)
10811
ab78acc6 10812 // Step A, ignored as hash already provided
ebd8d4e8
IC
10813 // Step B
10814 v.fill(1)
10815
10816 // Step C
10817 k.fill(0)
10818
10819 // Step D
ab78acc6
IC
10820 k = createHmac('sha256', k)
10821 .update(v)
10822 .update(ZERO)
10823 .update(x)
10824 .update(hash)
10825 .digest()
ebd8d4e8
IC
10826
10827 // Step E
ab78acc6 10828 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10829
10830 // Step F
ab78acc6
IC
10831 k = createHmac('sha256', k)
10832 .update(v)
10833 .update(ONE)
10834 .update(x)
10835 .update(hash)
10836 .digest()
ebd8d4e8
IC
10837
10838 // Step G
ab78acc6 10839 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10840
10841 // Step H1/H2a, ignored as tlen === qlen (256 bit)
10842 // Step H2b
ab78acc6 10843 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10844
10845 var T = BigInteger.fromBuffer(v)
10846
ab78acc6
IC
10847 // Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
10848 while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
10849 k = createHmac('sha256', k)
10850 .update(v)
10851 .update(ZERO)
10852 .digest()
10853
10854 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8 10855
ab78acc6
IC
10856 // Step H1/H2a, again, ignored as tlen === qlen (256 bit)
10857 // Step H2b again
10858 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10859 T = BigInteger.fromBuffer(v)
10860 }
10861
10862 return T
10863}
10864
ab78acc6
IC
10865function sign (curve, hash, d) {
10866 var r, s
ebd8d4e8 10867
ab78acc6 10868 var e = BigInteger.fromBuffer(hash)
ebd8d4e8
IC
10869 var n = curve.n
10870 var G = curve.G
ebd8d4e8 10871
ab78acc6
IC
10872 deterministicGenerateK(curve, hash, d, function (k) {
10873 var Q = G.multiply(k)
10874
10875 if (curve.isInfinity(Q))
10876 return false
10877
10878 r = Q.affineX.mod(n)
10879 if (r.signum() === 0)
10880 return false
10881
10882 s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10883 if (s.signum() === 0)
10884 return false
ebd8d4e8 10885
ab78acc6
IC
10886 return true
10887 })
ebd8d4e8
IC
10888
10889 var N_OVER_TWO = n.shiftRight(1)
10890
10891 // enforce low S values, see bip62: 'low s values in signatures'
10892 if (s.compareTo(N_OVER_TWO) > 0) {
10893 s = n.subtract(s)
10894 }
10895
10896 return new ECSignature(r, s)
10897}
10898
ab78acc6 10899function verifyRaw (curve, e, signature, Q) {
ebd8d4e8
IC
10900 var n = curve.n
10901 var G = curve.G
10902
10903 var r = signature.r
10904 var s = signature.s
10905
ab78acc6
IC
10906 // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]
10907 if (r.signum() <= 0 || r.compareTo(n) >= 0) return false
10908 if (s.signum() <= 0 || s.compareTo(n) >= 0) return false
ebd8d4e8 10909
ab78acc6 10910 // c = s^-1 mod n
ebd8d4e8
IC
10911 var c = s.modInverse(n)
10912
ab78acc6
IC
10913 // 1.4.4 Compute u1 = es^−1 mod n
10914 // u2 = rs^−1 mod n
ebd8d4e8
IC
10915 var u1 = e.multiply(c).mod(n)
10916 var u2 = r.multiply(c).mod(n)
10917
ab78acc6
IC
10918 // 1.4.5 Compute R = (xR, yR) = u1G + u2Q
10919 var R = G.multiplyTwo(u1, Q, u2)
10920 var v = R.affineX.mod(n)
ebd8d4e8 10921
ab78acc6
IC
10922 // 1.4.5 (cont.) Enforce R is not at infinity
10923 if (curve.isInfinity(R)) return false
10924
10925 // 1.4.8 If v = r, output "valid", and if v != r, output "invalid"
ebd8d4e8
IC
10926 return v.equals(r)
10927}
10928
ab78acc6
IC
10929function verify (curve, hash, signature, Q) {
10930 // 1.4.2 H = Hash(M), already done by the user
10931 // 1.4.3 e = H
10932 var e = BigInteger.fromBuffer(hash)
10933
10934 return verifyRaw(curve, e, signature, Q)
10935}
10936
ebd8d4e8
IC
10937/**
10938 * Recover a public key from a signature.
10939 *
10940 * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, "Public
10941 * Key Recovery Operation".
10942 *
10943 * http://www.secg.org/download/aid-780/sec1-v2.pdf
10944 */
ab78acc6 10945function recoverPubKey (curve, e, signature, i) {
ebd8d4e8
IC
10946 assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')
10947
ab78acc6
IC
10948 var n = curve.n
10949 var G = curve.G
10950
ebd8d4e8
IC
10951 var r = signature.r
10952 var s = signature.s
10953
ab78acc6
IC
10954 assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')
10955 assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')
10956
ebd8d4e8
IC
10957 // A set LSB signifies that the y-coordinate is odd
10958 var isYOdd = i & 1
10959
10960 // The more significant bit specifies whether we should use the
10961 // first or second candidate key.
10962 var isSecondKey = i >> 1
10963
ebd8d4e8
IC
10964 // 1.1 Let x = r + jn
10965 var x = isSecondKey ? r.add(n) : r
10966 var R = curve.pointFromX(isYOdd, x)
10967
10968 // 1.4 Check that nR is at infinity
10969 var nR = R.multiply(n)
10970 assert(curve.isInfinity(nR), 'nR is not a valid curve point')
10971
10972 // Compute -e from e
10973 var eNeg = e.negate().mod(n)
10974
10975 // 1.6.1 Compute Q = r^-1 (sR - eG)
10976 // Q = r^-1 (sR + -eG)
10977 var rInv = r.modInverse(n)
10978
10979 var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)
10980 curve.validate(Q)
10981
10982 return Q
10983}
10984
10985/**
10986 * Calculate pubkey extraction parameter.
10987 *
10988 * When extracting a pubkey from a signature, we have to
10989 * distinguish four different cases. Rather than putting this
10990 * burden on the verifier, Bitcoin includes a 2-bit value with the
10991 * signature.
10992 *
10993 * This function simply tries all four cases and returns the value
10994 * that resulted in a successful pubkey recovery.
10995 */
ab78acc6 10996function calcPubKeyRecoveryParam (curve, e, signature, Q) {
ebd8d4e8
IC
10997 for (var i = 0; i < 4; i++) {
10998 var Qprime = recoverPubKey(curve, e, signature, i)
10999
11000 // 1.6.2 Verify Q
11001 if (Qprime.equals(Q)) {
11002 return i
11003 }
11004 }
11005
11006 throw new Error('Unable to find valid recovery factor')
11007}
11008
11009module.exports = {
11010 calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,
11011 deterministicGenerateK: deterministicGenerateK,
11012 recoverPubKey: recoverPubKey,
11013 sign: sign,
11014 verify: verify,
11015 verifyRaw: verifyRaw
11016}
11017
ab78acc6
IC
11018}).call(this,require("buffer").Buffer)
11019},{"./ecsignature":62,"assert":5,"bigi":3,"buffer":7,"create-hmac":45,"typeforce":53}],60:[function(require,module,exports){
ebd8d4e8 11020(function (Buffer){
ab78acc6
IC
11021var assert = require('assert')
11022var base58check = require('bs58check')
11023var ecdsa = require('./ecdsa')
11024var networks = require('./networks')
11025var randomBytes = require('randombytes')
11026var typeForce = require('typeforce')
ebd8d4e8 11027
ab78acc6
IC
11028var BigInteger = require('bigi')
11029var ECPubKey = require('./ecpubkey')
ebd8d4e8 11030
ab78acc6
IC
11031var ecurve = require('ecurve')
11032var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11033
ab78acc6 11034function ECKey (d, compressed) {
ebd8d4e8 11035 assert(d.signum() > 0, 'Private key must be greater than 0')
ab78acc6 11036 assert(d.compareTo(ECKey.curve.n) < 0, 'Private key must be less than the curve order')
ebd8d4e8 11037
ab78acc6 11038 var Q = ECKey.curve.G.multiply(d)
ebd8d4e8
IC
11039
11040 this.d = d
11041 this.pub = new ECPubKey(Q, compressed)
11042}
11043
ab78acc6
IC
11044// Constants
11045ECKey.curve = secp256k1
11046
ebd8d4e8 11047// Static constructors
ab78acc6 11048ECKey.fromWIF = function (string) {
ebd8d4e8
IC
11049 var payload = base58check.decode(string)
11050 var compressed = false
11051
11052 // Ignore the version byte
11053 payload = payload.slice(1)
11054
11055 if (payload.length === 33) {
11056 assert.strictEqual(payload[32], 0x01, 'Invalid compression flag')
11057
11058 // Truncate the compression flag
11059 payload = payload.slice(0, -1)
11060 compressed = true
11061 }
11062
11063 assert.equal(payload.length, 32, 'Invalid WIF payload length')
11064
11065 var d = BigInteger.fromBuffer(payload)
11066 return new ECKey(d, compressed)
11067}
11068
ab78acc6
IC
11069ECKey.makeRandom = function (compressed, rng) {
11070 rng = rng || randomBytes
ebd8d4e8
IC
11071
11072 var buffer = rng(32)
ab78acc6
IC
11073 typeForce('Buffer', buffer)
11074 assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
ebd8d4e8
IC
11075
11076 var d = BigInteger.fromBuffer(buffer)
ab78acc6 11077 d = d.mod(ECKey.curve.n)
ebd8d4e8
IC
11078
11079 return new ECKey(d, compressed)
11080}
11081
11082// Export functions
ab78acc6 11083ECKey.prototype.toWIF = function (network) {
ebd8d4e8
IC
11084 network = network || networks.bitcoin
11085
11086 var bufferLen = this.pub.compressed ? 34 : 33
11087 var buffer = new Buffer(bufferLen)
11088
11089 buffer.writeUInt8(network.wif, 0)
11090 this.d.toBuffer(32).copy(buffer, 1)
11091
11092 if (this.pub.compressed) {
11093 buffer.writeUInt8(0x01, 33)
11094 }
11095
11096 return base58check.encode(buffer)
11097}
11098
11099// Operations
ab78acc6
IC
11100ECKey.prototype.sign = function (hash) {
11101 return ecdsa.sign(ECKey.curve, hash, this.d)
ebd8d4e8
IC
11102}
11103
11104module.exports = ECKey
11105
ab78acc6
IC
11106}).call(this,require("buffer").Buffer)
11107},{"./ecdsa":59,"./ecpubkey":61,"./networks":66,"assert":5,"bigi":3,"bs58check":31,"buffer":7,"ecurve":49,"randombytes":52,"typeforce":53}],61:[function(require,module,exports){
ebd8d4e8 11108(function (Buffer){
ab78acc6
IC
11109var crypto = require('./crypto')
11110var ecdsa = require('./ecdsa')
11111var typeForce = require('typeforce')
11112var networks = require('./networks')
ebd8d4e8 11113
ab78acc6 11114var Address = require('./address')
ebd8d4e8 11115
ab78acc6
IC
11116var ecurve = require('ecurve')
11117var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11118
ab78acc6
IC
11119function ECPubKey (Q, compressed) {
11120 if (compressed === undefined) {
11121 compressed = true
11122 }
ebd8d4e8 11123
ab78acc6
IC
11124 typeForce('Point', Q)
11125 typeForce('Boolean', compressed)
ebd8d4e8
IC
11126
11127 this.compressed = compressed
11128 this.Q = Q
11129}
11130
ab78acc6
IC
11131// Constants
11132ECPubKey.curve = secp256k1
11133
ebd8d4e8 11134// Static constructors
ab78acc6
IC
11135ECPubKey.fromBuffer = function (buffer) {
11136 var Q = ecurve.Point.decodeFrom(ECPubKey.curve, buffer)
ebd8d4e8
IC
11137 return new ECPubKey(Q, Q.compressed)
11138}
11139
ab78acc6 11140ECPubKey.fromHex = function (hex) {
ebd8d4e8
IC
11141 return ECPubKey.fromBuffer(new Buffer(hex, 'hex'))
11142}
11143
11144// Operations
ab78acc6 11145ECPubKey.prototype.getAddress = function (network) {
ebd8d4e8
IC
11146 network = network || networks.bitcoin
11147
11148 return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash)
11149}
11150
ab78acc6
IC
11151ECPubKey.prototype.verify = function (hash, signature) {
11152 return ecdsa.verify(ECPubKey.curve, hash, signature, this.Q)
ebd8d4e8
IC
11153}
11154
11155// Export functions
ab78acc6 11156ECPubKey.prototype.toBuffer = function () {
ebd8d4e8
IC
11157 return this.Q.getEncoded(this.compressed)
11158}
11159
ab78acc6 11160ECPubKey.prototype.toHex = function () {
ebd8d4e8
IC
11161 return this.toBuffer().toString('hex')
11162}
11163
11164module.exports = ECPubKey
11165
ab78acc6
IC
11166}).call(this,require("buffer").Buffer)
11167},{"./address":54,"./crypto":58,"./ecdsa":59,"./networks":66,"buffer":7,"ecurve":49,"typeforce":53}],62:[function(require,module,exports){
ebd8d4e8 11168(function (Buffer){
ab78acc6
IC
11169var assert = require('assert')
11170var typeForce = require('typeforce')
11171
11172var BigInteger = require('bigi')
11173
11174function ECSignature (r, s) {
11175 typeForce('BigInteger', r)
11176 typeForce('BigInteger', s)
ebd8d4e8 11177
ebd8d4e8
IC
11178 this.r = r
11179 this.s = s
11180}
11181
ab78acc6 11182ECSignature.parseCompact = function (buffer) {
ebd8d4e8
IC
11183 assert.equal(buffer.length, 65, 'Invalid signature length')
11184 var i = buffer.readUInt8(0) - 27
11185
11186 // At most 3 bits
11187 assert.equal(i, i & 7, 'Invalid signature parameter')
11188 var compressed = !!(i & 4)
11189
11190 // Recovery param only
11191 i = i & 3
11192
11193 var r = BigInteger.fromBuffer(buffer.slice(1, 33))
11194 var s = BigInteger.fromBuffer(buffer.slice(33))
11195
11196 return {
11197 compressed: compressed,
11198 i: i,
11199 signature: new ECSignature(r, s)
11200 }
11201}
11202
ab78acc6 11203ECSignature.fromDER = function (buffer) {
ebd8d4e8
IC
11204 assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')
11205 assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')
11206 assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')
11207
11208 var rLen = buffer.readUInt8(3)
11209 assert(rLen > 0, 'R length is zero')
11210
11211 var offset = 4 + rLen
11212 assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')
11213
11214 var sLen = buffer.readUInt8(offset + 1)
11215 assert(sLen > 0, 'S length is zero')
11216
11217 var rB = buffer.slice(4, offset)
11218 var sB = buffer.slice(offset + 2)
11219 offset += 2 + sLen
11220
11221 if (rLen > 1 && rB.readUInt8(0) === 0x00) {
11222 assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')
11223 }
11224
11225 if (sLen > 1 && sB.readUInt8(0) === 0x00) {
11226 assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')
11227 }
11228
11229 assert.equal(offset, buffer.length, 'Invalid DER encoding')
11230 var r = BigInteger.fromDERInteger(rB)
11231 var s = BigInteger.fromDERInteger(sB)
11232
11233 assert(r.signum() >= 0, 'R value is negative')
11234 assert(s.signum() >= 0, 'S value is negative')
11235
11236 return new ECSignature(r, s)
11237}
11238
ab78acc6
IC
11239// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
11240ECSignature.parseScriptSignature = function (buffer) {
ebd8d4e8
IC
11241 var hashType = buffer.readUInt8(buffer.length - 1)
11242 var hashTypeMod = hashType & ~0x80
11243
ab78acc6 11244 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
ebd8d4e8
IC
11245
11246 return {
11247 signature: ECSignature.fromDER(buffer.slice(0, -1)),
11248 hashType: hashType
11249 }
11250}
11251
ab78acc6
IC
11252ECSignature.prototype.toCompact = function (i, compressed) {
11253 if (compressed) {
11254 i += 4
11255 }
11256
ebd8d4e8
IC
11257 i += 27
11258
11259 var buffer = new Buffer(65)
11260 buffer.writeUInt8(i, 0)
11261
11262 this.r.toBuffer(32).copy(buffer, 1)
11263 this.s.toBuffer(32).copy(buffer, 33)
11264
11265 return buffer
11266}
11267
ab78acc6 11268ECSignature.prototype.toDER = function () {
ebd8d4e8
IC
11269 var rBa = this.r.toDERInteger()
11270 var sBa = this.s.toDERInteger()
11271
11272 var sequence = []
ab78acc6
IC
11273
11274 // INTEGER
11275 sequence.push(0x02, rBa.length)
ebd8d4e8
IC
11276 sequence = sequence.concat(rBa)
11277
ab78acc6
IC
11278 // INTEGER
11279 sequence.push(0x02, sBa.length)
ebd8d4e8
IC
11280 sequence = sequence.concat(sBa)
11281
ab78acc6
IC
11282 // SEQUENCE
11283 sequence.unshift(0x30, sequence.length)
ebd8d4e8
IC
11284
11285 return new Buffer(sequence)
11286}
11287
ab78acc6
IC
11288ECSignature.prototype.toScriptSignature = function (hashType) {
11289 var hashTypeMod = hashType & ~0x80
11290 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
11291
ebd8d4e8
IC
11292 var hashTypeBuffer = new Buffer(1)
11293 hashTypeBuffer.writeUInt8(hashType, 0)
11294
11295 return Buffer.concat([this.toDER(), hashTypeBuffer])
11296}
11297
11298module.exports = ECSignature
11299
ab78acc6
IC
11300}).call(this,require("buffer").Buffer)
11301},{"assert":5,"bigi":3,"buffer":7,"typeforce":53}],63:[function(require,module,exports){
ebd8d4e8 11302(function (Buffer){
ab78acc6
IC
11303var assert = require('assert')
11304var base58check = require('bs58check')
11305var bcrypto = require('./crypto')
11306var createHmac = require('create-hmac')
11307var typeForce = require('typeforce')
11308var networks = require('./networks')
11309
11310var BigInteger = require('bigi')
11311var ECKey = require('./eckey')
11312var ECPubKey = require('./ecpubkey')
11313
11314var ecurve = require('ecurve')
ebd8d4e8
IC
11315var curve = ecurve.getCurveByName('secp256k1')
11316
ab78acc6 11317function findBIP32NetworkByVersion (version) {
ebd8d4e8
IC
11318 for (var name in networks) {
11319 var network = networks[name]
11320
ab78acc6
IC
11321 if (version === network.bip32.private || version === network.bip32.public) {
11322 return network
ebd8d4e8
IC
11323 }
11324 }
11325
ab78acc6 11326 assert(false, 'Could not find network for ' + version.toString(16))
ebd8d4e8
IC
11327}
11328
ab78acc6 11329function HDNode (K, chainCode, network) {
ebd8d4e8
IC
11330 network = network || networks.bitcoin
11331
ab78acc6
IC
11332 typeForce('Buffer', chainCode)
11333
11334 assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
ebd8d4e8
IC
11335 assert(network.bip32, 'Unknown BIP32 constants for network')
11336
11337 this.chainCode = chainCode
11338 this.depth = 0
11339 this.index = 0
ab78acc6 11340 this.parentFingerprint = 0x00000000
ebd8d4e8
IC
11341 this.network = network
11342
11343 if (K instanceof BigInteger) {
11344 this.privKey = new ECKey(K, true)
11345 this.pubKey = this.privKey.pub
ab78acc6
IC
11346 } else if (K instanceof ECKey) {
11347 assert(K.pub.compressed, 'ECKey must be compressed')
11348 this.privKey = K
11349 this.pubKey = K.pub
11350 } else if (K instanceof ECPubKey) {
11351 assert(K.compressed, 'ECPubKey must be compressed')
11352 this.pubKey = K
ebd8d4e8
IC
11353 } else {
11354 this.pubKey = new ECPubKey(K, true)
11355 }
11356}
11357
11358HDNode.MASTER_SECRET = new Buffer('Bitcoin seed')
11359HDNode.HIGHEST_BIT = 0x80000000
11360HDNode.LENGTH = 78
11361
ab78acc6
IC
11362HDNode.fromSeedBuffer = function (seed, network) {
11363 typeForce('Buffer', seed)
11364
11365 assert(seed.length >= 16, 'Seed should be at least 128 bits')
11366 assert(seed.length <= 64, 'Seed should be at most 512 bits')
11367
11368 var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
ebd8d4e8
IC
11369 var IL = I.slice(0, 32)
11370 var IR = I.slice(32)
11371
11372 // In case IL is 0 or >= n, the master key is invalid
11373 // This is handled by `new ECKey` in the HDNode constructor
11374 var pIL = BigInteger.fromBuffer(IL)
11375
11376 return new HDNode(pIL, IR, network)
11377}
11378
ab78acc6 11379HDNode.fromSeedHex = function (hex, network) {
ebd8d4e8
IC
11380 return HDNode.fromSeedBuffer(new Buffer(hex, 'hex'), network)
11381}
11382
ab78acc6
IC
11383HDNode.fromBase58 = function (string, network) {
11384 return HDNode.fromBuffer(base58check.decode(string), network, true)
ebd8d4e8
IC
11385}
11386
ab78acc6
IC
11387// FIXME: remove in 2.x.y
11388HDNode.fromBuffer = function (buffer, network, __ignoreDeprecation) {
11389 if (!__ignoreDeprecation) {
11390 console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead')
11391 }
11392
ebd8d4e8
IC
11393 assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length')
11394
11395 // 4 byte: version bytes
11396 var version = buffer.readUInt32BE(0)
ab78acc6
IC
11397
11398 if (network) {
11399 assert(version === network.bip32.private || version === network.bip32.public, "Network doesn't match")
11400
11401 // auto-detect
11402 } else {
11403 network = findBIP32NetworkByVersion(version)
11404 }
ebd8d4e8
IC
11405
11406 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
11407 var depth = buffer.readUInt8(4)
11408
11409 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
11410 var parentFingerprint = buffer.readUInt32BE(5)
11411 if (depth === 0) {
11412 assert.strictEqual(parentFingerprint, 0x00000000, 'Invalid parent fingerprint')
11413 }
11414
11415 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11416 // This is encoded in MSB order. (0x00000000 if master key)
11417 var index = buffer.readUInt32BE(9)
11418 assert(depth > 0 || index === 0, 'Invalid index')
11419
11420 // 32 bytes: the chain code
11421 var chainCode = buffer.slice(13, 45)
ab78acc6 11422 var data, hd
ebd8d4e8
IC
11423
11424 // 33 bytes: private key data (0x00 + k)
ab78acc6 11425 if (version === network.bip32.private) {
ebd8d4e8 11426 assert.strictEqual(buffer.readUInt8(45), 0x00, 'Invalid private key')
ab78acc6 11427 data = buffer.slice(46, 78)
ebd8d4e8 11428 var d = BigInteger.fromBuffer(data)
ab78acc6 11429 hd = new HDNode(d, chainCode, network)
ebd8d4e8
IC
11430
11431 // 33 bytes: public key data (0x02 + X or 0x03 + X)
11432 } else {
ab78acc6 11433 data = buffer.slice(45, 78)
ebd8d4e8
IC
11434 var Q = ecurve.Point.decodeFrom(curve, data)
11435 assert.equal(Q.compressed, true, 'Invalid public key')
11436
11437 // Verify that the X coordinate in the public point corresponds to a point on the curve.
11438 // If not, the extended public key is invalid.
11439 curve.validate(Q)
11440
ab78acc6 11441 hd = new HDNode(Q, chainCode, network)
ebd8d4e8
IC
11442 }
11443
11444 hd.depth = depth
11445 hd.index = index
11446 hd.parentFingerprint = parentFingerprint
11447
11448 return hd
11449}
11450
ab78acc6
IC
11451// FIXME: remove in 2.x.y
11452HDNode.fromHex = function (hex, network) {
11453 return HDNode.fromBuffer(new Buffer(hex, 'hex'), network)
ebd8d4e8
IC
11454}
11455
ab78acc6
IC
11456HDNode.prototype.getIdentifier = function () {
11457 return bcrypto.hash160(this.pubKey.toBuffer())
ebd8d4e8
IC
11458}
11459
ab78acc6 11460HDNode.prototype.getFingerprint = function () {
ebd8d4e8
IC
11461 return this.getIdentifier().slice(0, 4)
11462}
11463
ab78acc6 11464HDNode.prototype.getAddress = function () {
ebd8d4e8
IC
11465 return this.pubKey.getAddress(this.network)
11466}
11467
ab78acc6
IC
11468HDNode.prototype.neutered = function () {
11469 var neutered = new HDNode(this.pubKey.Q, this.chainCode, this.network)
11470 neutered.depth = this.depth
11471 neutered.index = this.index
11472 neutered.parentFingerprint = this.parentFingerprint
11473
11474 return neutered
11475}
11476
11477HDNode.prototype.toBase58 = function (isPrivate) {
11478 return base58check.encode(this.toBuffer(isPrivate, true))
ebd8d4e8
IC
11479}
11480
ab78acc6
IC
11481// FIXME: remove in 2.x.y
11482HDNode.prototype.toBuffer = function (isPrivate, __ignoreDeprecation) {
11483 if (isPrivate === undefined) {
11484 isPrivate = !!this.privKey
11485
11486 // FIXME: remove in 2.x.y
11487 } else {
11488 console.warn('isPrivate flag is deprecated, please use the .neutered() method instead')
11489 }
11490
11491 if (!__ignoreDeprecation) {
11492 console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead')
11493 }
ebd8d4e8
IC
11494
11495 // Version
11496 var version = isPrivate ? this.network.bip32.private : this.network.bip32.public
11497 var buffer = new Buffer(HDNode.LENGTH)
11498
11499 // 4 bytes: version bytes
11500 buffer.writeUInt32BE(version, 0)
11501
11502 // Depth
11503 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
11504 buffer.writeUInt8(this.depth, 4)
11505
11506 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
ab78acc6 11507 buffer.writeUInt32BE(this.parentFingerprint, 5)
ebd8d4e8
IC
11508
11509 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11510 // This is encoded in Big endian. (0x00000000 if master key)
11511 buffer.writeUInt32BE(this.index, 9)
11512
11513 // 32 bytes: the chain code
11514 this.chainCode.copy(buffer, 13)
11515
11516 // 33 bytes: the public key or private key data
11517 if (isPrivate) {
ab78acc6 11518 // FIXME: remove in 2.x.y
ebd8d4e8
IC
11519 assert(this.privKey, 'Missing private key')
11520
11521 // 0x00 + k for private keys
11522 buffer.writeUInt8(0, 45)
11523 this.privKey.d.toBuffer(32).copy(buffer, 46)
11524 } else {
ebd8d4e8
IC
11525 // X9.62 encoding for public keys
11526 this.pubKey.toBuffer().copy(buffer, 45)
11527 }
11528
11529 return buffer
11530}
11531
ab78acc6
IC
11532// FIXME: remove in 2.x.y
11533HDNode.prototype.toHex = function (isPrivate) {
ebd8d4e8
IC
11534 return this.toBuffer(isPrivate).toString('hex')
11535}
11536
11537// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
ab78acc6 11538HDNode.prototype.derive = function (index) {
ebd8d4e8
IC
11539 var isHardened = index >= HDNode.HIGHEST_BIT
11540 var indexBuffer = new Buffer(4)
11541 indexBuffer.writeUInt32BE(index, 0)
11542
11543 var data
11544
11545 // Hardened child
11546 if (isHardened) {
11547 assert(this.privKey, 'Could not derive hardened child key')
11548
11549 // data = 0x00 || ser256(kpar) || ser32(index)
11550 data = Buffer.concat([
11551 this.privKey.d.toBuffer(33),
11552 indexBuffer
11553 ])
11554
11555 // Normal child
11556 } else {
11557 // data = serP(point(kpar)) || ser32(index)
11558 // = serP(Kpar) || ser32(index)
11559 data = Buffer.concat([
11560 this.pubKey.toBuffer(),
11561 indexBuffer
11562 ])
11563 }
11564
ab78acc6 11565 var I = createHmac('sha512', this.chainCode).update(data).digest()
ebd8d4e8
IC
11566 var IL = I.slice(0, 32)
11567 var IR = I.slice(32)
11568
11569 var pIL = BigInteger.fromBuffer(IL)
11570
11571 // In case parse256(IL) >= n, proceed with the next value for i
11572 if (pIL.compareTo(curve.n) >= 0) {
11573 return this.derive(index + 1)
11574 }
11575
11576 // Private parent key -> private child key
11577 var hd
11578 if (this.privKey) {
11579 // ki = parse256(IL) + kpar (mod n)
11580 var ki = pIL.add(this.privKey.d).mod(curve.n)
11581
11582 // In case ki == 0, proceed with the next value for i
11583 if (ki.signum() === 0) {
11584 return this.derive(index + 1)
11585 }
11586
11587 hd = new HDNode(ki, IR, this.network)
11588
11589 // Public parent key -> public child key
11590 } else {
11591 // Ki = point(parse256(IL)) + Kpar
11592 // = G*IL + Kpar
11593 var Ki = curve.G.multiply(pIL).add(this.pubKey.Q)
11594
11595 // In case Ki is the point at infinity, proceed with the next value for i
11596 if (curve.isInfinity(Ki)) {
11597 return this.derive(index + 1)
11598 }
11599
11600 hd = new HDNode(Ki, IR, this.network)
11601 }
11602
11603 hd.depth = this.depth + 1
11604 hd.index = index
11605 hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
11606
11607 return hd
11608}
11609
ab78acc6 11610HDNode.prototype.deriveHardened = function (index) {
ebd8d4e8
IC
11611 // Only derives hardened private keys by default
11612 return this.derive(index + HDNode.HIGHEST_BIT)
11613}
11614
11615HDNode.prototype.toString = HDNode.prototype.toBase58
11616
11617module.exports = HDNode
11618
ab78acc6
IC
11619}).call(this,require("buffer").Buffer)
11620},{"./crypto":58,"./eckey":60,"./ecpubkey":61,"./networks":66,"assert":5,"bigi":3,"bs58check":31,"buffer":7,"create-hmac":45,"ecurve":49,"typeforce":53}],64:[function(require,module,exports){
ebd8d4e8 11621module.exports = {
ab78acc6
IC
11622 Address: require('./address'),
11623 base58check: require('./base58check'),
11624 Block: require('./block'),
11625 bufferutils: require('./bufferutils'),
11626 crypto: require('./crypto'),
11627 ecdsa: require('./ecdsa'),
11628 ECKey: require('./eckey'),
11629 ECPubKey: require('./ecpubkey'),
11630 ECSignature: require('./ecsignature'),
11631 Message: require('./message'),
11632 opcodes: require('./opcodes'),
11633 HDNode: require('./hdnode'),
11634 Script: require('./script'),
11635 scripts: require('./scripts'),
11636 Transaction: require('./transaction'),
11637 TransactionBuilder: require('./transaction_builder'),
11638 networks: require('./networks'),
11639 Wallet: require('./wallet')
11640}
11641
11642},{"./address":54,"./base58check":55,"./block":56,"./bufferutils":57,"./crypto":58,"./ecdsa":59,"./eckey":60,"./ecpubkey":61,"./ecsignature":62,"./hdnode":63,"./message":65,"./networks":66,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"./transaction_builder":71,"./wallet":72}],65:[function(require,module,exports){
ebd8d4e8 11643(function (Buffer){
ab78acc6
IC
11644var bufferutils = require('./bufferutils')
11645var crypto = require('./crypto')
11646var ecdsa = require('./ecdsa')
11647var networks = require('./networks')
11648
11649var BigInteger = require('bigi')
11650var ECPubKey = require('./ecpubkey')
11651var ECSignature = require('./ecsignature')
11652
11653var ecurve = require('ecurve')
ebd8d4e8
IC
11654var ecparams = ecurve.getCurveByName('secp256k1')
11655
ab78acc6 11656function magicHash (message, network) {
ebd8d4e8
IC
11657 var magicPrefix = new Buffer(network.magicPrefix)
11658 var messageBuffer = new Buffer(message)
ab78acc6 11659 var lengthBuffer = bufferutils.varIntBuffer(messageBuffer.length)
ebd8d4e8
IC
11660
11661 var buffer = Buffer.concat([magicPrefix, lengthBuffer, messageBuffer])
11662 return crypto.hash256(buffer)
11663}
11664
ab78acc6 11665function sign (privKey, message, network) {
ebd8d4e8
IC
11666 network = network || networks.bitcoin
11667
11668 var hash = magicHash(message, network)
11669 var signature = privKey.sign(hash)
11670 var e = BigInteger.fromBuffer(hash)
11671 var i = ecdsa.calcPubKeyRecoveryParam(ecparams, e, signature, privKey.pub.Q)
11672
11673 return signature.toCompact(i, privKey.pub.compressed)
11674}
11675
11676// TODO: network could be implied from address
ab78acc6
IC
11677function verify (address, signature, message, network) {
11678 if (!Buffer.isBuffer(signature)) {
11679 signature = new Buffer(signature, 'base64')
ebd8d4e8 11680 }
ab78acc6 11681
ebd8d4e8
IC
11682 network = network || networks.bitcoin
11683
11684 var hash = magicHash(message, network)
ab78acc6 11685 var parsed = ECSignature.parseCompact(signature)
ebd8d4e8
IC
11686 var e = BigInteger.fromBuffer(hash)
11687 var Q = ecdsa.recoverPubKey(ecparams, e, parsed.signature, parsed.i)
11688
11689 var pubKey = new ECPubKey(Q, parsed.compressed)
ab78acc6 11690 return pubKey.getAddress(network).toString() === address.toString()
ebd8d4e8
IC
11691}
11692
11693module.exports = {
11694 magicHash: magicHash,
11695 sign: sign,
11696 verify: verify
11697}
11698
ab78acc6
IC
11699}).call(this,require("buffer").Buffer)
11700},{"./bufferutils":57,"./crypto":58,"./ecdsa":59,"./ecpubkey":61,"./ecsignature":62,"./networks":66,"bigi":3,"buffer":7,"ecurve":49}],66:[function(require,module,exports){
ebd8d4e8
IC
11701// https://en.bitcoin.it/wiki/List_of_address_prefixes
11702// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
11703
11704var networks = {
11705 bitcoin: {
11706 magicPrefix: '\x18Bitcoin Signed Message:\n',
11707 bip32: {
11708 public: 0x0488b21e,
11709 private: 0x0488ade4
11710 },
11711 pubKeyHash: 0x00,
11712 scriptHash: 0x05,
11713 wif: 0x80,
11714 dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162
11715 feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53
11716 estimateFee: estimateFee('bitcoin')
a9385c1b 11717 },
ab78acc6
IC
11718 testnet: {
11719 magicPrefix: '\x18Bitcoin Signed Message:\n',
a9385c1b 11720 bip32: {
ab78acc6
IC
11721 public: 0x043587cf,
11722 private: 0x04358394
a9385c1b 11723 },
ab78acc6
IC
11724 pubKeyHash: 0x6f,
11725 scriptHash: 0xc4,
11726 wif: 0xef,
11727 dustThreshold: 546,
cb325c58 11728 feePerKb: 10000,
ab78acc6 11729 estimateFee: estimateFee('testnet')
a9385c1b 11730 },
ab78acc6
IC
11731 litecoin: {
11732 magicPrefix: '\x19Litecoin Signed Message:\n',
a9385c1b 11733 bip32: {
ab78acc6
IC
11734 public: 0x019da462,
11735 private: 0x019d9cfe
a9385c1b 11736 },
ab78acc6
IC
11737 pubKeyHash: 0x30,
11738 scriptHash: 0x05,
11739 wif: 0xb0,
11740 dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365
11741 dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53
11742 feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56
11743 estimateFee: estimateFee('litecoin')
ebd8d4e8
IC
11744 },
11745 dogecoin: {
11746 magicPrefix: '\x19Dogecoin Signed Message:\n',
11747 bip32: {
11748 public: 0x02facafd,
11749 private: 0x02fac398
11750 },
11751 pubKeyHash: 0x1e,
11752 scriptHash: 0x16,
11753 wif: 0x9e,
11754 dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160
11755 dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62
11756 feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58
11757 estimateFee: estimateFee('dogecoin')
11758 },
ab78acc6
IC
11759 viacoin: {
11760 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8 11761 bip32: {
ab78acc6
IC
11762 public: 0x0488b21e,
11763 private: 0x0488ade4
ebd8d4e8 11764 },
ab78acc6
IC
11765 pubKeyHash: 0x47,
11766 scriptHash: 0x21,
11767 wif: 0xc7,
11768 dustThreshold: 560,
11769 dustSoftThreshold: 100000,
11770 feePerKb: 100000, //
11771 estimateFee: estimateFee('viacoin')
ebd8d4e8 11772 },
ab78acc6
IC
11773 viacointestnet: {
11774 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8
IC
11775 bip32: {
11776 public: 0x043587cf,
11777 private: 0x04358394
11778 },
ab78acc6 11779 pubKeyHash: 0x7f,
ebd8d4e8 11780 scriptHash: 0xc4,
ab78acc6
IC
11781 wif: 0xff,
11782 dustThreshold: 560,
11783 dustSoftThreshold: 100000,
11784 feePerKb: 100000,
11785 estimateFee: estimateFee('viacointestnet')
11786 },
11787 gamerscoin: {
11788 magicPrefix: '\x19Gamerscoin Signed Message:\n',
11789 bip32: {
11790 public: 0x019da462,
11791 private: 0x019d9cfe
11792 },
11793 pubKeyHash: 0x26,
11794 scriptHash: 0x05,
11795 wif: 0xA6,
11796 dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363
11797 dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51
11798 feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54
11799 estimateFee: estimateFee('gamerscoin')
11800 },
11801 jumbucks: {
11802 magicPrefix: '\x19Jumbucks Signed Message:\n',
11803 bip32: {
11804 public: 0x037a689a,
11805 private: 0x037a6460
11806 },
11807 pubKeyHash: 0x2b,
11808 scriptHash: 0x05,
11809 wif: 0xab,
11810 dustThreshold: 0,
11811 dustSoftThreshold: 10000,
ebd8d4e8 11812 feePerKb: 10000,
ab78acc6
IC
11813 estimateFee: estimateFee('jumbucks')
11814 },
11815 zetacoin: {
11816 magicPrefix: '\x18Zetacoin Signed Message:\n',
11817 bip32: {
11818 public: 0x0488b21e,
11819 private: 0x0488ade4
11820 },
11821 pubKeyHash: 0x50,
11822 scriptHash: 0x09,
11823 wif: 0xe0,
11824 dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159
11825 feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54
11826 estimateFee: estimateFee('zetacoin')
ebd8d4e8
IC
11827 }
11828}
11829
ab78acc6
IC
11830function estimateFee (type) {
11831 return function (tx) {
ebd8d4e8
IC
11832 var network = networks[type]
11833 var baseFee = network.feePerKb
11834 var byteSize = tx.toBuffer().length
11835
11836 var fee = baseFee * Math.ceil(byteSize / 1000)
ab78acc6 11837 if (network.dustSoftThreshold === undefined) return fee
ebd8d4e8 11838
ab78acc6 11839 tx.outs.forEach(function (e) {
ebd8d4e8
IC
11840 if (e.value < network.dustSoftThreshold) {
11841 fee += baseFee
11842 }
11843 })
11844
11845 return fee
11846 }
11847}
11848
11849module.exports = networks
11850
ab78acc6 11851},{}],67:[function(require,module,exports){
ebd8d4e8
IC
11852module.exports = {
11853 // push value
ab78acc6
IC
11854 OP_FALSE: 0,
11855 OP_0: 0,
11856 OP_PUSHDATA1: 76,
11857 OP_PUSHDATA2: 77,
11858 OP_PUSHDATA4: 78,
11859 OP_1NEGATE: 79,
11860 OP_RESERVED: 80,
11861 OP_1: 81,
11862 OP_TRUE: 81,
11863 OP_2: 82,
11864 OP_3: 83,
11865 OP_4: 84,
11866 OP_5: 85,
11867 OP_6: 86,
11868 OP_7: 87,
11869 OP_8: 88,
11870 OP_9: 89,
11871 OP_10: 90,
11872 OP_11: 91,
11873 OP_12: 92,
11874 OP_13: 93,
11875 OP_14: 94,
11876 OP_15: 95,
11877 OP_16: 96,
ebd8d4e8
IC
11878
11879 // control
ab78acc6
IC
11880 OP_NOP: 97,
11881 OP_VER: 98,
11882 OP_IF: 99,
11883 OP_NOTIF: 100,
11884 OP_VERIF: 101,
11885 OP_VERNOTIF: 102,
11886 OP_ELSE: 103,
11887 OP_ENDIF: 104,
11888 OP_VERIFY: 105,
11889 OP_RETURN: 106,
ebd8d4e8
IC
11890
11891 // stack ops
ab78acc6
IC
11892 OP_TOALTSTACK: 107,
11893 OP_FROMALTSTACK: 108,
11894 OP_2DROP: 109,
11895 OP_2DUP: 110,
11896 OP_3DUP: 111,
11897 OP_2OVER: 112,
11898 OP_2ROT: 113,
11899 OP_2SWAP: 114,
11900 OP_IFDUP: 115,
11901 OP_DEPTH: 116,
11902 OP_DROP: 117,
11903 OP_DUP: 118,
11904 OP_NIP: 119,
11905 OP_OVER: 120,
11906 OP_PICK: 121,
11907 OP_ROLL: 122,
11908 OP_ROT: 123,
11909 OP_SWAP: 124,
11910 OP_TUCK: 125,
ebd8d4e8
IC
11911
11912 // splice ops
ab78acc6
IC
11913 OP_CAT: 126,
11914 OP_SUBSTR: 127,
11915 OP_LEFT: 128,
11916 OP_RIGHT: 129,
11917 OP_SIZE: 130,
ebd8d4e8
IC
11918
11919 // bit logic
ab78acc6
IC
11920 OP_INVERT: 131,
11921 OP_AND: 132,
11922 OP_OR: 133,
11923 OP_XOR: 134,
11924 OP_EQUAL: 135,
11925 OP_EQUALVERIFY: 136,
11926 OP_RESERVED1: 137,
11927 OP_RESERVED2: 138,
ebd8d4e8
IC
11928
11929 // numeric
ab78acc6
IC
11930 OP_1ADD: 139,
11931 OP_1SUB: 140,
11932 OP_2MUL: 141,
11933 OP_2DIV: 142,
11934 OP_NEGATE: 143,
11935 OP_ABS: 144,
11936 OP_NOT: 145,
11937 OP_0NOTEQUAL: 146,
11938
11939 OP_ADD: 147,
11940 OP_SUB: 148,
11941 OP_MUL: 149,
11942 OP_DIV: 150,
11943 OP_MOD: 151,
11944 OP_LSHIFT: 152,
11945 OP_RSHIFT: 153,
11946
11947 OP_BOOLAND: 154,
11948 OP_BOOLOR: 155,
11949 OP_NUMEQUAL: 156,
11950 OP_NUMEQUALVERIFY: 157,
11951 OP_NUMNOTEQUAL: 158,
11952 OP_LESSTHAN: 159,
11953 OP_GREATERTHAN: 160,
11954 OP_LESSTHANOREQUAL: 161,
11955 OP_GREATERTHANOREQUAL: 162,
11956 OP_MIN: 163,
11957 OP_MAX: 164,
11958
11959 OP_WITHIN: 165,
ebd8d4e8
IC
11960
11961 // crypto
ab78acc6
IC
11962 OP_RIPEMD160: 166,
11963 OP_SHA1: 167,
11964 OP_SHA256: 168,
11965 OP_HASH160: 169,
11966 OP_HASH256: 170,
11967 OP_CODESEPARATOR: 171,
11968 OP_CHECKSIG: 172,
11969 OP_CHECKSIGVERIFY: 173,
11970 OP_CHECKMULTISIG: 174,
11971 OP_CHECKMULTISIGVERIFY: 175,
ebd8d4e8
IC
11972
11973 // expansion
ab78acc6
IC
11974 OP_NOP1: 176,
11975 OP_NOP2: 177,
11976 OP_NOP3: 178,
11977 OP_NOP4: 179,
11978 OP_NOP5: 180,
11979 OP_NOP6: 181,
11980 OP_NOP7: 182,
11981 OP_NOP8: 183,
11982 OP_NOP9: 184,
11983 OP_NOP10: 185,
ebd8d4e8
IC
11984
11985 // template matching params
ab78acc6
IC
11986 OP_PUBKEYHASH: 253,
11987 OP_PUBKEY: 254,
11988 OP_INVALIDOPCODE: 255
ebd8d4e8
IC
11989}
11990
ab78acc6 11991},{}],68:[function(require,module,exports){
ebd8d4e8 11992(function (Buffer){
ab78acc6
IC
11993var assert = require('assert')
11994var bufferutils = require('./bufferutils')
11995var crypto = require('./crypto')
11996var typeForce = require('typeforce')
11997var opcodes = require('./opcodes')
ebd8d4e8 11998
ab78acc6
IC
11999function Script (buffer, chunks) {
12000 typeForce('Buffer', buffer)
12001 typeForce('Array', chunks)
ebd8d4e8
IC
12002
12003 this.buffer = buffer
12004 this.chunks = chunks
12005}
12006
ab78acc6 12007Script.fromASM = function (asm) {
ebd8d4e8 12008 var strChunks = asm.split(' ')
ab78acc6
IC
12009 var chunks = strChunks.map(function (strChunk) {
12010 // opcode
ebd8d4e8
IC
12011 if (strChunk in opcodes) {
12012 return opcodes[strChunk]
12013
ab78acc6 12014 // data chunk
ebd8d4e8
IC
12015 } else {
12016 return new Buffer(strChunk, 'hex')
12017 }
12018 })
12019
12020 return Script.fromChunks(chunks)
12021}
12022
ab78acc6 12023Script.fromBuffer = function (buffer) {
ebd8d4e8 12024 var chunks = []
ebd8d4e8
IC
12025 var i = 0
12026
12027 while (i < buffer.length) {
12028 var opcode = buffer.readUInt8(i)
12029
ab78acc6 12030 // data chunk
ebd8d4e8
IC
12031 if ((opcode > opcodes.OP_0) && (opcode <= opcodes.OP_PUSHDATA4)) {
12032 var d = bufferutils.readPushDataInt(buffer, i)
ab78acc6
IC
12033
12034 // did reading a pushDataInt fail? return non-chunked script
12035 if (d === null) return new Script(buffer, [])
ebd8d4e8
IC
12036 i += d.size
12037
ab78acc6
IC
12038 // attempt to read too much data?
12039 if (i + d.number > buffer.length) return new Script(buffer, [])
12040
ebd8d4e8
IC
12041 var data = buffer.slice(i, i + d.number)
12042 i += d.number
12043
12044 chunks.push(data)
12045
ab78acc6 12046 // opcode
ebd8d4e8
IC
12047 } else {
12048 chunks.push(opcode)
12049
12050 i += 1
12051 }
12052 }
12053
12054 return new Script(buffer, chunks)
12055}
12056
ab78acc6
IC
12057Script.fromChunks = function (chunks) {
12058 typeForce('Array', chunks)
ebd8d4e8 12059
ab78acc6
IC
12060 var bufferSize = chunks.reduce(function (accum, chunk) {
12061 // data chunk
ebd8d4e8
IC
12062 if (Buffer.isBuffer(chunk)) {
12063 return accum + bufferutils.pushDataSize(chunk.length) + chunk.length
12064 }
12065
ab78acc6 12066 // opcode
ebd8d4e8
IC
12067 return accum + 1
12068 }, 0.0)
12069
12070 var buffer = new Buffer(bufferSize)
12071 var offset = 0
12072
ab78acc6
IC
12073 chunks.forEach(function (chunk) {
12074 // data chunk
ebd8d4e8
IC
12075 if (Buffer.isBuffer(chunk)) {
12076 offset += bufferutils.writePushDataInt(buffer, chunk.length, offset)
12077
12078 chunk.copy(buffer, offset)
12079 offset += chunk.length
12080
ab78acc6 12081 // opcode
ebd8d4e8
IC
12082 } else {
12083 buffer.writeUInt8(chunk, offset)
12084 offset += 1
12085 }
12086 })
12087
12088 assert.equal(offset, buffer.length, 'Could not decode chunks')
12089 return new Script(buffer, chunks)
12090}
12091
ab78acc6 12092Script.fromHex = function (hex) {
ebd8d4e8
IC
12093 return Script.fromBuffer(new Buffer(hex, 'hex'))
12094}
12095
ebd8d4e8
IC
12096Script.EMPTY = Script.fromChunks([])
12097
ab78acc6 12098Script.prototype.getHash = function () {
ebd8d4e8
IC
12099 return crypto.hash160(this.buffer)
12100}
12101
12102// FIXME: doesn't work for data chunks, maybe time to use buffertools.compare...
ab78acc6
IC
12103Script.prototype.without = function (needle) {
12104 return Script.fromChunks(this.chunks.filter(function (op) {
ebd8d4e8
IC
12105 return op !== needle
12106 }))
12107}
12108
ebd8d4e8
IC
12109var reverseOps = []
12110for (var op in opcodes) {
12111 var code = opcodes[op]
12112 reverseOps[code] = op
12113}
12114
ab78acc6
IC
12115Script.prototype.toASM = function () {
12116 return this.chunks.map(function (chunk) {
12117 // data chunk
ebd8d4e8
IC
12118 if (Buffer.isBuffer(chunk)) {
12119 return chunk.toString('hex')
12120
ab78acc6 12121 // opcode
ebd8d4e8
IC
12122 } else {
12123 return reverseOps[chunk]
12124 }
12125 }).join(' ')
12126}
12127
ab78acc6 12128Script.prototype.toBuffer = function () {
ebd8d4e8
IC
12129 return this.buffer
12130}
12131
ab78acc6 12132Script.prototype.toHex = function () {
ebd8d4e8
IC
12133 return this.toBuffer().toString('hex')
12134}
12135
12136module.exports = Script
12137
ab78acc6
IC
12138}).call(this,require("buffer").Buffer)
12139},{"./bufferutils":57,"./crypto":58,"./opcodes":67,"assert":5,"buffer":7,"typeforce":53}],69:[function(require,module,exports){
ebd8d4e8 12140(function (Buffer){
ab78acc6
IC
12141var assert = require('assert')
12142var ops = require('./opcodes')
12143var typeForce = require('typeforce')
ebd8d4e8 12144
ab78acc6 12145var ecurve = require('ecurve')
ebd8d4e8
IC
12146var curve = ecurve.getCurveByName('secp256k1')
12147
ab78acc6
IC
12148var ECSignature = require('./ecsignature')
12149var Script = require('./script')
ebd8d4e8 12150
ab78acc6 12151function isCanonicalPubKey (buffer) {
ebd8d4e8
IC
12152 if (!Buffer.isBuffer(buffer)) return false
12153
12154 try {
ebd8d4e8
IC
12155 ecurve.Point.decodeFrom(curve, buffer)
12156 } catch (e) {
ab78acc6
IC
12157 if (!(e.message.match(/Invalid sequence (length|tag)/)))
12158 throw e
ebd8d4e8
IC
12159
12160 return false
12161 }
12162
12163 return true
12164}
12165
ab78acc6 12166function isCanonicalSignature (buffer) {
ebd8d4e8
IC
12167 if (!Buffer.isBuffer(buffer)) return false
12168
12169 try {
12170 ECSignature.parseScriptSignature(buffer)
ab78acc6
IC
12171 } catch (e) {
12172 if (!(e.message.match(/Not a DER sequence|Invalid sequence length|Expected a DER integer|R length is zero|S length is zero|R value excessively padded|S value excessively padded|R value is negative|S value is negative|Invalid hashType/))) {
12173 throw e
12174 }
ebd8d4e8
IC
12175
12176 return false
12177 }
12178
12179 return true
12180}
12181
ab78acc6
IC
12182function isPubKeyHashInput (script) {
12183 return script.chunks.length === 2 &&
12184 isCanonicalSignature(script.chunks[0]) &&
12185 isCanonicalPubKey(script.chunks[1])
ebd8d4e8
IC
12186}
12187
ab78acc6
IC
12188function isPubKeyHashOutput (script) {
12189 return script.chunks.length === 5 &&
12190 script.chunks[0] === ops.OP_DUP &&
12191 script.chunks[1] === ops.OP_HASH160 &&
12192 Buffer.isBuffer(script.chunks[2]) &&
12193 script.chunks[2].length === 20 &&
12194 script.chunks[3] === ops.OP_EQUALVERIFY &&
12195 script.chunks[4] === ops.OP_CHECKSIG
ebd8d4e8
IC
12196}
12197
ab78acc6
IC
12198function isPubKeyInput (script) {
12199 return script.chunks.length === 1 &&
12200 isCanonicalSignature(script.chunks[0])
ebd8d4e8
IC
12201}
12202
ab78acc6
IC
12203function isPubKeyOutput (script) {
12204 return script.chunks.length === 2 &&
12205 isCanonicalPubKey(script.chunks[0]) &&
12206 script.chunks[1] === ops.OP_CHECKSIG
ebd8d4e8
IC
12207}
12208
ab78acc6
IC
12209function isScriptHashInput (script, allowIncomplete) {
12210 if (script.chunks.length < 2) return false
ebd8d4e8 12211
ab78acc6 12212 var lastChunk = script.chunks[script.chunks.length - 1]
ebd8d4e8
IC
12213 if (!Buffer.isBuffer(lastChunk)) return false
12214
ab78acc6
IC
12215 var scriptSig = Script.fromChunks(script.chunks.slice(0, -1))
12216 var redeemScript = Script.fromBuffer(lastChunk)
ebd8d4e8 12217
ab78acc6
IC
12218 // is redeemScript a valid script?
12219 if (redeemScript.chunks.length === 0) return false
12220
12221 return classifyInput(scriptSig, allowIncomplete) === classifyOutput(redeemScript)
ebd8d4e8
IC
12222}
12223
ab78acc6
IC
12224function isScriptHashOutput (script) {
12225 return script.chunks.length === 3 &&
12226 script.chunks[0] === ops.OP_HASH160 &&
12227 Buffer.isBuffer(script.chunks[1]) &&
12228 script.chunks[1].length === 20 &&
12229 script.chunks[2] === ops.OP_EQUAL
ebd8d4e8
IC
12230}
12231
ab78acc6
IC
12232// allowIncomplete is to account for combining signatures
12233// See https://github.com/bitcoin/bitcoin/blob/f425050546644a36b0b8e0eb2f6934a3e0f6f80f/src/script/sign.cpp#L195-L197
12234function isMultisigInput (script, allowIncomplete) {
12235 if (script.chunks.length < 2) return false
12236 if (script.chunks[0] !== ops.OP_0) return false
12237
12238 if (allowIncomplete) {
12239 return script.chunks.slice(1).every(function (chunk) {
12240 return chunk === ops.OP_0 || isCanonicalSignature(chunk)
12241 })
12242 }
12243
12244 return script.chunks.slice(1).every(isCanonicalSignature)
ebd8d4e8
IC
12245}
12246
ab78acc6
IC
12247function isMultisigOutput (script) {
12248 if (script.chunks.length < 4) return false
12249 if (script.chunks[script.chunks.length - 1] !== ops.OP_CHECKMULTISIG) return false
ebd8d4e8 12250
ab78acc6
IC
12251 var mOp = script.chunks[0]
12252 if (mOp === ops.OP_0) return false
12253 if (mOp < ops.OP_1) return false
12254 if (mOp > ops.OP_16) return false
ebd8d4e8 12255
ab78acc6
IC
12256 var nOp = script.chunks[script.chunks.length - 2]
12257 if (nOp === ops.OP_0) return false
12258 if (nOp < ops.OP_1) return false
12259 if (nOp > ops.OP_16) return false
ebd8d4e8 12260
ab78acc6
IC
12261 var m = mOp - (ops.OP_1 - 1)
12262 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8
IC
12263 if (n < m) return false
12264
ab78acc6 12265 var pubKeys = script.chunks.slice(1, -2)
ebd8d4e8
IC
12266 if (n < pubKeys.length) return false
12267
12268 return pubKeys.every(isCanonicalPubKey)
12269}
12270
ab78acc6
IC
12271function isNullDataOutput (script) {
12272 return script.chunks[0] === ops.OP_RETURN
12273}
12274
12275function classifyOutput (script) {
12276 typeForce('Script', script)
12277
12278 if (isPubKeyHashOutput(script)) {
12279 return 'pubkeyhash'
12280 } else if (isScriptHashOutput(script)) {
12281 return 'scripthash'
12282 } else if (isMultisigOutput(script)) {
12283 return 'multisig'
12284 } else if (isPubKeyOutput(script)) {
12285 return 'pubkey'
12286 } else if (isNullDataOutput(script)) {
12287 return 'nulldata'
12288 }
12289
12290 return 'nonstandard'
12291}
12292
12293function classifyInput (script, allowIncomplete) {
12294 typeForce('Script', script)
12295
12296 if (isPubKeyHashInput(script)) {
12297 return 'pubkeyhash'
12298 } else if (isMultisigInput(script, allowIncomplete)) {
12299 return 'multisig'
12300 } else if (isScriptHashInput(script, allowIncomplete)) {
12301 return 'scripthash'
12302 } else if (isPubKeyInput(script)) {
12303 return 'pubkey'
12304 }
12305
12306 return 'nonstandard'
ebd8d4e8
IC
12307}
12308
12309// Standard Script Templates
12310// {pubKey} OP_CHECKSIG
ab78acc6 12311function pubKeyOutput (pubKey) {
ebd8d4e8
IC
12312 return Script.fromChunks([
12313 pubKey.toBuffer(),
ab78acc6 12314 ops.OP_CHECKSIG
ebd8d4e8
IC
12315 ])
12316}
12317
12318// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
ab78acc6
IC
12319function pubKeyHashOutput (hash) {
12320 typeForce('Buffer', hash)
ebd8d4e8
IC
12321
12322 return Script.fromChunks([
ab78acc6
IC
12323 ops.OP_DUP,
12324 ops.OP_HASH160,
ebd8d4e8 12325 hash,
ab78acc6
IC
12326 ops.OP_EQUALVERIFY,
12327 ops.OP_CHECKSIG
ebd8d4e8
IC
12328 ])
12329}
12330
12331// OP_HASH160 {scriptHash} OP_EQUAL
ab78acc6
IC
12332function scriptHashOutput (hash) {
12333 typeForce('Buffer', hash)
ebd8d4e8
IC
12334
12335 return Script.fromChunks([
ab78acc6 12336 ops.OP_HASH160,
ebd8d4e8 12337 hash,
ab78acc6 12338 ops.OP_EQUAL
ebd8d4e8
IC
12339 ])
12340}
12341
12342// m [pubKeys ...] n OP_CHECKMULTISIG
ab78acc6
IC
12343function multisigOutput (m, pubKeys) {
12344 typeForce(['ECPubKey'], pubKeys)
12345
ebd8d4e8
IC
12346 assert(pubKeys.length >= m, 'Not enough pubKeys provided')
12347
ab78acc6 12348 var pubKeyBuffers = pubKeys.map(function (pubKey) {
ebd8d4e8
IC
12349 return pubKey.toBuffer()
12350 })
12351 var n = pubKeys.length
12352
12353 return Script.fromChunks([].concat(
ab78acc6 12354 (ops.OP_1 - 1) + m,
ebd8d4e8 12355 pubKeyBuffers,
ab78acc6
IC
12356 (ops.OP_1 - 1) + n,
12357 ops.OP_CHECKMULTISIG
ebd8d4e8
IC
12358 ))
12359}
12360
12361// {signature}
ab78acc6
IC
12362function pubKeyInput (signature) {
12363 typeForce('Buffer', signature)
ebd8d4e8
IC
12364
12365 return Script.fromChunks([signature])
12366}
12367
12368// {signature} {pubKey}
ab78acc6
IC
12369function pubKeyHashInput (signature, pubKey) {
12370 typeForce('Buffer', signature)
ebd8d4e8
IC
12371
12372 return Script.fromChunks([signature, pubKey.toBuffer()])
12373}
12374
12375// <scriptSig> {serialized scriptPubKey script}
ab78acc6 12376function scriptHashInput (scriptSig, scriptPubKey) {
ebd8d4e8
IC
12377 return Script.fromChunks([].concat(
12378 scriptSig.chunks,
12379 scriptPubKey.toBuffer()
12380 ))
12381}
12382
12383// OP_0 [signatures ...]
ab78acc6 12384function multisigInput (signatures, scriptPubKey) {
ebd8d4e8 12385 if (scriptPubKey) {
ab78acc6
IC
12386 assert(isMultisigOutput(scriptPubKey))
12387
12388 var mOp = scriptPubKey.chunks[0]
12389 var nOp = scriptPubKey.chunks[scriptPubKey.chunks.length - 2]
12390 var m = mOp - (ops.OP_1 - 1)
12391 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8 12392
ab78acc6
IC
12393 assert(signatures.length >= m, 'Not enough signatures provided')
12394 assert(signatures.length <= n, 'Too many signatures provided')
ebd8d4e8
IC
12395 }
12396
ab78acc6
IC
12397 return Script.fromChunks([].concat(ops.OP_0, signatures))
12398}
12399
12400function nullDataOutput (data) {
12401 return Script.fromChunks([ops.OP_RETURN, data])
ebd8d4e8
IC
12402}
12403
12404module.exports = {
ab78acc6
IC
12405 isCanonicalPubKey: isCanonicalPubKey,
12406 isCanonicalSignature: isCanonicalSignature,
12407 isPubKeyHashInput: isPubKeyHashInput,
12408 isPubKeyHashOutput: isPubKeyHashOutput,
12409 isPubKeyInput: isPubKeyInput,
12410 isPubKeyOutput: isPubKeyOutput,
12411 isScriptHashInput: isScriptHashInput,
12412 isScriptHashOutput: isScriptHashOutput,
12413 isMultisigInput: isMultisigInput,
12414 isMultisigOutput: isMultisigOutput,
12415 isNullDataOutput: isNullDataOutput,
ebd8d4e8 12416 classifyOutput: classifyOutput,
ab78acc6
IC
12417 classifyInput: classifyInput,
12418 pubKeyOutput: pubKeyOutput,
ebd8d4e8 12419 pubKeyHashOutput: pubKeyHashOutput,
ab78acc6
IC
12420 scriptHashOutput: scriptHashOutput,
12421 multisigOutput: multisigOutput,
ebd8d4e8 12422 pubKeyInput: pubKeyInput,
ab78acc6 12423 pubKeyHashInput: pubKeyHashInput,
ebd8d4e8 12424 scriptHashInput: scriptHashInput,
ab78acc6
IC
12425 multisigInput: multisigInput,
12426 dataOutput: function (data) {
12427 console.warn('dataOutput is deprecated, use nullDataOutput by 2.0.0')
12428 return nullDataOutput(data)
12429 },
12430 nullDataOutput: nullDataOutput
ebd8d4e8
IC
12431}
12432
ab78acc6
IC
12433}).call(this,require("buffer").Buffer)
12434},{"./ecsignature":62,"./opcodes":67,"./script":68,"assert":5,"buffer":7,"ecurve":49,"typeforce":53}],70:[function(require,module,exports){
ebd8d4e8 12435(function (Buffer){
ab78acc6
IC
12436var assert = require('assert')
12437var bufferutils = require('./bufferutils')
12438var crypto = require('./crypto')
12439var typeForce = require('typeforce')
12440var opcodes = require('./opcodes')
12441var scripts = require('./scripts')
12442
12443var Address = require('./address')
12444var ECSignature = require('./ecsignature')
12445var Script = require('./script')
12446
12447function Transaction () {
12448 this.version = 1
12449 this.locktime = 0
12450 this.ins = []
12451 this.outs = []
12452}
ebd8d4e8
IC
12453
12454Transaction.DEFAULT_SEQUENCE = 0xffffffff
12455Transaction.SIGHASH_ALL = 0x01
12456Transaction.SIGHASH_NONE = 0x02
12457Transaction.SIGHASH_SINGLE = 0x03
12458Transaction.SIGHASH_ANYONECANPAY = 0x80
12459
ab78acc6
IC
12460Transaction.fromBuffer = function (buffer, __disableAssert) {
12461 var offset = 0
12462 function readSlice (n) {
12463 offset += n
12464 return buffer.slice(offset - n, offset)
12465 }
12466
12467 function readUInt32 () {
12468 var i = buffer.readUInt32LE(offset)
12469 offset += 4
12470 return i
12471 }
12472
12473 function readUInt64 () {
12474 var i = bufferutils.readUInt64LE(buffer, offset)
12475 offset += 8
12476 return i
12477 }
12478
12479 function readVarInt () {
12480 var vi = bufferutils.readVarInt(buffer, offset)
12481 offset += vi.size
12482 return vi.number
12483 }
12484
12485 function readScript () {
12486 return Script.fromBuffer(readSlice(readVarInt()))
12487 }
12488
12489 function readGenerationScript () {
12490 return new Script(readSlice(readVarInt()), [])
12491 }
12492
12493 var tx = new Transaction()
12494 tx.version = readUInt32()
12495
12496 var vinLen = readVarInt()
12497 for (var i = 0; i < vinLen; ++i) {
12498 var hash = readSlice(32)
12499
12500 if (Transaction.isCoinbaseHash(hash)) {
12501 tx.ins.push({
12502 hash: hash,
12503 index: readUInt32(),
12504 script: readGenerationScript(),
12505 sequence: readUInt32()
12506 })
12507 } else {
12508 tx.ins.push({
12509 hash: hash,
12510 index: readUInt32(),
12511 script: readScript(),
12512 sequence: readUInt32()
12513 })
12514 }
12515 }
12516
12517 var voutLen = readVarInt()
12518 for (i = 0; i < voutLen; ++i) {
12519 tx.outs.push({
12520 value: readUInt64(),
12521 script: readScript()
12522 })
12523 }
12524
12525 tx.locktime = readUInt32()
12526
12527 if (!__disableAssert) {
12528 assert.equal(offset, buffer.length, 'Transaction has unexpected data')
12529 }
12530
12531 return tx
12532}
12533
12534Transaction.fromHex = function (hex) {
12535 return Transaction.fromBuffer(new Buffer(hex, 'hex'))
12536}
12537
12538Transaction.isCoinbaseHash = function (buffer) {
12539 return Array.prototype.every.call(buffer, function (x) {
12540 return x === 0
12541 })
ebd8d4e8
IC
12542}
12543
12544/**
ab78acc6 12545 * Create a new txIn.
ebd8d4e8
IC
12546 *
12547 * Can be called with any of:
12548 *
12549 * - A transaction and an index
12550 * - A transaction hash and an index
12551 *
12552 * Note that this method does not sign the created input.
12553 */
ab78acc6
IC
12554Transaction.prototype.addInput = function (hash, index, sequence, script) {
12555 if (sequence === undefined || sequence === null) {
12556 sequence = Transaction.DEFAULT_SEQUENCE
12557 }
ebd8d4e8 12558
ab78acc6 12559 script = script || Script.EMPTY
ebd8d4e8 12560
ab78acc6 12561 if (typeof hash === 'string') {
ebd8d4e8 12562 // TxId hex is big-endian, we need little-endian
ab78acc6
IC
12563 hash = bufferutils.reverse(new Buffer(hash, 'hex'))
12564 } else if (hash instanceof Transaction) {
12565 hash = hash.getHash()
ebd8d4e8
IC
12566 }
12567
ab78acc6
IC
12568 typeForce('Buffer', hash)
12569 typeForce('Number', index)
12570 typeForce('Number', sequence)
12571 typeForce('Script', script)
12572
ebd8d4e8 12573 assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
ebd8d4e8 12574
ab78acc6 12575 // Add the input and return the input's index
ebd8d4e8
IC
12576 return (this.ins.push({
12577 hash: hash,
12578 index: index,
ab78acc6 12579 script: script,
ebd8d4e8
IC
12580 sequence: sequence
12581 }) - 1)
12582}
12583
12584/**
ab78acc6 12585 * Create a new txOut.
ebd8d4e8
IC
12586 *
12587 * Can be called with:
12588 *
12589 * - A base58 address string and a value
12590 * - An Address object and a value
12591 * - A scriptPubKey Script and a value
12592 */
ab78acc6 12593Transaction.prototype.addOutput = function (scriptPubKey, value) {
ebd8d4e8
IC
12594 // Attempt to get a valid address if it's a base58 address string
12595 if (typeof scriptPubKey === 'string') {
12596 scriptPubKey = Address.fromBase58Check(scriptPubKey)
12597 }
12598
12599 // Attempt to get a valid script if it's an Address object
12600 if (scriptPubKey instanceof Address) {
ab78acc6 12601 scriptPubKey = scriptPubKey.toOutputScript()
ebd8d4e8
IC
12602 }
12603
ab78acc6
IC
12604 typeForce('Script', scriptPubKey)
12605 typeForce('Number', value)
12606
12607 // Add the output and return the output's index
ebd8d4e8
IC
12608 return (this.outs.push({
12609 script: scriptPubKey,
ab78acc6 12610 value: value
ebd8d4e8
IC
12611 }) - 1)
12612}
12613
ab78acc6
IC
12614Transaction.prototype.clone = function () {
12615 var newTx = new Transaction()
12616 newTx.version = this.version
12617 newTx.locktime = this.locktime
12618
12619 newTx.ins = this.ins.map(function (txIn) {
12620 return {
12621 hash: txIn.hash,
12622 index: txIn.index,
12623 script: txIn.script,
12624 sequence: txIn.sequence
12625 }
12626 })
12627
12628 newTx.outs = this.outs.map(function (txOut) {
12629 return {
12630 script: txOut.script,
12631 value: txOut.value
12632 }
12633 })
12634
12635 return newTx
12636}
12637
12638/**
12639 * Hash transaction for signing a specific input.
12640 *
12641 * Bitcoin uses a different hash for each signed transaction input. This
12642 * method copies the transaction, makes the necessary changes based on the
12643 * hashType, serializes and finally hashes the result. This hash can then be
12644 * used to sign the transaction input in question.
12645 */
12646Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
12647 // FIXME: remove in 2.x.y
12648 if (arguments[0] instanceof Script) {
12649 console.warn('hashForSignature(prevOutScript, inIndex, ...) has been deprecated. Use hashForSignature(inIndex, prevOutScript, ...)')
12650
12651 // swap the arguments (must be stored in tmp, arguments is special)
12652 var tmp = arguments[0]
12653 inIndex = arguments[1]
12654 prevOutScript = tmp
12655 }
12656
12657 typeForce('Number', inIndex)
12658 typeForce('Script', prevOutScript)
12659 typeForce('Number', hashType)
12660
12661 assert(inIndex >= 0, 'Invalid vin index')
12662 assert(inIndex < this.ins.length, 'Invalid vin index')
12663
12664 var txTmp = this.clone()
12665 var hashScript = prevOutScript.without(opcodes.OP_CODESEPARATOR)
12666
12667 // Blank out other inputs' signatures
12668 txTmp.ins.forEach(function (txIn) {
12669 txIn.script = Script.EMPTY
12670 })
12671 txTmp.ins[inIndex].script = hashScript
12672
12673 var hashTypeModifier = hashType & 0x1f
12674
12675 if (hashTypeModifier === Transaction.SIGHASH_NONE) {
12676 assert(false, 'SIGHASH_NONE not yet supported')
12677 } else if (hashTypeModifier === Transaction.SIGHASH_SINGLE) {
12678 assert(false, 'SIGHASH_SINGLE not yet supported')
12679 }
12680
12681 if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
12682 assert(false, 'SIGHASH_ANYONECANPAY not yet supported')
12683 }
12684
12685 var hashTypeBuffer = new Buffer(4)
12686 hashTypeBuffer.writeInt32LE(hashType, 0)
12687
12688 var buffer = Buffer.concat([txTmp.toBuffer(), hashTypeBuffer])
12689 return crypto.hash256(buffer)
12690}
12691
12692Transaction.prototype.getHash = function () {
12693 return crypto.hash256(this.toBuffer())
12694}
12695
12696Transaction.prototype.getId = function () {
12697 // TxHash is little-endian, we need big-endian
12698 return bufferutils.reverse(this.getHash()).toString('hex')
12699}
12700
ebd8d4e8 12701Transaction.prototype.toBuffer = function () {
ab78acc6
IC
12702 function scriptSize (script) {
12703 var length = script.buffer.length
ebd8d4e8 12704
ab78acc6
IC
12705 return bufferutils.varIntSize(length) + length
12706 }
ebd8d4e8
IC
12707
12708 var buffer = new Buffer(
12709 8 +
12710 bufferutils.varIntSize(this.ins.length) +
12711 bufferutils.varIntSize(this.outs.length) +
ab78acc6
IC
12712 this.ins.reduce(function (sum, input) { return sum + 40 + scriptSize(input.script) }, 0) +
12713 this.outs.reduce(function (sum, output) { return sum + 8 + scriptSize(output.script) }, 0)
ebd8d4e8
IC
12714 )
12715
12716 var offset = 0
ab78acc6 12717 function writeSlice (slice) {
ebd8d4e8
IC
12718 slice.copy(buffer, offset)
12719 offset += slice.length
12720 }
ab78acc6
IC
12721
12722 function writeUInt32 (i) {
ebd8d4e8
IC
12723 buffer.writeUInt32LE(i, offset)
12724 offset += 4
12725 }
ab78acc6
IC
12726
12727 function writeUInt64 (i) {
ebd8d4e8
IC
12728 bufferutils.writeUInt64LE(buffer, i, offset)
12729 offset += 8
12730 }
ab78acc6
IC
12731
12732 function writeVarInt (i) {
ebd8d4e8
IC
12733 var n = bufferutils.writeVarInt(buffer, i, offset)
12734 offset += n
12735 }
12736
12737 writeUInt32(this.version)
12738 writeVarInt(this.ins.length)
12739
ab78acc6
IC
12740 this.ins.forEach(function (txIn) {
12741 writeSlice(txIn.hash)
12742 writeUInt32(txIn.index)
12743 writeVarInt(txIn.script.buffer.length)
12744 writeSlice(txIn.script.buffer)
12745 writeUInt32(txIn.sequence)
ebd8d4e8
IC
12746 })
12747
12748 writeVarInt(this.outs.length)
ab78acc6
IC
12749 this.outs.forEach(function (txOut) {
12750 writeUInt64(txOut.value)
12751 writeVarInt(txOut.script.buffer.length)
12752 writeSlice(txOut.script.buffer)
ebd8d4e8
IC
12753 })
12754
12755 writeUInt32(this.locktime)
12756
12757 return buffer
12758}
12759
ab78acc6 12760Transaction.prototype.toHex = function () {
ebd8d4e8
IC
12761 return this.toBuffer().toString('hex')
12762}
12763
ab78acc6
IC
12764Transaction.prototype.setInputScript = function (index, script) {
12765 typeForce('Number', index)
12766 typeForce('Script', script)
12767
12768 this.ins[index].script = script
12769}
12770
12771// FIXME: remove in 2.x.y
12772Transaction.prototype.sign = function (index, privKey, hashType) {
12773 console.warn('Transaction.prototype.sign is deprecated. Use TransactionBuilder instead.')
12774
12775 var prevOutScript = privKey.pub.getAddress().toOutputScript()
12776 var signature = this.signInput(index, prevOutScript, privKey, hashType)
12777
12778 var scriptSig = scripts.pubKeyHashInput(signature, privKey.pub)
12779 this.setInputScript(index, scriptSig)
12780}
12781
12782// FIXME: remove in 2.x.y
12783Transaction.prototype.signInput = function (index, prevOutScript, privKey, hashType) {
12784 console.warn('Transaction.prototype.signInput is deprecated. Use TransactionBuilder instead.')
12785
12786 hashType = hashType || Transaction.SIGHASH_ALL
12787
12788 var hash = this.hashForSignature(index, prevOutScript, hashType)
12789 var signature = privKey.sign(hash)
12790
12791 return signature.toScriptSignature(hashType)
12792}
12793
12794// FIXME: remove in 2.x.y
12795Transaction.prototype.validateInput = function (index, prevOutScript, pubKey, buffer) {
12796 console.warn('Transaction.prototype.validateInput is deprecated. Use TransactionBuilder instead.')
12797
12798 var parsed = ECSignature.parseScriptSignature(buffer)
12799 var hash = this.hashForSignature(index, prevOutScript, parsed.hashType)
12800
12801 return pubKey.verify(hash, parsed.signature)
12802}
12803
12804module.exports = Transaction
12805
12806}).call(this,require("buffer").Buffer)
12807},{"./address":54,"./bufferutils":57,"./crypto":58,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"assert":5,"buffer":7,"typeforce":53}],71:[function(require,module,exports){
12808(function (Buffer){
12809var assert = require('assert')
12810var ops = require('./opcodes')
12811var scripts = require('./scripts')
12812
12813var ECPubKey = require('./ecpubkey')
12814var ECSignature = require('./ecsignature')
12815var Script = require('./script')
12816var Transaction = require('./transaction')
12817
12818function extractInput (txIn) {
12819 var redeemScript
12820 var scriptSig = txIn.script
12821 var prevOutScript
12822 var prevOutType = scripts.classifyInput(scriptSig, true)
12823 var scriptType
12824
12825 // Re-classify if scriptHash
12826 if (prevOutType === 'scripthash') {
12827 redeemScript = Script.fromBuffer(scriptSig.chunks.slice(-1)[0])
12828 prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
12829
12830 scriptSig = Script.fromChunks(scriptSig.chunks.slice(0, -1))
12831 scriptType = scripts.classifyInput(scriptSig, true)
12832 } else {
12833 scriptType = prevOutType
12834 }
12835
12836 // Extract hashType, pubKeys and signatures
12837 var hashType, parsed, pubKeys, signatures
12838
12839 switch (scriptType) {
12840 case 'pubkeyhash': {
12841 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12842 hashType = parsed.hashType
12843 pubKeys = [ECPubKey.fromBuffer(scriptSig.chunks[1])]
12844 signatures = [parsed.signature]
12845 prevOutScript = pubKeys[0].getAddress().toOutputScript()
12846
12847 break
12848 }
12849
12850 case 'pubkey': {
12851 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12852 hashType = parsed.hashType
12853 signatures = [parsed.signature]
12854
12855 if (redeemScript) {
12856 pubKeys = [ECPubKey.fromBuffer(redeemScript.chunks[0])]
12857 }
12858
12859 break
12860 }
12861
12862 case 'multisig': {
12863 signatures = scriptSig.chunks.slice(1).map(function (chunk) {
12864 if (chunk === ops.OP_0) return chunk
12865
12866 var parsed = ECSignature.parseScriptSignature(chunk)
12867 hashType = parsed.hashType
12868
12869 return parsed.signature
12870 })
12871
12872 if (redeemScript) {
12873 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12874 }
12875
12876 break
12877 }
12878 }
12879
12880 return {
12881 hashType: hashType,
12882 prevOutScript: prevOutScript,
12883 prevOutType: prevOutType,
12884 pubKeys: pubKeys,
12885 redeemScript: redeemScript,
12886 scriptType: scriptType,
12887 signatures: signatures
12888 }
12889}
12890
12891function TransactionBuilder () {
12892 this.prevTxMap = {}
12893 this.prevOutScripts = {}
12894 this.prevOutTypes = {}
12895
12896 this.inputs = []
12897 this.tx = new Transaction()
12898}
12899
12900TransactionBuilder.fromTransaction = function (transaction) {
12901 var txb = new TransactionBuilder()
12902
12903 // Copy other transaction fields
12904 txb.tx.version = transaction.version
12905 txb.tx.locktime = transaction.locktime
12906
12907 // Extract/add inputs
12908 transaction.ins.forEach(function (txIn) {
12909 txb.addInput(txIn.hash, txIn.index, txIn.sequence)
12910 })
12911
12912 // Extract/add outputs
12913 transaction.outs.forEach(function (txOut) {
12914 txb.addOutput(txOut.script, txOut.value)
12915 })
12916
12917 // Extract/add signatures
12918 txb.inputs = transaction.ins.map(function (txIn) {
12919 // TODO: remove me after testcase added
12920 assert(!Transaction.isCoinbaseHash(txIn.hash), 'coinbase inputs not supported')
12921
12922 // Ignore empty scripts
12923 if (txIn.script.buffer.length === 0) return {}
12924
12925 return extractInput(txIn)
12926 })
12927
12928 return txb
12929}
12930
12931TransactionBuilder.prototype.addInput = function (prevTx, index, sequence, prevOutScript) {
12932 var prevOutHash
12933
12934 // txId
12935 if (typeof prevTx === 'string') {
12936 prevOutHash = new Buffer(prevTx, 'hex')
12937
12938 // TxId hex is big-endian, we want little-endian hash
12939 Array.prototype.reverse.call(prevOutHash)
12940
12941 // Transaction
12942 } else if (prevTx instanceof Transaction) {
12943 prevOutHash = prevTx.getHash()
12944 prevOutScript = prevTx.outs[index].script
12945
12946 // txHash
12947 } else {
12948 prevOutHash = prevTx
12949 }
12950
12951 var input = {}
12952 if (prevOutScript) {
12953 var prevOutType = scripts.classifyOutput(prevOutScript)
12954
12955 // if we can, extract pubKey information
12956 switch (prevOutType) {
12957 case 'multisig': {
12958 input.pubKeys = prevOutScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12959 break
12960 }
12961
12962 case 'pubkey': {
12963 input.pubKeys = prevOutScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
12964 break
12965 }
12966 }
12967
12968 if (prevOutType !== 'scripthash') {
12969 input.scriptType = prevOutType
12970 }
12971
12972 input.prevOutScript = prevOutScript
12973 input.prevOutType = prevOutType
12974 }
12975
12976 assert(this.inputs.every(function (input2) {
12977 if (input2.hashType === undefined) return true
12978
12979 return input2.hashType & Transaction.SIGHASH_ANYONECANPAY
12980 }), 'No, this would invalidate signatures')
12981
12982 var prevOut = prevOutHash.toString('hex') + ':' + index
12983 assert(!(prevOut in this.prevTxMap), 'Transaction is already an input')
12984
12985 var vin = this.tx.addInput(prevOutHash, index, sequence)
12986 this.inputs[vin] = input
12987 this.prevTxMap[prevOut] = vin
12988
12989 return vin
12990}
12991
12992TransactionBuilder.prototype.addOutput = function (scriptPubKey, value) {
12993 assert(this.inputs.every(function (input) {
12994 if (input.hashType === undefined) return true
ebd8d4e8 12995
ab78acc6
IC
12996 return (input.hashType & 0x1f) === Transaction.SIGHASH_SINGLE
12997 }), 'No, this would invalidate signatures')
ebd8d4e8 12998
ab78acc6
IC
12999 return this.tx.addOutput(scriptPubKey, value)
13000}
ebd8d4e8 13001
ab78acc6
IC
13002TransactionBuilder.prototype.build = function () {
13003 return this.__build(false)
13004}
13005TransactionBuilder.prototype.buildIncomplete = function () {
13006 return this.__build(true)
13007}
ebd8d4e8 13008
ab78acc6
IC
13009var canSignTypes = {
13010 'pubkeyhash': true,
13011 'multisig': true,
13012 'pubkey': true
13013}
ebd8d4e8 13014
ab78acc6
IC
13015TransactionBuilder.prototype.__build = function (allowIncomplete) {
13016 if (!allowIncomplete) {
13017 assert(this.tx.ins.length > 0, 'Transaction has no inputs')
13018 assert(this.tx.outs.length > 0, 'Transaction has no outputs')
ebd8d4e8
IC
13019 }
13020
ab78acc6 13021 var tx = this.tx.clone()
ebd8d4e8 13022
ab78acc6
IC
13023 // Create script signatures from signature meta-data
13024 this.inputs.forEach(function (input, index) {
13025 var scriptType = input.scriptType
13026 var scriptSig
ebd8d4e8 13027
ab78acc6
IC
13028 if (!allowIncomplete) {
13029 assert(!!scriptType, 'Transaction is not complete')
13030 assert(scriptType in canSignTypes, scriptType + ' not supported')
13031 assert(input.signatures, 'Transaction is missing signatures')
13032 }
ebd8d4e8 13033
ab78acc6
IC
13034 if (input.signatures) {
13035 switch (scriptType) {
13036 case 'pubkeyhash': {
13037 var pkhSignature = input.signatures[0].toScriptSignature(input.hashType)
13038 scriptSig = scripts.pubKeyHashInput(pkhSignature, input.pubKeys[0])
13039 break
13040 }
ebd8d4e8 13041
ab78acc6
IC
13042 case 'multisig': {
13043 // Array.prototype.map is sparse-compatible
13044 var msSignatures = input.signatures.map(function (signature) {
13045 return signature && signature.toScriptSignature(input.hashType)
13046 })
ebd8d4e8 13047
ab78acc6
IC
13048 // fill in blanks with OP_0
13049 if (allowIncomplete) {
13050 for (var i = 0; i < msSignatures.length; ++i) {
13051 if (msSignatures[i]) continue
ebd8d4e8 13052
ab78acc6
IC
13053 msSignatures[i] = ops.OP_0
13054 }
13055 } else {
13056 // Array.prototype.filter returns non-sparse array
13057 msSignatures = msSignatures.filter(function (x) { return x })
13058 }
ebd8d4e8 13059
ab78acc6
IC
13060 var redeemScript = allowIncomplete ? undefined : input.redeemScript
13061 scriptSig = scripts.multisigInput(msSignatures, redeemScript)
13062 break
13063 }
ebd8d4e8 13064
ab78acc6
IC
13065 case 'pubkey': {
13066 var pkSignature = input.signatures[0].toScriptSignature(input.hashType)
13067 scriptSig = scripts.pubKeyInput(pkSignature)
13068 break
13069 }
13070 }
ebd8d4e8 13071 }
ebd8d4e8 13072
ab78acc6
IC
13073 // did we build a scriptSig?
13074 if (scriptSig) {
13075 // wrap as scriptHash if necessary
13076 if (input.prevOutType === 'scripthash') {
13077 scriptSig = scripts.scriptHashInput(scriptSig, input.redeemScript)
13078 }
13079
13080 tx.setInputScript(index, scriptSig)
ebd8d4e8
IC
13081 }
13082 })
13083
ab78acc6 13084 return tx
ebd8d4e8
IC
13085}
13086
ab78acc6
IC
13087TransactionBuilder.prototype.sign = function (index, privKey, redeemScript, hashType) {
13088 assert(index in this.inputs, 'No input at index: ' + index)
13089 hashType = hashType || Transaction.SIGHASH_ALL
ebd8d4e8 13090
ab78acc6
IC
13091 var input = this.inputs[index]
13092 var canSign = input.hashType &&
13093 input.prevOutScript &&
13094 input.prevOutType &&
13095 input.pubKeys &&
13096 input.scriptType &&
13097 input.signatures
ebd8d4e8 13098
ab78acc6
IC
13099 // are we almost ready to sign?
13100 if (canSign) {
13101 // if redeemScript was provided, enforce consistency
13102 if (redeemScript) {
13103 assert.deepEqual(input.redeemScript, redeemScript, 'Inconsistent redeemScript')
13104 }
ebd8d4e8 13105
ab78acc6 13106 assert.equal(input.hashType, hashType, 'Inconsistent hashType')
ebd8d4e8 13107
ab78acc6
IC
13108 // no? prepare
13109 } else {
13110 // must be pay-to-scriptHash?
13111 if (redeemScript) {
13112 // if we have a prevOutScript, enforce scriptHash equality to the redeemScript
13113 if (input.prevOutScript) {
13114 assert.equal(input.prevOutType, 'scripthash', 'PrevOutScript must be P2SH')
13115
13116 var scriptHash = input.prevOutScript.chunks[1]
13117 assert.deepEqual(scriptHash, redeemScript.getHash(), 'RedeemScript does not match ' + scriptHash.toString('hex'))
13118 }
ebd8d4e8 13119
ab78acc6
IC
13120 var scriptType = scripts.classifyOutput(redeemScript)
13121 assert(scriptType in canSignTypes, 'RedeemScript not supported (' + scriptType + ')')
ebd8d4e8 13122
ab78acc6
IC
13123 var pubKeys = []
13124 switch (scriptType) {
13125 case 'multisig': {
13126 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
13127 break
13128 }
ebd8d4e8 13129
ab78acc6
IC
13130 case 'pubkeyhash': {
13131 var pkh1 = redeemScript.chunks[2]
13132 var pkh2 = privKey.pub.getAddress().hash
ebd8d4e8 13133
ab78acc6
IC
13134 assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
13135 pubKeys = [privKey.pub]
13136 break
13137 }
ebd8d4e8 13138
ab78acc6
IC
13139 case 'pubkey': {
13140 pubKeys = redeemScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
13141 break
13142 }
13143 }
ebd8d4e8 13144
ab78acc6
IC
13145 if (!input.prevOutScript) {
13146 input.prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
13147 input.prevOutType = 'scripthash'
13148 }
ebd8d4e8 13149
ab78acc6
IC
13150 input.pubKeys = pubKeys
13151 input.redeemScript = redeemScript
13152 input.scriptType = scriptType
ebd8d4e8 13153
ab78acc6
IC
13154 // cannot be pay-to-scriptHash
13155 } else {
13156 assert.notEqual(input.prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript')
ebd8d4e8 13157
ab78acc6
IC
13158 // can we otherwise sign this?
13159 if (input.scriptType) {
13160 assert(input.pubKeys, input.scriptType + ' not supported')
ebd8d4e8 13161
ab78acc6
IC
13162 // we know nothin' Jon Snow, assume pubKeyHash
13163 } else {
13164 input.prevOutScript = privKey.pub.getAddress().toOutputScript()
13165 input.prevOutType = 'pubkeyhash'
13166 input.pubKeys = [privKey.pub]
13167 input.scriptType = input.prevOutType
13168 }
13169 }
ebd8d4e8 13170
ab78acc6
IC
13171 input.hashType = hashType
13172 input.signatures = input.signatures || []
13173 }
13174
13175 var signatureScript = input.redeemScript || input.prevOutScript
13176 var signatureHash = this.tx.hashForSignature(index, signatureScript, hashType)
13177
13178 // enforce signature order matches public keys
13179 if (input.scriptType === 'multisig' && input.redeemScript && input.signatures.length !== input.pubKeys.length) {
13180 // maintain a local copy of unmatched signatures
13181 var unmatched = input.signatures.slice()
13182
13183 input.signatures = input.pubKeys.map(function (pubKey) {
13184 var match
13185
13186 // check for any matching signatures
13187 unmatched.some(function (signature, i) {
13188 if (!pubKey.verify(signatureHash, signature)) return false
13189 match = signature
13190
13191 // remove matched signature from unmatched
13192 unmatched.splice(i, 1)
13193
13194 return true
13195 })
13196
13197 return match || undefined
13198 })
13199 }
13200
13201 // enforce in order signing of public keys
13202 assert(input.pubKeys.some(function (pubKey, i) {
13203 if (!privKey.pub.Q.equals(pubKey.Q)) return false
13204
13205 assert(!input.signatures[i], 'Signature already exists')
13206 var signature = privKey.sign(signatureHash)
13207 input.signatures[i] = signature
13208
13209 return true
13210 }, this), 'privateKey cannot sign for this input')
ebd8d4e8
IC
13211}
13212
ab78acc6 13213module.exports = TransactionBuilder
ebd8d4e8 13214
ab78acc6
IC
13215}).call(this,require("buffer").Buffer)
13216},{"./ecpubkey":61,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"assert":5,"buffer":7}],72:[function(require,module,exports){
ebd8d4e8 13217(function (Buffer){
ab78acc6
IC
13218var assert = require('assert')
13219var bufferutils = require('./bufferutils')
13220var typeForce = require('typeforce')
13221var networks = require('./networks')
13222var randomBytes = require('randombytes')
ebd8d4e8 13223
ab78acc6
IC
13224var Address = require('./address')
13225var HDNode = require('./hdnode')
13226var TransactionBuilder = require('./transaction_builder')
13227var Script = require('./script')
ebd8d4e8 13228
ab78acc6
IC
13229function Wallet (seed, network) {
13230 console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296')
13231
13232 seed = seed || randomBytes(32)
ebd8d4e8
IC
13233 network = network || networks.bitcoin
13234
13235 // Stored in a closure to make accidental serialization less likely
ab78acc6
IC
13236 var masterKey = HDNode.fromSeedBuffer(seed, network)
13237
13238 // HD first-level child derivation method should be hardened
13239 // See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
13240 var accountZero = masterKey.deriveHardened(0)
13241 var externalAccount = accountZero.derive(0)
13242 var internalAccount = accountZero.derive(1)
ebd8d4e8 13243
ebd8d4e8
IC
13244 this.addresses = []
13245 this.changeAddresses = []
ab78acc6
IC
13246 this.network = network
13247 this.unspents = []
ebd8d4e8 13248
ab78acc6
IC
13249 // FIXME: remove in 2.0.0
13250 this.unspentMap = {}
ebd8d4e8 13251
ab78acc6
IC
13252 // FIXME: remove in 2.0.0
13253 var me = this
13254 this.newMasterKey = function (seed) {
13255 console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
13256
13257 seed = seed || randomBytes(32)
13258 masterKey = HDNode.fromSeedBuffer(seed, network)
ebd8d4e8 13259
ab78acc6 13260 accountZero = masterKey.deriveHardened(0)
ebd8d4e8
IC
13261 externalAccount = accountZero.derive(0)
13262 internalAccount = accountZero.derive(1)
13263
13264 me.addresses = []
13265 me.changeAddresses = []
13266
ab78acc6
IC
13267 me.unspents = []
13268 me.unspentMap = {}
ebd8d4e8
IC
13269 }
13270
ab78acc6
IC
13271 this.getMasterKey = function () {
13272 return masterKey
ebd8d4e8 13273 }
ab78acc6
IC
13274 this.getAccountZero = function () {
13275 return accountZero
ebd8d4e8 13276 }
ab78acc6
IC
13277 this.getExternalAccount = function () {
13278 return externalAccount
13279 }
13280 this.getInternalAccount = function () {
13281 return internalAccount
ebd8d4e8 13282 }
ab78acc6 13283}
ebd8d4e8 13284
ab78acc6
IC
13285Wallet.prototype.createTransaction = function (to, value, options) {
13286 // FIXME: remove in 2.0.0
13287 if (typeof options !== 'object') {
13288 if (options !== undefined) {
13289 console.warn('Non options object parameters are deprecated, use options object instead')
ebd8d4e8 13290
ab78acc6
IC
13291 options = {
13292 fixedFee: arguments[2],
13293 changeAddress: arguments[3]
13294 }
ebd8d4e8 13295 }
ebd8d4e8
IC
13296 }
13297
ab78acc6 13298 options = options || {}
ebd8d4e8 13299
ab78acc6 13300 assert(value > this.network.dustThreshold, value + ' must be above dust threshold (' + this.network.dustThreshold + ' Satoshis)')
ebd8d4e8 13301
ab78acc6
IC
13302 var changeAddress = options.changeAddress
13303 var fixedFee = options.fixedFee
13304 var minConf = options.minConf === undefined ? 0 : options.minConf // FIXME: change minConf:1 by default in 2.0.0
ebd8d4e8 13305
ab78acc6
IC
13306 // filter by minConf, then pending and sort by descending value
13307 var unspents = this.unspents.filter(function (unspent) {
13308 return unspent.confirmations >= minConf
13309 }).filter(function (unspent) {
13310 return !unspent.pending
13311 }).sort(function (o1, o2) {
13312 return o2.value - o1.value
13313 })
ebd8d4e8 13314
ab78acc6
IC
13315 var accum = 0
13316 var addresses = []
13317 var subTotal = value
ebd8d4e8 13318
ab78acc6
IC
13319 var txb = new TransactionBuilder()
13320 txb.addOutput(to, value)
ebd8d4e8 13321
ab78acc6
IC
13322 for (var i = 0; i < unspents.length; ++i) {
13323 var unspent = unspents[i]
13324 addresses.push(unspent.address)
ebd8d4e8 13325
ab78acc6
IC
13326 txb.addInput(unspent.txHash, unspent.index)
13327
13328 var fee = fixedFee === undefined ? estimatePaddedFee(txb.buildIncomplete(), this.network) : fixedFee
ebd8d4e8 13329
ab78acc6
IC
13330 accum += unspent.value
13331 subTotal = value + fee
13332
13333 if (accum >= subTotal) {
13334 var change = accum - subTotal
13335
13336 if (change > this.network.dustThreshold) {
13337 txb.addOutput(changeAddress || this.getChangeAddress(), change)
ebd8d4e8 13338 }
ebd8d4e8 13339
ab78acc6 13340 break
ebd8d4e8
IC
13341 }
13342 }
13343
ab78acc6 13344 assert(accum >= subTotal, 'Not enough funds (incl. fee): ' + accum + ' < ' + subTotal)
ebd8d4e8 13345
ab78acc6
IC
13346 return this.signWith(txb, addresses).build()
13347}
ebd8d4e8 13348
ab78acc6
IC
13349// FIXME: remove in 2.0.0
13350Wallet.prototype.processPendingTx = function (tx) {
13351 this.__processTx(tx, true)
13352}
ebd8d4e8 13353
ab78acc6
IC
13354// FIXME: remove in 2.0.0
13355Wallet.prototype.processConfirmedTx = function (tx) {
13356 this.__processTx(tx, false)
13357}
ebd8d4e8 13358
ab78acc6
IC
13359// FIXME: remove in 2.0.0
13360Wallet.prototype.__processTx = function (tx, isPending) {
13361 console.warn('processTransaction is considered harmful, see issue #260 for more information')
ebd8d4e8 13362
ab78acc6
IC
13363 var txId = tx.getId()
13364 var txHash = tx.getHash()
ebd8d4e8 13365
ab78acc6
IC
13366 tx.outs.forEach(function (txOut, i) {
13367 var address
ebd8d4e8 13368
ab78acc6
IC
13369 try {
13370 address = Address.fromOutputScript(txOut.script, this.network).toString()
13371 } catch (e) {
13372 if (!(e.message.match(/has no matching Address/)))
13373 throw e
13374 }
13375
13376 var myAddresses = this.addresses.concat(this.changeAddresses)
13377 if (myAddresses.indexOf(address) > -1) {
13378 var lookup = txId + ':' + i
13379 if (lookup in this.unspentMap) return
13380
13381 // its unique, add it
13382 var unspent = {
13383 address: address,
13384 confirmations: 0, // no way to determine this without more information
13385 index: i,
13386 txHash: txHash,
13387 txId: txId,
13388 value: txOut.value,
13389 pending: isPending
ebd8d4e8 13390 }
ebd8d4e8 13391
ab78acc6
IC
13392 this.unspentMap[lookup] = unspent
13393 this.unspents.push(unspent)
13394 }
13395 }, this)
ebd8d4e8 13396
ab78acc6
IC
13397 tx.ins.forEach(function (txIn) {
13398 // copy and convert to big-endian hex
13399 var txInId = bufferutils.reverse(txIn.hash).toString('hex')
ebd8d4e8 13400
ab78acc6
IC
13401 var lookup = txInId + ':' + txIn.index
13402 if (!(lookup in this.unspentMap)) return
ebd8d4e8 13403
ab78acc6 13404 var unspent = this.unspentMap[lookup]
ebd8d4e8 13405
ab78acc6
IC
13406 if (isPending) {
13407 unspent.pending = true
13408 unspent.spent = true
13409 } else {
13410 delete this.unspentMap[lookup]
ebd8d4e8 13411
ab78acc6
IC
13412 this.unspents = this.unspents.filter(function (unspent2) {
13413 return unspent !== unspent2
13414 })
13415 }
13416 }, this)
13417}
ebd8d4e8 13418
ab78acc6
IC
13419Wallet.prototype.generateAddress = function () {
13420 var k = this.addresses.length
13421 var address = this.getExternalAccount().derive(k).getAddress()
ebd8d4e8 13422
ab78acc6 13423 this.addresses.push(address.toString())
ebd8d4e8 13424
ab78acc6
IC
13425 return this.getReceiveAddress()
13426}
ebd8d4e8 13427
ab78acc6
IC
13428Wallet.prototype.generateChangeAddress = function () {
13429 var k = this.changeAddresses.length
13430 var address = this.getInternalAccount().derive(k).getAddress()
ebd8d4e8 13431
ab78acc6 13432 this.changeAddresses.push(address.toString())
ebd8d4e8 13433
ab78acc6
IC
13434 return this.getChangeAddress()
13435}
ebd8d4e8 13436
ab78acc6
IC
13437Wallet.prototype.getAddress = function () {
13438 if (this.addresses.length === 0) {
13439 this.generateAddress()
ebd8d4e8
IC
13440 }
13441
ab78acc6
IC
13442 return this.addresses[this.addresses.length - 1]
13443}
ebd8d4e8 13444
ab78acc6
IC
13445Wallet.prototype.getBalance = function (minConf) {
13446 minConf = minConf || 0
ebd8d4e8 13447
ab78acc6
IC
13448 return this.unspents.filter(function (unspent) {
13449 return unspent.confirmations >= minConf
13450
13451 // FIXME: remove spent filter in 2.0.0
13452 }).filter(function (unspent) {
13453 return !unspent.spent
13454 }).reduce(function (accum, unspent) {
13455 return accum + unspent.value
13456 }, 0)
13457}
ebd8d4e8 13458
ab78acc6
IC
13459Wallet.prototype.getChangeAddress = function () {
13460 if (this.changeAddresses.length === 0) {
13461 this.generateChangeAddress()
ebd8d4e8
IC
13462 }
13463
ab78acc6
IC
13464 return this.changeAddresses[this.changeAddresses.length - 1]
13465}
13466
13467Wallet.prototype.getInternalPrivateKey = function (index) {
13468 return this.getInternalAccount().derive(index).privKey
13469}
13470
13471Wallet.prototype.getPrivateKey = function (index) {
13472 return this.getExternalAccount().derive(index).privKey
13473}
13474
13475Wallet.prototype.getPrivateKeyForAddress = function (address) {
13476 var index
ebd8d4e8 13477
ab78acc6
IC
13478 if ((index = this.addresses.indexOf(address)) > -1) {
13479 return this.getPrivateKey(index)
ebd8d4e8
IC
13480 }
13481
ab78acc6
IC
13482 if ((index = this.changeAddresses.indexOf(address)) > -1) {
13483 return this.getInternalPrivateKey(index)
ebd8d4e8
IC
13484 }
13485
ab78acc6
IC
13486 assert(false, 'Unknown address. Make sure the address is from the keychain and has been generated')
13487}
ebd8d4e8 13488
ab78acc6
IC
13489Wallet.prototype.getUnspentOutputs = function (minConf) {
13490 minConf = minConf || 0
ebd8d4e8 13491
ab78acc6
IC
13492 return this.unspents.filter(function (unspent) {
13493 return unspent.confirmations >= minConf
ebd8d4e8 13494
ab78acc6
IC
13495 // FIXME: remove spent filter in 2.0.0
13496 }).filter(function (unspent) {
13497 return !unspent.spent
13498 }).map(function (unspent) {
13499 return {
13500 address: unspent.address,
13501 confirmations: unspent.confirmations,
13502 index: unspent.index,
13503 txId: unspent.txId,
13504 value: unspent.value,
13505
13506 // FIXME: remove in 2.0.0
13507 hash: unspent.txId,
13508 pending: unspent.pending
13509 }
13510 })
13511}
ebd8d4e8 13512
ab78acc6
IC
13513Wallet.prototype.setUnspentOutputs = function (unspents) {
13514 this.unspentMap = {}
13515 this.unspents = unspents.map(function (unspent) {
13516 // FIXME: remove unspent.hash in 2.0.0
13517 var txId = unspent.txId || unspent.hash
13518 var index = unspent.index
ebd8d4e8 13519
ab78acc6
IC
13520 // FIXME: remove in 2.0.0
13521 if (unspent.hash !== undefined) {
13522 console.warn('unspent.hash is deprecated, use unspent.txId instead')
13523 }
ebd8d4e8 13524
ab78acc6
IC
13525 // FIXME: remove in 2.0.0
13526 if (index === undefined) {
13527 console.warn('unspent.outputIndex is deprecated, use unspent.index instead')
13528 index = unspent.outputIndex
13529 }
ebd8d4e8 13530
ab78acc6
IC
13531 typeForce('String', txId)
13532 typeForce('Number', index)
13533 typeForce('Number', unspent.value)
13534
13535 assert.equal(txId.length, 64, 'Expected valid txId, got ' + txId)
13536 assert.doesNotThrow(function () {
13537 Address.fromBase58Check(unspent.address)
13538 }, 'Expected Base58 Address, got ' + unspent.address)
13539 assert(isFinite(index), 'Expected finite index, got ' + index)
13540
13541 // FIXME: remove branch in 2.0.0
13542 if (unspent.confirmations !== undefined) {
13543 typeForce('Number', unspent.confirmations)
ebd8d4e8 13544 }
ebd8d4e8 13545
ab78acc6 13546 var txHash = bufferutils.reverse(new Buffer(txId, 'hex'))
ebd8d4e8 13547
ab78acc6
IC
13548 unspent = {
13549 address: unspent.address,
13550 confirmations: unspent.confirmations || 0,
13551 index: index,
13552 txHash: txHash,
13553 txId: txId,
13554 value: unspent.value,
ebd8d4e8 13555
ab78acc6
IC
13556 // FIXME: remove in 2.0.0
13557 pending: unspent.pending || false
13558 }
13559
13560 // FIXME: remove in 2.0.0
13561 this.unspentMap[txId + ':' + index] = unspent
13562
13563 return unspent
13564 }, this)
13565}
13566
13567Wallet.prototype.signWith = function (tx, addresses) {
13568 addresses.forEach(function (address, i) {
13569 var privKey = this.getPrivateKeyForAddress(address)
13570
13571 tx.sign(i, privKey)
13572 }, this)
13573
13574 return tx
13575}
13576
13577function estimatePaddedFee (tx, network) {
13578 var tmpTx = tx.clone()
13579 tmpTx.addOutput(Script.EMPTY, network.dustSoftThreshold || 0)
13580
13581 return network.estimateFee(tmpTx)
ebd8d4e8
IC
13582}
13583
ab78acc6
IC
13584// FIXME: 1.0.0 shims, remove in 2.0.0
13585Wallet.prototype.getReceiveAddress = Wallet.prototype.getAddress
13586Wallet.prototype.createTx = Wallet.prototype.createTransaction
13587
ebd8d4e8
IC
13588module.exports = Wallet
13589
ab78acc6
IC
13590}).call(this,require("buffer").Buffer)
13591},{"./address":54,"./bufferutils":57,"./hdnode":63,"./networks":66,"./script":68,"./transaction_builder":71,"assert":5,"buffer":7,"randombytes":52,"typeforce":53}]},{},[64])(64)
13592});</script>
d5dc92fd
IC
13593 <script>bitcoin.networks.shadow = {
13594 magicPrefix: '\x19ShadowCash Signed Message:\n',
13595 bip32: {
13596 public: 0xEE80286A,
13597 private: 0xEE8031E8
13598 },
13599 pubKeyHash: 0x3f,
13600 scriptHash: 0x7d,
13601 wif: 0xbf,
13602 dustThreshold: 0,
13603 feePerKb: 1000,
13604 estimateFee: function() { return "unused in this app" },
13605};
13606
13607bitcoin.networks.shadowtn = {
13608 magicPrefix: '\x19ShadowCash Signed Message:\n',
13609 bip32: {
13610 public: 0x76C0FDFB,
13611 private: 0x76C1077A
13612 },
13613 pubKeyHash: 0x7f,
13614 scriptHash: 0xc4,
13615 wif: 0xff,
13616 dustThreshold: 0,
13617 feePerKb: 1000,
13618 estimateFee: function() { return "unused in this app" },
13619};
5c434a8a
CM
13620
13621bitcoin.networks.clam = {
13622 bip32: {
13623 public: 0xa8c26d64,
13624 private: 0xa8c17826
13625 },
13626 pubKeyHash: 0x89,
13627 wif: 0x85,
13628};
5493efc3 13629
13630bitcoin.networks.dash = {
13631 bip32: {
13632 public: 0x0488b21e,
13633 private: 0x0488ade4
13634 },
68151a47 13635 pubKeyHash: 0x4c,
5493efc3 13636 scriptHash: 0x10,
13637 wif: 0xcc,
13638};
13639
07ac4350 13640bitcoin.networks.namecoin = {
13641 bip32: {
13642 public: 0x0488b21e,
13643 private: 0x0488ade4
13644 },
13645 pubKeyHash: 0x34,
13646 //scriptHash: 0x10,
13647 wif: 0x80,
13648};
13649
13650bitcoin.networks.peercoin = {
13651 bip32: {
13652 public: 0x0488b21e,
13653 private: 0x0488ade4
13654 },
13655 pubKeyHash: 0x37,
13656 //scriptHash: 0x10,
13657 wif: 0xb7,
13658};
13659
d5dc92fd 13660</script>
ab78acc6 13661 <script>// Select components from sjcl to suit the crypto operations bip39 requires.
80c4dd2a
IC
13662
13663//// base.js
13664
13665/** @fileOverview Javascript cryptography implementation.
13666 *
13667 * Crush to remove comments, shorten variable names and
13668 * generally reduce transmission size.
13669 *
13670 * @author Emily Stark
13671 * @author Mike Hamburg
13672 * @author Dan Boneh
13673 */
13674
13675"use strict";
13676/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */
13677/*global document, window, escape, unescape, module, require, Uint32Array */
13678
13679/** @namespace The Stanford Javascript Crypto Library, top-level namespace. */
13680var sjcl = {
13681 /** @namespace Symmetric ciphers. */
13682 cipher: {},
13683
13684 /** @namespace Hash functions. Right now only SHA256 is implemented. */
13685 hash: {},
13686
13687 /** @namespace Key exchange functions. Right now only SRP is implemented. */
13688 keyexchange: {},
13689
13690 /** @namespace Block cipher modes of operation. */
13691 mode: {},
13692
13693 /** @namespace Miscellaneous. HMAC and PBKDF2. */
13694 misc: {},
13695
13696 /**
13697 * @namespace Bit array encoders and decoders.
13698 *
13699 * @description
13700 * The members of this namespace are functions which translate between
13701 * SJCL's bitArrays and other objects (usually strings). Because it
13702 * isn't always clear which direction is encoding and which is decoding,
13703 * the method names are "fromBits" and "toBits".
13704 */
13705 codec: {},
13706
13707 /** @namespace Exceptions. */
13708 exception: {
13709 /** @constructor Ciphertext is corrupt. */
13710 corrupt: function(message) {
13711 this.toString = function() { return "CORRUPT: "+this.message; };
13712 this.message = message;
13713 },
13714
13715 /** @constructor Invalid parameter. */
13716 invalid: function(message) {
13717 this.toString = function() { return "INVALID: "+this.message; };
13718 this.message = message;
13719 },
13720
13721 /** @constructor Bug or missing feature in SJCL. @constructor */
13722 bug: function(message) {
13723 this.toString = function() { return "BUG: "+this.message; };
13724 this.message = message;
13725 },
13726
13727 /** @constructor Something isn't ready. */
13728 notReady: function(message) {
13729 this.toString = function() { return "NOT READY: "+this.message; };
13730 this.message = message;
ebd8d4e8 13731 }
80c4dd2a
IC
13732 }
13733};
13734
13735if(typeof module !== 'undefined' && module.exports){
13736 module.exports = sjcl;
13737}
13738if (typeof define === "function") {
13739 define([], function () {
13740 return sjcl;
13741 });
13742}
13743
13744
13745//// bitArray.js
13746
13747/** @fileOverview Arrays of bits, encoded as arrays of Numbers.
13748 *
13749 * @author Emily Stark
13750 * @author Mike Hamburg
13751 * @author Dan Boneh
13752 */
13753
13754/** @namespace Arrays of bits, encoded as arrays of Numbers.
13755 *
13756 * @description
13757 * <p>
13758 * These objects are the currency accepted by SJCL's crypto functions.
13759 * </p>
13760 *
13761 * <p>
13762 * Most of our crypto primitives operate on arrays of 4-byte words internally,
13763 * but many of them can take arguments that are not a multiple of 4 bytes.
13764 * This library encodes arrays of bits (whose size need not be a multiple of 8
13765 * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an
13766 * array of words, 32 bits at a time. Since the words are double-precision
13767 * floating point numbers, they fit some extra data. We use this (in a private,
13768 * possibly-changing manner) to encode the number of bits actually present
13769 * in the last word of the array.
13770 * </p>
13771 *
13772 * <p>
13773 * Because bitwise ops clear this out-of-band data, these arrays can be passed
13774 * to ciphers like AES which want arrays of words.
13775 * </p>
13776 */
13777sjcl.bitArray = {
13778 /**
13779 * Array slices in units of bits.
13780 * @param {bitArray} a The array to slice.
13781 * @param {Number} bstart The offset to the start of the slice, in bits.
13782 * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
13783 * slice until the end of the array.
13784 * @return {bitArray} The requested slice.
13785 */
13786 bitSlice: function (a, bstart, bend) {
13787 a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);
13788 return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);
13789 },
13790
13791 /**
13792 * Extract a number packed into a bit array.
13793 * @param {bitArray} a The array to slice.
13794 * @param {Number} bstart The offset to the start of the slice, in bits.
13795 * @param {Number} length The length of the number to extract.
13796 * @return {Number} The requested slice.
13797 */
13798 extract: function(a, bstart, blength) {
13799 // FIXME: this Math.floor is not necessary at all, but for some reason
13800 // seems to suppress a bug in the Chromium JIT.
13801 var x, sh = Math.floor((-bstart-blength) & 31);
13802 if ((bstart + blength - 1 ^ bstart) & -32) {
13803 // it crosses a boundary
13804 x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);
13805 } else {
13806 // within a single word
13807 x = a[bstart/32|0] >>> sh;
ebd8d4e8 13808 }
80c4dd2a
IC
13809 return x & ((1<<blength) - 1);
13810 },
13811
13812 /**
13813 * Concatenate two bit arrays.
13814 * @param {bitArray} a1 The first array.
13815 * @param {bitArray} a2 The second array.
13816 * @return {bitArray} The concatenation of a1 and a2.
13817 */
13818 concat: function (a1, a2) {
13819 if (a1.length === 0 || a2.length === 0) {
13820 return a1.concat(a2);
13821 }
13822
13823 var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);
13824 if (shift === 32) {
13825 return a1.concat(a2);
13826 } else {
13827 return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));
ebd8d4e8 13828 }
80c4dd2a
IC
13829 },
13830
13831 /**
13832 * Find the length of an array of bits.
13833 * @param {bitArray} a The array.
13834 * @return {Number} The length of a, in bits.
13835 */
13836 bitLength: function (a) {
13837 var l = a.length, x;
13838 if (l === 0) { return 0; }
13839 x = a[l - 1];
13840 return (l-1) * 32 + sjcl.bitArray.getPartial(x);
13841 },
13842
13843 /**
13844 * Truncate an array.
13845 * @param {bitArray} a The array.
13846 * @param {Number} len The length to truncate to, in bits.
13847 * @return {bitArray} A new array, truncated to len bits.
13848 */
13849 clamp: function (a, len) {
13850 if (a.length * 32 < len) { return a; }
13851 a = a.slice(0, Math.ceil(len / 32));
13852 var l = a.length;
13853 len = len & 31;
13854 if (l > 0 && len) {
13855 a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);
13856 }
13857 return a;
13858 },
13859
13860 /**
13861 * Make a partial word for a bit array.
13862 * @param {Number} len The number of bits in the word.
13863 * @param {Number} x The bits.
13864 * @param {Number} [0] _end Pass 1 if x has already been shifted to the high side.
13865 * @return {Number} The partial word.
13866 */
13867 partial: function (len, x, _end) {
13868 if (len === 32) { return x; }
13869 return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;
13870 },
13871
13872 /**
13873 * Get the number of bits used by a partial word.
13874 * @param {Number} x The partial word.
13875 * @return {Number} The number of bits used by the partial word.
13876 */
13877 getPartial: function (x) {
13878 return Math.round(x/0x10000000000) || 32;
13879 },
13880
13881 /**
13882 * Compare two arrays for equality in a predictable amount of time.
13883 * @param {bitArray} a The first array.
13884 * @param {bitArray} b The second array.
13885 * @return {boolean} true if a == b; false otherwise.
13886 */
13887 equal: function (a, b) {
13888 if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {
13889 return false;
ebd8d4e8 13890 }
80c4dd2a
IC
13891 var x = 0, i;
13892 for (i=0; i<a.length; i++) {
13893 x |= a[i]^b[i];
ebd8d4e8 13894 }
80c4dd2a
IC
13895 return (x === 0);
13896 },
13897
13898 /** Shift an array right.
13899 * @param {bitArray} a The array to shift.
13900 * @param {Number} shift The number of bits to shift.
13901 * @param {Number} [carry=0] A byte to carry in
13902 * @param {bitArray} [out=[]] An array to prepend to the output.
13903 * @private
13904 */
13905 _shiftRight: function (a, shift, carry, out) {
13906 var i, last2=0, shift2;
13907 if (out === undefined) { out = []; }
13908
13909 for (; shift >= 32; shift -= 32) {
13910 out.push(carry);
13911 carry = 0;
13912 }
13913 if (shift === 0) {
13914 return out.concat(a);
13915 }
13916
13917 for (i=0; i<a.length; i++) {
13918 out.push(carry | a[i]>>>shift);
13919 carry = a[i] << (32-shift);
13920 }
13921 last2 = a.length ? a[a.length-1] : 0;
13922 shift2 = sjcl.bitArray.getPartial(last2);
13923 out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));
13924 return out;
13925 },
13926
13927 /** xor a block of 4 words together.
13928 * @private
13929 */
13930 _xor4: function(x,y) {
13931 return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];
13932 },
13933
13934 /** byteswap a word array inplace.
13935 * (does not handle partial words)
13936 * @param {sjcl.bitArray} a word array
13937 * @return {sjcl.bitArray} byteswapped array
13938 */
13939 byteswapM: function(a) {
13940 var i, v, m = 0xff00;
13941 for (i = 0; i < a.length; ++i) {
13942 v = a[i];
13943 a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);
ebd8d4e8 13944 }
80c4dd2a
IC
13945 return a;
13946 }
13947};
13948
13949
13950//// codecString.js
13951
13952/** @fileOverview Bit array codec implementations.
13953 *
13954 * @author Emily Stark
13955 * @author Mike Hamburg
13956 * @author Dan Boneh
13957 */
13958
13959/** @namespace UTF-8 strings */
13960sjcl.codec.utf8String = {
13961 /** Convert from a bitArray to a UTF-8 string. */
13962 fromBits: function (arr) {
13963 var out = "", bl = sjcl.bitArray.bitLength(arr), i, tmp;
13964 for (i=0; i<bl/8; i++) {
13965 if ((i&3) === 0) {
13966 tmp = arr[i/4];
13967 }
13968 out += String.fromCharCode(tmp >>> 24);
13969 tmp <<= 8;
ebd8d4e8 13970 }
80c4dd2a
IC
13971 return decodeURIComponent(escape(out));
13972 },
13973
13974 /** Convert from a UTF-8 string to a bitArray. */
13975 toBits: function (str) {
13976 str = unescape(encodeURIComponent(str));
13977 var out = [], i, tmp=0;
13978 for (i=0; i<str.length; i++) {
13979 tmp = tmp << 8 | str.charCodeAt(i);
13980 if ((i&3) === 3) {
13981 out.push(tmp);
13982 tmp = 0;
13983 }
ebd8d4e8 13984 }
80c4dd2a
IC
13985 if (i&3) {
13986 out.push(sjcl.bitArray.partial(8*(i&3), tmp));
ebd8d4e8 13987 }
80c4dd2a
IC
13988 return out;
13989 }
13990};
13991
13992
13993//// codecHex.js
13994
13995/** @fileOverview Bit array codec implementations.
13996 *
13997 * @author Emily Stark
13998 * @author Mike Hamburg
13999 * @author Dan Boneh
14000 */
14001
14002/** @namespace Hexadecimal */
14003sjcl.codec.hex = {
14004 /** Convert from a bitArray to a hex string. */
14005 fromBits: function (arr) {
14006 var out = "", i;
14007 for (i=0; i<arr.length; i++) {
14008 out += ((arr[i]|0)+0xF00000000000).toString(16).substr(4);
ebd8d4e8 14009 }
80c4dd2a
IC
14010 return out.substr(0, sjcl.bitArray.bitLength(arr)/4);//.replace(/(.{8})/g, "$1 ");
14011 },
14012 /** Convert from a hex string to a bitArray. */
14013 toBits: function (str) {
14014 var i, out=[], len;
14015 str = str.replace(/\s|0x/g, "");
14016 len = str.length;
14017 str = str + "00000000";
14018 for (i=0; i<str.length; i+=8) {
14019 out.push(parseInt(str.substr(i,8),16)^0);
ebd8d4e8 14020 }
80c4dd2a
IC
14021 return sjcl.bitArray.clamp(out, len*4);
14022 }
14023};
14024
14025
14026//// sha512.js
14027
14028/** @fileOverview Javascript SHA-512 implementation.
14029 *
14030 * This implementation was written for CryptoJS by Jeff Mott and adapted for
14031 * SJCL by Stefan Thomas.
14032 *
14033 * CryptoJS (c) 2009–2012 by Jeff Mott. All rights reserved.
14034 * Released with New BSD License
14035 *
14036 * @author Emily Stark
14037 * @author Mike Hamburg
14038 * @author Dan Boneh
14039 * @author Jeff Mott
14040 * @author Stefan Thomas
14041 */
14042
14043/**
14044 * Context for a SHA-512 operation in progress.
14045 * @constructor
14046 * @class Secure Hash Algorithm, 512 bits.
14047 */
14048sjcl.hash.sha512 = function (hash) {
14049 if (!this._key[0]) { this._precompute(); }
14050 if (hash) {
14051 this._h = hash._h.slice(0);
14052 this._buffer = hash._buffer.slice(0);
14053 this._length = hash._length;
14054 } else {
14055 this.reset();
14056 }
14057};
14058
14059/**
14060 * Hash a string or an array of words.
14061 * @static
14062 * @param {bitArray|String} data the data to hash.
14063 * @return {bitArray} The hash value, an array of 16 big-endian words.
14064 */
14065sjcl.hash.sha512.hash = function (data) {
14066 return (new sjcl.hash.sha512()).update(data).finalize();
14067};
14068
14069sjcl.hash.sha512.prototype = {
14070 /**
14071 * The hash's block size, in bits.
14072 * @constant
14073 */
14074 blockSize: 1024,
14075
14076 /**
14077 * Reset the hash state.
14078 * @return this
14079 */
14080 reset:function () {
14081 this._h = this._init.slice(0);
14082 this._buffer = [];
14083 this._length = 0;
14084 return this;
14085 },
14086
14087 /**
14088 * Input several words to the hash.
14089 * @param {bitArray|String} data the data to hash.
14090 * @return this
14091 */
14092 update: function (data) {
14093 if (typeof data === "string") {
14094 data = sjcl.codec.utf8String.toBits(data);
ebd8d4e8 14095 }
80c4dd2a
IC
14096 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14097 ol = this._length,
14098 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14099 for (i = 1024+ol & -1024; i <= nl; i+= 1024) {
14100 this._block(b.splice(0,32));
ebd8d4e8 14101 }
80c4dd2a
IC
14102 return this;
14103 },
14104
14105 /**
14106 * Complete hashing and output the hash value.
14107 * @return {bitArray} The hash value, an array of 16 big-endian words.
14108 */
14109 finalize:function () {
14110 var i, b = this._buffer, h = this._h;
14111
14112 // Round out and push the buffer
14113 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14114
14115 // Round out the buffer to a multiple of 32 words, less the 4 length words.
14116 for (i = b.length + 4; i & 31; i++) {
14117 b.push(0);
ebd8d4e8 14118 }
80c4dd2a
IC
14119
14120 // append the length
14121 b.push(0);
14122 b.push(0);
14123 b.push(Math.floor(this._length / 0x100000000));
14124 b.push(this._length | 0);
14125
14126 while (b.length) {
14127 this._block(b.splice(0,32));
ebd8d4e8 14128 }
80c4dd2a
IC
14129
14130 this.reset();
14131 return h;
14132 },
14133
14134 /**
14135 * The SHA-512 initialization vector, to be precomputed.
14136 * @private
14137 */
14138 _init:[],
14139
14140 /**
14141 * Least significant 24 bits of SHA512 initialization values.
14142 *
14143 * Javascript only has 53 bits of precision, so we compute the 40 most
14144 * significant bits and add the remaining 24 bits as constants.
14145 *
14146 * @private
14147 */
14148 _initr: [ 0xbcc908, 0xcaa73b, 0x94f82b, 0x1d36f1, 0xe682d1, 0x3e6c1f, 0x41bd6b, 0x7e2179 ],
14149
14150 /*
14151 _init:
14152 [0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
14153 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179],
14154 */
14155
14156 /**
14157 * The SHA-512 hash key, to be precomputed.
14158 * @private
14159 */
14160 _key:[],
14161
14162 /**
14163 * Least significant 24 bits of SHA512 key values.
14164 * @private
14165 */
14166 _keyr:
14167 [0x28ae22, 0xef65cd, 0x4d3b2f, 0x89dbbc, 0x48b538, 0x05d019, 0x194f9b, 0x6d8118,
14168 0x030242, 0x706fbe, 0xe4b28c, 0xffb4e2, 0x7b896f, 0x1696b1, 0xc71235, 0x692694,
14169 0xf14ad2, 0x4f25e3, 0x8cd5b5, 0xac9c65, 0x2b0275, 0xa6e483, 0x41fbd4, 0x1153b5,
14170 0x66dfab, 0xb43210, 0xfb213f, 0xef0ee4, 0xa88fc2, 0x0aa725, 0x03826f, 0x0e6e70,
14171 0xd22ffc, 0x26c926, 0xc42aed, 0x95b3df, 0xaf63de, 0x77b2a8, 0xedaee6, 0x82353b,
14172 0xf10364, 0x423001, 0xf89791, 0x54be30, 0xef5218, 0x65a910, 0x71202a, 0xbbd1b8,
14173 0xd2d0c8, 0x41ab53, 0x8eeb99, 0x9b48a8, 0xc95a63, 0x418acb, 0x63e373, 0xb2b8a3,
14174 0xefb2fc, 0x172f60, 0xf0ab72, 0x6439ec, 0x631e28, 0x82bde9, 0xc67915, 0x72532b,
14175 0x26619c, 0xc0c207, 0xe0eb1e, 0x6ed178, 0x176fba, 0xc898a6, 0xf90dae, 0x1c471b,
14176 0x047d84, 0xc72493, 0xc9bebc, 0x100d4c, 0x3e42b6, 0x657e2a, 0xd6faec, 0x475817],
14177
14178 /*
14179 _key:
14180 [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
14181 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
14182 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
14183 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
14184 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
14185 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
14186 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
14187 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
14188 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
14189 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
14190 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
14191 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
14192 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
14193 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
14194 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
14195 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
14196 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
14197 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
14198 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
14199 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817],
14200 */
14201
14202 /**
14203 * Function to precompute _init and _key.
14204 * @private
14205 */
14206 _precompute: function () {
14207 // XXX: This code is for precomputing the SHA256 constants, change for
14208 // SHA512 and re-enable.
14209 var i = 0, prime = 2, factor;
14210
14211 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14212 function frac2(x) { return (x-Math.floor(x)) * 0x10000000000 & 0xff; }
14213
14214 outer: for (; i<80; prime++) {
14215 for (factor=2; factor*factor <= prime; factor++) {
14216 if (prime % factor === 0) {
14217 // not a prime
14218 continue outer;
ebd8d4e8 14219 }
80c4dd2a
IC
14220 }
14221
14222 if (i<8) {
14223 this._init[i*2] = frac(Math.pow(prime, 1/2));
14224 this._init[i*2+1] = (frac2(Math.pow(prime, 1/2)) << 24) | this._initr[i];
14225 }
14226 this._key[i*2] = frac(Math.pow(prime, 1/3));
14227 this._key[i*2+1] = (frac2(Math.pow(prime, 1/3)) << 24) | this._keyr[i];
14228 i++;
ebd8d4e8 14229 }
80c4dd2a
IC
14230 },
14231
14232 /**
14233 * Perform one cycle of SHA-512.
14234 * @param {bitArray} words one block of words.
14235 * @private
14236 */
14237 _block:function (words) {
14238 var i, wrh, wrl,
14239 w = words.slice(0),
14240 h = this._h,
14241 k = this._key,
14242 h0h = h[ 0], h0l = h[ 1], h1h = h[ 2], h1l = h[ 3],
14243 h2h = h[ 4], h2l = h[ 5], h3h = h[ 6], h3l = h[ 7],
14244 h4h = h[ 8], h4l = h[ 9], h5h = h[10], h5l = h[11],
14245 h6h = h[12], h6l = h[13], h7h = h[14], h7l = h[15];
14246
14247 // Working variables
14248 var ah = h0h, al = h0l, bh = h1h, bl = h1l,
14249 ch = h2h, cl = h2l, dh = h3h, dl = h3l,
14250 eh = h4h, el = h4l, fh = h5h, fl = h5l,
14251 gh = h6h, gl = h6l, hh = h7h, hl = h7l;
14252
14253 for (i=0; i<80; i++) {
14254 // load up the input word for this round
14255 if (i<16) {
14256 wrh = w[i * 2];
14257 wrl = w[i * 2 + 1];
14258 } else {
14259 // Gamma0
14260 var gamma0xh = w[(i-15) * 2];
14261 var gamma0xl = w[(i-15) * 2 + 1];
14262 var gamma0h =
14263 ((gamma0xl << 31) | (gamma0xh >>> 1)) ^
14264 ((gamma0xl << 24) | (gamma0xh >>> 8)) ^
14265 (gamma0xh >>> 7);
14266 var gamma0l =
14267 ((gamma0xh << 31) | (gamma0xl >>> 1)) ^
14268 ((gamma0xh << 24) | (gamma0xl >>> 8)) ^
14269 ((gamma0xh << 25) | (gamma0xl >>> 7));
14270
14271 // Gamma1
14272 var gamma1xh = w[(i-2) * 2];
14273 var gamma1xl = w[(i-2) * 2 + 1];
14274 var gamma1h =
14275 ((gamma1xl << 13) | (gamma1xh >>> 19)) ^
14276 ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
14277 (gamma1xh >>> 6);
14278 var gamma1l =
14279 ((gamma1xh << 13) | (gamma1xl >>> 19)) ^
14280 ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
14281 ((gamma1xh << 26) | (gamma1xl >>> 6));
14282
14283 // Shortcuts
14284 var wr7h = w[(i-7) * 2];
14285 var wr7l = w[(i-7) * 2 + 1];
14286
14287 var wr16h = w[(i-16) * 2];
14288 var wr16l = w[(i-16) * 2 + 1];
14289
14290 // W(round) = gamma0 + W(round - 7) + gamma1 + W(round - 16)
14291 wrl = gamma0l + wr7l;
14292 wrh = gamma0h + wr7h + ((wrl >>> 0) < (gamma0l >>> 0) ? 1 : 0);
14293 wrl += gamma1l;
14294 wrh += gamma1h + ((wrl >>> 0) < (gamma1l >>> 0) ? 1 : 0);
14295 wrl += wr16l;
14296 wrh += wr16h + ((wrl >>> 0) < (wr16l >>> 0) ? 1 : 0);
14297 }
14298
14299 w[i*2] = wrh |= 0;
14300 w[i*2 + 1] = wrl |= 0;
14301
14302 // Ch
14303 var chh = (eh & fh) ^ (~eh & gh);
14304 var chl = (el & fl) ^ (~el & gl);
14305
14306 // Maj
14307 var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
14308 var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
14309
14310 // Sigma0
14311 var sigma0h = ((al << 4) | (ah >>> 28)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
14312 var sigma0l = ((ah << 4) | (al >>> 28)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
14313
14314 // Sigma1
14315 var sigma1h = ((el << 18) | (eh >>> 14)) ^ ((el << 14) | (eh >>> 18)) ^ ((eh << 23) | (el >>> 9));
14316 var sigma1l = ((eh << 18) | (el >>> 14)) ^ ((eh << 14) | (el >>> 18)) ^ ((el << 23) | (eh >>> 9));
14317
14318 // K(round)
14319 var krh = k[i*2];
14320 var krl = k[i*2+1];
14321
14322 // t1 = h + sigma1 + ch + K(round) + W(round)
14323 var t1l = hl + sigma1l;
14324 var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
14325 t1l += chl;
14326 t1h += chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
14327 t1l += krl;
14328 t1h += krh + ((t1l >>> 0) < (krl >>> 0) ? 1 : 0);
14329 t1l = t1l + wrl|0; // FF32..FF34 perf issue https://bugzilla.mozilla.org/show_bug.cgi?id=1054972
14330 t1h += wrh + ((t1l >>> 0) < (wrl >>> 0) ? 1 : 0);
14331
14332 // t2 = sigma0 + maj
14333 var t2l = sigma0l + majl;
14334 var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
14335
14336 // Update working variables
14337 hh = gh;
14338 hl = gl;
14339 gh = fh;
14340 gl = fl;
14341 fh = eh;
14342 fl = el;
14343 el = (dl + t1l) | 0;
14344 eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14345 dh = ch;
14346 dl = cl;
14347 ch = bh;
14348 cl = bl;
14349 bh = ah;
14350 bl = al;
14351 al = (t1l + t2l) | 0;
14352 ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
14353 }
14354
14355 // Intermediate hash
14356 h0l = h[1] = (h0l + al) | 0;
14357 h[0] = (h0h + ah + ((h0l >>> 0) < (al >>> 0) ? 1 : 0)) | 0;
14358 h1l = h[3] = (h1l + bl) | 0;
14359 h[2] = (h1h + bh + ((h1l >>> 0) < (bl >>> 0) ? 1 : 0)) | 0;
14360 h2l = h[5] = (h2l + cl) | 0;
14361 h[4] = (h2h + ch + ((h2l >>> 0) < (cl >>> 0) ? 1 : 0)) | 0;
14362 h3l = h[7] = (h3l + dl) | 0;
14363 h[6] = (h3h + dh + ((h3l >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14364 h4l = h[9] = (h4l + el) | 0;
14365 h[8] = (h4h + eh + ((h4l >>> 0) < (el >>> 0) ? 1 : 0)) | 0;
14366 h5l = h[11] = (h5l + fl) | 0;
14367 h[10] = (h5h + fh + ((h5l >>> 0) < (fl >>> 0) ? 1 : 0)) | 0;
14368 h6l = h[13] = (h6l + gl) | 0;
14369 h[12] = (h6h + gh + ((h6l >>> 0) < (gl >>> 0) ? 1 : 0)) | 0;
14370 h7l = h[15] = (h7l + hl) | 0;
14371 h[14] = (h7h + hh + ((h7l >>> 0) < (hl >>> 0) ? 1 : 0)) | 0;
14372 }
14373};
14374
14375
14376//// hmac.js
14377
14378/** @fileOverview HMAC implementation.
14379 *
14380 * @author Emily Stark
14381 * @author Mike Hamburg
14382 * @author Dan Boneh
14383 */
14384
14385/** HMAC with the specified hash function.
14386 * @constructor
14387 * @param {bitArray} key the key for HMAC.
14388 * @param {Object} [hash=sjcl.hash.sha256] The hash function to use.
14389 */
14390sjcl.misc.hmac = function (key, Hash) {
14391 this._hash = Hash = Hash || sjcl.hash.sha256;
14392 var exKey = [[],[]], i,
14393 bs = Hash.prototype.blockSize / 32;
14394 this._baseHash = [new Hash(), new Hash()];
14395
14396 if (key.length > bs) {
14397 key = Hash.hash(key);
14398 }
14399
14400 for (i=0; i<bs; i++) {
14401 exKey[0][i] = key[i]^0x36363636;
14402 exKey[1][i] = key[i]^0x5C5C5C5C;
14403 }
14404
14405 this._baseHash[0].update(exKey[0]);
14406 this._baseHash[1].update(exKey[1]);
14407 this._resultHash = new Hash(this._baseHash[0]);
14408};
14409
14410/** HMAC with the specified hash function. Also called encrypt since it's a prf.
14411 * @param {bitArray|String} data The data to mac.
14412 */
14413sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function (data) {
14414 if (!this._updated) {
14415 this.update(data);
14416 return this.digest(data);
14417 } else {
14418 throw new sjcl.exception.invalid("encrypt on already updated hmac called!");
14419 }
14420};
14421
14422sjcl.misc.hmac.prototype.reset = function () {
14423 this._resultHash = new this._hash(this._baseHash[0]);
14424 this._updated = false;
14425};
14426
14427sjcl.misc.hmac.prototype.update = function (data) {
14428 this._updated = true;
14429 this._resultHash.update(data);
14430};
14431
14432sjcl.misc.hmac.prototype.digest = function () {
14433 var w = this._resultHash.finalize(), result = new (this._hash)(this._baseHash[1]).update(w).finalize();
14434
14435 this.reset();
14436
14437 return result;
14438};
14439
14440
14441//// pbkdf2.js
14442
14443
14444/** @fileOverview Password-based key-derivation function, version 2.0.
14445 *
14446 * @author Emily Stark
14447 * @author Mike Hamburg
14448 * @author Dan Boneh
14449 */
14450
14451/** Password-Based Key-Derivation Function, version 2.0.
14452 *
14453 * Generate keys from passwords using PBKDF2-HMAC-SHA256.
14454 *
14455 * This is the method specified by RSA's PKCS #5 standard.
14456 *
14457 * @param {bitArray|String} password The password.
14458 * @param {bitArray|String} salt The salt. Should have lots of entropy.
14459 * @param {Number} [count=1000] The number of iterations. Higher numbers make the function slower but more secure.
14460 * @param {Number} [length] The length of the derived key. Defaults to the
14461 output size of the hash function.
14462 * @param {Object} [Prff=sjcl.misc.hmac] The pseudorandom function family.
14463 * @return {bitArray} the derived key.
14464 */
14465sjcl.misc.pbkdf2 = function (password, salt, count, length, Prff) {
14466 count = count || 1000;
14467
14468 if (length < 0 || count < 0) {
14469 throw sjcl.exception.invalid("invalid params to pbkdf2");
14470 }
14471
14472 if (typeof password === "string") {
14473 password = sjcl.codec.utf8String.toBits(password);
14474 }
14475
14476 if (typeof salt === "string") {
14477 salt = sjcl.codec.utf8String.toBits(salt);
14478 }
14479
14480 Prff = Prff || sjcl.misc.hmac;
14481
14482 var prf = new Prff(password),
14483 u, ui, i, j, k, out = [], b = sjcl.bitArray;
14484
14485 for (k = 1; 32 * out.length < (length || 1); k++) {
14486 u = ui = prf.encrypt(b.concat(salt,[k]));
14487
14488 for (i=1; i<count; i++) {
14489 ui = prf.encrypt(ui);
14490 for (j=0; j<ui.length; j++) {
14491 u[j] ^= ui[j];
14492 }
ebd8d4e8 14493 }
80c4dd2a
IC
14494
14495 out = out.concat(u);
14496 }
14497
14498 if (length) { out = b.clamp(out, length); }
14499
14500 return out;
14501};
14502
14503
14504//// sha256.js
14505
14506/** @fileOverview Javascript SHA-256 implementation.
14507 *
14508 * An older version of this implementation is available in the public
14509 * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
14510 * Stanford University 2008-2010 and BSD-licensed for liability
14511 * reasons.
14512 *
14513 * Special thanks to Aldo Cortesi for pointing out several bugs in
14514 * this code.
14515 *
14516 * @author Emily Stark
14517 * @author Mike Hamburg
14518 * @author Dan Boneh
14519 */
14520
14521/**
14522 * Context for a SHA-256 operation in progress.
14523 * @constructor
14524 * @class Secure Hash Algorithm, 256 bits.
14525 */
14526sjcl.hash.sha256 = function (hash) {
14527 if (!this._key[0]) { this._precompute(); }
14528 if (hash) {
14529 this._h = hash._h.slice(0);
14530 this._buffer = hash._buffer.slice(0);
14531 this._length = hash._length;
14532 } else {
14533 this.reset();
14534 }
14535};
14536
14537/**
14538 * Hash a string or an array of words.
14539 * @static
14540 * @param {bitArray|String} data the data to hash.
14541 * @return {bitArray} The hash value, an array of 16 big-endian words.
14542 */
14543sjcl.hash.sha256.hash = function (data) {
14544 return (new sjcl.hash.sha256()).update(data).finalize();
14545};
14546
14547sjcl.hash.sha256.prototype = {
14548 /**
14549 * The hash's block size, in bits.
14550 * @constant
14551 */
14552 blockSize: 512,
14553
14554 /**
14555 * Reset the hash state.
14556 * @return this
14557 */
14558 reset:function () {
14559 this._h = this._init.slice(0);
14560 this._buffer = [];
14561 this._length = 0;
14562 return this;
14563 },
14564
14565 /**
14566 * Input several words to the hash.
14567 * @param {bitArray|String} data the data to hash.
14568 * @return this
14569 */
14570 update: function (data) {
14571 if (typeof data === "string") {
14572 data = sjcl.codec.utf8String.toBits(data);
14573 }
14574 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14575 ol = this._length,
14576 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14577 for (i = 512+ol & -512; i <= nl; i+= 512) {
14578 this._block(b.splice(0,16));
ebd8d4e8 14579 }
3af2954a 14580 return this;
80c4dd2a
IC
14581 },
14582
14583 /**
14584 * Complete hashing and output the hash value.
14585 * @return {bitArray} The hash value, an array of 8 big-endian words.
14586 */
14587 finalize:function () {
14588 var i, b = this._buffer, h = this._h;
14589
14590 // Round out and push the buffer
14591 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14592
14593 // Round out the buffer to a multiple of 16 words, less the 2 length words.
14594 for (i = b.length + 2; i & 15; i++) {
14595 b.push(0);
14596 }
14597
14598 // append the length
14599 b.push(Math.floor(this._length / 0x100000000));
14600 b.push(this._length | 0);
14601
14602 while (b.length) {
14603 this._block(b.splice(0,16));
14604 }
14605
14606 this.reset();
14607 return h;
14608 },
14609
14610 /**
14611 * The SHA-256 initialization vector, to be precomputed.
14612 * @private
14613 */
14614 _init:[],
14615 /*
14616 _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],
14617 */
14618
14619 /**
14620 * The SHA-256 hash key, to be precomputed.
14621 * @private
14622 */
14623 _key:[],
14624 /*
14625 _key:
14626 [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
14627 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
14628 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
14629 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
14630 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
14631 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
14632 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
14633 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],
14634 */
14635
14636
14637 /**
14638 * Function to precompute _init and _key.
14639 * @private
14640 */
14641 _precompute: function () {
14642 var i = 0, prime = 2, factor;
14643
14644 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14645
14646 outer: for (; i<64; prime++) {
14647 for (factor=2; factor*factor <= prime; factor++) {
14648 if (prime % factor === 0) {
14649 // not a prime
14650 continue outer;
ebd8d4e8 14651 }
80c4dd2a
IC
14652 }
14653
14654 if (i<8) {
14655 this._init[i] = frac(Math.pow(prime, 1/2));
14656 }
14657 this._key[i] = frac(Math.pow(prime, 1/3));
14658 i++;
ebd8d4e8 14659 }
80c4dd2a
IC
14660 },
14661
14662 /**
14663 * Perform one cycle of SHA-256.
14664 * @param {bitArray} words one block of words.
14665 * @private
14666 */
14667 _block:function (words) {
14668 var i, tmp, a, b,
14669 w = words.slice(0),
14670 h = this._h,
14671 k = this._key,
14672 h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],
14673 h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];
14674
14675 /* Rationale for placement of |0 :
14676 * If a value can overflow is original 32 bits by a factor of more than a few
14677 * million (2^23 ish), there is a possibility that it might overflow the
14678 * 53-bit mantissa and lose precision.
14679 *
14680 * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that
14681 * propagates around the loop, and on the hash state h[]. I don't believe
14682 * that the clamps on h4 and on h0 are strictly necessary, but it's close
14683 * (for h4 anyway), and better safe than sorry.
14684 *
14685 * The clamps on h[] are necessary for the output to be correct even in the
14686 * common case and for short inputs.
14687 */
14688 for (i=0; i<64; i++) {
14689 // load up the input word for this round
14690 if (i<16) {
14691 tmp = w[i];
14692 } else {
14693 a = w[(i+1 ) & 15];
14694 b = w[(i+14) & 15];
14695 tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) +
14696 (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +
14697 w[i&15] + w[(i+9) & 15]) | 0;
14698 }
14699
14700 tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;
14701
14702 // shift register
14703 h7 = h6; h6 = h5; h5 = h4;
14704 h4 = h3 + tmp | 0;
14705 h3 = h2; h2 = h1; h1 = h0;
14706
14707 h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;
14708 }
14709
14710 h[0] = h[0]+h0 | 0;
14711 h[1] = h[1]+h1 | 0;
14712 h[2] = h[2]+h2 | 0;
14713 h[3] = h[3]+h3 | 0;
14714 h[4] = h[4]+h4 | 0;
14715 h[5] = h[5]+h5 | 0;
14716 h[6] = h[6]+h6 | 0;
14717 h[7] = h[7]+h7 | 0;
14718 }
14719};
ea87f1d3
IC
14720</script>
14721 <script>// An extremely basic translation library
14722//
14723// Example usage:
14724//
14725// Set some html to be translated. Do this using the 'data-translate' attribute:
14726//
14727// <div data-translate>Test</div>
14728// <div data-translate-html><em>keep em tag</em></div>
52da415f
IC
14729// <input data-translate-placeholder placeholder="Example placeholder">
14730// <span data-translate-title title="Example title"></span>
ea87f1d3
IC
14731//
14732// Obtain all the phrases to be translated via js debug console:
14733//
14734// Translate.phrasesAsJson();
14735//
14736// Use that template to translate the phrases into another language.
14737// Leave the key the same. Change the value to the new language.
14738//
14739// Create a js file to load the new phrases. In this example for Spanish,
14740// es.js will contain the following code:
14741//
14742// Translate.loadForeignPhrases("es", {
14743// "Test": "Test in Spanish",
14744// "<em>keep em tag</em>": "<em>keep em tag in Spanish</em>",
52da415f
IC
14745// "Example placeholder": "Example placeholder in Spanish"
14746// "Example title": "Example title in Spanish"
ea87f1d3
IC
14747// });
14748//
14749// In your UI put a listener for clicking on the Spanish button:
14750//
14751// mySpanishButton.addEventListener("click", function() {
14752// Translate.setLanguage("es");
14753// });
14754// myEnglishButton.addEventListener("click", function() {
14755// Translate.setLanguage("en");
14756// });
14757
14758Translate = new (function() {
14759
14760 var defaultLanguage = "en";
14761
14762 var allPhrases = {};
14763 allPhrases[defaultLanguage] = {};
14764
14765 // Node types
14766
14767 var text = {
14768 selector: "[data-translate]",
14769 getKey: function() {
14770 return this.textContent.trim().replace(/\s+/g, " ");
14771 },
14772 setPhrase: function(p) {
14773 this.textContent = p;
14774 },
14775 }
14776
14777 var html = {
14778 selector: "[data-translate-html]",
14779 getKey: function() {
14780 return this.innerHTML.trim().replace(/\s+/g, " ");
14781 },
14782 setPhrase: function(p) {
14783 this.innerHTML = p;
14784 },
14785 }
14786
14787 var placeholder = {
14788 selector: "[data-translate-placeholder]",
14789 getKey: function() {
14790 return this.getAttribute("placeholder").trim().replace(/\s+/g, " ");
14791 },
14792 setPhrase: function(p) {
14793 this.setAttribute("placeholder", p);
14794 },
14795 }
14796
52da415f
IC
14797 var title = {
14798 selector: "[data-translate-title]",
14799 getKey: function() {
14800 return this.getAttribute("title").trim().replace(/\s+/g, " ");
14801 },
14802 setPhrase: function(p) {
14803 this.setAttribute("title", p);
14804 },
14805 }
14806
ea87f1d3
IC
14807 // Get elements to be translated
14808 var allEls = getEls(text)
14809 .concat(getEls(html))
52da415f
IC
14810 .concat(getEls(placeholder))
14811 .concat(getEls(title));
ea87f1d3
IC
14812
14813 // Provides access to phrases from a non-default language.
14814 // See phrases_en.js for example usage.
14815 this.loadForeignPhrases = function(language, phrases) {
14816 allPhrases[language] = phrases;
14817 }
14818
14819 // Displays a different language, eg "en" or "fr"
14820 this.setLanguage = function(language) {
14821 for (var i=0; i<allEls.length; i++) {
14822 var el = allEls[i];
14823 var key = el.key;
14824 if (!(language in allPhrases)) {
14825 console.log(language + " not in allPhrases");
14826 return;
14827 }
14828 if (!(key in allPhrases[language])) {
14829 console.log(language + " does not contain phrase: " + key);
14830 return;
14831 }
14832 var phrase = allPhrases[language][key];
14833 el.setPhrase(phrase);
14834 }
14835 }
14836
14837 // Converts the phrases to a key-pair json file.
14838 // This is a good way to export phrases for use in translation tools.
14839 this.phrasesAsJson = function(language) {
14840 var keys = [];
14841 for (var i=0; i<allEls.length; i++) {
14842 var el = allEls[i];
14843 var key = el.key;
14844 keys.push(key);
14845 }
14846 keys.sort();
14847 var output = {};
14848 for (var i=0; i<keys.length; i++) {
14849 var key = keys[i];
14850 var translated = "";
14851 if (language in allPhrases && key in allPhrases[language]) {
14852 translated = allPhrases[language][key];
14853 }
14854 output[key] = translated;
14855 }
14856 return JSON.stringify(output, null, 2);
14857 }
14858
14859 function getEls(nodeType) {
14860 var nodes = document.querySelectorAll(nodeType.selector);
14861 var els = [];
14862 for (var i=0; i<nodes.length; i++) {
14863 var node = nodes[i];
14864 node.getKey = nodeType.getKey;
14865 node.setPhrase = nodeType.setPhrase;
14866 node.key = node.getKey();
14867 allPhrases[defaultLanguage][node.key] = node.key;
14868 els.push(node);
14869 }
14870 return els;
14871 }
14872
14873})();
14874</script>
14875 <script>Translate.loadForeignPhrases("en",
14876{
14877 "<code>m/44'/0'/0'/0</code> generates public addresses": "<code>m/44'/0'/0'/0</code> generates public addresses",
14878 "<code>m/44'/0'/0'/1</code> generates change addresses": "<code>m/44'/0'/0'/1</code> generates change addresses",
14879 "<code>m/44'/0'/0'</code> generates extended keys for import / export": "<code>m/44'/0'/0'</code> generates extended keys for import / export",
14880 "<code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).": "<code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).",
14881 "Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards": "Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards",
14882 "Account": "Account",
14883 "Address": "Address",
14884 "Alternatively, download the file from the repository": "Alternatively, download the file from the repository",
14885 "BIP32 Derivation Path": "BIP32 Derivation Path",
14886 "BIP32 Extended Key": "BIP32 Extended Key",
14887 "BIP32 Extended Key (addresses only)": "BIP32 Extended Key (addresses only)",
14888 "BIP32 Root Key": "BIP32 Root Key",
14889 "BIP39 Mnemonic": "BIP39 Mnemonic",
14890 "BIP39 Passphrase (optional)": "BIP39 Passphrase (optional)",
14891 "BIP39 Seed": "BIP39 Seed",
14892 "Base 10": "Base 10",
14893 "Base 6": "Base 6",
14894 "Be careful - it can be easy to make mistakes if you don't know what you're doing.": "Be careful - it can be easy to make mistakes if you don't know what you're doing.",
14895 "Binary": "Binary",
14896 "Bitcoin Core": "Bitcoin Core",
14897 "Bits Per Event": "Bits Per Event",
14898 "Block Explorers": "Block Explorers",
14899 "Can be used with": "Can be used with",
14900 "Card": "Card",
14901 "Coin": "Coin",
14902 "Dice": "Dice",
14903 "Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't random enough for the needs of this tool.": "Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't random enough for the needs of this tool.",
14904 "Double-click that file to open it in a browser on any offline computer.": "Double-click that file to open it in a browser on any offline computer.",
14905 "Entropy": "Entropy",
14906 "Entropy Type": "Entropy Type",
14907 "Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.": "Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.",
14908 "Entropy values must be sourced from a <a href=\"https://en.wikipedia.org/wiki/Random_number_generation\" target=\"_blank\">strong source of randomness</a>.": "Entropy values must be sourced from a <a href=\"https://en.wikipedia.org/wiki/Random_number_generation\" target=\"_blank\">strong source of randomness</a>.",
14909 "Event Count": "Event Count",
14910 "External / Internal": "External / Internal",
14911 "Filtered Entropy": "Filtered Entropy",
14912 "For more info see the <a href=\"http://www.mycelium.com/\" target=\"_blank\">Mycelium Wallet homepage</a>": "For more info see the <a href=\"http://www.mycelium.com/\" target=\"_blank\">Mycelium Wallet homepage</a>",
14913 "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\" target=\"_blank\">BIP39 spec</a>.": "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\" target=\"_blank\">BIP39 spec</a>.",
14914 "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">BIP44 spec</a>.": "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">BIP44 spec</a>.",
14915 "For more info see the <a href=\"https://github.com/bitcoin/bitcoin/pull/8035\" target=\"_blank\">Bitcoin Core BIP32 implementation</a>": "For more info see the <a href=\"https://github.com/bitcoin/bitcoin/pull/8035\" target=\"_blank\">Bitcoin Core BIP32 implementation</a>",
14916 "For more info see the BIP32 spec": "For more info see the BIP32 spec",
14917 "From entropy length (3 words per 32 bits)": "From entropy length (3 words per 32 bits)",
14918 "Generate a random mnemonic, or enter your own below": "Generate a random mnemonic, or enter your own below",
14919 "Get the source code from the repository": "Get the source code from the repository",
14920 "Hex": "Hex",
14921 "Hierarchical Deterministic Wallets": "Hierarchical Deterministic Wallets",
14922 "If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.": "If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.",
14923 "In that case you might choose to use your own source of entropy.": "In that case you might choose to use your own source of entropy.",
14924 "In your browser, select file save-as, and save this page as a file.": "In your browser, select file save-as, and save this page as a file.",
14925 "Libraries": "Libraries",
14926 "Mnemonic Language": "Mnemonic Language",
14927 "Mnemonic Length": "Mnemonic Length",
14928 "Mnemonic code for generating deterministic keys": "Mnemonic code for generating deterministic keys",
14929 "More info": "More info",
14930 "Multi-Account Hierarchy for Deterministic Wallets": "Multi-Account Hierarchy for Deterministic Wallets",
14931 "Mycelium Wallet": "Mycelium Wallet",
14932 "Note these addreses are derived from the BIP32 Extended Key": "Note these addreses are derived from the BIP32 Extended Key",
14933 "Offline Usage": "Offline Usage",
14934 "Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.": "Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.",
14935 "Path": "Path",
14936 "Private Key": "Private Key",
14937 "Private Keys": "Private Keys",
14938 "Public Key": "Public Key",
14939 "Purpose": "Purpose",
14940 "Raw Binary": "Raw Binary",
14941 "Read more": "Read more",
14942 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki\" target=\"_blank\">official BIP32 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki\" target=\"_blank\">official BIP32 spec</a>",
14943 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\">official BIP39 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\">official BIP39 spec</a>",
14944 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">official BIP44 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">official BIP44 spec</a>",
14945 "See the demo at <a href=\"http://bip32.org/\" target=\"_blank\">bip32.org</a>": "See the demo at <a href=\"http://bip32.org/\" target=\"_blank\">bip32.org</a>",
14946 "Show": "Show",
14947 "Show more rows": "Show more rows",
14948 "Strength": "Strength",
14949 "Supply my own source of entropy": "Supply my own source of entropy",
14950 "The built in random generator can generally be trusted more than your own intuition about randomness.": "The built in random generator can generally be trusted more than your own intuition about randomness.",
14951 "The random mnemonic generator on this page uses a <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues\" target=\"_blank\">cryptographically secure random number generator</a>.": "The random mnemonic generator on this page uses a <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues\" target=\"_blank\">cryptographically secure random number generator</a>.",
14952 "This means flipping a fair coin, rolling a fair dice, noise measurements etc.": "This means flipping a fair coin, rolling a fair dice, noise measurements etc.",
14953 "This project is 100% open-source code": "This project is 100% open-source code",
14954 "Toggle": "Toggle",
14955 "Total Bits": "Total Bits",
14956 "Use hardened addresses": "Use hardened addresses",
14957 "Use path <code>m/0'/0'</code> with hardened addresses.": "Use path <code>m/0'/0'</code> with hardened addresses.",
14958 "Use path <code>m/44'/0'/0'</code>.": "Use path <code>m/44'/0'/0'</code>.",
14959 "Use private keys at <a href=\"https://web.archive.org/web/20150707020924/https://brainwallet.org/\" target=\"_blank\">brainwallet.org</a>.": "Use private keys at <a href=\"https://web.archive.org/web/20150707020924/https://brainwallet.org/\" target=\"_blank\">brainwallet.org</a>.",
14960 "Valid entropy values include:": "Valid entropy values include:",
14961 "Warning": "Warning",
14962 "Word Count": "Word Count",
14963 "You are not a good source of entropy.": "You are not a good source of entropy.",
14964 "You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).": "You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).",
14965 "You can use this tool without having to be online.": "You can use this tool without having to be online.",
14966 "words": "words"
14967}
14968);
dc55c6b0 14969</script>
ab78acc6 14970 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
3af2954a 14971WORDLISTS["english"] = [
ebd8d4e8
IC
14972"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
14973"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
14974"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",
14975"adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent",
14976"agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert",
14977"alien","all","alley","allow","almost","alone","alpha","already","also","alter",
14978"always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger",
14979"angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique",
14980"anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic",
14981"area","arena","argue","arm","armed","armor","army","around","arrange","arrest",
14982"arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset",
14983"assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction",
14984"audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake",
14985"aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge",
14986"bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain",
14987"barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
14988"beef","before","begin","behave","behind","believe","below","belt","bench","benefit",
14989"best","betray","better","between","beyond","bicycle","bid","bike","bind","biology",
14990"bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless",
14991"blind","blood","blossom","blouse","blue","blur","blush","board","boat","body",
14992"boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
14993"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread",
14994"breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze",
14995"broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb",
14996"bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy",
14997"butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
14998"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas",
14999"canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry",
15000"cart","case","cash","casino","castle","casual","cat","catalog","catch","category",
15001"cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century",
15002"cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase",
15003"chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child",
15004"chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
15005"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk",
15006"clever","click","client","cliff","climb","clinic","clip","clock","clog","close",
15007"cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut",
15008"code","coffee","coil","coin","collect","color","column","combine","come","comfort",
15009"comic","common","company","concert","conduct","confirm","congress","connect","consider","control",
15010"convince","cook","cool","copper","copy","coral","core","corn","correct","cost",
15011"cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle",
15012"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek",
15013"crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial",
15014"cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup",
15015"cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad",
15016"damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
15017"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense",
15018"define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny",
15019"depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk",
15020"despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond",
15021"diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur",
15022"direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance",
15023"divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain",
15024"donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
15025"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop",
15026"drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf",
15027"dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo",
15028"ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow",
15029"elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
15030"embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless",
15031"endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough",
15032"enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip",
15033"era","erase","erode","erosion","error","erupt","escape","essay","essence","estate",
15034"eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange",
15035"excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
15036"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye",
15037"eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame",
15038"family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father",
15039"fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female",
15040"fence","festival","fetch","fever","few","fiber","fiction","field","figure","file",
15041"film","filter","final","find","fine","finger","finish","fire","firm","first",
15042"fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor",
15043"flee","flight","flip","float","flock","floor","flower","fluid","flush","fly",
15044"foam","focus","fog","foil","fold","follow","food","foot","force","forest",
15045"forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile",
15046"frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen",
15047"fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy",
15048"gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp",
15049"gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture",
15050"ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance",
15051"glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue",
15052"goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown",
15053"grab","grace","grain","grant","grape","grass","gravity","great","green","grid",
15054"grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt",
15055"guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy",
15056"harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health",
15057"heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden",
15058"high","hill","hint","hip","hire","history","hobby","hockey","hold","hole",
15059"holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital",
15060"host","hotel","hour","hover","hub","huge","human","humble","humor","hundred",
15061"hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea",
15062"identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune",
15063"impact","impose","improve","impulse","inch","include","income","increase","index","indicate",
15064"indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury",
15065"inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install",
15066"intact","interest","into","invest","invite","involve","iron","island","isolate","issue",
15067"item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel",
15068"job","join","joke","journey","joy","judge","juice","jump","jungle","junior",
15069"junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney",
15070"kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife",
15071"knock","know","lab","label","labor","ladder","lady","lake","lamp","language",
15072"laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit",
15073"layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal",
15074"legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level",
15075"liar","liberty","library","license","life","lift","light","like","limb","limit",
15076"link","lion","liquid","list","little","live","lizard","load","loan","lobster",
15077"local","lock","logic","lonely","long","loop","lottery","loud","lounge","love",
15078"loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad",
15079"magic","magnet","maid","mail","main","major","make","mammal","man","manage",
15080"mandate","mango","mansion","manual","maple","marble","march","margin","marine","market",
15081"marriage","mask","mass","master","match","material","math","matrix","matter","maximum",
15082"maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt",
15083"member","memory","mention","menu","mercy","merge","merit","merry","mesh","message",
15084"metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor",
15085"minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile",
15086"model","modify","mom","moment","monitor","monkey","monster","month","moon","moral",
15087"more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie",
15088"much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual",
15089"myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature",
15090"near","neck","need","negative","neglect","neither","nephew","nerve","nest","net",
15091"network","neutral","never","news","next","nice","night","noble","noise","nominee",
15092"noodle","normal","north","nose","notable","note","nothing","notice","novel","now",
15093"nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe",
15094"obtain","obvious","occur","ocean","october","odor","off","offer","office","often",
15095"oil","okay","old","olive","olympic","omit","once","one","onion","online",
15096"only","open","opera","opinion","oppose","option","orange","orbit","orchard","order",
15097"ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output",
15098"outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact",
15099"paddle","page","pair","palace","palm","panda","panel","panic","panther","paper",
15100"parade","parent","park","parrot","party","pass","patch","path","patient","patrol",
15101"pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen",
15102"penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo",
15103"phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot",
15104"pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate",
15105"play","please","pledge","pluck","plug","plunge","poem","poet","point","polar",
15106"pole","police","pond","pony","pool","popular","portion","position","possible","post",
15107"potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare",
15108"present","pretty","prevent","price","pride","primary","print","priority","prison","private",
15109"prize","problem","process","produce","profit","program","project","promote","proof","property",
15110"prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin",
15111"punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle",
15112"pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit",
15113"raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp",
15114"ranch","random","range","rapid","rare","rate","rather","raven","raw","razor",
15115"ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle",
15116"reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release",
15117"relief","rely","remain","remember","remind","remove","render","renew","rent","reopen",
15118"repair","repeat","replace","report","require","rescue","resemble","resist","resource","response",
15119"result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib",
15120"ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot",
15121"ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket",
15122"romance","roof","rookie","room","rose","rotate","rough","round","route","royal",
15123"rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness",
15124"safe","sail","salad","salmon","salon","salt","salute","same","sample","sand",
15125"satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter",
15126"scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script",
15127"scrub","sea","search","season","seat","second","secret","section","security","seed",
15128"seek","segment","select","sell","seminar","senior","sense","sentence","series","service",
15129"session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell",
15130"sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop",
15131"short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side",
15132"siege","sight","sign","silent","silk","silly","silver","similar","simple","since",
15133"sing","siren","sister","situate","six","size","skate","sketch","ski","skill",
15134"skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight",
15135"slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth",
15136"snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda",
15137"soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry",
15138"sort","soul","sound","soup","source","south","space","spare","spatial","spawn",
15139"speak","special","speed","spell","spend","sphere","spice","spider","spike","spin",
15140"spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring",
15141"spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp",
15142"stand","start","state","stay","steak","steel","stem","step","stereo","stick",
15143"still","sting","stock","stomach","stone","stool","story","stove","strategy","street",
15144"strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway",
15145"success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny",
15146"sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey",
15147"suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim",
15148"swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag",
15149"tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi",
15150"teach","team","tell","ten","tenant","tennis","tent","term","test","text",
15151"thank","that","theme","then","theory","there","they","thing","this","thought",
15152"three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber",
15153"time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler",
15154"toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool",
15155"tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist",
15156"toward","tower","town","toy","track","trade","traffic","tragic","train","transfer",
15157"trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick",
15158"trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust",
15159"truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle",
15160"twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella",
15161"unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform",
15162"unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade",
15163"uphold","upon","upper","upset","urban","urge","usage","use","used","useful",
15164"useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van",
15165"vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue",
15166"verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory",
15167"video","view","village","vintage","violin","virtual","virus","visa","visit","visual",
15168"vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage",
15169"wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash",
15170"wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather",
15171"web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat",
15172"wheel","when","where","whip","whisper","wide","width","wife","wild","will",
15173"win","window","wine","wing","wink","winner","winter","wire","wisdom","wise",
15174"wish","witness","wolf","woman","wonder","wood","wool","word","work","world",
15175"worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year",
15176"yellow","you","young","youth","zebra","zero","zone","zoo"]
0515eeec
IC
15177</script>
15178 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15179WORDLISTS["japanese"] = [
15180"あいこくしん", "あいさつ", "あいだ", "あおぞら", "あかちゃん", "あきる", "あけがた", "あける", "あこがれる", "あさい",
15181"あさひ", "あしあと", "あじわう", "あずかる", "あずき", "あそぶ", "あたえる", "あたためる", "あたりまえ", "あたる",
15182"あつい", "あつかう", "あっしゅく", "あつまり", "あつめる", "あてな", "あてはまる", "あひる", "あぶら", "あぶる",
15183"あふれる", "あまい", "あまど", "あまやかす", "あまり", "あみもの", "あめりか", "あやまる", "あゆむ", "あらいぐま",
15184"あらし", "あらすじ", "あらためる", "あらゆる", "あらわす", "ありがとう", "あわせる", "あわてる", "あんい", "あんがい",
15185"あんこ", "あんぜん", "あんてい", "あんない", "あんまり", "いいだす", "いおん", "いがい", "いがく", "いきおい",
15186"いきなり", "いきもの", "いきる", "いくじ", "いくぶん", "いけばな", "いけん", "いこう", "いこく", "いこつ",
15187"いさましい", "いさん", "いしき", "いじゅう", "いじょう", "いじわる", "いずみ", "いずれ", "いせい", "いせえび",
15188"いせかい", "いせき", "いぜん", "いそうろう", "いそがしい", "いだい", "いだく", "いたずら", "いたみ", "いたりあ",
15189"いちおう", "いちじ", "いちど", "いちば", "いちぶ", "いちりゅう", "いつか", "いっしゅん", "いっせい", "いっそう",
15190"いったん", "いっち", "いってい", "いっぽう", "いてざ", "いてん", "いどう", "いとこ", "いない", "いなか",
15191"いねむり", "いのち", "いのる", "いはつ", "いばる", "いはん", "いびき", "いひん", "いふく", "いへん",
15192"いほう", "いみん", "いもうと", "いもたれ", "いもり", "いやがる", "いやす", "いよかん", "いよく", "いらい",
15193"いらすと", "いりぐち", "いりょう", "いれい", "いれもの", "いれる", "いろえんぴつ", "いわい", "いわう", "いわかん",
15194"いわば", "いわゆる", "いんげんまめ", "いんさつ", "いんしょう", "いんよう", "うえき", "うえる", "うおざ", "うがい",
15195"うかぶ", "うかべる", "うきわ", "うくらいな", "うくれれ", "うけたまわる", "うけつけ", "うけとる", "うけもつ", "うける",
15196"うごかす", "うごく", "うこん", "うさぎ", "うしなう", "うしろがみ", "うすい", "うすぎ", "うすぐらい", "うすめる",
15197"うせつ", "うちあわせ", "うちがわ", "うちき", "うちゅう", "うっかり", "うつくしい", "うったえる", "うつる", "うどん",
15198"うなぎ", "うなじ", "うなずく", "うなる", "うねる", "うのう", "うぶげ", "うぶごえ", "うまれる", "うめる",
15199"うもう", "うやまう", "うよく", "うらがえす", "うらぐち", "うらない", "うりあげ", "うりきれ", "うるさい", "うれしい",
15200"うれゆき", "うれる", "うろこ", "うわき", "うわさ", "うんこう", "うんちん", "うんてん", "うんどう", "えいえん",
15201"えいが", "えいきょう", "えいご", "えいせい", "えいぶん", "えいよう", "えいわ", "えおり", "えがお", "えがく",
15202"えきたい", "えくせる", "えしゃく", "えすて", "えつらん", "えのぐ", "えほうまき", "えほん", "えまき", "えもじ",
15203"えもの", "えらい", "えらぶ", "えりあ", "えんえん", "えんかい", "えんぎ", "えんげき", "えんしゅう", "えんぜつ",
15204"えんそく", "えんちょう", "えんとつ", "おいかける", "おいこす", "おいしい", "おいつく", "おうえん", "おうさま", "おうじ",
15205"おうせつ", "おうたい", "おうふく", "おうべい", "おうよう", "おえる", "おおい", "おおう", "おおどおり", "おおや",
15206"おおよそ", "おかえり", "おかず", "おがむ", "おかわり", "おぎなう", "おきる", "おくさま", "おくじょう", "おくりがな",
15207"おくる", "おくれる", "おこす", "おこなう", "おこる", "おさえる", "おさない", "おさめる", "おしいれ", "おしえる",
15208"おじぎ", "おじさん", "おしゃれ", "おそらく", "おそわる", "おたがい", "おたく", "おだやか", "おちつく", "おっと",
15209"おつり", "おでかけ", "おとしもの", "おとなしい", "おどり", "おどろかす", "おばさん", "おまいり", "おめでとう", "おもいで",
15210"おもう", "おもたい", "おもちゃ", "おやつ", "おやゆび", "およぼす", "おらんだ", "おろす", "おんがく", "おんけい",
15211"おんしゃ", "おんせん", "おんだん", "おんちゅう", "おんどけい", "かあつ", "かいが", "がいき", "がいけん", "がいこう",
15212"かいさつ", "かいしゃ", "かいすいよく", "かいぜん", "かいぞうど", "かいつう", "かいてん", "かいとう", "かいふく", "がいへき",
15213"かいほう", "かいよう", "がいらい", "かいわ", "かえる", "かおり", "かかえる", "かがく", "かがし", "かがみ",
15214"かくご", "かくとく", "かざる", "がぞう", "かたい", "かたち", "がちょう", "がっきゅう", "がっこう", "がっさん",
15215"がっしょう", "かなざわし", "かのう", "がはく", "かぶか", "かほう", "かほご", "かまう", "かまぼこ", "かめれおん",
15216"かゆい", "かようび", "からい", "かるい", "かろう", "かわく", "かわら", "がんか", "かんけい", "かんこう",
15217"かんしゃ", "かんそう", "かんたん", "かんち", "がんばる", "きあい", "きあつ", "きいろ", "ぎいん", "きうい",
15218"きうん", "きえる", "きおう", "きおく", "きおち", "きおん", "きかい", "きかく", "きかんしゃ", "ききて",
15219"きくばり", "きくらげ", "きけんせい", "きこう", "きこえる", "きこく", "きさい", "きさく", "きさま", "きさらぎ",
15220"ぎじかがく", "ぎしき", "ぎじたいけん", "ぎじにってい", "ぎじゅつしゃ", "きすう", "きせい", "きせき", "きせつ", "きそう",
15221"きぞく", "きぞん", "きたえる", "きちょう", "きつえん", "ぎっちり", "きつつき", "きつね", "きてい", "きどう",
15222"きどく", "きない", "きなが", "きなこ", "きぬごし", "きねん", "きのう", "きのした", "きはく", "きびしい",
15223"きひん", "きふく", "きぶん", "きぼう", "きほん", "きまる", "きみつ", "きむずかしい", "きめる", "きもだめし",
15224"きもち", "きもの", "きゃく", "きやく", "ぎゅうにく", "きよう", "きょうりゅう", "きらい", "きらく", "きりん",
15225"きれい", "きれつ", "きろく", "ぎろん", "きわめる", "ぎんいろ", "きんかくじ", "きんじょ", "きんようび", "ぐあい",
15226"くいず", "くうかん", "くうき", "くうぐん", "くうこう", "ぐうせい", "くうそう", "ぐうたら", "くうふく", "くうぼ",
15227"くかん", "くきょう", "くげん", "ぐこう", "くさい", "くさき", "くさばな", "くさる", "くしゃみ", "くしょう",
15228"くすのき", "くすりゆび", "くせげ", "くせん", "ぐたいてき", "くださる", "くたびれる", "くちこみ", "くちさき", "くつした",
15229"ぐっすり", "くつろぐ", "くとうてん", "くどく", "くなん", "くねくね", "くのう", "くふう", "くみあわせ", "くみたてる",
15230"くめる", "くやくしょ", "くらす", "くらべる", "くるま", "くれる", "くろう", "くわしい", "ぐんかん", "ぐんしょく",
15231"ぐんたい", "ぐんて", "けあな", "けいかく", "けいけん", "けいこ", "けいさつ", "げいじゅつ", "けいたい", "げいのうじん",
15232"けいれき", "けいろ", "けおとす", "けおりもの", "げきか", "げきげん", "げきだん", "げきちん", "げきとつ", "げきは",
15233"げきやく", "げこう", "げこくじょう", "げざい", "けさき", "げざん", "けしき", "けしごむ", "けしょう", "げすと",
15234"けたば", "けちゃっぷ", "けちらす", "けつあつ", "けつい", "けつえき", "けっこん", "けつじょ", "けっせき", "けってい",
15235"けつまつ", "げつようび", "げつれい", "けつろん", "げどく", "けとばす", "けとる", "けなげ", "けなす", "けなみ",
15236"けぬき", "げねつ", "けねん", "けはい", "げひん", "けぶかい", "げぼく", "けまり", "けみかる", "けむし",
15237"けむり", "けもの", "けらい", "けろけろ", "けわしい", "けんい", "けんえつ", "けんお", "けんか", "げんき",
15238"けんげん", "けんこう", "けんさく", "けんしゅう", "けんすう", "げんそう", "けんちく", "けんてい", "けんとう", "けんない",
15239"けんにん", "げんぶつ", "けんま", "けんみん", "けんめい", "けんらん", "けんり", "こあくま", "こいぬ", "こいびと",
15240"ごうい", "こうえん", "こうおん", "こうかん", "ごうきゅう", "ごうけい", "こうこう", "こうさい", "こうじ", "こうすい",
15241"ごうせい", "こうそく", "こうたい", "こうちゃ", "こうつう", "こうてい", "こうどう", "こうない", "こうはい", "ごうほう",
15242"ごうまん", "こうもく", "こうりつ", "こえる", "こおり", "ごかい", "ごがつ", "ごかん", "こくご", "こくさい",
15243"こくとう", "こくない", "こくはく", "こぐま", "こけい", "こける", "ここのか", "こころ", "こさめ", "こしつ",
15244"こすう", "こせい", "こせき", "こぜん", "こそだて", "こたい", "こたえる", "こたつ", "こちょう", "こっか",
15245"こつこつ", "こつばん", "こつぶ", "こてい", "こてん", "ことがら", "ことし", "ことば", "ことり", "こなごな",
15246"こねこね", "このまま", "このみ", "このよ", "ごはん", "こひつじ", "こふう", "こふん", "こぼれる", "ごまあぶら",
15247"こまかい", "ごますり", "こまつな", "こまる", "こむぎこ", "こもじ", "こもち", "こもの", "こもん", "こやく",
15248"こやま", "こゆう", "こゆび", "こよい", "こよう", "こりる", "これくしょん", "ころっけ", "こわもて", "こわれる",
15249"こんいん", "こんかい", "こんき", "こんしゅう", "こんすい", "こんだて", "こんとん", "こんなん", "こんびに", "こんぽん",
15250"こんまけ", "こんや", "こんれい", "こんわく", "ざいえき", "さいかい", "さいきん", "ざいげん", "ざいこ", "さいしょ",
15251"さいせい", "ざいたく", "ざいちゅう", "さいてき", "ざいりょう", "さうな", "さかいし", "さがす", "さかな", "さかみち",
15252"さがる", "さぎょう", "さくし", "さくひん", "さくら", "さこく", "さこつ", "さずかる", "ざせき", "さたん",
15253"さつえい", "ざつおん", "ざっか", "ざつがく", "さっきょく", "ざっし", "さつじん", "ざっそう", "さつたば", "さつまいも",
15254"さてい", "さといも", "さとう", "さとおや", "さとし", "さとる", "さのう", "さばく", "さびしい", "さべつ",
15255"さほう", "さほど", "さます", "さみしい", "さみだれ", "さむけ", "さめる", "さやえんどう", "さゆう", "さよう",
15256"さよく", "さらだ", "ざるそば", "さわやか", "さわる", "さんいん", "さんか", "さんきゃく", "さんこう", "さんさい",
15257"ざんしょ", "さんすう", "さんせい", "さんそ", "さんち", "さんま", "さんみ", "さんらん", "しあい", "しあげ",
15258"しあさって", "しあわせ", "しいく", "しいん", "しうち", "しえい", "しおけ", "しかい", "しかく", "じかん",
15259"しごと", "しすう", "じだい", "したうけ", "したぎ", "したて", "したみ", "しちょう", "しちりん", "しっかり",
15260"しつじ", "しつもん", "してい", "してき", "してつ", "じてん", "じどう", "しなぎれ", "しなもの", "しなん",
15261"しねま", "しねん", "しのぐ", "しのぶ", "しはい", "しばかり", "しはつ", "しはらい", "しはん", "しひょう",
15262"しふく", "じぶん", "しへい", "しほう", "しほん", "しまう", "しまる", "しみん", "しむける", "じむしょ",
15263"しめい", "しめる", "しもん", "しゃいん", "しゃうん", "しゃおん", "じゃがいも", "しやくしょ", "しゃくほう", "しゃけん",
15264"しゃこ", "しゃざい", "しゃしん", "しゃせん", "しゃそう", "しゃたい", "しゃちょう", "しゃっきん", "じゃま", "しゃりん",
15265"しゃれい", "じゆう", "じゅうしょ", "しゅくはく", "じゅしん", "しゅっせき", "しゅみ", "しゅらば", "じゅんばん", "しょうかい",
15266"しょくたく", "しょっけん", "しょどう", "しょもつ", "しらせる", "しらべる", "しんか", "しんこう", "じんじゃ", "しんせいじ",
15267"しんちく", "しんりん", "すあげ", "すあし", "すあな", "ずあん", "すいえい", "すいか", "すいとう", "ずいぶん",
15268"すいようび", "すうがく", "すうじつ", "すうせん", "すおどり", "すきま", "すくう", "すくない", "すける", "すごい",
15269"すこし", "ずさん", "すずしい", "すすむ", "すすめる", "すっかり", "ずっしり", "ずっと", "すてき", "すてる",
15270"すねる", "すのこ", "すはだ", "すばらしい", "ずひょう", "ずぶぬれ", "すぶり", "すふれ", "すべて", "すべる",
15271"ずほう", "すぼん", "すまい", "すめし", "すもう", "すやき", "すらすら", "するめ", "すれちがう", "すろっと",
15272"すわる", "すんぜん", "すんぽう", "せあぶら", "せいかつ", "せいげん", "せいじ", "せいよう", "せおう", "せかいかん",
15273"せきにん", "せきむ", "せきゆ", "せきらんうん", "せけん", "せこう", "せすじ", "せたい", "せたけ", "せっかく",
15274"せっきゃく", "ぜっく", "せっけん", "せっこつ", "せっさたくま", "せつぞく", "せつだん", "せつでん", "せっぱん", "せつび",
15275"せつぶん", "せつめい", "せつりつ", "せなか", "せのび", "せはば", "せびろ", "せぼね", "せまい", "せまる",
15276"せめる", "せもたれ", "せりふ", "ぜんあく", "せんい", "せんえい", "せんか", "せんきょ", "せんく", "せんげん",
15277"ぜんご", "せんさい", "せんしゅ", "せんすい", "せんせい", "せんぞ", "せんたく", "せんちょう", "せんてい", "せんとう",
15278"せんぬき", "せんねん", "せんぱい", "ぜんぶ", "ぜんぽう", "せんむ", "せんめんじょ", "せんもん", "せんやく", "せんゆう",
15279"せんよう", "ぜんら", "ぜんりゃく", "せんれい", "せんろ", "そあく", "そいとげる", "そいね", "そうがんきょう", "そうき",
15280"そうご", "そうしん", "そうだん", "そうなん", "そうび", "そうめん", "そうり", "そえもの", "そえん", "そがい",
15281"そげき", "そこう", "そこそこ", "そざい", "そしな", "そせい", "そせん", "そそぐ", "そだてる", "そつう",
15282"そつえん", "そっかん", "そつぎょう", "そっけつ", "そっこう", "そっせん", "そっと", "そとがわ", "そとづら", "そなえる",
15283"そなた", "そふぼ", "そぼく", "そぼろ", "そまつ", "そまる", "そむく", "そむりえ", "そめる", "そもそも",
15284"そよかぜ", "そらまめ", "そろう", "そんかい", "そんけい", "そんざい", "そんしつ", "そんぞく", "そんちょう", "ぞんび",
15285"ぞんぶん", "そんみん", "たあい", "たいいん", "たいうん", "たいえき", "たいおう", "だいがく", "たいき", "たいぐう",
15286"たいけん", "たいこ", "たいざい", "だいじょうぶ", "だいすき", "たいせつ", "たいそう", "だいたい", "たいちょう", "たいてい",
15287"だいどころ", "たいない", "たいねつ", "たいのう", "たいはん", "だいひょう", "たいふう", "たいへん", "たいほ", "たいまつばな",
15288"たいみんぐ", "たいむ", "たいめん", "たいやき", "たいよう", "たいら", "たいりょく", "たいる", "たいわん", "たうえ",
15289"たえる", "たおす", "たおる", "たおれる", "たかい", "たかね", "たきび", "たくさん", "たこく", "たこやき",
15290"たさい", "たしざん", "だじゃれ", "たすける", "たずさわる", "たそがれ", "たたかう", "たたく", "ただしい", "たたみ",
15291"たちばな", "だっかい", "だっきゃく", "だっこ", "だっしゅつ", "だったい", "たてる", "たとえる", "たなばた", "たにん",
15292"たぬき", "たのしみ", "たはつ", "たぶん", "たべる", "たぼう", "たまご", "たまる", "だむる", "ためいき",
15293"ためす", "ためる", "たもつ", "たやすい", "たよる", "たらす", "たりきほんがん", "たりょう", "たりる", "たると",
15294"たれる", "たれんと", "たろっと", "たわむれる", "だんあつ", "たんい", "たんおん", "たんか", "たんき", "たんけん",
15295"たんご", "たんさん", "たんじょうび", "だんせい", "たんそく", "たんたい", "だんち", "たんてい", "たんとう", "だんな",
15296"たんにん", "だんねつ", "たんのう", "たんぴん", "だんぼう", "たんまつ", "たんめい", "だんれつ", "だんろ", "だんわ",
15297"ちあい", "ちあん", "ちいき", "ちいさい", "ちえん", "ちかい", "ちから", "ちきゅう", "ちきん", "ちけいず",
15298"ちけん", "ちこく", "ちさい", "ちしき", "ちしりょう", "ちせい", "ちそう", "ちたい", "ちたん", "ちちおや",
15299"ちつじょ", "ちてき", "ちてん", "ちぬき", "ちぬり", "ちのう", "ちひょう", "ちへいせん", "ちほう", "ちまた",
15300"ちみつ", "ちみどろ", "ちめいど", "ちゃんこなべ", "ちゅうい", "ちゆりょく", "ちょうし", "ちょさくけん", "ちらし", "ちらみ",
15301"ちりがみ", "ちりょう", "ちるど", "ちわわ", "ちんたい", "ちんもく", "ついか", "ついたち", "つうか", "つうじょう",
15302"つうはん", "つうわ", "つかう", "つかれる", "つくね", "つくる", "つけね", "つける", "つごう", "つたえる",
15303"つづく", "つつじ", "つつむ", "つとめる", "つながる", "つなみ", "つねづね", "つのる", "つぶす", "つまらない",
15304"つまる", "つみき", "つめたい", "つもり", "つもる", "つよい", "つるぼ", "つるみく", "つわもの", "つわり",
15305"てあし", "てあて", "てあみ", "ていおん", "ていか", "ていき", "ていけい", "ていこく", "ていさつ", "ていし",
15306"ていせい", "ていたい", "ていど", "ていねい", "ていひょう", "ていへん", "ていぼう", "てうち", "ておくれ", "てきとう",
15307"てくび", "でこぼこ", "てさぎょう", "てさげ", "てすり", "てそう", "てちがい", "てちょう", "てつがく", "てつづき",
15308"でっぱ", "てつぼう", "てつや", "でぬかえ", "てぬき", "てぬぐい", "てのひら", "てはい", "てぶくろ", "てふだ",
15309"てほどき", "てほん", "てまえ", "てまきずし", "てみじか", "てみやげ", "てらす", "てれび", "てわけ", "てわたし",
15310"でんあつ", "てんいん", "てんかい", "てんき", "てんぐ", "てんけん", "てんごく", "てんさい", "てんし", "てんすう",
15311"でんち", "てんてき", "てんとう", "てんない", "てんぷら", "てんぼうだい", "てんめつ", "てんらんかい", "でんりょく", "でんわ",
15312"どあい", "といれ", "どうかん", "とうきゅう", "どうぐ", "とうし", "とうむぎ", "とおい", "とおか", "とおく",
15313"とおす", "とおる", "とかい", "とかす", "ときおり", "ときどき", "とくい", "とくしゅう", "とくてん", "とくに",
15314"とくべつ", "とけい", "とける", "とこや", "とさか", "としょかん", "とそう", "とたん", "とちゅう", "とっきゅう",
15315"とっくん", "とつぜん", "とつにゅう", "とどける", "ととのえる", "とない", "となえる", "となり", "とのさま", "とばす",
15316"どぶがわ", "とほう", "とまる", "とめる", "ともだち", "ともる", "どようび", "とらえる", "とんかつ", "どんぶり",
15317"ないかく", "ないこう", "ないしょ", "ないす", "ないせん", "ないそう", "なおす", "ながい", "なくす", "なげる",
15318"なこうど", "なさけ", "なたでここ", "なっとう", "なつやすみ", "ななおし", "なにごと", "なにもの", "なにわ", "なのか",
15319"なふだ", "なまいき", "なまえ", "なまみ", "なみだ", "なめらか", "なめる", "なやむ", "ならう", "ならび",
15320"ならぶ", "なれる", "なわとび", "なわばり", "にあう", "にいがた", "にうけ", "におい", "にかい", "にがて",
15321"にきび", "にくしみ", "にくまん", "にげる", "にさんかたんそ", "にしき", "にせもの", "にちじょう", "にちようび", "にっか",
15322"にっき", "にっけい", "にっこう", "にっさん", "にっしょく", "にっすう", "にっせき", "にってい", "になう", "にほん",
15323"にまめ", "にもつ", "にやり", "にゅういん", "にりんしゃ", "にわとり", "にんい", "にんか", "にんき", "にんげん",
15324"にんしき", "にんずう", "にんそう", "にんたい", "にんち", "にんてい", "にんにく", "にんぷ", "にんまり", "にんむ",
15325"にんめい", "にんよう", "ぬいくぎ", "ぬかす", "ぬぐいとる", "ぬぐう", "ぬくもり", "ぬすむ", "ぬまえび", "ぬめり",
15326"ぬらす", "ぬんちゃく", "ねあげ", "ねいき", "ねいる", "ねいろ", "ねぐせ", "ねくたい", "ねくら", "ねこぜ",
15327"ねこむ", "ねさげ", "ねすごす", "ねそべる", "ねだん", "ねつい", "ねっしん", "ねつぞう", "ねったいぎょ", "ねぶそく",
15328"ねふだ", "ねぼう", "ねほりはほり", "ねまき", "ねまわし", "ねみみ", "ねむい", "ねむたい", "ねもと", "ねらう",
15329"ねわざ", "ねんいり", "ねんおし", "ねんかん", "ねんきん", "ねんぐ", "ねんざ", "ねんし", "ねんちゃく", "ねんど",
15330"ねんぴ", "ねんぶつ", "ねんまつ", "ねんりょう", "ねんれい", "のいず", "のおづま", "のがす", "のきなみ", "のこぎり",
15331"のこす", "のこる", "のせる", "のぞく", "のぞむ", "のたまう", "のちほど", "のっく", "のばす", "のはら",
15332"のべる", "のぼる", "のみもの", "のやま", "のらいぬ", "のらねこ", "のりもの", "のりゆき", "のれん", "のんき",
15333"ばあい", "はあく", "ばあさん", "ばいか", "ばいく", "はいけん", "はいご", "はいしん", "はいすい", "はいせん",
15334"はいそう", "はいち", "ばいばい", "はいれつ", "はえる", "はおる", "はかい", "ばかり", "はかる", "はくしゅ",
15335"はけん", "はこぶ", "はさみ", "はさん", "はしご", "ばしょ", "はしる", "はせる", "ぱそこん", "はそん",
15336"はたん", "はちみつ", "はつおん", "はっかく", "はづき", "はっきり", "はっくつ", "はっけん", "はっこう", "はっさん",
15337"はっしん", "はったつ", "はっちゅう", "はってん", "はっぴょう", "はっぽう", "はなす", "はなび", "はにかむ", "はぶらし",
15338"はみがき", "はむかう", "はめつ", "はやい", "はやし", "はらう", "はろうぃん", "はわい", "はんい", "はんえい",
15339"はんおん", "はんかく", "はんきょう", "ばんぐみ", "はんこ", "はんしゃ", "はんすう", "はんだん", "ぱんち", "ぱんつ",
15340"はんてい", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい", "はんらん", "はんろん",
15341"ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかる", "ひかん", "ひくい", "ひけつ", "ひこうき",
15342"ひこく", "ひさい", "ひさしぶり", "ひさん", "びじゅつかん", "ひしょ", "ひそか", "ひそむ", "ひたむき", "ひだり",
15343"ひたる", "ひつぎ", "ひっこし", "ひっし", "ひつじゅひん", "ひっす", "ひつぜん", "ぴったり", "ぴっちり", "ひつよう",
15344"ひてい", "ひとごみ", "ひなまつり", "ひなん", "ひねる", "ひはん", "ひびく", "ひひょう", "ひほう", "ひまわり",
15345"ひまん", "ひみつ", "ひめい", "ひめじし", "ひやけ", "ひやす", "ひよう", "びょうき", "ひらがな", "ひらく",
15346"ひりつ", "ひりょう", "ひるま", "ひるやすみ", "ひれい", "ひろい", "ひろう", "ひろき", "ひろゆき", "ひんかく",
15347"ひんけつ", "ひんこん", "ひんしゅ", "ひんそう", "ぴんち", "ひんぱん", "びんぼう", "ふあん", "ふいうち", "ふうけい",
15348"ふうせん", "ぷうたろう", "ふうとう", "ふうふ", "ふえる", "ふおん", "ふかい", "ふきん", "ふくざつ", "ふくぶくろ",
15349"ふこう", "ふさい", "ふしぎ", "ふじみ", "ふすま", "ふせい", "ふせぐ", "ふそく", "ぶたにく", "ふたん",
15350"ふちょう", "ふつう", "ふつか", "ふっかつ", "ふっき", "ふっこく", "ぶどう", "ふとる", "ふとん", "ふのう",
15351"ふはい", "ふひょう", "ふへん", "ふまん", "ふみん", "ふめつ", "ふめん", "ふよう", "ふりこ", "ふりる",
15352"ふるい", "ふんいき", "ぶんがく", "ぶんぐ", "ふんしつ", "ぶんせき", "ふんそう", "ぶんぽう", "へいあん", "へいおん",
15353"へいがい", "へいき", "へいげん", "へいこう", "へいさ", "へいしゃ", "へいせつ", "へいそ", "へいたく", "へいてん",
15354"へいねつ", "へいわ", "へきが", "へこむ", "べにいろ", "べにしょうが", "へらす", "へんかん", "べんきょう", "べんごし",
15355"へんさい", "へんたい", "べんり", "ほあん", "ほいく", "ぼうぎょ", "ほうこく", "ほうそう", "ほうほう", "ほうもん",
15356"ほうりつ", "ほえる", "ほおん", "ほかん", "ほきょう", "ぼきん", "ほくろ", "ほけつ", "ほけん", "ほこう",
15357"ほこる", "ほしい", "ほしつ", "ほしゅ", "ほしょう", "ほせい", "ほそい", "ほそく", "ほたて", "ほたる",
15358"ぽちぶくろ", "ほっきょく", "ほっさ", "ほったん", "ほとんど", "ほめる", "ほんい", "ほんき", "ほんけ", "ほんしつ",
15359"ほんやく", "まいにち", "まかい", "まかせる", "まがる", "まける", "まこと", "まさつ", "まじめ", "ますく",
15360"まぜる", "まつり", "まとめ", "まなぶ", "まぬけ", "まねく", "まほう", "まもる", "まゆげ", "まよう",
15361"まろやか", "まわす", "まわり", "まわる", "まんが", "まんきつ", "まんぞく", "まんなか", "みいら", "みうち",
15362"みえる", "みがく", "みかた", "みかん", "みけん", "みこん", "みじかい", "みすい", "みすえる", "みせる",
15363"みっか", "みつかる", "みつける", "みてい", "みとめる", "みなと", "みなみかさい", "みねらる", "みのう", "みのがす",
15364"みほん", "みもと", "みやげ", "みらい", "みりょく", "みわく", "みんか", "みんぞく", "むいか", "むえき",
15365"むえん", "むかい", "むかう", "むかえ", "むかし", "むぎちゃ", "むける", "むげん", "むさぼる", "むしあつい",
15366"むしば", "むじゅん", "むしろ", "むすう", "むすこ", "むすぶ", "むすめ", "むせる", "むせん", "むちゅう",
15367"むなしい", "むのう", "むやみ", "むよう", "むらさき", "むりょう", "むろん", "めいあん", "めいうん", "めいえん",
15368"めいかく", "めいきょく", "めいさい", "めいし", "めいそう", "めいぶつ", "めいれい", "めいわく", "めぐまれる", "めざす",
15369"めした", "めずらしい", "めだつ", "めまい", "めやす", "めんきょ", "めんせき", "めんどう", "もうしあげる", "もうどうけん",
15370"もえる", "もくし", "もくてき", "もくようび", "もちろん", "もどる", "もらう", "もんく", "もんだい", "やおや",
15371"やける", "やさい", "やさしい", "やすい", "やすたろう", "やすみ", "やせる", "やそう", "やたい", "やちん",
15372"やっと", "やっぱり", "やぶる", "やめる", "ややこしい", "やよい", "やわらかい", "ゆうき", "ゆうびんきょく", "ゆうべ",
15373"ゆうめい", "ゆけつ", "ゆしゅつ", "ゆせん", "ゆそう", "ゆたか", "ゆちゃく", "ゆでる", "ゆにゅう", "ゆびわ",
15374"ゆらい", "ゆれる", "ようい", "ようか", "ようきゅう", "ようじ", "ようす", "ようちえん", "よかぜ", "よかん",
15375"よきん", "よくせい", "よくぼう", "よけい", "よごれる", "よさん", "よしゅう", "よそう", "よそく", "よっか",
15376"よてい", "よどがわく", "よねつ", "よやく", "よゆう", "よろこぶ", "よろしい", "らいう", "らくがき", "らくご",
15377"らくさつ", "らくだ", "らしんばん", "らせん", "らぞく", "らたい", "らっか", "られつ", "りえき", "りかい",
15378"りきさく", "りきせつ", "りくぐん", "りくつ", "りけん", "りこう", "りせい", "りそう", "りそく", "りてん",
15379"りねん", "りゆう", "りゅうがく", "りよう", "りょうり", "りょかん", "りょくちゃ", "りょこう", "りりく", "りれき",
15380"りろん", "りんご", "るいけい", "るいさい", "るいじ", "るいせき", "るすばん", "るりがわら", "れいかん", "れいぎ",
15381"れいせい", "れいぞうこ", "れいとう", "れいぼう", "れきし", "れきだい", "れんあい", "れんけい", "れんこん", "れんさい",
15382"れんしゅう", "れんぞく", "れんらく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろくが", "ろこつ", "ろじうら",
15383"ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わかす",
15384"わかめ", "わかやま", "わかれる", "わしつ", "わじまし", "わすれもの", "わらう", "われる"]
15385</script>
15386 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15387WORDLISTS["spanish"] = [
15388"ábaco", "abdomen", "abeja", "abierto", "abogado", "abono", "aborto", "abrazo", "abrir", "abuelo",
15389"abuso", "acabar", "academia", "acceso", "acción", "aceite", "acelga", "acento", "aceptar", "ácido",
15390"aclarar", "acné", "acoger", "acoso", "activo", "acto", "actriz", "actuar", "acudir", "acuerdo",
15391"acusar", "adicto", "admitir", "adoptar", "adorno", "aduana", "adulto", "aéreo", "afectar", "afición",
15392"afinar", "afirmar", "ágil", "agitar", "agonía", "agosto", "agotar", "agregar", "agrio", "agua",
15393"agudo", "águila", "aguja", "ahogo", "ahorro", "aire", "aislar", "ajedrez", "ajeno", "ajuste",
15394"alacrán", "alambre", "alarma", "alba", "álbum", "alcalde", "aldea", "alegre", "alejar", "alerta",
15395"aleta", "alfiler", "alga", "algodón", "aliado", "aliento", "alivio", "alma", "almeja", "almíbar",
15396"altar", "alteza", "altivo", "alto", "altura", "alumno", "alzar", "amable", "amante", "amapola",
15397"amargo", "amasar", "ámbar", "ámbito", "ameno", "amigo", "amistad", "amor", "amparo", "amplio",
15398"ancho", "anciano", "ancla", "andar", "andén", "anemia", "ángulo", "anillo", "ánimo", "anís",
15399"anotar", "antena", "antiguo", "antojo", "anual", "anular", "anuncio", "añadir", "añejo", "año",
15400"apagar", "aparato", "apetito", "apio", "aplicar", "apodo", "aporte", "apoyo", "aprender", "aprobar",
15401"apuesta", "apuro", "arado", "araña", "arar", "árbitro", "árbol", "arbusto", "archivo", "arco",
15402"arder", "ardilla", "arduo", "área", "árido", "aries", "armonía", "arnés", "aroma", "arpa",
15403"arpón", "arreglo", "arroz", "arruga", "arte", "artista", "asa", "asado", "asalto", "ascenso",
15404"asegurar", "aseo", "asesor", "asiento", "asilo", "asistir", "asno", "asombro", "áspero", "astilla",
15405"astro", "astuto", "asumir", "asunto", "atajo", "ataque", "atar", "atento", "ateo", "ático",
15406"atleta", "átomo", "atraer", "atroz", "atún", "audaz", "audio", "auge", "aula", "aumento",
15407"ausente", "autor", "aval", "avance", "avaro", "ave", "avellana", "avena", "avestruz", "avión",
15408"aviso", "ayer", "ayuda", "ayuno", "azafrán", "azar", "azote", "azúcar", "azufre", "azul",
15409"baba", "babor", "bache", "bahía", "baile", "bajar", "balanza", "balcón", "balde", "bambú",
15410"banco", "banda", "baño", "barba", "barco", "barniz", "barro", "báscula", "bastón", "basura",
15411"batalla", "batería", "batir", "batuta", "baúl", "bazar", "bebé", "bebida", "bello", "besar",
15412"beso", "bestia", "bicho", "bien", "bingo", "blanco", "bloque", "blusa", "boa", "bobina",
15413"bobo", "boca", "bocina", "boda", "bodega", "boina", "bola", "bolero", "bolsa", "bomba",
15414"bondad", "bonito", "bono", "bonsái", "borde", "borrar", "bosque", "bote", "botín", "bóveda",
15415"bozal", "bravo", "brazo", "brecha", "breve", "brillo", "brinco", "brisa", "broca", "broma",
15416"bronce", "brote", "bruja", "brusco", "bruto", "buceo", "bucle", "bueno", "buey", "bufanda",
15417"bufón", "búho", "buitre", "bulto", "burbuja", "burla", "burro", "buscar", "butaca", "buzón",
15418"caballo", "cabeza", "cabina", "cabra", "cacao", "cadáver", "cadena", "caer", "café", "caída",
15419"caimán", "caja", "cajón", "cal", "calamar", "calcio", "caldo", "calidad", "calle", "calma",
15420"calor", "calvo", "cama", "cambio", "camello", "camino", "campo", "cáncer", "candil", "canela",
15421"canguro", "canica", "canto", "caña", "cañón", "caoba", "caos", "capaz", "capitán", "capote",
15422"captar", "capucha", "cara", "carbón", "cárcel", "careta", "carga", "cariño", "carne", "carpeta",
15423"carro", "carta", "casa", "casco", "casero", "caspa", "castor", "catorce", "catre", "caudal",
15424"causa", "cazo", "cebolla", "ceder", "cedro", "celda", "célebre", "celoso", "célula", "cemento",
15425"ceniza", "centro", "cerca", "cerdo", "cereza", "cero", "cerrar", "certeza", "césped", "cetro",
15426"chacal", "chaleco", "champú", "chancla", "chapa", "charla", "chico", "chiste", "chivo", "choque",
15427"choza", "chuleta", "chupar", "ciclón", "ciego", "cielo", "cien", "cierto", "cifra", "cigarro",
15428"cima", "cinco", "cine", "cinta", "ciprés", "circo", "ciruela", "cisne", "cita", "ciudad",
15429"clamor", "clan", "claro", "clase", "clave", "cliente", "clima", "clínica", "cobre", "cocción",
15430"cochino", "cocina", "coco", "código", "codo", "cofre", "coger", "cohete", "cojín", "cojo",
15431"cola", "colcha", "colegio", "colgar", "colina", "collar", "colmo", "columna", "combate", "comer",
15432"comida", "cómodo", "compra", "conde", "conejo", "conga", "conocer", "consejo", "contar", "copa",
15433"copia", "corazón", "corbata", "corcho", "cordón", "corona", "correr", "coser", "cosmos", "costa",
15434"cráneo", "cráter", "crear", "crecer", "creído", "crema", "cría", "crimen", "cripta", "crisis",
15435"cromo", "crónica", "croqueta", "crudo", "cruz", "cuadro", "cuarto", "cuatro", "cubo", "cubrir",
15436"cuchara", "cuello", "cuento", "cuerda", "cuesta", "cueva", "cuidar", "culebra", "culpa", "culto",
15437"cumbre", "cumplir", "cuna", "cuneta", "cuota", "cupón", "cúpula", "curar", "curioso", "curso",
15438"curva", "cutis", "dama", "danza", "dar", "dardo", "dátil", "deber", "débil", "década",
15439"decir", "dedo", "defensa", "definir", "dejar", "delfín", "delgado", "delito", "demora", "denso",
15440"dental", "deporte", "derecho", "derrota", "desayuno", "deseo", "desfile", "desnudo", "destino", "desvío",
15441"detalle", "detener", "deuda", "día", "diablo", "diadema", "diamante", "diana", "diario", "dibujo",
15442"dictar", "diente", "dieta", "diez", "difícil", "digno", "dilema", "diluir", "dinero", "directo",
15443"dirigir", "disco", "diseño", "disfraz", "diva", "divino", "doble", "doce", "dolor", "domingo",
15444"don", "donar", "dorado", "dormir", "dorso", "dos", "dosis", "dragón", "droga", "ducha",
15445"duda", "duelo", "dueño", "dulce", "dúo", "duque", "durar", "dureza", "duro", "ébano",
15446"ebrio", "echar", "eco", "ecuador", "edad", "edición", "edificio", "editor", "educar", "efecto",
15447"eficaz", "eje", "ejemplo", "elefante", "elegir", "elemento", "elevar", "elipse", "élite", "elixir",
15448"elogio", "eludir", "embudo", "emitir", "emoción", "empate", "empeño", "empleo", "empresa", "enano",
15449"encargo", "enchufe", "encía", "enemigo", "enero", "enfado", "enfermo", "engaño", "enigma", "enlace",
15450"enorme", "enredo", "ensayo", "enseñar", "entero", "entrar", "envase", "envío", "época", "equipo",
15451"erizo", "escala", "escena", "escolar", "escribir", "escudo", "esencia", "esfera", "esfuerzo", "espada",
15452"espejo", "espía", "esposa", "espuma", "esquí", "estar", "este", "estilo", "estufa", "etapa",
15453"eterno", "ética", "etnia", "evadir", "evaluar", "evento", "evitar", "exacto", "examen", "exceso",
15454"excusa", "exento", "exigir", "exilio", "existir", "éxito", "experto", "explicar", "exponer", "extremo",
15455"fábrica", "fábula", "fachada", "fácil", "factor", "faena", "faja", "falda", "fallo", "falso",
15456"faltar", "fama", "familia", "famoso", "faraón", "farmacia", "farol", "farsa", "fase", "fatiga",
15457"fauna", "favor", "fax", "febrero", "fecha", "feliz", "feo", "feria", "feroz", "fértil",
15458"fervor", "festín", "fiable", "fianza", "fiar", "fibra", "ficción", "ficha", "fideo", "fiebre",
15459"fiel", "fiera", "fiesta", "figura", "fijar", "fijo", "fila", "filete", "filial", "filtro",
15460"fin", "finca", "fingir", "finito", "firma", "flaco", "flauta", "flecha", "flor", "flota",
15461"fluir", "flujo", "flúor", "fobia", "foca", "fogata", "fogón", "folio", "folleto", "fondo",
15462"forma", "forro", "fortuna", "forzar", "fosa", "foto", "fracaso", "frágil", "franja", "frase",
15463"fraude", "freír", "freno", "fresa", "frío", "frito", "fruta", "fuego", "fuente", "fuerza",
15464"fuga", "fumar", "función", "funda", "furgón", "furia", "fusil", "fútbol", "futuro", "gacela",
15465"gafas", "gaita", "gajo", "gala", "galería", "gallo", "gamba", "ganar", "gancho", "ganga",
15466"ganso", "garaje", "garza", "gasolina", "gastar", "gato", "gavilán", "gemelo", "gemir", "gen",
15467"género", "genio", "gente", "geranio", "gerente", "germen", "gesto", "gigante", "gimnasio", "girar",
15468"giro", "glaciar", "globo", "gloria", "gol", "golfo", "goloso", "golpe", "goma", "gordo",
15469"gorila", "gorra", "gota", "goteo", "gozar", "grada", "gráfico", "grano", "grasa", "gratis",
15470"grave", "grieta", "grillo", "gripe", "gris", "grito", "grosor", "grúa", "grueso", "grumo",
15471"grupo", "guante", "guapo", "guardia", "guerra", "guía", "guiño", "guion", "guiso", "guitarra",
15472"gusano", "gustar", "haber", "hábil", "hablar", "hacer", "hacha", "hada", "hallar", "hamaca",
15473"harina", "haz", "hazaña", "hebilla", "hebra", "hecho", "helado", "helio", "hembra", "herir",
15474"hermano", "héroe", "hervir", "hielo", "hierro", "hígado", "higiene", "hijo", "himno", "historia",
15475"hocico", "hogar", "hoguera", "hoja", "hombre", "hongo", "honor", "honra", "hora", "hormiga",
15476"horno", "hostil", "hoyo", "hueco", "huelga", "huerta", "hueso", "huevo", "huida", "huir",
15477"humano", "húmedo", "humilde", "humo", "hundir", "huracán", "hurto", "icono", "ideal", "idioma",
15478"ídolo", "iglesia", "iglú", "igual", "ilegal", "ilusión", "imagen", "imán", "imitar", "impar",
15479"imperio", "imponer", "impulso", "incapaz", "índice", "inerte", "infiel", "informe", "ingenio", "inicio",
15480"inmenso", "inmune", "innato", "insecto", "instante", "interés", "íntimo", "intuir", "inútil", "invierno",
15481"ira", "iris", "ironía", "isla", "islote", "jabalí", "jabón", "jamón", "jarabe", "jardín",
15482"jarra", "jaula", "jazmín", "jefe", "jeringa", "jinete", "jornada", "joroba", "joven", "joya",
15483"juerga", "jueves", "juez", "jugador", "jugo", "juguete", "juicio", "junco", "jungla", "junio",
15484"juntar", "júpiter", "jurar", "justo", "juvenil", "juzgar", "kilo", "koala", "labio", "lacio",
15485"lacra", "lado", "ladrón", "lagarto", "lágrima", "laguna", "laico", "lamer", "lámina", "lámpara",
15486"lana", "lancha", "langosta", "lanza", "lápiz", "largo", "larva", "lástima", "lata", "látex",
15487"latir", "laurel", "lavar", "lazo", "leal", "lección", "leche", "lector", "leer", "legión",
15488"legumbre", "lejano", "lengua", "lento", "leña", "león", "leopardo", "lesión", "letal", "letra",
15489"leve", "leyenda", "libertad", "libro", "licor", "líder", "lidiar", "lienzo", "liga", "ligero",
15490"lima", "límite", "limón", "limpio", "lince", "lindo", "línea", "lingote", "lino", "linterna",
15491"líquido", "liso", "lista", "litera", "litio", "litro", "llaga", "llama", "llanto", "llave",
15492"llegar", "llenar", "llevar", "llorar", "llover", "lluvia", "lobo", "loción", "loco", "locura",
15493"lógica", "logro", "lombriz", "lomo", "lonja", "lote", "lucha", "lucir", "lugar", "lujo",
15494"luna", "lunes", "lupa", "lustro", "luto", "luz", "maceta", "macho", "madera", "madre",
15495"maduro", "maestro", "mafia", "magia", "mago", "maíz", "maldad", "maleta", "malla", "malo",
15496"mamá", "mambo", "mamut", "manco", "mando", "manejar", "manga", "maniquí", "manjar", "mano",
15497"manso", "manta", "mañana", "mapa", "máquina", "mar", "marco", "marea", "marfil", "margen",
15498"marido", "mármol", "marrón", "martes", "marzo", "masa", "máscara", "masivo", "matar", "materia",
15499"matiz", "matriz", "máximo", "mayor", "mazorca", "mecha", "medalla", "medio", "médula", "mejilla",
15500"mejor", "melena", "melón", "memoria", "menor", "mensaje", "mente", "menú", "mercado", "merengue",
15501"mérito", "mes", "mesón", "meta", "meter", "método", "metro", "mezcla", "miedo", "miel",
15502"miembro", "miga", "mil", "milagro", "militar", "millón", "mimo", "mina", "minero", "mínimo",
15503"minuto", "miope", "mirar", "misa", "miseria", "misil", "mismo", "mitad", "mito", "mochila",
15504"moción", "moda", "modelo", "moho", "mojar", "molde", "moler", "molino", "momento", "momia",
15505"monarca", "moneda", "monja", "monto", "moño", "morada", "morder", "moreno", "morir", "morro",
15506"morsa", "mortal", "mosca", "mostrar", "motivo", "mover", "móvil", "mozo", "mucho", "mudar",
15507"mueble", "muela", "muerte", "muestra", "mugre", "mujer", "mula", "muleta", "multa", "mundo",
15508"muñeca", "mural", "muro", "músculo", "museo", "musgo", "música", "muslo", "nácar", "nación",
15509"nadar", "naipe", "naranja", "nariz", "narrar", "nasal", "natal", "nativo", "natural", "náusea",
15510"naval", "nave", "navidad", "necio", "néctar", "negar", "negocio", "negro", "neón", "nervio",
15511"neto", "neutro", "nevar", "nevera", "nicho", "nido", "niebla", "nieto", "niñez", "niño",
15512"nítido", "nivel", "nobleza", "noche", "nómina", "noria", "norma", "norte", "nota", "noticia",
15513"novato", "novela", "novio", "nube", "nuca", "núcleo", "nudillo", "nudo", "nuera", "nueve",
15514"nuez", "nulo", "número", "nutria", "oasis", "obeso", "obispo", "objeto", "obra", "obrero",
15515"observar", "obtener", "obvio", "oca", "ocaso", "océano", "ochenta", "ocho", "ocio", "ocre",
15516"octavo", "octubre", "oculto", "ocupar", "ocurrir", "odiar", "odio", "odisea", "oeste", "ofensa",
15517"oferta", "oficio", "ofrecer", "ogro", "oído", "oír", "ojo", "ola", "oleada", "olfato",
15518"olivo", "olla", "olmo", "olor", "olvido", "ombligo", "onda", "onza", "opaco", "opción",
15519"ópera", "opinar", "oponer", "optar", "óptica", "opuesto", "oración", "orador", "oral", "órbita",
15520"orca", "orden", "oreja", "órgano", "orgía", "orgullo", "oriente", "origen", "orilla", "oro",
15521"orquesta", "oruga", "osadía", "oscuro", "osezno", "oso", "ostra", "otoño", "otro", "oveja",
15522"óvulo", "óxido", "oxígeno", "oyente", "ozono", "pacto", "padre", "paella", "página", "pago",
15523"país", "pájaro", "palabra", "palco", "paleta", "pálido", "palma", "paloma", "palpar", "pan",
15524"panal", "pánico", "pantera", "pañuelo", "papá", "papel", "papilla", "paquete", "parar", "parcela",
15525"pared", "parir", "paro", "párpado", "parque", "párrafo", "parte", "pasar", "paseo", "pasión",
15526"paso", "pasta", "pata", "patio", "patria", "pausa", "pauta", "pavo", "payaso", "peatón",
15527"pecado", "pecera", "pecho", "pedal", "pedir", "pegar", "peine", "pelar", "peldaño", "pelea",
15528"peligro", "pellejo", "pelo", "peluca", "pena", "pensar", "peñón", "peón", "peor", "pepino",
15529"pequeño", "pera", "percha", "perder", "pereza", "perfil", "perico", "perla", "permiso", "perro",
15530"persona", "pesa", "pesca", "pésimo", "pestaña", "pétalo", "petróleo", "pez", "pezuña", "picar",
15531"pichón", "pie", "piedra", "pierna", "pieza", "pijama", "pilar", "piloto", "pimienta", "pino",
15532"pintor", "pinza", "piña", "piojo", "pipa", "pirata", "pisar", "piscina", "piso", "pista",
15533"pitón", "pizca", "placa", "plan", "plata", "playa", "plaza", "pleito", "pleno", "plomo",
15534"pluma", "plural", "pobre", "poco", "poder", "podio", "poema", "poesía", "poeta", "polen",
15535"policía", "pollo", "polvo", "pomada", "pomelo", "pomo", "pompa", "poner", "porción", "portal",
15536"posada", "poseer", "posible", "poste", "potencia", "potro", "pozo", "prado", "precoz", "pregunta",
15537"premio", "prensa", "preso", "previo", "primo", "príncipe", "prisión", "privar", "proa", "probar",
15538"proceso", "producto", "proeza", "profesor", "programa", "prole", "promesa", "pronto", "propio", "próximo",
15539"prueba", "público", "puchero", "pudor", "pueblo", "puerta", "puesto", "pulga", "pulir", "pulmón",
15540"pulpo", "pulso", "puma", "punto", "puñal", "puño", "pupa", "pupila", "puré", "quedar",
15541"queja", "quemar", "querer", "queso", "quieto", "química", "quince", "quitar", "rábano", "rabia",
15542"rabo", "ración", "radical", "raíz", "rama", "rampa", "rancho", "rango", "rapaz", "rápido",
15543"rapto", "rasgo", "raspa", "rato", "rayo", "raza", "razón", "reacción", "realidad", "rebaño",
15544"rebote", "recaer", "receta", "rechazo", "recoger", "recreo", "recto", "recurso", "red", "redondo",
15545"reducir", "reflejo", "reforma", "refrán", "refugio", "regalo", "regir", "regla", "regreso", "rehén",
15546"reino", "reír", "reja", "relato", "relevo", "relieve", "relleno", "reloj", "remar", "remedio",
15547"remo", "rencor", "rendir", "renta", "reparto", "repetir", "reposo", "reptil", "res", "rescate",
15548"resina", "respeto", "resto", "resumen", "retiro", "retorno", "retrato", "reunir", "revés", "revista",
15549"rey", "rezar", "rico", "riego", "rienda", "riesgo", "rifa", "rígido", "rigor", "rincón",
15550"riñón", "río", "riqueza", "risa", "ritmo", "rito", "rizo", "roble", "roce", "rociar",
15551"rodar", "rodeo", "rodilla", "roer", "rojizo", "rojo", "romero", "romper", "ron", "ronco",
15552"ronda", "ropa", "ropero", "rosa", "rosca", "rostro", "rotar", "rubí", "rubor", "rudo",
15553"rueda", "rugir", "ruido", "ruina", "ruleta", "rulo", "rumbo", "rumor", "ruptura", "ruta",
15554"rutina", "sábado", "saber", "sabio", "sable", "sacar", "sagaz", "sagrado", "sala", "saldo",
15555"salero", "salir", "salmón", "salón", "salsa", "salto", "salud", "salvar", "samba", "sanción",
15556"sandía", "sanear", "sangre", "sanidad", "sano", "santo", "sapo", "saque", "sardina", "sartén",
15557"sastre", "satán", "sauna", "saxofón", "sección", "seco", "secreto", "secta", "sed", "seguir",
15558"seis", "sello", "selva", "semana", "semilla", "senda", "sensor", "señal", "señor", "separar",
15559"sepia", "sequía", "ser", "serie", "sermón", "servir", "sesenta", "sesión", "seta", "setenta",
15560"severo", "sexo", "sexto", "sidra", "siesta", "siete", "siglo", "signo", "sílaba", "silbar",
15561"silencio", "silla", "símbolo", "simio", "sirena", "sistema", "sitio", "situar", "sobre", "socio",
15562"sodio", "sol", "solapa", "soldado", "soledad", "sólido", "soltar", "solución", "sombra", "sondeo",
15563"sonido", "sonoro", "sonrisa", "sopa", "soplar", "soporte", "sordo", "sorpresa", "sorteo", "sostén",
15564"sótano", "suave", "subir", "suceso", "sudor", "suegra", "suelo", "sueño", "suerte", "sufrir",
15565"sujeto", "sultán", "sumar", "superar", "suplir", "suponer", "supremo", "sur", "surco", "sureño",
15566"surgir", "susto", "sutil", "tabaco", "tabique", "tabla", "tabú", "taco", "tacto", "tajo",
15567"talar", "talco", "talento", "talla", "talón", "tamaño", "tambor", "tango", "tanque", "tapa",
15568"tapete", "tapia", "tapón", "taquilla", "tarde", "tarea", "tarifa", "tarjeta", "tarot", "tarro",
15569"tarta", "tatuaje", "tauro", "taza", "tazón", "teatro", "techo", "tecla", "técnica", "tejado",
15570"tejer", "tejido", "tela", "teléfono", "tema", "temor", "templo", "tenaz", "tender", "tener",
15571"tenis", "tenso", "teoría", "terapia", "terco", "término", "ternura", "terror", "tesis", "tesoro",
15572"testigo", "tetera", "texto", "tez", "tibio", "tiburón", "tiempo", "tienda", "tierra", "tieso",
15573"tigre", "tijera", "tilde", "timbre", "tímido", "timo", "tinta", "tío", "típico", "tipo",
15574"tira", "tirón", "titán", "títere", "título", "tiza", "toalla", "tobillo", "tocar", "tocino",
15575"todo", "toga", "toldo", "tomar", "tono", "tonto", "topar", "tope", "toque", "tórax",
15576"torero", "tormenta", "torneo", "toro", "torpedo", "torre", "torso", "tortuga", "tos", "tosco",
15577"toser", "tóxico", "trabajo", "tractor", "traer", "tráfico", "trago", "traje", "tramo", "trance",
15578"trato", "trauma", "trazar", "trébol", "tregua", "treinta", "tren", "trepar", "tres", "tribu",
15579"trigo", "tripa", "triste", "triunfo", "trofeo", "trompa", "tronco", "tropa", "trote", "trozo",
15580"truco", "trueno", "trufa", "tubería", "tubo", "tuerto", "tumba", "tumor", "túnel", "túnica",
15581"turbina", "turismo", "turno", "tutor", "ubicar", "úlcera", "umbral", "unidad", "unir", "universo",
15582"uno", "untar", "uña", "urbano", "urbe", "urgente", "urna", "usar", "usuario", "útil",
15583"utopía", "uva", "vaca", "vacío", "vacuna", "vagar", "vago", "vaina", "vajilla", "vale",
15584"válido", "valle", "valor", "válvula", "vampiro", "vara", "variar", "varón", "vaso", "vecino",
15585"vector", "vehículo", "veinte", "vejez", "vela", "velero", "veloz", "vena", "vencer", "venda",
15586"veneno", "vengar", "venir", "venta", "venus", "ver", "verano", "verbo", "verde", "vereda",
15587"verja", "verso", "verter", "vía", "viaje", "vibrar", "vicio", "víctima", "vida", "vídeo",
15588"vidrio", "viejo", "viernes", "vigor", "vil", "villa", "vinagre", "vino", "viñedo", "violín",
15589"viral", "virgo", "virtud", "visor", "víspera", "vista", "vitamina", "viudo", "vivaz", "vivero",
15590"vivir", "vivo", "volcán", "volumen", "volver", "voraz", "votar", "voto", "voz", "vuelo",
15591"vulgar", "yacer", "yate", "yegua", "yema", "yerno", "yeso", "yodo", "yoga", "yogur",
15592"zafiro", "zanja", "zapato", "zarza", "zona", "zorro", "zumo", "zurdo"]
15593</script>
15594 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15595WORDLISTS["chinese_simplified"] = [
15596"的", "一", "是", "在", "不", "了", "有", "和", "人", "这",
15597"中", "大", "为", "上", "个", "国", "我", "以", "要", "他",
15598"时", "来", "用", "们", "生", "到", "作", "地", "于", "出",
15599"就", "分", "对", "成", "会", "可", "主", "发", "年", "动",
15600"同", "工", "也", "能", "下", "过", "子", "说", "产", "种",
15601"面", "而", "方", "后", "多", "定", "行", "学", "法", "所",
15602"民", "得", "经", "十", "三", "之", "进", "着", "等", "部",
15603"度", "家", "电", "力", "里", "如", "水", "化", "高", "自",
15604"二", "理", "起", "小", "物", "现", "实", "加", "量", "都",
15605"两", "体", "制", "机", "当", "使", "点", "从", "业", "本",
15606"去", "把", "性", "好", "应", "开", "它", "合", "还", "因",
15607"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15608"那", "社", "义", "事", "平", "形", "相", "全", "表", "间",
15609"样", "与", "关", "各", "重", "新", "线", "内", "数", "正",
15610"心", "反", "你", "明", "看", "原", "又", "么", "利", "比",
15611"或", "但", "质", "气", "第", "向", "道", "命", "此", "变",
15612"条", "只", "没", "结", "解", "问", "意", "建", "月", "公",
15613"无", "系", "军", "很", "情", "者", "最", "立", "代", "想",
15614"已", "通", "并", "提", "直", "题", "党", "程", "展", "五",
15615"果", "料", "象", "员", "革", "位", "入", "常", "文", "总",
15616"次", "品", "式", "活", "设", "及", "管", "特", "件", "长",
15617"求", "老", "头", "基", "资", "边", "流", "路", "级", "少",
15618"图", "山", "统", "接", "知", "较", "将", "组", "见", "计",
15619"别", "她", "手", "角", "期", "根", "论", "运", "农", "指",
15620"几", "九", "区", "强", "放", "决", "西", "被", "干", "做",
15621"必", "战", "先", "回", "则", "任", "取", "据", "处", "队",
15622"南", "给", "色", "光", "门", "即", "保", "治", "北", "造",
15623"百", "规", "热", "领", "七", "海", "口", "东", "导", "器",
15624"压", "志", "世", "金", "增", "争", "济", "阶", "油", "思",
15625"术", "极", "交", "受", "联", "什", "认", "六", "共", "权",
15626"收", "证", "改", "清", "美", "再", "采", "转", "更", "单",
15627"风", "切", "打", "白", "教", "速", "花", "带", "安", "场",
15628"身", "车", "例", "真", "务", "具", "万", "每", "目", "至",
15629"达", "走", "积", "示", "议", "声", "报", "斗", "完", "类",
15630"八", "离", "华", "名", "确", "才", "科", "张", "信", "马",
15631"节", "话", "米", "整", "空", "元", "况", "今", "集", "温",
15632"传", "土", "许", "步", "群", "广", "石", "记", "需", "段",
15633"研", "界", "拉", "林", "律", "叫", "且", "究", "观", "越",
15634"织", "装", "影", "算", "低", "持", "音", "众", "书", "布",
15635"复", "容", "儿", "须", "际", "商", "非", "验", "连", "断",
15636"深", "难", "近", "矿", "千", "周", "委", "素", "技", "备",
15637"半", "办", "青", "省", "列", "习", "响", "约", "支", "般",
15638"史", "感", "劳", "便", "团", "往", "酸", "历", "市", "克",
15639"何", "除", "消", "构", "府", "称", "太", "准", "精", "值",
15640"号", "率", "族", "维", "划", "选", "标", "写", "存", "候",
15641"毛", "亲", "快", "效", "斯", "院", "查", "江", "型", "眼",
15642"王", "按", "格", "养", "易", "置", "派", "层", "片", "始",
15643"却", "专", "状", "育", "厂", "京", "识", "适", "属", "圆",
15644"包", "火", "住", "调", "满", "县", "局", "照", "参", "红",
15645"细", "引", "听", "该", "铁", "价", "严", "首", "底", "液",
15646"官", "德", "随", "病", "苏", "失", "尔", "死", "讲", "配",
15647"女", "黄", "推", "显", "谈", "罪", "神", "艺", "呢", "席",
15648"含", "企", "望", "密", "批", "营", "项", "防", "举", "球",
15649"英", "氧", "势", "告", "李", "台", "落", "木", "帮", "轮",
15650"破", "亚", "师", "围", "注", "远", "字", "材", "排", "供",
15651"河", "态", "封", "另", "施", "减", "树", "溶", "怎", "止",
15652"案", "言", "士", "均", "武", "固", "叶", "鱼", "波", "视",
15653"仅", "费", "紧", "爱", "左", "章", "早", "朝", "害", "续",
15654"轻", "服", "试", "食", "充", "兵", "源", "判", "护", "司",
15655"足", "某", "练", "差", "致", "板", "田", "降", "黑", "犯",
15656"负", "击", "范", "继", "兴", "似", "余", "坚", "曲", "输",
15657"修", "故", "城", "夫", "够", "送", "笔", "船", "占", "右",
15658"财", "吃", "富", "春", "职", "觉", "汉", "画", "功", "巴",
15659"跟", "虽", "杂", "飞", "检", "吸", "助", "升", "阳", "互",
15660"初", "创", "抗", "考", "投", "坏", "策", "古", "径", "换",
15661"未", "跑", "留", "钢", "曾", "端", "责", "站", "简", "述",
15662"钱", "副", "尽", "帝", "射", "草", "冲", "承", "独", "令",
15663"限", "阿", "宣", "环", "双", "请", "超", "微", "让", "控",
15664"州", "良", "轴", "找", "否", "纪", "益", "依", "优", "顶",
15665"础", "载", "倒", "房", "突", "坐", "粉", "敌", "略", "客",
15666"袁", "冷", "胜", "绝", "析", "块", "剂", "测", "丝", "协",
15667"诉", "念", "陈", "仍", "罗", "盐", "友", "洋", "错", "苦",
15668"夜", "刑", "移", "频", "逐", "靠", "混", "母", "短", "皮",
15669"终", "聚", "汽", "村", "云", "哪", "既", "距", "卫", "停",
15670"烈", "央", "察", "烧", "迅", "境", "若", "印", "洲", "刻",
15671"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15672"侵", "吧", "甲", "游", "久", "菜", "味", "旧", "模", "湖",
15673"货", "损", "预", "阻", "毫", "普", "稳", "乙", "妈", "植",
15674"息", "扩", "银", "语", "挥", "酒", "守", "拿", "序", "纸",
15675"医", "缺", "雨", "吗", "针", "刘", "啊", "急", "唱", "误",
15676"训", "愿", "审", "附", "获", "茶", "鲜", "粮", "斤", "孩",
15677"脱", "硫", "肥", "善", "龙", "演", "父", "渐", "血", "欢",
15678"械", "掌", "歌", "沙", "刚", "攻", "谓", "盾", "讨", "晚",
15679"粒", "乱", "燃", "矛", "乎", "杀", "药", "宁", "鲁", "贵",
15680"钟", "煤", "读", "班", "伯", "香", "介", "迫", "句", "丰",
15681"培", "握", "兰", "担", "弦", "蛋", "沉", "假", "穿", "执",
15682"答", "乐", "谁", "顺", "烟", "缩", "征", "脸", "喜", "松",
15683"脚", "困", "异", "免", "背", "星", "福", "买", "染", "井",
15684"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "静", "补",
15685"评", "翻", "肉", "践", "尼", "衣", "宽", "扬", "棉", "希",
15686"伤", "操", "垂", "秋", "宜", "氢", "套", "督", "振", "架",
15687"亮", "末", "宪", "庆", "编", "牛", "触", "映", "雷", "销",
15688"诗", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15689"绿", "晶", "厚", "盟", "衡", "鸡", "孙", "延", "危", "胶",
15690"屋", "乡", "临", "陆", "顾", "掉", "呀", "灯", "岁", "措",
15691"束", "耐", "剧", "玉", "赵", "跳", "哥", "季", "课", "凯",
15692"胡", "额", "款", "绍", "卷", "齐", "伟", "蒸", "殖", "永",
15693"宗", "苗", "川", "炉", "岩", "弱", "零", "杨", "奏", "沿",
15694"露", "杆", "探", "滑", "镇", "饭", "浓", "航", "怀", "赶",
15695"库", "夺", "伊", "灵", "税", "途", "灭", "赛", "归", "召",
15696"鼓", "播", "盘", "裁", "险", "康", "唯", "录", "菌", "纯",
15697"借", "糖", "盖", "横", "符", "私", "努", "堂", "域", "枪",
15698"润", "幅", "哈", "竟", "熟", "虫", "泽", "脑", "壤", "碳",
15699"欧", "遍", "侧", "寨", "敢", "彻", "虑", "斜", "薄", "庭",
15700"纳", "弹", "饲", "伸", "折", "麦", "湿", "暗", "荷", "瓦",
15701"塞", "床", "筑", "恶", "户", "访", "塔", "奇", "透", "梁",
15702"刀", "旋", "迹", "卡", "氯", "遇", "份", "毒", "泥", "退",
15703"洗", "摆", "灰", "彩", "卖", "耗", "夏", "择", "忙", "铜",
15704"献", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15705"阵", "阴", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15706"楼", "避", "谋", "吨", "野", "猪", "旗", "累", "偏", "典",
15707"馆", "索", "秦", "脂", "潮", "爷", "豆", "忽", "托", "惊",
15708"塑", "遗", "愈", "朱", "替", "纤", "粗", "倾", "尚", "痛",
15709"楚", "谢", "奋", "购", "磨", "君", "池", "旁", "碎", "骨",
15710"监", "捕", "弟", "暴", "割", "贯", "殊", "释", "词", "亡",
15711"壁", "顿", "宝", "午", "尘", "闻", "揭", "炮", "残", "冬",
15712"桥", "妇", "警", "综", "招", "吴", "付", "浮", "遭", "徐",
15713"您", "摇", "谷", "赞", "箱", "隔", "订", "男", "吹", "园",
15714"纷", "唐", "败", "宋", "玻", "巨", "耕", "坦", "荣", "闭",
15715"湾", "键", "凡", "驻", "锅", "救", "恩", "剥", "凝", "碱",
15716"齿", "截", "炼", "麻", "纺", "禁", "废", "盛", "版", "缓",
15717"净", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15718"庄", "街", "藏", "姑", "贸", "腐", "奴", "啦", "惯", "乘",
15719"伙", "恢", "匀", "纱", "扎", "辩", "耳", "彪", "臣", "亿",
15720"璃", "抵", "脉", "秀", "萨", "俄", "网", "舞", "店", "喷",
15721"纵", "寸", "汗", "挂", "洪", "贺", "闪", "柬", "爆", "烯",
15722"津", "稻", "墙", "软", "勇", "像", "滚", "厘", "蒙", "芳",
15723"肯", "坡", "柱", "荡", "腿", "仪", "旅", "尾", "轧", "冰",
15724"贡", "登", "黎", "削", "钻", "勒", "逃", "障", "氨", "郭",
15725"峰", "币", "港", "伏", "轨", "亩", "毕", "擦", "莫", "刺",
15726"浪", "秘", "援", "株", "健", "售", "股", "岛", "甘", "泡",
15727"睡", "童", "铸", "汤", "阀", "休", "汇", "舍", "牧", "绕",
15728"炸", "哲", "磷", "绩", "朋", "淡", "尖", "启", "陷", "柴",
15729"呈", "徒", "颜", "泪", "稍", "忘", "泵", "蓝", "拖", "洞",
15730"授", "镜", "辛", "壮", "锋", "贫", "虚", "弯", "摩", "泰",
15731"幼", "廷", "尊", "窗", "纲", "弄", "隶", "疑", "氏", "宫",
15732"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "违",
15733"夹", "腰", "缘", "珠", "穷", "森", "枝", "竹", "沟", "催",
15734"绳", "忆", "邦", "剩", "幸", "浆", "栏", "拥", "牙", "贮",
15735"礼", "滤", "钠", "纹", "罢", "拍", "咱", "喊", "袖", "埃",
15736"勤", "罚", "焦", "潜", "伍", "墨", "欲", "缝", "姓", "刊",
15737"饱", "仿", "奖", "铝", "鬼", "丽", "跨", "默", "挖", "链",
15738"扫", "喝", "袋", "炭", "污", "幕", "诸", "弧", "励", "梅",
15739"奶", "洁", "灾", "舟", "鉴", "苯", "讼", "抱", "毁", "懂",
15740"寒", "智", "埔", "寄", "届", "跃", "渡", "挑", "丹", "艰",
15741"贝", "碰", "拔", "爹", "戴", "码", "梦", "芽", "熔", "赤",
15742"渔", "哭", "敬", "颗", "奔", "铅", "仲", "虎", "稀", "妹",
15743"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "仓", "魏",
15744"锐", "晓", "氮", "兼", "隐", "碍", "赫", "拨", "忠", "肃",
15745"缸", "牵", "抢", "博", "巧", "壳", "兄", "杜", "讯", "诚",
15746"碧", "祥", "柯", "页", "巡", "矩", "悲", "灌", "龄", "伦",
15747"票", "寻", "桂", "铺", "圣", "恐", "恰", "郑", "趣", "抬",
15748"荒", "腾", "贴", "柔", "滴", "猛", "阔", "辆", "妻", "填",
15749"撤", "储", "签", "闹", "扰", "紫", "砂", "递", "戏", "吊",
15750"陶", "伐", "喂", "疗", "瓶", "婆", "抚", "臂", "摸", "忍",
15751"虾", "蜡", "邻", "胸", "巩", "挤", "偶", "弃", "槽", "劲",
15752"乳", "邓", "吉", "仁", "烂", "砖", "租", "乌", "舰", "伴",
15753"瓜", "浅", "丙", "暂", "燥", "橡", "柳", "迷", "暖", "牌",
15754"秧", "胆", "详", "簧", "踏", "瓷", "谱", "呆", "宾", "糊",
15755"洛", "辉", "愤", "竞", "隙", "怒", "粘", "乃", "绪", "肩",
15756"籍", "敏", "涂", "熙", "皆", "侦", "悬", "掘", "享", "纠",
15757"醒", "狂", "锁", "淀", "恨", "牲", "霸", "爬", "赏", "逆",
15758"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鸭",
15759"趋", "凤", "晨", "畜", "辈", "秩", "卵", "署", "梯", "炎",
15760"滩", "棋", "驱", "筛", "峡", "冒", "啥", "寿", "译", "浸",
15761"泉", "帽", "迟", "硅", "疆", "贷", "漏", "稿", "冠", "嫩",
15762"胁", "芯", "牢", "叛", "蚀", "奥", "鸣", "岭", "羊", "凭",
15763"串", "塘", "绘", "酵", "融", "盆", "锡", "庙", "筹", "冻",
15764"辅", "摄", "袭", "筋", "拒", "僚", "旱", "钾", "鸟", "漆",
15765"沈", "眉", "疏", "添", "棒", "穗", "硝", "韩", "逼", "扭",
15766"侨", "凉", "挺", "碗", "栽", "炒", "杯", "患", "馏", "劝",
15767"豪", "辽", "勃", "鸿", "旦", "吏", "拜", "狗", "埋", "辊",
15768"掩", "饮", "搬", "骂", "辞", "勾", "扣", "估", "蒋", "绒",
15769"雾", "丈", "朵", "姆", "拟", "宇", "辑", "陕", "雕", "偿",
15770"蓄", "崇", "剪", "倡", "厅", "咬", "驶", "薯", "刷", "斥",
15771"番", "赋", "奉", "佛", "浇", "漫", "曼", "扇", "钙", "桃",
15772"扶", "仔", "返", "俗", "亏", "腔", "鞋", "棱", "覆", "框",
15773"悄", "叔", "撞", "骗", "勘", "旺", "沸", "孤", "吐", "孟",
15774"渠", "屈", "疾", "妙", "惜", "仰", "狠", "胀", "谐", "抛",
15775"霉", "桑", "岗", "嘛", "衰", "盗", "渗", "脏", "赖", "涌",
15776"甜", "曹", "阅", "肌", "哩", "厉", "烃", "纬", "毅", "昨",
15777"伪", "症", "煮", "叹", "钉", "搭", "茎", "笼", "酷", "偷",
15778"弓", "锥", "恒", "杰", "坑", "鼻", "翼", "纶", "叙", "狱",
15779"逮", "罐", "络", "棚", "抑", "膨", "蔬", "寺", "骤", "穆",
15780"冶", "枯", "册", "尸", "凸", "绅", "坯", "牺", "焰", "轰",
15781"欣", "晋", "瘦", "御", "锭", "锦", "丧", "旬", "锻", "垄",
15782"搜", "扑", "邀", "亭", "酯", "迈", "舒", "脆", "酶", "闲",
15783"忧", "酚", "顽", "羽", "涨", "卸", "仗", "陪", "辟", "惩",
15784"杭", "姚", "肚", "捉", "飘", "漂", "昆", "欺", "吾", "郎",
15785"烷", "汁", "呵", "饰", "萧", "雅", "邮", "迁", "燕", "撒",
15786"姻", "赴", "宴", "烦", "债", "帐", "斑", "铃", "旨", "醇",
15787"董", "饼", "雏", "姿", "拌", "傅", "腹", "妥", "揉", "贤",
15788"拆", "歪", "葡", "胺", "丢", "浩", "徽", "昂", "垫", "挡",
15789"览", "贪", "慰", "缴", "汪", "慌", "冯", "诺", "姜", "谊",
15790"凶", "劣", "诬", "耀", "昏", "躺", "盈", "骑", "乔", "溪",
15791"丛", "卢", "抹", "闷", "咨", "刮", "驾", "缆", "悟", "摘",
15792"铒", "掷", "颇", "幻", "柄", "惠", "惨", "佳", "仇", "腊",
15793"窝", "涤", "剑", "瞧", "堡", "泼", "葱", "罩", "霍", "捞",
15794"胎", "苍", "滨", "俩", "捅", "湘", "砍", "霞", "邵", "萄",
15795"疯", "淮", "遂", "熊", "粪", "烘", "宿", "档", "戈", "驳",
15796"嫂", "裕", "徙", "箭", "捐", "肠", "撑", "晒", "辨", "殿",
15797"莲", "摊", "搅", "酱", "屏", "疫", "哀", "蔡", "堵", "沫",
15798"皱", "畅", "叠", "阁", "莱", "敲", "辖", "钩", "痕", "坝",
15799"巷", "饿", "祸", "丘", "玄", "溜", "曰", "逻", "彭", "尝",
15800"卿", "妨", "艇", "吞", "韦", "怨", "矮", "歇" ]
15801</script>
15802 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15803WORDLISTS["chinese_traditional"] = [
15804"的", "一", "是", "在", "不", "了", "有", "和", "人", "這",
15805"中", "大", "為", "上", "個", "國", "我", "以", "要", "他",
15806"時", "來", "用", "們", "生", "到", "作", "地", "於", "出",
15807"就", "分", "對", "成", "會", "可", "主", "發", "年", "動",
15808"同", "工", "也", "能", "下", "過", "子", "說", "產", "種",
15809"面", "而", "方", "後", "多", "定", "行", "學", "法", "所",
15810"民", "得", "經", "十", "三", "之", "進", "著", "等", "部",
15811"度", "家", "電", "力", "裡", "如", "水", "化", "高", "自",
15812"二", "理", "起", "小", "物", "現", "實", "加", "量", "都",
15813"兩", "體", "制", "機", "當", "使", "點", "從", "業", "本",
15814"去", "把", "性", "好", "應", "開", "它", "合", "還", "因",
15815"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15816"那", "社", "義", "事", "平", "形", "相", "全", "表", "間",
15817"樣", "與", "關", "各", "重", "新", "線", "內", "數", "正",
15818"心", "反", "你", "明", "看", "原", "又", "麼", "利", "比",
15819"或", "但", "質", "氣", "第", "向", "道", "命", "此", "變",
15820"條", "只", "沒", "結", "解", "問", "意", "建", "月", "公",
15821"無", "系", "軍", "很", "情", "者", "最", "立", "代", "想",
15822"已", "通", "並", "提", "直", "題", "黨", "程", "展", "五",
15823"果", "料", "象", "員", "革", "位", "入", "常", "文", "總",
15824"次", "品", "式", "活", "設", "及", "管", "特", "件", "長",
15825"求", "老", "頭", "基", "資", "邊", "流", "路", "級", "少",
15826"圖", "山", "統", "接", "知", "較", "將", "組", "見", "計",
15827"別", "她", "手", "角", "期", "根", "論", "運", "農", "指",
15828"幾", "九", "區", "強", "放", "決", "西", "被", "幹", "做",
15829"必", "戰", "先", "回", "則", "任", "取", "據", "處", "隊",
15830"南", "給", "色", "光", "門", "即", "保", "治", "北", "造",
15831"百", "規", "熱", "領", "七", "海", "口", "東", "導", "器",
15832"壓", "志", "世", "金", "增", "爭", "濟", "階", "油", "思",
15833"術", "極", "交", "受", "聯", "什", "認", "六", "共", "權",
15834"收", "證", "改", "清", "美", "再", "採", "轉", "更", "單",
15835"風", "切", "打", "白", "教", "速", "花", "帶", "安", "場",
15836"身", "車", "例", "真", "務", "具", "萬", "每", "目", "至",
15837"達", "走", "積", "示", "議", "聲", "報", "鬥", "完", "類",
15838"八", "離", "華", "名", "確", "才", "科", "張", "信", "馬",
15839"節", "話", "米", "整", "空", "元", "況", "今", "集", "溫",
15840"傳", "土", "許", "步", "群", "廣", "石", "記", "需", "段",
15841"研", "界", "拉", "林", "律", "叫", "且", "究", "觀", "越",
15842"織", "裝", "影", "算", "低", "持", "音", "眾", "書", "布",
15843"复", "容", "兒", "須", "際", "商", "非", "驗", "連", "斷",
15844"深", "難", "近", "礦", "千", "週", "委", "素", "技", "備",
15845"半", "辦", "青", "省", "列", "習", "響", "約", "支", "般",
15846"史", "感", "勞", "便", "團", "往", "酸", "歷", "市", "克",
15847"何", "除", "消", "構", "府", "稱", "太", "準", "精", "值",
15848"號", "率", "族", "維", "劃", "選", "標", "寫", "存", "候",
15849"毛", "親", "快", "效", "斯", "院", "查", "江", "型", "眼",
15850"王", "按", "格", "養", "易", "置", "派", "層", "片", "始",
15851"卻", "專", "狀", "育", "廠", "京", "識", "適", "屬", "圓",
15852"包", "火", "住", "調", "滿", "縣", "局", "照", "參", "紅",
15853"細", "引", "聽", "該", "鐵", "價", "嚴", "首", "底", "液",
15854"官", "德", "隨", "病", "蘇", "失", "爾", "死", "講", "配",
15855"女", "黃", "推", "顯", "談", "罪", "神", "藝", "呢", "席",
15856"含", "企", "望", "密", "批", "營", "項", "防", "舉", "球",
15857"英", "氧", "勢", "告", "李", "台", "落", "木", "幫", "輪",
15858"破", "亞", "師", "圍", "注", "遠", "字", "材", "排", "供",
15859"河", "態", "封", "另", "施", "減", "樹", "溶", "怎", "止",
15860"案", "言", "士", "均", "武", "固", "葉", "魚", "波", "視",
15861"僅", "費", "緊", "愛", "左", "章", "早", "朝", "害", "續",
15862"輕", "服", "試", "食", "充", "兵", "源", "判", "護", "司",
15863"足", "某", "練", "差", "致", "板", "田", "降", "黑", "犯",
15864"負", "擊", "范", "繼", "興", "似", "餘", "堅", "曲", "輸",
15865"修", "故", "城", "夫", "夠", "送", "筆", "船", "佔", "右",
15866"財", "吃", "富", "春", "職", "覺", "漢", "畫", "功", "巴",
15867"跟", "雖", "雜", "飛", "檢", "吸", "助", "昇", "陽", "互",
15868"初", "創", "抗", "考", "投", "壞", "策", "古", "徑", "換",
15869"未", "跑", "留", "鋼", "曾", "端", "責", "站", "簡", "述",
15870"錢", "副", "盡", "帝", "射", "草", "衝", "承", "獨", "令",
15871"限", "阿", "宣", "環", "雙", "請", "超", "微", "讓", "控",
15872"州", "良", "軸", "找", "否", "紀", "益", "依", "優", "頂",
15873"礎", "載", "倒", "房", "突", "坐", "粉", "敵", "略", "客",
15874"袁", "冷", "勝", "絕", "析", "塊", "劑", "測", "絲", "協",
15875"訴", "念", "陳", "仍", "羅", "鹽", "友", "洋", "錯", "苦",
15876"夜", "刑", "移", "頻", "逐", "靠", "混", "母", "短", "皮",
15877"終", "聚", "汽", "村", "雲", "哪", "既", "距", "衛", "停",
15878"烈", "央", "察", "燒", "迅", "境", "若", "印", "洲", "刻",
15879"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15880"侵", "吧", "甲", "遊", "久", "菜", "味", "舊", "模", "湖",
15881"貨", "損", "預", "阻", "毫", "普", "穩", "乙", "媽", "植",
15882"息", "擴", "銀", "語", "揮", "酒", "守", "拿", "序", "紙",
15883"醫", "缺", "雨", "嗎", "針", "劉", "啊", "急", "唱", "誤",
15884"訓", "願", "審", "附", "獲", "茶", "鮮", "糧", "斤", "孩",
15885"脫", "硫", "肥", "善", "龍", "演", "父", "漸", "血", "歡",
15886"械", "掌", "歌", "沙", "剛", "攻", "謂", "盾", "討", "晚",
15887"粒", "亂", "燃", "矛", "乎", "殺", "藥", "寧", "魯", "貴",
15888"鐘", "煤", "讀", "班", "伯", "香", "介", "迫", "句", "豐",
15889"培", "握", "蘭", "擔", "弦", "蛋", "沉", "假", "穿", "執",
15890"答", "樂", "誰", "順", "煙", "縮", "徵", "臉", "喜", "松",
15891"腳", "困", "異", "免", "背", "星", "福", "買", "染", "井",
15892"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "靜", "補",
15893"評", "翻", "肉", "踐", "尼", "衣", "寬", "揚", "棉", "希",
15894"傷", "操", "垂", "秋", "宜", "氫", "套", "督", "振", "架",
15895"亮", "末", "憲", "慶", "編", "牛", "觸", "映", "雷", "銷",
15896"詩", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15897"綠", "晶", "厚", "盟", "衡", "雞", "孫", "延", "危", "膠",
15898"屋", "鄉", "臨", "陸", "顧", "掉", "呀", "燈", "歲", "措",
15899"束", "耐", "劇", "玉", "趙", "跳", "哥", "季", "課", "凱",
15900"胡", "額", "款", "紹", "卷", "齊", "偉", "蒸", "殖", "永",
15901"宗", "苗", "川", "爐", "岩", "弱", "零", "楊", "奏", "沿",
15902"露", "桿", "探", "滑", "鎮", "飯", "濃", "航", "懷", "趕",
15903"庫", "奪", "伊", "靈", "稅", "途", "滅", "賽", "歸", "召",
15904"鼓", "播", "盤", "裁", "險", "康", "唯", "錄", "菌", "純",
15905"借", "糖", "蓋", "橫", "符", "私", "努", "堂", "域", "槍",
15906"潤", "幅", "哈", "竟", "熟", "蟲", "澤", "腦", "壤", "碳",
15907"歐", "遍", "側", "寨", "敢", "徹", "慮", "斜", "薄", "庭",
15908"納", "彈", "飼", "伸", "折", "麥", "濕", "暗", "荷", "瓦",
15909"塞", "床", "築", "惡", "戶", "訪", "塔", "奇", "透", "梁",
15910"刀", "旋", "跡", "卡", "氯", "遇", "份", "毒", "泥", "退",
15911"洗", "擺", "灰", "彩", "賣", "耗", "夏", "擇", "忙", "銅",
15912"獻", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15913"陣", "陰", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15914"樓", "避", "謀", "噸", "野", "豬", "旗", "累", "偏", "典",
15915"館", "索", "秦", "脂", "潮", "爺", "豆", "忽", "托", "驚",
15916"塑", "遺", "愈", "朱", "替", "纖", "粗", "傾", "尚", "痛",
15917"楚", "謝", "奮", "購", "磨", "君", "池", "旁", "碎", "骨",
15918"監", "捕", "弟", "暴", "割", "貫", "殊", "釋", "詞", "亡",
15919"壁", "頓", "寶", "午", "塵", "聞", "揭", "炮", "殘", "冬",
15920"橋", "婦", "警", "綜", "招", "吳", "付", "浮", "遭", "徐",
15921"您", "搖", "谷", "贊", "箱", "隔", "訂", "男", "吹", "園",
15922"紛", "唐", "敗", "宋", "玻", "巨", "耕", "坦", "榮", "閉",
15923"灣", "鍵", "凡", "駐", "鍋", "救", "恩", "剝", "凝", "鹼",
15924"齒", "截", "煉", "麻", "紡", "禁", "廢", "盛", "版", "緩",
15925"淨", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15926"莊", "街", "藏", "姑", "貿", "腐", "奴", "啦", "慣", "乘",
15927"夥", "恢", "勻", "紗", "扎", "辯", "耳", "彪", "臣", "億",
15928"璃", "抵", "脈", "秀", "薩", "俄", "網", "舞", "店", "噴",
15929"縱", "寸", "汗", "掛", "洪", "賀", "閃", "柬", "爆", "烯",
15930"津", "稻", "牆", "軟", "勇", "像", "滾", "厘", "蒙", "芳",
15931"肯", "坡", "柱", "盪", "腿", "儀", "旅", "尾", "軋", "冰",
15932"貢", "登", "黎", "削", "鑽", "勒", "逃", "障", "氨", "郭",
15933"峰", "幣", "港", "伏", "軌", "畝", "畢", "擦", "莫", "刺",
15934"浪", "秘", "援", "株", "健", "售", "股", "島", "甘", "泡",
15935"睡", "童", "鑄", "湯", "閥", "休", "匯", "舍", "牧", "繞",
15936"炸", "哲", "磷", "績", "朋", "淡", "尖", "啟", "陷", "柴",
15937"呈", "徒", "顏", "淚", "稍", "忘", "泵", "藍", "拖", "洞",
15938"授", "鏡", "辛", "壯", "鋒", "貧", "虛", "彎", "摩", "泰",
15939"幼", "廷", "尊", "窗", "綱", "弄", "隸", "疑", "氏", "宮",
15940"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "違",
15941"夾", "腰", "緣", "珠", "窮", "森", "枝", "竹", "溝", "催",
15942"繩", "憶", "邦", "剩", "幸", "漿", "欄", "擁", "牙", "貯",
15943"禮", "濾", "鈉", "紋", "罷", "拍", "咱", "喊", "袖", "埃",
15944"勤", "罰", "焦", "潛", "伍", "墨", "欲", "縫", "姓", "刊",
15945"飽", "仿", "獎", "鋁", "鬼", "麗", "跨", "默", "挖", "鏈",
15946"掃", "喝", "袋", "炭", "污", "幕", "諸", "弧", "勵", "梅",
15947"奶", "潔", "災", "舟", "鑑", "苯", "訟", "抱", "毀", "懂",
15948"寒", "智", "埔", "寄", "屆", "躍", "渡", "挑", "丹", "艱",
15949"貝", "碰", "拔", "爹", "戴", "碼", "夢", "芽", "熔", "赤",
15950"漁", "哭", "敬", "顆", "奔", "鉛", "仲", "虎", "稀", "妹",
15951"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "倉", "魏",
15952"銳", "曉", "氮", "兼", "隱", "礙", "赫", "撥", "忠", "肅",
15953"缸", "牽", "搶", "博", "巧", "殼", "兄", "杜", "訊", "誠",
15954"碧", "祥", "柯", "頁", "巡", "矩", "悲", "灌", "齡", "倫",
15955"票", "尋", "桂", "鋪", "聖", "恐", "恰", "鄭", "趣", "抬",
15956"荒", "騰", "貼", "柔", "滴", "猛", "闊", "輛", "妻", "填",
15957"撤", "儲", "簽", "鬧", "擾", "紫", "砂", "遞", "戲", "吊",
15958"陶", "伐", "餵", "療", "瓶", "婆", "撫", "臂", "摸", "忍",
15959"蝦", "蠟", "鄰", "胸", "鞏", "擠", "偶", "棄", "槽", "勁",
15960"乳", "鄧", "吉", "仁", "爛", "磚", "租", "烏", "艦", "伴",
15961"瓜", "淺", "丙", "暫", "燥", "橡", "柳", "迷", "暖", "牌",
15962"秧", "膽", "詳", "簧", "踏", "瓷", "譜", "呆", "賓", "糊",
15963"洛", "輝", "憤", "競", "隙", "怒", "粘", "乃", "緒", "肩",
15964"籍", "敏", "塗", "熙", "皆", "偵", "懸", "掘", "享", "糾",
15965"醒", "狂", "鎖", "淀", "恨", "牲", "霸", "爬", "賞", "逆",
15966"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鴨",
15967"趨", "鳳", "晨", "畜", "輩", "秩", "卵", "署", "梯", "炎",
15968"灘", "棋", "驅", "篩", "峽", "冒", "啥", "壽", "譯", "浸",
15969"泉", "帽", "遲", "矽", "疆", "貸", "漏", "稿", "冠", "嫩",
15970"脅", "芯", "牢", "叛", "蝕", "奧", "鳴", "嶺", "羊", "憑",
15971"串", "塘", "繪", "酵", "融", "盆", "錫", "廟", "籌", "凍",
15972"輔", "攝", "襲", "筋", "拒", "僚", "旱", "鉀", "鳥", "漆",
15973"沈", "眉", "疏", "添", "棒", "穗", "硝", "韓", "逼", "扭",
15974"僑", "涼", "挺", "碗", "栽", "炒", "杯", "患", "餾", "勸",
15975"豪", "遼", "勃", "鴻", "旦", "吏", "拜", "狗", "埋", "輥",
15976"掩", "飲", "搬", "罵", "辭", "勾", "扣", "估", "蔣", "絨",
15977"霧", "丈", "朵", "姆", "擬", "宇", "輯", "陝", "雕", "償",
15978"蓄", "崇", "剪", "倡", "廳", "咬", "駛", "薯", "刷", "斥",
15979"番", "賦", "奉", "佛", "澆", "漫", "曼", "扇", "鈣", "桃",
15980"扶", "仔", "返", "俗", "虧", "腔", "鞋", "棱", "覆", "框",
15981"悄", "叔", "撞", "騙", "勘", "旺", "沸", "孤", "吐", "孟",
15982"渠", "屈", "疾", "妙", "惜", "仰", "狠", "脹", "諧", "拋",
15983"黴", "桑", "崗", "嘛", "衰", "盜", "滲", "臟", "賴", "湧",
15984"甜", "曹", "閱", "肌", "哩", "厲", "烴", "緯", "毅", "昨",
15985"偽", "症", "煮", "嘆", "釘", "搭", "莖", "籠", "酷", "偷",
15986"弓", "錐", "恆", "傑", "坑", "鼻", "翼", "綸", "敘", "獄",
15987"逮", "罐", "絡", "棚", "抑", "膨", "蔬", "寺", "驟", "穆",
15988"冶", "枯", "冊", "屍", "凸", "紳", "坯", "犧", "焰", "轟",
15989"欣", "晉", "瘦", "禦", "錠", "錦", "喪", "旬", "鍛", "壟",
15990"搜", "撲", "邀", "亭", "酯", "邁", "舒", "脆", "酶", "閒",
15991"憂", "酚", "頑", "羽", "漲", "卸", "仗", "陪", "闢", "懲",
15992"杭", "姚", "肚", "捉", "飄", "漂", "昆", "欺", "吾", "郎",
15993"烷", "汁", "呵", "飾", "蕭", "雅", "郵", "遷", "燕", "撒",
15994"姻", "赴", "宴", "煩", "債", "帳", "斑", "鈴", "旨", "醇",
15995"董", "餅", "雛", "姿", "拌", "傅", "腹", "妥", "揉", "賢",
15996"拆", "歪", "葡", "胺", "丟", "浩", "徽", "昂", "墊", "擋",
15997"覽", "貪", "慰", "繳", "汪", "慌", "馮", "諾", "姜", "誼",
15998"兇", "劣", "誣", "耀", "昏", "躺", "盈", "騎", "喬", "溪",
15999"叢", "盧", "抹", "悶", "諮", "刮", "駕", "纜", "悟", "摘",
16000"鉺", "擲", "頗", "幻", "柄", "惠", "慘", "佳", "仇", "臘",
16001"窩", "滌", "劍", "瞧", "堡", "潑", "蔥", "罩", "霍", "撈",
16002"胎", "蒼", "濱", "倆", "捅", "湘", "砍", "霞", "邵", "萄",
16003"瘋", "淮", "遂", "熊", "糞", "烘", "宿", "檔", "戈", "駁",
16004"嫂", "裕", "徙", "箭", "捐", "腸", "撐", "曬", "辨", "殿",
16005"蓮", "攤", "攪", "醬", "屏", "疫", "哀", "蔡", "堵", "沫",
16006"皺", "暢", "疊", "閣", "萊", "敲", "轄", "鉤", "痕", "壩",
16007"巷", "餓", "禍", "丘", "玄", "溜", "曰", "邏", "彭", "嘗",
16008"卿", "妨", "艇", "吞", "韋", "怨", "矮", "歇" ]
16009</script>
16010 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
16011WORDLISTS["french"] = [
16012"abaisser", "abandon", "abdiquer", "abeille", "abolir", "aborder", "aboutir", "aboyer", "abrasif", "abreuver",
16013"abriter", "abroger", "abrupt", "absence", "absolu", "absurde", "abusif", "abyssal", "académie", "acajou",
16014"acarien", "accabler", "accepter", "acclamer", "accolade", "accroche", "accuser", "acerbe", "achat", "acheter",
16015"aciduler", "acier", "acompte", "acquérir", "acronyme", "acteur", "actif", "actuel", "adepte", "adéquat",
16016"adhésif", "adjectif", "adjuger", "admettre", "admirer", "adopter", "adorer", "adoucir", "adresse", "adroit",
16017"adulte", "adverbe", "aérer", "aéronef", "affaire", "affecter", "affiche", "affreux", "affubler", "agacer",
16018"agencer", "agile", "agiter", "agrafer", "agréable", "agrume", "aider", "aiguille", "ailier", "aimable",
16019"aisance", "ajouter", "ajuster", "alarmer", "alchimie", "alerte", "algèbre", "algue", "aliéner", "aliment",
16020"alléger", "alliage", "allouer", "allumer", "alourdir", "alpaga", "altesse", "alvéole", "amateur", "ambigu",
16021"ambre", "aménager", "amertume", "amidon", "amiral", "amorcer", "amour", "amovible", "amphibie", "ampleur",
16022"amusant", "analyse", "anaphore", "anarchie", "anatomie", "ancien", "anéantir", "angle", "angoisse", "anguleux",
16023"animal", "annexer", "annonce", "annuel", "anodin", "anomalie", "anonyme", "anormal", "antenne", "antidote",
16024"anxieux", "apaiser", "apéritif", "aplanir", "apologie", "appareil", "appeler", "apporter", "appuyer", "aquarium",
16025"aqueduc", "arbitre", "arbuste", "ardeur", "ardoise", "argent", "arlequin", "armature", "armement", "armoire",
16026"armure", "arpenter", "arracher", "arriver", "arroser", "arsenic", "artériel", "article", "aspect", "asphalte",
16027"aspirer", "assaut", "asservir", "assiette", "associer", "assurer", "asticot", "astre", "astuce", "atelier",
16028"atome", "atrium", "atroce", "attaque", "attentif", "attirer", "attraper", "aubaine", "auberge", "audace",
16029"audible", "augurer", "aurore", "automne", "autruche", "avaler", "avancer", "avarice", "avenir", "averse",
16030"aveugle", "aviateur", "avide", "avion", "aviser", "avoine", "avouer", "avril", "axial", "axiome",
16031"badge", "bafouer", "bagage", "baguette", "baignade", "balancer", "balcon", "baleine", "balisage", "bambin",
16032"bancaire", "bandage", "banlieue", "bannière", "banquier", "barbier", "baril", "baron", "barque", "barrage",
16033"bassin", "bastion", "bataille", "bateau", "batterie", "baudrier", "bavarder", "belette", "bélier", "belote",
16034"bénéfice", "berceau", "berger", "berline", "bermuda", "besace", "besogne", "bétail", "beurre", "biberon",
16035"bicycle", "bidule", "bijou", "bilan", "bilingue", "billard", "binaire", "biologie", "biopsie", "biotype",
16036"biscuit", "bison", "bistouri", "bitume", "bizarre", "blafard", "blague", "blanchir", "blessant", "blinder",
16037"blond", "bloquer", "blouson", "bobard", "bobine", "boire", "boiser", "bolide", "bonbon", "bondir",
16038"bonheur", "bonifier", "bonus", "bordure", "borne", "botte", "boucle", "boueux", "bougie", "boulon",
16039"bouquin", "bourse", "boussole", "boutique", "boxeur", "branche", "brasier", "brave", "brebis", "brèche",
16040"breuvage", "bricoler", "brigade", "brillant", "brioche", "brique", "brochure", "broder", "bronzer", "brousse",
16041"broyeur", "brume", "brusque", "brutal", "bruyant", "buffle", "buisson", "bulletin", "bureau", "burin",
16042"bustier", "butiner", "butoir", "buvable", "buvette", "cabanon", "cabine", "cachette", "cadeau", "cadre",
16043"caféine", "caillou", "caisson", "calculer", "calepin", "calibre", "calmer", "calomnie", "calvaire", "camarade",
16044"caméra", "camion", "campagne", "canal", "caneton", "canon", "cantine", "canular", "capable", "caporal",
16045"caprice", "capsule", "capter", "capuche", "carabine", "carbone", "caresser", "caribou", "carnage", "carotte",
16046"carreau", "carton", "cascade", "casier", "casque", "cassure", "causer", "caution", "cavalier", "caverne",
16047"caviar", "cédille", "ceinture", "céleste", "cellule", "cendrier", "censurer", "central", "cercle", "cérébral",
16048"cerise", "cerner", "cerveau", "cesser", "chagrin", "chaise", "chaleur", "chambre", "chance", "chapitre",
16049"charbon", "chasseur", "chaton", "chausson", "chavirer", "chemise", "chenille", "chéquier", "chercher", "cheval",
16050"chien", "chiffre", "chignon", "chimère", "chiot", "chlorure", "chocolat", "choisir", "chose", "chouette",
16051"chrome", "chute", "cigare", "cigogne", "cimenter", "cinéma", "cintrer", "circuler", "cirer", "cirque",
16052"citerne", "citoyen", "citron", "civil", "clairon", "clameur", "claquer", "classe", "clavier", "client",
16053"cligner", "climat", "clivage", "cloche", "clonage", "cloporte", "cobalt", "cobra", "cocasse", "cocotier",
16054"coder", "codifier", "coffre", "cogner", "cohésion", "coiffer", "coincer", "colère", "colibri", "colline",
16055"colmater", "colonel", "combat", "comédie", "commande", "compact", "concert", "conduire", "confier", "congeler",
16056"connoter", "consonne", "contact", "convexe", "copain", "copie", "corail", "corbeau", "cordage", "corniche",
16057"corpus", "correct", "cortège", "cosmique", "costume", "coton", "coude", "coupure", "courage", "couteau",
16058"couvrir", "coyote", "crabe", "crainte", "cravate", "crayon", "créature", "créditer", "crémeux", "creuser",
16059"crevette", "cribler", "crier", "cristal", "critère", "croire", "croquer", "crotale", "crucial", "cruel",
16060"crypter", "cubique", "cueillir", "cuillère", "cuisine", "cuivre", "culminer", "cultiver", "cumuler", "cupide",
16061"curatif", "curseur", "cyanure", "cycle", "cylindre", "cynique", "daigner", "damier", "danger", "danseur",
16062"dauphin", "débattre", "débiter", "déborder", "débrider", "débutant", "décaler", "décembre", "déchirer", "décider",
16063"déclarer", "décorer", "décrire", "décupler", "dédale", "déductif", "déesse", "défensif", "défiler", "défrayer",
16064"dégager", "dégivrer", "déglutir", "dégrafer", "déjeuner", "délice", "déloger", "demander", "demeurer", "démolir",
16065"dénicher", "dénouer", "dentelle", "dénuder", "départ", "dépenser", "déphaser", "déplacer", "déposer", "déranger",
16066"dérober", "désastre", "descente", "désert", "désigner", "désobéir", "dessiner", "destrier", "détacher", "détester",
16067"détourer", "détresse", "devancer", "devenir", "deviner", "devoir", "diable", "dialogue", "diamant", "dicter",
16068"différer", "digérer", "digital", "digne", "diluer", "dimanche", "diminuer", "dioxyde", "directif", "diriger",
16069"discuter", "disposer", "dissiper", "distance", "divertir", "diviser", "docile", "docteur", "dogme", "doigt",
16070"domaine", "domicile", "dompter", "donateur", "donjon", "donner", "dopamine", "dortoir", "dorure", "dosage",
16071"doseur", "dossier", "dotation", "douanier", "double", "douceur", "douter", "doyen", "dragon", "draper",
16072"dresser", "dribbler", "droiture", "duperie", "duplexe", "durable", "durcir", "dynastie", "éblouir", "écarter",
16073"écharpe", "échelle", "éclairer", "éclipse", "éclore", "écluse", "école", "économie", "écorce", "écouter",
16074"écraser", "écrémer", "écrivain", "écrou", "écume", "écureuil", "édifier", "éduquer", "effacer", "effectif",
16075"effigie", "effort", "effrayer", "effusion", "égaliser", "égarer", "éjecter", "élaborer", "élargir", "électron",
16076"élégant", "éléphant", "élève", "éligible", "élitisme", "éloge", "élucider", "éluder", "emballer", "embellir",
16077"embryon", "émeraude", "émission", "emmener", "émotion", "émouvoir", "empereur", "employer", "emporter", "emprise",
16078"émulsion", "encadrer", "enchère", "enclave", "encoche", "endiguer", "endosser", "endroit", "enduire", "énergie",
16079"enfance", "enfermer", "enfouir", "engager", "engin", "englober", "énigme", "enjamber", "enjeu", "enlever",
16080"ennemi", "ennuyeux", "enrichir", "enrobage", "enseigne", "entasser", "entendre", "entier", "entourer", "entraver",
16081"énumérer", "envahir", "enviable", "envoyer", "enzyme", "éolien", "épaissir", "épargne", "épatant", "épaule",
16082"épicerie", "épidémie", "épier", "épilogue", "épine", "épisode", "épitaphe", "époque", "épreuve", "éprouver",
16083"épuisant", "équerre", "équipe", "ériger", "érosion", "erreur", "éruption", "escalier", "espadon", "espèce",
16084"espiègle", "espoir", "esprit", "esquiver", "essayer", "essence", "essieu", "essorer", "estime", "estomac",
16085"estrade", "étagère", "étaler", "étanche", "étatique", "éteindre", "étendoir", "éternel", "éthanol", "éthique",
16086"ethnie", "étirer", "étoffer", "étoile", "étonnant", "étourdir", "étrange", "étroit", "étude", "euphorie",
16087"évaluer", "évasion", "éventail", "évidence", "éviter", "évolutif", "évoquer", "exact", "exagérer", "exaucer",
16088"exceller", "excitant", "exclusif", "excuse", "exécuter", "exemple", "exercer", "exhaler", "exhorter", "exigence",
16089"exiler", "exister", "exotique", "expédier", "explorer", "exposer", "exprimer", "exquis", "extensif", "extraire",
16090"exulter", "fable", "fabuleux", "facette", "facile", "facture", "faiblir", "falaise", "fameux", "famille",
16091"farceur", "farfelu", "farine", "farouche", "fasciner", "fatal", "fatigue", "faucon", "fautif", "faveur",
16092"favori", "fébrile", "féconder", "fédérer", "félin", "femme", "fémur", "fendoir", "féodal", "fermer",
16093"féroce", "ferveur", "festival", "feuille", "feutre", "février", "fiasco", "ficeler", "fictif", "fidèle",
16094"figure", "filature", "filetage", "filière", "filleul", "filmer", "filou", "filtrer", "financer", "finir",
16095"fiole", "firme", "fissure", "fixer", "flairer", "flamme", "flasque", "flatteur", "fléau", "flèche",
16096"fleur", "flexion", "flocon", "flore", "fluctuer", "fluide", "fluvial", "folie", "fonderie", "fongible",
16097"fontaine", "forcer", "forgeron", "formuler", "fortune", "fossile", "foudre", "fougère", "fouiller", "foulure",
16098"fourmi", "fragile", "fraise", "franchir", "frapper", "frayeur", "frégate", "freiner", "frelon", "frémir",
16099"frénésie", "frère", "friable", "friction", "frisson", "frivole", "froid", "fromage", "frontal", "frotter",
16100"fruit", "fugitif", "fuite", "fureur", "furieux", "furtif", "fusion", "futur", "gagner", "galaxie",
16101"galerie", "gambader", "garantir", "gardien", "garnir", "garrigue", "gazelle", "gazon", "géant", "gélatine",
16102"gélule", "gendarme", "général", "génie", "genou", "gentil", "géologie", "géomètre", "géranium", "germe",
16103"gestuel", "geyser", "gibier", "gicler", "girafe", "givre", "glace", "glaive", "glisser", "globe",
16104"gloire", "glorieux", "golfeur", "gomme", "gonfler", "gorge", "gorille", "goudron", "gouffre", "goulot",
16105"goupille", "gourmand", "goutte", "graduel", "graffiti", "graine", "grand", "grappin", "gratuit", "gravir",
16106"grenat", "griffure", "griller", "grimper", "grogner", "gronder", "grotte", "groupe", "gruger", "grutier",
16107"gruyère", "guépard", "guerrier", "guide", "guimauve", "guitare", "gustatif", "gymnaste", "gyrostat", "habitude",
16108"hachoir", "halte", "hameau", "hangar", "hanneton", "haricot", "harmonie", "harpon", "hasard", "hélium",
16109"hématome", "herbe", "hérisson", "hermine", "héron", "hésiter", "heureux", "hiberner", "hibou", "hilarant",
16110"histoire", "hiver", "homard", "hommage", "homogène", "honneur", "honorer", "honteux", "horde", "horizon",
16111"horloge", "hormone", "horrible", "houleux", "housse", "hublot", "huileux", "humain", "humble", "humide",
16112"humour", "hurler", "hydromel", "hygiène", "hymne", "hypnose", "idylle", "ignorer", "iguane", "illicite",
16113"illusion", "image", "imbiber", "imiter", "immense", "immobile", "immuable", "impact", "impérial", "implorer",
16114"imposer", "imprimer", "imputer", "incarner", "incendie", "incident", "incliner", "incolore", "indexer", "indice",
16115"inductif", "inédit", "ineptie", "inexact", "infini", "infliger", "informer", "infusion", "ingérer", "inhaler",
16116"inhiber", "injecter", "injure", "innocent", "inoculer", "inonder", "inscrire", "insecte", "insigne", "insolite",
16117"inspirer", "instinct", "insulter", "intact", "intense", "intime", "intrigue", "intuitif", "inutile", "invasion",
16118"inventer", "inviter", "invoquer", "ironique", "irradier", "irréel", "irriter", "isoler", "ivoire", "ivresse",
16119"jaguar", "jaillir", "jambe", "janvier", "jardin", "jauger", "jaune", "javelot", "jetable", "jeton",
16120"jeudi", "jeunesse", "joindre", "joncher", "jongler", "joueur", "jouissif", "journal", "jovial", "joyau",
16121"joyeux", "jubiler", "jugement", "junior", "jupon", "juriste", "justice", "juteux", "juvénile", "kayak",
16122"kimono", "kiosque", "label", "labial", "labourer", "lacérer", "lactose", "lagune", "laine", "laisser",
16123"laitier", "lambeau", "lamelle", "lampe", "lanceur", "langage", "lanterne", "lapin", "largeur", "larme",
16124"laurier", "lavabo", "lavoir", "lecture", "légal", "léger", "légume", "lessive", "lettre", "levier",
16125"lexique", "lézard", "liasse", "libérer", "libre", "licence", "licorne", "liège", "lièvre", "ligature",
16126"ligoter", "ligue", "limer", "limite", "limonade", "limpide", "linéaire", "lingot", "lionceau", "liquide",
16127"lisière", "lister", "lithium", "litige", "littoral", "livreur", "logique", "lointain", "loisir", "lombric",
16128"loterie", "louer", "lourd", "loutre", "louve", "loyal", "lubie", "lucide", "lucratif", "lueur",
16129"lugubre", "luisant", "lumière", "lunaire", "lundi", "luron", "lutter", "luxueux", "machine", "magasin",
16130"magenta", "magique", "maigre", "maillon", "maintien", "mairie", "maison", "majorer", "malaxer", "maléfice",
16131"malheur", "malice", "mallette", "mammouth", "mandater", "maniable", "manquant", "manteau", "manuel", "marathon",
16132"marbre", "marchand", "mardi", "maritime", "marqueur", "marron", "marteler", "mascotte", "massif", "matériel",
16133"matière", "matraque", "maudire", "maussade", "mauve", "maximal", "méchant", "méconnu", "médaille", "médecin",
16134"méditer", "méduse", "meilleur", "mélange", "mélodie", "membre", "mémoire", "menacer", "mener", "menhir",
16135"mensonge", "mentor", "mercredi", "mérite", "merle", "messager", "mesure", "métal", "météore", "méthode",
16136"métier", "meuble", "miauler", "microbe", "miette", "mignon", "migrer", "milieu", "million", "mimique",
16137"mince", "minéral", "minimal", "minorer", "minute", "miracle", "miroiter", "missile", "mixte", "mobile",
16138"moderne", "moelleux", "mondial", "moniteur", "monnaie", "monotone", "monstre", "montagne", "monument", "moqueur",
16139"morceau", "morsure", "mortier", "moteur", "motif", "mouche", "moufle", "moulin", "mousson", "mouton",
16140"mouvant", "multiple", "munition", "muraille", "murène", "murmure", "muscle", "muséum", "musicien", "mutation",
16141"muter", "mutuel", "myriade", "myrtille", "mystère", "mythique", "nageur", "nappe", "narquois", "narrer",
16142"natation", "nation", "nature", "naufrage", "nautique", "navire", "nébuleux", "nectar", "néfaste", "négation",
16143"négliger", "négocier", "neige", "nerveux", "nettoyer", "neurone", "neutron", "neveu", "niche", "nickel",
16144"nitrate", "niveau", "noble", "nocif", "nocturne", "noirceur", "noisette", "nomade", "nombreux", "nommer",
16145"normatif", "notable", "notifier", "notoire", "nourrir", "nouveau", "novateur", "novembre", "novice", "nuage",
16146"nuancer", "nuire", "nuisible", "numéro", "nuptial", "nuque", "nutritif", "obéir", "objectif", "obliger",
16147"obscur", "observer", "obstacle", "obtenir", "obturer", "occasion", "occuper", "océan", "octobre", "octroyer",
16148"octupler", "oculaire", "odeur", "odorant", "offenser", "officier", "offrir", "ogive", "oiseau", "oisillon",
16149"olfactif", "olivier", "ombrage", "omettre", "onctueux", "onduler", "onéreux", "onirique", "opale", "opaque",
16150"opérer", "opinion", "opportun", "opprimer", "opter", "optique", "orageux", "orange", "orbite", "ordonner",
16151"oreille", "organe", "orgueil", "orifice", "ornement", "orque", "ortie", "osciller", "osmose", "ossature",
16152"otarie", "ouragan", "ourson", "outil", "outrager", "ouvrage", "ovation", "oxyde", "oxygène", "ozone",
16153"paisible", "palace", "palmarès", "palourde", "palper", "panache", "panda", "pangolin", "paniquer", "panneau",
16154"panorama", "pantalon", "papaye", "papier", "papoter", "papyrus", "paradoxe", "parcelle", "paresse", "parfumer",
16155"parler", "parole", "parrain", "parsemer", "partager", "parure", "parvenir", "passion", "pastèque", "paternel",
16156"patience", "patron", "pavillon", "pavoiser", "payer", "paysage", "peigne", "peintre", "pelage", "pélican",
16157"pelle", "pelouse", "peluche", "pendule", "pénétrer", "pénible", "pensif", "pénurie", "pépite", "péplum",
16158"perdrix", "perforer", "période", "permuter", "perplexe", "persil", "perte", "peser", "pétale", "petit",
16159"pétrir", "peuple", "pharaon", "phobie", "phoque", "photon", "phrase", "physique", "piano", "pictural",
16160"pièce", "pierre", "pieuvre", "pilote", "pinceau", "pipette", "piquer", "pirogue", "piscine", "piston",
16161"pivoter", "pixel", "pizza", "placard", "plafond", "plaisir", "planer", "plaque", "plastron", "plateau",
16162"pleurer", "plexus", "pliage", "plomb", "plonger", "pluie", "plumage", "pochette", "poésie", "poète",
16163"pointe", "poirier", "poisson", "poivre", "polaire", "policier", "pollen", "polygone", "pommade", "pompier",
16164"ponctuel", "pondérer", "poney", "portique", "position", "posséder", "posture", "potager", "poteau", "potion",
16165"pouce", "poulain", "poumon", "pourpre", "poussin", "pouvoir", "prairie", "pratique", "précieux", "prédire",
16166"préfixe", "prélude", "prénom", "présence", "prétexte", "prévoir", "primitif", "prince", "prison", "priver",
16167"problème", "procéder", "prodige", "profond", "progrès", "proie", "projeter", "prologue", "promener", "propre",
16168"prospère", "protéger", "prouesse", "proverbe", "prudence", "pruneau", "psychose", "public", "puceron", "puiser",
16169"pulpe", "pulsar", "punaise", "punitif", "pupitre", "purifier", "puzzle", "pyramide", "quasar", "querelle",
16170"question", "quiétude", "quitter", "quotient", "racine", "raconter", "radieux", "ragondin", "raideur", "raisin",
16171"ralentir", "rallonge", "ramasser", "rapide", "rasage", "ratisser", "ravager", "ravin", "rayonner", "réactif",
16172"réagir", "réaliser", "réanimer", "recevoir", "réciter", "réclamer", "récolter", "recruter", "reculer", "recycler",
16173"rédiger", "redouter", "refaire", "réflexe", "réformer", "refrain", "refuge", "régalien", "région", "réglage",
16174"régulier", "réitérer", "rejeter", "rejouer", "relatif", "relever", "relief", "remarque", "remède", "remise",
16175"remonter", "remplir", "remuer", "renard", "renfort", "renifler", "renoncer", "rentrer", "renvoi", "replier",
16176"reporter", "reprise", "reptile", "requin", "réserve", "résineux", "résoudre", "respect", "rester", "résultat",
16177"rétablir", "retenir", "réticule", "retomber", "retracer", "réunion", "réussir", "revanche", "revivre", "révolte",
16178"révulsif", "richesse", "rideau", "rieur", "rigide", "rigoler", "rincer", "riposter", "risible", "risque",
16179"rituel", "rival", "rivière", "rocheux", "romance", "rompre", "ronce", "rondin", "roseau", "rosier",
16180"rotatif", "rotor", "rotule", "rouge", "rouille", "rouleau", "routine", "royaume", "ruban", "rubis",
16181"ruche", "ruelle", "rugueux", "ruiner", "ruisseau", "ruser", "rustique", "rythme", "sabler", "saboter",
16182"sabre", "sacoche", "safari", "sagesse", "saisir", "salade", "salive", "salon", "saluer", "samedi",
16183"sanction", "sanglier", "sarcasme", "sardine", "saturer", "saugrenu", "saumon", "sauter", "sauvage", "savant",
16184"savonner", "scalpel", "scandale", "scélérat", "scénario", "sceptre", "schéma", "science", "scinder", "score",
16185"scrutin", "sculpter", "séance", "sécable", "sécher", "secouer", "sécréter", "sédatif", "séduire", "seigneur",
16186"séjour", "sélectif", "semaine", "sembler", "semence", "séminal", "sénateur", "sensible", "sentence", "séparer",
16187"séquence", "serein", "sergent", "sérieux", "serrure", "sérum", "service", "sésame", "sévir", "sevrage",
16188"sextuple", "sidéral", "siècle", "siéger", "siffler", "sigle", "signal", "silence", "silicium", "simple",
16189"sincère", "sinistre", "siphon", "sirop", "sismique", "situer", "skier", "social", "socle", "sodium",
16190"soigneux", "soldat", "soleil", "solitude", "soluble", "sombre", "sommeil", "somnoler", "sonde", "songeur",
16191"sonnette", "sonore", "sorcier", "sortir", "sosie", "sottise", "soucieux", "soudure", "souffle", "soulever",
16192"soupape", "source", "soutirer", "souvenir", "spacieux", "spatial", "spécial", "sphère", "spiral", "stable",
16193"station", "sternum", "stimulus", "stipuler", "strict", "studieux", "stupeur", "styliste", "sublime", "substrat",
16194"subtil", "subvenir", "succès", "sucre", "suffixe", "suggérer", "suiveur", "sulfate", "superbe", "supplier",
16195"surface", "suricate", "surmener", "surprise", "sursaut", "survie", "suspect", "syllabe", "symbole", "symétrie",
16196"synapse", "syntaxe", "système", "tabac", "tablier", "tactile", "tailler", "talent", "talisman", "talonner",
16197"tambour", "tamiser", "tangible", "tapis", "taquiner", "tarder", "tarif", "tartine", "tasse", "tatami",
16198"tatouage", "taupe", "taureau", "taxer", "témoin", "temporel", "tenaille", "tendre", "teneur", "tenir",
16199"tension", "terminer", "terne", "terrible", "tétine", "texte", "thème", "théorie", "thérapie", "thorax",
16200"tibia", "tiède", "timide", "tirelire", "tiroir", "tissu", "titane", "titre", "tituber", "toboggan",
16201"tolérant", "tomate", "tonique", "tonneau", "toponyme", "torche", "tordre", "tornade", "torpille", "torrent",
16202"torse", "tortue", "totem", "toucher", "tournage", "tousser", "toxine", "traction", "trafic", "tragique",
16203"trahir", "train", "trancher", "travail", "trèfle", "tremper", "trésor", "treuil", "triage", "tribunal",
16204"tricoter", "trilogie", "triomphe", "tripler", "triturer", "trivial", "trombone", "tronc", "tropical", "troupeau",
16205"tuile", "tulipe", "tumulte", "tunnel", "turbine", "tuteur", "tutoyer", "tuyau", "tympan", "typhon",
16206"typique", "tyran", "ubuesque", "ultime", "ultrason", "unanime", "unifier", "union", "unique", "unitaire",
16207"univers", "uranium", "urbain", "urticant", "usage", "usine", "usuel", "usure", "utile", "utopie",
16208"vacarme", "vaccin", "vagabond", "vague", "vaillant", "vaincre", "vaisseau", "valable", "valise", "vallon",
16209"valve", "vampire", "vanille", "vapeur", "varier", "vaseux", "vassal", "vaste", "vecteur", "vedette",
16210"végétal", "véhicule", "veinard", "véloce", "vendredi", "vénérer", "venger", "venimeux", "ventouse", "verdure",
16211"vérin", "vernir", "verrou", "verser", "vertu", "veston", "vétéran", "vétuste", "vexant", "vexer",
16212"viaduc", "viande", "victoire", "vidange", "vidéo", "vignette", "vigueur", "vilain", "village", "vinaigre",
16213"violon", "vipère", "virement", "virtuose", "virus", "visage", "viseur", "vision", "visqueux", "visuel",
16214"vital", "vitesse", "viticole", "vitrine", "vivace", "vivipare", "vocation", "voguer", "voile", "voisin",
16215"voiture", "volaille", "volcan", "voltiger", "volume", "vorace", "vortex", "voter", "vouloir", "voyage",
16216"voyelle", "wagon", "xénon", "yacht", "zèbre", "zénith", "zeste", "zoologie"]
16217</script>
16218 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
16219WORDLISTS["italian"] = [
16220"abaco", "abbaglio", "abbinato", "abete", "abisso", "abolire", "abrasivo", "abrogato", "accadere", "accenno",
16221"accusato", "acetone", "achille", "acido", "acqua", "acre", "acrilico", "acrobata", "acuto", "adagio",
16222"addebito", "addome", "adeguato", "aderire", "adipe", "adottare", "adulare", "affabile", "affetto", "affisso",
16223"affranto", "aforisma", "afoso", "africano", "agave", "agente", "agevole", "aggancio", "agire", "agitare",
16224"agonismo", "agricolo", "agrumeto", "aguzzo", "alabarda", "alato", "albatro", "alberato", "albo", "albume",
16225"alce", "alcolico", "alettone", "alfa", "algebra", "aliante", "alibi", "alimento", "allagato", "allegro",
16226"allievo", "allodola", "allusivo", "almeno", "alogeno", "alpaca", "alpestre", "altalena", "alterno", "alticcio",
16227"altrove", "alunno", "alveolo", "alzare", "amalgama", "amanita", "amarena", "ambito", "ambrato", "ameba",
16228"america", "ametista", "amico", "ammasso", "ammenda", "ammirare", "ammonito", "amore", "ampio", "ampliare",
16229"amuleto", "anacardo", "anagrafe", "analista", "anarchia", "anatra", "anca", "ancella", "ancora", "andare",
16230"andrea", "anello", "angelo", "angolare", "angusto", "anima", "annegare", "annidato", "anno", "annuncio",
16231"anonimo", "anticipo", "anzi", "apatico", "apertura", "apode", "apparire", "appetito", "appoggio", "approdo",
16232"appunto", "aprile", "arabica", "arachide", "aragosta", "araldica", "arancio", "aratura", "arazzo", "arbitro",
16233"archivio", "ardito", "arenile", "argento", "argine", "arguto", "aria", "armonia", "arnese", "arredato",
16234"arringa", "arrosto", "arsenico", "arso", "artefice", "arzillo", "asciutto", "ascolto", "asepsi", "asettico",
16235"asfalto", "asino", "asola", "aspirato", "aspro", "assaggio", "asse", "assoluto", "assurdo", "asta",
16236"astenuto", "astice", "astratto", "atavico", "ateismo", "atomico", "atono", "attesa", "attivare", "attorno",
16237"attrito", "attuale", "ausilio", "austria", "autista", "autonomo", "autunno", "avanzato", "avere", "avvenire",
16238"avviso", "avvolgere", "azione", "azoto", "azzimo", "azzurro", "babele", "baccano", "bacino", "baco",
16239"badessa", "badilata", "bagnato", "baita", "balcone", "baldo", "balena", "ballata", "balzano", "bambino",
16240"bandire", "baraonda", "barbaro", "barca", "baritono", "barlume", "barocco", "basilico", "basso", "batosta",
16241"battuto", "baule", "bava", "bavosa", "becco", "beffa", "belgio", "belva", "benda", "benevole",
16242"benigno", "benzina", "bere", "berlina", "beta", "bibita", "bici", "bidone", "bifido", "biga",
16243"bilancia", "bimbo", "binocolo", "biologo", "bipede", "bipolare", "birbante", "birra", "biscotto", "bisesto",
16244"bisnonno", "bisonte", "bisturi", "bizzarro", "blando", "blatta", "bollito", "bonifico", "bordo", "bosco",
16245"botanico", "bottino", "bozzolo", "braccio", "bradipo", "brama", "branca", "bravura", "bretella", "brevetto",
16246"brezza", "briglia", "brillante", "brindare", "broccolo", "brodo", "bronzina", "brullo", "bruno", "bubbone",
16247"buca", "budino", "buffone", "buio", "bulbo", "buono", "burlone", "burrasca", "bussola", "busta",
16248"cadetto", "caduco", "calamaro", "calcolo", "calesse", "calibro", "calmo", "caloria", "cambusa", "camerata",
16249"camicia", "cammino", "camola", "campale", "canapa", "candela", "cane", "canino", "canotto", "cantina",
16250"capace", "capello", "capitolo", "capogiro", "cappero", "capra", "capsula", "carapace", "carcassa", "cardo",
16251"carisma", "carovana", "carretto", "cartolina", "casaccio", "cascata", "caserma", "caso", "cassone", "castello",
16252"casuale", "catasta", "catena", "catrame", "cauto", "cavillo", "cedibile", "cedrata", "cefalo", "celebre",
16253"cellulare", "cena", "cenone", "centesimo", "ceramica", "cercare", "certo", "cerume", "cervello", "cesoia",
16254"cespo", "ceto", "chela", "chiaro", "chicca", "chiedere", "chimera", "china", "chirurgo", "chitarra",
16255"ciao", "ciclismo", "cifrare", "cigno", "cilindro", "ciottolo", "circa", "cirrosi", "citrico", "cittadino",
16256"ciuffo", "civetta", "civile", "classico", "clinica", "cloro", "cocco", "codardo", "codice", "coerente",
16257"cognome", "collare", "colmato", "colore", "colposo", "coltivato", "colza", "coma", "cometa", "commando",
16258"comodo", "computer", "comune", "conciso", "condurre", "conferma", "congelare", "coniuge", "connesso", "conoscere",
16259"consumo", "continuo", "convegno", "coperto", "copione", "coppia", "copricapo", "corazza", "cordata", "coricato",
16260"cornice", "corolla", "corpo", "corredo", "corsia", "cortese", "cosmico", "costante", "cottura", "covato",
16261"cratere", "cravatta", "creato", "credere", "cremoso", "crescita", "creta", "criceto", "crinale", "crisi",
16262"critico", "croce", "cronaca", "crostata", "cruciale", "crusca", "cucire", "cuculo", "cugino", "cullato",
16263"cupola", "curatore", "cursore", "curvo", "cuscino", "custode", "dado", "daino", "dalmata", "damerino",
16264"daniela", "dannoso", "danzare", "datato", "davanti", "davvero", "debutto", "decennio", "deciso", "declino",
16265"decollo", "decreto", "dedicato", "definito", "deforme", "degno", "delegare", "delfino", "delirio", "delta",
16266"demenza", "denotato", "dentro", "deposito", "derapata", "derivare", "deroga", "descritto", "deserto", "desiderio",
16267"desumere", "detersivo", "devoto", "diametro", "dicembre", "diedro", "difeso", "diffuso", "digerire", "digitale",
16268"diluvio", "dinamico", "dinnanzi", "dipinto", "diploma", "dipolo", "diradare", "dire", "dirotto", "dirupo",
16269"disagio", "discreto", "disfare", "disgelo", "disposto", "distanza", "disumano", "dito", "divano", "divelto",
16270"dividere", "divorato", "doblone", "docente", "doganale", "dogma", "dolce", "domato", "domenica", "dominare",
16271"dondolo", "dono", "dormire", "dote", "dottore", "dovuto", "dozzina", "drago", "druido", "dubbio",
16272"dubitare", "ducale", "duna", "duomo", "duplice", "duraturo", "ebano", "eccesso", "ecco", "eclissi",
16273"economia", "edera", "edicola", "edile", "editoria", "educare", "egemonia", "egli", "egoismo", "egregio",
16274"elaborato", "elargire", "elegante", "elencato", "eletto", "elevare", "elfico", "elica", "elmo", "elsa",
16275"eluso", "emanato", "emblema", "emesso", "emiro", "emotivo", "emozione", "empirico", "emulo", "endemico",
16276"enduro", "energia", "enfasi", "enoteca", "entrare", "enzima", "epatite", "epilogo", "episodio", "epocale",
16277"eppure", "equatore", "erario", "erba", "erboso", "erede", "eremita", "erigere", "ermetico", "eroe",
16278"erosivo", "errante", "esagono", "esame", "esanime", "esaudire", "esca", "esempio", "esercito", "esibito",
16279"esigente", "esistere", "esito", "esofago", "esortato", "esoso", "espanso", "espresso", "essenza", "esso",
16280"esteso", "estimare", "estonia", "estroso", "esultare", "etilico", "etnico", "etrusco", "etto", "euclideo",
16281"europa", "evaso", "evidenza", "evitato", "evoluto", "evviva", "fabbrica", "faccenda", "fachiro", "falco",
16282"famiglia", "fanale", "fanfara", "fango", "fantasma", "fare", "farfalla", "farinoso", "farmaco", "fascia",
16283"fastoso", "fasullo", "faticare", "fato", "favoloso", "febbre", "fecola", "fede", "fegato", "felpa",
16284"feltro", "femmina", "fendere", "fenomeno", "fermento", "ferro", "fertile", "fessura", "festivo", "fetta",
16285"feudo", "fiaba", "fiducia", "fifa", "figurato", "filo", "finanza", "finestra", "finire", "fiore",
16286"fiscale", "fisico", "fiume", "flacone", "flamenco", "flebo", "flemma", "florido", "fluente", "fluoro",
16287"fobico", "focaccia", "focoso", "foderato", "foglio", "folata", "folclore", "folgore", "fondente", "fonetico",
16288"fonia", "fontana", "forbito", "forchetta", "foresta", "formica", "fornaio", "foro", "fortezza", "forzare",
16289"fosfato", "fosso", "fracasso", "frana", "frassino", "fratello", "freccetta", "frenata", "fresco", "frigo",
16290"frollino", "fronde", "frugale", "frutta", "fucilata", "fucsia", "fuggente", "fulmine", "fulvo", "fumante",
16291"fumetto", "fumoso", "fune", "funzione", "fuoco", "furbo", "furgone", "furore", "fuso", "futile",
16292"gabbiano", "gaffe", "galateo", "gallina", "galoppo", "gambero", "gamma", "garanzia", "garbo", "garofano",
16293"garzone", "gasdotto", "gasolio", "gastrico", "gatto", "gaudio", "gazebo", "gazzella", "geco", "gelatina",
16294"gelso", "gemello", "gemmato", "gene", "genitore", "gennaio", "genotipo", "gergo", "ghepardo", "ghiaccio",
16295"ghisa", "giallo", "gilda", "ginepro", "giocare", "gioiello", "giorno", "giove", "girato", "girone",
16296"gittata", "giudizio", "giurato", "giusto", "globulo", "glutine", "gnomo", "gobba", "golf", "gomito",
16297"gommone", "gonfio", "gonna", "governo", "gracile", "grado", "grafico", "grammo", "grande", "grattare",
16298"gravoso", "grazia", "greca", "gregge", "grifone", "grigio", "grinza", "grotta", "gruppo", "guadagno",
16299"guaio", "guanto", "guardare", "gufo", "guidare", "ibernato", "icona", "identico", "idillio", "idolo",
16300"idra", "idrico", "idrogeno", "igiene", "ignaro", "ignorato", "ilare", "illeso", "illogico", "illudere",
16301"imballo", "imbevuto", "imbocco", "imbuto", "immane", "immerso", "immolato", "impacco", "impeto", "impiego",
16302"importo", "impronta", "inalare", "inarcare", "inattivo", "incanto", "incendio", "inchino", "incisivo", "incluso",
16303"incontro", "incrocio", "incubo", "indagine", "india", "indole", "inedito", "infatti", "infilare", "inflitto",
16304"ingaggio", "ingegno", "inglese", "ingordo", "ingrosso", "innesco", "inodore", "inoltrare", "inondato", "insano",
16305"insetto", "insieme", "insonnia", "insulina", "intasato", "intero", "intonaco", "intuito", "inumidire", "invalido",
16306"invece", "invito", "iperbole", "ipnotico", "ipotesi", "ippica", "iride", "irlanda", "ironico", "irrigato",
16307"irrorare", "isolato", "isotopo", "isterico", "istituto", "istrice", "italia", "iterare", "labbro", "labirinto",
16308"lacca", "lacerato", "lacrima", "lacuna", "laddove", "lago", "lampo", "lancetta", "lanterna", "lardoso",
16309"larga", "laringe", "lastra", "latenza", "latino", "lattuga", "lavagna", "lavoro", "legale", "leggero",
16310"lembo", "lentezza", "lenza", "leone", "lepre", "lesivo", "lessato", "lesto", "letterale", "leva",
16311"levigato", "libero", "lido", "lievito", "lilla", "limatura", "limitare", "limpido", "lineare", "lingua",
16312"liquido", "lira", "lirica", "lisca", "lite", "litigio", "livrea", "locanda", "lode", "logica",
16313"lombare", "londra", "longevo", "loquace", "lorenzo", "loto", "lotteria", "luce", "lucidato", "lumaca",
16314"luminoso", "lungo", "lupo", "luppolo", "lusinga", "lusso", "lutto", "macabro", "macchina", "macero",
16315"macinato", "madama", "magico", "maglia", "magnete", "magro", "maiolica", "malafede", "malgrado", "malinteso",
16316"malsano", "malto", "malumore", "mana", "mancia", "mandorla", "mangiare", "manifesto", "mannaro", "manovra",
16317"mansarda", "mantide", "manubrio", "mappa", "maratona", "marcire", "maretta", "marmo", "marsupio", "maschera",
16318"massaia", "mastino", "materasso", "matricola", "mattone", "maturo", "mazurca", "meandro", "meccanico", "mecenate",
16319"medesimo", "meditare", "mega", "melassa", "melis", "melodia", "meninge", "meno", "mensola", "mercurio",
16320"merenda", "merlo", "meschino", "mese", "messere", "mestolo", "metallo", "metodo", "mettere", "miagolare",
16321"mica", "micelio", "michele", "microbo", "midollo", "miele", "migliore", "milano", "milite", "mimosa",
16322"minerale", "mini", "minore", "mirino", "mirtillo", "miscela", "missiva", "misto", "misurare", "mitezza",
16323"mitigare", "mitra", "mittente", "mnemonico", "modello", "modifica", "modulo", "mogano", "mogio", "mole",
16324"molosso", "monastero", "monco", "mondina", "monetario", "monile", "monotono", "monsone", "montato", "monviso",
16325"mora", "mordere", "morsicato", "mostro", "motivato", "motosega", "motto", "movenza", "movimento", "mozzo",
16326"mucca", "mucosa", "muffa", "mughetto", "mugnaio", "mulatto", "mulinello", "multiplo", "mummia", "munto",
16327"muovere", "murale", "musa", "muscolo", "musica", "mutevole", "muto", "nababbo", "nafta", "nanometro",
16328"narciso", "narice", "narrato", "nascere", "nastrare", "naturale", "nautica", "naviglio", "nebulosa", "necrosi",
16329"negativo", "negozio", "nemmeno", "neofita", "neretto", "nervo", "nessuno", "nettuno", "neutrale", "neve",
16330"nevrotico", "nicchia", "ninfa", "nitido", "nobile", "nocivo", "nodo", "nome", "nomina", "nordico",
16331"normale", "norvegese", "nostrano", "notare", "notizia", "notturno", "novella", "nucleo", "nulla", "numero",
16332"nuovo", "nutrire", "nuvola", "nuziale", "oasi", "obbedire", "obbligo", "obelisco", "oblio", "obolo",
16333"obsoleto", "occasione", "occhio", "occidente", "occorrere", "occultare", "ocra", "oculato", "odierno", "odorare",
16334"offerta", "offrire", "offuscato", "oggetto", "oggi", "ognuno", "olandese", "olfatto", "oliato", "oliva",
16335"ologramma", "oltre", "omaggio", "ombelico", "ombra", "omega", "omissione", "ondoso", "onere", "onice",
16336"onnivoro", "onorevole", "onta", "operato", "opinione", "opposto", "oracolo", "orafo", "ordine", "orecchino",
16337"orefice", "orfano", "organico", "origine", "orizzonte", "orma", "ormeggio", "ornativo", "orologio", "orrendo",
16338"orribile", "ortensia", "ortica", "orzata", "orzo", "osare", "oscurare", "osmosi", "ospedale", "ospite",
16339"ossa", "ossidare", "ostacolo", "oste", "otite", "otre", "ottagono", "ottimo", "ottobre", "ovale",
16340"ovest", "ovino", "oviparo", "ovocito", "ovunque", "ovviare", "ozio", "pacchetto", "pace", "pacifico",
16341"padella", "padrone", "paese", "paga", "pagina", "palazzina", "palesare", "pallido", "palo", "palude",
16342"pandoro", "pannello", "paolo", "paonazzo", "paprica", "parabola", "parcella", "parere", "pargolo", "pari",
16343"parlato", "parola", "partire", "parvenza", "parziale", "passivo", "pasticca", "patacca", "patologia", "pattume",
16344"pavone", "peccato", "pedalare", "pedonale", "peggio", "peloso", "penare", "pendice", "penisola", "pennuto",
16345"penombra", "pensare", "pentola", "pepe", "pepita", "perbene", "percorso", "perdonato", "perforare", "pergamena",
16346"periodo", "permesso", "perno", "perplesso", "persuaso", "pertugio", "pervaso", "pesatore", "pesista", "peso",
16347"pestifero", "petalo", "pettine", "petulante", "pezzo", "piacere", "pianta", "piattino", "piccino", "picozza",
16348"piega", "pietra", "piffero", "pigiama", "pigolio", "pigro", "pila", "pilifero", "pillola", "pilota",
16349"pimpante", "pineta", "pinna", "pinolo", "pioggia", "piombo", "piramide", "piretico", "pirite", "pirolisi",
16350"pitone", "pizzico", "placebo", "planare", "plasma", "platano", "plenario", "pochezza", "poderoso", "podismo",
16351"poesia", "poggiare", "polenta", "poligono", "pollice", "polmonite", "polpetta", "polso", "poltrona", "polvere",
16352"pomice", "pomodoro", "ponte", "popoloso", "porfido", "poroso", "porpora", "porre", "portata", "posa",
16353"positivo", "possesso", "postulato", "potassio", "potere", "pranzo", "prassi", "pratica", "precluso", "predica",
16354"prefisso", "pregiato", "prelievo", "premere", "prenotare", "preparato", "presenza", "pretesto", "prevalso", "prima",
16355"principe", "privato", "problema", "procura", "produrre", "profumo", "progetto", "prolunga", "promessa", "pronome",
16356"proposta", "proroga", "proteso", "prova", "prudente", "prugna", "prurito", "psiche", "pubblico", "pudica",
16357"pugilato", "pugno", "pulce", "pulito", "pulsante", "puntare", "pupazzo", "pupilla", "puro", "quadro",
16358"qualcosa", "quasi", "querela", "quota", "raccolto", "raddoppio", "radicale", "radunato", "raffica", "ragazzo",
16359"ragione", "ragno", "ramarro", "ramingo", "ramo", "randagio", "rantolare", "rapato", "rapina", "rappreso",
16360"rasatura", "raschiato", "rasente", "rassegna", "rastrello", "rata", "ravveduto", "reale", "recepire", "recinto",
16361"recluta", "recondito", "recupero", "reddito", "redimere", "regalato", "registro", "regola", "regresso", "relazione",
16362"remare", "remoto", "renna", "replica", "reprimere", "reputare", "resa", "residente", "responso", "restauro",
16363"rete", "retina", "retorica", "rettifica", "revocato", "riassunto", "ribadire", "ribelle", "ribrezzo", "ricarica",
16364"ricco", "ricevere", "riciclato", "ricordo", "ricreduto", "ridicolo", "ridurre", "rifasare", "riflesso", "riforma",
16365"rifugio", "rigare", "rigettato", "righello", "rilassato", "rilevato", "rimanere", "rimbalzo", "rimedio", "rimorchio",
16366"rinascita", "rincaro", "rinforzo", "rinnovo", "rinomato", "rinsavito", "rintocco", "rinuncia", "rinvenire", "riparato",
16367"ripetuto", "ripieno", "riportare", "ripresa", "ripulire", "risata", "rischio", "riserva", "risibile", "riso",
16368"rispetto", "ristoro", "risultato", "risvolto", "ritardo", "ritegno", "ritmico", "ritrovo", "riunione", "riva",
16369"riverso", "rivincita", "rivolto", "rizoma", "roba", "robotico", "robusto", "roccia", "roco", "rodaggio",
16370"rodere", "roditore", "rogito", "rollio", "romantico", "rompere", "ronzio", "rosolare", "rospo", "rotante",
16371"rotondo", "rotula", "rovescio", "rubizzo", "rubrica", "ruga", "rullino", "rumine", "rumoroso", "ruolo",
16372"rupe", "russare", "rustico", "sabato", "sabbiare", "sabotato", "sagoma", "salasso", "saldatura", "salgemma",
16373"salivare", "salmone", "salone", "saltare", "saluto", "salvo", "sapere", "sapido", "saporito", "saraceno",
16374"sarcasmo", "sarto", "sassoso", "satellite", "satira", "satollo", "saturno", "savana", "savio", "saziato",
16375"sbadiglio", "sbalzo", "sbancato", "sbarra", "sbattere", "sbavare", "sbendare", "sbirciare", "sbloccato", "sbocciato",
16376"sbrinare", "sbruffone", "sbuffare", "scabroso", "scadenza", "scala", "scambiare", "scandalo", "scapola", "scarso",
16377"scatenare", "scavato", "scelto", "scenico", "scettro", "scheda", "schiena", "sciarpa", "scienza", "scindere",
16378"scippo", "sciroppo", "scivolo", "sclerare", "scodella", "scolpito", "scomparto", "sconforto", "scoprire", "scorta",
16379"scossone", "scozzese", "scriba", "scrollare", "scrutinio", "scuderia", "scultore", "scuola", "scuro", "scusare",
16380"sdebitare", "sdoganare", "seccatura", "secondo", "sedano", "seggiola", "segnalato", "segregato", "seguito", "selciato",
16381"selettivo", "sella", "selvaggio", "semaforo", "sembrare", "seme", "seminato", "sempre", "senso", "sentire",
16382"sepolto", "sequenza", "serata", "serbato", "sereno", "serio", "serpente", "serraglio", "servire", "sestina",
16383"setola", "settimana", "sfacelo", "sfaldare", "sfamato", "sfarzoso", "sfaticato", "sfera", "sfida", "sfilato",
16384"sfinge", "sfocato", "sfoderare", "sfogo", "sfoltire", "sforzato", "sfratto", "sfruttato", "sfuggito", "sfumare",
16385"sfuso", "sgabello", "sgarbato", "sgonfiare", "sgorbio", "sgrassato", "sguardo", "sibilo", "siccome", "sierra",
16386"sigla", "signore", "silenzio", "sillaba", "simbolo", "simpatico", "simulato", "sinfonia", "singolo", "sinistro",
16387"sino", "sintesi", "sinusoide", "sipario", "sisma", "sistole", "situato", "slitta", "slogatura", "sloveno",
16388"smarrito", "smemorato", "smentito", "smeraldo", "smilzo", "smontare", "smottato", "smussato", "snellire", "snervato",
16389"snodo", "sobbalzo", "sobrio", "soccorso", "sociale", "sodale", "soffitto", "sogno", "soldato", "solenne",
16390"solido", "sollazzo", "solo", "solubile", "solvente", "somatico", "somma", "sonda", "sonetto", "sonnifero",
16391"sopire", "soppeso", "sopra", "sorgere", "sorpasso", "sorriso", "sorso", "sorteggio", "sorvolato", "sospiro",
16392"sosta", "sottile", "spada", "spalla", "spargere", "spatola", "spavento", "spazzola", "specie", "spedire",
16393"spegnere", "spelatura", "speranza", "spessore", "spettrale", "spezzato", "spia", "spigoloso", "spillato", "spinoso",
16394"spirale", "splendido", "sportivo", "sposo", "spranga", "sprecare", "spronato", "spruzzo", "spuntino", "squillo",
16395"sradicare", "srotolato", "stabile", "stacco", "staffa", "stagnare", "stampato", "stantio", "starnuto", "stasera",
16396"statuto", "stelo", "steppa", "sterzo", "stiletto", "stima", "stirpe", "stivale", "stizzoso", "stonato",
16397"storico", "strappo", "stregato", "stridulo", "strozzare", "strutto", "stuccare", "stufo", "stupendo", "subentro",
16398"succoso", "sudore", "suggerito", "sugo", "sultano", "suonare", "superbo", "supporto", "surgelato", "surrogato",
16399"sussurro", "sutura", "svagare", "svedese", "sveglio", "svelare", "svenuto", "svezia", "sviluppo", "svista",
16400"svizzera", "svolta", "svuotare", "tabacco", "tabulato", "tacciare", "taciturno", "tale", "talismano", "tampone",
16401"tannino", "tara", "tardivo", "targato", "tariffa", "tarpare", "tartaruga", "tasto", "tattico", "taverna",
16402"tavolata", "tazza", "teca", "tecnico", "telefono", "temerario", "tempo", "temuto", "tendone", "tenero",
16403"tensione", "tentacolo", "teorema", "terme", "terrazzo", "terzetto", "tesi", "tesserato", "testato", "tetro",
16404"tettoia", "tifare", "tigella", "timbro", "tinto", "tipico", "tipografo", "tiraggio", "tiro", "titanio",
16405"titolo", "titubante", "tizio", "tizzone", "toccare", "tollerare", "tolto", "tombola", "tomo", "tonfo",
16406"tonsilla", "topazio", "topologia", "toppa", "torba", "tornare", "torrone", "tortora", "toscano", "tossire",
16407"tostatura", "totano", "trabocco", "trachea", "trafila", "tragedia", "tralcio", "tramonto", "transito", "trapano",
16408"trarre", "trasloco", "trattato", "trave", "treccia", "tremolio", "trespolo", "tributo", "tricheco", "trifoglio",
16409"trillo", "trincea", "trio", "tristezza", "triturato", "trivella", "tromba", "trono", "troppo", "trottola",
16410"trovare", "truccato", "tubatura", "tuffato", "tulipano", "tumulto", "tunisia", "turbare", "turchino", "tuta",
16411"tutela", "ubicato", "uccello", "uccisore", "udire", "uditivo", "uffa", "ufficio", "uguale", "ulisse",
16412"ultimato", "umano", "umile", "umorismo", "uncinetto", "ungere", "ungherese", "unicorno", "unificato", "unisono",
16413"unitario", "unte", "uovo", "upupa", "uragano", "urgenza", "urlo", "usanza", "usato", "uscito",
16414"usignolo", "usuraio", "utensile", "utilizzo", "utopia", "vacante", "vaccinato", "vagabondo", "vagliato", "valanga",
16415"valgo", "valico", "valletta", "valoroso", "valutare", "valvola", "vampata", "vangare", "vanitoso", "vano",
16416"vantaggio", "vanvera", "vapore", "varano", "varcato", "variante", "vasca", "vedetta", "vedova", "veduto",
16417"vegetale", "veicolo", "velcro", "velina", "velluto", "veloce", "venato", "vendemmia", "vento", "verace",
16418"verbale", "vergogna", "verifica", "vero", "verruca", "verticale", "vescica", "vessillo", "vestale", "veterano",
16419"vetrina", "vetusto", "viandante", "vibrante", "vicenda", "vichingo", "vicinanza", "vidimare", "vigilia", "vigneto",
16420"vigore", "vile", "villano", "vimini", "vincitore", "viola", "vipera", "virgola", "virologo", "virulento",
16421"viscoso", "visione", "vispo", "vissuto", "visura", "vita", "vitello", "vittima", "vivanda", "vivido",
16422"viziare", "voce", "voga", "volatile", "volere", "volpe", "voragine", "vulcano", "zampogna", "zanna",
16423"zappato", "zattera", "zavorra", "zefiro", "zelante", "zelo", "zenzero", "zerbino", "zibetto", "zinco",
16424"zircone", "zitto", "zolla", "zotico", "zucchero", "zufolo", "zulu", "zuppa"]
dc55c6b0 16425</script>
ab78acc6 16426 <script>/*
3af2954a
IC
16427 * Copyright (c) 2013 Pavol Rusnak
16428 *
16429 * Permission is hereby granted, free of charge, to any person obtaining a copy of
16430 * this software and associated documentation files (the "Software"), to deal in
16431 * the Software without restriction, including without limitation the rights to
16432 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16433 * of the Software, and to permit persons to whom the Software is furnished to do
16434 * so, subject to the following conditions:
16435 *
16436 * The above copyright notice and this permission notice shall be included in all
16437 * copies or substantial portions of the Software.
16438 *
16439 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16440 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16441 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16442 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16443 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16444 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16445 */
16446
16447/*
16448 * Javascript port from python by Ian Coleman
16449 *
80c4dd2a
IC
16450 * Requires code from sjcl
16451 * https://github.com/bitwiseshiftleft/sjcl
3af2954a
IC
16452 */
16453
16454var Mnemonic = function(language) {
16455
16456 var PBKDF2_ROUNDS = 2048;
16457 var RADIX = 2048;
16458
16459 var self = this;
16460 var wordlist = [];
16461
80c4dd2a
IC
16462 var hmacSHA512 = function(key) {
16463 var hasher = new sjcl.misc.hmac(key, sjcl.hash.sha512);
16464 this.encrypt = function() {
16465 return hasher.encrypt.apply(hasher, arguments);
16466 };
16467 };
16468
3af2954a
IC
16469 function init() {
16470 wordlist = WORDLISTS[language];
16471 if (wordlist.length != RADIX) {
16472 err = 'Wordlist should contain ' + RADIX + ' words, but it contains ' + wordlist.length + ' words.';
16473 throw err;
16474 }
16475 }
16476
16477 self.generate = function(strength) {
16478 strength = strength || 128;
16479 var r = strength % 32;
16480 if (r > 0) {
16481 throw 'Strength should be divisible by 32, but it is not (' + r + ').';
16482 }
16483 var hasStrongCrypto = 'crypto' in window && window['crypto'] !== null;
16484 if (!hasStrongCrypto) {
16485 throw 'Mnemonic should be generated with strong randomness, but crypto.getRandomValues is unavailable';
16486 }
16487 var buffer = new Uint8Array(strength / 8);
16488 var data = crypto.getRandomValues(buffer);
16489 return self.toMnemonic(data);
16490 }
16491
80c4dd2a
IC
16492 self.toMnemonic = function(byteArray) {
16493 if (byteArray.length % 4 > 0) {
16494 throw 'Data length in bits should be divisible by 32, but it is not (' + byteArray.length + ' bytes = ' + byteArray.length*8 + ' bits).'
3af2954a
IC
16495 }
16496
16497 //h = hashlib.sha256(data).hexdigest()
80c4dd2a
IC
16498 var data = byteArrayToWordArray(byteArray);
16499 var hash = sjcl.hash.sha256.hash(data);
16500 var h = sjcl.codec.hex.fromBits(hash);
3af2954a
IC
16501
16502 // b is a binary string, eg '00111010101100...'
16503 //b = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8) + \
16504 // bin(int(h, 16))[2:].zfill(256)[:len(data) * 8 / 32]
16505 //
16506 // a = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8)
16507 // c = bin(int(h, 16))[2:].zfill(256)
16508 // d = c[:len(data) * 8 / 32]
80c4dd2a
IC
16509 var a = byteArrayToBinaryString(byteArray);
16510 var c = zfill(hexStringToBinaryString(h), 256);
16511 var d = c.substring(0, byteArray.length * 8 / 32);
3af2954a
IC
16512 // b = line1 + line2
16513 var b = a + d;
16514
16515 var result = [];
16516 var blen = b.length / 11;
16517 for (var i=0; i<blen; i++) {
16518 var idx = parseInt(b.substring(i * 11, (i + 1) * 11), 2);
16519 result.push(wordlist[idx]);
16520 }
0515eeec 16521 return self.joinWords(result);
3af2954a
IC
16522 }
16523
16524 self.check = function(mnemonic) {
0515eeec 16525 var mnemonic = self.splitWords(mnemonic);
18abe53b 16526 if (mnemonic.length == 0 || mnemonic.length % 3 > 0) {
3af2954a
IC
16527 return false
16528 }
16529 // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic)
16530 var idx = [];
16531 for (var i=0; i<mnemonic.length; i++) {
16532 var word = mnemonic[i];
16533 var wordIndex = wordlist.indexOf(word);
16534 if (wordIndex == -1) {
16535 return false;
16536 }
16537 var binaryIndex = zfill(wordIndex.toString(2), 11);
16538 idx.push(binaryIndex);
16539 }
16540 var b = idx.join('');
16541 var l = b.length;
16542 //d = b[:l / 33 * 32]
16543 //h = b[-l / 33:]
16544 var d = b.substring(0, l / 33 * 32);
16545 var h = b.substring(l - l / 33, l);
16546 //nd = binascii.unhexlify(hex(int(d, 2))[2:].rstrip('L').zfill(l / 33 * 8))
80c4dd2a 16547 var nd = binaryStringToWordArray(d);
3af2954a 16548 //nh = bin(int(hashlib.sha256(nd).hexdigest(), 16))[2:].zfill(256)[:l / 33]
80c4dd2a
IC
16549 var ndHash = sjcl.hash.sha256.hash(nd);
16550 var ndHex = sjcl.codec.hex.fromBits(ndHash);
16551 var ndBstr = zfill(hexStringToBinaryString(ndHex), 256);
3af2954a
IC
16552 var nh = ndBstr.substring(0,l/33);
16553 return h == nh;
16554 }
16555
16556 self.toSeed = function(mnemonic, passphrase) {
16557 passphrase = passphrase || '';
0515eeec 16558 mnemonic = self.joinWords(self.splitWords(self.normalizeString(mnemonic))); // removes blanks
3af2954a
IC
16559 passphrase = self.normalizeString(passphrase)
16560 passphrase = "mnemonic" + passphrase;
80c4dd2a
IC
16561 var mnemonicBits = sjcl.codec.utf8String.toBits(mnemonic);
16562 var passphraseBits = sjcl.codec.utf8String.toBits(passphrase);
16563 var result = sjcl.misc.pbkdf2(mnemonicBits, passphraseBits, PBKDF2_ROUNDS, 512, hmacSHA512);
16564 var hashHex = sjcl.codec.hex.fromBits(result);
16565 return hashHex;
3af2954a
IC
16566 }
16567
0515eeec
IC
16568 self.splitWords = function(mnemonic) {
16569 return mnemonic.split(/\s/g).filter(function(x) { return x.length; });
16570 }
16571
16572 self.joinWords = function(words) {
16573 // Set space correctly depending on the language
16574 // see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
16575 var space = " ";
16576 if (language == "japanese") {
16577 space = "\u3000"; // ideographic space
16578 }
16579 return words.join(space);
16580 }
16581
3af2954a
IC
16582 self.normalizeString = function(str) {
16583 if (typeof str.normalize == "function") {
16584 return str.normalize("NFKD");
16585 }
16586 else {
16587 // TODO decide how to handle this in the future.
16588 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
16589 return str;
16590 }
16591 }
16592
80c4dd2a
IC
16593 function byteArrayToWordArray(data) {
16594 var a = [];
16595 for (var i=0; i<data.length/4; i++) {
16596 v = 0;
16597 v += data[i*4 + 0] << 8 * 3;
16598 v += data[i*4 + 1] << 8 * 2;
16599 v += data[i*4 + 2] << 8 * 1;
16600 v += data[i*4 + 3] << 8 * 0;
16601 a.push(v);
16602 }
16603 return a;
16604 }
16605
3af2954a
IC
16606 function byteArrayToBinaryString(data) {
16607 var bin = "";
16608 for (var i=0; i<data.length; i++) {
16609 bin += zfill(data[i].toString(2), 8);
16610 }
16611 return bin;
16612 }
16613
80c4dd2a
IC
16614 function hexStringToBinaryString(hexString) {
16615 binaryString = "";
16616 for (var i=0; i<hexString.length; i++) {
16617 binaryString += zfill(parseInt(hexString[i], 16).toString(2),4);
16618 }
16619 return binaryString;
16620 }
16621
16622 function binaryStringToWordArray(binary) {
16623 var aLen = binary.length / 32;
16624 var a = [];
16625 for (var i=0; i<aLen; i++) {
16626 var valueStr = binary.substring(0,32);
3af2954a 16627 var value = parseInt(valueStr, 2);
80c4dd2a
IC
16628 a.push(value);
16629 binary = binary.slice(32);
3af2954a 16630 }
80c4dd2a 16631 return a;
3af2954a
IC
16632 }
16633
16634 // Pad a numeric string on the left with zero digits until the given width
16635 // is reached.
16636 // Note this differs to the python implementation because it does not
16637 // handle numbers starting with a sign.
16638 function zfill(source, length) {
16639 source = source.toString();
16640 while (source.length < length) {
16641 source = '0' + source;
16642 }
16643 return source;
16644 }
16645
16646 init();
ebd8d4e8 16647
3af2954a 16648}
dc55c6b0 16649</script>
95f04905
IC
16650 <script>/*
16651 JavaScript BigInteger library version 0.9.1
16652 http://silentmatt.com/biginteger/
18abe53b 16653
95f04905
IC
16654 Copyright (c) 2009 Matthew Crumley <email@matthewcrumley.com>
16655 Copyright (c) 2010,2011 by John Tobey <John.Tobey@gmail.com>
16656 Licensed under the MIT license.
c6624d51 16657
95f04905
IC
16658 Support for arbitrary internal representation base was added by
16659 Vitaly Magerya.
16660*/
18abe53b 16661
95f04905
IC
16662/*
16663 File: biginteger.js
18abe53b 16664
95f04905 16665 Exports:
18abe53b 16666
95f04905
IC
16667 <BigInteger>
16668*/
16669(function(exports) {
16670"use strict";
16671/*
16672 Class: BigInteger
16673 An arbitrarily-large integer.
18abe53b 16674
95f04905
IC
16675 <BigInteger> objects should be considered immutable. None of the "built-in"
16676 methods modify *this* or their arguments. All properties should be
16677 considered private.
18abe53b 16678
95f04905
IC
16679 All the methods of <BigInteger> instances can be called "statically". The
16680 static versions are convenient if you don't already have a <BigInteger>
16681 object.
18abe53b 16682
95f04905 16683 As an example, these calls are equivalent.
18abe53b 16684
95f04905
IC
16685 > BigInteger(4).multiply(5); // returns BigInteger(20);
16686 > BigInteger.multiply(4, 5); // returns BigInteger(20);
18abe53b 16687
95f04905
IC
16688 > var a = 42;
16689 > var a = BigInteger.toJSValue("0b101010"); // Not completely useless...
16690*/
c6624d51 16691
95f04905 16692var CONSTRUCT = {}; // Unique token to call "private" version of constructor
c6624d51
IC
16693
16694/*
16695 Constructor: BigInteger()
16696 Convert a value to a <BigInteger>.
16697
16698 Although <BigInteger()> is the constructor for <BigInteger> objects, it is
16699 best not to call it as a constructor. If *n* is a <BigInteger> object, it is
16700 simply returned as-is. Otherwise, <BigInteger()> is equivalent to <parse>
16701 without a radix argument.
16702
16703 > var n0 = BigInteger(); // Same as <BigInteger.ZERO>
16704 > var n1 = BigInteger("123"); // Create a new <BigInteger> with value 123
16705 > var n2 = BigInteger(123); // Create a new <BigInteger> with value 123
16706 > var n3 = BigInteger(n2); // Return n2, unchanged
16707
16708 The constructor form only takes an array and a sign. *n* must be an
16709 array of numbers in little-endian order, where each digit is between 0
16710 and BigInteger.base. The second parameter sets the sign: -1 for
16711 negative, +1 for positive, or 0 for zero. The array is *not copied and
16712 may be modified*. If the array contains only zeros, the sign parameter
16713 is ignored and is forced to zero.
16714
16715 > new BigInteger([5], -1): create a new BigInteger with value -5
16716
16717 Parameters:
16718
16719 n - Value to convert to a <BigInteger>.
16720
16721 Returns:
16722
16723 A <BigInteger> value.
16724
16725 See Also:
16726
16727 <parse>, <BigInteger>
16728*/
16729function BigInteger(n, s, token) {
16730 if (token !== CONSTRUCT) {
16731 if (n instanceof BigInteger) {
16732 return n;
16733 }
16734 else if (typeof n === "undefined") {
16735 return ZERO;
16736 }
16737 return BigInteger.parse(n);
16738 }
16739
16740 n = n || []; // Provide the nullary constructor for subclasses.
16741 while (n.length && !n[n.length - 1]) {
16742 --n.length;
16743 }
16744 this._d = n;
16745 this._s = n.length ? (s || 1) : 0;
16746}
16747
16748BigInteger._construct = function(n, s) {
16749 return new BigInteger(n, s, CONSTRUCT);
16750};
16751
16752// Base-10 speedup hacks in parse, toString, exp10 and log functions
16753// require base to be a power of 10. 10^7 is the largest such power
16754// that won't cause a precision loss when digits are multiplied.
16755var BigInteger_base = 10000000;
16756var BigInteger_base_log10 = 7;
16757
16758BigInteger.base = BigInteger_base;
16759BigInteger.base_log10 = BigInteger_base_log10;
16760
16761var ZERO = new BigInteger([], 0, CONSTRUCT);
16762// Constant: ZERO
16763// <BigInteger> 0.
16764BigInteger.ZERO = ZERO;
16765
16766var ONE = new BigInteger([1], 1, CONSTRUCT);
16767// Constant: ONE
16768// <BigInteger> 1.
16769BigInteger.ONE = ONE;
16770
16771var M_ONE = new BigInteger(ONE._d, -1, CONSTRUCT);
16772// Constant: M_ONE
16773// <BigInteger> -1.
16774BigInteger.M_ONE = M_ONE;
16775
16776// Constant: _0
16777// Shortcut for <ZERO>.
16778BigInteger._0 = ZERO;
16779
16780// Constant: _1
16781// Shortcut for <ONE>.
16782BigInteger._1 = ONE;
16783
16784/*
16785 Constant: small
16786 Array of <BigIntegers> from 0 to 36.
16787
16788 These are used internally for parsing, but useful when you need a "small"
16789 <BigInteger>.
16790
16791 See Also:
16792
16793 <ZERO>, <ONE>, <_0>, <_1>
16794*/
16795BigInteger.small = [
16796 ZERO,
16797 ONE,
16798 /* Assuming BigInteger_base > 36 */
16799 new BigInteger( [2], 1, CONSTRUCT),
16800 new BigInteger( [3], 1, CONSTRUCT),
16801 new BigInteger( [4], 1, CONSTRUCT),
16802 new BigInteger( [5], 1, CONSTRUCT),
16803 new BigInteger( [6], 1, CONSTRUCT),
16804 new BigInteger( [7], 1, CONSTRUCT),
16805 new BigInteger( [8], 1, CONSTRUCT),
16806 new BigInteger( [9], 1, CONSTRUCT),
16807 new BigInteger([10], 1, CONSTRUCT),
16808 new BigInteger([11], 1, CONSTRUCT),
16809 new BigInteger([12], 1, CONSTRUCT),
16810 new BigInteger([13], 1, CONSTRUCT),
16811 new BigInteger([14], 1, CONSTRUCT),
16812 new BigInteger([15], 1, CONSTRUCT),
16813 new BigInteger([16], 1, CONSTRUCT),
16814 new BigInteger([17], 1, CONSTRUCT),
16815 new BigInteger([18], 1, CONSTRUCT),
16816 new BigInteger([19], 1, CONSTRUCT),
16817 new BigInteger([20], 1, CONSTRUCT),
16818 new BigInteger([21], 1, CONSTRUCT),
16819 new BigInteger([22], 1, CONSTRUCT),
16820 new BigInteger([23], 1, CONSTRUCT),
16821 new BigInteger([24], 1, CONSTRUCT),
16822 new BigInteger([25], 1, CONSTRUCT),
16823 new BigInteger([26], 1, CONSTRUCT),
16824 new BigInteger([27], 1, CONSTRUCT),
16825 new BigInteger([28], 1, CONSTRUCT),
16826 new BigInteger([29], 1, CONSTRUCT),
16827 new BigInteger([30], 1, CONSTRUCT),
16828 new BigInteger([31], 1, CONSTRUCT),
16829 new BigInteger([32], 1, CONSTRUCT),
16830 new BigInteger([33], 1, CONSTRUCT),
16831 new BigInteger([34], 1, CONSTRUCT),
16832 new BigInteger([35], 1, CONSTRUCT),
16833 new BigInteger([36], 1, CONSTRUCT)
16834];
16835
16836// Used for parsing/radix conversion
16837BigInteger.digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
16838
16839/*
16840 Method: toString
16841 Convert a <BigInteger> to a string.
16842
16843 When *base* is greater than 10, letters are upper case.
16844
16845 Parameters:
16846
16847 base - Optional base to represent the number in (default is base 10).
16848 Must be between 2 and 36 inclusive, or an Error will be thrown.
16849
16850 Returns:
16851
16852 The string representation of the <BigInteger>.
16853*/
16854BigInteger.prototype.toString = function(base) {
16855 base = +base || 10;
16856 if (base < 2 || base > 36) {
16857 throw new Error("illegal radix " + base + ".");
16858 }
16859 if (this._s === 0) {
16860 return "0";
16861 }
16862 if (base === 10) {
16863 var str = this._s < 0 ? "-" : "";
16864 str += this._d[this._d.length - 1].toString();
16865 for (var i = this._d.length - 2; i >= 0; i--) {
16866 var group = this._d[i].toString();
16867 while (group.length < BigInteger_base_log10) group = '0' + group;
16868 str += group;
16869 }
16870 return str;
16871 }
16872 else {
16873 var numerals = BigInteger.digits;
16874 base = BigInteger.small[base];
16875 var sign = this._s;
16876
16877 var n = this.abs();
16878 var digits = [];
16879 var digit;
16880
16881 while (n._s !== 0) {
16882 var divmod = n.divRem(base);
16883 n = divmod[0];
16884 digit = divmod[1];
16885 // TODO: This could be changed to unshift instead of reversing at the end.
16886 // Benchmark both to compare speeds.
16887 digits.push(numerals[digit.valueOf()]);
16888 }
16889 return (sign < 0 ? "-" : "") + digits.reverse().join("");
16890 }
16891};
16892
16893// Verify strings for parsing
16894BigInteger.radixRegex = [
16895 /^$/,
16896 /^$/,
16897 /^[01]*$/,
16898 /^[012]*$/,
16899 /^[0-3]*$/,
16900 /^[0-4]*$/,
16901 /^[0-5]*$/,
16902 /^[0-6]*$/,
16903 /^[0-7]*$/,
16904 /^[0-8]*$/,
16905 /^[0-9]*$/,
16906 /^[0-9aA]*$/,
16907 /^[0-9abAB]*$/,
16908 /^[0-9abcABC]*$/,
16909 /^[0-9a-dA-D]*$/,
16910 /^[0-9a-eA-E]*$/,
16911 /^[0-9a-fA-F]*$/,
16912 /^[0-9a-gA-G]*$/,
16913 /^[0-9a-hA-H]*$/,
16914 /^[0-9a-iA-I]*$/,
16915 /^[0-9a-jA-J]*$/,
16916 /^[0-9a-kA-K]*$/,
16917 /^[0-9a-lA-L]*$/,
16918 /^[0-9a-mA-M]*$/,
16919 /^[0-9a-nA-N]*$/,
16920 /^[0-9a-oA-O]*$/,
16921 /^[0-9a-pA-P]*$/,
16922 /^[0-9a-qA-Q]*$/,
16923 /^[0-9a-rA-R]*$/,
16924 /^[0-9a-sA-S]*$/,
16925 /^[0-9a-tA-T]*$/,
16926 /^[0-9a-uA-U]*$/,
16927 /^[0-9a-vA-V]*$/,
16928 /^[0-9a-wA-W]*$/,
16929 /^[0-9a-xA-X]*$/,
16930 /^[0-9a-yA-Y]*$/,
16931 /^[0-9a-zA-Z]*$/
16932];
16933
16934/*
16935 Function: parse
16936 Parse a string into a <BigInteger>.
16937
16938 *base* is optional but, if provided, must be from 2 to 36 inclusive. If
16939 *base* is not provided, it will be guessed based on the leading characters
16940 of *s* as follows:
16941
16942 - "0x" or "0X": *base* = 16
16943 - "0c" or "0C": *base* = 8
16944 - "0b" or "0B": *base* = 2
16945 - else: *base* = 10
16946
16947 If no base is provided, or *base* is 10, the number can be in exponential
16948 form. For example, these are all valid:
16949
16950 > BigInteger.parse("1e9"); // Same as "1000000000"
16951 > BigInteger.parse("1.234*10^3"); // Same as 1234
16952 > BigInteger.parse("56789 * 10 ** -2"); // Same as 567
16953
16954 If any characters fall outside the range defined by the radix, an exception
16955 will be thrown.
16956
16957 Parameters:
16958
16959 s - The string to parse.
16960 base - Optional radix (default is to guess based on *s*).
16961
16962 Returns:
16963
16964 a <BigInteger> instance.
16965*/
16966BigInteger.parse = function(s, base) {
16967 // Expands a number in exponential form to decimal form.
16968 // expandExponential("-13.441*10^5") === "1344100";
16969 // expandExponential("1.12300e-1") === "0.112300";
16970 // expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
16971 function expandExponential(str) {
16972 str = str.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/, "e");
16973
16974 return str.replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/, function(x, s, n, f, c) {
16975 c = +c;
16976 var l = c < 0;
16977 var i = n.length + c;
16978 x = (l ? n : f).length;
16979 c = ((c = Math.abs(c)) >= x ? c - x + l : 0);
16980 var z = (new Array(c + 1)).join("0");
16981 var r = n + f;
16982 return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
16983 });
16984 }
16985
16986 s = s.toString();
16987 if (typeof base === "undefined" || +base === 10) {
16988 s = expandExponential(s);
16989 }
16990
16991 var prefixRE;
16992 if (typeof base === "undefined") {
16993 prefixRE = '0[xcb]';
16994 }
16995 else if (base == 16) {
16996 prefixRE = '0x';
16997 }
16998 else if (base == 8) {
16999 prefixRE = '0c';
17000 }
17001 else if (base == 2) {
17002 prefixRE = '0b';
17003 }
17004 else {
17005 prefixRE = '';
17006 }
17007 var parts = new RegExp('^([+\\-]?)(' + prefixRE + ')?([0-9a-z]*)(?:\\.\\d*)?$', 'i').exec(s);
17008 if (parts) {
17009 var sign = parts[1] || "+";
17010 var baseSection = parts[2] || "";
17011 var digits = parts[3] || "";
17012
17013 if (typeof base === "undefined") {
17014 // Guess base
17015 if (baseSection === "0x" || baseSection === "0X") { // Hex
17016 base = 16;
17017 }
17018 else if (baseSection === "0c" || baseSection === "0C") { // Octal
17019 base = 8;
17020 }
17021 else if (baseSection === "0b" || baseSection === "0B") { // Binary
17022 base = 2;
17023 }
17024 else {
17025 base = 10;
17026 }
17027 }
17028 else if (base < 2 || base > 36) {
17029 throw new Error("Illegal radix " + base + ".");
17030 }
17031
17032 base = +base;
17033
17034 // Check for digits outside the range
17035 if (!(BigInteger.radixRegex[base].test(digits))) {
17036 throw new Error("Bad digit for radix " + base);
17037 }
17038
17039 // Strip leading zeros, and convert to array
17040 digits = digits.replace(/^0+/, "").split("");
17041 if (digits.length === 0) {
17042 return ZERO;
17043 }
17044
17045 // Get the sign (we know it's not zero)
17046 sign = (sign === "-") ? -1 : 1;
17047
17048 // Optimize 10
17049 if (base == 10) {
17050 var d = [];
17051 while (digits.length >= BigInteger_base_log10) {
17052 d.push(parseInt(digits.splice(digits.length-BigInteger.base_log10, BigInteger.base_log10).join(''), 10));
17053 }
17054 d.push(parseInt(digits.join(''), 10));
17055 return new BigInteger(d, sign, CONSTRUCT);
17056 }
17057
17058 // Do the conversion
17059 var d = ZERO;
17060 base = BigInteger.small[base];
17061 var small = BigInteger.small;
17062 for (var i = 0; i < digits.length; i++) {
17063 d = d.multiply(base).add(small[parseInt(digits[i], 36)]);
17064 }
17065 return new BigInteger(d._d, sign, CONSTRUCT);
17066 }
17067 else {
17068 throw new Error("Invalid BigInteger format: " + s);
17069 }
17070};
17071
17072/*
17073 Function: add
17074 Add two <BigIntegers>.
17075
17076 Parameters:
17077
17078 n - The number to add to *this*. Will be converted to a <BigInteger>.
17079
17080 Returns:
17081
17082 The numbers added together.
17083
17084 See Also:
17085
17086 <subtract>, <multiply>, <quotient>, <next>
17087*/
17088BigInteger.prototype.add = function(n) {
17089 if (this._s === 0) {
17090 return BigInteger(n);
17091 }
17092
17093 n = BigInteger(n);
17094 if (n._s === 0) {
17095 return this;
17096 }
17097 if (this._s !== n._s) {
17098 n = n.negate();
17099 return this.subtract(n);
17100 }
17101
17102 var a = this._d;
17103 var b = n._d;
17104 var al = a.length;
17105 var bl = b.length;
17106 var sum = new Array(Math.max(al, bl) + 1);
17107 var size = Math.min(al, bl);
17108 var carry = 0;
17109 var digit;
17110
17111 for (var i = 0; i < size; i++) {
17112 digit = a[i] + b[i] + carry;
17113 sum[i] = digit % BigInteger_base;
17114 carry = (digit / BigInteger_base) | 0;
17115 }
17116 if (bl > al) {
17117 a = b;
17118 al = bl;
17119 }
17120 for (i = size; carry && i < al; i++) {
17121 digit = a[i] + carry;
17122 sum[i] = digit % BigInteger_base;
17123 carry = (digit / BigInteger_base) | 0;
17124 }
17125 if (carry) {
17126 sum[i] = carry;
17127 }
17128
17129 for ( ; i < al; i++) {
17130 sum[i] = a[i];
17131 }
17132
17133 return new BigInteger(sum, this._s, CONSTRUCT);
17134};
17135
17136/*
17137 Function: negate
17138 Get the additive inverse of a <BigInteger>.
17139
17140 Returns:
17141
17142 A <BigInteger> with the same magnatude, but with the opposite sign.
17143
17144 See Also:
17145
17146 <abs>
17147*/
17148BigInteger.prototype.negate = function() {
17149 return new BigInteger(this._d, (-this._s) | 0, CONSTRUCT);
17150};
17151
17152/*
17153 Function: abs
17154 Get the absolute value of a <BigInteger>.
17155
17156 Returns:
17157
17158 A <BigInteger> with the same magnatude, but always positive (or zero).
17159
17160 See Also:
17161
17162 <negate>
17163*/
17164BigInteger.prototype.abs = function() {
17165 return (this._s < 0) ? this.negate() : this;
17166};
17167
17168/*
17169 Function: subtract
17170 Subtract two <BigIntegers>.
17171
17172 Parameters:
17173
17174 n - The number to subtract from *this*. Will be converted to a <BigInteger>.
17175
17176 Returns:
17177
17178 The *n* subtracted from *this*.
17179
17180 See Also:
17181
17182 <add>, <multiply>, <quotient>, <prev>
17183*/
17184BigInteger.prototype.subtract = function(n) {
17185 if (this._s === 0) {
17186 return BigInteger(n).negate();
17187 }
17188
17189 n = BigInteger(n);
17190 if (n._s === 0) {
17191 return this;
17192 }
17193 if (this._s !== n._s) {
17194 n = n.negate();
17195 return this.add(n);
17196 }
17197
17198 var m = this;
17199 // negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
17200 if (this._s < 0) {
17201 m = new BigInteger(n._d, 1, CONSTRUCT);
17202 n = new BigInteger(this._d, 1, CONSTRUCT);
17203 }
17204
17205 // Both are positive => a - b
17206 var sign = m.compareAbs(n);
17207 if (sign === 0) {
17208 return ZERO;
17209 }
17210 else if (sign < 0) {
17211 // swap m and n
17212 var t = n;
17213 n = m;
17214 m = t;
17215 }
17216
17217 // a > b
17218 var a = m._d;
17219 var b = n._d;
17220 var al = a.length;
17221 var bl = b.length;
17222 var diff = new Array(al); // al >= bl since a > b
17223 var borrow = 0;
17224 var i;
17225 var digit;
17226
17227 for (i = 0; i < bl; i++) {
17228 digit = a[i] - borrow - b[i];
17229 if (digit < 0) {
17230 digit += BigInteger_base;
17231 borrow = 1;
17232 }
17233 else {
17234 borrow = 0;
17235 }
17236 diff[i] = digit;
17237 }
17238 for (i = bl; i < al; i++) {
17239 digit = a[i] - borrow;
17240 if (digit < 0) {
17241 digit += BigInteger_base;
17242 }
17243 else {
17244 diff[i++] = digit;
17245 break;
17246 }
17247 diff[i] = digit;
17248 }
17249 for ( ; i < al; i++) {
17250 diff[i] = a[i];
17251 }
17252
17253 return new BigInteger(diff, sign, CONSTRUCT);
17254};
17255
17256(function() {
17257 function addOne(n, sign) {
17258 var a = n._d;
17259 var sum = a.slice();
17260 var carry = true;
17261 var i = 0;
17262
17263 while (true) {
17264 var digit = (a[i] || 0) + 1;
17265 sum[i] = digit % BigInteger_base;
17266 if (digit <= BigInteger_base - 1) {
17267 break;
17268 }
17269 ++i;
17270 }
17271
17272 return new BigInteger(sum, sign, CONSTRUCT);
17273 }
17274
17275 function subtractOne(n, sign) {
17276 var a = n._d;
17277 var sum = a.slice();
17278 var borrow = true;
17279 var i = 0;
17280
17281 while (true) {
17282 var digit = (a[i] || 0) - 1;
17283 if (digit < 0) {
17284 sum[i] = digit + BigInteger_base;
17285 }
17286 else {
17287 sum[i] = digit;
17288 break;
17289 }
17290 ++i;
17291 }
17292
17293 return new BigInteger(sum, sign, CONSTRUCT);
17294 }
17295
17296 /*
17297 Function: next
17298 Get the next <BigInteger> (add one).
17299
17300 Returns:
17301
17302 *this* + 1.
17303
17304 See Also:
17305
17306 <add>, <prev>
17307 */
17308 BigInteger.prototype.next = function() {
17309 switch (this._s) {
17310 case 0:
17311 return ONE;
17312 case -1:
17313 return subtractOne(this, -1);
17314 // case 1:
17315 default:
17316 return addOne(this, 1);
17317 }
17318 };
17319
17320 /*
17321 Function: prev
17322 Get the previous <BigInteger> (subtract one).
17323
17324 Returns:
17325
17326 *this* - 1.
17327
17328 See Also:
17329
17330 <next>, <subtract>
17331 */
17332 BigInteger.prototype.prev = function() {
17333 switch (this._s) {
17334 case 0:
17335 return M_ONE;
17336 case -1:
17337 return addOne(this, -1);
17338 // case 1:
17339 default:
17340 return subtractOne(this, 1);
17341 }
17342 };
17343})();
17344
17345/*
17346 Function: compareAbs
17347 Compare the absolute value of two <BigIntegers>.
17348
17349 Calling <compareAbs> is faster than calling <abs> twice, then <compare>.
17350
17351 Parameters:
17352
17353 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17354
17355 Returns:
17356
17357 -1, 0, or +1 if *|this|* is less than, equal to, or greater than *|n|*.
17358
17359 See Also:
17360
17361 <compare>, <abs>
17362*/
17363BigInteger.prototype.compareAbs = function(n) {
17364 if (this === n) {
17365 return 0;
17366 }
17367
17368 if (!(n instanceof BigInteger)) {
17369 if (!isFinite(n)) {
17370 return(isNaN(n) ? n : -1);
17371 }
17372 n = BigInteger(n);
17373 }
17374
17375 if (this._s === 0) {
17376 return (n._s !== 0) ? -1 : 0;
17377 }
17378 if (n._s === 0) {
17379 return 1;
17380 }
17381
17382 var l = this._d.length;
17383 var nl = n._d.length;
17384 if (l < nl) {
17385 return -1;
17386 }
17387 else if (l > nl) {
17388 return 1;
17389 }
17390
17391 var a = this._d;
17392 var b = n._d;
17393 for (var i = l-1; i >= 0; i--) {
17394 if (a[i] !== b[i]) {
17395 return a[i] < b[i] ? -1 : 1;
17396 }
17397 }
17398
17399 return 0;
17400};
17401
17402/*
17403 Function: compare
17404 Compare two <BigIntegers>.
17405
17406 Parameters:
17407
17408 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17409
17410 Returns:
17411
17412 -1, 0, or +1 if *this* is less than, equal to, or greater than *n*.
17413
17414 See Also:
17415
17416 <compareAbs>, <isPositive>, <isNegative>, <isUnit>
17417*/
17418BigInteger.prototype.compare = function(n) {
17419 if (this === n) {
17420 return 0;
17421 }
17422
17423 n = BigInteger(n);
17424
17425 if (this._s === 0) {
17426 return -n._s;
17427 }
17428
17429 if (this._s === n._s) { // both positive or both negative
17430 var cmp = this.compareAbs(n);
17431 return cmp * this._s;
17432 }
17433 else {
17434 return this._s;
17435 }
17436};
17437
17438/*
17439 Function: isUnit
17440 Return true iff *this* is either 1 or -1.
17441
17442 Returns:
17443
17444 true if *this* compares equal to <BigInteger.ONE> or <BigInteger.M_ONE>.
17445
17446 See Also:
17447
17448 <isZero>, <isNegative>, <isPositive>, <compareAbs>, <compare>,
17449 <BigInteger.ONE>, <BigInteger.M_ONE>
17450*/
17451BigInteger.prototype.isUnit = function() {
17452 return this === ONE ||
17453 this === M_ONE ||
17454 (this._d.length === 1 && this._d[0] === 1);
17455};
17456
17457/*
17458 Function: multiply
17459 Multiply two <BigIntegers>.
17460
17461 Parameters:
17462
17463 n - The number to multiply *this* by. Will be converted to a
17464 <BigInteger>.
17465
17466 Returns:
17467
17468 The numbers multiplied together.
17469
17470 See Also:
17471
17472 <add>, <subtract>, <quotient>, <square>
17473*/
17474BigInteger.prototype.multiply = function(n) {
17475 // TODO: Consider adding Karatsuba multiplication for large numbers
17476 if (this._s === 0) {
17477 return ZERO;
17478 }
17479
17480 n = BigInteger(n);
17481 if (n._s === 0) {
17482 return ZERO;
17483 }
17484 if (this.isUnit()) {
17485 if (this._s < 0) {
17486 return n.negate();
17487 }
17488 return n;
17489 }
17490 if (n.isUnit()) {
17491 if (n._s < 0) {
17492 return this.negate();
17493 }
17494 return this;
17495 }
17496 if (this === n) {
17497 return this.square();
17498 }
17499
17500 var r = (this._d.length >= n._d.length);
17501 var a = (r ? this : n)._d; // a will be longer than b
17502 var b = (r ? n : this)._d;
17503 var al = a.length;
17504 var bl = b.length;
17505
17506 var pl = al + bl;
17507 var partial = new Array(pl);
17508 var i;
17509 for (i = 0; i < pl; i++) {
17510 partial[i] = 0;
17511 }
17512
17513 for (i = 0; i < bl; i++) {
17514 var carry = 0;
17515 var bi = b[i];
17516 var jlimit = al + i;
17517 var digit;
17518 for (var j = i; j < jlimit; j++) {
17519 digit = partial[j] + bi * a[j - i] + carry;
17520 carry = (digit / BigInteger_base) | 0;
17521 partial[j] = (digit % BigInteger_base) | 0;
17522 }
17523 if (carry) {
17524 digit = partial[j] + carry;
17525 carry = (digit / BigInteger_base) | 0;
17526 partial[j] = digit % BigInteger_base;
17527 }
17528 }
17529 return new BigInteger(partial, this._s * n._s, CONSTRUCT);
17530};
17531
17532// Multiply a BigInteger by a single-digit native number
17533// Assumes that this and n are >= 0
17534// This is not really intended to be used outside the library itself
17535BigInteger.prototype.multiplySingleDigit = function(n) {
17536 if (n === 0 || this._s === 0) {
17537 return ZERO;
17538 }
17539 if (n === 1) {
17540 return this;
17541 }
17542
17543 var digit;
17544 if (this._d.length === 1) {
17545 digit = this._d[0] * n;
17546 if (digit >= BigInteger_base) {
17547 return new BigInteger([(digit % BigInteger_base)|0,
17548 (digit / BigInteger_base)|0], 1, CONSTRUCT);
17549 }
17550 return new BigInteger([digit], 1, CONSTRUCT);
17551 }
17552
17553 if (n === 2) {
17554 return this.add(this);
17555 }
17556 if (this.isUnit()) {
17557 return new BigInteger([n], 1, CONSTRUCT);
17558 }
17559
17560 var a = this._d;
17561 var al = a.length;
17562
17563 var pl = al + 1;
17564 var partial = new Array(pl);
17565 for (var i = 0; i < pl; i++) {
17566 partial[i] = 0;
17567 }
17568
17569 var carry = 0;
17570 for (var j = 0; j < al; j++) {
17571 digit = n * a[j] + carry;
17572 carry = (digit / BigInteger_base) | 0;
17573 partial[j] = (digit % BigInteger_base) | 0;
17574 }
17575 if (carry) {
17576 partial[j] = carry;
17577 }
17578
17579 return new BigInteger(partial, 1, CONSTRUCT);
17580};
17581
17582/*
17583 Function: square
17584 Multiply a <BigInteger> by itself.
17585
17586 This is slightly faster than regular multiplication, since it removes the
17587 duplicated multiplcations.
17588
17589 Returns:
17590
17591 > this.multiply(this)
17592
17593 See Also:
17594 <multiply>
17595*/
17596BigInteger.prototype.square = function() {
17597 // Normally, squaring a 10-digit number would take 100 multiplications.
17598 // Of these 10 are unique diagonals, of the remaining 90 (100-10), 45 are repeated.
17599 // This procedure saves (N*(N-1))/2 multiplications, (e.g., 45 of 100 multiplies).
17600 // Based on code by Gary Darby, Intellitech Systems Inc., www.DelphiForFun.org
17601
17602 if (this._s === 0) {
17603 return ZERO;
17604 }
17605 if (this.isUnit()) {
17606 return ONE;
17607 }
17608
17609 var digits = this._d;
17610 var length = digits.length;
17611 var imult1 = new Array(length + length + 1);
17612 var product, carry, k;
17613 var i;
17614
17615 // Calculate diagonal
17616 for (i = 0; i < length; i++) {
17617 k = i * 2;
17618 product = digits[i] * digits[i];
17619 carry = (product / BigInteger_base) | 0;
17620 imult1[k] = product % BigInteger_base;
17621 imult1[k + 1] = carry;
17622 }
17623
17624 // Calculate repeating part
17625 for (i = 0; i < length; i++) {
17626 carry = 0;
17627 k = i * 2 + 1;
17628 for (var j = i + 1; j < length; j++, k++) {
17629 product = digits[j] * digits[i] * 2 + imult1[k] + carry;
17630 carry = (product / BigInteger_base) | 0;
17631 imult1[k] = product % BigInteger_base;
17632 }
17633 k = length + i;
17634 var digit = carry + imult1[k];
17635 carry = (digit / BigInteger_base) | 0;
17636 imult1[k] = digit % BigInteger_base;
17637 imult1[k + 1] += carry;
17638 }
17639
17640 return new BigInteger(imult1, 1, CONSTRUCT);
17641};
17642
17643/*
17644 Function: quotient
17645 Divide two <BigIntegers> and truncate towards zero.
17646
17647 <quotient> throws an exception if *n* is zero.
17648
17649 Parameters:
17650
17651 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17652
17653 Returns:
17654
17655 The *this* / *n*, truncated to an integer.
17656
17657 See Also:
17658
17659 <add>, <subtract>, <multiply>, <divRem>, <remainder>
17660*/
17661BigInteger.prototype.quotient = function(n) {
17662 return this.divRem(n)[0];
17663};
17664
17665/*
17666 Function: divide
17667 Deprecated synonym for <quotient>.
17668*/
17669BigInteger.prototype.divide = BigInteger.prototype.quotient;
17670
17671/*
17672 Function: remainder
17673 Calculate the remainder of two <BigIntegers>.
17674
17675 <remainder> throws an exception if *n* is zero.
17676
17677 Parameters:
17678
17679 n - The remainder after *this* is divided *this* by *n*. Will be
17680 converted to a <BigInteger>.
17681
17682 Returns:
17683
17684 *this* % *n*.
17685
17686 See Also:
17687
17688 <divRem>, <quotient>
17689*/
17690BigInteger.prototype.remainder = function(n) {
17691 return this.divRem(n)[1];
17692};
17693
17694/*
17695 Function: divRem
17696 Calculate the integer quotient and remainder of two <BigIntegers>.
17697
17698 <divRem> throws an exception if *n* is zero.
17699
17700 Parameters:
17701
17702 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17703
17704 Returns:
17705
17706 A two-element array containing the quotient and the remainder.
17707
17708 > a.divRem(b)
17709
17710 is exactly equivalent to
17711
17712 > [a.quotient(b), a.remainder(b)]
17713
17714 except it is faster, because they are calculated at the same time.
17715
17716 See Also:
17717
17718 <quotient>, <remainder>
17719*/
17720BigInteger.prototype.divRem = function(n) {
17721 n = BigInteger(n);
17722 if (n._s === 0) {
17723 throw new Error("Divide by zero");
17724 }
17725 if (this._s === 0) {
17726 return [ZERO, ZERO];
17727 }
17728 if (n._d.length === 1) {
17729 return this.divRemSmall(n._s * n._d[0]);
17730 }
17731
17732 // Test for easy cases -- |n1| <= |n2|
17733 switch (this.compareAbs(n)) {
17734 case 0: // n1 == n2
17735 return [this._s === n._s ? ONE : M_ONE, ZERO];
17736 case -1: // |n1| < |n2|
17737 return [ZERO, this];
17738 }
17739
17740 var sign = this._s * n._s;
17741 var a = n.abs();
17742 var b_digits = this._d;
17743 var b_index = b_digits.length;
17744 var digits = n._d.length;
17745 var quot = [];
17746 var guess;
17747
17748 var part = new BigInteger([], 0, CONSTRUCT);
17749
17750 while (b_index) {
17751 part._d.unshift(b_digits[--b_index]);
17752 part = new BigInteger(part._d, 1, CONSTRUCT);
17753
17754 if (part.compareAbs(n) < 0) {
17755 quot.push(0);
17756 continue;
17757 }
17758 if (part._s === 0) {
17759 guess = 0;
17760 }
17761 else {
17762 var xlen = part._d.length, ylen = a._d.length;
17763 var highx = part._d[xlen-1]*BigInteger_base + part._d[xlen-2];
17764 var highy = a._d[ylen-1]*BigInteger_base + a._d[ylen-2];
17765 if (part._d.length > a._d.length) {
17766 // The length of part._d can either match a._d length,
17767 // or exceed it by one.
17768 highx = (highx+1)*BigInteger_base;
17769 }
17770 guess = Math.ceil(highx/highy);
17771 }
17772 do {
17773 var check = a.multiplySingleDigit(guess);
17774 if (check.compareAbs(part) <= 0) {
17775 break;
17776 }
17777 guess--;
17778 } while (guess);
17779
17780 quot.push(guess);
17781 if (!guess) {
17782 continue;
17783 }
17784 var diff = part.subtract(check);
17785 part._d = diff._d.slice();
17786 }
17787
17788 return [new BigInteger(quot.reverse(), sign, CONSTRUCT),
17789 new BigInteger(part._d, this._s, CONSTRUCT)];
17790};
17791
17792// Throws an exception if n is outside of (-BigInteger.base, -1] or
17793// [1, BigInteger.base). It's not necessary to call this, since the
17794// other division functions will call it if they are able to.
17795BigInteger.prototype.divRemSmall = function(n) {
17796 var r;
17797 n = +n;
17798 if (n === 0) {
17799 throw new Error("Divide by zero");
17800 }
17801
17802 var n_s = n < 0 ? -1 : 1;
17803 var sign = this._s * n_s;
17804 n = Math.abs(n);
17805
17806 if (n < 1 || n >= BigInteger_base) {
17807 throw new Error("Argument out of range");
17808 }
17809
17810 if (this._s === 0) {
17811 return [ZERO, ZERO];
17812 }
17813
17814 if (n === 1 || n === -1) {
17815 return [(sign === 1) ? this.abs() : new BigInteger(this._d, sign, CONSTRUCT), ZERO];
17816 }
17817
17818 // 2 <= n < BigInteger_base
17819
17820 // divide a single digit by a single digit
17821 if (this._d.length === 1) {
17822 var q = new BigInteger([(this._d[0] / n) | 0], 1, CONSTRUCT);
17823 r = new BigInteger([(this._d[0] % n) | 0], 1, CONSTRUCT);
17824 if (sign < 0) {
17825 q = q.negate();
17826 }
17827 if (this._s < 0) {
17828 r = r.negate();
17829 }
17830 return [q, r];
17831 }
17832
17833 var digits = this._d.slice();
17834 var quot = new Array(digits.length);
17835 var part = 0;
17836 var diff = 0;
17837 var i = 0;
17838 var guess;
17839
17840 while (digits.length) {
17841 part = part * BigInteger_base + digits[digits.length - 1];
17842 if (part < n) {
17843 quot[i++] = 0;
17844 digits.pop();
17845 diff = BigInteger_base * diff + part;
17846 continue;
17847 }
17848 if (part === 0) {
17849 guess = 0;
17850 }
17851 else {
17852 guess = (part / n) | 0;
17853 }
17854
17855 var check = n * guess;
17856 diff = part - check;
17857 quot[i++] = guess;
17858 if (!guess) {
17859 digits.pop();
17860 continue;
17861 }
17862
17863 digits.pop();
17864 part = diff;
17865 }
17866
17867 r = new BigInteger([diff], 1, CONSTRUCT);
17868 if (this._s < 0) {
17869 r = r.negate();
17870 }
17871 return [new BigInteger(quot.reverse(), sign, CONSTRUCT), r];
17872};
17873
17874/*
17875 Function: isEven
17876 Return true iff *this* is divisible by two.
17877
17878 Note that <BigInteger.ZERO> is even.
17879
17880 Returns:
17881
17882 true if *this* is even, false otherwise.
17883
17884 See Also:
17885
17886 <isOdd>
17887*/
17888BigInteger.prototype.isEven = function() {
17889 var digits = this._d;
17890 return this._s === 0 || digits.length === 0 || (digits[0] % 2) === 0;
17891};
17892
17893/*
17894 Function: isOdd
17895 Return true iff *this* is not divisible by two.
17896
17897 Returns:
17898
17899 true if *this* is odd, false otherwise.
17900
17901 See Also:
17902
17903 <isEven>
17904*/
17905BigInteger.prototype.isOdd = function() {
17906 return !this.isEven();
17907};
17908
17909/*
17910 Function: sign
17911 Get the sign of a <BigInteger>.
17912
17913 Returns:
17914
17915 * -1 if *this* < 0
17916 * 0 if *this* == 0
17917 * +1 if *this* > 0
17918
17919 See Also:
17920
17921 <isZero>, <isPositive>, <isNegative>, <compare>, <BigInteger.ZERO>
17922*/
17923BigInteger.prototype.sign = function() {
17924 return this._s;
17925};
17926
17927/*
17928 Function: isPositive
17929 Return true iff *this* > 0.
17930
17931 Returns:
17932
17933 true if *this*.compare(<BigInteger.ZERO>) == 1.
17934
17935 See Also:
17936
17937 <sign>, <isZero>, <isNegative>, <isUnit>, <compare>, <BigInteger.ZERO>
17938*/
17939BigInteger.prototype.isPositive = function() {
17940 return this._s > 0;
17941};
17942
17943/*
17944 Function: isNegative
17945 Return true iff *this* < 0.
17946
17947 Returns:
17948
17949 true if *this*.compare(<BigInteger.ZERO>) == -1.
17950
17951 See Also:
17952
17953 <sign>, <isPositive>, <isZero>, <isUnit>, <compare>, <BigInteger.ZERO>
17954*/
17955BigInteger.prototype.isNegative = function() {
17956 return this._s < 0;
17957};
17958
17959/*
17960 Function: isZero
17961 Return true iff *this* == 0.
17962
17963 Returns:
17964
17965 true if *this*.compare(<BigInteger.ZERO>) == 0.
17966
17967 See Also:
17968
17969 <sign>, <isPositive>, <isNegative>, <isUnit>, <BigInteger.ZERO>
17970*/
17971BigInteger.prototype.isZero = function() {
17972 return this._s === 0;
17973};
17974
17975/*
17976 Function: exp10
17977 Multiply a <BigInteger> by a power of 10.
17978
17979 This is equivalent to, but faster than
17980
17981 > if (n >= 0) {
17982 > return this.multiply(BigInteger("1e" + n));
17983 > }
17984 > else { // n <= 0
17985 > return this.quotient(BigInteger("1e" + -n));
17986 > }
17987
17988 Parameters:
17989
17990 n - The power of 10 to multiply *this* by. *n* is converted to a
17991 javascipt number and must be no greater than <BigInteger.MAX_EXP>
17992 (0x7FFFFFFF), or an exception will be thrown.
17993
17994 Returns:
17995
17996 *this* * (10 ** *n*), truncated to an integer if necessary.
17997
17998 See Also:
17999
18000 <pow>, <multiply>
18001*/
18002BigInteger.prototype.exp10 = function(n) {
18003 n = +n;
18004 if (n === 0) {
18005 return this;
18006 }
18007 if (Math.abs(n) > Number(MAX_EXP)) {
18008 throw new Error("exponent too large in BigInteger.exp10");
18009 }
18010 // Optimization for this == 0. This also keeps us from having to trim zeros in the positive n case
18011 if (this._s === 0) {
18012 return ZERO;
18013 }
18014 if (n > 0) {
18015 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
18016
18017 for (; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
18018 k._d.unshift(0);
18019 }
18020 if (n == 0)
18021 return k;
18022 k._s = 1;
18023 k = k.multiplySingleDigit(Math.pow(10, n));
18024 return (this._s < 0 ? k.negate() : k);
18025 } else if (-n >= this._d.length*BigInteger_base_log10) {
18026 return ZERO;
18027 } else {
18028 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
18029
18030 for (n = -n; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
18031 k._d.shift();
18032 }
18033 return (n == 0) ? k : k.divRemSmall(Math.pow(10, n))[0];
18034 }
18035};
18036
18037/*
18038 Function: pow
18039 Raise a <BigInteger> to a power.
18040
18041 In this implementation, 0**0 is 1.
18042
18043 Parameters:
18044
18045 n - The exponent to raise *this* by. *n* must be no greater than
18046 <BigInteger.MAX_EXP> (0x7FFFFFFF), or an exception will be thrown.
18047
18048 Returns:
18049
18050 *this* raised to the *nth* power.
18051
18052 See Also:
18053
18054 <modPow>
18055*/
18056BigInteger.prototype.pow = function(n) {
18057 if (this.isUnit()) {
18058 if (this._s > 0) {
18059 return this;
18060 }
18061 else {
18062 return BigInteger(n).isOdd() ? this : this.negate();
18063 }
18064 }
18065
18066 n = BigInteger(n);
18067 if (n._s === 0) {
18068 return ONE;
18069 }
18070 else if (n._s < 0) {
18071 if (this._s === 0) {
18072 throw new Error("Divide by zero");
18073 }
18074 else {
18075 return ZERO;
18076 }
18077 }
18078 if (this._s === 0) {
18079 return ZERO;
18080 }
18081 if (n.isUnit()) {
18082 return this;
18083 }
18084
18085 if (n.compareAbs(MAX_EXP) > 0) {
18086 throw new Error("exponent too large in BigInteger.pow");
18087 }
18088 var x = this;
18089 var aux = ONE;
18090 var two = BigInteger.small[2];
18091
18092 while (n.isPositive()) {
18093 if (n.isOdd()) {
18094 aux = aux.multiply(x);
18095 if (n.isUnit()) {
18096 return aux;
18097 }
18098 }
18099 x = x.square();
18100 n = n.quotient(two);
18101 }
18102
18103 return aux;
18104};
18105
18106/*
18107 Function: modPow
18108 Raise a <BigInteger> to a power (mod m).
18109
18110 Because it is reduced by a modulus, <modPow> is not limited by
18111 <BigInteger.MAX_EXP> like <pow>.
18112
18113 Parameters:
18114
18115 exponent - The exponent to raise *this* by. Must be positive.
18116 modulus - The modulus.
18117
18118 Returns:
18119
18120 *this* ^ *exponent* (mod *modulus*).
18121
18122 See Also:
18123
18124 <pow>, <mod>
18125*/
18126BigInteger.prototype.modPow = function(exponent, modulus) {
18127 var result = ONE;
18128 var base = this;
18129
18130 while (exponent.isPositive()) {
18131 if (exponent.isOdd()) {
18132 result = result.multiply(base).remainder(modulus);
18133 }
18134
18135 exponent = exponent.quotient(BigInteger.small[2]);
18136 if (exponent.isPositive()) {
18137 base = base.square().remainder(modulus);
18138 }
18139 }
18140
18141 return result;
18142};
18143
18144/*
18145 Function: log
18146 Get the natural logarithm of a <BigInteger> as a native JavaScript number.
18147
18148 This is equivalent to
18149
18150 > Math.log(this.toJSValue())
18151
18152 but handles values outside of the native number range.
18153
18154 Returns:
18155
18156 log( *this* )
18157
18158 See Also:
18159
18160 <toJSValue>
18161*/
18162BigInteger.prototype.log = function() {
18163 switch (this._s) {
18164 case 0: return -Infinity;
18165 case -1: return NaN;
18166 default: // Fall through.
18167 }
18168
18169 var l = this._d.length;
18170
18171 if (l*BigInteger_base_log10 < 30) {
18172 return Math.log(this.valueOf());
18173 }
18174
18175 var N = Math.ceil(30/BigInteger_base_log10);
18176 var firstNdigits = this._d.slice(l - N);
18177 return Math.log((new BigInteger(firstNdigits, 1, CONSTRUCT)).valueOf()) + (l - N) * Math.log(BigInteger_base);
18178};
18179
18180/*
18181 Function: valueOf
18182 Convert a <BigInteger> to a native JavaScript integer.
18183
18184 This is called automatically by JavaScipt to convert a <BigInteger> to a
18185 native value.
18186
18187 Returns:
18188
18189 > parseInt(this.toString(), 10)
18190
18191 See Also:
18192
18193 <toString>, <toJSValue>
18194*/
18195BigInteger.prototype.valueOf = function() {
18196 return parseInt(this.toString(), 10);
18197};
18198
18199/*
18200 Function: toJSValue
18201 Convert a <BigInteger> to a native JavaScript integer.
18202
18203 This is the same as valueOf, but more explicitly named.
18204
18205 Returns:
18206
18207 > parseInt(this.toString(), 10)
18208
18209 See Also:
18210
18211 <toString>, <valueOf>
18212*/
18213BigInteger.prototype.toJSValue = function() {
18214 return parseInt(this.toString(), 10);
18215};
18216
18217var MAX_EXP = BigInteger(0x7FFFFFFF);
18218// Constant: MAX_EXP
18219// The largest exponent allowed in <pow> and <exp10> (0x7FFFFFFF or 2147483647).
18220BigInteger.MAX_EXP = MAX_EXP;
18221
18222(function() {
18223 function makeUnary(fn) {
18224 return function(a) {
18225 return fn.call(BigInteger(a));
18226 };
18227 }
18228
18229 function makeBinary(fn) {
18230 return function(a, b) {
18231 return fn.call(BigInteger(a), BigInteger(b));
18232 };
18233 }
18234
18235 function makeTrinary(fn) {
18236 return function(a, b, c) {
18237 return fn.call(BigInteger(a), BigInteger(b), BigInteger(c));
18238 };
18239 }
18240
18241 (function() {
18242 var i, fn;
18243 var unary = "toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(",");
18244 var binary = "compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(",");
18245 var trinary = ["modPow"];
18246
18247 for (i = 0; i < unary.length; i++) {
18248 fn = unary[i];
18249 BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
18250 }
18251
18252 for (i = 0; i < binary.length; i++) {
18253 fn = binary[i];
18254 BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
18255 }
18256
18257 for (i = 0; i < trinary.length; i++) {
18258 fn = trinary[i];
18259 BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
18260 }
18261
18262 BigInteger.exp10 = function(x, n) {
18263 return BigInteger(x).exp10(n);
18264 };
18265 })();
18266})();
18267
18268exports.BigInteger = BigInteger;
18269})(typeof exports !== 'undefined' ? exports : this);
95f04905
IC
18270</script>
18271 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.zxcvbn = f()}})(function(){var define,module,exports;return (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){
18272var adjacency_graphs;adjacency_graphs={qwerty:{"!":["`~",null,null,"2@","qQ",null],'"':[";:","[{","]}",null,null,"/?"],"#":["2@",null,null,"4$","eE","wW"],$:["3#",null,null,"5%","rR","eE"],"%":["4$",null,null,"6^","tT","rR"],"&":["6^",null,null,"8*","uU","yY"],"'":[";:","[{","]}",null,null,"/?"],"(":["8*",null,null,"0)","oO","iI"],")":["9(",null,null,"-_","pP","oO"],"*":["7&",null,null,"9(","iI","uU"],"+":["-_",null,null,null,"]}","[{"],",":["mM","kK","lL",".>",null,null],"-":["0)",null,null,"=+","[{","pP"],".":[",<","lL",";:","/?",null,null],"/":[".>",";:","'\"",null,null,null],0:["9(",null,null,"-_","pP","oO"],1:["`~",null,null,"2@","qQ",null],2:["1!",null,null,"3#","wW","qQ"],3:["2@",null,null,"4$","eE","wW"],4:["3#",null,null,"5%","rR","eE"],5:["4$",null,null,"6^","tT","rR"],6:["5%",null,null,"7&","yY","tT"],7:["6^",null,null,"8*","uU","yY"],8:["7&",null,null,"9(","iI","uU"],9:["8*",null,null,"0)","oO","iI"],":":["lL","pP","[{","'\"","/?",".>"],";":["lL","pP","[{","'\"","/?",".>"],"<":["mM","kK","lL",".>",null,null],"=":["-_",null,null,null,"]}","[{"],">":[",<","lL",";:","/?",null,null],"?":[".>",";:","'\"",null,null,null],"@":["1!",null,null,"3#","wW","qQ"],A:[null,"qQ","wW","sS","zZ",null],B:["vV","gG","hH","nN",null,null],C:["xX","dD","fF","vV",null,null],D:["sS","eE","rR","fF","cC","xX"],E:["wW","3#","4$","rR","dD","sS"],F:["dD","rR","tT","gG","vV","cC"],G:["fF","tT","yY","hH","bB","vV"],H:["gG","yY","uU","jJ","nN","bB"],I:["uU","8*","9(","oO","kK","jJ"],J:["hH","uU","iI","kK","mM","nN"],K:["jJ","iI","oO","lL",",<","mM"],L:["kK","oO","pP",";:",".>",",<"],M:["nN","jJ","kK",",<",null,null],N:["bB","hH","jJ","mM",null,null],O:["iI","9(","0)","pP","lL","kK"],P:["oO","0)","-_","[{",";:","lL"],Q:[null,"1!","2@","wW","aA",null],R:["eE","4$","5%","tT","fF","dD"],S:["aA","wW","eE","dD","xX","zZ"],T:["rR","5%","6^","yY","gG","fF"],U:["yY","7&","8*","iI","jJ","hH"],V:["cC","fF","gG","bB",null,null],W:["qQ","2@","3#","eE","sS","aA"],X:["zZ","sS","dD","cC",null,null],Y:["tT","6^","7&","uU","hH","gG"],Z:[null,"aA","sS","xX",null,null],"[":["pP","-_","=+","]}","'\"",";:"],"\\":["]}",null,null,null,null,null],"]":["[{","=+",null,"\\|",null,"'\""],"^":["5%",null,null,"7&","yY","tT"],_:["0)",null,null,"=+","[{","pP"],"`":[null,null,null,"1!",null,null],a:[null,"qQ","wW","sS","zZ",null],b:["vV","gG","hH","nN",null,null],c:["xX","dD","fF","vV",null,null],d:["sS","eE","rR","fF","cC","xX"],e:["wW","3#","4$","rR","dD","sS"],f:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","yY","hH","bB","vV"],h:["gG","yY","uU","jJ","nN","bB"],i:["uU","8*","9(","oO","kK","jJ"],j:["hH","uU","iI","kK","mM","nN"],k:["jJ","iI","oO","lL",",<","mM"],l:["kK","oO","pP",";:",".>",",<"],m:["nN","jJ","kK",",<",null,null],n:["bB","hH","jJ","mM",null,null],o:["iI","9(","0)","pP","lL","kK"],p:["oO","0)","-_","[{",";:","lL"],q:[null,"1!","2@","wW","aA",null],r:["eE","4$","5%","tT","fF","dD"],s:["aA","wW","eE","dD","xX","zZ"],t:["rR","5%","6^","yY","gG","fF"],u:["yY","7&","8*","iI","jJ","hH"],v:["cC","fF","gG","bB",null,null],w:["qQ","2@","3#","eE","sS","aA"],x:["zZ","sS","dD","cC",null,null],y:["tT","6^","7&","uU","hH","gG"],z:[null,"aA","sS","xX",null,null],"{":["pP","-_","=+","]}","'\"",";:"],"|":["]}",null,null,null,null,null],"}":["[{","=+",null,"\\|",null,"'\""],"~":[null,null,null,"1!",null,null]},dvorak:{"!":["`~",null,null,"2@","'\"",null],'"':[null,"1!","2@",",<","aA",null],"#":["2@",null,null,"4$",".>",",<"],$:["3#",null,null,"5%","pP",".>"],"%":["4$",null,null,"6^","yY","pP"],"&":["6^",null,null,"8*","gG","fF"],"'":[null,"1!","2@",",<","aA",null],"(":["8*",null,null,"0)","rR","cC"],")":["9(",null,null,"[{","lL","rR"],"*":["7&",null,null,"9(","cC","gG"],"+":["/?","]}",null,"\\|",null,"-_"],",":["'\"","2@","3#",".>","oO","aA"],"-":["sS","/?","=+",null,null,"zZ"],".":[",<","3#","4$","pP","eE","oO"],"/":["lL","[{","]}","=+","-_","sS"],0:["9(",null,null,"[{","lL","rR"],1:["`~",null,null,"2@","'\"",null],2:["1!",null,null,"3#",",<","'\""],3:["2@",null,null,"4$",".>",",<"],4:["3#",null,null,"5%","pP",".>"],5:["4$",null,null,"6^","yY","pP"],6:["5%",null,null,"7&","fF","yY"],7:["6^",null,null,"8*","gG","fF"],8:["7&",null,null,"9(","cC","gG"],9:["8*",null,null,"0)","rR","cC"],":":[null,"aA","oO","qQ",null,null],";":[null,"aA","oO","qQ",null,null],"<":["'\"","2@","3#",".>","oO","aA"],"=":["/?","]}",null,"\\|",null,"-_"],">":[",<","3#","4$","pP","eE","oO"],"?":["lL","[{","]}","=+","-_","sS"],"@":["1!",null,null,"3#",",<","'\""],A:[null,"'\"",",<","oO",";:",null],B:["xX","dD","hH","mM",null,null],C:["gG","8*","9(","rR","tT","hH"],D:["iI","fF","gG","hH","bB","xX"],E:["oO",".>","pP","uU","jJ","qQ"],F:["yY","6^","7&","gG","dD","iI"],G:["fF","7&","8*","cC","hH","dD"],H:["dD","gG","cC","tT","mM","bB"],I:["uU","yY","fF","dD","xX","kK"],J:["qQ","eE","uU","kK",null,null],K:["jJ","uU","iI","xX",null,null],L:["rR","0)","[{","/?","sS","nN"],M:["bB","hH","tT","wW",null,null],N:["tT","rR","lL","sS","vV","wW"],O:["aA",",<",".>","eE","qQ",";:"],P:[".>","4$","5%","yY","uU","eE"],Q:[";:","oO","eE","jJ",null,null],R:["cC","9(","0)","lL","nN","tT"],S:["nN","lL","/?","-_","zZ","vV"],T:["hH","cC","rR","nN","wW","mM"],U:["eE","pP","yY","iI","kK","jJ"],V:["wW","nN","sS","zZ",null,null],W:["mM","tT","nN","vV",null,null],X:["kK","iI","dD","bB",null,null],Y:["pP","5%","6^","fF","iI","uU"],Z:["vV","sS","-_",null,null,null],"[":["0)",null,null,"]}","/?","lL"],"\\":["=+",null,null,null,null,null],"]":["[{",null,null,null,"=+","/?"],"^":["5%",null,null,"7&","fF","yY"],_:["sS","/?","=+",null,null,"zZ"],"`":[null,null,null,"1!",null,null],a:[null,"'\"",",<","oO",";:",null],b:["xX","dD","hH","mM",null,null],c:["gG","8*","9(","rR","tT","hH"],d:["iI","fF","gG","hH","bB","xX"],e:["oO",".>","pP","uU","jJ","qQ"],f:["yY","6^","7&","gG","dD","iI"],g:["fF","7&","8*","cC","hH","dD"],h:["dD","gG","cC","tT","mM","bB"],i:["uU","yY","fF","dD","xX","kK"],j:["qQ","eE","uU","kK",null,null],k:["jJ","uU","iI","xX",null,null],l:["rR","0)","[{","/?","sS","nN"],m:["bB","hH","tT","wW",null,null],n:["tT","rR","lL","sS","vV","wW"],o:["aA",",<",".>","eE","qQ",";:"],p:[".>","4$","5%","yY","uU","eE"],q:[";:","oO","eE","jJ",null,null],r:["cC","9(","0)","lL","nN","tT"],s:["nN","lL","/?","-_","zZ","vV"],t:["hH","cC","rR","nN","wW","mM"],u:["eE","pP","yY","iI","kK","jJ"],v:["wW","nN","sS","zZ",null,null],w:["mM","tT","nN","vV",null,null],x:["kK","iI","dD","bB",null,null],y:["pP","5%","6^","fF","iI","uU"],z:["vV","sS","-_",null,null,null],"{":["0)",null,null,"]}","/?","lL"],"|":["=+",null,null,null,null,null],"}":["[{",null,null,null,"=+","/?"],"~":[null,null,null,"1!",null,null]},keypad:{"*":["/",null,null,null,"-","+","9","8"],"+":["9","*","-",null,null,null,null,"6"],"-":["*",null,null,null,null,null,"+","9"],".":["0","2","3",null,null,null,null,null],"/":[null,null,null,null,"*","9","8","7"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6",null,null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","+",null,null,"3","2"],7:[null,null,null,"/","8","5","4",null],8:["7",null,"/","*","9","6","5","4"],9:["8","/","*","-","+",null,"6","5"]},mac_keypad:{"*":["/",null,null,null,null,null,"-","9"],"+":["6","9","-",null,null,null,null,"3"],"-":["9","/","*",null,null,null,"+","6"],".":["0","2","3",null,null,null,null,null],"/":["=",null,null,null,"*","-","9","8"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6","+",null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","-","+",null,"3","2"],7:[null,null,null,"=","8","5","4",null],8:["7",null,"=","/","9","6","5","4"],9:["8","=","/","*","-","+","6","5"],"=":[null,null,null,null,"/","9","8","7"]}},module.exports=adjacency_graphs;
18273
18274},{}],2:[function(require,module,exports){
18275var feedback,scoring;scoring=require("./scoring"),feedback={default_feedback:{warning:"",suggestions:["Use a few words, avoid common phrases","No need for symbols, digits, or uppercase letters"]},get_feedback:function(e,s){var a,t,r,n,o,i;if(0===s.length)return this.default_feedback;if(e>2)return{warning:"",suggestions:[]};for(n=s[0],i=s.slice(1),t=0,r=i.length;t<r;t++)o=i[t],o.token.length>n.token.length&&(n=o);return feedback=this.get_match_feedback(n,1===s.length),a="Add another word or two. Uncommon words are better.",null!=feedback?(feedback.suggestions.unshift(a),null==feedback.warning&&(feedback.warning="")):feedback={warning:"",suggestions:[a]},feedback},get_match_feedback:function(e,s){var a,t;switch(e.pattern){case"dictionary":return this.get_dictionary_match_feedback(e,s);case"spatial":return a=e.graph.toUpperCase(),t=1===e.turns?"Straight rows of keys are easy to guess":"Short keyboard patterns are easy to guess",{warning:t,suggestions:["Use a longer keyboard pattern with more turns"]};case"repeat":return t=1===e.base_token.length?'Repeats like "aaa" are easy to guess':'Repeats like "abcabcabc" are only slightly harder to guess than "abc"',{warning:t,suggestions:["Avoid repeated words and characters"]};case"sequence":return{warning:"Sequences like abc or 6543 are easy to guess",suggestions:["Avoid sequences"]};case"regex":if("recent_year"===e.regex_name)return{warning:"Recent years are easy to guess",suggestions:["Avoid recent years","Avoid years that are associated with you"]};break;case"date":return{warning:"Dates are often easy to guess",suggestions:["Avoid dates and years that are associated with you"]}}},get_dictionary_match_feedback:function(e,s){var a,t,r,n,o;return n="passwords"===e.dictionary_name?!s||e.l33t||e.reversed?e.guesses_log10<=4?"This is similar to a commonly used password":void 0:e.rank<=10?"This is a top-10 common password":e.rank<=100?"This is a top-100 common password":"This is a very common password":"english"===e.dictionary_name?s?"A word by itself is easy to guess":void 0:"surnames"===(a=e.dictionary_name)||"male_names"===a||"female_names"===a?s?"Names and surnames by themselves are easy to guess":"Common names and surnames are easy to guess":"",r=[],o=e.token,o.match(scoring.START_UPPER)?r.push("Capitalization doesn't help very much"):o.match(scoring.ALL_UPPER)&&o.toLowerCase()!==o&&r.push("All-uppercase is almost as easy to guess as all-lowercase"),e.reversed&&e.token.length>=4&&r.push("Reversed words aren't much harder to guess"),e.l33t&&r.push("Predictable substitutions like '@' instead of 'a' don't help very much"),t={warning:n,suggestions:r}}},module.exports=feedback;
18276
18277},{"./scoring":6}],3:[function(require,module,exports){
18278var frequency_lists;frequency_lists={passwords:"123456,password,12345678,qwerty,123456789,12345,1234,111111,1234567,dragon,123123,baseball,abc123,football,monkey,letmein,shadow,master,696969,mustang,666666,qwertyuiop,123321,1234567890,pussy,superman,654321,1qaz2wsx,7777777,fuckyou,qazwsx,jordan,123qwe,000000,killer,trustno1,hunter,harley,zxcvbnm,asdfgh,buster,batman,soccer,tigger,charlie,sunshine,iloveyou,fuckme,ranger,hockey,computer,starwars,asshole,pepper,klaster,112233,zxcvbn,freedom,princess,maggie,pass,ginger,11111111,131313,fuck,love,cheese,159753,summer,chelsea,dallas,biteme,matrix,yankees,6969,corvette,austin,access,thunder,merlin,secret,diamond,hello,hammer,fucker,1234qwer,silver,gfhjkm,internet,samantha,golfer,scooter,test,orange,cookie,q1w2e3r4t5,maverick,sparky,phoenix,mickey,bigdog,snoopy,guitar,whatever,chicken,camaro,mercedes,peanut,ferrari,falcon,cowboy,welcome,sexy,samsung,steelers,smokey,dakota,arsenal,boomer,eagles,tigers,marina,nascar,booboo,gateway,yellow,porsche,monster,spider,diablo,hannah,bulldog,junior,london,purple,compaq,lakers,iceman,qwer1234,hardcore,cowboys,money,banana,ncc1701,boston,tennis,q1w2e3r4,coffee,scooby,123654,nikita,yamaha,mother,barney,brandy,chester,fuckoff,oliver,player,forever,rangers,midnight,chicago,bigdaddy,redsox,angel,badboy,fender,jasper,slayer,rabbit,natasha,marine,bigdick,wizard,marlboro,raiders,prince,casper,fishing,flower,jasmine,iwantu,panties,adidas,winter,winner,gandalf,password1,enter,ghbdtn,1q2w3e4r,golden,cocacola,jordan23,winston,madison,angels,panther,blowme,sexsex,bigtits,spanky,bitch,sophie,asdfasdf,horny,thx1138,toyota,tiger,dick,canada,12344321,blowjob,8675309,muffin,liverpoo,apples,qwerty123,passw0rd,abcd1234,pokemon,123abc,slipknot,qazxsw,123456a,scorpion,qwaszx,butter,startrek,rainbow,asdfghjkl,razz,newyork,redskins,gemini,cameron,qazwsxedc,florida,liverpool,turtle,sierra,viking,booger,butthead,doctor,rocket,159357,dolphins,captain,bandit,jaguar,packers,pookie,peaches,789456,asdf,dolphin,helpme,blue,theman,maxwell,qwertyui,shithead,lovers,maddog,giants,nirvana,metallic,hotdog,rosebud,mountain,warrior,stupid,elephant,suckit,success,bond007,jackass,alexis,porn,lucky,scorpio,samson,q1w2e3,azerty,rush2112,driver,freddy,1q2w3e4r5t,sydney,gators,dexter,red123,123456q,12345a,bubba,creative,voodoo,golf,trouble,america,nissan,gunner,garfield,bullshit,asdfghjk,5150,fucking,apollo,1qazxsw2,2112,eminem,legend,airborne,bear,beavis,apple,brooklyn,godzilla,skippy,4815162342,buddy,qwert,kitten,magic,shelby,beaver,phantom,asdasd,xavier,braves,darkness,blink182,copper,platinum,qweqwe,tomcat,01012011,girls,bigboy,102030,animal,police,online,11223344,voyager,lifehack,12qwaszx,fish,sniper,315475,trinity,blazer,heaven,lover,snowball,playboy,loveme,bubbles,hooters,cricket,willow,donkey,topgun,nintendo,saturn,destiny,pakistan,pumpkin,digital,sergey,redwings,explorer,tits,private,runner,therock,guinness,lasvegas,beatles,789456123,fire,cassie,christin,qwerty1,celtic,asdf1234,andrey,broncos,007007,babygirl,eclipse,fluffy,cartman,michigan,carolina,testing,alexande,birdie,pantera,cherry,vampire,mexico,dickhead,buffalo,genius,montana,beer,minecraft,maximus,flyers,lovely,stalker,metallica,doggie,snickers,speedy,bronco,lol123,paradise,yankee,horses,magnum,dreams,147258369,lacrosse,ou812,goober,enigma,qwertyu,scotty,pimpin,bollocks,surfer,cock,poohbear,genesis,star,asd123,qweasdzxc,racing,hello1,hawaii,eagle1,viper,poopoo,einstein,boobies,12345q,bitches,drowssap,simple,badger,alaska,action,jester,drummer,111222,spitfire,forest,maryjane,champion,diesel,svetlana,friday,hotrod,147258,chevy,lucky1,westside,security,google,badass,tester,shorty,thumper,hitman,mozart,zaq12wsx,boobs,reddog,010203,lizard,a123456,123456789a,ruslan,eagle,1232323q,scarface,qwerty12,147852,a12345,buddha,porno,420420,spirit,money1,stargate,qwe123,naruto,mercury,liberty,12345qwert,semperfi,suzuki,popcorn,spooky,marley,scotland,kitty,cherokee,vikings,simpsons,rascal,qweasd,hummer,loveyou,michael1,patches,russia,jupiter,penguin,passion,cumshot,vfhbyf,honda,vladimir,sandman,passport,raider,bastard,123789,infinity,assman,bulldogs,fantasy,sucker,1234554321,horney,domino,budlight,disney,ironman,usuckballz1,softball,brutus,redrum,bigred,mnbvcxz,fktrcfylh,karina,marines,digger,kawasaki,cougar,fireman,oksana,monday,cunt,justice,nigger,super,wildcats,tinker,logitech,dancer,swordfis,avalon,everton,alexandr,motorola,patriots,hentai,madonna,pussy1,ducati,colorado,connor,juventus,galore,smooth,freeuser,warcraft,boogie,titanic,wolverin,elizabet,arizona,valentin,saints,asdfg,accord,test123,password123,christ,yfnfif,stinky,slut,spiderma,naughty,chopper,hello123,ncc1701d,extreme,skyline,poop,zombie,pearljam,123qweasd,froggy,awesome,vision,pirate,fylhtq,dreamer,bullet,predator,empire,123123a,kirill,charlie1,panthers,penis,skipper,nemesis,rasdzv3,peekaboo,rolltide,cardinal,psycho,danger,mookie,happy1,wanker,chevelle,manutd,goblue,9379992,hobbes,vegeta,fyfcnfcbz,852456,picard,159951,windows,loverboy,victory,vfrcbv,bambam,serega,123654789,turkey,tweety,galina,hiphop,rooster,changeme,berlin,taurus,suckme,polina,electric,avatar,134679,maksim,raptor,alpha1,hendrix,newport,bigcock,brazil,spring,a1b2c3,madmax,alpha,britney,sublime,darkside,bigman,wolfpack,classic,hercules,ronaldo,letmein1,1q2w3e,741852963,spiderman,blizzard,123456789q,cheyenne,cjkysirj,tiger1,wombat,bubba1,pandora,zxc123,holiday,wildcat,devils,horse,alabama,147852369,caesar,12312,buddy1,bondage,pussycat,pickle,shaggy,catch22,leather,chronic,a1b2c3d4,admin,qqq111,qaz123,airplane,kodiak,freepass,billybob,sunset,katana,phpbb,chocolat,snowman,angel1,stingray,firebird,wolves,zeppelin,detroit,pontiac,gundam,panzer,vagina,outlaw,redhead,tarheels,greenday,nastya,01011980,hardon,engineer,dragon1,hellfire,serenity,cobra,fireball,lickme,darkstar,1029384756,01011,mustang1,flash,124578,strike,beauty,pavilion,01012000,bobafett,dbrnjhbz,bigmac,bowling,chris1,ytrewq,natali,pyramid,rulez,welcome1,dodgers,apache,swimming,whynot,teens,trooper,fuckit,defender,precious,135790,packard,weasel,popeye,lucifer,cancer,icecream,142536,raven,swordfish,presario,viktor,rockstar,blonde,james1,wutang,spike,pimp,atlanta,airforce,thailand,casino,lennon,mouse,741852,hacker,bluebird,hawkeye,456123,theone,catfish,sailor,goldfish,nfnmzyf,tattoo,pervert,barbie,maxima,nipples,machine,trucks,wrangler,rocks,tornado,lights,cadillac,bubble,pegasus,madman,longhorn,browns,target,666999,eatme,qazwsx123,microsoft,dilbert,christia,baller,lesbian,shooter,xfiles,seattle,qazqaz,cthutq,amateur,prelude,corona,freaky,malibu,123qweasdzxc,assassin,246810,atlantis,integra,pussies,iloveu,lonewolf,dragons,monkey1,unicorn,software,bobcat,stealth,peewee,openup,753951,srinivas,zaqwsx,valentina,shotgun,trigger,veronika,bruins,coyote,babydoll,joker,dollar,lestat,rocky1,hottie,random,butterfly,wordpass,smiley,sweety,snake,chipper,woody,samurai,devildog,gizmo,maddie,soso123aljg,mistress,freedom1,flipper,express,hjvfirf,moose,cessna,piglet,polaris,teacher,montreal,cookies,wolfgang,scully,fatboy,wicked,balls,tickle,bunny,dfvgbh,foobar,transam,pepsi,fetish,oicu812,basketba,toshiba,hotstuff,sunday,booty,gambit,31415926,impala,stephani,jessica1,hooker,lancer,knicks,shamrock,fuckyou2,stinger,314159,redneck,deftones,squirt,siemens,blaster,trucker,subaru,renegade,ibanez,manson,swinger,reaper,blondie,mylove,galaxy,blahblah,enterpri,travel,1234abcd,babylon5,indiana,skeeter,master1,sugar,ficken,smoke,bigone,sweetpea,fucked,trfnthbyf,marino,escort,smitty,bigfoot,babes,larisa,trumpet,spartan,valera,babylon,asdfghj,yankees1,bigboobs,stormy,mister,hamlet,aardvark,butterfl,marathon,paladin,cavalier,manchester,skater,indigo,hornet,buckeyes,01011990,indians,karate,hesoyam,toronto,diamonds,chiefs,buckeye,1qaz2wsx3edc,highland,hotsex,charger,redman,passwor,maiden,drpepper,storm,pornstar,garden,12345678910,pencil,sherlock,timber,thuglife,insane,pizza,jungle,jesus1,aragorn,1a2b3c,hamster,david1,triumph,techno,lollol,pioneer,catdog,321654,fktrctq,morpheus,141627,pascal,shadow1,hobbit,wetpussy,erotic,consumer,blabla,justme,stones,chrissy,spartak,goforit,burger,pitbull,adgjmptw,italia,barcelona,hunting,colors,kissme,virgin,overlord,pebbles,sundance,emerald,doggy,racecar,irina,element,1478963,zipper,alpine,basket,goddess,poison,nipple,sakura,chichi,huskers,13579,pussys,q12345,ultimate,ncc1701e,blackie,nicola,rommel,matthew1,caserta,omega,geronimo,sammy1,trojan,123qwe123,philips,nugget,tarzan,chicks,aleksandr,bassman,trixie,portugal,anakin,dodger,bomber,superfly,madness,q1w2e3r4t5y6,loser,123asd,fatcat,ybrbnf,soldier,warlock,wrinkle1,desire,sexual,babe,seminole,alejandr,951753,11235813,westham,andrei,concrete,access14,weed,letmein2,ladybug,naked,christop,trombone,tintin,bluesky,rhbcnbyf,qazxswedc,onelove,cdtnkfyf,whore,vfvjxrf,titans,stallion,truck,hansolo,blue22,smiles,beagle,panama,kingkong,flatron,inferno,mongoose,connect,poiuyt,snatch,qawsed,juice,blessed,rocker,snakes,turbo,bluemoon,sex4me,finger,jamaica,a1234567,mulder,beetle,fuckyou1,passat,immortal,plastic,123454321,anthony1,whiskey,dietcoke,suck,spunky,magic1,monitor,cactus,exigen,planet,ripper,teen,spyder,apple1,nolimit,hollywoo,sluts,sticky,trunks,1234321,14789632,pickles,sailing,bonehead,ghbdtnbr,delta,charlott,rubber,911911,112358,molly1,yomama,hongkong,jumper,william1,ilovesex,faster,unreal,cumming,memphis,1123581321,nylons,legion,sebastia,shalom,pentium,geheim,werewolf,funtime,ferret,orion,curious,555666,niners,cantona,sprite,philly,pirates,abgrtyu,lollipop,eternity,boeing,super123,sweets,cooldude,tottenha,green1,jackoff,stocking,7895123,moomoo,martini,biscuit,drizzt,colt45,fossil,makaveli,snapper,satan666,maniac,salmon,patriot,verbatim,nasty,shasta,asdzxc,shaved,blackcat,raistlin,qwerty12345,punkrock,cjkywt,01012010,4128,waterloo,crimson,twister,oxford,musicman,seinfeld,biggie,condor,ravens,megadeth,wolfman,cosmos,sharks,banshee,keeper,foxtrot,gn56gn56,skywalke,velvet,black1,sesame,dogs,squirrel,privet,sunrise,wolverine,sucks,legolas,grendel,ghost,cats,carrot,frosty,lvbnhbq,blades,stardust,frog,qazwsxed,121314,coolio,brownie,groovy,twilight,daytona,vanhalen,pikachu,peanuts,licker,hershey,jericho,intrepid,ninja,1234567a,zaq123,lobster,goblin,punisher,strider,shogun,kansas,amadeus,seven7,jason1,neptune,showtime,muscle,oldman,ekaterina,rfrfirf,getsome,showme,111222333,obiwan,skittles,danni,tanker,maestro,tarheel,anubis,hannibal,anal,newlife,gothic,shark,fighter,blue123,blues,123456z,princes,slick,chaos,thunder1,sabine,1q2w3e4r5t6y,python,test1,mirage,devil,clover,tequila,chelsea1,surfing,delete,potato,chubby,panasonic,sandiego,portland,baggins,fusion,sooners,blackdog,buttons,californ,moscow,playtime,mature,1a2b3c4d,dagger,dima,stimpy,asdf123,gangster,warriors,iverson,chargers,byteme,swallow,liquid,lucky7,dingdong,nymets,cracker,mushroom,456852,crusader,bigguy,miami,dkflbvbh,bugger,nimrod,tazman,stranger,newpass,doodle,powder,gotcha,guardian,dublin,slapshot,septembe,147896325,pepsi1,milano,grizzly,woody1,knights,photos,2468,nookie,charly,rammstein,brasil,123321123,scruffy,munchkin,poopie,123098,kittycat,latino,walnut,1701,thegame,viper1,1passwor,kolobok,picasso,robert1,barcelon,bananas,trance,auburn,coltrane,eatshit,goodluck,starcraft,wheels,parrot,postal,blade,wisdom,pink,gorilla,katerina,pass123,andrew1,shaney14,dumbass,osiris,fuck_inside,oakland,discover,ranger1,spanking,lonestar,bingo,meridian,ping,heather1,dookie,stonecol,megaman,192837465,rjntyjr,ledzep,lowrider,25802580,richard1,firefly,griffey,racerx,paradox,ghjcnj,gangsta,zaq1xsw2,tacobell,weezer,sirius,halflife,buffett,shiloh,123698745,vertigo,sergei,aliens,sobaka,keyboard,kangaroo,sinner,soccer1,0.0.000,bonjour,socrates,chucky,hotboy,sprint,0007,sarah1,scarlet,celica,shazam,formula1,sommer,trebor,qwerasdf,jeep,mailcreated5240,bollox,asshole1,fuckface,honda1,rebels,vacation,lexmark,penguins,12369874,ragnarok,formula,258456,tempest,vfhecz,tacoma,qwertz,colombia,flames,rockon,duck,prodigy,wookie,dodgeram,mustangs,123qaz,sithlord,smoker,server,bang,incubus,scoobydo,oblivion,molson,kitkat,titleist,rescue,zxcv1234,carpet,1122,bigballs,tardis,jimbob,xanadu,blueeyes,shaman,mersedes,pooper,pussy69,golfing,hearts,mallard,12312312,kenwood,patrick1,dogg,cowboys1,oracle,123zxc,nuttertools,102938,topper,1122334455,shemale,sleepy,gremlin,yourmom,123987,gateway1,printer,monkeys,peterpan,mikey,kingston,cooler,analsex,jimbo,pa55word,asterix,freckles,birdman,frank1,defiant,aussie,stud,blondes,tatyana,445566,aspirine,mariners,jackal,deadhead,katrin,anime,rootbeer,frogger,polo,scooter1,hallo,noodles,thomas1,parola,shaolin,celine,11112222,plymouth,creampie,justdoit,ohyeah,fatass,assfuck,amazon,1234567q,kisses,magnus,camel,nopass,bosco,987456,6751520,harley1,putter,champs,massive,spidey,lightnin,camelot,letsgo,gizmodo,aezakmi,bones,caliente,12121,goodtime,thankyou,raiders1,brucelee,redalert,aquarius,456654,catherin,smokin,pooh,mypass,astros,roller,porkchop,sapphire,qwert123,kevin1,a1s2d3f4,beckham,atomic,rusty1,vanilla,qazwsxedcrfv,hunter1,kaktus,cxfcnmt,blacky,753159,elvis1,aggies,blackjac,bangkok,scream,123321q,iforgot,power1,kasper,abc12,buster1,slappy,shitty,veritas,chevrole,amber1,01012001,vader,amsterdam,jammer,primus,spectrum,eduard,granny,horny1,sasha1,clancy,usa123,satan,diamond1,hitler,avenger,1221,spankme,123456qwerty,simba,smudge,scrappy,labrador,john316,syracuse,front242,falcons,husker,candyman,commando,gator,pacman,delta1,pancho,krishna,fatman,clitoris,pineappl,lesbians,8j4ye3uz,barkley,vulcan,punkin,boner,celtics,monopoly,flyboy,romashka,hamburg,123456aa,lick,gangbang,223344,area51,spartans,aaa111,tricky,snuggles,drago,homerun,vectra,homer1,hermes,topcat,cuddles,infiniti,1234567890q,cosworth,goose,phoenix1,killer1,ivanov,bossman,qawsedrf,peugeot,exigent,doberman,durango,brandon1,plumber,telefon,horndog,laguna,rbhbkk,dawg,webmaster,breeze,beast,porsche9,beefcake,leopard,redbull,oscar1,topdog,godsmack,theking,pics,omega1,speaker,viktoria,fuckers,bowler,starbuck,gjkbyf,valhalla,anarchy,blacks,herbie,kingpin,starfish,nokia,loveit,achilles,906090,labtec,ncc1701a,fitness,jordan1,brando,arsenal1,bull,kicker,napass,desert,sailboat,bohica,tractor,hidden,muppet,jackson1,jimmy1,terminator,phillies,pa55w0rd,terror,farside,swingers,legacy,frontier,butthole,doughboy,jrcfyf,tuesday,sabbath,daniel1,nebraska,homers,qwertyuio,azamat,fallen,agent007,striker,camels,iguana,looker,pinkfloy,moloko,qwerty123456,dannyboy,luckydog,789654,pistol,whocares,charmed,skiing,select,franky,puppy,daniil,vladik,vette,vfrcbvrf,ihateyou,nevada,moneys,vkontakte,mandingo,puppies,666777,mystic,zidane,kotenok,dilligaf,budman,bunghole,zvezda,123457,triton,golfball,technics,trojans,panda,laptop,rookie,01011991,15426378,aberdeen,gustav,jethro,enterprise,igor,stripper,filter,hurrican,rfnthbyf,lespaul,gizmo1,butch,132435,dthjybrf,1366613,excalibu,963852,nofear,momoney,possum,cutter,oilers,moocow,cupcake,gbpltw,batman1,splash,svetik,super1,soleil,bogdan,melissa1,vipers,babyboy,tdutybq,lancelot,ccbill,keystone,passwort,flamingo,firefox,dogman,vortex,rebel,noodle,raven1,zaphod,killme,pokemon1,coolman,danila,designer,skinny,kamikaze,deadman,gopher,doobie,warhammer,deeznuts,freaks,engage,chevy1,steve1,apollo13,poncho,hammers,azsxdc,dracula,000007,sassy,bitch1,boots,deskjet,12332,macdaddy,mighty,rangers1,manchest,sterlin,casey1,meatball,mailman,sinatra,cthulhu,summer1,bubbas,cartoon,bicycle,eatpussy,truelove,sentinel,tolkien,breast,capone,lickit,summit,123456k,peter1,daisy1,kitty1,123456789z,crazy1,jamesbon,texas1,sexygirl,362436,sonic,billyboy,redhot,microsof,microlab,daddy1,rockets,iloveyo,fernand,gordon24,danie,cutlass,polska,star69,titties,pantyhos,01011985,thekid,aikido,gofish,mayday,1234qwe,coke,anfield,sony,lansing,smut,scotch,sexx,catman,73501505,hustler,saun,dfkthbz,passwor1,jenny1,azsxdcfv,cheers,irish1,gabrie,tinman,orioles,1225,charlton,fortuna,01011970,airbus,rustam,xtreme,bigmoney,zxcasd,retard,grumpy,huskies,boxing,4runner,kelly1,ultima,warlord,fordf150,oranges,rotten,asdfjkl,superstar,denali,sultan,bikini,saratoga,thor,figaro,sixers,wildfire,vladislav,128500,sparta,mayhem,greenbay,chewie,music1,number1,cancun,fabie,mellon,poiuytrewq,cloud9,crunch,bigtime,chicken1,piccolo,bigbird,321654987,billy1,mojo,01011981,maradona,sandro,chester1,bizkit,rjirfrgbde,789123,rightnow,jasmine1,hyperion,treasure,meatloaf,armani,rovers,jarhead,01011986,cruise,coconut,dragoon,utopia,davids,cosmo,rfhbyf,reebok,1066,charli,giorgi,sticks,sayang,pass1234,exodus,anaconda,zaqxsw,illini,woofwoof,emily1,sandy1,packer,poontang,govols,jedi,tomato,beaner,cooter,creamy,lionking,happy123,albatros,poodle,kenworth,dinosaur,greens,goku,happyday,eeyore,tsunami,cabbage,holyshit,turkey50,memorex,chaser,bogart,orgasm,tommy1,volley,whisper,knopka,ericsson,walleye,321123,pepper1,katie1,chickens,tyler1,corrado,twisted,100000,zorro,clemson,zxcasdqwe,tootsie,milana,zenith,fktrcfylhf,shania,frisco,polniypizdec0211,crazybab,junebug,fugazi,rereirf,vfvekz,1001,sausage,vfczyz,koshka,clapton,justin1,anhyeuem,condom,fubar,hardrock,skywalker,tundra,cocks,gringo,150781,canon,vitalik,aspire,stocks,samsung1,applepie,abc12345,arjay,gandalf1,boob,pillow,sparkle,gmoney,rockhard,lucky13,samiam,everest,hellyeah,bigsexy,skorpion,rfrnec,hedgehog,australi,candle,slacker,dicks,voyeur,jazzman,america1,bobby1,br0d3r,wolfie,vfksirf,1qa2ws3ed,13243546,fright,yosemite,temp,karolina,fart,barsik,surf,cheetah,baddog,deniska,starship,bootie,milena,hithere,kume,greatone,dildo,50cent,0.0.0.000,albion,amanda1,midget,lion,maxell,football1,cyclone,freeporn,nikola,bonsai,kenshin,slider,balloon,roadkill,killbill,222333,jerkoff,78945612,dinamo,tekken,rambler,goliath,cinnamon,malaka,backdoor,fiesta,packers1,rastaman,fletch,sojdlg123aljg,stefano,artemis,calico,nyjets,damnit,robotech,duchess,rctybz,hooter,keywest,18436572,hal9000,mechanic,pingpong,operator,presto,sword,rasputin,spank,bristol,faggot,shado,963852741,amsterda,321456,wibble,carrera,alibaba,majestic,ramses,duster,route66,trident,clipper,steeler,wrestlin,divine,kipper,gotohell,kingfish,snake1,passwords,buttman,pompey,viagra,zxcvbnm1,spurs,332211,slutty,lineage2,oleg,macross,pooter,brian1,qwert1,charles1,slave,jokers,yzerman,swimmer,ne1469,nwo4life,solnce,seamus,lolipop,pupsik,moose1,ivanova,secret1,matador,love69,420247,ktyjxrf,subway,cinder,vermont,pussie,chico,florian,magick,guiness,allsop,ghetto,flash1,a123456789,typhoon,dfkthf,depeche,skydive,dammit,seeker,fuckthis,crysis,kcj9wx5n,umbrella,r2d2c3po,123123q,snoopdog,critter,theboss,ding,162534,splinter,kinky,cyclops,jayhawk,456321,caramel,qwer123,underdog,caveman,onlyme,grapes,feather,hotshot,fuckher,renault,george1,sex123,pippen,000001,789987,floppy,cunts,megapass,1000,pornos,usmc,kickass,great1,quattro,135246,wassup,helloo,p0015123,nicole1,chivas,shannon1,bullseye,java,fishes,blackhaw,jamesbond,tunafish,juggalo,dkflbckfd,123789456,dallas1,translator,122333,beanie,alucard,gfhjkm123,supersta,magicman,ashley1,cohiba,xbox360,caligula,12131415,facial,7753191,dfktynbyf,cobra1,cigars,fang,klingon,bob123,safari,looser,10203,deepthroat,malina,200000,tazmania,gonzo,goalie,jacob1,monaco,cruiser,misfit,vh5150,tommyboy,marino13,yousuck,sharky,vfhufhbnf,horizon,absolut,brighton,123456r,death1,kungfu,maxx,forfun,mamapapa,enter1,budweise,banker,getmoney,kostya,qazwsx12,bigbear,vector,fallout,nudist,gunners,royals,chainsaw,scania,trader,blueboy,walrus,eastside,kahuna,qwerty1234,love123,steph,01011989,cypress,champ,undertaker,ybrjkfq,europa,snowboar,sabres,moneyman,chrisbln,minime,nipper,groucho,whitey,viewsonic,penthous,wolf359,fabric,flounder,coolguy,whitesox,passme,smegma,skidoo,thanatos,fucku2,snapple,dalejr,mondeo,thesims,mybaby,panasoni,sinbad,thecat,topher,frodo,sneakers,q123456,z1x2c3,alfa,chicago1,taylor1,ghjcnjnfr,cat123,olivier,cyber,titanium,0420,madison1,jabroni,dang,hambone,intruder,holly1,gargoyle,sadie1,static,poseidon,studly,newcastl,sexxxx,poppy,johannes,danzig,beastie,musica,buckshot,sunnyday,adonis,bluedog,bonkers,2128506,chrono,compute,spawn,01011988,turbo1,smelly,wapbbs,goldstar,ferrari1,778899,quantum,pisces,boomboom,gunnar,1024,test1234,florida1,nike,superman1,multiplelo,custom,motherlode,1qwerty,westwood,usnavy,apple123,daewoo,korn,stereo,sasuke,sunflowe,watcher,dharma,555777,mouse1,assholes,babyblue,123qwerty,marius,walmart,snoop,starfire,tigger1,paintbal,knickers,aaliyah,lokomotiv,theend,winston1,sapper,rover,erotica,scanner,racer,zeus,sexy69,doogie,bayern,joshua1,newbie,scott1,losers,droopy,outkast,martin1,dodge1,wasser,ufkbyf,rjycnfynby,thirteen,12345z,112211,hotred,deejay,hotpussy,192837,jessic,philippe,scout,panther1,cubbies,havefun,magpie,fghtkm,avalanch,newyork1,pudding,leonid,harry1,cbr600,audia4,bimmer,fucku,01011984,idontknow,vfvfgfgf,1357,aleksey,builder,01011987,zerocool,godfather,mylife,donuts,allmine,redfish,777888,sascha,nitram,bounce,333666,smokes,1x2zkg8w,rodman,stunner,zxasqw12,hoosier,hairy,beretta,insert,123456s,rtyuehe,francesc,tights,cheese1,micron,quartz,hockey1,gegcbr,searay,jewels,bogey,paintball,celeron,padres,bing,syncmaster,ziggy,simon1,beaches,prissy,diehard,orange1,mittens,aleksandra,queens,02071986,biggles,thongs,southpark,artur,twinkle,gretzky,rabota,cambiami,monalisa,gollum,chuckles,spike1,gladiator,whisky,spongebob,sexy1,03082006,mazafaka,meathead,4121,ou8122,barefoot,12345678q,cfitymrf,bigass,a1s2d3,kosmos,blessing,titty,clevelan,terrapin,ginger1,johnboy,maggot,clarinet,deeznutz,336699,stumpy,stoney,footbal,traveler,volvo,bucket,snapon,pianoman,hawkeyes,futbol,casanova,tango,goodboy,scuba,honey1,sexyman,warthog,mustard,abc1234,nickel,10203040,meowmeow,1012,boricua,prophet,sauron,12qwas,reefer,andromeda,crystal1,joker1,90210,goofy,loco,lovesex,triangle,whatsup,mellow,bengals,monster1,maste,01011910,lover1,love1,123aaa,sunshin,smeghead,hokies,sting,welder,rambo,cerberus,bunny1,rockford,monke,1q2w3e4r5,goldwing,gabriell,buzzard,crjhgbjy,james007,rainman,groove,tiberius,purdue,nokia6300,hayabusa,shou,jagger,diver,zigzag,poochie,usarmy,phish,redwood,redwing,12345679,salamander,silver1,abcd123,sputnik,boobie,ripple,eternal,12qw34er,thegreat,allstar,slinky,gesperrt,mishka,whiskers,pinhead,overkill,sweet1,rhfcjnrf,montgom240,sersolution,jamie1,starman,proxy,swords,nikolay,bacardi,rasta,badgirl,rebecca1,wildman,penny1,spaceman,1007,10101,logan1,hacked,bulldog1,helmet,windsor,buffy1,runescape,trapper,123451,banane,dbrnjh,ripken,12345qwe,frisky,shun,fester,oasis,lightning,ib6ub9,cicero,kool,pony,thedog,784512,01011992,megatron,illusion,edward1,napster,11223,squash,roadking,woohoo,19411945,hoosiers,01091989,tracker,bagira,midway,leavemealone,br549,14725836,235689,menace,rachel1,feng,laser,stoned,realmadrid,787898,balloons,tinkerbell,5551212,maria1,pobeda,heineken,sonics,moonlight,optimus,comet,orchid,02071982,jaybird,kashmir,12345678a,chuang,chunky,peach,mortgage,rulezzz,saleen,chuckie,zippy,fishing1,gsxr750,doghouse,maxim,reader,shai,buddah,benfica,chou,salomon,meister,eraser,blackbir,bigmike,starter,pissing,angus,deluxe,eagles1,hardcock,135792468,mian,seahawks,godfathe,bookworm,gregor,intel,talisman,blackjack,babyface,hawaiian,dogfood,zhong,01011975,sancho,ludmila,medusa,mortimer,123456654321,roadrunn,just4me,stalin,01011993,handyman,alphabet,pizzas,calgary,clouds,password2,cgfhnfr,f**k,cubswin,gong,lexus,max123,xxx123,digital1,gfhjkm1,7779311,missy1,michae,beautifu,gator1,1005,pacers,buddie,chinook,heckfy,dutchess,sally1,breasts,beowulf,darkman,jenn,tiffany1,zhei,quan,qazwsx1,satana,shang,idontkno,smiths,puddin,nasty1,teddybea,valkyrie,passwd,chao,boxster,killers,yoda,cheater,inuyasha,beast1,wareagle,foryou,dragonball,mermaid,bhbirf,teddy1,dolphin1,misty1,delphi,gromit,sponge,qazzaq,fytxrf,gameover,diao,sergi,beamer,beemer,kittykat,rancid,manowar,adam12,diggler,assword,austin1,wishbone,gonavy,sparky1,fisting,thedude,sinister,1213,venera,novell,salsero,jayden,fuckoff1,linda1,vedder,02021987,1pussy,redline,lust,jktymrf,02011985,dfcbkbq,dragon12,chrome,gamecube,titten,cong,bella1,leng,02081988,eureka,bitchass,147369,banner,lakota,123321a,mustafa,preacher,hotbox,02041986,z1x2c3v4,playstation,01011977,claymore,electra,checkers,zheng,qing,armagedon,02051986,wrestle,svoboda,bulls,nimbus,alenka,madina,newpass6,onetime,aa123456,bartman,02091987,silverad,electron,12345t,devil666,oliver1,skylar,rhtdtlrj,gobucks,johann,12011987,milkman,02101985,camper,thunderb,bigbutt,jammin,davide,cheeks,goaway,lighter,claudi,thumbs,pissoff,ghostrider,cocaine,teng,squall,lotus,hootie,blackout,doitnow,subzero,02031986,marine1,02021988,pothead,123456qw,skate,1369,peng,antoni,neng,miao,bcfields,1492,marika,794613,musashi,tulips,nong,piao,chai,ruan,southpar,02061985,nude,mandarin,654123,ninjas,cannabis,jetski,xerxes,zhuang,kleopatra,dickie,bilbo,pinky,morgan1,1020,1017,dieter,baseball1,tottenham,quest,yfnfkmz,dirtbike,1234567890a,mango,jackson5,ipswich,iamgod,02011987,tdutybz,modena,qiao,slippery,qweasd123,bluefish,samtron,toon,111333,iscool,02091986,petrov,fuzzy,zhou,1357924680,mollydog,deng,02021986,1236987,pheonix,zhun,ghblehjr,othello,starcraf,000111,sanfran,a11111,cameltoe,badman,vasilisa,jiang,1qaz2ws,luan,sveta,12qw12,akira,chuai,369963,cheech,beatle,pickup,paloma,01011983,caravan,elizaveta,gawker,banzai,pussey,mullet,seng,bingo1,bearcat,flexible,farscape,borussia,zhuai,templar,guitar1,toolman,yfcntymrf,chloe1,xiang,slave1,guai,nuggets,02081984,mantis,slim,scorpio1,fyutkbyf,thedoors,02081987,02061986,123qq123,zappa,fergie,7ugd5hip2j,huai,asdfzxcv,sunflower,pussyman,deadpool,bigtit,01011982,love12,lassie,skyler,gatorade,carpedie,jockey,mancity,spectre,02021984,cameron1,artemka,reng,02031984,iomega,jing,moritz,spice,rhino,spinner,heater,zhai,hover,talon,grease,qiong,corleone,ltybcrf,tian,cowboy1,hippie,chimera,ting,alex123,02021985,mickey1,corsair,sonoma,aaron1,xxxpass,bacchus,webmaste,chuo,xyz123,chrysler,spurs1,artem,shei,cosmic,01020304,deutsch,gabriel1,123455,oceans,987456321,binladen,latinas,a12345678,speedo,buttercu,02081989,21031988,merlot,millwall,ceng,kotaku,jiong,dragonba,2580,stonecold,snuffy,01011999,02011986,hellos,blaze,maggie1,slapper,istanbul,bonjovi,babylove,mazda,bullfrog,phoeni,meng,porsche1,nomore,02061989,bobdylan,capslock,orion1,zaraza,teddybear,ntktajy,myname,rong,wraith,mets,niao,02041984,smokie,chevrolet,dialog,gfhjkmgfhjkm,dotcom,vadim,monarch,athlon,mikey1,hamish,pian,liang,coolness,chui,thoma,ramones,ciccio,chippy,eddie1,house1,ning,marker,cougars,jackpot,barbados,reds,pdtplf,knockers,cobalt,amateurs,dipshit,napoli,kilroy,pulsar,jayhawks,daemon,alexey,weng,shuang,9293709b13,shiner,eldorado,soulmate,mclaren,golfer1,andromed,duan,50spanks,sexyboy,dogshit,02021983,shuo,kakashka,syzygy,111111a,yeahbaby,qiang,netscape,fulham,120676,gooner,zhui,rainbow6,laurent,dog123,halifax,freeway,carlitos,147963,eastwood,microphone,monkey12,1123,persik,coldbeer,geng,nuan,danny1,fgtkmcby,entropy,gadget,just4fun,sophi,baggio,carlito,1234567891,02021989,02041983,specialk,piramida,suan,bigblue,salasana,hopeful,mephisto,bailey1,hack,annie1,generic,violetta,spencer1,arcadia,02051983,hondas,9562876,trainer,jones1,smashing,liao,159632,iceberg,rebel1,snooker,temp123,zang,matteo,fastball,q2w3e4r5,bamboo,fuckyo,shutup,astro,buddyboy,nikitos,redbird,maxxxx,shitface,02031987,kuai,kissmyass,sahara,radiohea,1234asdf,wildcard,maxwell1,patric,plasma,heynow,bruno1,shao,bigfish,misfits,sassy1,sheng,02011988,02081986,testpass,nanook,cygnus,licking,slavik,pringles,xing,1022,ninja1,submit,dundee,tiburon,pinkfloyd,yummy,shuai,guang,chopin,obelix,insomnia,stroker,1a2s3d4f,1223,playboy1,lazarus,jorda,spider1,homerj,sleeper,02041982,darklord,cang,02041988,02041987,tripod,magician,jelly,telephon,15975,vsjasnel12,pasword,iverson3,pavlov,homeboy,gamecock,amigo,brodie,budapest,yjdsqgfhjkm,reckless,02011980,pang,tiger123,2469,mason1,orient,01011979,zong,cdtnbr,maksimka,1011,bushido,taxman,giorgio,sphinx,kazantip,02101984,concorde,verizon,lovebug,georg,sam123,seadoo,qazwsxedc123,jiao,jezebel,pharmacy,abnormal,jellybea,maxime,puffy,islander,bunnies,jiggaman,drakon,010180,pluto,zhjckfd,12365,classics,crusher,mordor,hooligan,strawberry,02081985,scrabble,hawaii50,1224,wg8e3wjf,cthtuf,premium,arrow,123456qwe,mazda626,ramrod,tootie,rhjrjlbk,ghost1,1211,bounty,niang,02071984,goat,killer12,sweetnes,porno1,masamune,426hemi,corolla,mariposa,hjccbz,doomsday,bummer,blue12,zhao,bird33,excalibur,samsun,kirsty,buttfuck,kfhbcf,zhuo,marcello,ozzy,02021982,dynamite,655321,master12,123465,lollypop,stepan,1qa2ws,spiker,goirish,callum,michael2,moonbeam,attila,henry1,lindros,andrea1,sporty,lantern,12365478,nextel,violin,volcom,998877,water1,imation,inspiron,dynamo,citadel,placebo,clowns,tiao,02061988,tripper,dabears,haggis,merlin1,02031985,anthrax,amerika,iloveme,vsegda,burrito,bombers,snowboard,forsaken,katarina,a1a2a3,woofer,tigger2,fullmoon,tiger2,spock,hannah1,snoopy1,sexxxy,sausages,stanislav,cobain,robotics,exotic,green123,mobydick,senators,pumpkins,fergus,asddsa,147741,258852,windsurf,reddevil,vfitymrf,nevermind,nang,woodland,4417,mick,shui,q1q2q3,wingman,69696,superb,zuan,ganesh,pecker,zephyr,anastasiya,icu812,larry1,02081982,broker,zalupa,mihail,vfibyf,dogger,7007,paddle,varvara,schalke,1z2x3c,presiden,yankees2,tuning,poopy,02051982,concord,vanguard,stiffy,rjhjktdf,felix1,wrench,firewall,boxer,bubba69,popper,02011984,temppass,gobears,cuan,tipper,fuckme1,kamila,thong,puss,bigcat,drummer1,02031982,sowhat,digimon,tigers1,rang,jingle,bian,uranus,soprano,mandy1,dusty1,fandango,aloha,pumpkin1,postman,02061980,dogcat,bombay,pussy123,onetwo,highheel,pippo,julie1,laura1,pepito,beng,smokey1,stylus,stratus,reload,duckie,karen1,jimbo1,225588,369258,krusty,snappy,asdf12,electro,111qqq,kuang,fishin,clit,abstr,christma,qqqqq1,1234560,carnage,guyver,boxers,kittens,zeng,1000000,qwerty11,toaster,cramps,yugioh,02061987,icehouse,zxcvbnm123,pineapple,namaste,harrypotter,mygirl,falcon1,earnhard,fender1,spikes,nutmeg,01081989,dogboy,02091983,369852,softail,mypassword,prowler,bigboss,1112,harvest,heng,jubilee,killjoy,basset,keng,zaqxswcde,redsox1,biao,titan,misfit99,robot,wifey,kidrock,02101987,gameboy,enrico,1z2x3c4v,broncos1,arrows,havana,banger,cookie1,chriss,123qw,platypus,cindy1,lumber,pinball,foxy,london1,1023,05051987,02041985,password12,superma,longbow,radiohead,nigga,12051988,spongebo,qwert12345,abrakadabra,dodgers1,02101989,chillin,niceguy,pistons,hookup,santafe,bigben,jets,1013,vikings1,mankind,viktoriya,beardog,hammer1,02071980,reddwarf,magelan,longjohn,jennife,gilles,carmex2,02071987,stasik,bumper,doofus,slamdunk,pixies,garion,steffi,alessandro,beerman,niceass,warrior1,honolulu,134679852,visa,johndeer,mother1,windmill,boozer,oatmeal,aptiva,busty,delight,tasty,slick1,bergkamp,badgers,guitars,puffin,02091981,nikki1,irishman,miller1,zildjian,123000,airwolf,magnet,anai,install,02041981,02061983,astra,romans,megan1,mudvayne,freebird,muscles,dogbert,02091980,02091984,snowflak,01011900,mang,joseph1,nygiants,playstat,junior1,vjcrdf,qwer12,webhompas,giraffe,pelican,jefferso,comanche,bruiser,monkeybo,kjkszpj,123456l,micro,albany,02051987,angel123,epsilon,aladin,death666,hounddog,josephin,altima,chilly,02071988,78945,ultra,02041979,gasman,thisisit,pavel,idunno,kimmie,05051985,paulie,ballin,medion,moondog,manolo,pallmall,climber,fishbone,genesis1,153624,toffee,tbone,clippers,krypton,jerry1,picturs,compass,111111q,02051988,1121,02081977,sairam,getout,333777,cobras,22041987,bigblock,severin,booster,norwich,whiteout,ctrhtn,123456m,02061984,hewlett,shocker,fuckinside,02031981,chase1,white1,versace,123456789s,basebal,iloveyou2,bluebell,08031986,anthon,stubby,foreve,undertak,werder,saiyan,mama123,medic,chipmunk,mike123,mazdarx7,qwe123qwe,bowwow,kjrjvjnbd,celeb,choochoo,demo,lovelife,02051984,colnago,lithium,02051989,15051981,zzzxxx,welcom,anastasi,fidelio,franc,26061987,roadster,stone55,drifter,hookem,hellboy,1234qw,cbr900rr,sinned,good123654,storm1,gypsy,zebra,zachary1,toejam,buceta,02021979,testing1,redfox,lineage,mike1,highbury,koroleva,nathan1,washingt,02061982,02091985,vintage,redbaron,dalshe,mykids,11051987,macbeth,julien,james123,krasotka,111000,10011986,987123,pipeline,tatarin,sensei,codered,komodo,frogman,7894561230,nascar24,juicy,01031988,redrose,mydick,pigeon,tkbpfdtnf,smirnoff,1215,spam,winner1,flyfish,moskva,81fukkc,21031987,olesya,starligh,summer99,13041988,fishhead,freesex,super12,06061986,azazel,scoobydoo,02021981,cabron,yogibear,sheba1,konstantin,tranny,chilli,terminat,ghbywtccf,slowhand,soccer12,cricket1,fuckhead,1002,seagull,achtung,blam,bigbob,bdsm,nostromo,survivor,cnfybckfd,lemonade,boomer1,rainbow1,rober,irinka,cocksuck,peaches1,itsme,sugar1,zodiac,upyours,dinara,135791,sunny1,chiara,johnson1,02041989,solitude,habibi,sushi,markiz,smoke1,rockies,catwoman,johnny1,qwerty7,bearcats,username,01011978,wanderer,ohshit,02101986,sigma,stephen1,paradigm,02011989,flanker,sanity,jsbach,spotty,bologna,fantasia,chevys,borabora,cocker,74108520,123ewq,12021988,01061990,gtnhjdbx,02071981,01011960,sundevil,3000gt,mustang6,gagging,maggi,armstron,yfnfkb,13041987,revolver,02021976,trouble1,madcat,jeremy1,jackass1,volkswag,30051985,corndog,pool6123,marines1,03041991,pizza1,piggy,sissy,02031979,sunfire,angelus,undead,24061986,14061991,wildbill,shinobi,45m2do5bs,123qwer,21011989,cleopatr,lasvega,hornets,amorcit,11081989,coventry,nirvana1,destin,sidekick,20061988,02081983,gbhfvblf,sneaky,bmw325,22021989,nfytxrf,sekret,kalina,zanzibar,hotone,qazws,wasabi,heidi1,highlander,blues1,hitachi,paolo,23041987,slayer1,simba1,02011981,tinkerbe,kieran,01121986,172839,boiler,1125,bluesman,waffle,asdfgh01,threesom,conan,1102,reflex,18011987,nautilus,everlast,fatty,vader1,01071986,cyborg,ghbdtn123,birddog,rubble,02071983,suckers,02021973,skyhawk,12qw12qw,dakota1,joebob,nokia6233,woodie,longdong,lamer,troll,ghjcnjgfhjkm,420000,boating,nitro,armada,messiah,1031,penguin1,02091989,americ,02071989,redeye,asdqwe123,07071987,monty1,goten,spikey,sonata,635241,tokiohotel,sonyericsson,citroen,compaq1,1812,umpire,belmont,jonny,pantera1,nudes,palmtree,14111986,fenway,bighead,razor,gryphon,andyod22,aaaaa1,taco,10031988,enterme,malachi,dogface,reptile,01041985,dindom,handball,marseille,candy1,19101987,torino,tigge,matthias,viewsoni,13031987,stinker,evangelion,24011985,123456123,rampage,sandrine,02081980,thecrow,astral,28041987,sprinter,private1,seabee,shibby,02101988,25081988,fearless,junkie,01091987,aramis,antelope,draven,fuck1,mazda6,eggman,02021990,barselona,buddy123,19061987,fyfnjkbq,nancy1,12121990,10071987,sluggo,kille,hotties,irishka,zxcasdqwe123,shamus,fairlane,honeybee,soccer10,13061986,fantomas,17051988,10051987,20111986,gladiato,karachi,gambler,gordo,01011995,biatch,matthe,25800852,papito,excite,buffalo1,bobdole,cheshire,player1,28021992,thewho,10101986,pinky1,mentor,tomahawk,brown1,03041986,bismillah,bigpoppa,ijrjkfl,01121988,runaway,08121986,skibum,studman,helper,squeak,holycow,manfred,harlem,glock,gideon,987321,14021985,yellow1,wizard1,margarit,success1,medved,sf49ers,lambda,pasadena,johngalt,quasar,1776,02031980,coldplay,amand,playa,bigpimp,04041991,capricorn,elefant,sweetness,bruce1,luca,dominik,10011990,biker,09051945,datsun,elcamino,trinitro,malice,audi,voyager1,02101983,joe123,carpente,spartan1,mario1,glamour,diaper,12121985,22011988,winter1,asimov,callisto,nikolai,pebble,02101981,vendetta,david123,boytoy,11061985,02031989,iloveyou1,stupid1,cayman,casper1,zippo,yamahar1,wildwood,foxylady,calibra,02041980,27061988,dungeon,leedsutd,30041986,11051990,bestbuy,antares,dominion,24680,01061986,skillet,enforcer,derparol,01041988,196969,29071983,f00tball,purple1,mingus,25031987,21031990,remingto,giggles,klaste,3x7pxr,01011994,coolcat,29051989,megane,20031987,02051980,04041988,synergy,0000007,macman,iforget,adgjmp,vjqgfhjkm,28011987,rfvfcenhf,16051989,25121987,16051987,rogue,mamamia,08051990,20091991,1210,carnival,bolitas,paris1,dmitriy,dimas,05051989,papillon,knuckles,29011985,hola,tophat,28021990,100500,cutiepie,devo,415263,ducks,ghjuhfvvf,asdqwe,22021986,freefall,parol,02011983,zarina,buste,vitamin,warez,bigones,17061988,baritone,jamess,twiggy,mischief,bitchy,hetfield,1003,dontknow,grinch,sasha_007,18061990,12031985,12031987,calimero,224466,letmei,15011987,acmilan,alexandre,02031977,08081988,whiteboy,21051991,barney1,02071978,money123,18091985,bigdawg,02031988,cygnusx1,zoloto,31011987,firefigh,blowfish,screamer,lfybbk,20051988,chelse,11121986,01031989,harddick,sexylady,30031988,02041974,auditt,pizdec,kojak,kfgjxrf,20091988,123456ru,wp2003wp,1204,15051990,slugger,kordell1,03031986,swinging,01011974,02071979,rockie,dimples,1234123,1dragon,trucking,rusty2,roger1,marijuana,kerouac,02051978,08031985,paco,thecure,keepout,kernel,noname123,13121985,francisc,bozo,02011982,22071986,02101979,obsidian,12345qw,spud,tabasco,02051985,jaguars,dfktynby,kokomo,popova,notused,sevens,4200,magneto,02051976,roswell,15101986,21101986,lakeside,bigbang,aspen,little1,14021986,loki,suckmydick,strawber,carlos1,nokian73,dirty1,joshu,25091987,16121987,02041975,advent,17011987,slimshady,whistler,10101990,stryker,22031984,15021985,01031985,blueball,26031988,ksusha,bahamut,robocop,w_pass,chris123,impreza,prozac,bookie,bricks,13021990,alice1,cassandr,11111q,john123,4ever,korova,02051973,142857,25041988,paramedi,eclipse1,salope,07091990,1124,darkangel,23021986,999666,nomad,02051981,smackdow,01021990,yoyoma,argentin,moonligh,57chevy,bootys,hardone,capricor,galant,spanker,dkflbr,24111989,magpies,krolik,21051988,cevthrb,cheddar,22041988,bigbooty,scuba1,qwedsa,duffman,bukkake,acura,johncena,sexxy,p@ssw0rd,258369,cherries,12345s,asgard,leopold,fuck123,mopar,lalakers,dogpound,matrix1,crusty,spanner,kestrel,fenris,universa,peachy,assasin,lemmein,eggplant,hejsan,canucks,wendy1,doggy1,aikman,tupac,turnip,godlike,fussball,golden1,19283746,april1,django,petrova,captain1,vincent1,ratman,taekwondo,chocha,serpent,perfect1,capetown,vampir,amore,gymnast,timeout,nbvjatq,blue32,ksenia,k.lvbkf,nazgul,budweiser,clutch,mariya,sylveste,02051972,beaker,cartman1,q11111,sexxx,forever1,loser1,marseill,magellan,vehpbr,sexgod,jktxrf,hallo123,132456,liverpool1,southpaw,seneca,camden,357159,camero,tenchi,johndoe,145236,roofer,741963,vlad,02041978,fktyrf,zxcv123,wingnut,wolfpac,notebook,pufunga7782,brandy1,biteme1,goodgirl,redhat,02031978,challeng,millenium,hoops,maveric,noname,angus1,gaell,onion,olympus,sabrina1,ricard,sixpack,gratis,gagged,camaross,hotgirls,flasher,02051977,bubba123,goldfing,moonshin,gerrard,volkov,sonyfuck,mandrake,258963,tracer,lakers1,asians,susan1,money12,helmut,boater,diablo2,1234zxcv,dogwood,bubbles1,happy2,randy1,aries,beach1,marcius2,navigator,goodie,hellokitty,fkbyjxrf,earthlink,lookout,jumbo,opendoor,stanley1,marie1,12345m,07071977,ashle,wormix,murzik,02081976,lakewood,bluejays,loveya,commande,gateway2,peppe,01011976,7896321,goth,oreo,slammer,rasmus,faith1,knight1,stone1,redskin,ironmaiden,gotmilk,destiny1,dejavu,1master,midnite,timosha,espresso,delfin,toriamos,oberon,ceasar,markie,1a2s3d,ghhh47hj7649,vjkjrj,daddyo,dougie,disco,auggie,lekker,therock1,ou8123,start1,noway,p4ssw0rd,shadow12,333444,saigon,2fast4u,capecod,23skidoo,qazxcv,beater,bremen,aaasss,roadrunner,peace1,12345qwer,02071975,platon,bordeaux,vbkfirf,135798642,test12,supernov,beatles1,qwert40,optimist,vanessa1,prince1,ilovegod,nightwish,natasha1,alchemy,bimbo,blue99,patches1,gsxr1000,richar,hattrick,hott,solaris,proton,nevets,enternow,beavis1,amigos,159357a,ambers,lenochka,147896,suckdick,shag,intercourse,blue1234,spiral,02061977,tosser,ilove,02031975,cowgirl,canuck,q2w3e4,munch,spoons,waterboy,123567,evgeniy,savior,zasada,redcar,mamacita,terefon,globus,doggies,htubcnhfwbz,1008,cuervo,suslik,azertyui,limewire,houston1,stratfor,steaua,coors,tennis1,12345qwerty,stigmata,derf,klondike,patrici,marijuan,hardball,odyssey,nineinch,boston1,pass1,beezer,sandr,charon,power123,a1234,vauxhall,875421,awesome1,reggae,boulder,funstuff,iriska,krokodil,rfntymrf,sterva,champ1,bball,peeper,m123456,toolbox,cabernet,sheepdog,magic32,pigpen,02041977,holein1,lhfrjy,banan,dabomb,natalie1,jennaj,montana1,joecool,funky,steven1,ringo,junio,sammy123,qqqwww,baltimor,footjob,geezer,357951,mash4077,cashmone,pancake,monic,grandam,bongo,yessir,gocubs,nastia,vancouve,barley,dragon69,watford,ilikepie,02071976,laddie,123456789m,hairball,toonarmy,pimpdadd,cvthnm,hunte,davinci,lback,sophie1,firenze,q1234567,admin1,bonanza,elway7,daman,strap,azert,wxcvbn,afrika,theforce,123456t,idefix,wolfen,houdini,scheisse,default,beech,maserati,02061976,sigmachi,dylan1,bigdicks,eskimo,mizzou,02101976,riccardo,egghead,111777,kronos,ghbrjk,chaos1,jomama,rfhnjirf,rodeo,dolemite,cafc91,nittany,pathfind,mikael,password9,vqsablpzla,purpl,gabber,modelsne,myxworld,hellsing,punker,rocknrol,fishon,fuck69,02041976,lolol,twinkie,tripleh,cirrus,redbone,killer123,biggun,allegro,gthcbr,smith1,wanking,bootsy,barry1,mohawk,koolaid,5329,futurama,samoht,klizma,996633,lobo,honeys,peanut1,556677,zxasqw,joemama,javelin,samm,223322,sandra1,flicks,montag,nataly,3006,tasha1,1235789,dogbone,poker1,p0o9i8u7,goodday,smoothie,toocool,max333,metroid,archange,vagabond,billabon,22061941,tyson1,02031973,darkange,skateboard,evolutio,morrowind,wizards,frodo1,rockin,cumslut,plastics,zaqwsxcde,5201314,doit,outback,bumble,dominiqu,persona,nevermore,alinka,02021971,forgetit,sexo,all4one,c2h5oh,petunia,sheeba,kenny1,elisabet,aolsucks,woodstoc,pumper,02011975,fabio,granada,scrapper,123459,minimoni,q123456789,breaker,1004,02091976,ncc74656,slimshad,friendster,austin31,wiseguy,donner,dilbert1,132465,blackbird,buffet,jellybean,barfly,behappy,01011971,carebear,fireblad,02051975,boxcar,cheeky,kiteboy,hello12,panda1,elvisp,opennow,doktor,alex12,02101977,pornking,flamengo,02091975,snowbird,lonesome,robin1,11111a,weed420,baracuda,bleach,12345abc,nokia1,metall,singapor,mariner,herewego,dingo,tycoon,cubs,blunts,proview,123456789d,kamasutra,lagnaf,vipergts,navyseal,starwar,masterbate,wildone,peterbil,cucumber,butkus,123qwert,climax,deniro,gotribe,cement,scooby1,summer69,harrier,shodan,newyear,02091977,starwars1,romeo1,sedona,harald,doubled,sasha123,bigguns,salami,awnyce,kiwi,homemade,pimping,azzer,bradley1,warhamme,linkin,dudeman,qwe321,pinnacle,maxdog,flipflop,lfitymrf,fucker1,acidburn,esquire,sperma,fellatio,jeepster,thedon,sexybitch,pookey,spliff,widget,vfntvfnbrf,trinity1,mutant,samuel1,meliss,gohome,1q2q3q,mercede,comein,grin,cartoons,paragon,henrik,rainyday,pacino,senna,bigdog1,alleycat,12345qaz,narnia,mustang2,tanya1,gianni,apollo11,wetter,clovis,escalade,rainbows,freddy1,smart1,daisydog,s123456,cocksucker,pushkin,lefty,sambo,fyutkjxtr,hiziad,boyz,whiplash,orchard,newark,adrenalin,1598753,bootsie,chelle,trustme,chewy,golfgti,tuscl,ambrosia,5wr2i7h8,penetration,shonuf,jughead,payday,stickman,gotham,kolokol,johnny5,kolbasa,stang,puppydog,charisma,gators1,mone,jakarta,draco,nightmar,01011973,inlove,laetitia,02091973,tarpon,nautica,meadow,0192837465,luckyone,14881488,chessie,goldeney,tarakan,69camaro,bungle,wordup,interne,fuckme2,515000,dragonfl,sprout,02081974,gerbil,bandit1,02071971,melanie1,phialpha,camber,kathy1,adriano,gonzo1,10293847,bigjohn,bismarck,7777777a,scamper,12348765,rabbits,222777,bynthytn,dima123,alexander1,mallorca,dragster,favorite6,beethove,burner,cooper1,fosters,hello2,normandy,777999,sebring,1michael,lauren1,blake1,killa,02091971,nounours,trumpet1,thumper1,playball,xantia,rugby1,rocknroll,guillaum,angela1,strelok,prosper,buttercup,masterp,dbnfkbr,cambridg,venom,treefrog,lumina,1234566,supra,sexybabe,freee,shen,frogs,driller,pavement,grace1,dicky,checker,smackdown,pandas,cannibal,asdffdsa,blue42,zyjxrf,nthvbyfnjh,melrose,neon,jabber,gamma,369258147,aprilia,atticus,benessere,catcher,skipper1,azertyuiop,sixty9,thierry,treetop,jello,melons,123456789qwe,tantra,buzzer,catnip,bouncer,computer1,sexyone,ananas,young1,olenka,sexman,mooses,kittys,sephiroth,contra,hallowee,skylark,sparkles,777333,1qazxsw23edc,lucas1,q1w2e3r,gofast,hannes,amethyst,ploppy,flower2,hotass,amatory,volleyba,dixie1,bettyboo,ticklish,02061974,frenchy,phish1,murphy1,trustno,02061972,leinad,mynameis,spooge,jupiter1,hyundai,frosch,junkmail,abacab,marbles,32167,casio,sunshine1,wayne1,longhair,caster,snicker,02101973,gannibal,skinhead,hansol,gatsby,segblue2,montecar,plato,gumby,kaboom,matty,bosco1,888999,jazzy,panter,jesus123,charlie2,giulia,candyass,sex69,travis1,farmboy,special1,02041973,letsdoit,password01,allison1,abcdefg1,notredam,ilikeit,789654123,liberty1,rugger,uptown,alcatraz,123456w,airman,007bond,navajo,kenobi,terrier,stayout,grisha,frankie1,fluff,1qazzaq1,1234561,virginie,1234568,tango1,werdna,octopus,fitter,dfcbkbcf,blacklab,115599,montrose,allen1,supernova,frederik,ilovepussy,justice1,radeon,playboy2,blubber,sliver,swoosh,motocros,lockdown,pearls,thebear,istheman,pinetree,biit,1234rewq,rustydog,tampabay,titts,babycake,jehovah,vampire1,streaming,collie,camil,fidelity,calvin1,stitch,gatit,restart,puppy1,budgie,grunt,capitals,hiking,dreamcas,zorro1,321678,riffraff,makaka,playmate,napalm,rollin,amstel,zxcvb123,samanth,rumble,fuckme69,jimmys,951357,pizzaman,1234567899,tralala,delpiero,alexi,yamato,itisme,1million,vfndtq,kahlua,londo,wonderboy,carrots,tazz,ratboy,rfgecnf,02081973,nico,fujitsu,tujhrf,sergbest,blobby,02051970,sonic1,1357911,smirnov,video1,panhead,bucky,02031974,44332211,duffer,cashmoney,left4dead,bagpuss,salman,01011972,titfuck,66613666,england1,malish,dresden,lemans,darina,zapper,123456as,123456qqq,met2002,02041972,redstar,blue23,1234509876,pajero,booyah,please1,tetsuo,semper,finder,hanuman,sunlight,123456n,02061971,treble,cupoi,password99,dimitri,3ip76k2,popcorn1,lol12345,stellar,nympho,shark1,keith1,saskia,bigtruck,revoluti,rambo1,asd222,feelgood,phat,gogators,bismark,cola,puck,furball,burnout,slonik,bowtie,mommy1,icecube,fabienn,mouser,papamama,rolex,giants1,blue11,trooper1,momdad,iklo,morten,rhubarb,gareth,123456d,blitz,canada1,r2d2,brest,tigercat,usmarine,lilbit,benny1,azrael,lebowski,12345r,madagaskar,begemot,loverman,dragonballz,italiano,mazda3,naughty1,onions,diver1,cyrano,capcom,asdfg123,forlife,fisherman,weare138,requiem,mufasa,alpha123,piercing,hellas,abracadabra,duckman,caracas,macintos,02011971,jordan2,crescent,fduecn,hogtied,eatmenow,ramjet,18121812,kicksass,whatthe,discus,rfhfvtkmrf,rufus1,sqdwfe,mantle,vegitto,trek,dan123,paladin1,rudeboy,liliya,lunchbox,riversid,acapulco,libero,dnsadm,maison,toomuch,boobear,hemlock,sextoy,pugsley,misiek,athome,migue,altoids,marcin,123450,rhfcfdbwf,jeter2,rhinos,rjhjkm,mercury1,ronaldinho,shampoo,makayla,kamilla,masterbating,tennesse,holger,john1,matchbox,hores,poptart,parlament,goodyear,asdfgh1,02081970,hardwood,alain,erection,hfytnrb,highlife,implants,benjami,dipper,jeeper,bendover,supersonic,babybear,laserjet,gotenks,bama,natedogg,aol123,pokemo,rabbit1,raduga,sopranos,cashflow,menthol,pharao,hacking,334455,ghjcnbnenrf,lizzy,muffin1,pooky,penis1,flyer,gramma,dipset,becca,ireland1,diana1,donjuan,pong,ziggy1,alterego,simple1,cbr900,logger,111555,claudia1,cantona7,matisse,ljxtymrf,victori,harle,mamas,encore,mangos,iceman1,diamon,alexxx,tiamat,5000,desktop,mafia,smurf,princesa,shojou,blueberr,welkom,maximka,123890,123q123,tammy1,bobmarley,clips,demon666,ismail,termite,laser1,missie,altair,donna1,bauhaus,trinitron,mogwai,flyers88,juniper,nokia5800,boroda,jingles,qwerasdfzxcv,shakur,777666,legos,mallrats,1qazxsw,goldeneye,tamerlan,julia1,backbone,spleen,49ers,shady,darkone,medic1,justi,giggle,cloudy,aisan,douche,parkour,bluejay,huskers1,redwine,1qw23er4,satchmo,1231234,nineball,stewart1,ballsack,probes,kappa,amiga,flipper1,dortmund,963258,trigun,1237895,homepage,blinky,screwy,gizzmo,belkin,chemist,coolhand,chachi,braves1,thebest,greedisgood,pro100,banana1,101091m,123456g,wonderfu,barefeet,8inches,1111qqqq,kcchiefs,qweasdzxc123,metal1,jennifer1,xian,asdasd123,pollux,cheerleaers,fruity,mustang5,turbos,shopper,photon,espana,hillbill,oyster,macaroni,gigabyte,jesper,motown,tuxedo,buster12,triplex,cyclones,estrell,mortis,holla,456987,fiddle,sapphic,jurassic,thebeast,ghjcnjq,baura,spock1,metallica1,karaoke,nemrac58,love1234,02031970,flvbybcnhfnjh,frisbee,diva,ajax,feathers,flower1,soccer11,allday,mierda,pearl1,amature,marauder,333555,redheads,womans,egorka,godbless,159263,nimitz,aaaa1111,sashka,madcow,socce,greywolf,baboon,pimpdaddy,123456789r,reloaded,lancia,rfhfylfi,dicker,placid,grimace,22446688,olemiss,whores,culinary,wannabe,maxi,1234567aa,amelie,riley1,trample,phantom1,baberuth,bramble,asdfqwer,vides,4you,abc123456,taichi,aztnm,smother,outsider,hakr,blackhawk,bigblack,girlie,spook,valeriya,gianluca,freedo,1q2q3q4q,handbag,lavalamp,cumm,pertinant,whatup,nokia123,redlight,patrik,111aaa,poppy1,dfytxrf,aviator,sweeps,kristin1,cypher,elway,yinyang,access1,poophead,tucson,noles1,monterey,waterfal,dank,dougal,918273,suede,minnesot,legman,bukowski,ganja,mammoth,riverrat,asswipe,daredevi,lian,arizona1,kamikadze,alex1234,smile1,angel2,55bgates,bellagio,0001,wanrltw,stiletto,lipton,arsena,biohazard,bbking,chappy,tetris,as123456,darthvad,lilwayne,nopassword,7412369,123456789987654321,natchez,glitter,14785236,mytime,rubicon,moto,pyon,wazzup,tbird,shane1,nightowl,getoff,beckham7,trueblue,hotgirl,nevermin,deathnote,13131,taffy,bigal,copenhag,apricot,gallaries,dtkjcbgtl,totoro,onlyone,civicsi,jesse1,baby123,sierra1,festus,abacus,sickboy,fishtank,fungus,charle,golfpro,teensex,mario66,seaside,aleksei,rosewood,blackberry,1020304050,bedlam,schumi,deerhunt,contour,darkelf,surveyor,deltas,pitchers,741258963,dipstick,funny1,lizzard,112233445566,jupiter2,softtail,titman,greenman,z1x2c3v4b5,smartass,12345677,notnow,myworld,nascar1,chewbacc,nosferatu,downhill,dallas22,kuan,blazers,whales,soldat,craving,powerman,yfcntyf,hotrats,cfvceyu,qweasdzx,princess1,feline,qqwwee,chitown,1234qaz,mastermind,114477,dingbat,care1839,standby,kismet,atreides,dogmeat,icarus,monkeyboy,alex1,mouses,nicetits,sealteam,chopper1,crispy,winter99,rrpass1,myporn,myspace1,corazo,topolino,ass123,lawman,muffy,orgy,1love,passord,hooyah,ekmzyf,pretzel,amonra,nestle,01011950,jimbeam,happyman,z12345,stonewal,helios,manunited,harcore,dick1,gaymen,2hot4u,light1,qwerty13,kakashi,pjkjnj,alcatel,taylo,allah,buddydog,ltkmaby,mongo,blonds,start123,audia6,123456v,civilwar,bellaco,turtles,mustan,deadspin,aaa123,fynjirf,lucky123,tortoise,amor,summe,waterski,zulu,drag0n,dtxyjcnm,gizmos,strife,interacial,pusyy,goose1,bear1,equinox,matri,jaguar1,tobydog,sammys,nachos,traktor,bryan1,morgoth,444555,dasani,miami1,mashka,xxxxxx1,ownage,nightwin,hotlips,passmast,cool123,skolko,eldiablo,manu,1357908642,screwyou,badabing,foreplay,hydro,kubrick,seductive,demon1,comeon,galileo,aladdin,metoo,happines,902100,mizuno,caddy,bizzare,girls1,redone,ohmygod,sable,bonovox,girlies,hamper,opus,gizmodo1,aaabbb,pizzahut,999888,rocky2,anton1,kikimora,peavey,ocelot,a1a2a3a4,2wsx3edc,jackie1,solace,sprocket,galary,chuck1,volvo1,shurik,poop123,locutus,virago,wdtnjxtr,tequier,bisexual,doodles,makeitso,fishy,789632145,nothing1,fishcake,sentry,libertad,oaktree,fivestar,adidas1,vegitta,mississi,spiffy,carme,neutron,vantage,agassi,boners,123456789v,hilltop,taipan,barrage,kenneth1,fister,martian,willem,lfybkf,bluestar,moonman,ntktdbpjh,paperino,bikers,daffy,benji,quake,dragonfly,suckcock,danilka,lapochka,belinea,calypso,asshol,camero1,abraxas,mike1234,womam,q1q2q3q4q5,youknow,maxpower,pic's,audi80,sonora,raymond1,tickler,tadpole,belair,crazyman,finalfantasy,999000,jonatha,paisley,kissmyas,morgana,monste,mantra,spunk,magic123,jonesy,mark1,alessand,741258,baddest,ghbdtnrfrltkf,zxccxz,tictac,augustin,racers,7grout,foxfire,99762000,openit,nathanie,1z2x3c4v5b,seadog,gangbanged,lovehate,hondacbr,harpoon,mamochka,fisherma,bismilla,locust,wally1,spiderman1,saffron,utjhubq,123456987,20spanks,safeway,pisser,bdfyjd,kristen1,bigdick1,magenta,vfhujif,anfisa,friday13,qaz123wsx,0987654321q,tyrant,guan,meggie,kontol,nurlan,ayanami,rocket1,yaroslav,websol76,mutley,hugoboss,websolutions,elpaso,gagarin,badboys,sephirot,918273645,newuser,qian,edcrfv,booger1,852258,lockout,timoxa94,mazda323,firedog,sokolova,skydiver,jesus777,1234567890z,soulfly,canary,malinka,guillerm,hookers,dogfart,surfer1,osprey,india123,rhjkbr,stoppedby,nokia5530,123456789o,blue1,werter,divers,3000,123456f,alpina,cali,whoknows,godspeed,986532,foreskin,fuzzy1,heyyou,didier,slapnuts,fresno,rosebud1,sandman1,bears1,blade1,honeybun,queen1,baronn,pakista,philipp,9111961,topsecret,sniper1,214365,slipper,letsfuck,pippen33,godawgs,mousey,qw123456,scrotum,loveis,lighthou,bp2002,nancy123,jeffrey1,susieq,buddy2,ralphie,trout1,willi,antonov,sluttey,rehbwf,marty1,darian,losangeles,letme1n,12345d,pusssy,godiva,ender,golfnut,leonidas,a1b2c3d4e5,puffer,general1,wizzard,lehjxrf,racer1,bigbucks,cool12,buddys,zinger,esprit,vbienrf,josep,tickling,froggie,987654321a,895623,daddys,crumbs,gucci,mikkel,opiate,tracy1,christophe,came11,777555,petrovich,humbug,dirtydog,allstate,horatio,wachtwoord,creepers,squirts,rotary,bigd,georgia1,fujifilm,2sweet,dasha,yorkie,slimjim,wiccan,kenzie,system1,skunk,b12345,getit,pommes,daredevil,sugars,bucker,piston,lionheart,1bitch,515051,catfight,recon,icecold,fantom,vodafone,kontakt,boris1,vfcnth,canine,01011961,valleywa,faraon,chickenwing101,qq123456,livewire,livelife,roosters,jeepers,ilya1234,coochie,pavlik,dewalt,dfhdfhf,architec,blackops,1qaz2wsx3edc4rfv,rhfcjnf,wsxedc,teaser,sebora,25252,rhino1,ankara,swifty,decimal,redleg,shanno,nermal,candies,smirnova,dragon01,photo1,ranetki,a1s2d3f4g5,axio,wertzu,maurizio,6uldv8,zxcvasdf,punkass,flowe,graywolf,peddler,3rjs1la7qe,mpegs,seawolf,ladyboy,pianos,piggies,vixen,alexus,orpheus,gdtrfb,z123456,macgyver,hugetits,ralph1,flathead,maurici,mailru,goofball,nissan1,nikon,stopit,odin,big1,smooch,reboot,famil,bullit,anthony7,gerhard,methos,124038,morena,eagle2,jessica2,zebras,getlost,gfynthf,123581321,sarajevo,indon,comets,tatjana,rfgbnjirf,joystick,batman12,123456c,sabre,beerme,victory1,kitties,1475369,badboy1,booboo1,comcast,slava,squid,saxophon,lionhear,qaywsx,bustle,nastena,roadway,loader,hillside,starlight,24681012,niggers,access99,bazooka,molly123,blackice,bandi,cocacol,nfhfrfy,timur,muschi,horse1,quant4307s,squerting,oscars,mygirls,flashman,tangerin,goofy1,p0o9i8,housewifes,newness,monkey69,escorpio,password11,hippo,warcraft3,qazxsw123,qpalzm,ribbit,ghbdtndctv,bogota,star123,258000,lincoln1,bigjim,lacoste,firestorm,legenda,indain,ludacris,milamber,1009,evangeli,letmesee,a111111,hooters1,bigred1,shaker,husky,a4tech,cnfkrth,argyle,rjhjdf,nataha,0o9i8u7y,gibson1,sooners1,glendale,archery,hoochie,stooge,aaaaaa1,scorpions,school1,vegas1,rapier,mike23,bassoon,groupd2013,macaco,baker1,labia,freewill,santiag,silverado,butch1,vflfufcrfh,monica1,rugrat,cornhole,aerosmit,bionicle,gfgfvfvf,daniel12,virgo,fmale,favorite2,detroit1,pokey,shredder,baggies,wednesda,cosmo1,mimosa,sparhawk,firehawk,romario,911turbo,funtimes,fhntvrf,nexus6,159753456,timothy1,bajingan,terry1,frenchie,raiden,1mustang,babemagnet,74123698,nadejda,truffles,rapture,douglas1,lamborghini,motocross,rjcvjc,748596,skeeter1,dante1,angel666,telecom,carsten,pietro,bmw318,astro1,carpediem,samir,orang,helium,scirocco,fuzzball,rushmore,rebelz,hotspur,lacrimosa,chevys10,madonna1,domenico,yfnfirf,jachin,shelby1,bloke,dawgs,dunhill,atlanta1,service1,mikado,devilman,angelit,reznor,euphoria,lesbain,checkmat,browndog,phreak,blaze1,crash1,farida,mutter,luckyme,horsemen,vgirl,jediknig,asdas,cesare,allnight,rockey,starlite,truck1,passfan,close-up,samue,cazzo,wrinkles,homely,eatme1,sexpot,snapshot,dima1995,asthma,thetruth,ducky,blender,priyanka,gaucho,dutchman,sizzle,kakarot,651550,passcode,justinbieber,666333,elodie,sanjay,110442,alex01,lotus1,2300mj,lakshmi,zoomer,quake3,12349876,teapot,12345687,ramada,pennywis,striper,pilot1,chingon,optima,nudity,ethan1,euclid,beeline,loyola,biguns,zaq12345,bravo1,disney1,buffa,assmunch,vivid,6661313,wellingt,aqwzsx,madala11,9874123,sigmar,pictere,tiptop,bettyboop,dinero,tahiti,gregory1,bionic,speed1,fubar1,lexus1,denis1,hawthorn,saxman,suntzu,bernhard,dominika,camaro1,hunter12,balboa,bmw2002,seville,diablo1,vfhbyjxrf,1234abc,carling,lockerroom,punani,darth,baron1,vaness,1password,libido,picher,232425,karamba,futyn007,daydream,11001001,dragon123,friends1,bopper,rocky123,chooch,asslover,shimmer,riddler,openme,tugboat,sexy123,midori,gulnara,christo,swatch,laker,offroad,puddles,hackers,mannheim,manager1,horseman,roman1,dancer1,komputer,pictuers,nokia5130,ejaculation,lioness,123456y,evilone,nastenka,pushok,javie,lilman,3141592,mjolnir,toulouse,pussy2,bigworm,smoke420,fullback,extensa,dreamcast,belize,delboy,willie1,casablanca,csyjxtr,ricky1,bonghit,salvator,basher,pussylover,rosie1,963258741,vivitron,cobra427,meonly,armageddon,myfriend,zardoz,qwedsazxc,kraken,fzappa,starfox,333999,illmatic,capoeira,weenie,ramzes,freedom2,toasty,pupkin,shinigami,fhvfutljy,nocturne,churchil,thumbnils,tailgate,neworder,sexymama,goarmy,cerebus,michelle1,vbifyz,surfsup,earthlin,dabulls,basketbal,aligator,mojojojo,saibaba,welcome2,wifes,wdtnjr,12345w,slasher,papabear,terran,footman,hocke,153759,texans,tom123,sfgiants,billabong,aassdd,monolith,xxx777,l3tm31n,ticktock,newone,hellno,japanees,contortionist,admin123,scout1,alabama1,divx1,rochard,privat,radar1,bigdad,fhctybq,tortuga,citrus,avanti,fantasy1,woodstock,s12345,fireman1,embalmer,woodwork,bonzai,konyor,newstart,jigga,panorama,goats,smithy,rugrats,hotmama,daedalus,nonstop,fruitbat,lisenok,quaker,violator,12345123,my3sons,cajun,fraggle,gayboy,oldfart,vulva,knickerless,orgasms,undertow,binky,litle,kfcnjxrf,masturbation,bunnie,alexis1,planner,transexual,sparty,leeloo,monies,fozzie,stinger1,landrove,anakonda,scoobie,yamaha1,henti,star12,rfhlbyfk,beyonce,catfood,cjytxrf,zealots,strat,fordtruc,archangel,silvi,sativa,boogers,miles1,bigjoe,tulip,petite,greentea,shitter,jonboy,voltron,morticia,evanescence,3edc4rfv,longshot,windows1,serge,aabbcc,starbucks,sinful,drywall,prelude1,www123,camel1,homebrew,marlins,123412,letmeinn,domini,swampy,plokij,fordf350,webcam,michele1,bolivi,27731828,wingzero,qawsedrftg,shinji,sverige,jasper1,piper1,cummer,iiyama,gocats,amour,alfarome,jumanji,mike69,fantasti,1monkey,w00t88,shawn1,lorien,1a2s3d4f5g,koleso,murph,natascha,sunkist,kennwort,emine,grinder,m12345,q1q2q3q4,cheeba,money2,qazwsxedc1,diamante,prosto,pdiddy,stinky1,gabby1,luckys,franci,pornographic,moochie,gfhjdjp,samdog,empire1,comicbookdb,emili,motdepasse,iphone,braveheart,reeses,nebula,sanjose,bubba2,kickflip,arcangel,superbow,porsche911,xyzzy,nigger1,dagobert,devil1,alatam,monkey2,barbara1,12345v,vfpfafrf,alessio,babemagn,aceman,arrakis,kavkaz,987789,jasons,berserk,sublime1,rogue1,myspace,buckwhea,csyekz,pussy4me,vette1,boots1,boingo,arnaud,budlite,redstorm,paramore,becky1,imtheman,chango,marley1,milkyway,666555,giveme,mahalo,lux2000,lucian,paddy,praxis,shimano,bigpenis,creeper,newproject2004,rammstei,j3qq4h7h2v,hfljcnm,lambchop,anthony2,bugman,gfhjkm12,dreamer1,stooges,cybersex,diamant,cowboyup,maximus1,sentra,615243,goethe,manhatta,fastcar,selmer,1213141516,yfnfitymrf,denni,chewey,yankee1,elektra,123456789p,trousers,fishface,topspin,orwell,vorona,sodapop,motherfu,ibilltes,forall,kookie,ronald1,balrog,maximilian,mypasswo,sonny1,zzxxcc,tkfkdg,magoo,mdogg,heeled,gitara,lesbos,marajade,tippy,morozova,enter123,lesbean,pounded,asd456,fialka,scarab,sharpie,spanky1,gstring,sachin,12345asd,princeto,hellohel,ursitesux,billows,1234kekc,kombat,cashew,duracell,kseniya,sevenof9,kostik,arthur1,corvet07,rdfhnbhf,songoku,tiberian,needforspeed,1qwert,dropkick,kevin123,panache,libra,a123456a,kjiflm,vfhnsirf,cntgfy,iamcool,narut,buffer,sk8ordie,urlaub,fireblade,blanked,marishka,gemini1,altec,gorillaz,chief1,revival47,ironman1,space1,ramstein,doorknob,devilmaycry,nemesis1,sosiska,pennstat,monday1,pioner,shevchenko,detectiv,evildead,blessed1,aggie,coffees,tical,scotts,bullwink,marsel,krypto,adrock,rjitxrf,asmodeus,rapunzel,theboys,hotdogs,deepthro,maxpayne,veronic,fyyeirf,otter,cheste,abbey1,thanos,bedrock,bartok,google1,xxxzzz,rodent,montecarlo,hernande,mikayla,123456789l,bravehea,12locked,ltymub,pegasus1,ameteur,saltydog,faisal,milfnew,momsuck,everques,ytngfhjkz,m0nkey,businessbabe,cooki,custard,123456ab,lbvjxrf,outlaws,753357,qwerty78,udacha,insider,chees,fuckmehard,shotokan,katya,seahorse,vtldtlm,turtle1,mike12,beebop,heathe,everton1,darknes,barnie,rbcekz,alisher,toohot,theduke,555222,reddog1,breezy,bulldawg,monkeyman,baylee,losangel,mastermi,apollo1,aurelie,zxcvb12345,cayenne,bastet,wsxzaq,geibcnbr,yello,fucmy69,redwall,ladybird,bitchs,cccccc1,rktjgfnhf,ghjdthrf,quest1,oedipus,linus,impalass,fartman,12345k,fokker,159753a,optiplex,bbbbbb1,realtor,slipkno,santacru,rowdy,jelena,smeller,3984240,ddddd1,sexyme,janet1,3698741,eatme69,cazzone,today1,poobear,ignatius,master123,newpass1,heather2,snoopdogg,blondinka,pass12,honeydew,fuckthat,890098890,lovem,goldrush,gecko,biker1,llama,pendejo,avalanche,fremont,snowman1,gandolf,chowder,1a2b3c4d5e,flyguy,magadan,1fuck,pingvin,nokia5230,ab1234,lothar,lasers,bignuts,renee1,royboy,skynet,12340987,1122334,dragrace,lovely1,22334455,booter,12345612,corvett,123456qq,capital1,videoes,funtik,wyvern,flange,sammydog,hulkster,13245768,not4you,vorlon,omegared,l58jkdjp!,filippo,123mudar,samadams,petrus,chris12,charlie123,123456789123,icetea,sunderla,adrian1,123qweas,kazanova,aslan,monkey123,fktyeirf,goodsex,123ab,lbtest,banaan,bluenose,837519,asd12345,waffenss,whateve,1a2a3a4a,trailers,vfhbirf,bhbcrf,klaatu,turk182,monsoon,beachbum,sunbeam,succes,clyde1,viking1,rawhide,bubblegum,princ,mackenzi,hershey1,222555,dima55,niggaz,manatee,aquila,anechka,pamel,bugsbunn,lovel,sestra,newport1,althor,hornyman,wakeup,zzz111,phishy,cerber,torrent,thething,solnishko,babel,buckeye1,peanu,ethernet,uncencored,baraka,665544,chris2,rb26dett,willy1,choppers,texaco,biggirl,123456b,anna2614,sukebe,caralho,callofduty,rt6ytere,jesus7,angel12,1money,timelord,allblack,pavlova,romanov,tequiero,yitbos,lookup,bulls23,snowflake,dickweed,barks,lever,irisha,firestar,fred1234,ghjnjnbg,danman,gatito,betty1,milhouse,kbctyjr,masterbaiting,delsol,papit,doggys,123698741,bdfyjdf,invictus,bloods,kayla1,yourmama,apple2,angelok,bigboy1,pontiac1,verygood,yeshua,twins2,porn4me,141516,rasta69,james2,bosshog,candys,adventur,stripe,djkjlz,dokken,austin316,skins,hogwarts,vbhevbh,navigato,desperado,xxx666,cneltyn,vasiliy,hazmat,daytek,eightbal,fred1,four20,74227422,fabia,aerosmith,manue,wingchun,boohoo,hombre,sanity72,goatboy,fuckm,partizan,avrora,utahjazz,submarin,pussyeat,heinlein,control1,costaric,smarty,chuan,triplets,snowy,snafu,teacher1,vangogh,vandal,evergree,cochise,qwerty99,pyramid1,saab900,sniffer,qaz741,lebron23,mark123,wolvie,blackbelt,yoshi,feeder,janeway,nutella,fuking,asscock,deepak,poppie,bigshow,housewife,grils,tonto,cynthia1,temptress,irakli,belle1,russell1,manders,frank123,seabass,gforce,songbird,zippy1,naught,brenda1,chewy1,hotshit,topaz,43046721,girfriend,marinka,jakester,thatsme,planeta,falstaff,patrizia,reborn,riptide,cherry1,shuan,nogard,chino,oasis1,qwaszx12,goodlife,davis1,1911a1,harrys,shitfuck,12345678900,russian7,007700,bulls1,porshe,danil,dolphi,river1,sabaka,gobigred,deborah1,volkswagen,miamo,alkaline,muffdive,1letmein,fkbyrf,goodguy,hallo1,nirvan,ozzie,cannonda,cvbhyjdf,marmite,germany1,joeblow,radio1,love11,raindrop,159852,jacko,newday,fathead,elvis123,caspe,citibank,sports1,deuce,boxter,fakepass,golfman,snowdog,birthday4,nonmembe,niklas,parsifal,krasota,theshit,1235813,maganda,nikita1,omicron,cassie1,columbo,buick,sigma1,thistle,bassin,rickster,apteka,sienna,skulls,miamor,coolgirl,gravis,1qazxc,virgini,hunter2,akasha,batma,motorcyc,bambino,tenerife,fordf250,zhuan,iloveporn,markiza,hotbabes,becool,fynjybyf,wapapapa,forme,mamont,pizda,dragonz,sharon1,scrooge,mrbill,pfloyd,leeroy,natedog,ishmael,777111,tecumseh,carajo,nfy.irf,0000000000o,blackcock,fedorov,antigone,feanor,novikova,bobert,peregrin,spartan117,pumkin,rayman,manuals,tooltime,555333,bonethug,marina1,bonnie1,tonyhawk,laracroft,mahalkita,18273645,terriers,gamer,hoser,littlema,molotok,glennwei,lemon1,caboose,tater,12345654321,brians,fritz1,mistral,jigsaw,fuckshit,hornyguy,southside,edthom,antonio1,bobmarle,pitures,ilikesex,crafty,nexus,boarder,fulcrum,astonvil,yanks1,yngwie,account1,zooropa,hotlegs,sammi,gumbo,rover1,perkele,maurolarastefy,lampard,357753,barracud,dmband,abcxyz,pathfinder,335577,yuliya,micky,jayman,asdfg12345,1596321,halcyon,rerfhtre,feniks,zaxscd,gotyoass,jaycee,samson1,jamesb,vibrate,grandpri,camino,colossus,davidb,mamo4ka,nicky1,homer123,pinguin,watermelon,shadow01,lasttime,glider,823762,helen1,pyramids,tulane,osama,rostov,john12,scoote,bhbyrf,gohan,galeries,joyful,bigpussy,tonka,mowgli,astalavista,zzz123,leafs,dalejr8,unicorn1,777000,primal,bigmama,okmijn,killzone,qaz12345,snookie,zxcvvcxz,davidc,epson,rockman,ceaser,beanbag,katten,3151020,duckhunt,segreto,matros,ragnar,699669,sexsexse,123123z,fuckyeah,bigbutts,gbcmrf,element1,marketin,saratov,elbereth,blaster1,yamahar6,grime,masha,juneau,1230123,pappy,lindsay1,mooner,seattle1,katzen,lucent,polly1,lagwagon,pixie,misiaczek,666666a,smokedog,lakers24,eyeball,ironhors,ametuer,volkodav,vepsrf,kimmy,gumby1,poi098,ovation,1q2w3,drinker,penetrating,summertime,1dallas,prima,modles,takamine,hardwork,macintosh,tahoe,passthie,chiks,sundown,flowers1,boromir,music123,phaedrus,albert1,joung,malakas,gulliver,parker1,balder,sonne,jessie1,domainlock2005,express1,vfkbyf,youandme,raketa,koala,dhjnvytyjub,nhfrnjh,testibil,ybrbnjc,987654321q,axeman,pintail,pokemon123,dogggg,shandy,thesaint,11122233,x72jhhu3z,theclash,raptors,zappa1,djdjxrf,hell666,friday1,vivaldi,pluto1,lance1,guesswho,jeadmi,corgan,skillz,skippy1,mango1,gymnastic,satori,362514,theedge,cxfcnkbdfz,sparkey,deicide,bagels,lololol,lemmings,r4e3w2q1,silve,staind,schnuffi,dazzle,basebal1,leroy1,bilbo1,luckie,qwerty2,goodfell,hermione,peaceout,davidoff,yesterda,killah,flippy,chrisb,zelda1,headless,muttley,fuckof,tittys,catdaddy,photog,beeker,reaver,ram1500,yorktown,bolero,tryagain,arman,chicco,learjet,alexei,jenna1,go2hell,12s3t4p55,momsanaladventure,mustang9,protoss,rooter,ginola,dingo1,mojave,erica1,1qazse4,marvin1,redwolf,sunbird,dangerou,maciek,girsl,hawks1,packard1,excellen,dashka,soleda,toonces,acetate,nacked,jbond007,alligator,debbie1,wellhung,monkeyma,supers,rigger,larsson,vaseline,rjnzhf,maripos,123456asd,cbr600rr,doggydog,cronic,jason123,trekker,flipmode,druid,sonyvaio,dodges,mayfair,mystuff,fun4me,samanta,sofiya,magics,1ranger,arcane,sixtynin,222444,omerta,luscious,gbyudby,bobcats,envision,chance1,seaweed,holdem,tomate,mensch,slicer,acura1,goochi,qweewq,punter,repoman,tomboy,never1,cortina,gomets,147896321,369852147,dogma,bhjxrf,loglatin,eragon,strato,gazelle,growler,885522,klaudia,payton34,fuckem,butchie,scorpi,lugano,123456789k,nichola,chipper1,spide,uhbujhbq,rsalinas,vfylfhby,longhorns,bugatti,everquest,!qaz2wsx,blackass,999111,snakeman,p455w0rd,fanatic,family1,pfqxbr,777vlad,mysecret,marat,phoenix2,october1,genghis,panties1,cooker,citron,ace123,1234569,gramps,blackcoc,kodiak1,hickory,ivanhoe,blackboy,escher,sincity,beaks,meandyou,spaniel,canon1,timmy1,lancaste,polaroid,edinburg,fuckedup,hotman,cueball,golfclub,gopack,bookcase,worldcup,dkflbvbhjdbx,twostep,17171717aa,letsplay,zolushka,stella1,pfkegf,kingtut,67camaro,barracuda,wiggles,gjhjkm,prancer,patata,kjifhf,theman1,romanova,sexyass,copper1,dobber,sokolov,pomidor,algernon,cadman,amoremio,william2,silly1,bobbys,hercule,hd764nw5d7e1vb1,defcon,deutschland,robinhood,alfalfa,machoman,lesbens,pandora1,easypay,tomservo,nadezhda,goonies,saab9000,jordyn,f15eagle,dbrecz,12qwerty,greatsex,thrawn,blunted,baywatch,doggystyle,loloxx,chevy2,january1,kodak,bushel,78963214,ub6ib9,zz8807zpl,briefs,hawker,224488,first1,bonzo,brent1,erasure,69213124,sidewind,soccer13,622521,mentos,kolibri,onepiece,united1,ponyboy,keksa12,wayer,mypussy,andrej,mischa,mille,bruno123,garter,bigpun,talgat,familia,jazzy1,mustang8,newjob,747400,bobber,blackbel,hatteras,ginge,asdfjkl;,camelot1,blue44,rebbyt34,ebony1,vegas123,myboys,aleksander,ijrjkflrf,lopata,pilsner,lotus123,m0nk3y,andreev,freiheit,balls1,drjynfrnt,mazda1,waterpolo,shibumi,852963,123bbb,cezer121,blondie1,volkova,rattler,kleenex,ben123,sanane,happydog,satellit,qazplm,qazwsxedcrfvtgb,meowmix,badguy,facefuck,spice1,blondy,major1,25000,anna123,654321a,sober1,deathrow,patterso,china1,naruto1,hawkeye1,waldo1,butchy,crayon,5tgb6yhn,klopik,crocodil,mothra,imhorny,pookie1,splatter,slippy,lizard1,router,buratino,yahweh,123698,dragon11,123qwe456,peepers,trucker1,ganjaman,1hxboqg2,cheyanne,storys,sebastie,zztop,maddison,4rfv3edc,darthvader,jeffro,iloveit,victor1,hotty,delphin,lifeisgood,gooseman,shifty,insertions,dude123,abrupt,123masha,boogaloo,chronos,stamford,pimpster,kthjxrf,getmein,amidala,flubber,fettish,grapeape,dantes,oralsex,jack1,foxcg33,winchest,francis1,getin,archon,cliffy,blueman,1basebal,sport1,emmitt22,porn123,bignasty,morga,123hfjdk147,ferrar,juanito,fabiol,caseydog,steveo,peternorth,paroll,kimchi,bootleg,gaijin,secre,acacia,eatme2,amarillo,monkey11,rfhfgep,tylers,a1a2a3a4a5,sweetass,blower,rodina,babushka,camilo,cimbom,tiffan,vfnbkmlf,ohbaby,gotigers,lindsey1,dragon13,romulus,qazxsw12,zxcvbn1,dropdead,hitman47,snuggle,eleven11,bloopers,357mag,avangard,bmw320,ginscoot,dshade,masterkey,voodoo1,rootedit,caramba,leahcim,hannover,8phrowz622,tim123,cassius,000000a,angelito,zzzzz1,badkarma,star1,malaga,glenwood,footlove,golf1,summer12,helpme1,fastcars,titan1,police1,polinka,k.jdm,marusya,augusto,shiraz,pantyhose,donald1,blaise,arabella,brigada,c3por2d2,peter01,marco1,hellow,dillweed,uzumymw,geraldin,loveyou2,toyota1,088011,gophers,indy500,slainte,5hsu75kpot,teejay,renat,racoon,sabrin,angie1,shiznit,harpua,sexyred,latex,tucker1,alexandru,wahoo,teamwork,deepblue,goodison,rundmc,r2d2c3p0,puppys,samba,ayrton,boobed,999777,topsecre,blowme1,123321z,loudog,random1,pantie,drevil,mandolin,121212q,hottub,brother1,failsafe,spade1,matvey,open1234,carmen1,priscill,schatzi,kajak,gooddog,trojans1,gordon1,kayak,calamity,argent,ufhvjybz,seviyi,penfold,assface,dildos,hawkwind,crowbar,yanks,ruffles,rastus,luv2epus,open123,aquafina,dawns,jared1,teufel,12345c,vwgolf,pepsi123,amores,passwerd,01478520,boliva,smutty,headshot,password3,davidd,zydfhm,gbgbcmrf,pornpass,insertion,ceckbr,test2,car123,checkit,dbnfkbq,niggas,nyyankee,muskrat,nbuhtyjr,gunner1,ocean1,fabienne,chrissy1,wendys,loveme89,batgirl,cerveza,igorek,steel1,ragman,boris123,novifarm,sexy12,qwerty777,mike01,giveitup,123456abc,fuckall,crevice,hackerz,gspot,eight8,assassins,texass,swallows,123458,baldur,moonshine,labatt,modem,sydney1,voland,dbnfkz,hotchick,jacker,princessa,dawgs1,holiday1,booper,reliant,miranda1,jamaica1,andre1,badnaamhere,barnaby,tiger7,david12,margaux,corsica,085tzzqi,universi,thewall,nevermor,martin6,qwerty77,cipher,apples1,0102030405,seraphim,black123,imzadi,gandon,ducati99,1shadow,dkflbvbhjdyf,44magnum,bigbad,feedme,samantha1,ultraman,redneck1,jackdog,usmc0311,fresh1,monique1,tigre,alphaman,cool1,greyhoun,indycar,crunchy,55chevy,carefree,willow1,063dyjuy,xrated,assclown,federica,hilfiger,trivia,bronco1,mamita,100200300,simcity,lexingky,akatsuki,retsam,johndeere,abudfv,raster,elgato,businka,satanas,mattingl,redwing1,shamil,patate,mannn,moonstar,evil666,b123456,bowl300,tanechka,34523452,carthage,babygir,santino,bondarenko,jesuss,chico1,numlock,shyguy,sound1,kirby1,needit,mostwanted,427900,funky1,steve123,passions,anduril,kermit1,prospero,lusty,barakuda,dream1,broodwar,porky,christy1,mahal,yyyyyy1,allan1,1sexy,flintsto,capri,cumeater,heretic,robert2,hippos,blindax,marykay,collecti,kasumi,1qaz!qaz,112233q,123258,chemistr,coolboy,0o9i8u,kabuki,righton,tigress,nessie,sergej,andrew12,yfafyz,ytrhjvfyn,angel7,victo,mobbdeep,lemming,transfor,1725782,myhouse,aeynbr,muskie,leno4ka,westham1,cvbhyjd,daffodil,pussylicker,pamela1,stuffer,warehous,tinker1,2w3e4r,pluton,louise1,polarbea,253634,prime1,anatoliy,januar,wysiwyg,cobraya,ralphy,whaler,xterra,cableguy,112233a,porn69,jamesd,aqualung,jimmy123,lumpy,luckyman,kingsize,golfing1,alpha7,leeds1,marigold,lol1234,teabag,alex11,10sne1,saopaulo,shanny,roland1,basser,3216732167,carol1,year2005,morozov,saturn1,joseluis,bushed,redrock,memnoch,lalaland,indiana1,lovegod,gulnaz,buffalos,loveyou1,anteater,pattaya,jaydee,redshift,bartek,summerti,coffee1,ricochet,incest,schastie,rakkaus,h2opolo,suikoden,perro,dance1,loveme1,whoopass,vladvlad,boober,flyers1,alessia,gfcgjhn,pipers,papaya,gunsling,coolone,blackie1,gonads,gfhjkzytn,foxhound,qwert12,gangrel,ghjvtntq,bluedevi,mywife,summer01,hangman,licorice,patter,vfr750,thorsten,515253,ninguna,dakine,strange1,mexic,vergeten,12345432,8phrowz624,stampede,floyd1,sailfish,raziel,ananda,giacomo,freeme,crfprf,74185296,allstars,master01,solrac,gfnhbjn,bayliner,bmw525,3465xxx,catter,single1,michael3,pentium4,nitrox,mapet123456,halibut,killroy,xxxxx1,phillip1,poopsie,arsenalfc,buffys,kosova,all4me,32165498,arslan,opensesame,brutis,charles2,pochta,nadegda,backspac,mustang0,invis,gogeta,654321q,adam25,niceday,truckin,gfdkbr,biceps,sceptre,bigdave,lauras,user345,sandys,shabba,ratdog,cristiano,natha,march13,gumball,getsdown,wasdwasd,redhead1,dddddd1,longlegs,13572468,starsky,ducksoup,bunnys,omsairam,whoami,fred123,danmark,flapper,swanky,lakings,yfhenj,asterios,rainier,searcher,dapper,ltdjxrf,horsey,seahawk,shroom,tkfkdgo,aquaman,tashkent,number9,messi10,1asshole,milenium,illumina,vegita,jodeci,buster01,bareback,goldfinger,fire1,33rjhjds,sabian,thinkpad,smooth1,sully,bonghits,sushi1,magnavox,colombi,voiture,limpone,oldone,aruba,rooster1,zhenya,nomar5,touchdow,limpbizkit,rhfcfdxbr,baphomet,afrodita,bball1,madiso,ladles,lovefeet,matthew2,theworld,thunderbird,dolly1,123rrr,forklift,alfons,berkut,speedy1,saphire,oilman,creatine,pussylov,bastard1,456258,wicked1,filimon,skyline1,fucing,yfnfkbz,hot123,abdulla,nippon,nolimits,billiard,booty1,buttplug,westlife,coolbean,aloha1,lopas,asasin,1212121,october2,whodat,good4u,d12345,kostas,ilya1992,regal,pioneer1,volodya,focus1,bastos,nbvjif,fenix,anita1,vadimka,nickle,jesusc,123321456,teste,christ1,essendon,evgenii,celticfc,adam1,forumwp,lovesme,26exkp,chillout,burly,thelast1,marcus1,metalgear,test11,ronaldo7,socrate,world1,franki,mommie,vicecity,postov1000,charlie3,oldschool,333221,legoland,antoshka,counterstrike,buggy,mustang3,123454,qwertzui,toons,chesty,bigtoe,tigger12,limpopo,rerehepf,diddle,nokia3250,solidsnake,conan1,rockroll,963369,titanic1,qwezxc,cloggy,prashant,katharin,maxfli,takashi,cumonme,michael9,mymother,pennstate,khalid,48151623,fightclub,showboat,mateusz,elrond,teenie,arrow1,mammamia,dustydog,dominator,erasmus,zxcvb1,1a2a3a,bones1,dennis1,galaxie,pleaseme,whatever1,junkyard,galadriel,charlies,2wsxzaq1,crimson1,behemoth,teres,master11,fairway,shady1,pass99,1batman,joshua12,baraban,apelsin,mousepad,melon,twodogs,123321qwe,metalica,ryjgrf,pipiska,rerfhfxf,lugnut,cretin,iloveu2,powerade,aaaaaaa1,omanko,kovalenko,isabe,chobits,151nxjmt,shadow11,zcxfcnkbdf,gy3yt2rgls,vfhbyrf,159753123,bladerunner,goodone,wonton,doodie,333666999,fuckyou123,kitty123,chisox,orlando1,skateboa,red12345,destroye,snoogans,satan1,juancarlo,goheels,jetson,scottt,fuckup,aleksa,gfhfljrc,passfind,oscar123,derrick1,hateme,viper123,pieman,audi100,tuffy,andover,shooter1,10000,makarov,grant1,nighthaw,13576479,browneye,batigol,nfvfhf,chocolate1,7hrdnw23,petter,bantam,morlii,jediknight,brenden,argonaut,goodstuf,wisconsi,315920,abigail1,dirtbag,splurge,k123456,lucky777,valdepen,gsxr600,322223,ghjnjrjk,zaq1xsw2cde3,schwanz,walter1,letmein22,nomads,124356,codeblue,nokian70,fucke,footbal1,agyvorc,aztecs,passw0r,smuggles,femmes,ballgag,krasnodar,tamuna,schule,sixtynine,empires,erfolg,dvader,ladygaga,elite1,venezuel,nitrous,kochamcie,olivia1,trustn01,arioch,sting1,131415,tristar,555000,maroon,135799,marsik,555556,fomoco,natalka,cwoui,tartan,davecole,nosferat,hotsauce,dmitry,horus,dimasik,skazka,boss302,bluebear,vesper,ultras,tarantul,asd123asd,azteca,theflash,8ball,1footbal,titlover,lucas123,number6,sampson1,789852,party1,dragon99,adonai,carwash,metropol,psychnau,vthctltc,hounds,firework,blink18,145632,wildcat1,satchel,rice80,ghtktcnm,sailor1,cubano,anderso,rocks1,mike11,famili,dfghjc,besiktas,roygbiv,nikko,bethan,minotaur,rakesh,orange12,hfleuf,jackel,myangel,favorite7,1478520,asssss,agnieszka,haley1,raisin,htubyf,1buster,cfiekz,derevo,1a2a3a4a5a,baltika,raffles,scruffy1,clitlick,louis1,buddha1,fy.nrf,walker1,makoto,shadow2,redbeard,vfvfvskfhfve,mycock,sandydog,lineman,network1,favorite8,longdick,mustangg,mavericks,indica,1killer,cisco1,angelofwar,blue69,brianna1,bubbaa,slayer666,level42,baldrick,brutus1,lowdown,haribo,lovesexy,500000,thissuck,picker,stephy,1fuckme,characte,telecast,1bigdog,repytwjdf,thematrix,hammerhe,chucha,ganesha,gunsmoke,georgi,sheltie,1harley,knulla,sallas,westie,dragon7,conker,crappie,margosha,lisboa,3e2w1q,shrike,grifter,ghjcnjghjcnj,asdfg1,mnbvcxz1,myszka,posture,boggie,rocketman,flhtyfkby,twiztid,vostok,pi314159,force1,televizor,gtkmvtym,samhain,imcool,jadzia,dreamers,strannik,k2trix,steelhea,nikitin,commodor,brian123,chocobo,whopper,ibilljpf,megafon,ararat,thomas12,ghbrjkbcn,q1234567890,hibernia,kings1,jim123,redfive,68camaro,iawgk2,xavier1,1234567u,d123456,ndirish,airborn,halfmoon,fluffy1,ranchero,sneaker,soccer2,passion1,cowman,birthday1,johnn,razzle,glock17,wsxqaz,nubian,lucky2,jelly1,henderso,eric1,123123e,boscoe01,fuck0ff,simpson1,sassie,rjyjgkz,nascar3,watashi,loredana,janus,wilso,conman,david2,mothe,iloveher,snikers,davidj,fkmnthyfnbdf,mettss,ratfink,123456h,lostsoul,sweet16,brabus,wobble,petra1,fuckfest,otters,sable1,svetka,spartacu,bigstick,milashka,1lover,pasport,champagn,papichul,hrvatska,hondacivic,kevins,tacit,moneybag,gohogs,rasta1,246813579,ytyfdbcnm,gubber,darkmoon,vitaliy,233223,playboys,tristan1,joyce1,oriflame,mugwump,access2,autocad,thematri,qweqwe123,lolwut,ibill01,multisyn,1233211,pelikan,rob123,chacal,1234432,griffon,pooch,dagestan,geisha,satriani,anjali,rocketma,gixxer,pendrago,vincen,hellokit,killyou,ruger,doodah,bumblebe,badlands,galactic,emachines,foghorn,jackso,jerem,avgust,frontera,123369,daisymae,hornyboy,welcome123,tigger01,diabl,angel13,interex,iwantsex,rockydog,kukolka,sawdust,online1,3234412,bigpapa,jewboy,3263827,dave123,riches,333222,tony1,toggle,farter,124816,tities,balle,brasilia,southsid,micke,ghbdtn12,patit,ctdfcnjgjkm,olds442,zzzzzz1,nelso,gremlins,gypsy1,carter1,slut69,farcry,7415963,michael8,birdie1,charl,123456789abc,100001,aztec,sinjin,bigpimpi,closeup,atlas1,nvidia,doggone,classic1,manana,malcolm1,rfkbyf,hotbabe,rajesh,dimebag,ganjubas,rodion,jagr68,seren,syrinx,funnyman,karapuz,123456789n,bloomin,admin18533362,biggdogg,ocarina,poopy1,hellome,internet1,booties,blowjobs,matt1,donkey1,swede,1jennife,evgeniya,lfhbyf,coach1,444777,green12,patryk,pinewood,justin12,271828,89600506779,notredame,tuborg,lemond,sk8ter,million1,wowser,pablo1,st0n3,jeeves,funhouse,hiroshi,gobucs,angeleye,bereza,winter12,catalin,qazedc,andros,ramazan,vampyre,sweethea,imperium,murat,jamest,flossy,sandeep,morgen,salamandra,bigdogg,stroller,njdevils,nutsack,vittorio,%%passwo,playful,rjyatnrf,tookie,ubnfhf,michi,777444,shadow13,devils1,radiance,toshiba1,beluga,amormi,dandfa,trust1,killemall,smallville,polgara,billyb,landscap,steves,exploite,zamboni,damage11,dzxtckfd,trader12,pokey1,kobe08,damager,egorov,dragon88,ckfdbr,lisa69,blade2,audis4,nelson1,nibbles,23176djivanfros,mutabor,artofwar,matvei,metal666,hrfzlz,schwinn,poohbea,seven77,thinker,123456789qwerty,sobriety,jakers,karamelka,vbkfyf,volodin,iddqd,dale03,roberto1,lizaveta,qqqqqq1,cathy1,08154711,davidm,quixote,bluenote,tazdevil,katrina1,bigfoot1,bublik,marma,olechka,fatpussy,marduk,arina,nonrev67,qqqq1111,camill,wtpfhm,truffle,fairview,mashina,voltaire,qazxswedcvfr,dickface,grassy,lapdance,bosstone,crazy8,yackwin,mobil,danielit,mounta1n,player69,bluegill,mewtwo,reverb,cnthdf,pablito,a123321,elena1,warcraft1,orland,ilovemyself,rfntyjr,joyride,schoo,dthjxrf,thetachi,goodtimes,blacksun,humpty,chewbacca,guyute,123xyz,lexicon,blue45,qwe789,galatasaray,centrino,hendrix1,deimos,saturn5,craig1,vlad1996,sarah123,tupelo,ljrnjh,hotwife,bingos,1231231,nicholas1,flamer,pusher,1233210,heart1,hun999,jiggy,giddyup,oktober,123456zxc,budda,galahad,glamur,samwise,oneton,bugsbunny,dominic1,scooby2,freetime,internat,159753852,sc00ter,wantit,mazinger,inflames,laracrof,greedo,014789,godofwar,repytwjd,water123,fishnet,venus1,wallace1,tenpin,paula1,1475963,mania,novikov,qwertyasdfgh,goldmine,homies,777888999,8balls,holeinon,paper1,samael,013579,mansur,nikit,ak1234,blueline,polska1,hotcock,laredo,windstar,vbkbwbz,raider1,newworld,lfybkrf,catfish1,shorty1,piranha,treacle,royale,2234562,smurfs,minion,cadence,flapjack,123456p,sydne,135531,robinhoo,nasdaq,decatur,cyberonline,newage,gemstone,jabba,touchme,hooch,pigdog,indahous,fonzie,zebra1,juggle,patrick2,nihongo,hitomi,oldnavy,qwerfdsa,ukraina,shakti,allure,kingrich,diane1,canad,piramide,hottie1,clarion,college1,5641110,connect1,therion,clubber,velcro,dave1,astra1,13579-,astroboy,skittle,isgreat,photoes,cvzefh1gkc,001100,2cool4u,7555545,ginger12,2wsxcde3,camaro69,invader,domenow,asd1234,colgate,qwertasdfg,jack123,pass01,maxman,bronte,whkzyc,peter123,bogie,yecgaa,abc321,1qay2wsx,enfield,camaroz2,trashman,bonefish,system32,azsxdcfvgb,peterose,iwantyou,dick69,temp1234,blastoff,capa200,connie1,blazin,12233445,sexybaby,123456j,brentfor,pheasant,hommer,jerryg,thunders,august1,lager,kapusta,boobs1,nokia5300,rocco1,xytfu7,stars1,tugger,123sas,blingbling,1bubba,0wnsyo0,1george,baile,richard2,habana,1diamond,sensatio,1golfer,maverick1,1chris,clinton1,michael7,dragons1,sunrise1,pissant,fatim,mopar1,levani,rostik,pizzapie,987412365,oceans11,748159263,cum4me,palmetto,4r3e2w1q,paige1,muncher,arsehole,kratos,gaffer,banderas,billys,prakash,crabby,bungie,silver12,caddis,spawn1,xboxlive,sylvania,littlebi,524645,futura,valdemar,isacs155,prettygirl,big123,555444,slimer,chicke,newstyle,skypilot,sailormoon,fatluvr69,jetaime,sitruc,jesuschrist,sameer,bear12,hellion,yendor,country1,etnies,conejo,jedimast,darkknight,toobad,yxcvbn,snooks,porn4life,calvary,alfaromeo,ghostman,yannick,fnkfynblf,vatoloco,homebase,5550666,barret,1111111111zz,odysseus,edwardss,favre4,jerrys,crybaby,xsw21qaz,firestor,spanks,indians1,squish,kingair,babycakes,haters,sarahs,212223,teddyb,xfactor,cumload,rhapsody,death123,three3,raccoon,thomas2,slayer66,1q2q3q4q5q,thebes,mysterio,thirdeye,orkiox.,nodoubt,bugsy,schweiz,dima1996,angels1,darkwing,jeronimo,moonpie,ronaldo9,peaches2,mack10,manish,denise1,fellowes,carioca,taylor12,epaulson,makemoney,oc247ngucz,kochanie,3edcvfr4,vulture,1qw23e,1234567z,munchie,picard1,xthtgfirf,sportste,psycho1,tahoe1,creativ,perils,slurred,hermit,scoob,diesel1,cards1,wipeout,weeble,integra1,out3xf,powerpc,chrism,kalle,ariadne,kailua,phatty,dexter1,fordman,bungalow,paul123,compa,train1,thejoker,jys6wz,pussyeater,eatmee,sludge,dominus,denisa,tagheuer,yxcvbnm,bill1,ghfdlf,300zx,nikita123,carcass,semaj,ramone,muenchen,animal1,greeny,annemari,dbrf134,jeepcj7,mollys,garten,sashok,ironmaid,coyotes,astoria,george12,westcoast,primetim,123456o,panchito,rafae,japan1,framer,auralo,tooshort,egorova,qwerty22,callme,medicina,warhawk,w1w2w3w4,cristia,merli,alex22,kawaii,chatte,wargames,utvols,muaddib,trinket,andreas1,jjjjj1,cleric,scooters,cuntlick,gggggg1,slipknot1,235711,handcuff,stussy,guess1,leiceste,ppppp1,passe,lovegun,chevyman,hugecock,driver1,buttsex,psychnaut1,cyber1,black2,alpha12,melbourn,man123,metalman,yjdsqujl,blondi,bungee,freak1,stomper,caitlin1,nikitina,flyaway,prikol,begood,desperad,aurelius,john1234,whosyourdaddy,slimed123,bretagne,den123,hotwheel,king123,roodypoo,izzicam,save13tx,warpten,nokia3310,samolet,ready1,coopers,scott123,bonito,1aaaaa,yomomma,dawg1,rache,itworks,asecret,fencer,451236,polka,olivetti,sysadmin,zepplin,sanjuan,479373,lickem,hondacrx,pulamea,future1,naked1,sexyguy,w4g8at,lollol1,declan,runner1,rumple,daddy123,4snz9g,grandprix,calcio,whatthefuck,nagrom,asslick,pennst,negrit,squiggy,1223334444,police22,giovann,toronto1,tweet,yardbird,seagate,truckers,554455,scimitar,pescator,slydog,gaysex,dogfish,fuck777,12332112,qazxswed,morkovka,daniela1,imback,horny69,789123456,123456789w,jimmy2,bagger,ilove69,nikolaus,atdhfkm,rebirth,1111aaaa,pervasive,gjgeufq,dte4uw,gfhnbpfy,skeletor,whitney1,walkman,delorean,disco1,555888,as1234,ishikawa,fuck12,reaper1,dmitrii,bigshot,morrisse,purgen,qwer4321,itachi,willys,123123qwe,kisska,roma123,trafford,sk84life,326159487,pedros,idiom,plover,bebop,159875321,jailbird,arrowhea,qwaszx123,zaxscdvf,catlover,bakers,13579246,bones69,vermont1,helloyou,simeon,chevyz71,funguy,stargaze,parolparol,steph1,bubby,apathy,poppet,laxman,kelly123,goodnews,741236,boner1,gaetano,astonvilla,virtua,luckyboy,rocheste,hello2u,elohim,trigger1,cstrike,pepsicola,miroslav,96385274,fistfuck,cheval,magyar,svetlanka,lbfyjxrf,mamedov,123123123q,ronaldo1,scotty1,1nicole,pittbull,fredd,bbbbb1,dagwood,gfhkfvtyn,ghblehrb,logan5,1jordan,sexbomb,omega2,montauk,258741,dtythf,gibbon,winamp,thebomb,millerli,852654,gemin,baldy,halflife2,dragon22,mulberry,morrigan,hotel6,zorglub,surfin,951159,excell,arhangel,emachine,moses1,968574,reklama,bulldog2,cuties,barca,twingo,saber,elite11,redtruck,casablan,ashish,moneyy,pepper12,cnhtktw,rjcnbr,arschloch,phenix,cachorro,sunita,madoka,joselui,adams1,mymoney,hemicuda,fyutkjr,jake12,chicas,eeeee1,sonnyboy,smarties,birdy,kitten1,cnfcbr,island1,kurosaki,taekwond,konfetka,bennett1,omega3,jackson2,fresca,minako,octavian,kban667,feyenoord,muaythai,jakedog,fktrcfylhjdyf,1357911q,phuket,sexslave,fktrcfylhjdbx,asdfjk,89015173454,qwerty00,kindbud,eltoro,sex6969,nyknicks,12344321q,caballo,evenflow,hoddle,love22,metro1,mahalko,lawdog,tightass,manitou,buckie,whiskey1,anton123,335533,password4,primo,ramair,timbo,brayden,stewie,pedro1,yorkshir,ganster,hellothe,tippy1,direwolf,genesi,rodrig,enkeli,vaz21099,sorcerer,winky,oneshot,boggle,serebro,badger1,japanes,comicbook,kamehame,alcat,denis123,echo45,sexboy,gr8ful,hondo,voetbal,blue33,2112rush,geneviev,danni1,moosey,polkmn,matthew7,ironhead,hot2trot,ashley12,sweeper,imogen,blue21,retep,stealth1,guitarra,bernard1,tatian,frankfur,vfnhbwf,slacking,haha123,963741,asdasdas,katenok,airforce1,123456789qaz,shotgun1,12qwasz,reggie1,sharo,976431,pacifica,dhip6a,neptun,kardon,spooky1,beaut,555555a,toosweet,tiedup,11121314,startac,lover69,rediska,pirata,vfhrbp,1234qwerty,energize,hansolo1,playbo,larry123,oemdlg,cnjvfnjkju,a123123,alexan,gohawks,antonius,fcbayern,mambo,yummy1,kremlin,ellen1,tremere,vfiekz,bellevue,charlie9,izabella,malishka,fermat,rotterda,dawggy,becket,chasey,kramer1,21125150,lolit,cabrio,schlong,arisha,verity,3some,favorit,maricon,travelle,hotpants,red1234,garrett1,home123,knarf,seven777,figment,asdewq,canseco,good2go,warhol,thomas01,pionee,al9agd,panacea,chevy454,brazzers,oriole,azerty123,finalfan,patricio,northsta,rebelde,bulldo,stallone,boogie1,7uftyx,cfhfnjd,compusa,cornholi,config,deere,hoopster,sepultura,grasshop,babygurl,lesbo,diceman,proverbs,reddragon,nurbek,tigerwoo,superdup,buzzsaw,kakaroto,golgo13,edwar,123qaz123,butter1,sssss1,texas2,respekt,ou812ic,123456qaz,55555a,doctor1,mcgwire,maria123,aol999,cinders,aa1234,joness,ghbrjkmyj,makemone,sammyboy,567765,380zliki,theraven,testme,mylene,elvira26,indiglo,tiramisu,shannara,baby1,123666,gfhreh,papercut,johnmish,orange8,bogey1,mustang7,bagpipes,dimarik,vsijyjr,4637324,ravage,cogito,seven11,natashka,warzone,hr3ytm,4free,bigdee,000006,243462536,bigboi,123333,trouts,sandy123,szevasz,monica2,guderian,newlife1,ratchet,r12345,razorbac,12345i,piazza31,oddjob,beauty1,fffff1,anklet,nodrog,pepit,olivi,puravida,robert12,transam1,portman,bubbadog,steelers1,wilson1,eightball,mexico1,superboy,4rfv5tgb,mzepab,samurai1,fuckslut,colleen1,girdle,vfrcbvec,q1w2e3r4t,soldier1,19844891,alyssa1,a12345a,fidelis,skelter,nolove,mickeymouse,frehley,password69,watermel,aliska,soccer15,12345e,ladybug1,abulafia,adagio,tigerlil,takehana,hecate,bootneck,junfan,arigato,wonkette,bobby123,trustnoone,phantasm,132465798,brianjo,w12345,t34vfrc1991,deadeye,1robert,1daddy,adida,check1,grimlock,muffi,airwalk,prizrak,onclick,longbeac,ernie1,eadgbe,moore1,geniu,shadow123,bugaga,jonathan1,cjrjkjdf,orlova,buldog,talon1,westport,aenima,541233432442,barsuk,chicago2,kellys,hellbent,toughguy,iskander,skoal,whatisit,jake123,scooter2,fgjrfkbgcbc,ghandi,love13,adelphia,vjhrjdrf,adrenali,niunia,jemoeder,rainbo,all4u8,anime1,freedom7,seraph,789321,tommys,antman,firetruc,neogeo,natas,bmwm3,froggy1,paul1,mamit,bayview,gateways,kusanagi,ihateu,frederi,rock1,centurion,grizli,biggin,fish1,stalker1,3girls,ilovepor,klootzak,lollo,redsox04,kirill123,jake1,pampers,vasya,hammers1,teacup,towing,celtic1,ishtar,yingyang,4904s677075,dahc1,patriot1,patrick9,redbirds,doremi,rebecc,yoohoo,makarova,epiphone,rfgbnfy,milesd,blister,chelseafc,katana1,blackrose,1james,primrose,shock5,hard1,scooby12,c6h12o6,dustoff,boing,chisel,kamil,1william,defiant1,tyvugq,mp8o6d,aaa340,nafets,sonnet,flyhigh,242526,crewcom,love23,strike1,stairway,katusha,salamand,cupcake1,password0,007james,sunnie,multisync,harley01,tequila1,fred12,driver8,q8zo8wzq,hunter01,mozzer,temporar,eatmeraw,mrbrownxx,kailey,sycamore,flogger,tincup,rahasia,ganymede,bandera,slinger,1111122222,vander,woodys,1cowboy,khaled,jamies,london12,babyboo,tzpvaw,diogenes,budice,mavrick,135797531,cheeta,macros,squonk,blackber,topfuel,apache1,falcon16,darkjedi,cheeze,vfhvtkfl,sparco,change1,gfhfif,freestyl,kukuruza,loveme2,12345f,kozlov,sherpa,marbella,44445555,bocephus,1winner,alvar,hollydog,gonefish,iwantin,barman,godislove,amanda18,rfpfynbg,eugen,abcdef1,redhawk,thelema,spoonman,baller1,harry123,475869,tigerman,cdtnjxrf,marillio,scribble,elnino,carguy,hardhead,l2g7k3,troopers,selen,dragon76,antigua,ewtosi,ulysse,astana,paroli,cristo,carmex,marjan,bassfish,letitbe,kasparov,jay123,19933991,blue13,eyecandy,scribe,mylord,ukflbjkec,ellie1,beaver1,destro,neuken,halfpint,ameli,lilly1,satanic,xngwoj,12345trewq,asdf1,bulldogg,asakura,jesucrist,flipside,packers4,biggy,kadett,biteme69,bobdog,silverfo,saint1,bobbo,packman,knowledg,foolio,fussbal,12345g,kozerog,westcoas,minidisc,nbvcxw,martini1,alastair,rasengan,superbee,memento,porker,lena123,florenc,kakadu,bmw123,getalife,bigsky,monkee,people1,schlampe,red321,memyself,0147896325,12345678900987654321,soccer14,realdeal,gfgjxrf,bella123,juggs,doritos,celtics1,peterbilt,ghbdtnbrb,gnusmas,xcountry,ghbdtn1,batman99,deusex,gtnhjdf,blablabl,juster,marimba,love2,rerjkrf,alhambra,micros,siemens1,assmaste,moonie,dashadasha,atybrc,eeeeee1,wildrose,blue55,davidl,xrp23q,skyblue,leo123,ggggg1,bestfriend,franny,1234rmvb,fun123,rules1,sebastien,chester2,hakeem,winston2,fartripper,atlant,07831505,iluvsex,q1a2z3,larrys,009900,ghjkju,capitan,rider1,qazxsw21,belochka,andy123,hellya,chicca,maximal,juergen,password1234,howard1,quetzal,daniel123,qpwoeiruty,123555,bharat,ferrari3,numbnuts,savant,ladydog,phipsi,lovepussy,etoile,power2,mitten,britneys,chilidog,08522580,2fchbg,kinky1,bluerose,loulo,ricardo1,doqvq3,kswbdu,013cpfza,timoha,ghbdtnghbdtn,3stooges,gearhead,browns1,g00ber,super7,greenbud,kitty2,pootie,toolshed,gamers,coffe,ibill123,freelove,anasazi,sister1,jigger,natash,stacy1,weronika,luzern,soccer7,hoopla,dmoney,valerie1,canes,razdvatri,washere,greenwoo,rfhjkbyf,anselm,pkxe62,maribe,daniel2,maxim1,faceoff,carbine,xtkjdtr,buddy12,stratos,jumpman,buttocks,aqswdefr,pepsis,sonechka,steeler1,lanman,nietzsch,ballz,biscuit1,wrxsti,goodfood,juventu,federic,mattman,vika123,strelec,jledfyxbr,sideshow,4life,fredderf,bigwilly,12347890,12345671,sharik,bmw325i,fylhtqrf,dannon4,marky,mrhappy,drdoom,maddog1,pompier,cerbera,goobers,howler,jenny69,evely,letitrid,cthuttdyf,felip,shizzle,golf12,t123456,yamah,bluearmy,squishy,roxan,10inches,dollface,babygirl1,blacksta,kaneda,lexingto,canadien,222888,kukushka,sistema,224422,shadow69,ppspankp,mellons,barbie1,free4all,alfa156,lostone,2w3e4r5t,painkiller,robbie1,binger,8dihc6,jaspe,rellik,quark,sogood,hoopstar,number2,snowy1,dad2ownu,cresta,qwe123asd,hjvfyjdf,gibsonsg,qbg26i,dockers,grunge,duckling,lfiekz,cuntsoup,kasia1,1tigger,woaini,reksio,tmoney,firefighter,neuron,audia3,woogie,powerboo,powermac,fatcock,12345666,upnfmc,lustful,porn1,gotlove,amylee,kbytqrf,11924704,25251325,sarasota,sexme,ozzie1,berliner,nigga1,guatemal,seagulls,iloveyou!,chicken2,qwerty21,010203040506,1pillow,libby1,vodoley,backlash,piglets,teiubesc,019283,vonnegut,perico,thunde,buckey,gtxtymrf,manunite,iiiii1,lost4815162342,madonn,270873_,britney1,kevlar,piano1,boondock,colt1911,salamat,doma77ns,anuradha,cnhjqrf,rottweil,newmoon,topgun1,mauser,fightclu,birthday21,reviewpa,herons,aassddff,lakers32,melissa2,vredina,jiujitsu,mgoblue,shakey,moss84,12345zxcvb,funsex,benji1,garci,113322,chipie,windex,nokia5310,pwxd5x,bluemax,cosita,chalupa,trotsky,new123,g3ujwg,newguy,canabis,gnaget,happydays,felixx,1patrick,cumface,sparkie,kozlova,123234,newports,broncos7,golf18,recycle,hahah,harrypot,cachondo,open4me,miria,guessit,pepsione,knocker,usmc1775,countach,playe,wiking,landrover,cracksevi,drumline,a7777777,smile123,manzana,panty,liberta,pimp69,dolfan,quality1,schnee,superson,elaine22,webhompass,mrbrownx,deepsea,4wheel,mamasita,rockport,rollie,myhome,jordan12,kfvgjxrf,hockey12,seagrave,ford1,chelsea2,samsara,marissa1,lamesa,mobil1,piotrek,tommygun,yyyyy1,wesley1,billy123,homersim,julies,amanda12,shaka,maldini,suzenet,springst,iiiiii1,yakuza,111111aa,westwind,helpdesk,annamari,bringit,hopefull,hhhhhhh1,saywhat,mazdarx8,bulova,jennife1,baikal,gfhjkmxbr,victoria1,gizmo123,alex99,defjam,2girls,sandrock,positivo,shingo,syncmast,opensesa,silicone,fuckina,senna1,karlos,duffbeer,montagne,gehrig,thetick,pepino,hamburge,paramedic,scamp,smokeweed,fabregas,phantoms,venom121293,2583458,badone,porno69,manwhore,vfvf123,notagain,vbktyf,rfnthbyrf,wildblue,kelly001,dragon66,camell,curtis1,frolova,1212123,dothedew,tyler123,reddrago,planetx,promethe,gigolo,1001001,thisone,eugeni,blackshe,cruzazul,incognito,puller,joonas,quick1,spirit1,gazza,zealot,gordito,hotrod1,mitch1,pollito,hellcat,mythos,duluth,383pdjvl,easy123,hermos,binkie,its420,lovecraf,darien,romina,doraemon,19877891,syclone,hadoken,transpor,ichiro,intell,gargamel,dragon2,wavpzt,557744,rjw7x4,jennys,kickit,rjynfrn,likeit,555111,corvus,nec3520,133113,mookie1,bochum,samsung2,locoman0,154ugeiu,vfvfbgfgf,135792,[start],tenni,20001,vestax,hufmqw,neveragain,wizkid,kjgfnf,nokia6303,tristen,saltanat,louie1,gandalf2,sinfonia,alpha3,tolstoy,ford150,f00bar,1hello,alici,lol12,riker1,hellou,333888,1hunter,qw1234,vibrator,mets86,43211234,gonzale,cookies1,sissy1,john11,bubber,blue01,cup2006,gtkmvtyb,nazareth,heybaby,suresh,teddie,mozilla,rodeo1,madhouse,gamera,123123321,naresh,dominos,foxtrot1,taras,powerup,kipling,jasonb,fidget,galena,meatman,alpacino,bookmark,farting,humper,titsnass,gorgon,castaway,dianka,anutka,gecko1,fucklove,connery,wings1,erika1,peoria,moneymaker,ichabod,heaven1,paperboy,phaser,breakers,nurse1,westbrom,alex13,brendan1,123asd123,almera,grubber,clarkie,thisisme,welkom01,51051051051,crypto,freenet,pflybwf,black12,testme2,changeit,autobahn,attica,chaoss,denver1,tercel,gnasher23,master2,vasilii,sherman1,gomer,bigbuck,derek1,qwerzxcv,jumble,dragon23,art131313,numark,beasty,cxfcnmttcnm,updown,starion,glist,sxhq65,ranger99,monkey7,shifter,wolves1,4r5t6y,phone1,favorite5,skytommy,abracada,1martin,102030405060,gatech,giulio,blacktop,cheer1,africa1,grizzly1,inkjet,shemales,durango1,booner,11223344q,supergirl,vanyarespekt,dickless,srilanka,weaponx,6string,nashvill,spicey,boxer1,fabien,2sexy2ho,bowhunt,jerrylee,acrobat,tawnee,ulisse,nolimit8,l8g3bkde,pershing,gordo1,allover,gobrowns,123432,123444,321456987,spoon1,hhhhh1,sailing1,gardenia,teache,sexmachine,tratata,pirate1,niceone,jimbos,314159265,qsdfgh,bobbyy,ccccc1,carla1,vjkjltw,savana,biotech,frigid,123456789g,dragon10,yesiam,alpha06,oakwood,tooter,winsto,radioman,vavilon,asnaeb,google123,nariman,kellyb,dthyjcnm,password6,parol1,golf72,skate1,lthtdj,1234567890s,kennet,rossia,lindas,nataliya,perfecto,eminem1,kitana,aragorn1,rexona,arsenalf,planot,coope,testing123,timex,blackbox,bullhead,barbarian,dreamon,polaris1,cfvjktn,frdfhbev,gametime,slipknot666,nomad1,hfgcjlbz,happy69,fiddler,brazil1,joeboy,indianali,113355,obelisk,telemark,ghostrid,preston1,anonim,wellcome,verizon1,sayangku,censor,timeport,dummies,adult1,nbnfybr,donger,thales,iamgay,sexy1234,deadlift,pidaras,doroga,123qwe321,portuga,asdfgh12,happys,cadr14nu,pi3141,maksik,dribble,cortland,darken,stepanova,bommel,tropic,sochi2014,bluegras,shahid,merhaba,nacho,2580456,orange44,kongen,3cudjz,78girl,my3kids,marcopol,deadmeat,gabbie,saruman,jeepman,freddie1,katie123,master99,ronal,ballbag,centauri,killer7,xqgann,pinecone,jdeere,geirby,aceshigh,55832811,pepsimax,rayden,razor1,tallyho,ewelina,coldfire,florid,glotest,999333,sevenup,bluefin,limaperu,apostol,bobbins,charmed1,michelin,sundin,centaur,alphaone,christof,trial1,lions1,45645,just4you,starflee,vicki1,cougar1,green2,jellyfis,batman69,games1,hihje863,crazyzil,w0rm1,oklick,dogbite,yssup,sunstar,paprika,postov10,124578963,x24ik3,kanada,buckster,iloveamy,bear123,smiler,nx74205,ohiostat,spacey,bigbill,doudo,nikolaeva,hcleeb,sex666,mindy1,buster11,deacons,boness,njkcnsq,candy2,cracker1,turkey1,qwertyu1,gogreen,tazzzz,edgewise,ranger01,qwerty6,blazer1,arian,letmeinnow,cigar1,jjjjjj1,grigio,frien,tenchu,f9lmwd,imissyou,filipp,heathers,coolie,salem1,woodduck,scubadiv,123kat,raffaele,nikolaev,dapzu455,skooter,9inches,lthgfhjkm,gr8one,ffffff1,zujlrf,amanda69,gldmeo,m5wkqf,rfrltkf,televisi,bonjou,paleale,stuff1,cumalot,fuckmenow,climb7,mark1234,t26gn4,oneeye,george2,utyyflbq,hunting1,tracy71,ready2go,hotguy,accessno,charger1,rudedog,kmfdm,goober1,sweetie1,wtpmjgda,dimensio,ollie1,pickles1,hellraiser,mustdie,123zzz,99887766,stepanov,verdun,tokenbad,anatol,bartende,cidkid86,onkelz,timmie,mooseman,patch1,12345678c,marta1,dummy1,bethany1,myfamily,history1,178500,lsutiger,phydeaux,moren,dbrnjhjdbx,gnbxrf,uniden,drummers,abpbrf,godboy,daisy123,hogan1,ratpack,irland,tangerine,greddy,flore,sqrunch,billyjoe,q55555,clemson1,98745632,marios,ishot,angelin,access12,naruto12,lolly,scxakv,austin12,sallad,cool99,rockit,mongo1,mark22,ghbynth,ariadna,senha,docto,tyler2,mobius,hammarby,192168,anna12,claire1,pxx3eftp,secreto,greeneye,stjabn,baguvix,satana666,rhbcnbyjxrf,dallastx,garfiel,michaelj,1summer,montan,1234ab,filbert,squids,fastback,lyudmila,chucho,eagleone,kimberle,ar3yuk3,jake01,nokids,soccer22,1066ad,ballon,cheeto,review69,madeira,taylor2,sunny123,chubbs,lakeland,striker1,porche,qwertyu8,digiview,go1234,ferari,lovetits,aditya,minnow,green3,matman,cellphon,fortytwo,minni,pucara,69a20a,roman123,fuente,12e3e456,paul12,jacky,demian,littleman,jadakiss,vlad1997,franca,282860,midian,nunzio,xaccess2,colibri,jessica0,revilo,654456,harvey1,wolf1,macarena,corey1,husky1,arsen,milleniu,852147,crowes,redcat,combat123654,hugger,psalms,quixtar,ilovemom,toyot,ballss,ilovekim,serdar,james23,avenger1,serendip,malamute,nalgas,teflon,shagger,letmein6,vyjujnjxbt,assa1234,student1,dixiedog,gznybwf13,fuckass,aq1sw2de3,robroy,hosehead,sosa21,123345,ias100,teddy123,poppin,dgl70460,zanoza,farhan,quicksilver,1701d,tajmahal,depechemode,paulchen,angler,tommy2,recoil,megamanx,scarecro,nicole2,152535,rfvtgb,skunky,fatty1,saturno,wormwood,milwauke,udbwsk,sexlover,stefa,7bgiqk,gfnhbr,omar10,bratan,lbyfvj,slyfox,forest1,jambo,william3,tempus,solitari,lucydog,murzilka,qweasdzxc1,vehpbkrf,12312345,fixit,woobie,andre123,123456789x,lifter,zinaida,soccer17,andone,foxbat,torsten,apple12,teleport,123456i,leglover,bigcocks,vologda,dodger1,martyn,d6o8pm,naciona,eagleeye,maria6,rimshot,bentley1,octagon,barbos,masaki,gremio,siemen,s1107d,mujeres,bigtits1,cherr,saints1,mrpink,simran,ghzybr,ferrari2,secret12,tornado1,kocham,picolo,deneme,onelove1,rolan,fenster,1fuckyou,cabbie,pegaso,nastyboy,password5,aidana,mine2306,mike13,wetone,tigger69,ytreza,bondage1,myass,golova,tolik,happyboy,poilkj,nimda2k,rammer,rubies,hardcore1,jetset,hoops1,jlaudio,misskitt,1charlie,google12,theone1,phred,porsch,aalborg,luft4,charlie5,password7,gnosis,djgabbab,1daniel,vinny,borris,cumulus,member1,trogdor,darthmau,andrew2,ktjybl,relisys,kriste,rasta220,chgobndg,weener,qwerty66,fritter,followme,freeman1,ballen,blood1,peache,mariso,trevor1,biotch,gtfullam,chamonix,friendste,alligato,misha1,1soccer,18821221,venkat,superd,molotov,bongos,mpower,acun3t1x,dfcmrf,h4x3d,rfhfufylf,tigran,booyaa,plastic1,monstr,rfnhby,lookatme,anabolic,tiesto,simon123,soulman,canes1,skyking,tomcat1,madona,bassline,dasha123,tarheel1,dutch1,xsw23edc,qwerty123456789,imperator,slaveboy,bateau,paypal,house123,pentax,wolf666,drgonzo,perros,digger1,juninho,hellomoto,bladerun,zzzzzzz1,keebler,take8422,fffffff1,ginuwine,israe,caesar1,crack1,precious1,garand,magda1,zigazaga,321ewq,johnpaul,mama1234,iceman69,sanjeev,treeman,elric,rebell,1thunder,cochon,deamon,zoltan,straycat,uhbyuj,luvfur,mugsy,primer,wonder1,teetime,candycan,pfchfytw,fromage,gitler,salvatio,piggy1,23049307,zafira,chicky,sergeev,katze,bangers,andriy,jailbait,vaz2107,ghbhjlf,dbjktnnf,aqswde,zaratustra,asroma,1pepper,alyss,kkkkk1,ryan1,radish,cozumel,waterpol,pentium1,rosebowl,farmall,steinway,dbrekz,baranov,jkmuf,another1,chinacat,qqqqqqq1,hadrian,devilmaycry4,ratbag,teddy2,love21,pullings,packrat,robyn1,boobo,qw12er34,tribe1,rosey,celestia,nikkie,fortune12,olga123,danthema,gameon,vfrfhjys,dilshod,henry14,jenova,redblue,chimaera,pennywise,sokrates,danimal,qqaazz,fuaqz4,killer2,198200,tbone1,kolyan,wabbit,lewis1,maxtor,egoist,asdfas,spyglass,omegas,jack12,nikitka,esperanz,doozer,matematika,wwwww1,ssssss1,poiu0987,suchka,courtney1,gungho,alpha2,fktyjxrf,summer06,bud420,devildriver,heavyd,saracen,foucault,choclate,rjdfktyrj,goblue1,monaro,jmoney,dcpugh,efbcapa201,qqh92r,pepsicol,bbb747,ch5nmk,honeyb,beszoptad,tweeter,intheass,iseedeadpeople,123dan,89231243658s,farside1,findme,smiley1,55556666,sartre,ytcnjh,kacper,costarica,134679258,mikeys,nolimit9,vova123,withyou,5rxypn,love143,freebie,rescue1,203040,michael6,12monkey,redgreen,steff,itstime,naveen,good12345,acidrain,1dawg,miramar,playas,daddio,orion2,852741,studmuff,kobe24,senha123,stephe,mehmet,allalone,scarface1,helloworld,smith123,blueyes,vitali,memphis1,mybitch,colin1,159874,1dick,podaria,d6wnro,brahms,f3gh65,dfcbkmtd,xxxman,corran,ugejvp,qcfmtz,marusia,totem,arachnid,matrix2,antonell,fgntrf,zemfira,christos,surfing1,naruto123,plato1,56qhxs,madzia,vanille,043aaa,asq321,mutton,ohiostate,golde,cdznjckfd,rhfcysq,green5,elephan,superdog,jacqueli,bollock,lolitas,nick12,1orange,maplelea,july23,argento,waldorf,wolfer,pokemon12,zxcvbnmm,flicka,drexel,outlawz,harrie,atrain,juice2,falcons1,charlie6,19391945,tower1,dragon21,hotdamn,dirtyboy,love4ever,1ginger,thunder2,virgo1,alien1,bubblegu,4wwvte,123456789qqq,realtime,studio54,passss,vasilek,awsome,giorgia,bigbass,2002tii,sunghile,mosdef,simbas,count0,uwrl7c,summer05,lhepmz,ranger21,sugarbea,principe,5550123,tatanka,9638v,cheerios,majere,nomercy,jamesbond007,bh90210,7550055,jobber,karaganda,pongo,trickle,defamer,6chid8,1q2a3z,tuscan,nick123,.adgjm,loveyo,hobbes1,note1234,shootme,171819,loveporn,9788960,monty123,fabrice,macduff,monkey13,shadowfa,tweeker,hanna1,madball,telnet,loveu2,qwedcxzas,thatsit,vfhcbr,ptfe3xxp,gblfhfcs,ddddddd1,hakkinen,liverune,deathsta,misty123,suka123,recon1,inferno1,232629,polecat,sanibel,grouch,hitech,hamradio,rkfdbfnehf,vandam,nadin,fastlane,shlong,iddqdidkfa,ledzeppelin,sexyfeet,098123,stacey1,negras,roofing,lucifer1,ikarus,tgbyhn,melnik,barbaria,montego,twisted1,bigal1,jiggle,darkwolf,acerview,silvio,treetops,bishop1,iwanna,pornsite,happyme,gfccdjhl,114411,veritech,batterse,casey123,yhntgb,mailto,milli,guster,q12345678,coronet,sleuth,fuckmeha,armadill,kroshka,geordie,lastochka,pynchon,killall,tommy123,sasha1996,godslove,hikaru,clticic,cornbrea,vfkmdbyf,passmaster,123123123a,souris,nailer,diabolo,skipjack,martin12,hinata,mof6681,brookie,dogfight,johnso,karpov,326598,rfvbrflpt,travesti,caballer,galaxy1,wotan,antoha,art123,xakep1234,ricflair,pervert1,p00kie,ambulanc,santosh,berserker,larry33,bitch123,a987654321,dogstar,angel22,cjcbcrf,redhouse,toodles,gold123,hotspot,kennedy1,glock21,chosen1,schneide,mainman,taffy1,3ki42x,4zqauf,ranger2,4meonly,year2000,121212a,kfylsi,netzwerk,diese,picasso1,rerecz,225522,dastan,swimmer1,brooke1,blackbea,oneway,ruslana,dont4get,phidelt,chrisp,gjyxbr,xwing,kickme,shimmy,kimmy1,4815162342lost,qwerty5,fcporto,jazzbo,mierd,252627,basses,sr20det,00133,florin,howdy1,kryten,goshen,koufax,cichlid,imhotep,andyman,wrest666,saveme,dutchy,anonymou,semprini,siempre,mocha1,forest11,wildroid,aspen1,sesam,kfgekz,cbhbec,a55555,sigmanu,slash1,giggs11,vatech,marias,candy123,jericho1,kingme,123a123,drakula,cdjkjxm,mercur,oneman,hoseman,plumper,ilovehim,lancers,sergey1,takeshi,goodtogo,cranberr,ghjcnj123,harvick,qazxs,1972chev,horsesho,freedom3,letmein7,saitek,anguss,vfvfgfgfz,300000,elektro,toonporn,999111999q,mamuka,q9umoz,edelweis,subwoofer,bayside,disturbe,volition,lucky3,12345678z,3mpz4r,march1,atlantida,strekoza,seagrams,090909t,yy5rbfsc,jack1234,sammy12,sampras,mark12,eintrach,chaucer,lllll1,nochance,whitepower,197000,lbvekz,passer,torana,12345as,pallas,koolio,12qw34,nokia8800,findout,1thomas,mmmmm1,654987,mihaela,chinaman,superduper,donnas,ringo1,jeroen,gfdkjdf,professo,cdtnrf,tranmere,tanstaaf,himera,ukflbfnjh,667788,alex32,joschi,w123456,okidoki,flatline,papercli,super8,doris1,2good4u,4z34l0ts,pedigree,freeride,gsxr1100,wulfgar,benjie,ferdinan,king1,charlie7,djdxbr,fhntvbq,ripcurl,2wsx1qaz,kingsx,desade,sn00py,loveboat,rottie,evgesha,4money,dolittle,adgjmpt,buzzers,brett1,makita,123123qweqwe,rusalka,sluts1,123456e,jameson1,bigbaby,1z2z3z,ckjybr,love4u,fucker69,erhfbyf,jeanluc,farhad,fishfood,merkin,giant1,golf69,rfnfcnhjaf,camera1,stromb,smoothy,774411,nylon,juice1,rfn.irf,newyor,123456789t,marmot,star11,jennyff,jester1,hisashi,kumquat,alex777,helicopt,merkur,dehpye,cummin,zsmj2v,kristjan,april12,englan,honeypot,badgirls,uzumaki,keines,p12345,guita,quake1,duncan1,juicer,milkbone,hurtme,123456789b,qq123456789,schwein,p3wqaw,54132442,qwertyytrewq,andreeva,ruffryde,punkie,abfkrf,kristinka,anna1987,ooooo1,335533aa,umberto,amber123,456123789,456789123,beelch,manta,peeker,1112131415,3141592654,gipper,wrinkle5,katies,asd123456,james11,78n3s5af,michael0,daboss,jimmyb,hotdog1,david69,852123,blazed,sickan,eljefe,2n6wvq,gobills,rfhfcm,squeaker,cabowabo,luebri,karups,test01,melkor,angel777,smallvil,modano,olorin,4rkpkt,leslie1,koffie,shadows1,littleon,amiga1,topeka,summer20,asterix1,pitstop,aloysius,k12345,magazin,joker69,panocha,pass1word,1233214,ironpony,368ejhih,88keys,pizza123,sonali,57np39,quake2,1234567890qw,1020304,sword1,fynjif,abcde123,dfktyjr,rockys,grendel1,harley12,kokakola,super2,azathoth,lisa123,shelley1,girlss,ibragim,seven1,jeff24,1bigdick,dragan,autobot,t4nvp7,omega123,900000,hecnfv,889988,nitro1,doggie1,fatjoe,811pahc,tommyt,savage1,pallino,smitty1,jg3h4hfn,jamielee,1qazwsx,zx123456,machine1,asdfgh123,guinnes,789520,sharkman,jochen,legend1,sonic2,extreme1,dima12,photoman,123459876,nokian95,775533,vaz2109,april10,becks,repmvf,pooker,qwer12345,themaster,nabeel,monkey10,gogetit,hockey99,bbbbbbb1,zinedine,dolphin2,anelka,1superma,winter01,muggsy,horny2,669966,kuleshov,jesusis,calavera,bullet1,87t5hdf,sleepers,winkie,vespa,lightsab,carine,magister,1spider,shitbird,salavat,becca1,wc18c2,shirak,galactus,zaskar,barkley1,reshma,dogbreat,fullsail,asasa,boeder,12345ta,zxcvbnm12,lepton,elfquest,tony123,vkaxcs,savatage,sevilia1,badkitty,munkey,pebbles1,diciembr,qapmoc,gabriel2,1qa2ws3e,cbcmrb,welldone,nfyufh,kaizen,jack11,manisha,grommit,g12345,maverik,chessman,heythere,mixail,jjjjjjj1,sylvia1,fairmont,harve,skully,global1,youwish,pikachu1,badcat,zombie1,49527843,ultra1,redrider,offsprin,lovebird,153426,stymie,aq1sw2,sorrento,0000001,r3ady41t,webster1,95175,adam123,coonass,159487,slut1,gerasim,monkey99,slutwife,159963,1pass1page,hobiecat,bigtymer,all4you,maggie2,olamide,comcast1,infinit,bailee,vasileva,.ktxrf,asdfghjkl1,12345678912,setter,fuckyou7,nnagqx,lifesuck,draken,austi,feb2000,cable1,1234qwerasdf,hax0red,zxcv12,vlad7788,nosaj,lenovo,underpar,huskies1,lovegirl,feynman,suerte,babaloo,alskdjfhg,oldsmobi,bomber1,redrover,pupuce,methodman,phenom,cutegirl,countyli,gretsch,godisgood,bysunsu,hardhat,mironova,123qwe456rty,rusty123,salut,187211,555666777,11111z,mahesh,rjntyjxtr,br00klyn,dunce1,timebomb,bovine,makelove,littlee,shaven,rizwan,patrick7,42042042,bobbijo,rustem,buttmunc,dongle,tiger69,bluecat,blackhol,shirin,peaces,cherub,cubase,longwood,lotus7,gwju3g,bruin,pzaiu8,green11,uyxnyd,seventee,dragon5,tinkerbel,bluess,bomba,fedorova,joshua2,bodyshop,peluche,gbpacker,shelly1,d1i2m3a4,ghtpbltyn,talons,sergeevna,misato,chrisc,sexmeup,brend,olddog,davros,hazelnut,bridget1,hzze929b,readme,brethart,wild1,ghbdtnbr1,nortel,kinger,royal1,bucky1,allah1,drakkar,emyeuanh,gallaghe,hardtime,jocker,tanman,flavio,abcdef123,leviatha,squid1,skeet,sexse,123456x,mom4u4mm,lilred,djljktq,ocean11,cadaver,baxter1,808state,fighton,primavera,1andrew,moogle,limabean,goddess1,vitalya,blue56,258025,bullride,cicci,1234567d,connor1,gsxr11,oliveoil,leonard1,legsex,gavrik,rjnjgtc,mexicano,2bad4u,goodfellas,ornw6d,mancheste,hawkmoon,zlzfrh,schorsch,g9zns4,bashful,rossi46,stephie,rfhfntkm,sellout,123fuck,stewar1,solnze,00007,thor5200,compaq12,didit,bigdeal,hjlbyf,zebulon,wpf8eu,kamran,emanuele,197500,carvin,ozlq6qwm,3syqo15hil,pennys,epvjb6,asdfghjkl123,198000,nfbcbz,jazzer,asfnhg66,zoloft,albundy,aeiou,getlaid,planet1,gjkbyjxrf,alex2000,brianb,moveon,maggie11,eieio,vcradq,shaggy1,novartis,cocoloco,dunamis,554uzpad,sundrop,1qwertyu,alfie,feliks,briand,123www,red456,addams,fhntv1998,goodhead,theway,javaman,angel01,stratoca,lonsdale,15987532,bigpimpin,skater1,issue43,muffie,yasmina,slowride,crm114,sanity729,himmel,carolcox,bustanut,parabola,masterlo,computador,crackhea,dynastar,rockbott,doggysty,wantsome,bigten,gaelle,juicy1,alaska1,etower,sixnine,suntan,froggies,nokia7610,hunter11,njnets,alicante,buttons1,diosesamo,elizabeth1,chiron,trustnoo,amatuers,tinytim,mechta,sammy2,cthulu,trs8f7,poonam,m6cjy69u35,cookie12,blue25,jordans,santa1,kalinka,mikey123,lebedeva,12345689,kissss,queenbee,vjybnjh,ghostdog,cuckold,bearshare,rjcntyrj,alinochka,ghjcnjrdfibyj,aggie1,teens1,3qvqod,dauren,tonino,hpk2qc,iqzzt580,bears85,nascar88,theboy,njqcw4,masyanya,pn5jvw,intranet,lollone,shadow99,00096462,techie,cvtifhbrb,redeemed,gocanes,62717315,topman,intj3a,cobrajet,antivirus,whyme,berserke,ikilz083,airedale,brandon2,hopkig,johanna1,danil8098,gojira,arthu,vision1,pendragon,milen,chrissie,vampiro,mudder,chris22,blowme69,omega7,surfers,goterps,italy1,baseba11,diego1,gnatsum,birdies,semenov,joker123,zenit2011,wojtek,cab4ma99,watchmen,damia,forgotte,fdm7ed,strummer,freelanc,cingular,orange77,mcdonalds,vjhjpjdf,kariya,tombston,starlet,hawaii1,dantheman,megabyte,nbvjirf,anjing,ybrjkftdbx,hotmom,kazbek,pacific1,sashimi,asd12,coorslig,yvtte545,kitte,elysium,klimenko,cobblers,kamehameha,only4me,redriver,triforce,sidorov,vittoria,fredi,dank420,m1234567,fallout2,989244342a,crazy123,crapola,servus,volvos,1scooter,griffin1,autopass,ownzyou,deviant,george01,2kgwai,boeing74,simhrq,hermosa,hardcor,griffy,rolex1,hackme,cuddles1,master3,bujhtr,aaron123,popolo,blader,1sexyred,gerry1,cronos,ffvdj474,yeehaw,bob1234,carlos2,mike77,buckwheat,ramesh,acls2h,monster2,montess,11qq22ww,lazer,zx123456789,chimpy,masterch,sargon,lochness,archana,1234qwert,hbxfhl,sarahb,altoid,zxcvbn12,dakot,caterham,dolomite,chazz,r29hqq,longone,pericles,grand1,sherbert,eagle3,pudge,irontree,synapse,boome,nogood,summer2,pooki,gangsta1,mahalkit,elenka,lbhtrnjh,dukedog,19922991,hopkins1,evgenia,domino1,x123456,manny1,tabbycat,drake1,jerico,drahcir,kelly2,708090a,facesit,11c645df,mac123,boodog,kalani,hiphop1,critters,hellothere,tbirds,valerka,551scasi,love777,paloalto,mrbrown,duke3d,killa1,arcturus,spider12,dizzy1,smudger,goddog,75395,spammy,1357997531,78678,datalife,zxcvbn123,1122112211,london22,23dp4x,rxmtkp,biggirls,ownsu,lzbs2twz,sharps,geryfe,237081a,golakers,nemesi,sasha1995,pretty1,mittens1,d1lakiss,speedrac,gfhjkmm,sabbat,hellrais,159753258,qwertyuiop123,playgirl,crippler,salma,strat1,celest,hello5,omega5,cheese12,ndeyl5,edward12,soccer3,cheerio,davido,vfrcbr,gjhjctyjr,boscoe,inessa,shithole,ibill,qwepoi,201jedlz,asdlkj,davidk,spawn2,ariel1,michael4,jamie123,romantik,micro1,pittsbur,canibus,katja,muhtar,thomas123,studboy,masahiro,rebrov,patrick8,hotboys,sarge1,1hammer,nnnnn1,eistee,datalore,jackdani,sasha2010,mwq6qlzo,cmfnpu,klausi,cnhjbntkm,andrzej,ilovejen,lindaa,hunter123,vvvvv1,novembe,hamster1,x35v8l,lacey1,1silver,iluvporn,valter,herson,alexsandr,cojones,backhoe,womens,777angel,beatit,klingon1,ta8g4w,luisito,benedikt,maxwel,inspecto,zaq12ws,wladimir,bobbyd,peterj,asdfg12,hellspawn,bitch69,nick1234,golfer23,sony123,jello1,killie,chubby1,kodaira52,yanochka,buckfast,morris1,roaddogg,snakeeye,sex1234,mike22,mmouse,fucker11,dantist,brittan,vfrfhjdf,doc123,plokijuh,emerald1,batman01,serafim,elementa,soccer9,footlong,cthuttdbx,hapkido,eagle123,getsmart,getiton,batman2,masons,mastiff,098890,cfvfhf,james7,azalea,sherif,saun24865709,123red,cnhtrjpf,martina1,pupper,michael5,alan12,shakir,devin1,ha8fyp,palom,mamulya,trippy,deerhunter,happyone,monkey77,3mta3,123456789f,crownvic,teodor,natusik,0137485,vovchik,strutter,triumph1,cvetok,moremone,sonnen,screwbal,akira1,sexnow,pernille,independ,poopies,samapi,kbcbxrf,master22,swetlana,urchin,viper2,magica,slurpee,postit,gilgames,kissarmy,clubpenguin,limpbizk,timber1,celin,lilkim,fuckhard,lonely1,mom123,goodwood,extasy,sdsadee23,foxglove,malibog,clark1,casey2,shell1,odense,balefire,dcunited,cubbie,pierr,solei,161718,bowling1,areyukesc,batboy,r123456,1pionee,marmelad,maynard1,cn42qj,cfvehfq,heathrow,qazxcvbn,connecti,secret123,newfie,xzsawq21,tubitzen,nikusha,enigma1,yfcnz123,1austin,michaelc,splunge,wanger,phantom2,jason2,pain4me,primetime21,babes1,liberte,sugarray,undergro,zonker,labatts,djhjyf,watch1,eagle5,madison2,cntgfirf,sasha2,masterca,fiction7,slick50,bruins1,sagitari,12481632,peniss,insuranc,2b8riedt,12346789,mrclean,ssptx452,tissot,q1w2e3r4t5y6u7,avatar1,comet1,spacer,vbrjkf,pass11,wanker1,14vbqk9p,noshit,money4me,sayana,fish1234,seaways,pipper,romeo123,karens,wardog,ab123456,gorilla1,andrey123,lifesucks,jamesr,4wcqjn,bearman,glock22,matt11,dflbvrf,barbi,maine1,dima1997,sunnyboy,6bjvpe,bangkok1,666666q,rafiki,letmein0,0raziel0,dalla,london99,wildthin,patrycja,skydog,qcactw,tmjxn151,yqlgr667,jimmyd,stripclub,deadwood,863abgsg,horses1,qn632o,scatman,sonia1,subrosa,woland,kolya,charlie4,moleman,j12345,summer11,angel11,blasen,sandal,mynewpas,retlaw,cambria,mustang4,nohack04,kimber45,fatdog,maiden1,bigload,necron,dupont24,ghost123,turbo2,.ktymrf,radagast,balzac,vsevolod,pankaj,argentum,2bigtits,mamabear,bumblebee,mercury7,maddie1,chomper,jq24nc,snooky,pussylic,1lovers,taltos,warchild,diablo66,jojo12,sumerki,aventura,gagger,annelies,drumset,cumshots,azimut,123580,clambake,bmw540,birthday54,psswrd,paganini,wildwest,filibert,teaseme,1test,scampi,thunder5,antosha,purple12,supersex,hhhhhh1,brujah,111222333a,13579a,bvgthfnjh,4506802a,killians,choco,qqqwwweee,raygun,1grand,koetsu13,sharp1,mimi92139,fastfood,idontcare,bluered,chochoz,4z3al0ts,target1,sheffiel,labrat,stalingrad,147123,cubfan,corvett1,holden1,snapper1,4071505,amadeo,pollo,desperados,lovestory,marcopolo,mumbles,familyguy,kimchee,marcio,support1,tekila,shygirl1,trekkie,submissi,ilaria,salam,loveu,wildstar,master69,sales1,netware,homer2,arseniy,gerrity1,raspberr,atreyu,stick1,aldric,tennis12,matahari,alohomora,dicanio,michae1,michaeld,666111,luvbug,boyscout,esmerald,mjordan,admiral1,steamboa,616913,ybhdfyf,557711,555999,sunray,apokalipsis,theroc,bmw330,buzzy,chicos,lenusik,shadowma,eagles05,444222,peartree,qqq123,sandmann,spring1,430799,phatass,andi03,binky1,arsch,bamba,kenny123,fabolous,loser123,poop12,maman,phobos,tecate,myxworld4,metros,cocorico,nokia6120,johnny69,hater,spanked,313233,markos,love2011,mozart1,viktoriy,reccos,331234,hornyone,vitesse,1um83z,55555q,proline,v12345,skaven,alizee,bimini,fenerbahce,543216,zaqqaz,poi123,stabilo,brownie1,1qwerty1,dinesh,baggins1,1234567t,davidkin,friend1,lietuva,octopuss,spooks,12345qq,myshit,buttface,paradoxx,pop123,golfin,sweet69,rfghbp,sambuca,kayak1,bogus1,girlz,dallas12,millers,123456zx,operatio,pravda,eternal1,chase123,moroni,proust,blueduck,harris1,redbarch,996699,1010101,mouche,millenni,1123456,score1,1234565,1234576,eae21157,dave12,pussyy,gfif1991,1598741,hoppy,darrian,snoogins,fartface,ichbins,vfkbyrf,rusrap,2741001,fyfrjylf,aprils,favre,thisis,bannana,serval,wiggum,satsuma,matt123,ivan123,gulmira,123zxc123,oscar2,acces,annie2,dragon0,emiliano,allthat,pajaro,amandine,rawiswar,sinead,tassie,karma1,piggys,nokias,orions,origami,type40,mondo,ferrets,monker,biteme2,gauntlet,arkham,ascona,ingram01,klem1,quicksil,bingo123,blue66,plazma,onfire,shortie,spjfet,123963,thered,fire777,lobito,vball,1chicken,moosehea,elefante,babe23,jesus12,parallax,elfstone,number5,shrooms,freya,hacker1,roxette,snoops,number7,fellini,dtlmvf,chigger,mission1,mitsubis,kannan,whitedog,james01,ghjgecr,rfnfgekmnf,everythi,getnaked,prettybo,sylvan,chiller,carrera4,cowbo,biochem,azbuka,qwertyuiop1,midnight1,informat,audio1,alfred1,0range,sucker1,scott2,russland,1eagle,torben,djkrjlfd,rocky6,maddy1,bonobo,portos,chrissi,xjznq5,dexte,vdlxuc,teardrop,pktmxr,iamtheone,danijela,eyphed,suzuki1,etvww4,redtail,ranger11,mowerman,asshole2,coolkid,adriana1,bootcamp,longcut,evets,npyxr5,bighurt,bassman1,stryder,giblet,nastja,blackadd,topflite,wizar,cumnow,technolo,bassboat,bullitt,kugm7b,maksimus,wankers,mine12,sunfish,pimpin1,shearer9,user1,vjzgjxnf,tycobb,80070633pc,stanly,vitaly,shirley1,cinzia,carolyn1,angeliqu,teamo,qdarcv,aa123321,ragdoll,bonit,ladyluck,wiggly,vitara,jetbalance,12345600,ozzman,dima12345,mybuddy,shilo,satan66,erebus,warrio,090808qwe,stupi,bigdan,paul1234,chiapet,brooks1,philly1,dually,gowest,farmer1,1qa2ws3ed4rf,alberto1,beachboy,barne,aa12345,aliyah,radman,benson1,dfkthbq,highball,bonou2,i81u812,workit,darter,redhook,csfbr5yy,buttlove,episode1,ewyuza,porthos,lalal,abcd12,papero,toosexy,keeper1,silver7,jujitsu,corset,pilot123,simonsay,pinggolf,katerinka,kender,drunk1,fylhjvtlf,rashmi,nighthawk,maggy,juggernaut,larryb,cabibble,fyabcf,247365,gangstar,jaybee,verycool,123456789qw,forbidde,prufrock,12345zxc,malaika,blackbur,docker,filipe,koshechka,gemma1,djamaal,dfcbkmtdf,gangst,9988aa,ducks1,pthrfkj,puertorico,muppets,griffins,whippet,sauber,timofey,larinso,123456789zxc,quicken,qsefth,liteon,headcase,bigdadd,zxc321,maniak,jamesc,bassmast,bigdogs,1girls,123xxx,trajan,lerochka,noggin,mtndew,04975756,domin,wer123,fumanchu,lambada,thankgod,june22,kayaking,patchy,summer10,timepass,poiu1234,kondor,kakka,lament,zidane10,686xqxfg,l8v53x,caveman1,nfvthkfy,holymoly,pepita,alex1996,mifune,fighter1,asslicker,jack22,abc123abc,zaxxon,midnigh,winni,psalm23,punky,monkey22,password13,mymusic,justyna,annushka,lucky5,briann,495rus19,withlove,almaz,supergir,miata,bingbong,bradpitt,kamasutr,yfgjktjy,vanman,pegleg,amsterdam1,123a321,letmein9,shivan,korona,bmw520,annette1,scotsman,gandal,welcome12,sc00by,qpwoei,fred69,m1sf1t,hamburg1,1access,dfkmrbhbz,excalibe,boobies1,fuckhole,karamel,starfuck,star99,breakfas,georgiy,ywvxpz,smasher,fatcat1,allanon,12345n,coondog,whacko,avalon1,scythe,saab93,timon,khorne,atlast,nemisis,brady12,blenheim,52678677,mick7278,9skw5g,fleetwoo,ruger1,kissass,pussy7,scruff,12345l,bigfun,vpmfsz,yxkck878,evgeny,55667788,lickher,foothill,alesis,poppies,77777778,californi,mannie,bartjek,qhxbij,thehulk,xirt2k,angelo4ek,rfkmrekznjh,tinhorse,1david,sparky12,night1,luojianhua,bobble,nederland,rosemari,travi,minou,ciscokid,beehive,565hlgqo,alpine1,samsung123,trainman,xpress,logistic,vw198m2n,hanter,zaqwsx123,qwasz,mariachi,paska,kmg365,kaulitz,sasha12,north1,polarbear,mighty1,makeksa11,123456781,one4all,gladston,notoriou,polniypizdec110211,gosia,grandad,xholes,timofei,invalidp,speaker1,zaharov,maggiema,loislane,gonoles,br5499,discgolf,kaskad,snooper,newman1,belial,demigod,vicky1,pridurok,alex1990,tardis1,cruzer,hornie,sacramen,babycat,burunduk,mark69,oakland1,me1234,gmctruck,extacy,sexdog,putang,poppen,billyd,1qaz2w,loveable,gimlet,azwebitalia,ragtop,198500,qweas,mirela,rock123,11bravo,sprewell,tigrenok,jaredleto,vfhbif,blue2,rimjob,catwalk,sigsauer,loqse,doromich,jack01,lasombra,jonny5,newpassword,profesor,garcia1,123as123,croucher,demeter,4_life,rfhfvtkm,superman2,rogues,assword1,russia1,jeff1,mydream,z123456789,rascal1,darre,kimberl,pickle1,ztmfcq,ponchik,lovesporn,hikari,gsgba368,pornoman,chbjun,choppy,diggity,nightwolf,viktori,camar,vfhecmrf,alisa1,minstrel,wishmaster,mulder1,aleks,gogirl,gracelan,8womys,highwind,solstice,dbrnjhjdyf,nightman,pimmel,beertje,ms6nud,wwfwcw,fx3tuo,poopface,asshat,dirtyd,jiminy,luv2fuck,ptybnxtvgbjy,dragnet,pornogra,10inch,scarlet1,guido1,raintree,v123456,1aaaaaaa,maxim1935,hotwater,gadzooks,playaz,harri,brando1,defcon1,ivanna,123654a,arsenal2,candela,nt5d27,jaime1,duke1,burton1,allstar1,dragos,newpoint,albacore,1236987z,verygoodbot,1wildcat,fishy1,ptktysq,chris11,puschel,itdxtyrj,7kbe9d,serpico,jazzie,1zzzzz,kindbuds,wenef45313,1compute,tatung,sardor,gfyfcjybr,test99,toucan,meteora,lysander,asscrack,jowgnx,hevnm4,suckthis,masha123,karinka,marit,oqglh565,dragon00,vvvbbb,cheburashka,vfrfrf,downlow,unforgiven,p3e85tr,kim123,sillyboy,gold1,golfvr6,quicksan,irochka,froglegs,shortsto,caleb1,tishka,bigtitts,smurfy,bosto,dropzone,nocode,jazzbass,digdug,green7,saltlake,therat,dmitriev,lunita,deaddog,summer0,1212qq,bobbyg,mty3rh,isaac1,gusher,helloman,sugarbear,corvair,extrem,teatime,tujazopi,titanik,efyreg,jo9k2jw2,counchac,tivoli,utjvtnhbz,bebit,jacob6,clayton1,incubus1,flash123,squirter,dima2010,cock1,rawks,komatsu,forty2,98741236,cajun1,madelein,mudhoney,magomed,q111111,qaswed,consense,12345b,bakayaro,silencer,zoinks,bigdic,werwolf,pinkpuss,96321478,alfie1,ali123,sarit,minette,musics,chato,iaapptfcor,cobaka,strumpf,datnigga,sonic123,yfnecbr,vjzctvmz,pasta1,tribbles,crasher,htlbcrf,1tiger,shock123,bearshar,syphon,a654321,cubbies1,jlhanes,eyespy,fucktheworld,carrie1,bmw325is,suzuk,mander,dorina,mithril,hondo1,vfhnbyb,sachem,newton1,12345x,7777755102q,230857z,xxxsex,scubapro,hayastan,spankit,delasoul,searock6,fallout3,nilrem,24681357,pashka,voluntee,pharoh,willo,india1,badboy69,roflmao,gunslinger,lovergir,mama12,melange,640xwfkv,chaton,darkknig,bigman1,aabbccdd,harleyd,birdhouse,giggsy,hiawatha,tiberium,joker7,hello1234,sloopy,tm371855,greendog,solar1,bignose,djohn11,espanol,oswego,iridium,kavitha,pavell,mirjam,cyjdsvujljv,alpha5,deluge,hamme,luntik,turismo,stasya,kjkbnf,caeser,schnecke,tweety1,tralfaz,lambrett,prodigy1,trstno1,pimpshit,werty1,karman,bigboob,pastel,blackmen,matthew8,moomin,q1w2e,gilly,primaver,jimmyg,house2,elviss,15975321,1jessica,monaliza,salt55,vfylfhbyrf,harley11,tickleme,murder1,nurgle,kickass1,theresa1,fordtruck,pargolf,managua,inkognito,sherry1,gotit,friedric,metro2033,slk230,freeport,cigarett,492529,vfhctkm,thebeach,twocats,bakugan,yzerman1,charlieb,motoko,skiman,1234567w,pussy3,love77,asenna,buffie,260zntpc,kinkos,access20,mallard1,fuckyou69,monami,rrrrr1,bigdog69,mikola,1boomer,godzila,ginger2,dima2000,skorpion39,dima1234,hawkdog79,warrior2,ltleirf,supra1,jerusale,monkey01,333z333,666888,kelsey1,w8gkz2x1,fdfnfh,msnxbi,qwe123rty,mach1,monkey3,123456789qq,c123456,nezabudka,barclays,nisse,dasha1,12345678987654321,dima1993,oldspice,frank2,rabbitt,prettyboy,ov3ajy,iamthema,kawasak,banjo1,gtivr6,collants,gondor,hibees,cowboys2,codfish,buster2,purzel,rubyred,kayaker,bikerboy,qguvyt,masher,sseexx,kenshiro,moonglow,semenova,rosari,eduard1,deltaforce,grouper,bongo1,tempgod,1taylor,goldsink,qazxsw1,1jesus,m69fg2w,maximili,marysia,husker1,kokanee,sideout,googl,south1,plumber1,trillian,00001,1357900,farkle,1xxxxx,pascha,emanuela,bagheera,hound1,mylov,newjersey,swampfox,sakic19,torey,geforce,wu4etd,conrail,pigman,martin2,ber02,nascar2,angel69,barty,kitsune,cornet,yes90125,goomba,daking,anthea,sivart,weather1,ndaswf,scoubidou,masterchief,rectum,3364068,oranges1,copter,1samanth,eddies,mimoza,ahfywbz,celtic88,86mets,applemac,amanda11,taliesin,1angel,imhere,london11,bandit12,killer666,beer1,06225930,psylocke,james69,schumach,24pnz6kc,endymion,wookie1,poiu123,birdland,smoochie,lastone,rclaki,olive1,pirat,thunder7,chris69,rocko,151617,djg4bb4b,lapper,ajcuivd289,colole57,shadow7,dallas21,ajtdmw,executiv,dickies,omegaman,jason12,newhaven,aaaaaas,pmdmscts,s456123789,beatri,applesauce,levelone,strapon,benladen,creaven,ttttt1,saab95,f123456,pitbul,54321a,sex12345,robert3,atilla,mevefalkcakk,1johnny,veedub,lilleke,nitsuj,5t6y7u8i,teddys,bluefox,nascar20,vwjetta,buffy123,playstation3,loverr,qweasd12,lover2,telekom,benjamin1,alemania,neutrino,rockz,valjean,testicle,trinity3,realty,firestarter,794613852,ardvark,guadalup,philmont,arnold1,holas,zw6syj,birthday299,dover1,sexxy1,gojets,741236985,cance,blue77,xzibit,qwerty88,komarova,qweszxc,footer,rainger,silverst,ghjcnb,catmando,tatooine,31217221027711,amalgam,69dude,qwerty321,roscoe1,74185,cubby,alfa147,perry1,darock,katmandu,darknight,knicks1,freestuff,45454,kidman,4tlved,axlrose,cutie1,quantum1,joseph10,ichigo,pentium3,rfhectkm,rowdy1,woodsink,justforfun,sveta123,pornografia,mrbean,bigpig,tujheirf,delta9,portsmou,hotbod,kartal,10111213,fkbyf001,pavel1,pistons1,necromancer,verga,c7lrwu,doober,thegame1,hatesyou,sexisfun,1melissa,tuczno18,bowhunte,gobama,scorch,campeon,bruce2,fudge1,herpderp,bacon1,redsky,blackeye,19966991,19992000,ripken8,masturba,34524815,primax,paulina1,vp6y38,427cobra,4dwvjj,dracon,fkg7h4f3v6,longview,arakis,panama1,honda2,lkjhgfdsaz,razors,steels,fqkw5m,dionysus,mariajos,soroka,enriqu,nissa,barolo,king1234,hshfd4n279,holland1,flyer1,tbones,343104ky,modems,tk421,ybrbnrf,pikapp,sureshot,wooddoor,florida2,mrbungle,vecmrf,catsdogs,axolotl,nowayout,francoi,chris21,toenail,hartland,asdjkl,nikkii,onlyyou,buckskin,fnord,flutie,holen1,rincewind,lefty1,ducky1,199000,fvthbrf,redskin1,ryno23,lostlove,19mtpgam19,abercrom,benhur,jordan11,roflcopter,ranma,phillesh,avondale,igromania,p4ssword,jenny123,tttttt1,spycams,cardigan,2112yyz,sleepy1,paris123,mopars,lakers34,hustler1,james99,matrix3,popimp,12pack,eggbert,medvedev,testit,performa,logitec,marija,sexybeast,supermanboy,iwantit,rjktcj,jeffer,svarog,halo123,whdbtp,nokia3230,heyjoe,marilyn1,speeder,ibxnsm,prostock,bennyboy,charmin,codydog,parol999,ford9402,jimmer,crayola,159357258,alex77,joey1,cayuga,phish420,poligon,specops,tarasova,caramelo,draconis,dimon,cyzkhw,june29,getbent,1guitar,jimjam,dictiona,shammy,flotsam,0okm9ijn,crapper,technic,fwsadn,rhfdxtyrj,zaq11qaz,anfield1,159753q,curious1,hip-hop,1iiiii,gfhjkm2,cocteau,liveevil,friskie,crackhead,b1afra,elektrik,lancer1,b0ll0cks,jasond,z1234567,tempest1,alakazam,asdfasd,duffy1,oneday,dinkle,qazedctgb,kasimir,happy7,salama,hondaciv,nadezda,andretti,cannondale,sparticu,znbvjd,blueice,money01,finster,eldar,moosie,pappa,delta123,neruda,bmw330ci,jeanpaul,malibu1,alevtina,sobeit,travolta,fullmetal,enamorad,mausi,boston12,greggy,smurf1,ratrace,ichiban,ilovepus,davidg,wolf69,villa1,cocopuff,football12,starfury,zxc12345,forfree,fairfiel,dreams1,tayson,mike2,dogday,hej123,oldtimer,sanpedro,clicker,mollycat,roadstar,golfe,lvbnhbq1,topdevice,a1b2c,sevastopol,calli,milosc,fire911,pink123,team3x,nolimit5,snickers1,annies,09877890,jewel1,steve69,justin11,autechre,killerbe,browncow,slava1,christer,fantomen,redcloud,elenberg,beautiful1,passw0rd1,nazira,advantag,cockring,chaka,rjpzdrf,99941,az123456,biohazar,energie,bubble1,bmw323,tellme,printer1,glavine,1starwar,coolbeans,april17,carly1,quagmire,admin2,djkujuhfl,pontoon,texmex,carlos12,thermo,vaz2106,nougat,bob666,1hockey,1john,cricke,qwerty10,twinz,totalwar,underwoo,tijger,lildevil,123q321,germania,freddd,1scott,beefy,5t4r3e2w1q,fishbait,nobby,hogger,dnstuff,jimmyc,redknapp,flame1,tinfloor,balla,nfnfhby,yukon1,vixens,batata,danny123,1zxcvbnm,gaetan,homewood,greats,tester1,green99,1fucker,sc0tland,starss,glori,arnhem,goatman,1234asd,supertra,bill123,elguapo,sexylegs,jackryan,usmc69,innow,roaddog,alukard,winter11,crawler,gogiants,rvd420,alessandr,homegrow,gobbler,esteba,valeriy,happy12,1joshua,hawking,sicnarf,waynes,iamhappy,bayadera,august2,sashas,gotti,dragonfire,pencil1,halogen,borisov,bassingw,15975346,zachar,sweetp,soccer99,sky123,flipyou,spots3,xakepy,cyclops1,dragon77,rattolo58,motorhea,piligrim,helloween,dmb2010,supermen,shad0w,eatcum,sandokan,pinga,ufkfrnbrf,roksana,amista,pusser,sony1234,azerty1,1qasw2,ghbdt,q1w2e3r4t5y6u7i8,ktutylf,brehznev,zaebali,shitass,creosote,gjrtvjy,14938685,naughtyboy,pedro123,21crack,maurice1,joesakic,nicolas1,matthew9,lbyfhf,elocin,hfcgbplzq,pepper123,tiktak,mycroft,ryan11,firefly1,arriva,cyecvevhbr,loreal,peedee,jessica8,lisa01,anamari,pionex,ipanema,airbag,frfltvbz,123456789aa,epwr49,casper12,sweethear,sanandreas,wuschel,cocodog,france1,119911,redroses,erevan,xtvgbjy,bigfella,geneve,volvo850,evermore,amy123,moxie,celebs,geeman,underwor,haslo1,joy123,hallow,chelsea0,12435687,abarth,12332145,tazman1,roshan,yummie,genius1,chrisd,ilovelife,seventy7,qaz1wsx2,rocket88,gaurav,bobbyboy,tauchen,roberts1,locksmit,masterof,www111,d9ungl,volvos40,asdasd1,golfers,jillian1,7xm5rq,arwpls4u,gbhcf2,elloco,football2,muerte,bob101,sabbath1,strider1,killer66,notyou,lawnboy,de7mdf,johnnyb,voodoo2,sashaa,homedepo,bravos,nihao123,braindea,weedhead,rajeev,artem1,camille1,rockss,bobbyb,aniston,frnhbcf,oakridge,biscayne,cxfcnm,dressage,jesus3,kellyann,king69,juillet,holliste,h00ters,ripoff,123645,1999ar,eric12,123777,tommi,dick12,bilder,chris99,rulezz,getpaid,chicubs,ender1,byajhvfnbrf,milkshak,sk8board,freakshow,antonella,monolit,shelb,hannah01,masters1,pitbull1,1matthew,luvpussy,agbdlcid,panther2,alphas,euskadi,8318131,ronnie1,7558795,sweetgirl,cookie59,sequoia,5552555,ktyxbr,4500455,money7,severus,shinobu,dbityrf,phisig,rogue2,fractal,redfred,sebastian1,nelli,b00mer,cyberman,zqjphsyf6ctifgu,oldsmobile,redeemer,pimpi,lovehurts,1slayer,black13,rtynfdh,airmax,g00gle,1panther,artemon,nopasswo,fuck1234,luke1,trinit,666000,ziadma,oscardog,davex,hazel1,isgood,demond,james5,construc,555551,january2,m1911a1,flameboy,merda,nathan12,nicklaus,dukester,hello99,scorpio7,leviathan,dfcbktr,pourquoi,vfrcbv123,shlomo,rfcgth,rocky3,ignatz,ajhneyf,roger123,squeek,4815162342a,biskit,mossimo,soccer21,gridlock,lunker,popstar,ghhh47hj764,chutney,nitehawk,vortec,gamma1,codeman,dragula,kappasig,rainbow2,milehigh,blueballs,ou8124me,rulesyou,collingw,mystere,aster,astrovan,firetruck,fische,crawfish,hornydog,morebeer,tigerpaw,radost,144000,1chance,1234567890qwe,gracie1,myopia,oxnard,seminoles,evgeni,edvard,partytim,domani,tuffy1,jaimatadi,blackmag,kzueirf,peternor,mathew1,maggie12,henrys,k1234567,fasted,pozitiv,cfdtkbq,jessica7,goleafs,bandito,girl78,sharingan,skyhigh,bigrob,zorros,poopers,oldschoo,pentium2,gripper,norcal,kimba,artiller,moneymak,00197400,272829,shadow1212,thebull,handbags,all4u2c,bigman2,civics,godisgoo,section8,bandaid,suzanne1,zorba,159123,racecars,i62gbq,rambo123,ironroad,johnson2,knobby,twinboys,sausage1,kelly69,enter2,rhjirf,yessss,james12,anguilla,boutit,iggypop,vovochka,06060,budwiser,romuald,meditate,good1,sandrin,herkules,lakers8,honeybea,11111111a,miche,rangers9,lobster1,seiko,belova,midcon,mackdadd,bigdaddy1,daddie,sepultur,freddy12,damon1,stormy1,hockey2,bailey12,hedimaptfcor,dcowboys,sadiedog,thuggin,horny123,josie1,nikki2,beaver69,peewee1,mateus,viktorija,barrys,cubswin1,matt1234,timoxa,rileydog,sicilia,luckycat,candybar,julian1,abc456,pussylip,phase1,acadia,catty,246800,evertonf,bojangle,qzwxec,nikolaj,fabrizi,kagome,noncapa0,marle,popol,hahaha1,cossie,carla10,diggers,spankey,sangeeta,cucciolo,breezer,starwar1,cornholio,rastafari,spring99,yyyyyyy1,webstar,72d5tn,sasha1234,inhouse,gobuffs,civic1,redstone,234523,minnie1,rivaldo,angel5,sti2000,xenocide,11qq11,1phoenix,herman1,holly123,tallguy,sharks1,madri,superbad,ronin,jalal123,hardbody,1234567r,assman1,vivahate,buddylee,38972091,bonds25,40028922,qrhmis,wp2005,ceejay,pepper01,51842543,redrum1,renton,varadero,tvxtjk7r,vetteman,djhvbrc,curly1,fruitcak,jessicas,maduro,popmart,acuari,dirkpitt,buick1,bergerac,golfcart,pdtpljxrf,hooch1,dudelove,d9ebk7,123452000,afdjhbn,greener,123455432,parachut,mookie12,123456780,jeepcj5,potatoe,sanya,qwerty2010,waqw3p,gotika,freaky1,chihuahu,buccanee,ecstacy,crazyboy,slickric,blue88,fktdnbyf,2004rj,delta4,333222111,calient,ptbdhw,1bailey,blitz1,sheila1,master23,hoagie,pyf8ah,orbita,daveyboy,prono1,delta2,heman,1horny,tyrik123,ostrov,md2020,herve,rockfish,el546218,rfhbyjxrf,chessmaster,redmoon,lenny1,215487,tomat,guppy,amekpass,amoeba,my3girls,nottingh,kavita,natalia1,puccini,fabiana,8letters,romeos,netgear,casper2,taters,gowings,iforgot1,pokesmot,pollit,lawrun,petey1,rosebuds,007jr,gthtcnhjqrf,k9dls02a,neener,azertyu,duke11,manyak,tiger01,petros,supermar,mangas,twisty,spotter,takagi,dlanod,qcmfd454,tusymo,zz123456,chach,navyblue,gilbert1,2kash6zq,avemaria,1hxboqg2s,viviane,lhbjkjubz2957704,nowwowtg,1a2b3c4,m0rn3,kqigb7,superpuper,juehtw,gethigh,theclown,makeme,pradeep,sergik,deion21,nurik,devo2706,nbvibt,roman222,kalima,nevaeh,martin7,anathema,florian1,tamwsn3sja,dinmamma,133159,123654q,slicks,pnp0c08,yojimbo,skipp,kiran,pussyfuck,teengirl,apples12,myballs,angeli,1234a,125678,opelastra,blind1,armagedd,fish123,pitufo,chelseaf,thedevil,nugget1,cunt69,beetle1,carter15,apolon,collant,password00,fishboy,djkrjdf,deftone,celti,three11,cyrus1,lefthand,skoal1,ferndale,aries1,fred01,roberta1,chucks,cornbread,lloyd1,icecrea,cisco123,newjerse,vfhrbpf,passio,volcom1,rikimaru,yeah11,djembe,facile,a1l2e3x4,batman7,nurbol,lorenzo1,monica69,blowjob1,998899,spank1,233391,n123456,1bear,bellsout,999998,celtic67,sabre1,putas,y9enkj,alfabeta,heatwave,honey123,hard4u,insane1,xthysq,magnum1,lightsaber,123qweqwe,fisher1,pixie1,precios,benfic,thegirls,bootsman,4321rewq,nabokov,hightime,djghjc,1chelsea,junglist,august16,t3fkvkmj,1232123,lsdlsd12,chuckie1,pescado,granit,toogood,cathouse,natedawg,bmw530,123kid,hajime,198400,engine1,wessonnn,kingdom1,novembre,1rocks,kingfisher,qwerty89,jordan22,zasranec,megat,sucess,installutil,fetish01,yanshi1982,1313666,1314520,clemence,wargod,time1,newzealand,snaker,13324124,cfrehf,hepcat,mazahaka,bigjay,denisov,eastwest,1yellow,mistydog,cheetos,1596357,ginger11,mavrik,bubby1,bhbyf,pyramide,giusepp,luthien,honda250,andrewjackie,kentavr,lampoon,zaq123wsx,sonicx,davidh,1ccccc,gorodok,windsong,programm,blunt420,vlad1995,zxcvfdsa,tarasov,mrskin,sachas,mercedes1,koteczek,rawdog,honeybear,stuart1,kaktys,richard7,55555n,azalia,hockey10,scouter,francy,1xxxxxx,julie456,tequilla,penis123,schmoe,tigerwoods,1ferrari,popov,snowdrop,matthieu,smolensk,cornflak,jordan01,love2000,23wesdxc,kswiss,anna2000,geniusnet,baby2000,33ds5x,waverly,onlyone4,networkingpe,raven123,blesse,gocards,wow123,pjflkork,juicey,poorboy,freeee,billybo,shaheen,zxcvbnm.,berlit,truth1,gepard,ludovic,gunther1,bobby2,bob12345,sunmoon,septembr,bigmac1,bcnjhbz,seaking,all4u,12qw34er56ty,bassie,nokia5228,7355608,sylwia,charvel,billgate,davion,chablis,catsmeow,kjiflrf,amylynn,rfvbkkf,mizredhe,handjob,jasper12,erbol,solara,bagpipe,biffer,notime,erlan,8543852,sugaree,oshkosh,fedora,bangbus,5lyedn,longball,teresa1,bootyman,aleksand,qazwsxedc12,nujbhc,tifosi,zpxvwy,lights1,slowpoke,tiger12,kstate,password10,alex69,collins1,9632147,doglover,baseball2,security1,grunts,orange2,godloves,213qwe879,julieb,1qazxsw23edcvfr4,noidea,8uiazp,betsy1,junior2,parol123,123456zz,piehonkii,kanker,bunky,hingis,reese1,qaz123456,sidewinder,tonedup,footsie,blackpoo,jalapeno,mummy1,always1,josh1,rockyboy,plucky,chicag,nadroj,blarney,blood123,wheaties,packer1,ravens1,mrjones,gfhjkm007,anna2010,awatar,guitar12,hashish,scale1,tomwaits,amrita,fantasma,rfpfym,pass2,tigris,bigair,slicker,sylvi,shilpa,cindylou,archie1,bitches1,poppys,ontime,horney1,camaroz28,alladin,bujhm,cq2kph,alina1,wvj5np,1211123a,tetons,scorelan,concordi,morgan2,awacs,shanty,tomcat14,andrew123,bear69,vitae,fred99,chingy,octane,belgario,fatdaddy,rhodan,password23,sexxes,boomtown,joshua01,war3demo,my2kids,buck1,hot4you,monamour,12345aa,yumiko,parool,carlton1,neverland,rose12,right1,sociald,grouse,brandon0,cat222,alex00,civicex,bintang,malkav,arschloc,dodgeviper,qwerty666,goduke,dante123,boss1,ontheroc,corpsman,love14,uiegu451,hardtail,irondoor,ghjrehfnehf,36460341,konijn,h2slca,kondom25,123456ss,cfytxrf,btnjey,nando,freemail,comander,natas666,siouxsie,hummer1,biomed,dimsum,yankees0,diablo666,lesbian1,pot420,jasonm,glock23,jennyb,itsmine,lena2010,whattheh,beandip,abaddon,kishore,signup,apogee,biteme12,suzieq,vgfun4,iseeyou,rifleman,qwerta,4pussy,hawkman,guest1,june17,dicksuck,bootay,cash12,bassale,ktybyuhfl,leetch,nescafe,7ovtgimc,clapton1,auror,boonie,tracker1,john69,bellas,cabinboy,yonkers,silky1,ladyffesta,drache,kamil1,davidp,bad123,snoopy12,sanche,werthvfy,achille,nefertiti,gerald1,slage33,warszawa,macsan26,mason123,kotopes,welcome8,nascar99,kiril,77778888,hairy1,monito,comicsans,81726354,killabee,arclight,yuo67,feelme,86753099,nnssnn,monday12,88351132,88889999,websters,subito,asdf12345,vaz2108,zvbxrpl,159753456852,rezeda,multimed,noaccess,henrique,tascam,captiva,zadrot,hateyou,sophie12,123123456,snoop1,charlie8,birmingh,hardline,libert,azsxdcf,89172735872,rjpthju,bondar,philips1,olegnaruto,myword,yakman,stardog,banana12,1234567890w,farout,annick,duke01,rfj422,billard,glock19,shaolin1,master10,cinderel,deltaone,manning1,biggreen,sidney1,patty1,goforit1,766rglqy,sevendus,aristotl,armagedo,blumen,gfhfyjz,kazakov,lekbyxxx,accord1,idiota,soccer16,texas123,victoire,ololo,chris01,bobbbb,299792458,eeeeeee1,confiden,07070,clarks,techno1,kayley,stang1,wwwwww1,uuuuu1,neverdie,jasonr,cavscout,481516234,mylove1,shaitan,1qazxcvb,barbaros,123456782000,123wer,thissucks,7seven,227722,faerie,hayduke,dbacks,snorkel,zmxncbv,tiger99,unknown1,melmac,polo1234,sssssss1,1fire,369147,bandung,bluejean,nivram,stanle,ctcnhf,soccer20,blingbli,dirtball,alex2112,183461,skylin,boobman,geronto,brittany1,yyz2112,gizmo69,ktrcec,dakota12,chiken,sexy11,vg08k714,bernadet,1bulldog,beachs,hollyb,maryjoy,margo1,danielle1,chakra,alexand,hullcity,matrix12,sarenna,pablos,antler,supercar,chomsky,german1,airjordan,545ettvy,camaron,flight1,netvideo,tootall,valheru,481516,1234as,skimmer,redcross,inuyash,uthvfy,1012nw,edoardo,bjhgfi,golf11,9379992a,lagarto,socball,boopie,krazy,.adgjmptw,gaydar,kovalev,geddylee,firstone,turbodog,loveee,135711,badbo,trapdoor,opopop11,danny2,max2000,526452,kerry1,leapfrog,daisy2,134kzbip,1andrea,playa1,peekab00,heskey,pirrello,gsewfmck,dimon4ik,puppie,chelios,554433,hypnodanny,fantik,yhwnqc,ghbdtngjrf,anchorag,buffett1,fanta,sappho,024680,vialli,chiva,lucylu,hashem,exbntkm,thema,23jordan,jake11,wildside,smartie,emerica,2wj2k9oj,ventrue,timoth,lamers,baerchen,suspende,boobis,denman85,1adam12,otello,king12,dzakuni,qsawbbs,isgay,porno123,jam123,daytona1,tazzie,bunny123,amaterasu,jeffre,crocus,mastercard,bitchedup,chicago7,aynrand,intel1,tamila,alianza,mulch,merlin12,rose123,alcapone,mircea,loveher,joseph12,chelsea6,dorothy1,wolfgar,unlimite,arturik,qwerty3,paddy1,piramid,linda123,cooool,millie1,warlock1,forgotit,tort02,ilikeyou,avensis,loveislife,dumbass1,clint1,2110se,drlove,olesia,kalinina,sergey123,123423,alicia1,markova,tri5a3,media1,willia1,xxxxxxx1,beercan,smk7366,jesusislord,motherfuck,smacker,birthday5,jbaby,harley2,hyper1,a9387670a,honey2,corvet,gjmptw,rjhjkmbien,apollon,madhuri,3a5irt,cessna17,saluki,digweed,tamia1,yja3vo,cfvlehfr,1111111q,martyna,stimpy1,anjana,yankeemp,jupiler,idkfa,1blue,fromv,afric,3xbobobo,liverp00l,nikon1,amadeus1,acer123,napoleo,david7,vbhjckfdf,mojo69,percy1,pirates1,grunt1,alenushka,finbar,zsxdcf,mandy123,1fred,timewarp,747bbb,druids,julia123,123321qq,spacebar,dreads,fcbarcelona,angela12,anima,christopher1,stargazer,123123s,hockey11,brewski,marlbor,blinker,motorhead,damngood,werthrf,letmein3,moremoney,killer99,anneke,eatit,pilatus,andrew01,fiona1,maitai,blucher,zxgdqn,e5pftu,nagual,panic1,andron,openwide,alphabeta,alison1,chelsea8,fende,mmm666,1shot2,a19l1980,123456@,1black,m1chael,vagner,realgood,maxxx,vekmnbr,stifler,2509mmh,tarkan,sherzod,1234567b,gunners1,artem2010,shooby,sammie1,p123456,piggie,abcde12345,nokia6230,moldir,piter,1qaz3edc,frequenc,acuransx,1star,nikeair,alex21,dapimp,ranjan,ilovegirls,anastasiy,berbatov,manso,21436587,leafs1,106666,angelochek,ingodwetrust,123456aaa,deano,korsar,pipetka,thunder9,minka,himura,installdevic,1qqqqq,digitalprodu,suckmeoff,plonker,headers,vlasov,ktr1996,windsor1,mishanya,garfield1,korvin,littlebit,azaz09,vandamme,scripto,s4114d,passward,britt1,r1chard,ferrari5,running1,7xswzaq,falcon2,pepper76,trademan,ea53g5,graham1,volvos80,reanimator,micasa,1234554321q,kairat,escorpion,sanek94,karolina1,kolovrat,karen2,1qaz@wsx,racing1,splooge,sarah2,deadman1,creed1,nooner,minicoop,oceane,room112,charme,12345ab,summer00,wetcunt,drewman,nastyman,redfire,appels,merlin69,dolfin,bornfree,diskette,ohwell,12345678qwe,jasont,madcap,cobra2,dolemit1,whatthehell,juanit,voldemar,rocke,bianc,elendil,vtufgjkbc,hotwheels,spanis,sukram,pokerface,k1ller,freakout,dontae,realmadri,drumss,gorams,258789,snakey,jasonn,whitewolf,befree,johnny99,pooka,theghost,kennys,vfvektxrf,toby1,jumpman23,deadlock,barbwire,stellina,alexa1,dalamar,mustanggt,northwes,tesoro,chameleo,sigtau,satoshi,george11,hotcum,cornell1,golfer12,geek01d,trololo,kellym,megapolis,pepsi2,hea666,monkfish,blue52,sarajane,bowler1,skeets,ddgirls,hfccbz,bailey01,isabella1,dreday,moose123,baobab,crushme,000009,veryhot,roadie,meanone,mike18,henriett,dohcvtec,moulin,gulnur,adastra,angel9,western1,natura,sweetpe,dtnfkm,marsbar,daisys,frogger1,virus1,redwood1,streetball,fridolin,d78unhxq,midas,michelob,cantik,sk2000,kikker,macanudo,rambone,fizzle,20000,peanuts1,cowpie,stone32,astaroth,dakota01,redso,mustard1,sexylove,giantess,teaparty,bobbin,beerbong,monet1,charles3,anniedog,anna1988,cameleon,longbeach,tamere,qpful542,mesquite,waldemar,12345zx,iamhere,lowboy,canard,granp,daisymay,love33,moosejaw,nivek,ninjaman,shrike01,aaa777,88002000600,vodolei,bambush,falcor,harley69,alphaomega,severine,grappler,bosox,twogirls,gatorman,vettes,buttmunch,chyna,excelsio,crayfish,birillo,megumi,lsia9dnb9y,littlebo,stevek,hiroyuki,firehous,master5,briley2,gangste,chrisk,camaleon,bulle,troyboy,froinlaven,mybutt,sandhya,rapala,jagged,crazycat,lucky12,jetman,wavmanuk,1heather,beegee,negril,mario123,funtime1,conehead,abigai,mhorgan,patagoni,travel1,backspace,frenchfr,mudcat,dashenka,baseball3,rustys,741852kk,dickme,baller23,griffey1,suckmycock,fuhrfzgc,jenny2,spuds,berlin1,justfun,icewind,bumerang,pavlusha,minecraft123,shasta1,ranger12,123400,twisters,buthead,miked,finance1,dignity7,hello9,lvjdp383,jgthfnjh,dalmatio,paparoach,miller31,2bornot2b,fathe,monterre,theblues,satans,schaap,jasmine2,sibelius,manon,heslo,jcnhjd,shane123,natasha2,pierrot,bluecar,iloveass,harriso,red12,london20,job314,beholder,reddawg,fuckyou!,pussylick,bologna1,austintx,ole4ka,blotto,onering,jearly,balbes,lightbul,bighorn,crossfir,lee123,prapor,1ashley,gfhjkm22,wwe123,09090,sexsite,marina123,jagua,witch1,schmoo,parkview,dragon3,chilango,ultimo,abramova,nautique,2bornot2,duende,1arthur,nightwing,surfboar,quant4307,15s9pu03,karina1,shitball,walleye1,wildman1,whytesha,1morgan,my2girls,polic,baranova,berezuckiy,kkkkkk1,forzima,fornow,qwerty02,gokart,suckit69,davidlee,whatnow,edgard,tits1,bayshore,36987412,ghbphfr,daddyy,explore1,zoidberg,5qnzjx,morgane,danilov,blacksex,mickey12,balsam,83y6pv,sarahc,slaye,all4u2,slayer69,nadia1,rlzwp503,4cranker,kaylie,numberon,teremok,wolf12,deeppurple,goodbeer,aaa555,66669999,whatif,harmony1,ue8fpw,3tmnej,254xtpss,dusty197,wcksdypk,zerkalo,dfnheirf,motorol,digita,whoareyou,darksoul,manics,rounders,killer11,d2000lb,cegthgfhjkm,catdog1,beograd,pepsico,julius1,123654987,softbal,killer23,weasel1,lifeson,q123456q,444555666,bunches,andy1,darby1,service01,bear11,jordan123,amega,duncan21,yensid,lerxst,rassvet,bronco2,fortis,pornlove,paiste,198900,asdflkjh,1236547890,futur,eugene1,winnipeg261,fk8bhydb,seanjohn,brimston,matthe1,bitchedu,crisco,302731,roxydog,woodlawn,volgograd,ace1210,boy4u2ownnyc,laura123,pronger,parker12,z123456z,andrew13,longlife,sarang,drogba,gobruins,soccer4,holida,espace,almira,murmansk,green22,safina,wm00022,1chevy,schlumpf,doroth,ulises,golf99,hellyes,detlef,mydog,erkina,bastardo,mashenka,sucram,wehttam,generic1,195000,spaceboy,lopas123,scammer,skynyrd,daddy2,titani,ficker,cr250r,kbnthfnehf,takedown,sticky1,davidruiz,desant,nremtp,painter1,bogies,agamemno,kansas1,smallfry,archi,2b4dnvsx,1player,saddie,peapod,6458zn7a,qvw6n2,gfxqx686,twice2,sh4d0w3d,mayfly,375125,phitau,yqmbevgk,89211375759,kumar1,pfhfpf,toyboy,way2go,7pvn4t,pass69,chipster,spoony,buddycat,diamond3,rincewin,hobie,david01,billbo,hxp4life,matild,pokemon2,dimochka,clown1,148888,jenmt3,cuxldv,cqnwhy,cde34rfv,simone1,verynice,toobig,pasha123,mike00,maria2,lolpop,firewire,dragon9,martesana,a1234567890,birthday3,providen,kiska,pitbulls,556655,misawa,damned69,martin11,goldorak,gunship,glory1,winxclub,sixgun,splodge,agent1,splitter,dome69,ifghjb,eliza1,snaiper,wutang36,phoenix7,666425,arshavin,paulaner,namron,m69fg1w,qwert1234,terrys,zesyrmvu,joeman,scoots,dwml9f,625vrobg,sally123,gostoso,symow8,pelota,c43qpul5rz,majinbuu,lithium1,bigstuff,horndog1,kipelov,kringle,1beavis,loshara,octobe,jmzacf,12342000,qw12qw,runescape1,chargers1,krokus,piknik,jessy,778811,gjvbljh,474jdvff,pleaser,misskitty,breaker1,7f4df451,dayan,twinky,yakumo,chippers,matia,tanith,len2ski1,manni,nichol1,f00b4r,nokia3110,standart,123456789i,shami,steffie,larrywn,chucker,john99,chamois,jjjkkk,penmouse,ktnj2010,gooners,hemmelig,rodney1,merlin01,bearcat1,1yyyyy,159753z,1fffff,1ddddd,thomas11,gjkbyrf,ivanka,f1f2f3,petrovna,phunky,conair,brian2,creative1,klipsch,vbitymrf,freek,breitlin,cecili,westwing,gohabsgo,tippmann,1steve,quattro6,fatbob,sp00ky,rastas,1123581,redsea,rfnmrf,jerky1,1aaaaaa,spk666,simba123,qwert54321,123abcd,beavis69,fyfyfc,starr1,1236547,peanutbutter,sintra,12345abcde,1357246,abcde1,climbon,755dfx,mermaids,monte1,serkan,geilesau,777win,jasonc,parkside,imagine1,rockhead,producti,playhard,principa,spammer,gagher,escada,tsv1860,dbyjuhfl,cruiser1,kennyg,montgome,2481632,pompano,cum123,angel6,sooty,bear01,april6,bodyhamm,pugsly,getrich,mikes,pelusa,fosgate,jasonp,rostislav,kimberly1,128mo,dallas11,gooner1,manuel1,cocacola1,imesh,5782790,password8,daboys,1jones,intheend,e3w2q1,whisper1,madone,pjcgujrat,1p2o3i,jamesp,felicida,nemrac,phikap,firecat,jrcfyjxrf,matt12,bigfan,doedel,005500,jasonx,1234567k,badfish,goosey,utjuhfabz,wilco,artem123,igor123,spike123,jor23dan,dga9la,v2jmsz,morgan12,avery1,dogstyle,natasa,221195ws,twopac,oktober7,karthik,poop1,mightymo,davidr,zermatt,jehova,aezakmi1,dimwit,monkey5,serega123,qwerty111,blabl,casey22,boy123,1clutch,asdfjkl1,hariom,bruce10,jeep95,1smith,sm9934,karishma,bazzzz,aristo,669e53e1,nesterov,kill666,fihdfv,1abc2,anna1,silver11,mojoman,telefono,goeagles,sd3lpgdr,rfhfynby,melinda1,llcoolj,idteul,bigchief,rocky13,timberwo,ballers,gatekeep,kashif,hardass,anastasija,max777,vfuyjkbz,riesling,agent99,kappas,dalglish,tincan,orange3,turtoise,abkbvjy,mike24,hugedick,alabala,geolog,aziza,devilboy,habanero,waheguru,funboy,freedom5,natwest,seashore,impaler,qwaszx1,pastas,bmw535,tecktonik,mika00,jobsearc,pinche,puntang,aw96b6,1corvett,skorpio,foundati,zzr1100,gembird,vfnhjcrby,soccer18,vaz2110,peterp,archer1,cross1,samedi,dima1992,hunter99,lipper,hotbody,zhjckfdf,ducati1,trailer1,04325956,cheryl1,benetton,kononenko,sloneczko,rfgtkmrf,nashua,balalaika,ampere,eliston,dorsai,digge,flyrod,oxymoron,minolta,ironmike,majortom,karimov,fortun,putaria,an83546921an13,blade123,franchis,mxaigtg5,dynxyu,devlt4,brasi,terces,wqmfuh,nqdgxz,dale88,minchia,seeyou,housepen,1apple,1buddy,mariusz,bighouse,tango2,flimflam,nicola1,qwertyasd,tomek1,shumaher,kartoshka,bassss,canaries,redman1,123456789as,preciosa,allblacks,navidad,tommaso,beaudog,forrest1,green23,ryjgjxrf,go4it,ironman2,badnews,butterba,1grizzly,isaeva,rembrand,toront,1richard,bigjon,yfltymrf,1kitty,4ng62t,littlejo,wolfdog,ctvtyjd,spain1,megryan,tatertot,raven69,4809594q,tapout,stuntman,a131313,lagers,hotstuf,lfdbl11,stanley2,advokat,boloto,7894561,dooker,adxel187,cleodog,4play,0p9o8i,masterb,bimota,charlee,toystory,6820055,6666667,crevette,6031769,corsa,bingoo,dima1990,tennis11,samuri,avocado,melissa6,unicor,habari,metart,needsex,cockman,hernan,3891576,3334444,amigo1,gobuffs2,mike21,allianz,2835493,179355,midgard,joey123,oneluv,ellis1,towncar,shonuff,scouse,tool69,thomas19,chorizo,jblaze,lisa1,dima1999,sophia1,anna1989,vfvekbxrf,krasavica,redlegs,jason25,tbontb,katrine,eumesmo,vfhufhbnrf,1654321,asdfghj1,motdepas,booga,doogle,1453145,byron1,158272,kardinal,tanne,fallen1,abcd12345,ufyljy,n12345,kucing,burberry,bodger,1234578,februar,1234512,nekkid,prober,harrison1,idlewild,rfnz90,foiegras,pussy21,bigstud,denzel,tiffany2,bigwill,1234567890zzz,hello69,compute1,viper9,hellspaw,trythis,gococks,dogballs,delfi,lupine,millenia,newdelhi,charlest,basspro,1mike,joeblack,975310,1rosebud,batman11,misterio,fucknut,charlie0,august11,juancho,ilonka,jigei743ks,adam1234,889900,goonie,alicat,ggggggg1,1zzzzzzz,sexywife,northstar,chris23,888111,containe,trojan1,jason5,graikos,1ggggg,1eeeee,tigers01,indigo1,hotmale,jacob123,mishima,richard3,cjxb2014,coco123,meagain,thaman,wallst,edgewood,bundas,1power,matilda1,maradon,hookedup,jemima,r3vi3wpass,2004-10-,mudman,taz123,xswzaq,emerson1,anna21,warlord1,toering,pelle,tgwdvu,masterb8,wallstre,moppel,priora,ghjcnjrdfif,yoland,12332100,1j9e7f6f,jazzzz,yesman,brianm,42qwerty42,12345698,darkmanx,nirmal,john31,bb123456,neuspeed,billgates,moguls,fj1200,hbhlair,shaun1,ghbdfn,305pwzlr,nbu3cd,susanb,pimpdad,mangust6403,joedog,dawidek,gigante,708090,703751,700007,ikalcr,tbivbn,697769,marvi,iyaayas,karen123,jimmyboy,dozer1,e6z8jh,bigtime1,getdown,kevin12,brookly,zjduc3,nolan1,cobber,yr8wdxcq,liebe,m1garand,blah123,616879,action1,600000,sumitomo,albcaz,asian1,557799,dave69,556699,sasa123,streaker,michel1,karate1,buddy7,daulet,koks888,roadtrip,wapiti,oldguy,illini1,1234qq,mrspock,kwiatek,buterfly,august31,jibxhq,jackin,taxicab,tristram,talisker,446655,444666,chrisa,freespace,vfhbfyyf,chevell,444333,notyours,442244,christian1,seemore,sniper12,marlin1,joker666,multik,devilish,crf450,cdfoli,eastern1,asshead,duhast,voyager2,cyberia,1wizard,cybernet,iloveme1,veterok,karandash,392781,looksee,diddy,diabolic,foofight,missey,herbert1,bmw318i,premier1,zsfmpv,eric1234,dun6sm,fuck11,345543,spudman,lurker,bitem,lizzy1,ironsink,minami,339311,s7fhs127,sterne,332233,plankton,galax,azuywe,changepa,august25,mouse123,sikici,killer69,xswqaz,quovadis,gnomik,033028pw,777777a,barrakuda,spawn666,goodgod,slurp,morbius,yelnats,cujo31,norman1,fastone,earwig,aureli,wordlife,bnfkbz,yasmi,austin123,timberla,missy2,legalize,netcom,liljon,takeit,georgin,987654321z,warbird,vitalina,all4u3,mmmmmm1,bichon,ellobo,wahoos,fcazmj,aksarben,lodoss,satnam,vasili,197800,maarten,sam138989,0u812,ankita,walte,prince12,anvils,bestia,hoschi,198300,univer,jack10,ktyecbr,gr00vy,hokie,wolfman1,fuckwit,geyser,emmanue,ybrjkftd,qwerty33,karat,dblock,avocat,bobbym,womersle,1please,nostra,dayana,billyray,alternat,iloveu1,qwerty69,rammstein1,mystikal,winne,drawde,executor,craxxxs,ghjcnjnf,999888777,welshman,access123,963214785,951753852,babe69,fvcnthlfv,****me,666999666,testing2,199200,nintendo64,oscarr,guido8,zhanna,gumshoe,jbird,159357456,pasca,123452345,satan6,mithrand,fhbirf,aa1111aa,viggen,ficktjuv,radial9,davids1,rainbow7,futuro,hipho,platin,poppy123,rhenjq,fulle,rosit,chicano,scrumpy,lumpy1,seifer,uvmrysez,autumn1,xenon,susie1,7u8i9o0p,gamer1,sirene,muffy1,monkeys1,kalinin,olcrackmaster,hotmove,uconn,gshock,merson,lthtdyz,pizzaboy,peggy1,pistache,pinto1,fishka,ladydi,pandor,baileys,hungwell,redboy,rookie1,amanda01,passwrd,clean1,matty1,tarkus,jabba1,bobster,beer30,solomon1,moneymon,sesamo,fred11,sunnysid,jasmine5,thebears,putamadre,workhard,flashbac,counter1,liefde,magnat,corky1,green6,abramov,lordik,univers,shortys,david3,vip123,gnarly,1234567s,billy2,honkey,deathstar,grimmy,govinda,direktor,12345678s,linus1,shoppin,rekbrjdf,santeria,prett,berty75,mohican,daftpunk,uekmyfhf,chupa,strats,ironbird,giants56,salisbur,koldun,summer04,pondscum,jimmyj,miata1,george3,redshoes,weezie,bartman1,0p9o8i7u,s1lver,dorkus,125478,omega9,sexisgood,mancow,patric1,jetta1,074401,ghjuhtcc,gfhjk,bibble,terry2,123213,medicin,rebel2,hen3ry,4freedom,aldrin,lovesyou,browny,renwod,winnie1,belladon,1house,tyghbn,blessme,rfhfrfnbwf,haylee,deepdive,booya,phantasy,gansta,cock69,4mnveh,gazza1,redapple,structur,anakin1,manolito,steve01,poolman,chloe123,vlad1998,qazwsxe,pushit,random123,ontherocks,o236nq,brain1,dimedrol,agape,rovnogod,1balls,knigh,alliso,love01,wolf01,flintstone,beernuts,tuffguy,isengard,highfive,alex23,casper99,rubina,getreal,chinita,italian1,airsoft,qwerty23,muffdiver,willi1,grace123,orioles1,redbull1,chino1,ziggy123,breadman,estefan,ljcneg,gotoit,logan123,wideglid,mancity1,treess,qwe123456,kazumi,qweasdqwe,oddworld,naveed,protos,towson,a801016,godislov,at_asp,bambam1,soccer5,dark123,67vette,carlos123,hoser1,scouser,wesdxc,pelus,dragon25,pflhjn,abdula,1freedom,policema,tarkin,eduardo1,mackdad,gfhjkm11,lfplhfgthvf,adilet,zzzzxxxx,childre,samarkand,cegthgegth,shama,fresher,silvestr,greaser,allout,plmokn,sexdrive,nintendo1,fantasy7,oleander,fe126fd,crumpet,pingzing,dionis,hipster,yfcnz,requin,calliope,jerome1,housecat,abc123456789,doghot,snake123,augus,brillig,chronic1,gfhjkbot,expediti,noisette,master7,caliban,whitetai,favorite3,lisamari,educatio,ghjhjr,saber1,zcegth,1958proman,vtkrbq,milkdud,imajica,thehip,bailey10,hockey19,dkflbdjcnjr,j123456,bernar,aeiouy,gamlet,deltachi,endzone,conni,bcgfybz,brandi1,auckland2010,7653ajl1,mardigra,testuser,bunko18,camaro67,36936,greenie,454dfmcq,6xe8j2z4,mrgreen,ranger5,headhunt,banshee1,moonunit,zyltrc,hello3,pussyboy,stoopid,tigger11,yellow12,drums1,blue02,kils123,junkman,banyan,jimmyjam,tbbucs,sportster,badass1,joshie,braves10,lajolla,1amanda,antani,78787,antero,19216801,chich,rhett32,sarahm,beloit,sucker69,corkey,nicosnn,rccola,caracol,daffyduc,bunny2,mantas,monkies,hedonist,cacapipi,ashton1,sid123,19899891,patche,greekgod,cbr1000,leader1,19977991,ettore,chongo,113311,picass,cfif123,rhtfnbd,frances1,andy12,minnette,bigboy12,green69,alices,babcia,partyboy,javabean,freehand,qawsed123,xxx111,harold1,passwo,jonny1,kappa1,w2dlww3v5p,1merlin,222999,tomjones,jakeman,franken,markhegarty,john01,carole1,daveman,caseys,apeman,mookey,moon123,claret,titans1,residentevil,campari,curitiba,dovetail,aerostar,jackdaniels,basenji,zaq12w,glencoe,biglove,goober12,ncc170,far7766,monkey21,eclipse9,1234567v,vanechka,aristote,grumble,belgorod,abhishek,neworleans,pazzword,dummie,sashadog,diablo11,mst3000,koala1,maureen1,jake99,isaiah1,funkster,gillian1,ekaterina20,chibears,astra123,4me2no,winte,skippe,necro,windows9,vinograd,demolay,vika2010,quiksilver,19371ayj,dollar1,shecky,qzwxecrv,butterfly1,merrill1,scoreland,1crazy,megastar,mandragora,track1,dedhed,jacob2,newhope,qawsedrftgyh,shack1,samvel,gatita,shyster,clara1,telstar,office1,crickett,truls,nirmala,joselito,chrisl,lesnik,aaaabbbb,austin01,leto2010,bubbie,aaa12345,widder,234432,salinger,mrsmith,qazsedcft,newshoes,skunks,yt1300,bmw316,arbeit,smoove,123321qweewq,123qazwsx,22221111,seesaw,0987654321a,peach1,1029384756q,sereda,gerrard8,shit123,batcave,energy1,peterb,mytruck,peter12,alesya,tomato1,spirou,laputaxx,magoo1,omgkremidia,knight12,norton1,vladislava,shaddy,austin11,jlbyjxrf,kbdthgekm,punheta,fetish69,exploiter,roger2,manstein,gtnhjd,32615948worms,dogbreath,ujkjdjkjvrf,vodka1,ripcord,fatrat,kotek1,tiziana,larrybir,thunder3,nbvfnb,9kyq6fge,remembe,likemike,gavin1,shinigam,yfcnfcmz,13245678,jabbar,vampyr,ane4ka,lollipo,ashwin,scuderia,limpdick,deagle,3247562,vishenka,fdhjhf,alex02,volvov70,mandys,bioshock,caraca,tombraider,matrix69,jeff123,13579135,parazit,black3,noway1,diablos,hitmen,garden1,aminor,decembe,august12,b00ger,006900,452073t,schach,hitman1,mariner1,vbnmrf,paint1,742617000027,bitchboy,pfqxjyjr,5681392,marryher,sinnet,malik1,muffin12,aninha,piolin,lady12,traffic1,cbvjyf,6345789,june21,ivan2010,ryan123,honda99,gunny,coorslight,asd321,hunter69,7224763,sonofgod,dolphins1,1dolphin,pavlenko,woodwind,lovelov,pinkpant,gblfhfcbyf,hotel1,justinbiebe,vinter,jeff1234,mydogs,1pizza,boats1,parrothe,shawshan,brooklyn1,cbrown,1rocky,hemi426,dragon64,redwings1,porsches,ghostly,hubbahub,buttnut,b929ezzh,sorokina,flashg,fritos,b7mguk,metatron,treehous,vorpal,8902792,marcu,free123,labamba,chiefs1,zxc123zxc,keli_14,hotti,1steeler,money4,rakker,foxwoods,free1,ahjkjd,sidorova,snowwhit,neptune1,mrlover,trader1,nudelamb,baloo,power7,deltasig,bills1,trevo,7gorwell,nokia6630,nokia5320,madhatte,1cowboys,manga1,namtab,sanjar,fanny1,birdman1,adv12775,carlo1,dude1998,babyhuey,nicole11,madmike,ubvyfpbz,qawsedr,lifetec,skyhook,stalker123,toolong,robertso,ripazha,zippy123,1111111a,manol,dirtyman,analslut,jason3,dutches,minhasenha,cerise,fenrir,jayjay1,flatbush,franka,bhbyjxrf,26429vadim,lawntrax,198700,fritzy,nikhil,ripper1,harami,truckman,nemvxyheqdd5oqxyxyzi,gkfytnf,bugaboo,cableman,hairpie,xplorer,movado,hotsex69,mordred,ohyeah1,patrick3,frolov,katieh,4311111q,mochaj,presari,bigdo,753951852,freedom4,kapitan,tomas1,135795,sweet123,pokers,shagme,tane4ka,sentinal,ufgyndmv,jonnyb,skate123,123456798,123456788,very1,gerrit,damocles,dollarbi,caroline1,lloyds,pizdets,flatland,92702689,dave13,meoff,ajnjuhfabz,achmed,madison9,744744z,amonte,avrillavigne,elaine1,norma1,asseater,everlong,buddy23,cmgang1,trash1,mitsu,flyman,ulugbek,june27,magistr,fittan,sebora64,dingos,sleipnir,caterpil,cindys,212121qaz,partys,dialer,gjytltkmybr,qweqaz,janvier,rocawear,lostboy,aileron,sweety1,everest1,pornman,boombox,potter1,blackdic,44448888,eric123,112233aa,2502557i,novass,nanotech,yourname,x12345,indian1,15975300,1234567l,carla51,chicago0,coleta,cxzdsaewq,qqwweerr,marwan,deltic,hollys,qwerasd,pon32029,rainmake,nathan0,matveeva,legioner,kevink,riven,tombraid,blitzen,a54321,jackyl,chinese1,shalimar,oleg1995,beaches1,tommylee,eknock,berli,monkey23,badbob,pugwash,likewhoa,jesus2,yujyd360,belmar,shadow22,utfp5e,angelo1,minimax,pooder,cocoa1,moresex,tortue,lesbia,panthe,snoopy2,drumnbass,alway,gmcz71,6jhwmqku,leppard,dinsdale,blair1,boriqua,money111,virtuagirl,267605,rattlesn,1sunshin,monica12,veritas1,newmexic,millertime,turandot,rfvxfnrf,jaydog,kakawka,bowhunter,booboo12,deerpark,erreway,taylorma,rfkbybyf,wooglin,weegee,rexdog,iamhorny,cazzo1,vhou812,bacardi1,dctktyyfz,godpasi,peanut12,bertha1,fuckyoubitch,ghosty,altavista,jertoot,smokeit,ghjcnbvtyz,fhnehxbr,rolsen,qazxcdews,maddmaxx,redrocke,qazokm,spencer2,thekiller,asdf11,123sex,tupac1,p1234567,dbrown,1biteme,tgo4466,316769,sunghi,shakespe,frosty1,gucci1,arcana,bandit01,lyubov,poochy,dartmout,magpies1,sunnyd,mouseman,summer07,chester7,shalini,danbury,pigboy,dave99,deniss,harryb,ashley11,pppppp1,01081988m,balloon1,tkachenko,bucks1,master77,pussyca,tricky1,zzxxccvv,zoulou,doomer,mukesh,iluv69,supermax,todays,thefox,don123,dontask,diplom,piglett,shiney,fahbrf,qaz12wsx,temitope,reggin,project1,buffy2,inside1,lbpfqyth,vanilla1,lovecock,u4slpwra,fylh.irf,123211,7ertu3ds,necroman,chalky,artist1,simpso,4x7wjr,chaos666,lazyacres,harley99,ch33s3,marusa,eagle7,dilligas,computadora,lucky69,denwer,nissan350z,unforgiv,oddball,schalke0,aztec1,borisova,branden1,parkave,marie123,germa,lafayett,878kckxy,405060,cheeseca,bigwave,fred22,andreea,poulet,mercutio,psycholo,andrew88,o4izdmxu,sanctuar,newhome,milion,suckmydi,rjvgm.nth,warior,goodgame,1qwertyuiop,6339cndh,scorpio2,macker,southbay,crabcake,toadie,paperclip,fatkid,maddo,cliff1,rastafar,maries,twins1,geujdrf,anjela,wc4fun,dolina,mpetroff,rollout,zydeco,shadow3,pumpki,steeda,volvo240,terras,blowjo,blue2000,incognit,badmojo,gambit1,zhukov,station1,aaronb,graci,duke123,clipper1,qazxsw2,ledzeppe,kukareku,sexkitte,cinco,007008,lakers12,a1234b,acmilan1,afhfjy,starrr,slutty3,phoneman,kostyan,bonzo1,sintesi07,ersatz,cloud1,nephilim,nascar03,rey619,kairos,123456789e,hardon1,boeing1,juliya,hfccdtn,vgfun8,polizei,456838,keithb,minouche,ariston,savag,213141,clarkken,microwav,london2,santacla,campeo,qr5mx7,464811,mynuts,bombo,1mickey,lucky8,danger1,ironside,carter12,wyatt1,borntorun,iloveyou123,jose1,pancake1,tadmichaels,monsta,jugger,hunnie,triste,heat7777,ilovejesus,queeny,luckycharm,lieben,gordolee85,jtkirk,forever21,jetlag,skylane,taucher,neworlea,holera,000005,anhnhoem,melissa7,mumdad,massimiliano,dima1994,nigel1,madison3,slicky,shokolad,serenit,jmh1978,soccer123,chris3,drwho,rfpzdrf,1qasw23ed,free4me,wonka,sasquatc,sanan,maytag,verochka,bankone,molly12,monopoli,xfqybr,lamborgini,gondolin,candycane,needsome,jb007,scottie1,brigit,0147258369,kalamazo,lololyo123,bill1234,ilovejes,lol123123,popkorn,april13,567rntvm,downunde,charle1,angelbab,guildwars,homeworld,qazxcvbnm,superma1,dupa123,kryptoni,happyy,artyom,stormie,cool11,calvin69,saphir,konovalov,jansport,october8,liebling,druuna,susans,megans,tujhjdf,wmegrfux,jumbo1,ljb4dt7n,012345678910,kolesnik,speculum,at4gftlw,kurgan,93pn75,cahek0980,dallas01,godswill,fhifdby,chelsea4,jump23,barsoom,catinhat,urlacher,angel99,vidadi1,678910,lickme69,topaz1,westend,loveone,c12345,gold12,alex1959,mamon,barney12,1maggie,alex12345,lp2568cskt,s1234567,gjikbdctyf,anthony0,browns99,chips1,sunking,widespre,lalala1,tdutif,fucklife,master00,alino4ka,stakan,blonde1,phoebus,tenore,bvgthbz,brunos,suzjv8,uvdwgt,revenant,1banana,veroniqu,sexfun,sp1der,4g3izhox,isakov,shiva1,scooba,bluefire,wizard12,dimitris,funbags,perseus,hoodoo,keving,malboro,157953,a32tv8ls,latics,animate,mossad,yejntb,karting,qmpq39zr,busdrive,jtuac3my,jkne9y,sr20dett,4gxrzemq,keylargo,741147,rfktylfhm,toast1,skins1,xcalibur,gattone,seether,kameron,glock9mm,julio1,delenn,gameday,tommyd,str8edge,bulls123,66699,carlsberg,woodbird,adnama,45auto,codyman,truck2,1w2w3w4w,pvjegu,method1,luetdi,41d8cd98f00b,bankai,5432112345,94rwpe,reneee,chrisx,melvins,775577,sam2000,scrappy1,rachid,grizzley,margare,morgan01,winstons,gevorg,gonzal,crawdad,gfhfdjp,babilon,noneya,pussy11,barbell,easyride,c00li0,777771,311music,karla1,golions,19866891,peejay,leadfoot,hfvbkm,kr9z40sy,cobra123,isotwe,grizz,sallys,****you,aaa123a,dembel,foxs14,hillcres,webman,mudshark,alfredo1,weeded,lester1,hovepark,ratface,000777fffa,huskie,wildthing,elbarto,waikiki,masami,call911,goose2,regin,dovajb,agricola,cjytxrj,andy11,penny123,family01,a121212,1braves,upupa68,happy100,824655,cjlove,firsttim,kalel,redhair,dfhtymt,sliders,bananna,loverbo,fifa2008,crouton,chevy350,panties2,kolya1,alyona,hagrid,spagetti,q2w3e4r,867530,narkoman,nhfdvfnjkju123,1ccccccc,napolean,0072563,allay,w8sted,wigwam,jamesk,state1,parovoz,beach69,kevinb,rossella,logitech1,celula,gnocca,canucks1,loginova,marlboro1,aaaa1,kalleanka,mester,mishutka,milenko,alibek,jersey1,peterc,1mouse,nedved,blackone,ghfplybr,682regkh,beejay,newburgh,ruffian,clarets,noreaga,xenophon,hummerh2,tenshi,smeagol,soloyo,vfhnby,ereiamjh,ewq321,goomie,sportin,cellphone,sonnie,jetblack,saudan,gblfhfc,matheus,uhfvjnf,alicja,jayman1,devon1,hexagon,bailey2,vtufajy,yankees7,salty1,908070,killemal,gammas,eurocard,sydney12,tuesday1,antietam,wayfarer,beast666,19952009sa,aq12ws,eveli,hockey21,haloreach,dontcare,xxxx1,andrea11,karlmarx,jelszo,tylerb,protools,timberwolf,ruffneck,pololo,1bbbbb,waleed,sasami,twinss,fairlady,illuminati,alex007,sucks1,homerjay,scooter7,tarbaby,barmaley,amistad,vanes,randers,tigers12,dreamer2,goleafsg,googie,bernie1,as12345,godeep,james3,phanto,gwbush,cumlover,2196dc,studioworks,995511,golf56,titova,kaleka,itali,socks1,kurwamac,daisuke,hevonen,woody123,daisie,wouter,henry123,gostosa,guppie,porpoise,iamsexy,276115,paula123,1020315,38gjgeuftd,rjrfrjkf,knotty,idiot1,sasha12345,matrix13,securit,radical1,ag764ks,jsmith,coolguy1,secretar,juanas,sasha1988,itout,00000001,tiger11,1butthea,putain,cavalo,basia1,kobebryant,1232323,12345asdfg,sunsh1ne,cyfqgth,tomkat,dorota,dashit,pelmen,5t6y7u,whipit,smokeone,helloall,bonjour1,snowshoe,nilknarf,x1x2x3,lammas,1234599,lol123456,atombomb,ironchef,noclue,alekseev,gwbush1,silver2,12345678m,yesican,fahjlbnf,chapstic,alex95,open1,tiger200,lisichka,pogiako,cbr929,searchin,tanya123,alex1973,phil413,alex1991,dominati,geckos,freddi,silenthill,egroeg,vorobey,antoxa,dark666,shkola,apple22,rebellio,shamanking,7f8srt,cumsucker,partagas,bill99,22223333,arnster55,fucknuts,proxima,silversi,goblues,parcells,vfrcbvjdf,piloto,avocet,emily2,1597530,miniskir,himitsu,pepper2,juiceman,venom1,bogdana,jujube,quatro,botafogo,mama2010,junior12,derrickh,asdfrewq,miller2,chitarra,silverfox,napol,prestigio,devil123,mm111qm,ara123,max33484,sex2000,primo1,sephan,anyuta,alena2010,viborg,verysexy,hibiscus,terps,josefin,oxcart,spooker,speciali,raffaello,partyon,vfhvtkflrf,strela,a123456z,worksuck,glasss,lomonosov,dusty123,dukeblue,1winter,sergeeva,lala123,john22,cmc09,sobolev,bettylou,dannyb,gjkrjdybr,hagakure,iecnhbr,awsedr,pmdmsctsk,costco,alekseeva,fktrcttd,bazuka,flyingv,garuda,buffy16,gutierre,beer12,stomatolog,ernies,palmeiras,golf123,love269,n.kmgfy,gjkysqgbpltw,youare,joeboo,baksik,lifeguar,111a111,nascar8,mindgame,dude1,neopets,frdfkfyu,june24,phoenix8,penelopa,merlin99,mercenar,badluck,mishel,bookert,deadsexy,power9,chinchil,1234567m,alex10,skunk1,rfhkcjy,sammycat,wright1,randy2,marakesh,temppassword,elmer251,mooki,patrick0,bonoedge,1tits,chiar,kylie1,graffix,milkman1,cornel,mrkitty,nicole12,ticketmaster,beatles4,number20,ffff1,terps1,superfre,yfdbufnjh,jake1234,flblfc,1111qq,zanuda,jmol01,wpoolejr,polopol,nicolett,omega13,cannonba,123456789.,sandy69,ribeye,bo243ns,marilena,bogdan123,milla,redskins1,19733791,alias1,movie1,ducat,marzena,shadowru,56565,coolman1,pornlover,teepee,spiff,nafanya,gateway3,fuckyou0,hasher,34778,booboo69,staticx,hang10,qq12345,garnier,bosco123,1234567qw,carson1,samso,1xrg4kcq,cbr929rr,allan123,motorbik,andrew22,pussy101,miroslava,cytujdbr,camp0017,cobweb,snusmumrik,salmon1,cindy2,aliya,serendipity,co437at,tincouch,timmy123,hunter22,st1100,vvvvvv1,blanka,krondor,sweeti,nenit,kuzmich,gustavo1,bmw320i,alex2010,trees1,kyliem,essayons,april26,kumari,sprin,fajita,appletre,fghbjhb,1green,katieb,steven2,corrado1,satelite,1michell,123456789c,cfkfvfylhf,acurarsx,slut543,inhere,bob2000,pouncer,k123456789,fishie,aliso,audia8,bluetick,soccer69,jordan99,fromhell,mammoth1,fighting54,mike25,pepper11,extra1,worldwid,chaise,vfr800,sordfish,almat,nofate,listopad,hellgate,dctvghbdf,jeremia,qantas,lokiju,honker,sprint1,maral,triniti,compaq3,sixsix6,married1,loveman,juggalo1,repvtyrj,zxcasdqw,123445,whore1,123678,monkey6,west123,warcraf,pwnage,mystery1,creamyou,ant123,rehjgfnrf,corona1,coleman1,steve121,alderaan,barnaul,celeste1,junebug1,bombshel,gretzky9,tankist,targa,cachou,vaz2101,playgolf,boneyard,strateg,romawka,iforgotit,pullup,garbage1,irock,archmage,shaft1,oceano,sadies,alvin1,135135ab,psalm69,lmfao,ranger02,zaharova,33334444,perkman,realman,salguod,cmoney,astonmartin,glock1,greyfox,viper99,helpm,blackdick,46775575,family5,shazbot,dewey1,qwertyas,shivani,black22,mailman1,greenday1,57392632,red007,stanky,sanchez1,tysons,daruma,altosax,krayzie,85852008,1forever,98798798,irock.,123456654,142536789,ford22,brick1,michela,preciou,crazy4u,01telemike01,nolife,concac,safety1,annie123,brunswic,destini,123456qwer,madison0,snowball1,137946,1133557799,jarule,scout2,songohan,thedead,00009999,murphy01,spycam,hirsute,aurinko,associat,1miller,baklan,hermes1,2183rm,martie,kangoo,shweta,yvonne1,westsid,jackpot1,rotciv,maratik,fabrika,claude1,nursultan,noentry,ytnhjufnm,electra1,ghjcnjnfr1,puneet,smokey01,integrit,bugeye,trouble2,14071789,paul01,omgwtf,dmh415,ekilpool,yourmom1,moimeme,sparky11,boludo,ruslan123,kissme1,demetrio,appelsin,asshole3,raiders2,bunns,fynjybj,billygoa,p030710p$e4o,macdonal,248ujnfk,acorns,schmidt1,sparrow1,vinbylrj,weasle,jerom,ycwvrxxh,skywalk,gerlinde,solidus,postal1,poochie1,1charles,rhianna,terorist,rehnrf,omgwtfbbq,assfucke,deadend,zidan,jimboy,vengence,maroon5,7452tr,dalejr88,sombra,anatole,elodi,amazonas,147789,q12345q,gawker1,juanma,kassidy,greek1,bruces,bilbob,mike44,0o9i8u7y6t,kaligula,agentx,familie,anders1,pimpjuice,0128um,birthday10,lawncare,hownow,grandorgue,juggerna,scarfac,kensai,swatteam,123four,motorbike,repytxbr,other1,celicagt,pleomax,gen0303,godisgreat,icepick,lucifer666,heavy1,tea4two,forsure,02020,shortdog,webhead,chris13,palenque,3techsrl,knights1,orenburg,prong,nomarg,wutang1,80637852730,laika,iamfree,12345670,pillow1,12343412,bigears,peterg,stunna,rocky5,12123434,damir,feuerwehr,7418529630,danone,yanina,valenci,andy69,111222q,silvia1,1jjjjj,loveforever,passwo1,stratocaster,8928190a,motorolla,lateralu,ujujkm,chubba,ujkjdf,signon,123456789zx,serdce,stevo,wifey200,ololo123,popeye1,1pass,central1,melena,luxor,nemezida,poker123,ilovemusic,qaz1234,noodles1,lakeshow,amarill,ginseng,billiam,trento,321cba,fatback,soccer33,master13,marie2,newcar,bigtop,dark1,camron,nosgoth,155555,biglou,redbud,jordan7,159789,diversio,actros,dazed,drizzit,hjcnjd,wiktoria,justic,gooses,luzifer,darren1,chynna,tanuki,11335577,icculus,boobss,biggi,firstson,ceisi123,gatewa,hrothgar,jarhead1,happyjoy,felipe1,bebop1,medman,athena1,boneman,keiths,djljgfl,dicklick,russ120,mylady,zxcdsa,rock12,bluesea,kayaks,provista,luckies,smile4me,bootycal,enduro,123123f,heartbre,ern3sto,apple13,bigpappa,fy.njxrf,bigtom,cool69,perrito,quiet1,puszek,cious,cruella,temp1,david26,alemap,aa123123,teddies,tricolor,smokey12,kikiriki,mickey01,robert01,super5,ranman,stevenso,deliciou,money777,degauss,mozar,susanne1,asdasd12,shitbag,mommy123,wrestle1,imfree,fuckyou12,barbaris,florent,ujhijr,f8yruxoj,tefjps,anemone,toltec,2gether,left4dead2,ximen,gfkmvf,dunca,emilys,diana123,16473a,mark01,bigbro,annarbor,nikita2000,11aa11,tigres,llllll1,loser2,fbi11213,jupite,qwaszxqw,macabre,123ert,rev2000,mooooo,klapaucius,bagel1,chiquit,iyaoyas,bear101,irocz28,vfktymrfz,smokey2,love99,rfhnbyf,dracul,keith123,slicko,peacock1,orgasmic,thesnake,solder,wetass,doofer,david5,rhfcyjlfh,swanny,tammys,turkiye,tubaman,estefani,firehose,funnyguy,servo,grace17,pippa1,arbiter,jimmy69,nfymrf,asdf67nm,rjcnzy,demon123,thicknes,sexysex,kristall,michail,encarta,banderos,minty,marchenko,de1987ma,mo5kva,aircav,naomi1,bonni,tatoo,cronaldo,49ers1,mama1963,1truck,telecaster,punksnotdead,erotik,1eagles,1fender,luv269,acdeehan,tanner1,freema,1q3e5t7u,linksys,tiger6,megaman1,neophyte,australia1,mydaddy,1jeffrey,fgdfgdfg,gfgekz,1986irachka,keyman,m0b1l3,dfcz123,mikeyg,playstation2,abc125,slacker1,110491g,lordsoth,bhavani,ssecca,dctvghbdtn,niblick,hondacar,baby01,worldcom,4034407,51094didi,3657549,3630000,3578951,sweetpussy,majick,supercoo,robert11,abacabb,panda123,gfhjkm13,ford4x4,zippo1,lapin,1726354,lovesong,dude11,moebius,paravoz,1357642,matkhau,solnyshko,daniel4,multiplelog,starik,martusia,iamtheman,greentre,jetblue,motorrad,vfrcbvev,redoak,dogma1,gnorman,komlos,tonka1,1010220,666satan,losenord,lateralus,absinthe,command1,jigga1,iiiiiii1,pants1,jungfrau,926337,ufhhbgjnnth,yamakasi,888555,sunny7,gemini69,alone1,zxcvbnmz,cabezon,skyblues,zxc1234,456123a,zero00,caseih,azzurra,legolas1,menudo,murcielago,785612,779977,benidorm,viperman,dima1985,piglet1,hemligt,hotfeet,7elephants,hardup,gamess,a000000,267ksyjf,kaitlynn,sharkie,sisyphus,yellow22,667766,redvette,666420,mets69,ac2zxdty,hxxrvwcy,cdavis,alan1,noddy,579300,druss,eatshit1,555123,appleseed,simpleplan,kazak,526282,fynfyfyfhbde,birthday6,dragon6,1pookie,bluedevils,omg123,hj8z6e,x5dxwp,455445,batman23,termin,chrisbrown,animals1,lucky9,443322,kzktxrf,takayuki,fermer,assembler,zomu9q,sissyboy,sergant,felina,nokia6230i,eminem12,croco,hunt4red,festina,darknigh,cptnz062,ndshnx4s,twizzler,wnmaz7sd,aamaax,gfhfcjkmrf,alabama123,barrynov,happy5,punt0it,durandal,8xuuobe4,cmu9ggzh,bruno12,316497,crazyfrog,vfvfktyf,apple3,kasey1,mackdaddy,anthon1,sunnys,angel3,cribbage,moon1,donal,bryce1,pandabear,mwss474,whitesta,freaker,197100,bitche,p2ssw0rd,turnb,tiktonik,moonlite,ferret1,jackas,ferrum,bearclaw,liberty2,1diablo,caribe,snakeeyes,janbam,azonic,rainmaker,vetalik,bigeasy,baby1234,sureno13,blink1,kluivert,calbears,lavanda,198600,dhtlbyf,medvedeva,fox123,whirling,bonscott,freedom9,october3,manoman,segredo,cerulean,robinso,bsmith,flatus,dannon,password21,rrrrrr1,callista,romai,rainman1,trantor,mickeymo,bulldog7,g123456,pavlin,pass22,snowie,hookah,7ofnine,bubba22,cabible,nicerack,moomoo1,summer98,yoyo123,milan1,lieve27,mustang69,jackster,exocet,nadege,qaz12,bahama,watson1,libras,eclipse2,bahram,bapezm,up9x8rww,ghjcnjz,themaste,deflep27,ghost16,gattaca,fotograf,junior123,gilber,gbjyth,8vjzus,rosco1,begonia,aldebara,flower12,novastar,buzzman,manchild,lopez1,mama11,william7,yfcnz1,blackstar,spurs123,moom4242,1amber,iownyou,tightend,07931505,paquito,1johnson,smokepot,pi31415,snowmass,ayacdc,jessicam,giuliana,5tgbnhy6,harlee,giuli,bigwig,tentacle,scoubidou2,benelli,vasilina,nimda,284655,jaihind,lero4ka,1tommy,reggi,ididit,jlbyjxtcndj,mike26,qbert,wweraw,lukasz,loosee123,palantir,flint1,mapper,baldie,saturne,virgin1,meeeee,elkcit,iloveme2,blue15,themoon,radmir,number3,shyanne,missle,hannelor,jasmina,karin1,lewie622,ghjcnjqgfhjkm,blasters,oiseau,sheela,grinders,panget,rapido,positiv,twink,fltkbyf,kzsfj874,daniel01,enjoyit,nofags,doodad,rustler,squealer,fortunat,peace123,khushi,devils2,7inches,candlebo,topdawg,armen,soundman,zxcqweasd,april7,gazeta,netman,hoppers,bear99,ghbjhbntn,mantle7,bigbo,harpo,jgordon,bullshi,vinny1,krishn,star22,thunderc,galinka,phish123,tintable,nightcrawler,tigerboy,rbhgbx,messi,basilisk,masha1998,nina123,yomamma,kayla123,geemoney,0000000000d,motoman,a3jtni,ser123,owen10,italien,vintelok,12345rewq,nightime,jeepin,ch1tt1ck,mxyzptlk,bandido,ohboy,doctorj,hussar,superted,parfilev,grundle,1jack,livestrong,chrisj,matthew3,access22,moikka,fatone,miguelit,trivium,glenn1,smooches,heiko,dezember,spaghett,stason,molokai,bossdog,guitarma,waderh,boriska,photosho,path13,hfrtnf,audre,junior24,monkey24,silke,vaz21093,bigblue1,trident1,candide,arcanum,klinker,orange99,bengals1,rosebu,mjujuj,nallepuh,mtwapa1a,ranger69,level1,bissjop,leica,1tiffany,rutabega,elvis77,kellie1,sameas,barada,karabas,frank12,queenb,toutoune,surfcity,samanth1,monitor1,littledo,kazakova,fodase,mistral1,april22,carlit,shakal,batman123,fuckoff2,alpha01,5544332211,buddy3,towtruck,kenwood1,vfiekmrf,jkl123,pypsik,ranger75,sitges,toyman,bartek1,ladygirl,booman,boeing77,installsqlst,222666,gosling,bigmack,223311,bogos,kevin2,gomez1,xohzi3g4,kfnju842,klubnika,cubalibr,123456789101,kenpo,0147852369,raptor1,tallulah,boobys,jjones,1q2s3c,moogie,vid2600,almas,wombat1,extra300,xfiles1,green77,sexsex1,heyjude,sammyy,missy123,maiyeuem,nccpl25282,thicluv,sissie,raven3,fldjrfn,buster22,broncos2,laurab,letmein4,harrydog,solovey,fishlips,asdf4321,ford123,superjet,norwegen,movieman,psw333333,intoit,postbank,deepwate,ola123,geolog323,murphys,eshort,a3eilm2s2y,kimota,belous,saurus,123321qaz,i81b4u,aaa12,monkey20,buckwild,byabybnb,mapleleafs,yfcnzyfcnz,baby69,summer03,twista,246890,246824,ltcnhjth,z1z2z3,monika1,sad123,uto29321,bathory,villan,funkey,poptarts,spam967888,705499fh,sebast,porn1234,earn381,1porsche,whatthef,123456789y,polo12,brillo,soreilly,waters1,eudora,allochka,is_a_bot,winter00,bassplay,531879fiz,onemore,bjarne,red911,kot123,artur1,qazxdr,c0rvette,diamond7,matematica,klesko,beaver12,2enter,seashell,panam,chaching,edward2,browni,xenogear,cornfed,aniram,chicco22,darwin1,ancella2,sophie2,vika1998,anneli,shawn41,babie,resolute,pandora2,william8,twoone,coors1,jesusis1,teh012,cheerlea,renfield,tessa1,anna1986,madness1,bkmlfh,19719870,liebherr,ck6znp42,gary123,123654z,alsscan,eyedoc,matrix7,metalgea,chinito,4iter,falcon11,7jokx7b9du,bigfeet,tassadar,retnuh,muscle1,klimova,darion,batistuta,bigsur,1herbier,noonie,ghjrehjh,karimova,faustus,snowwhite,1manager,dasboot,michael12,analfuck,inbed,dwdrums,jaysoncj,maranell,bsheep75,164379,rolodex,166666,rrrrrrr1,almaz666,167943,russel1,negrito,alianz,goodpussy,veronik,1w2q3r4e,efremov,emb377,sdpass,william6,alanfahy,nastya1995,panther5,automag,123qwe12,vfvf2011,fishe,1peanut,speedie,qazwsx1234,pass999,171204j,ketamine,sheena1,energizer,usethis1,123abc123,buster21,thechamp,flvbhfk,frank69,chane,hopeful1,claybird,pander,anusha,bigmaxxx,faktor,housebed,dimidrol,bigball,shashi,derby1,fredy,dervish,bootycall,80988218126,killerb,cheese2,pariss,mymail,dell123,catbert,christa1,chevytru,gjgjdf,00998877,overdriv,ratten,golf01,nyyanks,dinamite,bloembol,gismo,magnus1,march2,twinkles,ryan22,duckey,118a105b,kitcat,brielle,poussin,lanzarot,youngone,ssvegeta,hero63,battle1,kiler,fktrcfylh1,newera,vika1996,dynomite,oooppp,beer4me,foodie,ljhjuf,sonshine,godess,doug1,constanc,thinkbig,steve2,damnyou,autogod,www333,kyle1,ranger7,roller1,harry2,dustin1,hopalong,tkachuk,b00bies,bill2,deep111,stuffit,fire69,redfish1,andrei123,graphix,1fishing,kimbo1,mlesp31,ifufkbyf,gurkan,44556,emily123,busman,and123,8546404,paladine,1world,bulgakov,4294967296,bball23,1wwwww,mycats,elain,delta6,36363,emilyb,color1,6060842,cdtnkfyrf,hedonism,gfgfrfhkj,5551298,scubad,gostate,sillyme,hdbiker,beardown,fishers,sektor,00000007,newbaby,rapid1,braves95,gator2,nigge,anthony3,sammmy,oou812,heffer,phishin,roxanne1,yourass,hornet1,albator,2521659,underwat,tanusha,dianas,3f3fpht7op,dragon20,bilbobag,cheroke,radiatio,dwarf1,majik,33st33,dochka,garibald,robinh,sham69,temp01,wakeboar,violet1,1w2w3w,registr,tonite,maranello,1593570,parolamea,galatasara,loranthos,1472583,asmodean,1362840,scylla,doneit,jokerr,porkypig,kungen,mercator,koolhaas,come2me,debbie69,calbear,liverpoolfc,yankees4,12344321a,kennyb,madma,85200258,dustin23,thomas13,tooling,mikasa,mistic,crfnbyf,112233445,sofia1,heinz57,colts1,price1,snowey,joakim,mark11,963147,cnhfcnm,kzinti,1bbbbbbb,rubberdu,donthate,rupert1,sasha1992,regis1,nbuhbwf,fanboy,sundial,sooner1,wayout,vjnjhjkf,deskpro,arkangel,willie12,mikeyb,celtic1888,luis1,buddy01,duane1,grandma1,aolcom,weeman,172839456,basshead,hornball,magnu,pagedown,molly2,131517,rfvtgbyhn,astonmar,mistery,madalina,cash1,1happy,shenlong,matrix01,nazarova,369874125,800500,webguy,rse2540,ashley2,briank,789551,786110,chunli,j0nathan,greshnik,courtne,suckmyco,mjollnir,789632147,asdfg1234,754321,odelay,ranma12,zebedee,artem777,bmw318is,butt1,rambler1,yankees9,alabam,5w76rnqp,rosies,mafioso,studio1,babyruth,tranzit,magical123,gfhjkm135,12345$,soboleva,709394,ubique,drizzt1,elmers,teamster,pokemons,1472583690,1597532486,shockers,merckx,melanie2,ttocs,clarisse,earth1,dennys,slobber,flagman,farfalla,troika,4fa82hyx,hakan,x4ww5qdr,cumsuck,leather1,forum1,july20,barbel,zodiak,samuel12,ford01,rushfan,bugsy1,invest1,tumadre,screwme,a666666,money5,henry8,tiddles,sailaway,starburs,100years,killer01,comando,hiromi,ranetka,thordog,blackhole,palmeira,verboten,solidsna,q1w1e1,humme,kevinc,gbrfxe,gevaudan,hannah11,peter2,vangar,sharky7,talktome,jesse123,chuchi,pammy,!qazxsw2,siesta,twenty1,wetwilly,477041,natural1,sun123,daniel3,intersta,shithead1,hellyea,bonethugs,solitair,bubbles2,father1,nick01,444000,adidas12,dripik,cameron2,442200,a7nz8546,respublika,fkojn6gb,428054,snoppy,rulez1,haslo,rachael1,purple01,zldej102,ab12cd34,cytuehjxrf,madhu,astroman,preteen,handsoff,mrblonde,biggio,testin,vfdhif,twolves,unclesam,asmara,kpydskcw,lg2wmgvr,grolsch,biarritz,feather1,williamm,s62i93,bone1,penske,337733,336633,taurus1,334433,billet,diamondd,333000,nukem,fishhook,godogs,thehun,lena1982,blue00,smelly1,unb4g9ty,65pjv22,applegat,mikehunt,giancarlo,krillin,felix123,december1,soapy,46doris,nicole23,bigsexy1,justin10,pingu,bambou,falcon12,dgthtl,1surfer,qwerty01,estrellit,nfqcjy,easygo,konica,qazqwe,1234567890m,stingers,nonrev,3e4r5t,champio,bbbbbb99,196400,allen123,seppel,simba2,rockme,zebra3,tekken3,endgame,sandy2,197300,fitte,monkey00,eldritch,littleone,rfyfgkz,1member,66chevy,oohrah,cormac,hpmrbm41,197600,grayfox,elvis69,celebrit,maxwell7,rodders,krist,1camaro,broken1,kendall1,silkcut,katenka,angrick,maruni,17071994a,tktyf,kruemel,snuffles,iro4ka,baby12,alexis01,marryme,vlad1994,forward1,culero,badaboom,malvin,hardtoon,hatelove,molley,knopo4ka,duchess1,mensuck,cba321,kickbutt,zastava,wayner,fuckyou6,eddie123,cjkysir,john33,dragonfi,cody1,jabell,cjhjrf,badseed,sweden1,marihuana,brownlov,elland,nike1234,kwiettie,jonnyboy,togepi,billyk,robert123,bb334,florenci,ssgoku,198910,bristol1,bob007,allister,yjdujhjl,gauloise,198920,bellaboo,9lives,aguilas,wltfg4ta,foxyroxy,rocket69,fifty50,babalu,master21,malinois,kaluga,gogosox,obsessio,yeahrigh,panthers1,capstan,liza2000,leigh1,paintball1,blueskie,cbr600f3,bagdad,jose98,mandreki,shark01,wonderbo,muledeer,xsvnd4b2,hangten,200001,grenden,anaell,apa195,model1,245lufpq,zip100,ghjcgtrn,wert1234,misty2,charro,juanjose,fkbcrf,frostbit,badminto,buddyy,1doctor,vanya,archibal,parviz,spunky1,footboy,dm6tzsgp,legola,samadhi,poopee,ytdxz2ca,hallowboy,dposton,gautie,theworm,guilherme,dopehead,iluvtits,bobbob1,ranger6,worldwar,lowkey,chewbaca,oooooo99,ducttape,dedalus,celular,8i9o0p,borisenko,taylor01,111111z,arlingto,p3nnywiz,rdgpl3ds,boobless,kcmfwesg,blacksab,mother2,markus1,leachim,secret2,s123456789,1derful,espero,russell2,tazzer,marykate,freakme,mollyb,lindros8,james00,gofaster,stokrotka,kilbosik,aquamann,pawel1,shedevil,mousie,slot2009,october6,146969,mm259up,brewcrew,choucho,uliana,sexfiend,fktirf,pantss,vladimi,starz,sheeps,12341234q,bigun,tiggers,crjhjcnm,libtech,pudge1,home12,zircon,klaus1,jerry2,pink1,lingus,monkey66,dumass,polopolo09,feuerweh,rjyatnf,chessy,beefer,shamen,poohbear1,4jjcho,bennevis,fatgirls,ujnbrf,cdexswzaq,9noize9,rich123,nomoney,racecar1,hacke,clahay,acuario,getsum,hondacrv,william0,cheyenn,techdeck,atljhjdf,wtcacq,suger,fallenangel,bammer,tranquil,carla123,relayer,lespaul1,portvale,idontno,bycnbnen,trooper2,gennadiy,pompon,billbob,amazonka,akitas,chinatow,atkbrc,busters,fitness1,cateye,selfok2013,1murphy,fullhous,mucker,bajskorv,nectarin,littlebitch,love24,feyenoor,bigal37,lambo1,pussybitch,icecube1,biged,kyocera,ltybcjdf,boodle,theking1,gotrice,sunset1,abm1224,fromme,sexsells,inheat,kenya1,swinger1,aphrodit,kurtcobain,rhind101,poidog,poiulkjh,kuzmina,beantown,tony88,stuttgar,drumer,joaqui,messenge,motorman,amber2,nicegirl,rachel69,andreia,faith123,studmuffin,jaiden,red111,vtkmybr,gamecocks,gumper,bosshogg,4me2know,tokyo1,kleaner,roadhog,fuckmeno,phoenix3,seeme,buttnutt,boner69,andreyka,myheart,katerin,rugburn,jvtuepip,dc3ubn,chile1,ashley69,happy99,swissair,balls2,fylhttdf,jimboo,55555d,mickey11,voronin,m7hsqstm,stufff,merete,weihnachte,dowjones,baloo1,freeones,bears34,auburn1,beverl,timberland,1elvis,guinness1,bombadil,flatron1,logging7,telefoon,merl1n,masha1,andrei1,cowabung,yousuck1,1matrix,peopl,asd123qwe,sweett,mirror1,torrente,joker12,diamond6,jackaroo,00000a,millerlite,ironhorse,2twins,stryke,gggg1,zzzxxxccc,roosevel,8363eddy,angel21,depeche1,d0ct0r,blue14,areyou,veloce,grendal,frederiksberg,cbcntvf,cb207sl,sasha2000,was.here,fritzz,rosedale,spinoza,cokeisit,gandalf3,skidmark,ashley01,12345j,1234567890qaz,sexxxxxx,beagles,lennart,12345789,pass10,politic,max007,gcheckou,12345611,tiffy,lightman,mushin,velosiped,brucewayne,gauthie,elena123,greenegg,h2oski,clocker,nitemare,123321s,megiddo,cassidy1,david13,boywonde,flori,peggy12,pgszt6md,batterie,redlands,scooter6,bckhere,trueno,bailey11,maxwell2,bandana,timoth1,startnow,ducati74,tiern,maxine1,blackmetal,suzyq,balla007,phatfarm,kirsten1,titmouse,benhogan,culito,forbin,chess1,warren1,panman,mickey7,24lover,dascha,speed2,redlion,andrew10,johnwayn,nike23,chacha1,bendog,bullyboy,goldtree,spookie,tigger99,1cookie,poutine,cyclone1,woodpony,camaleun,bluesky1,dfadan,eagles20,lovergirl,peepshow,mine1,dima1989,rjdfkmxer,11111aaaaa,machina,august17,1hhhhh,0773417k,1monster,freaksho,jazzmin,davidw,kurupt,chumly,huggies,sashenka,ccccccc1,bridge1,giggalo,cincinna,pistol1,hello22,david77,lightfoo,lucky6,jimmy12,261397,lisa12,tabaluga,mysite,belo4ka,greenn,eagle99,punkrawk,salvado,slick123,wichsen,knight99,dummys,fefolico,contrera,kalle1,anna1984,delray,robert99,garena,pretende,racefan,alons,serenada,ludmilla,cnhtkjr,l0swf9gx,hankster,dfktynbyrf,sheep1,john23,cv141ab,kalyani,944turbo,crystal2,blackfly,zrjdktdf,eus1sue1,mario5,riverplate,harddriv,melissa3,elliott1,sexybitc,cnhfyybr,jimdavis,bollix,beta1,amberlee,skywalk1,natala,1blood,brattax,shitty1,gb15kv99,ronjon,rothmans,thedoc,joey21,hotboi,firedawg,bimbo38,jibber,aftermat,nomar,01478963,phishing,domodo,anna13,materia,martha1,budman1,gunblade,exclusiv,sasha1997,anastas,rebecca2,fackyou,kallisti,fuckmyass,norseman,ipswich1,151500,1edward,intelinside,darcy1,bcrich,yjdjcnbf,failte,buzzzz,cream1,tatiana1,7eleven,green8,153351,1a2s3d4f5g6h,154263,milano1,bambi1,bruins77,rugby2,jamal1,bolita,sundaypunch,bubba12,realmadr,vfyxtcnth,iwojima,notlob,black666,valkiria,nexus1,millerti,birthday100,swiss1,appollo,gefest,greeneyes,celebrat,tigerr,slava123,izumrud,bubbabub,legoman,joesmith,katya123,sweetdream,john44,wwwwwww1,oooooo1,socal,lovespor,s5r8ed67s,258147,heidis,cowboy22,wachovia,michaelb,qwe1234567,i12345,255225,goldie1,alfa155,45colt,safeu851,antonova,longtong,1sparky,gfvznm,busen,hjlbjy,whateva,rocky4,cokeman,joshua3,kekskek1,sirocco,jagman,123456qwert,phinupi,thomas10,loller,sakur,vika2011,fullred,mariska,azucar,ncstate,glenn74,halima,aleshka,ilovemylife,verlaat,baggie,scoubidou6,phatboy,jbruton,scoop1,barney11,blindman,def456,maximus2,master55,nestea,11223355,diego123,sexpistols,sniffy,philip1,f12345,prisonbreak,nokia2700,ajnjuhfa,yankees3,colfax,ak470000,mtnman,bdfyeirf,fotball,ichbin,trebla,ilusha,riobravo,beaner1,thoradin,polkaudi,kurosawa,honda123,ladybu,valerik,poltava,saviola,fuckyouguys,754740g0,anallove,microlab1,juris01,ncc1864,garfild,shania1,qagsud,makarenko,cindy69,lebedev,andrew11,johnnybo,groovy1,booster1,sanders1,tommyb,johnson4,kd189nlcih,hondaman,vlasova,chick1,sokada,sevisgur,bear2327,chacho,sexmania,roma1993,hjcnbckfd,valley1,howdie,tuppence,jimandanne,strike3,y4kuz4,nhfnfnf,tsubasa,19955991,scabby,quincunx,dima1998,uuuuuu1,logica,skinner1,pinguino,lisa1234,xpressmusic,getfucked,qqqq1,bbbb1,matulino,ulyana,upsman,johnsmith,123579,co2000,spanner1,todiefor,mangoes,isabel1,123852,negra,snowdon,nikki123,bronx1,booom,ram2500,chuck123,fireboy,creek1,batman13,princesse,az12345,maksat,1knight,28infern,241455,r7112s,muselman,mets1986,katydid,vlad777,playme,kmfdm1,asssex,1prince,iop890,bigbroth,mollymoo,waitron,lizottes,125412,juggler,quinta,0sister0,zanardi,nata123,heckfyxbr,22q04w90e,engine2,nikita95,zamira,hammer22,lutscher,carolina1,zz6319,sanman,vfuflfy,buster99,rossco,kourniko,aggarwal,tattoo1,janice1,finger1,125521,19911992,shdwlnds,rudenko,vfvfgfgf123,galatea,monkeybu,juhani,premiumcash,classact,devilmay,helpme2,knuddel,hardpack,ramil,perrit,basil1,zombie13,stockcar,tos8217,honeypie,nowayman,alphadog,melon1,talula,125689,tiribon12,tornike,haribol,telefone,tiger22,sucka,lfytxrf,chicken123,muggins,a23456,b1234567,lytdybr,otter1,pippa,vasilisk,cooking1,helter,78978,bestboy,viper7,ahmed1,whitewol,mommys,apple5,shazam1,chelsea7,kumiko,masterma,rallye,bushmast,jkz123,entrar,andrew6,nathan01,alaric,tavasz,heimdall,gravy1,jimmy99,cthlwt,powerr,gthtrhtcnjr,canesfan,sasha11,ybrbnf_25,august9,brucie,artichok,arnie1,superdude,tarelka,mickey22,dooper,luners,holeshot,good123,gettysbu,bicho,hammer99,divine5,1zxcvbn,stronzo,q22222,disne,bmw750il,godhead,hallodu,aerith,nastik,differen,cestmoi,amber69,5string,pornosta,dirtygirl,ginger123,formel1,scott12,honda200,hotspurs,johnatha,firstone123,lexmark1,msconfig,karlmasc,l123456,123qweasdzx,baldman,sungod,furka,retsub,9811020,ryder1,tcglyued,astron,lbvfcbr,minddoc,dirt49,baseball12,tbear,simpl,schuey,artimus,bikman,plat1num,quantex,gotyou,hailey1,justin01,ellada,8481068,000002,manimal,dthjybxrf,buck123,dick123,6969696,nospam,strong1,kodeord,bama12,123321w,superman123,gladiolus,nintend,5792076,dreamgirl,spankme1,gautam,arianna1,titti,tetas,cool1234,belladog,importan,4206969,87e5nclizry,teufelo7,doller,yfl.irf,quaresma,3440172,melis,bradle,nnmaster,fast1,iverso,blargh,lucas12,chrisg,iamsam,123321az,tomjerry,kawika,2597174,standrew,billyg,muskan,gizmodo2,rz93qpmq,870621345,sathya,qmezrxg4,januari,marthe,moom4261,cum2me,hkger286,lou1988,suckit1,croaker,klaudia1,753951456,aidan1,fsunoles,romanenko,abbydog,isthebes,akshay,corgi,fuck666,walkman555,ranger98,scorpian,hardwareid,bluedragon,fastman,2305822q,iddqdiddqd,1597532,gopokes,zvfrfcb,w1234567,sputnik1,tr1993,pa$$w0rd,2i5fdruv,havvoc,1357913,1313131,bnm123,cowd00d,flexscan,thesims2,boogiema,bigsexxy,powerstr,ngc4565,joshman,babyboy1,123jlb,funfunfu,qwe456,honor1,puttana,bobbyj,daniel21,pussy12,shmuck,1232580,123578951,maxthedo,hithere1,bond0007,gehenna,nomames,blueone,r1234567,bwana,gatinho,1011111,torrents,cinta,123451234,tiger25,money69,edibey,pointman,mmcm19,wales1,caffreys,phaedra,bloodlus,321ret32,rufuss,tarbit,joanna1,102030405,stickboy,lotrfotr34,jamshid,mclarenf1,ataman,99ford,yarrak,logan2,ironlung,pushistik,dragoon1,unclebob,tigereye,pinokio,tylerj,mermaid1,stevie1,jaylen,888777,ramana,roman777,brandon7,17711771s,thiago,luigi1,edgar1,brucey,videogam,classi,birder,faramir,twiddle,cubalibre,grizzy,fucky,jjvwd4,august15,idinahui,ranita,nikita1998,123342,w1w2w3,78621323,4cancel,789963,(null,vassago,jaydog472,123452,timt42,canada99,123589,rebenok,htyfnf,785001,osipov,maks123,neverwinter,love2010,777222,67390436,eleanor1,bykemo,aquemini,frogg,roboto,thorny,shipmate,logcabin,66005918,nokian,gonzos,louisian,1abcdefg,triathlo,ilovemar,couger,letmeino,supera,runvs,fibonacci,muttly,58565254,5thgbqi,vfnehsv,electr,jose12,artemis1,newlove,thd1shr,hawkey,grigoryan,saisha,tosca,redder,lifesux,temple1,bunnyman,thekids,sabbeth,tarzan1,182838,158uefas,dell50,1super,666222,47ds8x,jackhamm,mineonly,rfnfhbyf,048ro,665259,kristina1,bombero,52545856,secure1,bigloser,peterk,alex2,51525354,anarchy1,superx,teenslut,money23,sigmapi,sanfrancisco,acme34,private5,eclips,qwerttrewq,axelle,kokain,hardguy,peter69,jesuschr,dyanna,dude69,sarah69,toyota91,amberr,45645645,bugmenot,bigted,44556677,556644,wwr8x9pu,alphaome,harley13,kolia123,wejrpfpu,revelati,nairda,sodoff,cityboy,pinkpussy,dkalis,miami305,wow12345,triplet,tannenbau,asdfasdf1,darkhors,527952,retired1,soxfan,nfyz123,37583867,goddes,515069,gxlmxbewym,1warrior,36925814,dmb2011,topten,karpova,89876065093rax,naturals,gateway9,cepseoun,turbot,493949,cock22,italia1,sasafras,gopnik,stalke,1qazxdr5,wm2006,ace1062,alieva,blue28,aracel,sandia,motoguzz,terri1,emmajane,conej,recoba,alex1995,jerkyboy,cowboy12,arenrone,precisio,31415927,scsa316,panzer1,studly1,powerhou,bensam,mashoutq,billee,eeyore1,reape,thebeatl,rul3z,montesa,doodle1,cvzefh1gk,424365,a159753,zimmerma,gumdrop,ashaman,grimreap,icandoit,borodina,branca,dima2009,keywest1,vaders,bubluk,diavolo,assss,goleta,eatass,napster1,382436,369741,5411pimo,lenchik,pikach,gilgamesh,kalimera,singer1,gordon2,rjycnbnewbz,maulwurf,joker13,2much4u,bond00,alice123,robotec,fuckgirl,zgjybz,redhorse,margaret1,brady1,pumpkin2,chinky,fourplay,1booger,roisin,1brandon,sandan,blackheart,cheez,blackfin,cntgfyjdf,mymoney1,09080706,goodboss,sebring1,rose1,kensingt,bigboner,marcus12,ym3cautj,struppi,thestone,lovebugs,stater,silver99,forest99,qazwsx12345,vasile,longboar,mkonji,huligan,rhfcbdfz,airmail,porn11,1ooooo,sofun,snake2,msouthwa,dougla,1iceman,shahrukh,sharona,dragon666,france98,196800,196820,ps253535,zjses9evpa,sniper01,design1,konfeta,jack99,drum66,good4you,station2,brucew,regedit,school12,mvtnr765,pub113,fantas,tiburon1,king99,ghjcnjgbpltw,checkito,308win,1ladybug,corneliu,svetasveta,197430,icicle,imaccess,ou81269,jjjdsl,brandon6,bimbo1,smokee,piccolo1,3611jcmg,children2,cookie2,conor1,darth1,margera,aoi856,paully,ou812345,sklave,eklhigcz,30624700,amazing1,wahooo,seau55,1beer,apples2,chulo,dolphin9,heather6,198206,198207,hergood,miracle1,njhyflj,4real,milka,silverfi,fabfive,spring12,ermine,mammy,jumpjet,adilbek,toscana,caustic,hotlove,sammy69,lolita1,byoung,whipme,barney01,mistys,tree1,buster3,kaylin,gfccgjhn,132333,aishiteru,pangaea,fathead1,smurph,198701,ryslan,gasto,xexeylhf,anisimov,chevyss,saskatoo,brandy12,tweaker,irish123,music2,denny1,palpatin,outlaw1,lovesuck,woman1,mrpibb,diadora,hfnfneq,poulette,harlock,mclaren1,cooper12,newpass3,bobby12,rfgecnfcerf,alskdjfh,mini14,dukers,raffael,199103,cleo123,1234567qwertyu,mossberg,scoopy,dctulf,starline,hjvjxrf,misfits1,rangers2,bilbos,blackhea,pappnase,atwork,purple2,daywalker,summoner,1jjjjjjj,swansong,chris10,laluna,12345qqq,charly1,lionsden,money99,silver33,hoghead,bdaddy,199430,saisg002,nosaints,tirpitz,1gggggg,jason13,kingss,ernest1,0cdh0v99ue,pkunzip,arowana,spiri,deskjet1,armine,lances,magic2,thetaxi,14159265,cacique,14142135,orange10,richard0,backdraf,255ooo,humtum,kohsamui,c43dae874d,wrestling1,cbhtym,sorento,megha,pepsiman,qweqwe12,bliss7,mario64,korolev,balls123,schlange,gordit,optiquest,fatdick,fish99,richy,nottoday,dianne1,armyof1,1234qwerasdfzxcv,bbonds,aekara,lidiya,baddog1,yellow5,funkie,ryan01,greentree,gcheckout,marshal1,liliput,000000z,rfhbyrf,gtogto43,rumpole,tarado,marcelit,aqwzsxedc,kenshin1,sassydog,system12,belly1,zilla,kissfan,tools1,desember,donsdad,nick11,scorpio6,poopoo1,toto99,steph123,dogfuck,rocket21,thx113,dude12,sanek,sommar,smacky,pimpsta,letmego,k1200rs,lytghjgtnhjdcr,abigale,buddog,deles,baseball9,roofus,carlsbad,hamzah,hereiam,genial,schoolgirlie,yfz450,breads,piesek,washear,chimay,apocalyp,nicole18,gfgf1234,gobulls,dnevnik,wonderwall,beer1234,1moose,beer69,maryann1,adpass,mike34,birdcage,hottuna,gigant,penquin,praveen,donna123,123lol123,thesame,fregat,adidas11,selrahc,pandoras,test3,chasmo,111222333000,pecos,daniel11,ingersol,shana1,mama12345,cessna15,myhero,1simpson,nazarenko,cognit,seattle2,irina1,azfpc310,rfycthdf,hardy1,jazmyn,sl1200,hotlanta,jason22,kumar123,sujatha,fsd9shtyu,highjump,changer,entertai,kolding,mrbig,sayuri,eagle21,qwertzu,jorge1,0101dd,bigdong,ou812a,sinatra1,htcnjhfy,oleg123,videoman,pbyfblf,tv612se,bigbird1,kenaidog,gunite,silverma,ardmore,123123qq,hotbot,cascada,cbr600f4,harakiri,chico123,boscos,aaron12,glasgow1,kmn5hc,lanfear,1light,liveoak,fizika,ybrjkftdyf,surfside,intermilan,multipas,redcard,72chevy,balata,coolio1,schroede,kanat,testerer,camion,kierra,hejmeddig,antonio2,tornados,isidor,pinkey,n8skfswa,ginny1,houndog,1bill,chris25,hastur,1marine,greatdan,french1,hatman,123qqq,z1z2z3z4,kicker1,katiedog,usopen,smith22,mrmagoo,1234512i,assa123,7seven7,monster7,june12,bpvtyf,149521,guenter,alex1985,voronina,mbkugegs,zaqwsxcderfv,rusty5,mystic1,master0,abcdef12,jndfkb,r4zpm3,cheesey,skripka,blackwhite,sharon69,dro8smwq,lektor,techman,boognish,deidara,heckfyf,quietkey,authcode,monkey4,jayboy,pinkerto,merengue,chulita,bushwick,turambar,kittykit,joseph2,dad123,kristo,pepote,scheiss,hambone1,bigballa,restaura,tequil,111luzer,euro2000,motox,denhaag,chelsi,flaco1,preeti,lillo,1001sin,passw,august24,beatoff,555555d,willis1,kissthis,qwertyz,rvgmw2gl,iloveboobies,timati,kimbo,msinfo,dewdrop,sdbaker,fcc5nky2,messiah1,catboy,small1,chode,beastie1,star77,hvidovre,short1,xavie,dagobah,alex1987,papageno,dakota2,toonami,fuerte,jesus33,lawina,souppp,dirtybir,chrish,naturist,channel1,peyote,flibble,gutentag,lactate,killem,zucchero,robinho,ditka,grumpy1,avr7000,boxxer,topcop,berry1,mypass1,beverly1,deuce1,9638527410,cthuttdf,kzkmrf,lovethem,band1t,cantona1,purple11,apples123,wonderwo,123a456,fuzzie,lucky99,dancer2,hoddling,rockcity,winner12,spooty,mansfiel,aimee1,287hf71h,rudiger,culebra,god123,agent86,daniel0,bunky1,notmine,9ball,goofus,puffy1,xyh28af4,kulikov,bankshot,vurdf5i2,kevinm,ercole,sexygirls,razvan,october7,goater,lollie,raissa,thefrog,mdmaiwa3,mascha,jesussaves,union1,anthony9,crossroa,brother2,areyuke,rodman91,toonsex,dopeman,gericom,vaz2115,cockgobbler,12356789,12345699,signatur,alexandra1,coolwhip,erwin1,awdrgyjilp,pens66,ghjrjgtyrj,linkinpark,emergenc,psych0,blood666,bootmort,wetworks,piroca,johnd,iamthe1,supermario,homer69,flameon,image1,bebert,fylhtq1,annapoli,apple11,hockey22,10048,indahouse,mykiss,1penguin,markp,misha123,foghat,march11,hank1,santorin,defcon4,tampico,vbnhjafy,robert22,bunkie,athlon64,sex777,nextdoor,koskesh,lolnoob,seemnemaailm,black23,march15,yeehaa,chiqui,teagan,siegheil,monday2,cornhusk,mamusia,chilis,sthgrtst,feldspar,scottm,pugdog,rfghjy,micmac,gtnhjdyf,terminato,1jackson,kakosja,bogomol,123321aa,rkbvtyrj,tresor,tigertig,fuckitall,vbkkbjy,caramon,zxc12,balin,dildo1,soccer09,avata,abby123,cheetah1,marquise,jennyc,hondavfr,tinti,anna1985,dennis2,jorel,mayflowe,icema,hal2000,nikkis,bigmouth,greenery,nurjan,leonov,liberty7,fafnir,larionov,sat321321,byteme1,nausicaa,hjvfynbrf,everto,zebra123,sergio1,titone,wisdom1,kahala,104328q,marcin1,salima,pcitra,1nnnnn,nalini,galvesto,neeraj,rick1,squeeky,agnes1,jitterbu,agshar,maria12,0112358,traxxas,stivone,prophet1,bananza,sommer1,canoneos,hotfun,redsox11,1bigmac,dctdjkjl,legion1,everclea,valenok,black9,danny001,roxie1,1theman,mudslide,july16,lechef,chula,glamis,emilka,canbeef,ioanna,cactus1,rockshox,im2cool,ninja9,thvfrjdf,june28,milo17,missyou,micky1,nbibyf,nokiaa,goldi,mattias,fuckthem,asdzxc123,ironfist,junior01,nesta,crazzy,killswit,hygge,zantac,kazama,melvin1,allston,maandag,hiccup,prototyp,specboot,dwl610,hello6,159456,baldhead,redwhite,calpoly,whitetail,agile1,cousteau,matt01,aust1n,malcolmx,gjlfhjr,semperf1,ferarri,a1b2c3d,vangelis,mkvdari,bettis36,andzia,comand,tazzman,morgaine,pepluv,anna1990,inandout,anetka,anna1997,wallpape,moonrake,huntress,hogtie,cameron7,sammy7,singe11,clownboy,newzeala,wilmar,safrane,rebeld,poopi,granat,hammertime,nermin,11251422,xyzzy1,bogeys,jkmxbr,fktrcfyl,11223311,nfyrbcn,11223300,powerpla,zoedog,ybrbnbyf,zaphod42,tarawa,jxfhjdfirf,dude1234,g5wks9,goobe,czekolada,blackros,amaranth,medical1,thereds,julija,nhecsyfujkjdt,promopas,buddy4,marmalad,weihnachten,tronic,letici,passthief,67mustan,ds7zamnw,morri,w8woord,cheops,pinarell,sonofsam,av473dv,sf161pn,5c92v5h6,purple13,tango123,plant1,1baby,xufrgemw,fitta,1rangers,spawns,kenned,taratata,19944991,11111118,coronas,4ebouux8,roadrash,corvette1,dfyjdf846,marley12,qwaszxerdfcv,68stang,67stang,racin,ellehcim,sofiko,nicetry,seabass1,jazzman1,zaqwsx1,laz2937,uuuuuuu1,vlad123,rafale,j1234567,223366,nnnnnn1,226622,junkfood,asilas,cer980,daddymac,persepho,neelam,00700,shithappens,255555,qwertyy,xbox36,19755791,qweasd1,bearcub,jerryb,a1b1c1,polkaudio,basketball1,456rty,1loveyou,marcus2,mama1961,palace1,transcend,shuriken,sudhakar,teenlove,anabelle,matrix99,pogoda,notme,bartend,jordana,nihaoma,ataris,littlegi,ferraris,redarmy,giallo,fastdraw,accountbloc,peludo,pornostar,pinoyako,cindee,glassjaw,dameon,johnnyd,finnland,saudade,losbravo,slonko,toplay,smalltit,nicksfun,stockhol,penpal,caraj,divedeep,cannibus,poppydog,pass88,viktory,walhalla,arisia,lucozade,goldenbo,tigers11,caball,ownage123,tonna,handy1,johny,capital5,faith2,stillher,brandan,pooky1,antananarivu,hotdick,1justin,lacrimos,goathead,bobrik,cgtwbfkbcn,maywood,kamilek,gbplf123,gulnar,beanhead,vfvjyn,shash,viper69,ttttttt1,hondacr,kanako,muffer,dukies,justin123,agapov58,mushka,bad11bad,muleman,jojo123,andreika,makeit,vanill,boomers,bigals,merlin11,quacker,aurelien,spartak1922,ligeti,diana2,lawnmowe,fortune1,awesom,rockyy,anna1994,oinker,love88,eastbay,ab55484,poker0,ozzy666,papasmurf,antihero,photogra,ktm250,painkill,jegr2d2,p3orion,canman,dextur,qwest123,samboy,yomismo,sierra01,herber,vfrcbvvfrcbv,gloria1,llama1,pie123,bobbyjoe,buzzkill,skidrow,grabber,phili,javier1,9379992q,geroin,oleg1994,sovereig,rollover,zaq12qaz,battery1,killer13,alina123,groucho1,mario12,peter22,butterbean,elise1,lucycat,neo123,ferdi,golfer01,randie,gfhfyjbr,ventura1,chelsea3,pinoy,mtgox,yrrim7,shoeman,mirko,ffggyyo,65mustan,ufdibyjd,john55,suckfuck,greatgoo,fvfnjhb,mmmnnn,love20,1bullshi,sucesso,easy1234,robin123,rockets1,diamondb,wolfee,nothing0,joker777,glasnost,richar1,guille,sayan,koresh,goshawk,alexx,batman21,a123456b,hball,243122,rockandr,coolfool,isaia,mary1,yjdbrjdf,lolopc,cleocat,cimbo,lovehina,8vfhnf,passking,bonapart,diamond2,bigboys,kreator,ctvtyjdf,sassy123,shellac,table54781,nedkelly,philbert,sux2bu,nomis,sparky99,python1,littlebear,numpty,silmaril,sweeet,jamesw,cbufhtnf,peggysue,wodahs,luvsex,wizardry,venom123,love4you,bama1,samat,reviewpass,ned467,cjkjdtq,mamula,gijoe,amersham,devochka,redhill,gisel,preggo,polock,cando,rewster,greenlantern,panasonik,dave1234,mikeee,1carlos,miledi,darkness1,p0o9i8u7y6,kathryn1,happyguy,dcp500,assmaster,sambuka,sailormo,antonio3,logans,18254288,nokiax2,qwertzuiop,zavilov,totti,xenon1,edward11,targa1,something1,tony_t,q1w2e3r4t5y6u7i8o9p0,02551670,vladimir1,monkeybutt,greenda,neel21,craiger,saveliy,dei008,honda450,fylhtq95,spike2,fjnq8915,passwordstandard,vova12345,talonesi,richi,gigemags,pierre1,westin,trevoga,dorothee,bastogne,25563o,brandon3,truegrit,krimml,iamgreat,servis,a112233,paulinka,azimuth,corperfmonsy,358hkyp,homerun1,dogbert1,eatmyass,cottage1,savina,baseball7,bigtex,gimmesum,asdcxz,lennon1,a159357,1bastard,413276191q,pngfilt,pchealth,netsnip,bodiroga,1matt,webtvs,ravers,adapters,siddis,mashamasha,coffee2,myhoney,anna1982,marcia1,fairchil,maniek,iloveluc,batmonh,wildon,bowie1,netnwlnk,fancy1,tom204,olga1976,vfif123,queens1,ajax01,lovess,mockba,icam4usb,triada,odinthor,rstlne,exciter,sundog,anchorat,girls69,nfnmzyrf,soloma,gti16v,shadowman,ottom,rataros,tonchin,vishal,chicken0,pornlo,christiaan,volante,likesit,mariupol,runfast,gbpltw123,missys,villevalo,kbpjxrf,ghibli,calla,cessna172,kinglear,dell11,swift1,walera,1cricket,pussy5,turbo911,tucke,maprchem56458,rosehill,thekiwi1,ygfxbkgt,mandarinka,98xa29,magnit,cjfrf,paswoord,grandam1,shenmue,leedsuni,hatrick,zagadka,angeldog,michaell,dance123,koichi,bballs,29palms,xanth,228822,ppppppp1,1kkkkk,1lllll,mynewbots,spurss,madmax1,224455,city1,mmmmmmm1,nnnnnnn1,biedronka,thebeatles,elessar,f14tomcat,jordan18,bobo123,ayi000,tedbear,86chevyx,user123,bobolink,maktub,elmer1,flyfishi,franco1,gandalf0,traxdata,david21,enlighte,dmitrij,beckys,1giants,flippe,12345678w,jossie,rugbyman,snowcat,rapeme,peanut11,gemeni,udders,techn9ne,armani1,chappie,war123,vakantie,maddawg,sewanee,jake5253,tautt1,anthony5,letterma,jimbo2,kmdtyjr,hextall,jessica6,amiga500,hotcunt,phoenix9,veronda,saqartvelo,scubas,sixer3,williamj,nightfal,shihan,melnikova,kosssss,handily,killer77,jhrl0821,march17,rushman,6gcf636i,metoyou,irina123,mine11,primus1,formatters,matthew5,infotech,gangster1,jordan45,moose69,kompas,motoxxx,greatwhi,cobra12,kirpich,weezer1,hello23,montse,tracy123,connecte,cjymrf,hemingwa,azreal,gundam00,mobila,boxman,slayers1,ravshan,june26,fktrcfylhjd,bermuda1,tylerd,maersk,qazwsx11,eybdthcbntn,ash123,camelo,kat123,backd00r,cheyenne1,1king,jerkin,tnt123,trabant,warhammer40k,rambos,punto,home77,pedrito,1frank,brille,guitarman,george13,rakas,tgbxtcrbq,flute1,bananas1,lovezp1314,thespot,postie,buster69,sexytime,twistys,zacharia,sportage,toccata,denver7,terry123,bogdanova,devil69,higgins1,whatluck,pele10,kkk666,jeffery1,1qayxsw2,riptide1,chevy11,munchy,lazer1,hooker1,ghfgjh,vergesse,playgrou,4077mash,gusev,humpin,oneputt,hydepark,monster9,tiger8,tangsoo,guy123,hesoyam1,uhtqneyu,thanku,lomond,ortezza,kronik,geetha,rabbit66,killas,qazxswe,alabaste,1234567890qwerty,capone1,andrea12,geral,beatbox,slutfuck,booyaka,jasmine7,ostsee,maestro1,beatme,tracey1,buster123,donaldduck,ironfish,happy6,konnichi,gintonic,momoney1,dugan1,today2,enkidu,destiny2,trim7gun,katuha,fractals,morganstanley,polkadot,gotime,prince11,204060,fifa2010,bobbyt,seemee,amanda10,airbrush,bigtitty,heidie,layla1,cotton1,5speed,fyfnjkmtdyf,flynavy,joxury8f,meeko,akuma,dudley1,flyboy1,moondog1,trotters,mariami,signin,chinna,legs11,pussy4,1s1h1e1f1,felici,optimus1,iluvu,marlins1,gavaec,balance1,glock40,london01,kokot,southwes,comfort1,sammy11,rockbottom,brianc,litebeer,homero,chopsuey,greenlan,charit,freecell,hampster,smalldog,viper12,blofeld,1234567890987654321,realsex,romann,cartman2,cjdthitycndj,nelly1,bmw528,zwezda,masterba,jeep99,turtl,america2,sunburst,sanyco,auntjudy,125wm,blue10,qwsazx,cartma,toby12,robbob,red222,ilovecock,losfix16,1explore,helge,vaz2114,whynotme,baba123,mugen,1qazwsxedc,albertjr,0101198,sextime,supras,nicolas2,wantsex,pussy6,checkm8,winam,24gordon,misterme,curlew,gbljhfcs,medtech,franzi,butthea,voivod,blackhat,egoiste,pjkeirf,maddog69,pakalolo,hockey4,igor1234,rouges,snowhite,homefree,sexfreak,acer12,dsmith,blessyou,199410,vfrcbvjd,falco02,belinda1,yaglasph,april21,groundho,jasmin1,nevergiveup,elvir,gborv526,c00kie,emma01,awesome2,larina,mike12345,maximu,anupam,bltynbabrfwbz,tanushka,sukkel,raptor22,josh12,schalke04,cosmodog,fuckyou8,busybee,198800,bijoux,frame1,blackmor,giveit,issmall,bear13,123-123,bladez,littlegirl,ultra123,fletch1,flashnet,loploprock,rkelly,12step,lukas1,littlewhore,cuntfinger,stinkyfinger,laurenc,198020,n7td4bjl,jackie69,camel123,ben1234,1gateway,adelheid,fatmike,thuglove,zzaaqq,chivas1,4815162342q,mamadou,nadano,james22,benwin,andrea99,rjirf,michou,abkbgg,d50gnn,aaazzz,a123654,blankman,booboo11,medicus,bigbone,197200,justine1,bendix,morphius,njhvjp,44mag,zsecyus56,goodbye1,nokiadermo,a333444,waratsea,4rzp8ab7,fevral,brillian,kirbys,minim,erathia,grazia,zxcvb1234,dukey,snaggle,poppi,hymen,1video,dune2000,jpthjdf,cvbn123,zcxfcnkbdfz,astonv,ginnie,316271,engine3,pr1ncess,64chevy,glass1,laotzu,hollyy,comicbooks,assasins,nuaddn9561,scottsda,hfcnfvfy,accobra,7777777z,werty123,metalhead,romanson,redsand,365214,shalo,arsenii,1989cc,sissi,duramax,382563,petera,414243,mamapap,jollymon,field1,fatgirl,janets,trompete,matchbox20,rambo2,nepenthe,441232,qwertyuiop10,bozo123,phezc419hv,romantika,lifestyl,pengui,decembre,demon6,panther6,444888,scanman,ghjcnjabkz,pachanga,buzzword,indianer,spiderman3,tony12,startre,frog1,fyutk,483422,tupacshakur,albert12,1drummer,bmw328i,green17,aerdna,invisibl,summer13,calimer,mustaine,lgnu9d,morefun,hesoyam123,escort1,scrapland,stargat,barabbas,dead13,545645,mexicali,sierr,gfhfpbn,gonchar,moonstafa,searock,counte,foster1,jayhawk1,floren,maremma,nastya2010,softball1,adaptec,halloo,barrabas,zxcasd123,hunny,mariana1,kafedra,freedom0,green420,vlad1234,method7,665566,tooting,hallo12,davinchi,conducto,medias,666444,invernes,madhatter,456asd,12345678i,687887,le33px,spring00,help123,bellybut,billy5,vitalik1,river123,gorila,bendis,power666,747200,footslav,acehigh,qazxswedc123,q1a1z1,richard9,peterburg,tabletop,gavrilov,123qwe1,kolosov,fredrau,run4fun,789056,jkbvgbflf,chitra,87654321q,steve22,wideopen,access88,surfe,tdfyutkbjy,impossib,kevin69,880888,cantina,887766,wxcvb,dontforg,qwer1209,asslicke,mamma123,indig,arkasha,scrapp,morelia,vehxbr,jones2,scratch1,cody11,cassie12,gerbera,dontgotm,underhil,maks2010,hollywood1,hanibal,elena2010,jason11,1010321,stewar,elaman,fireplug,goodby,sacrific,babyphat,bobcat12,bruce123,1233215,tony45,tiburo,love15,bmw750,wallstreet,2h0t4me,1346795,lamerz,munkee,134679q,granvill,1512198,armastus,aiden1,pipeutvj,g1234567,angeleyes,usmc1,102030q,putangina,brandnew,shadowfax,eagles12,1falcon,brianw,lokomoti,2022958,scooper,pegas,jabroni1,2121212,buffal,siffredi,wewiz,twotone,rosebudd,nightwis,carpet1,mickey2,2525252,sleddog,red333,jamesm,2797349,jeff12,onizuka,felixxxx,rf6666,fine1,ohlala,forplay,chicago5,muncho,scooby11,ptichka,johnnn,19851985p,dogphil3650,totenkopf,monitor2,macross7,3816778,dudder,semaj1,bounder,racerx1,5556633,7085506,ofclr278,brody1,7506751,nantucke,hedj2n4q,drew1,aessedai,trekbike,pussykat,samatron,imani,9124852,wiley1,dukenukem,iampurehaha2,9556035,obvious1,mccool24,apache64,kravchenko,justforf,basura,jamese,s0ccer,safado,darksta,surfer69,damian1,gjpbnbd,gunny1,wolley,sananton,zxcvbn123456,odt4p6sv8,sergei1,modem1,mansikka,zzzz1,rifraf,dima777,mary69,looking4,donttell,red100,ninjutsu,uaeuaeman,bigbri,brasco,queenas8151,demetri,angel007,bubbl,kolort,conny,antonia1,avtoritet,kaka22,kailayu,sassy2,wrongway,chevy3,1nascar,patriots1,chrisrey,mike99,sexy22,chkdsk,sd3utre7,padawan,a6pihd,doming,mesohorny,tamada,donatello,emma22,eather,susan69,pinky123,stud69,fatbitch,pilsbury,thc420,lovepuss,1creativ,golf1234,hurryup,1honda,huskerdu,marino1,gowron,girl1,fucktoy,gtnhjpfdjlcr,dkjfghdk,pinkfl,loreli,7777777s,donkeykong,rockytop,staples1,sone4ka,xxxjay,flywheel,toppdogg,bigbubba,aaa123456,2letmein,shavkat,paule,dlanor,adamas,0147852,aassaa,dixon1,bmw328,mother12,ilikepussy,holly2,tsmith,excaliber,fhutynbyf,nicole3,tulipan,emanue,flyvholm,currahee,godsgift,antonioj,torito,dinky1,sanna,yfcnzvjz,june14,anime123,123321456654,hanswurst,bandman,hello101,xxxyyy,chevy69,technica,tagada,arnol,v00d00,lilone,filles,drumandbass,dinamit,a1234a,eatmeat,elway07,inout,james6,dawid1,thewolf,diapason,yodaddy,qscwdv,fuckit1,liljoe,sloeber,simbacat,sascha1,qwe1234,1badger,prisca,angel17,gravedig,jakeyboy,longboard,truskawka,golfer11,pyramid7,highspee,pistola,theriver,hammer69,1packers,dannyd,alfonse,qwertgfdsa,11119999,basket1,ghjtrn,saralee,12inches,paolo1,zse4xdr5,taproot,sophieh6,grizzlie,hockey69,danang,biggums,hotbitch,5alive,beloved1,bluewave,dimon95,koketka,multiscan,littleb,leghorn,poker2,delite,skyfir,bigjake,persona1,amberdog,hannah12,derren,ziffle,1sarah,1assword,sparky01,seymur,tomtom1,123321qw,goskins,soccer19,luvbekki,bumhole,2balls,1muffin,borodin,monkey9,yfeiybrb,1alex,betmen,freder,nigger123,azizbek,gjkzrjdf,lilmike,1bigdadd,1rock,taganrog,snappy1,andrey1,kolonka,bunyan,gomango,vivia,clarkkent,satur,gaudeamus,mantaray,1month,whitehea,fargus,andrew99,ray123,redhawks,liza2009,qw12345,den12345,vfhnsyjdf,147258369a,mazepa,newyorke,1arsenal,hondas2000,demona,fordgt,steve12,birthday2,12457896,dickster,edcwsxqaz,sahalin,pantyman,skinny1,hubertus,cumshot1,chiro,kappaman,mark3434,canada12,lichking,bonkers1,ivan1985,sybase,valmet,doors1,deedlit,kyjelly,bdfysx,ford11,throatfuck,backwood,fylhsq,lalit,boss429,kotova,bricky,steveh,joshua19,kissa,imladris,star1234,lubimka,partyman,crazyd,tobias1,ilike69,imhome,whome,fourstar,scanner1,ujhjl312,anatoli,85bears,jimbo69,5678ytr,potapova,nokia7070,sunday1,kalleank,1996gta,refinnej,july1,molodec,nothanks,enigm,12play,sugardog,nhfkbdfkb,larousse,cannon1,144444,qazxcdew,stimorol,jhereg,spawn7,143000,fearme,hambur,merlin21,dobie,is3yeusc,partner1,dekal,varsha,478jfszk,flavi,hippo1,9hmlpyjd,july21,7imjfstw,lexxus,truelov,nokia5200,carlos6,anais,mudbone,anahit,taylorc,tashas,larkspur,animal2000,nibiru,jan123,miyvarxar,deflep,dolore,communit,ifoptfcor,laura2,anadrol,mamaliga,mitzi1,blue92,april15,matveev,kajlas,wowlook1,1flowers,shadow14,alucard1,1golf,bantha,scotlan,singapur,mark13,manchester1,telus01,superdav,jackoff1,madnes,bullnuts,world123,clitty,palmer1,david10,spider10,sargsyan,rattlers,david4,windows2,sony12,visigoth,qqqaaa,penfloor,cabledog,camilla1,natasha123,eagleman,softcore,bobrov,dietmar,divad,sss123,d1234567,tlbyjhju,1q1q1q1,paraiso,dav123,lfiekmrf,drachen,lzhan16889,tplate,gfghbrf,casio1,123boots1,123test,sys64738,heavymetal,andiamo,meduza,soarer,coco12,negrita,amigas,heavymet,bespin,1asdfghj,wharfrat,wetsex,tight1,janus1,sword123,ladeda,dragon98,austin2,atep1,jungle1,12345abcd,lexus300,pheonix1,alex1974,123qw123,137955,bigtim,shadow88,igor1994,goodjob,arzen,champ123,121ebay,changeme1,brooksie,frogman1,buldozer,morrowin,achim,trish1,lasse,festiva,bubbaman,scottb,kramit,august22,tyson123,passsword,oompah,al123456,fucking1,green45,noodle1,looking1,ashlynn,al1716,stang50,coco11,greese,bob111,brennan1,jasonj,1cherry,1q2345,1xxxxxxx,fifa2011,brondby,zachar1,satyam,easy1,magic7,1rainbow,cheezit,1eeeeeee,ashley123,assass1,amanda123,jerbear,1bbbbbb,azerty12,15975391,654321z,twinturb,onlyone1,denis1988,6846kg3r,jumbos,pennydog,dandelion,haileris,epervier,snoopy69,afrodite,oldpussy,green55,poopypan,verymuch,katyusha,recon7,mine69,tangos,contro,blowme2,jade1,skydive1,fiveiron,dimo4ka,bokser,stargirl,fordfocus,tigers2,platina,baseball11,raque,pimper,jawbreak,buster88,walter34,chucko,penchair,horizon1,thecure1,scc1975,adrianna1,kareta,duke12,krille,dumbfuck,cunt1,aldebaran,laverda,harumi,knopfler,pongo1,pfhbyf,dogman1,rossigno,1hardon,scarlets,nuggets1,ibelieve,akinfeev,xfhkbr,athene,falcon69,happie,billly,nitsua,fiocco,qwerty09,gizmo2,slava2,125690,doggy123,craigs,vader123,silkeborg,124365,peterm,123978,krakatoa,123699,123592,kgvebmqy,pensacol,d1d2d3,snowstor,goldenboy,gfg65h7,ev700,church1,orange11,g0dz1ll4,chester3,acheron,cynthi,hotshot1,jesuschris,motdepass,zymurgy,one2one,fietsbel,harryp,wisper,pookster,nn527hp,dolla,milkmaid,rustyboy,terrell1,epsilon1,lillian1,dale3,crhbgrf,maxsim,selecta,mamada,fatman1,ufkjxrf,shinchan,fuckuall,women1,000008,bossss,greta1,rbhjxrf,mamasboy,purple69,felicidade,sexy21,cathay,hunglow,splatt,kahless,shopping1,1gandalf,themis,delta7,moon69,blue24,parliame,mamma1,miyuki,2500hd,jackmeof,razer,rocker1,juvis123,noremac,boing747,9z5ve9rrcz,icewater,titania,alley1,moparman,christo1,oliver2,vinicius,tigerfan,chevyy,joshua99,doda99,matrixx,ekbnrf,jackfrost,viper01,kasia,cnfhsq,triton1,ssbt8ae2,rugby8,ramman,1lucky,barabash,ghtlfntkm,junaid,apeshit,enfant,kenpo1,shit12,007000,marge1,shadow10,qwerty789,richard8,vbitkm,lostboys,jesus4me,richard4,hifive,kolawole,damilola,prisma,paranoya,prince2,lisaann,happyness,cardss,methodma,supercop,a8kd47v5,gamgee,polly123,irene1,number8,hoyasaxa,1digital,matthew0,dclxvi,lisica,roy123,2468013579,sparda,queball,vaffanculo,pass1wor,repmvbx,999666333,freedom8,botanik,777555333,marcos1,lubimaya,flash2,einstei,08080,123456789j,159951159,159357123,carrot1,alina1995,sanjos,dilara,mustang67,wisteria,jhnjgtl12,98766789,darksun,arxangel,87062134,creativ1,malyshka,fuckthemall,barsic,rocksta,2big4u,5nizza,genesis2,romance1,ofcourse,1horse,latenite,cubana,sactown,789456123a,milliona,61808861,57699434,imperia,bubba11,yellow3,change12,55495746,flappy,jimbo123,19372846,19380018,cutlass1,craig123,klepto,beagle1,solus,51502112,pasha1,19822891,46466452,19855891,petshop,nikolaevna,119966,nokia6131,evenpar,hoosier1,contrasena,jawa350,gonzo123,mouse2,115511,eetfuk,gfhfvgfvgfv,1crystal,sofaking,coyote1,kwiatuszek,fhrflbq,valeria1,anthro,0123654789,alltheway,zoltar,maasikas,wildchil,fredonia,earlgrey,gtnhjczy,matrix123,solid1,slavko,12monkeys,fjdksl,inter1,nokia6500,59382113kevinp,spuddy,cachero,coorslit,password!,kiba1z,karizma,vova1994,chicony,english1,bondra12,1rocket,hunden,jimbob1,zpflhjn1,th0mas,deuce22,meatwad,fatfree,congas,sambora,cooper2,janne,clancy1,stonie,busta,kamaz,speedy2,jasmine3,fahayek,arsenal0,beerss,trixie1,boobs69,luansantana,toadman,control2,ewing33,maxcat,mama1964,diamond4,tabaco,joshua0,piper2,music101,guybrush,reynald,pincher,katiebug,starrs,pimphard,frontosa,alex97,cootie,clockwor,belluno,skyeseth,booty69,chaparra,boochie,green4,bobcat1,havok,saraann,pipeman,aekdb,jumpshot,wintermu,chaika,1chester,rjnjatq,emokid,reset1,regal1,j0shua,134679a,asmodey,sarahh,zapidoo,ciccione,sosexy,beckham23,hornets1,alex1971,delerium,manageme,connor11,1rabbit,sane4ek,caseyboy,cbljhjdf,redsox20,tttttt99,haustool,ander,pantera6,passwd1,journey1,9988776655,blue135,writerspace,xiaoyua123,justice2,niagra,cassis,scorpius,bpgjldsgjldthnf,gamemaster,bloody1,retrac,stabbin,toybox,fight1,ytpyf.,glasha,va2001,taylor11,shameles,ladylove,10078,karmann,rodeos,eintritt,lanesra,tobasco,jnrhjqcz,navyman,pablit,leshka,jessica3,123vika,alena1,platinu,ilford,storm7,undernet,sasha777,1legend,anna2002,kanmax1994,porkpie,thunder0,gundog,pallina,easypass,duck1,supermom,roach1,twincam,14028,tiziano,qwerty32,123654789a,evropa,shampoo1,yfxfkmybr,cubby1,tsunami1,fktrcttdf,yasacrac,17098,happyhap,bullrun,rodder,oaktown,holde,isbest,taylor9,reeper,hammer11,julias,rolltide1,compaq123,fourx4,subzero1,hockey9,7mary3,busines,ybrbnjcbr,wagoneer,danniash,portishead,digitex,alex1981,david11,infidel,1snoopy,free30,jaden,tonto1,redcar27,footie,moskwa,thomas21,hammer12,burzum,cosmo123,50000,burltree,54343,54354,vwpassat,jack5225,cougars1,burlpony,blackhorse,alegna,petert,katemoss,ram123,nels0n,ferrina,angel77,cstock,1christi,dave55,abc123a,alex1975,av626ss,flipoff,folgore,max1998,science1,si711ne,yams7,wifey1,sveiks,cabin1,volodia,ox3ford,cartagen,platini,picture1,sparkle1,tiedomi,service321,wooody,christi1,gnasher,brunob,hammie,iraffert,bot2010,dtcyeirf,1234567890p,cooper11,alcoholi,savchenko,adam01,chelsea5,niewiem,icebear,lllooottt,ilovedick,sweetpus,money8,cookie13,rfnthbyf1988,booboo2,angus123,blockbus,david9,chica1,nazaret,samsung9,smile4u,daystar,skinnass,john10,thegirl,sexybeas,wasdwasd1,sigge1,1qa2ws3ed4rf5tg,czarny,ripley1,chris5,ashley19,anitha,pokerman,prevert,trfnthby,tony69,georgia2,stoppedb,qwertyuiop12345,miniclip,franky1,durdom,cabbages,1234567890o,delta5,liudmila,nhfycajhvths,court1,josiew,abcd1,doghead,diman,masiania,songline,boogle,triston,deepika,sexy4me,grapple,spacebal,ebonee,winter0,smokewee,nargiza,dragonla,sassys,andy2000,menards,yoshio,massive1,suckmy1k,passat99,sexybo,nastya1996,isdead,stratcat,hokuto,infix,pidoras,daffyduck,cumhard,baldeagl,kerberos,yardman,shibainu,guitare,cqub6553,tommyy,bk.irf,bigfoo,hecto,july27,james4,biggus,esbjerg,isgod,1irish,phenmarr,jamaic,roma1990,diamond0,yjdbrjd,girls4me,tampa1,kabuto,vaduz,hanse,spieng,dianochka,csm101,lorna1,ogoshi,plhy6hql,2wsx4rfv,cameron0,adebayo,oleg1996,sharipov,bouboule,hollister1,frogss,yeababy,kablam,adelante,memem,howies,thering,cecilia1,onetwo12,ojp123456,jordan9,msorcloledbr,neveraga,evh5150,redwin,1august,canno,1mercede,moody1,mudbug,chessmas,tiikeri,stickdaddy77,alex15,kvartira,7654321a,lollol123,qwaszxedc,algore,solana,vfhbyfvfhbyf,blue72,misha1111,smoke20,junior13,mogli,threee,shannon2,fuckmylife,kevinh,saransk,karenw,isolde,sekirarr,orion123,thomas0,debra1,laketaho,alondra,curiva,jazz1234,1tigers,jambos,lickme2,suomi,gandalf7,028526,zygote,brett123,br1ttany,supafly,159000,kingrat,luton1,cool-ca,bocman,thomasd,skiller,katter,mama777,chanc,tomass,1rachel,oldno7,rfpfyjdf,bigkev,yelrah,primas,osito,kipper1,msvcr71,bigboy11,thesun,noskcaj,chicc,sonja1,lozinka,mobile1,1vader,ummagumma,waves1,punter12,tubgtn,server1,irina1991,magic69,dak001,pandemonium,dead1,berlingo,cherrypi,1montana,lohotron,chicklet,asdfgh123456,stepside,ikmvw103,icebaby,trillium,1sucks,ukrnet,glock9,ab12345,thepower,robert8,thugstools,hockey13,buffon,livefree,sexpics,dessar,ja0000,rosenrot,james10,1fish,svoloch,mykitty,muffin11,evbukb,shwing,artem1992,andrey1992,sheldon1,passpage,nikita99,fubar123,vannasx,eight888,marial,max2010,express2,violentj,2ykn5ccf,spartan11,brenda69,jackiech,abagail,robin2,grass1,andy76,bell1,taison,superme,vika1995,xtr451,fred20,89032073168,denis1984,2000jeep,weetabix,199020,daxter,tevion,panther8,h9iymxmc,bigrig,kalambur,tsalagi,12213443,racecar02,jeffrey4,nataxa,bigsam,purgator,acuracl,troutbum,potsmoke,jimmyz,manutd1,nytimes,pureevil,bearss,cool22,dragonage,nodnarb,dbrbyu,4seasons,freude,elric1,werule,hockey14,12758698,corkie,yeahright,blademan,tafkap,clave,liziko,hofner,jeffhardy,nurich,runne,stanisla,lucy1,monk3y,forzaroma,eric99,bonaire,blackwoo,fengshui,1qaz0okm,newmoney,pimpin69,07078,anonymer,laptop1,cherry12,ace111,salsa1,wilbur1,doom12,diablo23,jgtxzbhr,under1,honda01,breadfan,megan2,juancarlos,stratus1,ackbar,love5683,happytim,lambert1,cbljhtyrj,komarov,spam69,nfhtkrf,brownn,sarmat,ifiksr,spike69,hoangen,angelz,economia,tanzen,avogadro,1vampire,spanners,mazdarx,queequeg,oriana,hershil,sulaco,joseph11,8seconds,aquariu,cumberla,heather9,anthony8,burton12,crystal0,maria3,qazwsxc,snow123,notgood,198520,raindog,heehaw,consulta,dasein,miller01,cthulhu1,dukenuke,iubire,baytown,hatebree,198505,sistem,lena12,welcome01,maraca,middleto,sindhu,mitsou,phoenix5,vovan,donaldo,dylandog,domovoy,lauren12,byrjuybnj,123llll,stillers,sanchin,tulpan,smallvill,1mmmmm,patti1,folgers,mike31,colts18,123456rrr,njkmrjz,phoenix0,biene,ironcity,kasperok,password22,fitnes,matthew6,spotligh,bujhm123,tommycat,hazel5,guitar11,145678,vfcmrf,compass1,willee,1barney,jack2000,littleminge,shemp,derrek,xxx12345,littlefuck,spuds1,karolinka,camneely,qwertyu123,142500,brandon00,munson15,falcon3,passssap,z3cn2erv,goahead,baggio10,141592,denali1,37kazoo,copernic,123456789asd,orange88,bravada,rush211,197700,pablo123,uptheass,samsam1,demoman,mattylad10,heydude,mister2,werken,13467985,marantz,a22222,f1f2f3f4,fm12mn12,gerasimova,burrito1,sony1,glenny,baldeagle,rmfidd,fenomen,verbati,forgetme,5element,wer138,chanel1,ooicu812,10293847qp,minicooper,chispa,myturn,deisel,vthrehbq,boredboi4u,filatova,anabe,poiuyt1,barmalei,yyyy1,fourkids,naumenko,bangbros,pornclub,okaykk,euclid90,warrior3,kornet,palevo,patatina,gocart,antanta,jed1054,clock1,111111w,dewars,mankind1,peugeot406,liten,tahira,howlin,naumov,rmracing,corone,cunthole,passit,rock69,jaguarxj,bumsen,197101,sweet2,197010,whitecat,sawadee,money100,yfhrjnbrb,andyboy,9085603566,trace1,fagget,robot1,angel20,6yhn7ujm,specialinsta,kareena,newblood,chingada,boobies2,bugger1,squad51,133andre,call06,ashes1,ilovelucy,success2,kotton,cavalla,philou,deebee,theband,nine09,artefact,196100,kkkkkkk1,nikolay9,onelov,basia,emilyann,sadman,fkrjujkbr,teamomuch,david777,padrino,money21,firdaus,orion3,chevy01,albatro,erdfcv,2legit,sarah7,torock,kevinn,holio,soloy,enron714,starfleet,qwer11,neverman,doctorwh,lucy11,dino12,trinity7,seatleon,o123456,pimpman,1asdfgh,snakebit,chancho,prorok,bleacher,ramire,darkseed,warhorse,michael123,1spanky,1hotdog,34erdfcv,n0th1ng,dimanche,repmvbyf,michaeljackson,login1,icequeen,toshiro,sperme,racer2,veget,birthday26,daniel9,lbvekmrf,charlus,bryan123,wspanic,schreibe,1andonly,dgoins,kewell,apollo12,egypt1,fernie,tiger21,aa123456789,blowj,spandau,bisquit,12345678d,deadmau5,fredie,311420,happyface,samant,gruppa,filmstar,andrew17,bakesale,sexy01,justlook,cbarkley,paul11,bloodred,rideme,birdbath,nfkbcvfy,jaxson,sirius1,kristof,virgos,nimrod1,hardc0re,killerbee,1abcdef,pitcher1,justonce,vlada,dakota99,vespucci,wpass,outside1,puertori,rfvbkf,teamlosi,vgfun2,porol777,empire11,20091989q,jasong,webuivalidat,escrima,lakers08,trigger2,addpass,342500,mongini,dfhtybr,horndogg,palermo1,136900,babyblu,alla98,dasha2010,jkelly,kernow,yfnecz,rockhopper,toeman,tlaloc,silver77,dave01,kevinr,1234567887654321,135642,me2you,8096468644q,remmus,spider7,jamesa,jilly,samba1,drongo,770129ji,supercat,juntas,tema1234,esthe,1234567892000,drew11,qazqaz123,beegees,blome,rattrace,howhigh,tallboy,rufus2,sunny2,sou812,miller12,indiana7,irnbru,patch123,letmeon,welcome5,nabisco,9hotpoin,hpvteb,lovinit,stormin,assmonke,trill,atlanti,money1234,cubsfan,mello1,stars2,ueptkm,agate,dannym88,lover123,wordz,worldnet,julemand,chaser1,s12345678,pissword,cinemax,woodchuc,point1,hotchkis,packers2,bananana,kalender,420666,penguin8,awo8rx3wa8t,hoppie,metlife,ilovemyfamily,weihnachtsbau,pudding1,luckystr,scully1,fatboy1,amizade,dedham,jahbless,blaat,surrende,****er,1panties,bigasses,ghjuhfvbcn,asshole123,dfktyrb,likeme,nickers,plastik,hektor,deeman,muchacha,cerebro,santana5,testdrive,dracula1,canalc,l1750sq,savannah1,murena,1inside,pokemon00,1iiiiiii,jordan20,sexual1,mailliw,calipso,014702580369,1zzzzzz,1jjjjjj,break1,15253545,yomama1,katinka,kevin11,1ffffff,martijn,sslazio,daniel5,porno2,nosmas,leolion,jscript,15975312,pundai,kelli1,kkkddd,obafgkm,marmaris,lilmama,london123,rfhfnt,elgordo,talk87,daniel7,thesims3,444111,bishkek,afrika2002,toby22,1speedy,daishi,2children,afroman,qqqqwwww,oldskool,hawai,v55555,syndicat,pukimak,fanatik,tiger5,parker01,bri5kev6,timexx,wartburg,love55,ecosse,yelena03,madinina,highway1,uhfdbwfgf,karuna,buhjvfybz,wallie,46and2,khalif,europ,qaz123wsx456,bobbybob,wolfone,falloutboy,manning18,scuba10,schnuff,ihateyou1,lindam,sara123,popcor,fallengun,divine1,montblanc,qwerty8,rooney10,roadrage,bertie1,latinus,lexusis,rhfvfnjhcr,opelgt,hitme,agatka,1yamaha,dmfxhkju,imaloser,michell1,sb211st,silver22,lockedup,andrew9,monica01,sassycat,dsobwick,tinroof,ctrhtnyj,bultaco,rhfcyjzhcr,aaaassss,14ss88,joanne1,momanddad,ahjkjdf,yelhsa,zipdrive,telescop,500600,1sexsex,facial1,motaro,511647,stoner1,temujin,elephant1,greatman,honey69,kociak,ukqmwhj6,altezza,cumquat,zippos,kontiki,123max,altec1,bibigon,tontos,qazsew,nopasaran,militar,supratt,oglala,kobayash,agathe,yawetag,dogs1,cfiekmrf,megan123,jamesdea,porosenok,tiger23,berger1,hello11,seemann,stunner1,walker2,imissu,jabari,minfd,lollol12,hjvfy,1-oct,stjohns,2278124q,123456789qwer,alex1983,glowworm,chicho,mallards,bluedevil,explorer1,543211,casita,1time,lachesis,alex1982,airborn1,dubesor,changa,lizzie1,captaink,socool,bidule,march23,1861brr,k.ljxrf,watchout,fotze,1brian,keksa2,aaaa1122,matrim,providian,privado,dreame,merry1,aregdone,davidt,nounour,twenty2,play2win,artcast2,zontik,552255,shit1,sluggy,552861,dr8350,brooze,alpha69,thunder6,kamelia2011,caleb123,mmxxmm,jamesh,lfybkjd,125267,125000,124536,bliss1,dddsss,indonesi,bob69,123888,tgkbxfgy,gerar,themack,hijodeputa,good4now,ddd123,clk430,kalash,tolkien1,132forever,blackb,whatis,s1s2s3s4,lolkin09,yamahar,48n25rcc,djtiesto,111222333444555,bigbull,blade55,coolbree,kelse,ichwill,yamaha12,sakic,bebeto,katoom,donke,sahar,wahine,645202,god666,berni,starwood,june15,sonoio,time123,llbean,deadsoul,lazarev,cdtnf,ksyusha,madarchod,technik,jamesy,4speed,tenorsax,legshow,yoshi1,chrisbl,44e3ebda,trafalga,heather7,serafima,favorite4,havefun1,wolve,55555r,james13,nosredna,bodean,jlettier,borracho,mickael,marinus,brutu,sweet666,kiborg,rollrock,jackson6,macross1,ousooner,9085084232,takeme,123qwaszx,firedept,vfrfhjd,jackfros,123456789000,briane,cookie11,baby22,bobby18,gromova,systemofadown,martin01,silver01,pimaou,darthmaul,hijinx,commo,chech,skyman,sunse,2vrd6,vladimirovna,uthvfybz,nicole01,kreker,bobo1,v123456789,erxtgb,meetoo,drakcap,vfvf12,misiek1,butane,network2,flyers99,riogrand,jennyk,e12345,spinne,avalon11,lovejone,studen,maint,porsche2,qwerty100,chamberl,bluedog1,sungam,just4u,andrew23,summer22,ludic,musiclover,aguil,beardog1,libertin,pippo1,joselit,patito,bigberth,digler,sydnee,jockstra,poopo,jas4an,nastya123,profil,fuesse,default1,titan2,mendoz,kpcofgs,anamika,brillo021,bomberman,guitar69,latching,69pussy,blues2,phelge,ninja123,m7n56xo,qwertasd,alex1976,cunningh,estrela,gladbach,marillion,mike2000,258046,bypop,muffinman,kd5396b,zeratul,djkxbwf,john77,sigma2,1linda,selur,reppep,quartz1,teen1,freeclus,spook1,kudos4ever,clitring,sexiness,blumpkin,macbook,tileman,centra,escaflowne,pentable,shant,grappa,zverev,1albert,lommerse,coffee11,777123,polkilo,muppet1,alex74,lkjhgfdsazx,olesica,april14,ba25547,souths,jasmi,arashi,smile2,2401pedro,mybabe,alex111,quintain,pimp1,tdeir8b2,makenna,122333444455555,%e2%82%ac,tootsie1,pass111,zaqxsw123,gkfdfybt,cnfnbcnbrf,usermane,iloveyou12,hard69,osasuna,firegod,arvind,babochka,kiss123,cookie123,julie123,kamakazi,dylan2,223355,tanguy,nbhtqa,tigger13,tubby1,makavel,asdflkj,sambo1,mononoke,mickeys,gayguy,win123,green33,wcrfxtvgbjy,bigsmall,1newlife,clove,babyfac,bigwaves,mama1970,shockwav,1friday,bassey,yarddog,codered1,victory7,bigrick,kracker,gulfstre,chris200,sunbanna,bertuzzi,begemotik,kuolema,pondus,destinee,123456789zz,abiodun,flopsy,amadeusptfcor,geronim,yggdrasi,contex,daniel6,suck1,adonis1,moorea,el345612,f22raptor,moviebuf,raunchy,6043dkf,zxcvbnm123456789,eric11,deadmoin,ratiug,nosliw,fannies,danno,888889,blank1,mikey2,gullit,thor99,mamiya,ollieb,thoth,dagger1,websolutionssu,bonker,prive,1346798520,03038,q1234q,mommy2,contax,zhipo,gwendoli,gothic1,1234562000,lovedick,gibso,digital2,space199,b26354,987654123,golive,serious1,pivkoo,better1,824358553,794613258,nata1980,logout,fishpond,buttss,squidly,good4me,redsox19,jhonny,zse45rdx,matrixxx,honey12,ramina,213546879,motzart,fall99,newspape,killit,gimpy,photowiz,olesja,thebus,marco123,147852963,bedbug,147369258,hellbound,gjgjxrf,123987456,lovehurt,five55,hammer01,1234554321a,alina2011,peppino,ang238,questor,112358132,alina1994,alina1998,money77,bobjones,aigerim,cressida,madalena,420smoke,tinchair,raven13,mooser,mauric,lovebu,adidas69,krypton1,1111112,loveline,divin,voshod,michaelm,cocotte,gbkbuhbv,76689295,kellyj,rhonda1,sweetu70,steamforums,geeque,nothere,124c41,quixotic,steam181,1169900,rfcgthcrbq,rfvbkm,sexstuff,1231230,djctvm,rockstar1,fulhamfc,bhecbr,rfntyf,quiksilv,56836803,jedimaster,pangit,gfhjkm777,tocool,1237654,stella12,55378008,19216811,potte,fender12,mortalkombat,ball1,nudegirl,palace22,rattrap,debeers,lickpussy,jimmy6,not4u2c,wert12,bigjuggs,sadomaso,1357924,312mas,laser123,arminia,branford,coastie,mrmojo,19801982,scott11,banaan123,ingres,300zxtt,hooters6,sweeties,19821983,19831985,19833891,sinnfein,welcome4,winner69,killerman,tachyon,tigre1,nymets1,kangol,martinet,sooty1,19921993,789qwe,harsingh,1597535,thecount,phantom3,36985214,lukas123,117711,pakistan1,madmax11,willow01,19932916,fucker12,flhrci,opelagila,theword,ashley24,tigger3,crazyj,rapide,deadfish,allana,31359092,sasha1993,sanders2,discman,zaq!2wsx,boilerma,mickey69,jamesg,babybo,jackson9,orion7,alina2010,indien,breeze1,atease,warspite,bazongaz,1celtic,asguard,mygal,fitzgera,1secret,duke33,cyklone,dipascuc,potapov,1escobar2,c0l0rad0,kki177hk,1little,macondo,victoriya,peter7,red666,winston6,kl?benhavn,muneca,jackme,jennan,happylife,am4h39d8nh,bodybuil,201980,dutchie,biggame,lapo4ka,rauchen,black10,flaquit,water12,31021364,command2,lainth88,mazdamx5,typhon,colin123,rcfhlfc,qwaszx11,g0away,ramir,diesirae,hacked1,cessna1,woodfish,enigma2,pqnr67w5,odgez8j3,grisou,hiheels,5gtgiaxm,2580258,ohotnik,transits,quackers,serjik,makenzie,mdmgatew,bryana,superman12,melly,lokit,thegod,slickone,fun4all,netpass,penhorse,1cooper,nsync,asdasd22,otherside,honeydog,herbie1,chiphi,proghouse,l0nd0n,shagg,select1,frost1996,casper123,countr,magichat,greatzyo,jyothi,3bears,thefly,nikkita,fgjcnjk,nitros,hornys,san123,lightspe,maslova,kimber1,newyork2,spammm,mikejone,pumpk1n,bruiser1,bacons,prelude9,boodie,dragon4,kenneth2,love98,power5,yodude,pumba,thinline,blue30,sexxybj,2dumb2live,matt21,forsale,1carolin,innova,ilikeporn,rbgtkjd,a1s2d3f,wu9942,ruffus,blackboo,qwerty999,draco1,marcelin,hideki,gendalf,trevon,saraha,cartmen,yjhbkmcr,time2go,fanclub,ladder1,chinni,6942987,united99,lindac,quadra,paolit,mainstre,beano002,lincoln7,bellend,anomie,8520456,bangalor,goodstuff,chernov,stepashka,gulla,mike007,frasse,harley03,omnislash,8538622,maryjan,sasha2011,gineok,8807031,hornier,gopinath,princesit,bdr529,godown,bosslady,hakaone,1qwe2,madman1,joshua11,lovegame,bayamon,jedi01,stupid12,sport123,aaa666,tony44,collect1,charliem,chimaira,cx18ka,trrim777,chuckd,thedream,redsox99,goodmorning,delta88,iloveyou11,newlife2,figvam,chicago3,jasonk,12qwer,9875321,lestat1,satcom,conditio,capri50,sayaka,9933162,trunks1,chinga,snooch,alexand1,findus,poekie,cfdbyf,kevind,mike1969,fire13,leftie,bigtuna,chinnu,silence1,celos1,blackdra,alex24,gfgfif,2boobs,happy8,enolagay,sataniv1993,turner1,dylans,peugeo,sasha1994,hoppel,conno,moonshot,santa234,meister1,008800,hanako,tree123,qweras,gfitymrf,reggie31,august29,supert,joshua10,akademia,gbljhfc,zorro123,nathalia,redsox12,hfpdjl,mishmash,nokiae51,nyyankees,tu190022,strongbo,none1,not4u2no,katie2,popart,harlequi,santan,michal1,1therock,screwu,csyekmrf,olemiss1,tyrese,hoople,sunshin1,cucina,starbase,topshelf,fostex,california1,castle1,symantec,pippolo,babare,turntabl,1angela,moo123,ipvteb,gogolf,alex88,cycle1,maxie1,phase2,selhurst,furnitur,samfox,fromvermine,shaq34,gators96,captain2,delonge,tomatoe,bisous,zxcvbnma,glacius,pineapple1,cannelle,ganibal,mko09ijn,paraklast1974,hobbes12,petty43,artema,junior8,mylover,1234567890d,fatal1ty,prostreet,peruan,10020,nadya,caution1,marocas,chanel5,summer08,metal123,111lox,scrapy,thatguy,eddie666,washingto,yannis,minnesota_hp,lucky4,playboy6,naumova,azzurro,patat,dale33,pa55wd,speedster,zemanova,saraht,newto,tony22,qscesz,arkady,1oliver,death6,vkfwx046,antiflag,stangs,jzf7qf2e,brianp,fozzy,cody123,startrek1,yoda123,murciela,trabajo,lvbnhbtdf,canario,fliper,adroit,henry5,goducks,papirus,alskdj,soccer6,88mike,gogetter,tanelorn,donking,marky1,leedsu,badmofo,al1916,wetdog,akmaral,pallet,april24,killer00,nesterova,rugby123,coffee12,browseui,ralliart,paigow,calgary1,armyman,vtldtltd,frodo2,frxtgb,iambigal,benno,jaytee,2hot4you,askar,bigtee,brentwoo,palladin,eddie2,al1916w,horosho,entrada,ilovetits,venture1,dragon19,jayde,chuvak,jamesl,fzr600,brandon8,vjqvbh,snowbal,snatch1,bg6njokf,pudder,karolin,candoo,pfuflrf,satchel1,manteca,khongbiet,critter1,partridg,skyclad,bigdon,ginger69,brave1,anthony4,spinnake,chinadol,passout,cochino,nipples1,15058,lopesk,sixflags,lloo999,parkhead,breakdance,cia123,fidodido,yuitre12,fooey,artem1995,gayathri,medin,nondriversig,l12345,bravo7,happy13,kazuya,camster,alex1998,luckyy,zipcode,dizzle,boating1,opusone,newpassw,movies23,kamikazi,zapato,bart316,cowboys0,corsair1,kingshit,hotdog12,rolyat,h200svrm,qwerty4,boofer,rhtyltkm,chris999,vaz21074,simferopol,pitboss,love3,britania,tanyshka,brause,123qwerty123,abeille,moscow1,ilkaev,manut,process1,inetcfg,dragon05,fortknox,castill,rynner,mrmike,koalas,jeebus,stockpor,longman,juanpabl,caiman,roleplay,jeremi,26058,prodojo,002200,magical1,black5,bvlgari,doogie1,cbhtqa,mahina,a1s2d3f4g5h6,jblpro,usmc01,bismilah,guitar01,april9,santana1,1234aa,monkey14,sorokin,evan1,doohan,animalsex,pfqxtyjr,dimitry,catchme,chello,silverch,glock45,dogleg,litespee,nirvana9,peyton18,alydar,warhamer,iluvme,sig229,minotavr,lobzik,jack23,bushwack,onlin,football123,joshua5,federov,winter2,bigmax,fufnfrhbcnb,hfpldfnhb,1dakota,f56307,chipmonk,4nick8,praline,vbhjh123,king11,22tango,gemini12,street1,77879,doodlebu,homyak,165432,chuluthu,trixi,karlito,salom,reisen,cdtnkzxjr,pookie11,tremendo,shazaam,welcome0,00000ty,peewee51,pizzle,gilead,bydand,sarvar,upskirt,legends1,freeway1,teenfuck,ranger9,darkfire,dfymrf,hunt0802,justme1,buffy1ma,1harry,671fsa75yt,burrfoot,budster,pa437tu,jimmyp,alina2006,malacon,charlize,elway1,free12,summer02,gadina,manara,gomer1,1cassie,sanja,kisulya,money3,pujols,ford50,midiland,turga,orange6,demetriu,freakboy,orosie1,radio123,open12,vfufpby,mustek,chris33,animes,meiling,nthtvjr,jasmine9,gfdkjd,oligarh,marimar,chicago9,.kzirf,bugssgub,samuraix,jackie01,pimpjuic,macdad,cagiva,vernost,willyboy,fynjyjdf,tabby1,privet123,torres9,retype,blueroom,raven11,q12we3,alex1989,bringiton,ridered,kareltje,ow8jtcs8t,ciccia,goniners,countryb,24688642,covingto,24861793,beyblade,vikin,badboyz,wlafiga,walstib,mirand,needajob,chloes,balaton,kbpfdtnf,freyja,bond9007,gabriel12,stormbri,hollage,love4eve,fenomeno,darknite,dragstar,kyle123,milfhunter,ma123123123,samia,ghislain,enrique1,ferien12,xjy6721,natalie2,reglisse,wilson2,wesker,rosebud7,amazon1,robertr,roykeane,xtcnth,mamatata,crazyc,mikie,savanah,blowjob69,jackie2,forty1,1coffee,fhbyjxrf,bubbah,goteam,hackedit,risky1,logoff,h397pnvr,buck13,robert23,bronc,st123st,godflesh,pornog,iamking,cisco69,septiembr,dale38,zhongguo,tibbar,panther9,buffa1,bigjohn1,mypuppy,vehvfycr,april16,shippo,fire1234,green15,q123123,gungadin,steveg,olivier1,chinaski,magnoli,faithy,storm12,toadfrog,paul99,78791,august20,automati,squirtle,cheezy,positano,burbon,nunya,llebpmac,kimmi,turtle2,alan123,prokuror,violin1,durex,pussygal,visionar,trick1,chicken6,29024,plowboy,rfybreks,imbue,sasha13,wagner1,vitalogy,cfymrf,thepro,26028,gorbunov,dvdcom,letmein5,duder,fastfun,pronin,libra1,conner1,harley20,stinker1,20068,20038,amitech,syoung,dugway,18068,welcome7,jimmypag,anastaci,kafka1,pfhfnecnhf,catsss,campus100,shamal,nacho1,fire12,vikings2,brasil1,rangerover,mohamma,peresvet,14058,cocomo,aliona,14038,qwaser,vikes,cbkmdf,skyblue1,ou81234,goodlove,dfkmltvfh,108888,roamer,pinky2,static1,zxcv4321,barmen,rock22,shelby2,morgans,1junior,pasword1,logjam,fifty5,nhfrnjhbcn,chaddy,philli,nemesis2,ingenier,djkrjd,ranger3,aikman8,knothead,daddy69,love007,vsythb,ford350,tiger00,renrut,owen11,energy12,march14,alena123,robert19,carisma,orange22,murphy11,podarok,prozak,kfgeirf,wolf13,lydia1,shazza,parasha,akimov,tobbie,pilote,heather4,baster,leones,gznfxjr,megama,987654321g,bullgod,boxster1,minkey,wombats,vergil,colegiata,lincol,smoothe,pride1,carwash1,latrell,bowling3,fylhtq123,pickwick,eider,bubblebox,bunnies1,loquit,slipper1,nutsac,purina,xtutdfhf,plokiju,1qazxs,uhjpysq,zxcvbasdfg,enjoy1,1pumpkin,phantom7,mama22,swordsma,wonderbr,dogdays,milker,u23456,silvan,dfkthbr,slagelse,yeahman,twothree,boston11,wolf100,dannyg,troll1,fynjy123,ghbcnfd,bftest,ballsdeep,bobbyorr,alphasig,cccdemo,fire123,norwest,claire2,august10,lth1108,problemas,sapito,alex06,1rusty,maccom,goirish1,ohyes,bxdumb,nabila,boobear1,rabbit69,princip,alexsander,travail,chantal1,dogggy,greenpea,diablo69,alex2009,bergen09,petticoa,classe,ceilidh,vlad2011,kamakiri,lucidity,qaz321,chileno,cexfhf,99ranger,mcitra,estoppel,volvos60,carter80,webpass,temp12,touareg,fcgbhby,bubba8,sunitha,200190ru,bitch2,shadow23,iluvit,nicole0,ruben1,nikki69,butttt,shocker1,souschef,lopotok01,kantot,corsano,cfnfyf,riverat,makalu,swapna,all4u9,cdtnkfy,ntktgepbr,ronaldo99,thomasj,bmw540i,chrisw,boomba,open321,z1x2c3v4b5n6m7,gaviota,iceman44,frosya,chris100,chris24,cosette,clearwat,micael,boogyman,pussy9,camus1,chumpy,heccrbq,konoplya,chester8,scooter5,ghjgfufylf,giotto,koolkat,zero000,bonita1,ckflrbq,j1964,mandog,18n28n24a,renob,head1,shergar,ringo123,tanita,sex4free,johnny12,halberd,reddevils,biolog,dillinge,fatb0y,c00per,hyperlit,wallace2,spears1,vitamine,buheirf,sloboda,alkash,mooman,marion1,arsenal7,sunder,nokia5610,edifier,pippone,fyfnjkmtdbx,fujimo,pepsi12,kulikova,bolat,duetto,daimon,maddog01,timoshka,ezmoney,desdemon,chesters,aiden,hugues,patrick5,aikman08,robert4,roenick,nyranger,writer1,36169544,foxmulder,118801,kutter,shashank,jamjar,118811,119955,aspirina,dinkus,1sailor,nalgene,19891959,snarf,allie1,cracky,resipsa,45678912,kemerovo,19841989,netware1,alhimik,19801984,nicole123,19761977,51501984,malaka1,montella,peachfuz,jethro1,cypress1,henkie,holdon,esmith,55443322,1friend,quique,bandicoot,statistika,great123,death13,ucht36,master4,67899876,bobsmith,nikko1,jr1234,hillary1,78978978,rsturbo,lzlzdfcz,bloodlust,shadow00,skagen,bambina,yummies,88887777,91328378,matthew4,itdoes,98256518,102938475,alina2002,123123789,fubared,dannys,123456321,nikifor,suck69,newmexico,scubaman,rhbcnb,fifnfy,puffdadd,159357852,dtheyxbr,theman22,212009164,prohor,shirle,nji90okm,newmedia,goose5,roma1995,letssee,iceman11,aksana,wirenut,pimpdady,1212312121,tamplier,pelican1,domodedovo,1928374655,fiction6,duckpond,ybrecz,thwack,onetwo34,gunsmith,murphydo,fallout1,spectre1,jabberwo,jgjesq,turbo6,bobo12,redryder,blackpus,elena1971,danilova,antoin,bobo1234,bobob,bobbobbo,dean1,222222a,jesusgod,matt23,musical1,darkmage,loppol,werrew,josepha,rebel12,toshka,gadfly,hawkwood,alina12,dnomyar,sexaddict,dangit,cool23,yocrack,archimed,farouk,nhfkzkz,lindalou,111zzzzz,ghjatccjh,wethepeople,m123456789,wowsers,kbkbxrf,bulldog5,m_roesel,sissinit,yamoon6,123ewqasd,dangel,miruvor79,kaytee,falcon7,bandit11,dotnet,dannii,arsenal9,miatamx5,1trouble,strip4me,dogpile,sexyred1,rjdfktdf,google10,shortman,crystal7,awesome123,cowdog,haruka,birthday28,jitter,diabolik,boomer12,dknight,bluewate,hockey123,crm0624,blueboys,willy123,jumpup,google2,cobra777,llabesab,vicelord,hopper1,gerryber,remmah,j10e5d4,qqqqqqw,agusti,fre_ak8yj,nahlik,redrobin,scott3,epson1,dumpy,bundao,aniolek,hola123,jergens,itsasecret,maxsam,bluelight,mountai1,bongwater,1london,pepper14,freeuse,dereks,qweqw,fordgt40,rfhfdfy,raider12,hunnybun,compac,splicer,megamon,tuffgong,gymnast1,butter11,modaddy,wapbbs_1,dandelio,soccer77,ghjnbdjcnjzybt,123xyi2,fishead,x002tp00,whodaman,555aaa,oussama,brunodog,technici,pmtgjnbl,qcxdw8ry,schweden,redsox3,throbber,collecto,japan10,dbm123dm,hellhoun,tech1,deadzone,kahlan,wolf123,dethklok,xzsawq,bigguy1,cybrthc,chandle,buck01,qq123123,secreta,williams1,c32649135,delta12,flash33,123joker,spacejam,polopo,holycrap,daman1,tummybed,financia,nusrat,euroline,magicone,jimkirk,ameritec,daniel26,sevenn,topazz,kingpins,dima1991,macdog,spencer5,oi812,geoffre,music11,baffle,123569,usagi,cassiope,polla,lilcrowe,thecakeisalie,vbhjndjhtw,vthokies,oldmans,sophie01,ghoster,penny2,129834,locutus1,meesha,magik,jerry69,daddysgirl,irondesk,andrey12,jasmine123,vepsrfyn,likesdick,1accord,jetboat,grafix,tomuch,showit,protozoa,mosias98,taburetka,blaze420,esenin,anal69,zhv84kv,puissant,charles0,aishwarya,babylon6,bitter1,lenina,raleigh1,lechat,access01,kamilka,fynjy,sparkplu,daisy3112,choppe,zootsuit,1234567j,rubyrose,gorilla9,nightshade,alternativa,cghfdjxybr,snuggles1,10121v,vova1992,leonardo1,dave2,matthewd,vfhfnbr,1986mets,nobull,bacall,mexican1,juanjo,mafia1,boomer22,soylent,edwards1,jordan10,blackwid,alex86,gemini13,lunar2,dctvcjcfnm,malaki,plugger,eagles11,snafu2,1shelly,cintaku,hannah22,tbird1,maks5843,irish88,homer22,amarok,fktrcfylhjdf,lincoln2,acess,gre69kik,need4speed,hightech,core2duo,blunt1,ublhjgjybrf,dragon33,1autopas,autopas1,wwww1,15935746,daniel20,2500aa,massim,1ggggggg,96ford,hardcor1,cobra5,blackdragon,vovan_lt,orochimaru,hjlbntkb,qwertyuiop12,tallen,paradoks,frozenfish,ghjuhfvvbcn,gerri1,nuggett,camilit,doright,trans1,serena1,catch2,bkmyeh,fireston,afhvfwtdn,purple3,figure8,fuckya,scamp1,laranja,ontheoutside,louis123,yellow7,moonwalk,mercury2,tolkein,raide,amenra,a13579,dranreb,5150vh,harish,tracksta,sexking,ozzmosis,katiee,alomar,matrix19,headroom,jahlove,ringding,apollo8,132546,132613,12345672000,saretta,135798,136666,thomas7,136913,onetwothree,hockey33,calida,nefertit,bitwise,tailhook,boop4,kfgecbr,bujhmbujhm,metal69,thedark,meteoro,felicia1,house12,tinuviel,istina,vaz2105,pimp13,toolfan,nina1,tuesday2,maxmotives,lgkp500,locksley,treech,darling1,kurama,aminka,ramin,redhed,dazzler,jager1,stpiliot,cardman,rfvtym,cheeser,14314314,paramoun,samcat,plumpy,stiffie,vsajyjr,panatha,qqq777,car12345,098poi,asdzx,keegan1,furelise,kalifornia,vbhjckfd,beast123,zcfvfzkexifz,harry5,1birdie,96328i,escola,extra330,henry12,gfhfyjqz,14u2nv,max1234,templar1,1dave,02588520,catrin,pangolin,marhaba,latin1,amorcito,dave22,escape1,advance1,yasuhiro,grepw,meetme,orange01,ernes,erdna,zsergn,nautica1,justinb,soundwav,miasma,greg78,nadine1,sexmad,lovebaby,promo1,excel1,babys,dragonma,camry1,sonnenschein,farooq,wazzkaprivet,magal,katinas,elvis99,redsox24,rooney1,chiefy,peggys,aliev,pilsung,mudhen,dontdoit,dennis12,supercal,energia,ballsout,funone,claudiu,brown2,amoco,dabl1125,philos,gjdtkbntkm,servette,13571113,whizzer,nollie,13467982,upiter,12string,bluejay1,silkie,william4,kosta1,143333,connor12,sustanon,06068,corporat,ssnake,laurita,king10,tahoes,arsenal123,sapato,charless,jeanmarc,levent,algerie,marine21,jettas,winsome,dctvgbplf,1701ab,xxxp455w0rd5,lllllll1,ooooooo1,monalis,koufax32,anastasya,debugger,sarita2,jason69,ufkxjyjr,gjlcnfdf,1jerry,daniel10,balinor,sexkitten,death2,qwertasdfgzxcvb,s9te949f,vegeta1,sysman,maxxam,dimabilan,mooose,ilovetit,june23,illest,doesit,mamou,abby12,longjump,transalp,moderato,littleguy,magritte,dilnoza,hawaiiguy,winbig,nemiroff,kokaine,admira,myemail,dream2,browneyes,destiny7,dragonss,suckme1,asa123,andranik,suckem,fleshbot,dandie,timmys,scitra,timdog,hasbeen,guesss,smellyfe,arachne,deutschl,harley88,birthday27,nobody1,papasmur,home1,jonass,bunia3,epatb1,embalm,vfvekmrf,apacer,12345656,estreet,weihnachtsbaum,mrwhite,admin12,kristie1,kelebek,yoda69,socken,tima123,bayern1,fktrcfylth,tamiya,99strenght,andy01,denis2011,19delta,stokecit,aotearoa,stalker2,nicnac,conrad1,popey,agusta,bowl36,1bigfish,mossyoak,1stunner,getinnow,jessejames,gkfnjy,drako,1nissan,egor123,hotness,1hawaii,zxc123456,cantstop,1peaches,madlen,west1234,jeter1,markis,judit,attack1,artemi,silver69,153246,crazy2,green9,yoshimi,1vette,chief123,jasper2,1sierra,twentyon,drstrang,aspirant,yannic,jenna123,bongtoke,slurpy,1sugar,civic97,rusty21,shineon,james19,anna12345,wonderwoman,1kevin,karol1,kanabis,wert21,fktif6115,evil1,kakaha,54gv768,826248s,tyrone1,1winston,sugar2,falcon01,adelya,mopar440,zasxcd,leecher,kinkysex,mercede1,travka,11234567,rebon,geekboy".split(","),
18279english_wikipedia:"the,of,and,in,was,is,for,as,on,with,by,he,at,from,his,an,were,are,which,doc,https,also,or,has,had,first,one,their,its,after,new,who,they,two,her,she,been,other,when,time,during,there,into,school,more,may,years,over,only,year,most,would,world,city,some,where,between,later,three,state,such,then,national,used,made,known,under,many,university,united,while,part,season,team,these,american,than,film,second,born,south,became,states,war,through,being,including,both,before,north,high,however,people,family,early,history,album,area,them,series,against,until,since,district,county,name,work,life,group,music,following,number,company,several,four,called,played,released,career,league,game,government,house,each,based,day,same,won,use,station,club,international,town,located,population,general,college,east,found,age,march,end,september,began,home,public,church,line,june,river,member,system,place,century,band,july,york,january,october,song,august,best,former,british,party,named,held,village,show,local,november,took,service,december,built,another,major,within,along,members,five,single,due,although,small,old,left,final,large,include,building,served,president,received,games,death,february,main,third,set,children,own,order,species,park,law,air,published,road,died,book,men,women,army,often,according,education,central,country,division,english,top,included,development,french,community,among,water,play,side,list,times,near,late,form,original,different,center,power,led,students,german,moved,court,six,land,council,island,u.s.,record,million,research,art,established,award,street,military,television,given,region,support,western,production,non,political,point,cup,period,business,title,started,various,election,using,england,role,produced,become,program,works,field,total,office,class,written,association,radio,union,level,championship,director,few,force,created,department,founded,services,married,though,per,n't,site,open,act,short,society,version,royal,present,northern,worked,professional,full,returned,joined,story,france,european,currently,language,social,california,india,days,design,st.,further,round,australia,wrote,san,project,control,southern,railway,board,popular,continued,free,battle,considered,video,common,position,living,half,playing,recorded,red,post,described,average,records,special,modern,appeared,announced,areas,rock,release,elected,others,example,term,opened,similar,formed,route,census,current,schools,originally,lake,developed,race,himself,forces,addition,information,upon,province,match,event,songs,result,events,win,eastern,track,lead,teams,science,human,construction,minister,germany,awards,available,throughout,training,style,body,museum,australian,health,seven,signed,chief,eventually,appointed,sea,centre,debut,tour,points,media,light,range,character,across,features,families,largest,indian,network,less,performance,players,refer,europe,sold,festival,usually,taken,despite,designed,committee,process,return,official,episode,institute,stage,followed,performed,japanese,personal,thus,arts,space,low,months,includes,china,study,middle,magazine,leading,japan,groups,aircraft,featured,federal,civil,rights,model,coach,canadian,books,remained,eight,type,independent,completed,capital,academy,instead,kingdom,organization,countries,studies,competition,sports,size,above,section,finished,gold,involved,reported,management,systems,industry,directed,market,fourth,movement,technology,bank,ground,campaign,base,lower,sent,rather,added,provided,coast,grand,historic,valley,conference,bridge,winning,approximately,films,chinese,awarded,degree,russian,shows,native,female,replaced,municipality,square,studio,medical,data,african,successful,mid,bay,attack,previous,operations,spanish,theatre,student,republic,beginning,provide,ship,primary,owned,writing,tournament,culture,introduced,texas,related,natural,parts,governor,reached,ireland,units,senior,decided,italian,whose,higher,africa,standard,income,professor,placed,regional,los,buildings,championships,active,novel,energy,generally,interest,via,economic,previously,stated,itself,channel,below,operation,leader,traditional,trade,structure,limited,runs,prior,regular,famous,saint,navy,foreign,listed,artist,catholic,airport,results,parliament,collection,unit,officer,goal,attended,command,staff,commission,lived,location,plays,commercial,places,foundation,significant,older,medal,self,scored,companies,highway,activities,programs,wide,musical,notable,library,numerous,paris,towards,individual,allowed,plant,property,annual,contract,whom,highest,initially,required,earlier,assembly,artists,rural,seat,practice,defeated,ended,soviet,length,spent,manager,press,associated,author,issues,additional,characters,lord,zealand,policy,engine,township,noted,historical,complete,financial,religious,mission,contains,nine,recent,represented,pennsylvania,administration,opening,secretary,lines,report,executive,youth,closed,theory,writer,italy,angeles,appearance,feature,queen,launched,legal,terms,entered,issue,edition,singer,greek,majority,background,source,anti,cultural,complex,changes,recording,stadium,islands,operated,particularly,basketball,month,uses,port,castle,mostly,names,fort,selected,increased,status,earth,subsequently,pacific,cover,variety,certain,goals,remains,upper,congress,becoming,studied,irish,nature,particular,loss,caused,chart,dr.,forced,create,era,retired,material,review,rate,singles,referred,larger,individuals,shown,provides,products,speed,democratic,poland,parish,olympics,cities,themselves,temple,wing,genus,households,serving,cost,wales,stations,passed,supported,view,cases,forms,actor,male,matches,males,stars,tracks,females,administrative,median,effect,biography,train,engineering,camp,offered,chairman,houses,mainly,19th,surface,therefore,nearly,score,ancient,subject,prime,seasons,claimed,experience,specific,jewish,failed,overall,believed,plot,troops,greater,spain,consists,broadcast,heavy,increase,raised,separate,campus,1980s,appears,presented,lies,composed,recently,influence,fifth,nations,creek,references,elections,britain,double,cast,meaning,earned,carried,producer,latter,housing,brothers,attempt,article,response,border,remaining,nearby,direct,ships,value,workers,politician,academic,label,1970s,commander,rule,fellow,residents,authority,editor,transport,dutch,projects,responsible,covered,territory,flight,races,defense,tower,emperor,albums,facilities,daily,stories,assistant,managed,primarily,quality,function,proposed,distribution,conditions,prize,journal,code,vice,newspaper,corps,highly,constructed,mayor,critical,secondary,corporation,rugby,regiment,ohio,appearances,serve,allow,nation,multiple,discovered,directly,scene,levels,growth,elements,acquired,1990s,officers,physical,20th,latin,host,jersey,graduated,arrived,issued,literature,metal,estate,vote,immediately,quickly,asian,competed,extended,produce,urban,1960s,promoted,contemporary,global,formerly,appear,industrial,types,opera,ministry,soldiers,commonly,mass,formation,smaller,typically,drama,shortly,density,senate,effects,iran,polish,prominent,naval,settlement,divided,basis,republican,languages,distance,treatment,continue,product,mile,sources,footballer,format,clubs,leadership,initial,offers,operating,avenue,officially,columbia,grade,squadron,fleet,percent,farm,leaders,agreement,likely,equipment,website,mount,grew,method,transferred,intended,renamed,iron,asia,reserve,capacity,politics,widely,activity,advanced,relations,scottish,dedicated,crew,founder,episodes,lack,amount,build,efforts,concept,follows,ordered,leaves,positive,economy,entertainment,affairs,memorial,ability,illinois,communities,color,text,railroad,scientific,focus,comedy,serves,exchange,environment,cars,direction,organized,firm,description,agency,analysis,purpose,destroyed,reception,planned,revealed,infantry,architecture,growing,featuring,household,candidate,removed,situated,models,knowledge,solo,technical,organizations,assigned,conducted,participated,largely,purchased,register,gained,combined,headquarters,adopted,potential,protection,scale,approach,spread,independence,mountains,titled,geography,applied,safety,mixed,accepted,continues,captured,rail,defeat,principal,recognized,lieutenant,mentioned,semi,owner,joint,liberal,actress,traffic,creation,basic,notes,unique,supreme,declared,simply,plants,sales,massachusetts,designated,parties,jazz,compared,becomes,resources,titles,concert,learning,remain,teaching,versions,content,alongside,revolution,sons,block,premier,impact,champions,districts,generation,estimated,volume,image,sites,account,roles,sport,quarter,providing,zone,yard,scoring,classes,presence,performances,representatives,hosted,split,taught,origin,olympic,claims,critics,facility,occurred,suffered,municipal,damage,defined,resulted,respectively,expanded,platform,draft,opposition,expected,educational,ontario,climate,reports,atlantic,surrounding,performing,reduced,ranked,allows,birth,nominated,younger,newly,kong,positions,theater,philadelphia,heritage,finals,disease,sixth,laws,reviews,constitution,tradition,swedish,theme,fiction,rome,medicine,trains,resulting,existing,deputy,environmental,labour,classical,develop,fans,granted,receive,alternative,begins,nuclear,fame,buried,connected,identified,palace,falls,letters,combat,sciences,effort,villages,inspired,regions,towns,conservative,chosen,animals,labor,attacks,materials,yards,steel,representative,orchestra,peak,entitled,officials,returning,reference,northwest,imperial,convention,examples,ocean,publication,painting,subsequent,frequently,religion,brigade,fully,sides,acts,cemetery,relatively,oldest,suggested,succeeded,achieved,application,programme,cells,votes,promotion,graduate,armed,supply,flying,communist,figures,literary,netherlands,korea,worldwide,citizens,1950s,faculty,draw,stock,seats,occupied,methods,unknown,articles,claim,holds,authorities,audience,sweden,interview,obtained,covers,settled,transfer,marked,allowing,funding,challenge,southeast,unlike,crown,rise,portion,transportation,sector,phase,properties,edge,tropical,standards,institutions,philosophy,legislative,hills,brand,fund,conflict,unable,founding,refused,attempts,metres,permanent,starring,applications,creating,effective,aired,extensive,employed,enemy,expansion,billboard,rank,battalion,multi,vehicle,fought,alliance,category,perform,federation,poetry,bronze,bands,entry,vehicles,bureau,maximum,billion,trees,intelligence,greatest,screen,refers,commissioned,gallery,injury,confirmed,setting,treaty,adult,americans,broadcasting,supporting,pilot,mobile,writers,programming,existence,squad,minnesota,copies,korean,provincial,sets,defence,offices,agricultural,internal,core,northeast,retirement,factory,actions,prevent,communications,ending,weekly,containing,functions,attempted,interior,weight,bowl,recognition,incorporated,increasing,ultimately,documentary,derived,attacked,lyrics,mexican,external,churches,centuries,metropolitan,selling,opposed,personnel,mill,visited,presidential,roads,pieces,norwegian,controlled,18th,rear,influenced,wrestling,weapons,launch,composer,locations,developing,circuit,specifically,studios,shared,canal,wisconsin,publishing,approved,domestic,consisted,determined,comic,establishment,exhibition,southwest,fuel,electronic,cape,converted,educated,melbourne,hits,wins,producing,norway,slightly,occur,surname,identity,represent,constituency,funds,proved,links,structures,athletic,birds,contest,users,poet,institution,display,receiving,rare,contained,guns,motion,piano,temperature,publications,passenger,contributed,toward,cathedral,inhabitants,architect,exist,athletics,muslim,courses,abandoned,signal,successfully,disambiguation,tennessee,dynasty,heavily,maryland,jews,representing,budget,weather,missouri,introduction,faced,pair,chapel,reform,height,vietnam,occurs,motor,cambridge,lands,focused,sought,patients,shape,invasion,chemical,importance,communication,selection,regarding,homes,voivodeship,maintained,borough,failure,aged,passing,agriculture,oregon,teachers,flow,philippines,trail,seventh,portuguese,resistance,reaching,negative,fashion,scheduled,downtown,universities,trained,skills,scenes,views,notably,typical,incident,candidates,engines,decades,composition,commune,chain,inc.,austria,sale,values,employees,chamber,regarded,winners,registered,task,investment,colonial,swiss,user,entirely,flag,stores,closely,entrance,laid,journalist,coal,equal,causes,turkish,quebec,techniques,promote,junction,easily,dates,kentucky,singapore,residence,violence,advance,survey,humans,expressed,passes,streets,distinguished,qualified,folk,establish,egypt,artillery,visual,improved,actual,finishing,medium,protein,switzerland,productions,operate,poverty,neighborhood,organisation,consisting,consecutive,sections,partnership,extension,reaction,factor,costs,bodies,device,ethnic,racial,flat,objects,chapter,improve,musicians,courts,controversy,membership,merged,wars,expedition,interests,arab,comics,gain,describes,mining,bachelor,crisis,joining,decade,1930s,distributed,habitat,routes,arena,cycle,divisions,briefly,vocals,directors,degrees,object,recordings,installed,adjacent,demand,voted,causing,businesses,ruled,grounds,starred,drawn,opposite,stands,formal,operates,persons,counties,compete,wave,israeli,ncaa,resigned,brief,greece,combination,demographics,historian,contain,commonwealth,musician,collected,argued,louisiana,session,cabinet,parliamentary,electoral,loan,profit,regularly,conservation,islamic,purchase,17th,charts,residential,earliest,designs,paintings,survived,moth,items,goods,grey,anniversary,criticism,images,discovery,observed,underground,progress,additionally,participate,thousands,reduce,elementary,owners,stating,iraq,resolution,capture,tank,rooms,hollywood,finance,queensland,reign,maintain,iowa,landing,broad,outstanding,circle,path,manufacturing,assistance,sequence,gmina,crossing,leads,universal,shaped,kings,attached,medieval,ages,metro,colony,affected,scholars,oklahoma,coastal,soundtrack,painted,attend,definition,meanwhile,purposes,trophy,require,marketing,popularity,cable,mathematics,mississippi,represents,scheme,appeal,distinct,factors,acid,subjects,roughly,terminal,economics,senator,diocese,prix,contrast,argentina,czech,wings,relief,stages,duties,16th,novels,accused,whilst,equivalent,charged,measure,documents,couples,request,danish,defensive,guide,devices,statistics,credited,tries,passengers,allied,frame,puerto,peninsula,concluded,instruments,wounded,differences,associate,forests,afterwards,replace,requirements,aviation,solution,offensive,ownership,inner,legislation,hungarian,contributions,actors,translated,denmark,steam,depending,aspects,assumed,injured,severe,admitted,determine,shore,technique,arrival,measures,translation,debuted,delivered,returns,rejected,separated,visitors,damaged,storage,accompanied,markets,industries,losses,gulf,charter,strategy,corporate,socialist,somewhat,significantly,physics,mounted,satellite,experienced,constant,relative,pattern,restored,belgium,connecticut,partners,harvard,retained,networks,protected,mode,artistic,parallel,collaboration,debate,involving,journey,linked,salt,authors,components,context,occupation,requires,occasionally,policies,tamil,ottoman,revolutionary,hungary,poem,versus,gardens,amongst,audio,makeup,frequency,meters,orthodox,continuing,suggests,legislature,coalition,guitarist,eighth,classification,practices,soil,tokyo,instance,limit,coverage,considerable,ranking,colleges,cavalry,centers,daughters,twin,equipped,broadway,narrow,hosts,rates,domain,boundary,arranged,12th,whereas,brazilian,forming,rating,strategic,competitions,trading,covering,baltimore,commissioner,infrastructure,origins,replacement,praised,disc,collections,expression,ukraine,driven,edited,austrian,solar,ensure,premiered,successor,wooden,operational,hispanic,concerns,rapid,prisoners,childhood,meets,influential,tunnel,employment,tribe,qualifying,adapted,temporary,celebrated,appearing,increasingly,depression,adults,cinema,entering,laboratory,script,flows,romania,accounts,fictional,pittsburgh,achieve,monastery,franchise,formally,tools,newspapers,revival,sponsored,processes,vienna,springs,missions,classified,13th,annually,branches,lakes,gender,manner,advertising,normally,maintenance,adding,characteristics,integrated,decline,modified,strongly,critic,victims,malaysia,arkansas,nazi,restoration,powered,monument,hundreds,depth,15th,controversial,admiral,criticized,brick,honorary,initiative,output,visiting,birmingham,progressive,existed,carbon,1920s,credits,colour,rising,hence,defeating,superior,filmed,listing,column,surrounded,orleans,principles,territories,struck,participation,indonesia,movements,index,commerce,conduct,constitutional,spiritual,ambassador,vocal,completion,edinburgh,residing,tourism,finland,bears,medals,resident,themes,visible,indigenous,involvement,basin,electrical,ukrainian,concerts,boats,styles,processing,rival,drawing,vessels,experimental,declined,touring,supporters,compilation,coaching,cited,dated,roots,string,explained,transit,traditionally,poems,minimum,representation,14th,releases,effectively,architectural,triple,indicated,greatly,elevation,clinical,printed,10th,proposal,peaked,producers,romanized,rapidly,stream,innings,meetings,counter,householder,honour,lasted,agencies,document,exists,surviving,experiences,honors,landscape,hurricane,harbor,panel,competing,profile,vessel,farmers,lists,revenue,exception,customers,11th,participants,wildlife,utah,bible,gradually,preserved,replacing,symphony,begun,longest,siege,provinces,mechanical,genre,transmission,agents,executed,videos,benefits,funded,rated,instrumental,ninth,similarly,dominated,destruction,passage,technologies,thereafter,outer,facing,affiliated,opportunities,instrument,governments,scholar,evolution,channels,shares,sessions,widespread,occasions,engineers,scientists,signing,battery,competitive,alleged,eliminated,supplies,judges,hampshire,regime,portrayed,penalty,taiwan,denied,submarine,scholarship,substantial,transition,victorian,http,nevertheless,filed,supports,continental,tribes,ratio,doubles,useful,honours,blocks,principle,retail,departure,ranks,patrol,yorkshire,vancouver,inter,extent,afghanistan,strip,railways,component,organ,symbol,categories,encouraged,abroad,civilian,periods,traveled,writes,struggle,immediate,recommended,adaptation,egyptian,graduating,assault,drums,nomination,historically,voting,allies,detailed,achievement,percentage,arabic,assist,frequent,toured,apply,and/or,intersection,maine,touchdown,throne,produces,contribution,emerged,obtain,archbishop,seek,researchers,remainder,populations,clan,finnish,overseas,fifa,licensed,chemistry,festivals,mediterranean,injuries,animated,seeking,publisher,volumes,limits,venue,jerusalem,generated,trials,islam,youngest,ruling,glasgow,germans,songwriter,persian,municipalities,donated,viewed,belgian,cooperation,posted,tech,dual,volunteer,settlers,commanded,claiming,approval,delhi,usage,terminus,partly,electricity,locally,editions,premiere,absence,belief,traditions,statue,indicate,manor,stable,attributed,possession,managing,viewers,chile,overview,seed,regulations,essential,minority,cargo,segment,endemic,forum,deaths,monthly,playoffs,erected,practical,machines,suburb,relation,mrs.,descent,indoor,continuous,characterized,solutions,caribbean,rebuilt,serbian,summary,contested,psychology,pitch,attending,muhammad,tenure,drivers,diameter,assets,venture,punk,airlines,concentration,athletes,volunteers,pages,mines,influences,sculpture,protest,ferry,behalf,drafted,apparent,furthermore,ranging,romanian,democracy,lanka,significance,linear,d.c.,certified,voters,recovered,tours,demolished,boundaries,assisted,identify,grades,elsewhere,mechanism,1940s,reportedly,aimed,conversion,suspended,photography,departments,beijing,locomotives,publicly,dispute,magazines,resort,conventional,platforms,internationally,capita,settlements,dramatic,derby,establishing,involves,statistical,implementation,immigrants,exposed,diverse,layer,vast,ceased,connections,belonged,interstate,uefa,organised,abuse,deployed,cattle,partially,filming,mainstream,reduction,automatic,rarely,subsidiary,decides,merger,comprehensive,displayed,amendment,guinea,exclusively,manhattan,concerning,commons,radical,serbia,baptist,buses,initiated,portrait,harbour,choir,citizen,sole,unsuccessful,manufactured,enforcement,connecting,increases,patterns,sacred,muslims,clothing,hindu,unincorporated,sentenced,advisory,tanks,campaigns,fled,repeated,remote,rebellion,implemented,texts,fitted,tribute,writings,sufficient,ministers,21st,devoted,jurisdiction,coaches,interpretation,pole,businessman,peru,sporting,prices,cuba,relocated,opponent,arrangement,elite,manufacturer,responded,suitable,distinction,calendar,dominant,tourist,earning,prefecture,ties,preparation,anglo,pursue,worship,archaeological,chancellor,bangladesh,scores,traded,lowest,horror,outdoor,biology,commented,specialized,loop,arriving,farming,housed,historians,'the,patent,pupils,christianity,opponents,athens,northwestern,maps,promoting,reveals,flights,exclusive,lions,norfolk,hebrew,extensively,eldest,shops,acquisition,virtual,renowned,margin,ongoing,essentially,iranian,alternate,sailed,reporting,conclusion,originated,temperatures,exposure,secured,landed,rifle,framework,identical,martial,focuses,topics,ballet,fighters,belonging,wealthy,negotiations,evolved,bases,oriented,acres,democrat,heights,restricted,vary,graduation,aftermath,chess,illness,participating,vertical,collective,immigration,demonstrated,leaf,completing,organic,missile,leeds,eligible,grammar,confederate,improvement,congressional,wealth,cincinnati,spaces,indicates,corresponding,reaches,repair,isolated,taxes,congregation,ratings,leagues,diplomatic,submitted,winds,awareness,photographs,maritime,nigeria,accessible,animation,restaurants,philippine,inaugural,dismissed,armenian,illustrated,reservoir,speakers,programmes,resource,genetic,interviews,camps,regulation,computers,preferred,travelled,comparison,distinctive,recreation,requested,southeastern,dependent,brisbane,breeding,playoff,expand,bonus,gauge,departed,qualification,inspiration,shipping,slaves,variations,shield,theories,munich,recognised,emphasis,favour,variable,seeds,undergraduate,territorial,intellectual,qualify,mini,banned,pointed,democrats,assessment,judicial,examination,attempting,objective,partial,characteristic,hardware,pradesh,execution,ottawa,metre,drum,exhibitions,withdrew,attendance,phrase,journalism,logo,measured,error,christians,trio,protestant,theology,respective,atmosphere,buddhist,substitute,curriculum,fundamental,outbreak,rabbi,intermediate,designation,globe,liberation,simultaneously,diseases,experiments,locomotive,difficulties,mainland,nepal,relegated,contributing,database,developments,veteran,carries,ranges,instruction,lodge,protests,obama,newcastle,experiment,physician,describing,challenges,corruption,delaware,adventures,ensemble,succession,renaissance,tenth,altitude,receives,approached,crosses,syria,croatia,warsaw,professionals,improvements,worn,airline,compound,permitted,preservation,reducing,printing,scientist,activist,comprises,sized,societies,enters,ruler,gospel,earthquake,extend,autonomous,croatian,serial,decorated,relevant,ideal,grows,grass,tier,towers,wider,welfare,columns,alumni,descendants,interface,reserves,banking,colonies,manufacturers,magnetic,closure,pitched,vocalist,preserve,enrolled,cancelled,equation,2000s,nickname,bulgaria,heroes,exile,mathematical,demands,input,structural,tube,stem,approaches,argentine,axis,manuscript,inherited,depicted,targets,visits,veterans,regard,removal,efficiency,organisations,concepts,lebanon,manga,petersburg,rally,supplied,amounts,yale,tournaments,broadcasts,signals,pilots,azerbaijan,architects,enzyme,literacy,declaration,placing,batting,incumbent,bulgarian,consistent,poll,defended,landmark,southwestern,raid,resignation,travels,casualties,prestigious,namely,aims,recipient,warfare,readers,collapse,coached,controls,volleyball,coup,lesser,verse,pairs,exhibited,proteins,molecular,abilities,integration,consist,aspect,advocate,administered,governing,hospitals,commenced,coins,lords,variation,resumed,canton,artificial,elevated,palm,difficulty,civic,efficient,northeastern,inducted,radiation,affiliate,boards,stakes,byzantine,consumption,freight,interaction,oblast,numbered,seminary,contracts,extinct,predecessor,bearing,cultures,functional,neighboring,revised,cylinder,grants,narrative,reforms,athlete,tales,reflect,presidency,compositions,specialist,cricketer,founders,sequel,widow,disbanded,associations,backed,thereby,pitcher,commanding,boulevard,singers,crops,militia,reviewed,centres,waves,consequently,fortress,tributary,portions,bombing,excellence,nest,payment,mars,plaza,unity,victories,scotia,farms,nominations,variant,attacking,suspension,installation,graphics,estates,comments,acoustic,destination,venues,surrender,retreat,libraries,quarterback,customs,berkeley,collaborated,gathered,syndrome,dialogue,recruited,shanghai,neighbouring,psychological,saudi,moderate,exhibit,innovation,depot,binding,brunswick,situations,certificate,actively,shakespeare,editorial,presentation,ports,relay,nationalist,methodist,archives,experts,maintains,collegiate,bishops,maintaining,temporarily,embassy,essex,wellington,connects,reformed,bengal,recalled,inches,doctrine,deemed,legendary,reconstruction,statements,palestinian,meter,achievements,riders,interchange,spots,auto,accurate,chorus,dissolved,missionary,thai,operators,e.g.,generations,failing,delayed,cork,nashville,perceived,venezuela,cult,emerging,tomb,abolished,documented,gaining,canyon,episcopal,stored,assists,compiled,kerala,kilometers,mosque,grammy,theorem,unions,segments,glacier,arrives,theatrical,circulation,conferences,chapters,displays,circular,authored,conductor,fewer,dimensional,nationwide,liga,yugoslavia,peer,vietnamese,fellowship,armies,regardless,relating,dynamic,politicians,mixture,serie,somerset,imprisoned,posts,beliefs,beta,layout,independently,electronics,provisions,fastest,logic,headquartered,creates,challenged,beaten,appeals,plains,protocol,graphic,accommodate,iraqi,midfielder,span,commentary,freestyle,reflected,palestine,lighting,burial,virtually,backing,prague,tribal,heir,identification,prototype,criteria,dame,arch,tissue,footage,extending,procedures,predominantly,updated,rhythm,preliminary,cafe,disorder,prevented,suburbs,discontinued,retiring,oral,followers,extends,massacre,journalists,conquest,larvae,pronounced,behaviour,diversity,sustained,addressed,geographic,restrictions,voiced,milwaukee,dialect,quoted,grid,nationally,nearest,roster,twentieth,separation,indies,manages,citing,intervention,guidance,severely,migration,artwork,focusing,rivals,trustees,varied,enabled,committees,centered,skating,slavery,cardinals,forcing,tasks,auckland,youtube,argues,colored,advisor,mumbai,requiring,theological,registration,refugees,nineteenth,survivors,runners,colleagues,priests,contribute,variants,workshop,concentrated,creator,lectures,temples,exploration,requirement,interactive,navigation,companion,perth,allegedly,releasing,citizenship,observation,stationed,ph.d.,sheep,breed,discovers,encourage,kilometres,journals,performers,isle,saskatchewan,hybrid,hotels,lancashire,dubbed,airfield,anchor,suburban,theoretical,sussex,anglican,stockholm,permanently,upcoming,privately,receiver,optical,highways,congo,colours,aggregate,authorized,repeatedly,varies,fluid,innovative,transformed,praise,convoy,demanded,discography,attraction,export,audiences,ordained,enlisted,occasional,westminster,syrian,heavyweight,bosnia,consultant,eventual,improving,aires,wickets,epic,reactions,scandal,i.e.,discrimination,buenos,patron,investors,conjunction,testament,construct,encountered,celebrity,expanding,georgian,brands,retain,underwent,algorithm,foods,provision,orbit,transformation,associates,tactical,compact,varieties,stability,refuge,gathering,moreover,manila,configuration,gameplay,discipline,entity,comprising,composers,skill,monitoring,ruins,museums,sustainable,aerial,altered,codes,voyage,friedrich,conflicts,storyline,travelling,conducting,merit,indicating,referendum,currency,encounter,particles,automobile,workshops,acclaimed,inhabited,doctorate,cuban,phenomenon,dome,enrollment,tobacco,governance,trend,equally,manufacture,hydrogen,grande,compensation,download,pianist,grain,shifted,neutral,evaluation,define,cycling,seized,array,relatives,motors,firms,varying,automatically,restore,nicknamed,findings,governed,investigate,manitoba,administrator,vital,integral,indonesian,confusion,publishers,enable,geographical,inland,naming,civilians,reconnaissance,indianapolis,lecturer,deer,tourists,exterior,rhode,bassist,symbols,scope,ammunition,yuan,poets,punjab,nursing,cent,developers,estimates,presbyterian,nasa,holdings,generate,renewed,computing,cyprus,arabia,duration,compounds,gastropod,permit,valid,touchdowns,facade,interactions,mineral,practiced,allegations,consequence,goalkeeper,baronet,copyright,uprising,carved,targeted,competitors,mentions,sanctuary,fees,pursued,tampa,chronicle,capabilities,specified,specimens,toll,accounting,limestone,staged,upgraded,philosophical,streams,guild,revolt,rainfall,supporter,princeton,terrain,hometown,probability,assembled,paulo,surrey,voltage,developer,destroyer,floors,lineup,curve,prevention,potentially,onwards,trips,imposed,hosting,striking,strict,admission,apartments,solely,utility,proceeded,observations,euro,incidents,vinyl,profession,haven,distant,expelled,rivalry,runway,torpedo,zones,shrine,dimensions,investigations,lithuania,idaho,pursuit,copenhagen,considerably,locality,wireless,decrease,genes,thermal,deposits,hindi,habitats,withdrawn,biblical,monuments,casting,plateau,thesis,managers,flooding,assassination,acknowledged,interim,inscription,guided,pastor,finale,insects,transported,activists,marshal,intensity,airing,cardiff,proposals,lifestyle,prey,herald,capitol,aboriginal,measuring,lasting,interpreted,occurring,desired,drawings,healthcare,panels,elimination,oslo,ghana,blog,sabha,intent,superintendent,governors,bankruptcy,p.m.,equity,disk,layers,slovenia,prussia,quartet,mechanics,graduates,politically,monks,screenplay,nato,absorbed,topped,petition,bold,morocco,exhibits,canterbury,publish,rankings,crater,dominican,enhanced,planes,lutheran,governmental,joins,collecting,brussels,unified,streak,strategies,flagship,surfaces,oval,archive,etymology,imprisonment,instructor,noting,remix,opposing,servant,rotation,width,trans,maker,synthesis,excess,tactics,snail,ltd.,lighthouse,sequences,cornwall,plantation,mythology,performs,foundations,populated,horizontal,speedway,activated,performer,diving,conceived,edmonton,subtropical,environments,prompted,semifinals,caps,bulk,treasury,recreational,telegraph,continent,portraits,relegation,catholics,graph,velocity,rulers,endangered,secular,observer,learns,inquiry,idol,dictionary,certification,estimate,cluster,armenia,observatory,revived,nadu,consumers,hypothesis,manuscripts,contents,arguments,editing,trails,arctic,essays,belfast,acquire,promotional,undertaken,corridor,proceedings,antarctic,millennium,labels,delegates,vegetation,acclaim,directing,substance,outcome,diploma,philosopher,malta,albanian,vicinity,degc,legends,regiments,consent,terrorist,scattered,presidents,gravity,orientation,deployment,duchy,refuses,estonia,crowned,separately,renovation,rises,wilderness,objectives,agreements,empress,slopes,inclusion,equality,decree,ballot,criticised,rochester,recurring,struggled,disabled,henri,poles,prussian,convert,bacteria,poorly,sudan,geological,wyoming,consistently,minimal,withdrawal,interviewed,proximity,repairs,initiatives,pakistani,republicans,propaganda,viii,abstract,commercially,availability,mechanisms,naples,discussions,underlying,lens,proclaimed,advised,spelling,auxiliary,attract,lithuanian,editors,o'brien,accordance,measurement,novelist,ussr,formats,councils,contestants,indie,facebook,parishes,barrier,battalions,sponsor,consulting,terrorism,implement,uganda,crucial,unclear,notion,distinguish,collector,attractions,filipino,ecology,investments,capability,renovated,iceland,albania,accredited,scouts,armor,sculptor,cognitive,errors,gaming,condemned,successive,consolidated,baroque,entries,regulatory,reserved,treasurer,variables,arose,technological,rounded,provider,rhine,agrees,accuracy,genera,decreased,frankfurt,ecuador,edges,particle,rendered,calculated,careers,faction,rifles,americas,gaelic,portsmouth,resides,merchants,fiscal,premises,coin,draws,presenter,acceptance,ceremonies,pollution,consensus,membrane,brigadier,nonetheless,genres,supervision,predicted,magnitude,finite,differ,ancestry,vale,delegation,removing,proceeds,placement,emigrated,siblings,molecules,payments,considers,demonstration,proportion,newer,valve,achieving,confederation,continuously,luxury,notre,introducing,coordinates,charitable,squadrons,disorders,geometry,winnipeg,ulster,loans,longtime,receptor,preceding,belgrade,mandate,wrestler,neighbourhood,factories,buddhism,imported,sectors,protagonist,steep,elaborate,prohibited,artifacts,prizes,pupil,cooperative,sovereign,subspecies,carriers,allmusic,nationals,settings,autobiography,neighborhoods,analog,facilitate,voluntary,jointly,newfoundland,organizing,raids,exercises,nobel,machinery,baltic,crop,granite,dense,websites,mandatory,seeks,surrendered,anthology,comedian,bombs,slot,synopsis,critically,arcade,marking,equations,halls,indo,inaugurated,embarked,speeds,clause,invention,premiership,likewise,presenting,demonstrate,designers,organize,examined,km/h,bavaria,troop,referee,detection,zurich,prairie,rapper,wingspan,eurovision,luxembourg,slovakia,inception,disputed,mammals,entrepreneur,makers,evangelical,yield,clergy,trademark,defunct,allocated,depicting,volcanic,batted,conquered,sculptures,providers,reflects,armoured,locals,walt,herzegovina,contracted,entities,sponsorship,prominence,flowing,ethiopia,marketed,corporations,withdraw,carnegie,induced,investigated,portfolio,flowering,opinions,viewing,classroom,donations,bounded,perception,leicester,fruits,charleston,academics,statute,complaints,smallest,deceased,petroleum,resolved,commanders,algebra,southampton,modes,cultivation,transmitter,spelled,obtaining,sizes,acre,pageant,bats,abbreviated,correspondence,barracks,feast,tackles,raja,derives,geology,disputes,translations,counted,constantinople,seating,macedonia,preventing,accommodation,homeland,explored,invaded,provisional,transform,sphere,unsuccessfully,missionaries,conservatives,highlights,traces,organisms,openly,dancers,fossils,absent,monarchy,combining,lanes,stint,dynamics,chains,missiles,screening,module,tribune,generating,miners,nottingham,seoul,unofficial,owing,linking,rehabilitation,citation,louisville,mollusk,depicts,differential,zimbabwe,kosovo,recommendations,responses,pottery,scorer,aided,exceptions,dialects,telecommunications,defines,elderly,lunar,coupled,flown,25th,espn,formula_1,bordered,fragments,guidelines,gymnasium,valued,complexity,papal,presumably,maternal,challenging,reunited,advancing,comprised,uncertain,favorable,twelfth,correspondent,nobility,livestock,expressway,chilean,tide,researcher,emissions,profits,lengths,accompanying,witnessed,itunes,drainage,slope,reinforced,feminist,sanskrit,develops,physicians,outlets,isbn,coordinator,averaged,termed,occupy,diagnosed,yearly,humanitarian,prospect,spacecraft,stems,enacted,linux,ancestors,karnataka,constitute,immigrant,thriller,ecclesiastical,generals,celebrations,enhance,heating,advocated,evident,advances,bombardment,watershed,shuttle,wicket,twitter,adds,branded,teaches,schemes,pension,advocacy,conservatory,cairo,varsity,freshwater,providence,seemingly,shells,cuisine,specially,peaks,intensive,publishes,trilogy,skilled,nacional,unemployment,destinations,parameters,verses,trafficking,determination,infinite,savings,alignment,linguistic,countryside,dissolution,measurements,advantages,licence,subfamily,highlands,modest,regent,algeria,crest,teachings,knockout,brewery,combine,conventions,descended,chassis,primitive,fiji,explicitly,cumberland,uruguay,laboratories,bypass,elect,informal,preceded,holocaust,tackle,minneapolis,quantity,securities,console,doctoral,religions,commissioners,expertise,unveiled,precise,diplomat,standings,infant,disciplines,sicily,endorsed,systematic,charted,armored,mild,lateral,townships,hurling,prolific,invested,wartime,compatible,galleries,moist,battlefield,decoration,convent,tubes,terrestrial,nominee,requests,delegate,leased,dubai,polar,applying,addresses,munster,sings,commercials,teamed,dances,eleventh,midland,cedar,flee,sandstone,snails,inspection,divide,asset,themed,comparable,paramount,dairy,archaeology,intact,institutes,rectangular,instances,phases,reflecting,substantially,applies,vacant,lacked,copa,coloured,encounters,sponsors,encoded,possess,revenues,ucla,chaired,a.m.,enabling,playwright,stoke,sociology,tibetan,frames,motto,financing,illustrations,gibraltar,chateau,bolivia,transmitted,enclosed,persuaded,urged,folded,suffolk,regulated,bros.,submarines,myth,oriental,malaysian,effectiveness,narrowly,acute,sunk,replied,utilized,tasmania,consortium,quantities,gains,parkway,enlarged,sided,employers,adequate,accordingly,assumption,ballad,mascot,distances,peaking,saxony,projected,affiliation,limitations,metals,guatemala,scots,theaters,kindergarten,verb,employer,differs,discharge,controller,seasonal,marching,guru,campuses,avoided,vatican,maori,excessive,chartered,modifications,caves,monetary,sacramento,mixing,institutional,celebrities,irrigation,shapes,broadcaster,anthem,attributes,demolition,offshore,specification,surveys,yugoslav,contributor,auditorium,lebanese,capturing,airports,classrooms,chennai,paths,tendency,determining,lacking,upgrade,sailors,detected,kingdoms,sovereignty,freely,decorative,momentum,scholarly,georges,gandhi,speculation,transactions,undertook,interact,similarities,cove,teammate,constituted,painters,tends,madagascar,partnerships,afghan,personalities,attained,rebounds,masses,synagogue,reopened,asylum,embedded,imaging,catalogue,defenders,taxonomy,fiber,afterward,appealed,communists,lisbon,rica,judaism,adviser,batsman,ecological,commands,lgbt,cooling,accessed,wards,shiva,employs,thirds,scenic,worcester,tallest,contestant,humanities,economist,textile,constituencies,motorway,tram,percussion,cloth,leisure,1880s,baden,flags,resemble,riots,coined,sitcom,composite,implies,daytime,tanzania,penalties,optional,competitor,excluded,steering,reversed,autonomy,reviewer,breakthrough,professionally,damages,pomeranian,deputies,valleys,ventures,highlighted,electorate,mapping,shortened,executives,tertiary,specimen,launching,bibliography,sank,pursuing,binary,descendant,marched,natives,ideology,turks,adolf,archdiocese,tribunal,exceptional,nigerian,preference,fails,loading,comeback,vacuum,favored,alter,remnants,consecrated,spectators,trends,patriarch,feedback,paved,sentences,councillor,astronomy,advocates,broader,commentator,commissions,identifying,revealing,theatres,incomplete,enables,constituent,reformation,tract,haiti,atmospheric,screened,explosive,czechoslovakia,acids,symbolic,subdivision,liberals,incorporate,challenger,erie,filmmaker,laps,kazakhstan,organizational,evolutionary,chemicals,dedication,riverside,fauna,moths,maharashtra,annexed,gen.,resembles,underwater,garnered,timeline,remake,suited,educator,hectares,automotive,feared,latvia,finalist,narrator,portable,airways,plaque,designing,villagers,licensing,flank,statues,struggles,deutsche,migrated,cellular,jacksonville,wimbledon,defining,highlight,preparatory,planets,cologne,employ,frequencies,detachment,readily,libya,resign,halt,helicopters,reef,landmarks,collaborative,irregular,retaining,helsinki,folklore,weakened,viscount,interred,professors,memorable,mega,repertoire,rowing,dorsal,albeit,progressed,operative,coronation,liner,telugu,domains,philharmonic,detect,bengali,synthetic,tensions,atlas,dramatically,paralympics,xbox,shire,kiev,lengthy,sued,notorious,seas,screenwriter,transfers,aquatic,pioneers,unesco,radius,abundant,tunnels,syndicated,inventor,accreditation,janeiro,exeter,ceremonial,omaha,cadet,predators,resided,prose,slavic,precision,abbot,deity,engaging,cambodia,estonian,compliance,demonstrations,protesters,reactor,commodore,successes,chronicles,mare,extant,listings,minerals,tonnes,parody,cultivated,traders,pioneering,supplement,slovak,preparations,collision,partnered,vocational,atoms,malayalam,welcomed,documentation,curved,functioning,presently,formations,incorporates,nazis,botanical,nucleus,ethical,greeks,metric,automated,whereby,stance,europeans,duet,disability,purchasing,email,telescope,displaced,sodium,comparative,processor,inning,precipitation,aesthetic,import,coordination,feud,alternatively,mobility,tibet,regained,succeeding,hierarchy,apostolic,catalog,reproduction,inscriptions,vicar,clusters,posthumously,rican,loosely,additions,photographic,nowadays,selective,derivative,keyboards,guides,collectively,affecting,combines,operas,networking,decisive,terminated,continuity,finishes,ancestor,consul,heated,simulation,leipzig,incorporating,georgetown,formula_2,circa,forestry,portrayal,councillors,advancement,complained,forewings,confined,transaction,definitions,reduces,televised,1890s,rapids,phenomena,belarus,alps,landscapes,quarterly,specifications,commemorate,continuation,isolation,antenna,downstream,patents,ensuing,tended,saga,lifelong,columnist,labeled,gymnastics,papua,anticipated,demise,encompasses,madras,antarctica,interval,icon,rams,midlands,ingredients,priory,strengthen,rouge,explicit,gaza,aging,securing,anthropology,listeners,adaptations,underway,vista,malay,fortified,lightweight,violations,concerto,financed,jesuit,observers,trustee,descriptions,nordic,resistant,opted,accepts,prohibition,andhra,inflation,negro,wholly,imagery,spur,instructed,gloucester,cycles,middlesex,destroyers,statewide,evacuated,hyderabad,peasants,mice,shipyard,coordinate,pitching,colombian,exploring,numbering,compression,countess,hiatus,exceed,raced,archipelago,traits,soils,o'connor,vowel,android,facto,angola,amino,holders,logistics,circuits,emergence,kuwait,partition,emeritus,outcomes,submission,promotes,barack,negotiated,loaned,stripped,50th,excavations,treatments,fierce,participant,exports,decommissioned,cameo,remarked,residences,fuselage,mound,undergo,quarry,node,midwest,specializing,occupies,etc.,showcase,molecule,offs,modules,salon,exposition,revision,peers,positioned,hunters,competes,algorithms,reside,zagreb,calcium,uranium,silicon,airs,counterpart,outlet,collectors,sufficiently,canberra,inmates,anatomy,ensuring,curves,aviv,firearms,basque,volcano,thrust,sheikh,extensions,installations,aluminum,darker,sacked,emphasized,aligned,asserted,pseudonym,spanning,decorations,eighteenth,orbital,spatial,subdivided,notation,decay,macedonian,amended,declining,cyclist,feat,unusually,commuter,birthplace,latitude,activation,overhead,30th,finalists,whites,encyclopedia,tenor,qatar,survives,complement,concentrations,uncommon,astronomical,bangalore,pius,genome,memoir,recruit,prosecutor,modification,paired,container,basilica,arlington,displacement,germanic,mongolia,proportional,debates,matched,calcutta,rows,tehran,aerospace,prevalent,arise,lowland,24th,spokesman,supervised,advertisements,clash,tunes,revelation,wanderers,quarterfinals,fisheries,steadily,memoirs,pastoral,renewable,confluence,acquiring,strips,slogan,upstream,scouting,analyst,practitioners,turbine,strengthened,heavier,prehistoric,plural,excluding,isles,persecution,turin,rotating,villain,hemisphere,unaware,arabs,corpus,relied,singular,unanimous,schooling,passive,angles,dominance,instituted,aria,outskirts,balanced,beginnings,financially,structured,parachute,viewer,attitudes,subjected,escapes,derbyshire,erosion,addressing,styled,declaring,originating,colts,adjusted,stained,occurrence,fortifications,baghdad,nitrogen,localities,yemen,galway,debris,lodz,victorious,pharmaceutical,substances,unnamed,dwelling,atop,developmental,activism,voter,refugee,forested,relates,overlooking,genocide,kannada,insufficient,oversaw,partisan,dioxide,recipients,factions,mortality,capped,expeditions,receptors,reorganized,prominently,atom,flooded,flute,orchestral,scripts,mathematician,airplay,detached,rebuilding,dwarf,brotherhood,salvation,expressions,arabian,cameroon,poetic,recruiting,bundesliga,inserted,scrapped,disabilities,evacuation,pasha,undefeated,crafts,rituals,aluminium,norm,pools,submerged,occupying,pathway,exams,prosperity,wrestlers,promotions,basal,permits,nationalism,trim,merge,gazette,tributaries,transcription,caste,porto,emerge,modeled,adjoining,counterparts,paraguay,redevelopment,renewal,unreleased,equilibrium,similarity,minorities,soviets,comprise,nodes,tasked,unrelated,expired,johan,precursor,examinations,electrons,socialism,exiled,admiralty,floods,wigan,nonprofit,lacks,brigades,screens,repaired,hanover,fascist,labs,osaka,delays,judged,statutory,colt,col.,offspring,solving,bred,assisting,retains,somalia,grouped,corresponds,tunisia,chaplain,eminent,chord,22nd,spans,viral,innovations,possessions,mikhail,kolkata,icelandic,implications,introduces,racism,workforce,alto,compulsory,admits,censorship,onset,reluctant,inferior,iconic,progression,liability,turnout,satellites,behavioral,coordinated,exploitation,posterior,averaging,fringe,krakow,mountainous,greenwich,para,plantations,reinforcements,offerings,famed,intervals,constraints,individually,nutrition,1870s,taxation,threshold,tomatoes,fungi,contractor,ethiopian,apprentice,diabetes,wool,gujarat,honduras,norse,bucharest,23rd,arguably,accompany,prone,teammates,perennial,vacancy,polytechnic,deficit,okinawa,functionality,reminiscent,tolerance,transferring,myanmar,concludes,neighbours,hydraulic,economically,slower,plots,charities,synod,investor,catholicism,identifies,bronx,interpretations,adverse,judiciary,hereditary,nominal,sensor,symmetry,cubic,triangular,tenants,divisional,outreach,representations,passages,undergoing,cartridge,testified,exceeded,impacts,limiting,railroads,defeats,regain,rendering,humid,retreated,reliability,governorate,antwerp,infamous,implied,packaging,lahore,trades,billed,extinction,ecole,rejoined,recognizes,projection,qualifications,stripes,forts,socially,lexington,accurately,sexuality,westward,wikipedia,pilgrimage,abolition,choral,stuttgart,nests,expressing,strikeouts,assessed,monasteries,reconstructed,humorous,marxist,fertile,consort,urdu,patronage,peruvian,devised,lyric,baba,nassau,communism,extraction,popularly,markings,inability,litigation,accounted,processed,emirates,tempo,cadets,eponymous,contests,broadly,oxide,courtyard,frigate,directory,apex,outline,regency,chiefly,patrols,secretariat,cliffs,residency,privy,armament,australians,dorset,geometric,genetics,scholarships,fundraising,flats,demographic,multimedia,captained,documentaries,updates,canvas,blockade,guerrilla,songwriting,administrators,intake,drought,implementing,fraction,cannes,refusal,inscribed,meditation,announcing,exported,ballots,formula_3,curator,basel,arches,flour,subordinate,confrontation,gravel,simplified,berkshire,patriotic,tuition,employing,servers,castile,posting,combinations,discharged,miniature,mutations,constellation,incarnation,ideals,necessity,granting,ancestral,crowds,pioneered,mormon,methodology,rama,indirect,complexes,bavarian,patrons,uttar,skeleton,bollywood,flemish,viable,bloc,breeds,triggered,sustainability,tailed,referenced,comply,takeover,latvian,homestead,platoon,communal,nationality,excavated,targeting,sundays,posed,physicist,turret,endowment,marginal,dispatched,commentators,renovations,attachment,collaborations,ridges,barriers,obligations,shareholders,prof.,defenses,presided,rite,backgrounds,arbitrary,affordable,gloucestershire,thirteenth,inlet,miniseries,possesses,detained,pressures,subscription,realism,solidarity,proto,postgraduate,noun,burmese,abundance,homage,reasoning,anterior,robust,fencing,shifting,vowels,garde,profitable,loch,anchored,coastline,samoa,terminology,prostitution,magistrate,venezuelan,speculated,regulate,fixture,colonists,digit,induction,manned,expeditionary,computational,centennial,principally,vein,preserving,engineered,numerical,cancellation,conferred,continually,borne,seeded,advertisement,unanimously,treaties,infections,ions,sensors,lowered,amphibious,lava,fourteenth,bahrain,niagara,nicaragua,squares,congregations,26th,periodic,proprietary,1860s,contributors,seller,overs,emission,procession,presumed,illustrator,zinc,gases,tens,applicable,stretches,reproductive,sixteenth,apparatus,accomplishments,canoe,guam,oppose,recruitment,accumulated,limerick,namibia,staging,remixes,ordnance,uncertainty,pedestrian,temperate,treason,deposited,registry,cerambycidae,attracting,lankan,reprinted,shipbuilding,homosexuality,neurons,eliminating,1900s,resume,ministries,beneficial,blackpool,surplus,northampton,licenses,constructing,announcer,standardized,alternatives,taipei,inadequate,failures,yields,medalist,titular,obsolete,torah,burlington,predecessors,lublin,retailers,castles,depiction,issuing,gubernatorial,propulsion,tiles,damascus,discs,alternating,pomerania,peasant,tavern,redesignated,27th,illustration,focal,mans,codex,specialists,productivity,antiquity,controversies,promoter,pits,companions,behaviors,lyrical,prestige,creativity,swansea,dramas,approximate,feudal,tissues,crude,campaigned,unprecedented,chancel,amendments,surroundings,allegiance,exchanges,align,firmly,optimal,commenting,reigning,landings,obscure,1850s,contemporaries,paternal,devi,endurance,communes,incorporation,denominations,exchanged,routing,resorts,amnesty,slender,explores,suppression,heats,pronunciation,centred,coupe,stirling,freelance,treatise,linguistics,laos,informs,discovering,pillars,encourages,halted,robots,definitive,maturity,tuberculosis,venetian,silesian,unchanged,originates,mali,lincolnshire,quotes,seniors,premise,contingent,distribute,danube,gorge,logging,dams,curling,seventeenth,specializes,wetlands,deities,assess,thickness,rigid,culminated,utilities,substrate,insignia,nile,assam,shri,currents,suffrage,canadians,mortar,asteroid,bosnian,discoveries,enzymes,sanctioned,replica,hymn,investigators,tidal,dominate,derivatives,converting,leinster,verbs,honoured,criticisms,dismissal,discrete,masculine,reorganization,unlimited,wurttemberg,sacks,allocation,bahn,jurisdictions,participates,lagoon,famine,communion,culminating,surveyed,shortage,cables,intersects,cassette,foremost,adopting,solicitor,outright,bihar,reissued,farmland,dissertation,turnpike,baton,photographed,christchurch,kyoto,finances,rails,histories,linebacker,kilkenny,accelerated,dispersed,handicap,absorption,rancho,ceramic,captivity,cites,font,weighed,mater,utilize,bravery,extract,validity,slovenian,seminars,discourse,ranged,duel,ironically,warships,sega,temporal,surpassed,prolonged,recruits,northumberland,greenland,contributes,patented,eligibility,unification,discusses,reply,translates,beirut,relies,torque,northward,reviewers,monastic,accession,neural,tramway,heirs,sikh,subscribers,amenities,taliban,audit,rotterdam,wagons,kurdish,favoured,combustion,meanings,persia,browser,diagnostic,niger,formula_4,denomination,dividing,parameter,branding,badminton,leningrad,sparked,hurricanes,beetles,propeller,mozambique,refined,diagram,exhaust,vacated,readings,markers,reconciliation,determines,concurrent,imprint,primera,organism,demonstrating,filmmakers,vanderbilt,affiliates,traction,evaluated,defendants,megachile,investigative,zambia,assassinated,rewarded,probable,staffordshire,foreigners,directorate,nominees,consolidation,commandant,reddish,differing,unrest,drilling,bohemia,resembling,instrumentation,considerations,haute,promptly,variously,dwellings,clans,tablet,enforced,cockpit,semifinal,hussein,prisons,ceylon,emblem,monumental,phrases,correspond,crossover,outlined,characterised,acceleration,caucus,crusade,protested,composing,rajasthan,habsburg,rhythmic,interception,inherent,cooled,ponds,spokesperson,gradual,consultation,kuala,globally,suppressed,builders,avengers,suffix,integer,enforce,fibers,unionist,proclamation,uncovered,infrared,adapt,eisenhower,utilizing,captains,stretched,observing,assumes,prevents,analyses,saxophone,caucasus,notices,villains,dartmouth,mongol,hostilities,stretching,veterinary,lenses,texture,prompting,overthrow,excavation,islanders,masovian,battleship,biographer,replay,degradation,departing,luftwaffe,fleeing,oversight,immigrated,serbs,fishermen,strengthening,respiratory,italians,denotes,radial,escorted,motif,wiltshire,expresses,accessories,reverted,establishments,inequality,protocols,charting,famously,satirical,entirety,trench,friction,atletico,sampling,subset,weekday,upheld,sharply,correlation,incorrect,mughal,travelers,hasan,earnings,offset,evaluate,specialised,recognizing,flexibility,nagar,postseason,algebraic,capitalism,crystals,melodies,polynomial,racecourse,defences,austro,wembley,attracts,anarchist,resurrection,reviewing,decreasing,prefix,ratified,mutation,displaying,separating,restoring,assemblies,ordinance,priesthood,cruisers,appoint,moldova,imports,directive,epidemic,militant,senegal,signaling,restriction,critique,retrospective,nationalists,undertake,sioux,canals,algerian,redesigned,philanthropist,depict,conceptual,turbines,intellectuals,eastward,applicants,contractors,vendors,undergone,namesake,ensured,tones,substituted,hindwings,arrests,tombs,transitional,principality,reelection,taiwanese,cavity,manifesto,broadcasters,spawned,thoroughbred,identities,generators,proposes,hydroelectric,johannesburg,cortex,scandinavian,killings,aggression,boycott,catalyst,physiology,fifteenth,waterfront,chromosome,organist,costly,calculation,cemeteries,flourished,recognise,juniors,merging,disciples,ashore,workplace,enlightenment,diminished,debated,hailed,podium,educate,mandated,distributor,litre,electromagnetic,flotilla,estuary,peterborough,staircase,selections,melodic,confronts,wholesale,integrate,intercepted,catalonia,unite,immense,palatinate,switches,earthquakes,occupational,successors,praising,concluding,faculties,firstly,overhaul,empirical,metacritic,inauguration,evergreen,laden,winged,philosophers,amalgamated,geoff,centimeters,napoleonic,upright,planting,brewing,fined,sensory,migrants,wherein,inactive,headmaster,warwickshire,siberia,terminals,denounced,academia,divinity,bilateral,clive,omitted,peerage,relics,apartheid,syndicate,fearing,fixtures,desirable,dismantled,ethnicity,valves,biodiversity,aquarium,ideological,visibility,creators,analyzed,tenant,balkan,postwar,supplier,smithsonian,risen,morphology,digits,bohemian,wilmington,vishnu,demonstrates,aforementioned,biographical,mapped,khorasan,phosphate,presentations,ecosystem,processors,calculations,mosaic,clashes,penned,recalls,coding,angular,lattice,macau,accountability,extracted,pollen,therapeutic,overlap,violinist,deposed,candidacy,infants,covenant,bacterial,restructuring,dungeons,ordination,conducts,builds,invasive,customary,concurrently,relocation,cello,statutes,borneo,entrepreneurs,sanctions,packet,rockefeller,piedmont,comparisons,waterfall,receptions,glacial,surge,signatures,alterations,advertised,enduring,somali,botanist,100th,canonical,motifs,longitude,circulated,alloy,indirectly,margins,preserves,internally,besieged,shale,peripheral,drained,baseman,reassigned,tobago,soloist,socio,grazing,contexts,roofs,portraying,ottomans,shrewsbury,noteworthy,lamps,supplying,beams,qualifier,portray,greenhouse,stronghold,hitter,rites,cretaceous,urging,derive,nautical,aiming,fortunes,verde,donors,reliance,exceeding,exclusion,exercised,simultaneous,continents,guiding,pillar,gradient,poznan,eruption,clinics,moroccan,indicator,trams,piers,parallels,fragment,teatro,potassium,satire,compressed,businessmen,influx,seine,perspectives,shelters,decreases,mounting,formula_5,confederacy,equestrian,expulsion,mayors,liberia,resisted,affinity,shrub,unexpectedly,stimulus,amtrak,deported,perpendicular,statesman,wharf,storylines,romanesque,weights,surfaced,interceptions,dhaka,crambidae,orchestras,rwanda,conclude,constitutes,subsidiaries,admissions,prospective,shear,bilingual,campaigning,presiding,domination,commemorative,trailing,confiscated,petrol,acquisitions,polymer,onlyinclude,chloride,elevations,resolutions,hurdles,pledged,likelihood,objected,erect,encoding,databases,aristotle,hindus,marshes,bowled,ministerial,grange,acronym,annexation,squads,ambient,pilgrims,botany,sofla,astronomer,planetary,descending,bestowed,ceramics,diplomacy,metabolism,colonization,potomac,africans,engraved,recycling,commitments,resonance,disciplinary,jamaican,narrated,spectral,tipperary,waterford,stationary,arbitration,transparency,threatens,crossroads,slalom,oversee,centenary,incidence,economies,livery,moisture,newsletter,autobiographical,bhutan,propelled,dependence,moderately,adobe,barrels,subdivisions,outlook,labelled,stratford,arising,diaspora,barony,automobiles,ornamental,slated,norms,primetime,generalized,analysts,vectors,libyan,yielded,certificates,rooted,vernacular,belarusian,marketplace,prediction,fairfax,malawi,viruses,wooded,demos,mauritius,prosperous,coincided,liberties,huddersfield,ascent,warnings,hinduism,glucose,pulitzer,unused,filters,illegitimate,acquitted,protestants,canopy,staple,psychedelic,winding,abbas,pathways,cheltenham,lagos,niche,invaders,proponents,barred,conversely,doncaster,recession,embraced,rematch,concession,emigration,upgrades,bowls,tablets,remixed,loops,kensington,shootout,monarchs,organizers,harmful,punjabi,broadband,exempt,neolithic,profiles,portrays,parma,cyrillic,quasi,attested,regimental,revive,torpedoes,heidelberg,rhythms,spherical,denote,hymns,icons,theologian,qaeda,exceptionally,reinstated,comune,playhouse,lobbying,grossing,viceroy,delivers,visually,armistice,utrecht,syllable,vertices,analogous,annex,refurbished,entrants,knighted,disciple,rhetoric,detailing,inactivated,ballads,algae,intensified,favourable,sanitation,receivers,pornography,commemorated,cannons,entrusted,manifold,photographers,pueblo,textiles,steamer,myths,marquess,onward,liturgical,romney,uzbekistan,consistency,denoted,hertfordshire,convex,hearings,sulfur,universidad,podcast,selecting,emperors,arises,justices,1840s,mongolian,exploited,termination,digitally,infectious,sedan,symmetric,penal,illustrate,formulation,attribute,problematic,modular,inverse,berth,searches,rutgers,leicestershire,enthusiasts,lockheed,upwards,transverse,accolades,backward,archaeologists,crusaders,nuremberg,defects,ferries,vogue,containers,openings,transporting,separates,lumpur,purchases,attain,wichita,topology,woodlands,deleted,periodically,syntax,overturned,musicals,corp.,strasbourg,instability,nationale,prevailing,cache,marathi,versailles,unmarried,grains,straits,antagonist,segregation,assistants,d'etat,contention,dictatorship,unpopular,motorcycles,criterion,analytical,salzburg,militants,hanged,worcestershire,emphasize,paralympic,erupted,convinces,offences,oxidation,nouns,populace,atari,spanned,hazardous,educators,playable,births,baha'i,preseason,generates,invites,meteorological,handbook,foothills,enclosure,diffusion,mirza,convergence,geelong,coefficient,connector,formula_6,cylindrical,disasters,pleaded,knoxville,contamination,compose,libertarian,arrondissement,franciscan,intercontinental,susceptible,initiation,malaria,unbeaten,consonants,waived,saloon,popularized,estadio,pseudo,interdisciplinary,transports,transformers,carriages,bombings,revolves,ceded,collaborator,celestial,exemption,colchester,maltese,oceanic,ligue,crete,shareholder,routed,depictions,ridden,advisors,calculate,lending,guangzhou,simplicity,newscast,scheduling,snout,eliot,undertaking,armenians,nottinghamshire,whitish,consulted,deficiency,salle,cinemas,superseded,rigorous,kerman,convened,landowners,modernization,evenings,pitches,conditional,scandinavia,differed,formulated,cyclists,swami,guyana,dunes,electrified,appalachian,abdomen,scenarios,prototypes,sindh,consonant,adaptive,boroughs,wolverhampton,modelling,cylinders,amounted,minimize,ambassadors,lenin,settler,coincide,approximation,grouping,murals,bullying,registers,rumours,engagements,energetic,vertex,annals,bordering,geologic,yellowish,runoff,converts,allegheny,facilitated,saturdays,colliery,monitored,rainforest,interfaces,geographically,impaired,prevalence,joachim,paperback,slowed,shankar,distinguishing,seminal,categorized,authorised,auspices,bandwidth,asserts,rebranded,balkans,supplemented,seldom,weaving,capsule,apostles,populous,monmouth,payload,symphonic,densely,shoreline,managerial,masonry,antioch,averages,textbooks,royalist,coliseum,tandem,brewers,diocesan,posthumous,walled,incorrectly,distributions,ensued,reasonably,graffiti,propagation,automation,harmonic,augmented,middleweight,limbs,elongated,landfall,comparatively,literal,grossed,koppen,wavelength,1830s,cerebral,boasts,congestion,physiological,practitioner,coasts,cartoonist,undisclosed,frontal,launches,burgundy,qualifiers,imposing,stade,flanked,assyrian,raided,multiplayer,montane,chesapeake,pathology,drains,vineyards,intercollegiate,semiconductor,grassland,convey,citations,predominant,rejects,benefited,yahoo,graphs,busiest,encompassing,hamlets,explorers,suppress,minors,graphical,calculus,sediment,intends,diverted,mainline,unopposed,cottages,initiate,alumnus,towed,autism,forums,darlington,modernist,oxfordshire,lectured,capitalist,suppliers,panchayat,actresses,foundry,southbound,commodity,wesleyan,divides,palestinians,luton,caretaker,nobleman,mutiny,organizer,preferences,nomenclature,splits,unwilling,offenders,timor,relying,halftime,semitic,arithmetic,milestone,jesuits,arctiidae,retrieved,consuming,contender,edged,plagued,inclusive,transforming,khmer,federally,insurgents,distributing,amherst,rendition,prosecutors,viaduct,disqualified,kabul,liturgy,prevailed,reelected,instructors,swimmers,aperture,churchyard,interventions,totals,darts,metropolis,fuels,fluent,northbound,correctional,inflicted,barrister,realms,culturally,aristocratic,collaborating,emphasizes,choreographer,inputs,ensembles,humboldt,practised,endowed,strains,infringement,archaeologist,congregational,magna,relativity,efficiently,proliferation,mixtape,abruptly,regeneration,commissioning,yukon,archaic,reluctantly,retailer,northamptonshire,universally,crossings,boilers,nickelodeon,revue,abbreviation,retaliation,scripture,routinely,medicinal,benedictine,kenyan,retention,deteriorated,glaciers,apprenticeship,coupling,researched,topography,entrances,anaheim,pivotal,compensate,arched,modify,reinforce,dusseldorf,journeys,motorsport,conceded,sumatra,spaniards,quantitative,loire,cinematography,discarded,botswana,morale,engined,zionist,philanthropy,sainte,fatalities,cypriot,motorsports,indicators,pricing,institut,bethlehem,implicated,gravitational,differentiation,rotor,thriving,precedent,ambiguous,concessions,forecast,conserved,fremantle,asphalt,landslide,middlesbrough,formula_7,humidity,overseeing,chronological,diaries,multinational,crimean,turnover,improvised,youths,declares,tasmanian,canadiens,fumble,refinery,weekdays,unconstitutional,upward,guardians,brownish,imminent,hamas,endorsement,naturalist,martyrs,caledonia,chords,yeshiva,reptiles,severity,mitsubishi,fairs,installment,substitution,repertory,keyboardist,interpreter,silesia,noticeable,rhineland,transmit,inconsistent,booklet,academies,epithet,pertaining,progressively,aquatics,scrutiny,prefect,toxicity,rugged,consume,o'donnell,evolve,uniquely,cabaret,mediated,landowner,transgender,palazzo,compilations,albuquerque,induce,sinai,remastered,efficacy,underside,analogue,specify,possessing,advocating,compatibility,liberated,greenville,mecklenburg,header,memorials,sewage,rhodesia,1800s,salaries,atoll,coordinating,partisans,repealed,amidst,subjective,optimization,nectar,evolving,exploits,madhya,styling,accumulation,raion,postage,responds,buccaneers,frontman,brunei,choreography,coated,kinetic,sampled,inflammatory,complementary,eclectic,norte,vijay,a.k.a,mainz,casualty,connectivity,laureate,franchises,yiddish,reputed,unpublished,economical,periodicals,vertically,bicycles,brethren,capacities,unitary,archeological,tehsil,domesday,wehrmacht,justification,angered,mysore,fielded,abuses,nutrients,ambitions,taluk,battleships,symbolism,superiority,neglect,attendees,commentaries,collaborators,predictions,yorker,breeders,investing,libretto,informally,coefficients,memorandum,pounder,collingwood,tightly,envisioned,arbor,mistakenly,captures,nesting,conflicting,enhancing,streetcar,manufactures,buckinghamshire,rewards,commemorating,stony,expenditure,tornadoes,semantic,relocate,weimar,iberian,sighted,intending,ensign,beverages,expectation,differentiate,centro,utilizes,saxophonist,catchment,transylvania,ecosystems,shortest,sediments,socialists,ineffective,kapoor,formidable,heroine,guantanamo,prepares,scattering,pamphlet,verified,elector,barons,totaling,shrubs,pyrenees,amalgamation,mutually,longitudinal,comte,negatively,masonic,envoy,sexes,akbar,mythical,tonga,bishopric,assessments,malaya,warns,interiors,reefs,reflections,neutrality,musically,nomadic,waterways,provence,collaborate,scaled,adulthood,emerges,euros,optics,incentives,overland,periodical,liege,awarding,realization,slang,affirmed,schooner,hokkaido,czechoslovak,protectorate,undrafted,disagreed,commencement,electors,spruce,swindon,fueled,equatorial,inventions,suites,slovene,backdrop,adjunct,energies,remnant,inhabit,alliances,simulcast,reactors,mosques,travellers,outfielder,plumage,migratory,benin,experimented,fibre,projecting,drafting,laude,evidenced,northernmost,indicted,directional,replication,croydon,comedies,jailed,organizes,devotees,reservoirs,turrets,originate,economists,songwriters,junta,trenches,mounds,proportions,comedic,apostle,azerbaijani,farmhouse,resembled,disrupted,playback,mixes,diagonal,relevance,govern,programmer,gdansk,maize,soundtracks,tendencies,mastered,impacted,believers,kilometre,intervene,chairperson,aerodrome,sails,subsidies,ensures,aesthetics,congresses,ratios,sardinia,southernmost,functioned,controllers,downward,randomly,distortion,regents,palatine,disruption,spirituality,vidhan,tracts,compiler,ventilation,anchorage,symposium,assert,pistols,excelled,avenues,convoys,moniker,constructions,proponent,phased,spines,organising,schleswig,policing,campeonato,mined,hourly,croix,lucrative,authenticity,haitian,stimulation,burkina,espionage,midfield,manually,staffed,awakening,metabolic,biographies,entrepreneurship,conspicuous,guangdong,preface,subgroup,mythological,adjutant,feminism,vilnius,oversees,honourable,tripoli,stylized,kinase,societe,notoriety,altitudes,configurations,outward,transmissions,announces,auditor,ethanol,clube,nanjing,mecca,haifa,blogs,postmaster,paramilitary,depart,positioning,potent,recognizable,spire,brackets,remembrance,overlapping,turkic,articulated,scientology,operatic,deploy,readiness,biotechnology,restrict,cinematographer,inverted,synonymous,administratively,westphalia,commodities,replaces,downloads,centralized,munitions,preached,sichuan,fashionable,implementations,matrices,hiv/aids,loyalist,luzon,celebrates,hazards,heiress,mercenaries,synonym,creole,ljubljana,technician,auditioned,technicians,viewpoint,wetland,mongols,princely,sharif,coating,dynasties,southward,doubling,formula_8,mayoral,harvesting,conjecture,goaltender,oceania,spokane,welterweight,bracket,gatherings,weighted,newscasts,mussolini,affiliations,disadvantage,vibrant,spheres,sultanate,distributors,disliked,establishes,marches,drastically,yielding,jewellery,yokohama,vascular,airlift,canons,subcommittee,repression,strengths,graded,outspoken,fused,pembroke,filmography,redundant,fatigue,repeal,threads,reissue,pennant,edible,vapor,corrections,stimuli,commemoration,dictator,anand,secession,amassed,orchards,pontifical,experimentation,greeted,bangor,forwards,decomposition,quran,trolley,chesterfield,traverse,sermons,burials,skier,climbs,consultants,petitioned,reproduce,parted,illuminated,kurdistan,reigned,occupants,packaged,geometridae,woven,regulating,protagonists,crafted,affluent,clergyman,consoles,migrant,supremacy,attackers,caliph,defect,convection,rallies,huron,resin,segunda,quota,warship,overseen,criticizing,shrines,glamorgan,lowering,beaux,hampered,invasions,conductors,collects,bluegrass,surrounds,substrates,perpetual,chronology,pulmonary,executions,crimea,compiling,noctuidae,battled,tumors,minsk,novgorod,serviced,yeast,computation,swamps,theodor,baronetcy,salford,uruguayan,shortages,odisha,siberian,novelty,cinematic,invitational,decks,dowager,oppression,bandits,appellate,state-of-the-art,clade,palaces,signalling,galaxies,industrialist,tensor,learnt,incurred,magistrates,binds,orbits,ciudad,willingness,peninsular,basins,biomedical,shafts,marlborough,bournemouth,withstand,fitzroy,dunedin,variance,steamship,integrating,muscular,fines,akron,bulbophyllum,malmo,disclosed,cornerstone,runways,medicines,twenty20,gettysburg,progresses,frigates,bodied,transformations,transforms,helens,modelled,versatile,regulator,pursuits,legitimacy,amplifier,scriptures,voyages,examines,presenters,octagonal,poultry,formula_9,anatolia,computed,migrate,directorial,hybrids,localized,preferring,guggenheim,persisted,grassroots,inflammation,fishery,otago,vigorous,professions,instructional,inexpensive,insurgency,legislators,sequels,surnames,agrarian,stainless,nairobi,minas,forerunner,aristocracy,transitions,sicilian,showcased,doses,hiroshima,summarized,gearbox,emancipation,limitation,nuclei,seismic,abandonment,dominating,appropriations,occupations,electrification,hilly,contracting,exaggerated,entertainer,kazan,oricon,cartridges,characterization,parcel,maharaja,exceeds,aspiring,obituary,flattened,contrasted,narration,replies,oblique,outpost,fronts,arranger,talmud,keynes,doctrines,endured,confesses,fortification,supervisors,kilometer,academie,jammu,bathurst,piracy,prostitutes,navarre,cumulative,cruises,lifeboat,twinned,radicals,interacting,expenditures,wexford,libre,futsal,curated,clockwise,colloquially,procurement,immaculate,lyricist,enhancement,porcelain,alzheimer,highlighting,judah,disagreements,storytelling,sheltered,wroclaw,vaudeville,contrasts,neoclassical,compares,contrasting,deciduous,francaise,descriptive,cyclic,reactive,antiquities,meiji,repeats,creditors,forcibly,newmarket,picturesque,impending,uneven,bison,raceway,solvent,ecumenical,optic,professorship,harvested,waterway,banjo,pharaoh,geologist,scanning,dissent,recycled,unmanned,retreating,gospels,aqueduct,branched,tallinn,groundbreaking,syllables,hangar,designations,procedural,craters,cabins,encryption,anthropologist,montevideo,outgoing,inverness,chattanooga,fascism,calais,chapels,groundwater,downfall,misleading,robotic,tortricidae,pixel,handel,prohibit,crewe,renaming,reprised,kickoff,leftist,spaced,integers,causeway,pines,authorship,organise,ptolemy,accessibility,virtues,lesions,iroquois,qur'an,atheist,synthesized,biennial,confederates,dietary,skaters,stresses,tariff,koreans,intercity,republics,quintet,baroness,naive,amplitude,insistence,tbilisi,residues,grammatical,diversified,egyptians,accompaniment,vibration,repository,mandal,topological,distinctions,coherent,invariant,batters,nuevo,internationals,implements,follower,bahia,widened,independents,cantonese,totaled,guadalajara,wolverines,befriended,muzzle,surveying,hungarians,medici,deportation,rayon,approx,recounts,attends,clerical,hellenic,furnished,alleging,soluble,systemic,gallantry,bolshevik,intervened,hostel,gunpowder,specialising,stimulate,leiden,removes,thematic,floral,bafta,printers,conglomerate,eroded,analytic,successively,lehigh,thessaloniki,kilda,clauses,ascended,nehru,scripted,tokugawa,competence,diplomats,exclude,consecration,freedoms,assaults,revisions,blacksmith,textual,sparse,concacaf,slain,uploaded,enraged,whaling,guise,stadiums,debuting,dormitory,cardiovascular,yunnan,dioceses,consultancy,notions,lordship,archdeacon,collided,medial,airfields,garment,wrestled,adriatic,reversal,refueling,verification,jakob,horseshoe,intricate,veracruz,sarawak,syndication,synthesizer,anthologies,stature,feasibility,guillaume,narratives,publicized,antrim,intermittent,constituents,grimsby,filmmaking,doping,unlawful,nominally,transmitting,documenting,seater,internationale,ejected,steamboat,alsace,boise,ineligible,geared,vassal,mustered,ville,inline,pairing,eurasian,kyrgyzstan,barnsley,reprise,stereotypes,rushes,conform,firefighters,deportivo,revolutionaries,rabbis,concurrency,charters,sustaining,aspirations,algiers,chichester,falkland,morphological,systematically,volcanoes,designate,artworks,reclaimed,jurist,anglia,resurrected,chaotic,feasible,circulating,simulated,environmentally,confinement,adventist,harrisburg,laborers,ostensibly,universiade,pensions,influenza,bratislava,octave,refurbishment,gothenburg,putin,barangay,annapolis,breaststroke,illustrates,distorted,choreographed,promo,emphasizing,stakeholders,descends,exhibiting,intrinsic,invertebrates,evenly,roundabout,salts,formula_10,strata,inhibition,branching,stylistic,rumored,realises,mitochondrial,commuted,adherents,logos,bloomberg,telenovela,guineas,charcoal,engages,winery,reflective,siena,cambridgeshire,ventral,flashback,installing,engraving,grasses,traveller,rotated,proprietor,nationalities,precedence,sourced,trainers,cambodian,reductions,depleted,saharan,classifications,biochemistry,plaintiffs,arboretum,humanist,fictitious,aleppo,climates,bazaar,his/her,homogeneous,multiplication,moines,indexed,linguist,skeletal,foliage,societal,differentiated,informing,mammal,infancy,archival,cafes,malls,graeme,musee,schizophrenia,fargo,pronouns,derivation,descend,ascending,terminating,deviation,recaptured,confessions,weakening,tajikistan,bahadur,pasture,b/hip,donegal,supervising,sikhs,thinkers,euclidean,reinforcement,friars,portage,fuscous,lucknow,synchronized,assertion,choirs,privatization,corrosion,multitude,skyscraper,royalties,ligament,usable,spores,directs,clashed,stockport,fronted,dependency,contiguous,biologist,backstroke,powerhouse,frescoes,phylogenetic,welding,kildare,gabon,conveyed,augsburg,severn,continuum,sahib,lille,injuring,passeriformesfamily,succeeds,translating,unitarian,startup,turbulent,outlying,philanthropic,stanislaw,idols,claremont,conical,haryana,armagh,blended,implicit,conditioned,modulation,rochdale,labourers,coinage,shortstop,potsdam,gears,obesity,bestseller,advisers,bouts,comedians,jozef,lausanne,taxonomic,correlated,columbian,marne,indications,psychologists,libel,edict,beaufort,disadvantages,renal,finalized,racehorse,unconventional,disturbances,falsely,zoology,adorned,redesign,executing,narrower,commended,appliances,stalls,resurgence,saskatoon,miscellaneous,permitting,epoch,formula_11,cumbria,forefront,vedic,eastenders,disposed,supermarkets,rower,inhibitor,magnesium,colourful,yusuf,harrow,formulas,centrally,balancing,ionic,nocturnal,consolidate,ornate,raiding,charismatic,accelerate,nominate,residual,dhabi,commemorates,attribution,uninhabited,mindanao,atrocities,genealogical,romani,applicant,enactment,abstraction,trough,pulpit,minuscule,misconduct,grenades,timely,supplements,messaging,curvature,ceasefire,telangana,susquehanna,braking,redistribution,shreveport,neighbourhoods,gregorian,widowed,khuzestan,empowerment,scholastic,evangelist,peptide,topical,theorist,historia,thence,sudanese,museo,jurisprudence,masurian,frankish,headlined,recounted,netball,petitions,tolerant,hectare,truncated,southend,methane,captives,reigns,massif,subunit,acidic,weightlifting,footballers,sabah,britannia,tunisian,segregated,sawmill,withdrawing,unpaid,weaponry,somme,perceptions,unicode,alcoholism,durban,wrought,waterfalls,jihad,auschwitz,upland,eastbound,adjective,anhalt,evaluating,regimes,guildford,reproduced,pamphlets,hierarchical,maneuvers,hanoi,fabricated,repetition,enriched,arterial,replacements,tides,globalization,adequately,westbound,satisfactory,fleets,phosphorus,lastly,neuroscience,anchors,xinjiang,membranes,improvisation,shipments,orthodoxy,submissions,bolivian,mahmud,ramps,leyte,pastures,outlines,flees,transmitters,fares,sequential,stimulated,novice,alternately,symmetrical,breakaway,layered,baronets,lizards,blackish,edouard,horsepower,penang,principals,mercantile,maldives,overwhelmingly,hawke,rallied,prostate,conscription,juveniles,maccabi,carvings,strikers,sudbury,spurred,improves,lombardy,macquarie,parisian,elastic,distillery,shetland,humane,brentford,wrexham,warehouses,routines,encompassed,introductory,isfahan,instituto,palais,revolutions,sporadic,impoverished,portico,fellowships,speculative,enroll,dormant,adhere,fundamentally,sculpted,meritorious,template,upgrading,reformer,rectory,uncredited,indicative,creeks,galveston,radically,hezbollah,firearm,educating,prohibits,trondheim,locus,refit,headwaters,screenings,lowlands,wasps,coarse,attaining,sedimentary,perished,pitchfork,interned,cerro,stagecoach,aeronautical,liter,transitioned,haydn,inaccurate,legislatures,bromwich,knesset,spectroscopy,butte,asiatic,degraded,concordia,catastrophic,lobes,wellness,pensacola,periphery,hapoel,theta,horizontally,freiburg,liberalism,pleas,durable,warmian,offenses,mesopotamia,shandong,unsuitable,hospitalized,appropriately,phonetic,encompass,conversions,observes,illnesses,breakout,assigns,crowns,inhibitors,nightly,manifestation,fountains,maximize,alphabetical,sloop,expands,newtown,widening,gaddafi,commencing,camouflage,footprint,tyrol,barangays,universite,highlanders,budgets,query,lobbied,westchester,equator,stipulated,pointe,distinguishes,allotted,embankment,advises,storing,loyalists,fourier,rehearsals,starvation,gland,rihanna,tubular,expressive,baccalaureate,intersections,revered,carbonate,eritrea,craftsmen,cosmopolitan,sequencing,corridors,shortlisted,bangladeshi,persians,mimic,parades,repetitive,recommends,flanks,promoters,incompatible,teaming,ammonia,greyhound,solos,improper,legislator,newsweek,recurrent,vitro,cavendish,eireann,crises,prophets,mandir,strategically,guerrillas,formula_12,ghent,contenders,equivalence,drone,sociological,hamid,castes,statehood,aland,clinched,relaunched,tariffs,simulations,williamsburg,rotate,mediation,smallpox,harmonica,lodges,lavish,restrictive,o'sullivan,detainees,polynomials,echoes,intersecting,learners,elects,charlemagne,defiance,epsom,liszt,facilitating,absorbing,revelations,padua,pieter,pious,penultimate,mammalian,montenegrin,supplementary,widows,aromatic,croats,roanoke,trieste,legions,subdistrict,babylonian,grasslands,volga,violently,sparsely,oldies,telecommunication,respondents,quarries,downloadable,commandos,taxpayer,catalytic,malabar,afforded,copying,declines,nawab,junctions,assessing,filtering,classed,disused,compliant,christoph,gottingen,civilizations,hermitage,caledonian,whereupon,ethnically,springsteen,mobilization,terraces,indus,excel,zoological,enrichment,simulate,guitarists,registrar,cappella,invoked,reused,manchu,configured,uppsala,genealogy,mergers,casts,curricular,rebelled,subcontinent,horticultural,parramatta,orchestrated,dockyard,claudius,decca,prohibiting,turkmenistan,brahmin,clandestine,obligatory,elaborated,parasitic,helix,constraint,spearheaded,rotherham,eviction,adapting,albans,rescues,sociologist,guiana,convicts,occurrences,kamen,antennas,asturias,wheeled,sanitary,deterioration,trier,theorists,baseline,announcements,valea,planners,factual,serialized,serials,bilbao,demoted,fission,jamestown,cholera,alleviate,alteration,indefinite,sulfate,paced,climatic,valuation,artisans,proficiency,aegean,regulators,fledgling,sealing,influencing,servicemen,frequented,cancers,tambon,narayan,bankers,clarified,embodied,engraver,reorganisation,dissatisfied,dictated,supplemental,temperance,ratification,puget,nutrient,pretoria,papyrus,uniting,ascribed,cores,coptic,schoolhouse,barrio,1910s,armory,defected,transatlantic,regulates,ported,artefacts,specifies,boasted,scorers,mollusks,emitted,navigable,quakers,projective,dialogues,reunification,exponential,vastly,banners,unsigned,dissipated,halves,coincidentally,leasing,purported,escorting,estimation,foxes,lifespan,inflorescence,assimilation,showdown,staunch,prologue,ligand,superliga,telescopes,northwards,keynote,heaviest,taunton,redeveloped,vocalists,podlaskie,soyuz,rodents,azores,moravian,outset,parentheses,apparel,domestically,authoritative,polymers,monterrey,inhibit,launcher,jordanian,folds,taxis,mandates,singled,liechtenstein,subsistence,marxism,ousted,governorship,servicing,offseason,modernism,prism,devout,translators,islamist,chromosomes,pitted,bedfordshire,fabrication,authoritarian,javanese,leaflets,transient,substantive,predatory,sigismund,assassinate,diagrams,arrays,rediscovered,reclamation,spawning,fjord,peacekeeping,strands,fabrics,highs,regulars,tirana,ultraviolet,athenian,filly,barnet,naacp,nueva,favourites,terminates,showcases,clones,inherently,interpreting,bjorn,finely,lauded,unspecified,chola,pleistocene,insulation,antilles,donetsk,funnel,nutritional,biennale,reactivated,southport,primate,cavaliers,austrians,interspersed,restarted,suriname,amplifiers,wladyslaw,blockbuster,sportsman,minogue,brightness,benches,bridgeport,initiating,israelis,orbiting,newcomers,externally,scaling,transcribed,impairment,luxurious,longevity,impetus,temperament,ceilings,tchaikovsky,spreads,pantheon,bureaucracy,1820s,heraldic,villas,formula_13,galician,meath,avoidance,corresponded,headlining,connacht,seekers,rappers,solids,monograph,scoreless,opole,isotopes,himalayas,parodies,garments,microscopic,republished,havilland,orkney,demonstrators,pathogen,saturated,hellenistic,facilitates,aerodynamic,relocating,indochina,laval,astronomers,bequeathed,administrations,extracts,nagoya,torquay,demography,medicare,ambiguity,renumbered,pursuant,concave,syriac,electrode,dispersal,henan,bialystok,walsall,crystalline,puebla,janata,illumination,tianjin,enslaved,coloration,championed,defamation,grille,johor,rejoin,caspian,fatally,planck,workings,appointing,institutionalized,wessex,modernized,exemplified,regatta,jacobite,parochial,programmers,blending,eruptions,insurrection,regression,indices,sited,dentistry,mobilized,furnishings,levant,primaries,ardent,nagasaki,conqueror,dorchester,opined,heartland,amman,mortally,wellesley,bowlers,outputs,coveted,orthography,immersion,disrepair,disadvantaged,curate,childless,condensed,codice_1,remodeled,resultant,bolsheviks,superfamily,saxons,2010s,contractual,rivalries,malacca,oaxaca,magnate,vertebrae,quezon,olympiad,yucatan,tyres,macro,specialization,commendation,caliphate,gunnery,exiles,excerpts,fraudulent,adjustable,aramaic,interceptor,drumming,standardization,reciprocal,adolescents,federalist,aeronautics,favorably,enforcing,reintroduced,zhejiang,refining,biplane,banknotes,accordion,intersect,illustrating,summits,classmate,militias,biomass,massacres,epidemiology,reworked,wrestlemania,nantes,auditory,taxon,elliptical,chemotherapy,asserting,avoids,proficient,airmen,yellowstone,multicultural,alloys,utilization,seniority,kuyavian,huntsville,orthogonal,bloomington,cultivars,casimir,internment,repulsed,impedance,revolving,fermentation,parana,shutout,partnering,empowered,islamabad,polled,classify,amphibians,greyish,obedience,4x100,projectile,khyber,halfback,relational,d'ivoire,synonyms,endeavour,padma,customized,mastery,defenceman,berber,purge,interestingly,covent,promulgated,restricting,condemnation,hillsborough,walkers,privateer,intra,captaincy,naturalized,huffington,detecting,hinted,migrating,bayou,counterattack,anatomical,foraging,unsafe,swiftly,outdated,paraguayan,attire,masjid,endeavors,jerseys,triassic,quechua,growers,axial,accumulate,wastewater,cognition,fungal,animator,pagoda,kochi,uniformly,antibody,yerevan,hypotheses,combatants,italianate,draining,fragmentation,snowfall,formative,inversion,kitchener,identifier,additive,lucha,selects,ashland,cambrian,racetrack,trapping,congenital,primates,wavelengths,expansions,yeomanry,harcourt,wealthiest,awaited,punta,intervening,aggressively,vichy,piloted,midtown,tailored,heyday,metadata,guadalcanal,inorganic,hadith,pulses,francais,tangent,scandals,erroneously,tractors,pigment,constabulary,jiangsu,landfill,merton,basalt,astor,forbade,debuts,collisions,exchequer,stadion,roofed,flavour,sculptors,conservancy,dissemination,electrically,undeveloped,existent,surpassing,pentecostal,manifested,amend,formula_14,superhuman,barges,tunis,analytics,argyll,liquids,mechanized,domes,mansions,himalayan,indexing,reuters,nonlinear,purification,exiting,timbers,triangles,decommissioning,departmental,causal,fonts,americana,sept.,seasonally,incomes,razavi,sheds,memorabilia,rotational,terre,sutra,protege,yarmouth,grandmaster,annum,looted,imperialism,variability,liquidation,baptised,isotope,showcasing,milling,rationale,hammersmith,austen,streamlined,acknowledging,contentious,qaleh,breadth,turing,referees,feral,toulon,unofficially,identifiable,standout,labeling,dissatisfaction,jurgen,angrily,featherweight,cantons,constrained,dominates,standalone,relinquished,theologians,markedly,italics,downed,nitrate,likened,gules,craftsman,singaporean,pixels,mandela,moray,parity,departement,antigen,academically,burgh,brahma,arranges,wounding,triathlon,nouveau,vanuatu,banded,acknowledges,unearthed,stemming,authentication,byzantines,converge,nepali,commonplace,deteriorating,recalling,palette,mathematicians,greenish,pictorial,ahmedabad,rouen,validation,u.s.a.,'best,malvern,archers,converter,undergoes,fluorescent,logistical,notification,transvaal,illicit,symphonies,stabilization,worsened,fukuoka,decrees,enthusiast,seychelles,blogger,louvre,dignitaries,burundi,wreckage,signage,pinyin,bursts,federer,polarization,urbana,lazio,schism,nietzsche,venerable,administers,seton,kilograms,invariably,kathmandu,farmed,disqualification,earldom,appropriated,fluctuations,kermanshah,deployments,deformation,wheelbase,maratha,psalm,bytes,methyl,engravings,skirmish,fayette,vaccines,ideally,astrology,breweries,botanic,opposes,harmonies,irregularities,contended,gaulle,prowess,constants,aground,filipinos,fresco,ochreous,jaipur,willamette,quercus,eastwards,mortars,champaign,braille,reforming,horned,hunan,spacious,agitation,draught,specialties,flourishing,greensboro,necessitated,swedes,elemental,whorls,hugely,structurally,plurality,synthesizers,embassies,assad,contradictory,inference,discontent,recreated,inspectors,unicef,commuters,embryo,modifying,stints,numerals,communicated,boosted,trumpeter,brightly,adherence,remade,leases,restrained,eucalyptus,dwellers,planar,grooves,gainesville,daimler,anzac,szczecin,cornerback,prized,peking,mauritania,khalifa,motorized,lodging,instrumentalist,fortresses,cervical,formula_15,passerine,sectarian,researches,apprenticed,reliefs,disclose,gliding,repairing,queue,kyushu,literate,canoeing,sacrament,separatist,calabria,parkland,flowed,investigates,statistically,visionary,commits,dragoons,scrolls,premieres,revisited,subdued,censored,patterned,elective,outlawed,orphaned,leyland,richly,fujian,miniatures,heresy,plaques,countered,nonfiction,exponent,moravia,dispersion,marylebone,midwestern,enclave,ithaca,federated,electronically,handheld,microscopy,tolls,arrivals,climbers,continual,cossacks,moselle,deserts,ubiquitous,gables,forecasts,deforestation,vertebrates,flanking,drilled,superstructure,inspected,consultative,bypassed,ballast,subsidy,socioeconomic,relic,grenada,journalistic,administering,accommodated,collapses,appropriation,reclassified,foreword,porte,assimilated,observance,fragmented,arundel,thuringia,gonzaga,shenzhen,shipyards,sectional,ayrshire,sloping,dependencies,promenade,ecuadorian,mangrove,constructs,goalscorer,heroism,iteration,transistor,omnibus,hampstead,cochin,overshadowed,chieftain,scalar,finishers,ghanaian,abnormalities,monoplane,encyclopaedia,characterize,travancore,baronetage,bearers,biking,distributes,paving,christened,inspections,banco,humber,corinth,quadratic,albanians,lineages,majored,roadside,inaccessible,inclination,darmstadt,fianna,epilepsy,propellers,papacy,montagu,bhutto,sugarcane,optimized,pilasters,contend,batsmen,brabant,housemates,sligo,ascot,aquinas,supervisory,accorded,gerais,echoed,nunavut,conservatoire,carniola,quartermaster,gminas,impeachment,aquitaine,reformers,quarterfinal,karlsruhe,accelerator,coeducational,archduke,gelechiidae,seaplane,dissident,frenchman,palau,depots,hardcover,aachen,darreh,denominational,groningen,parcels,reluctance,drafts,elliptic,counters,decreed,airship,devotional,contradiction,formula_16,undergraduates,qualitative,guatemalan,slavs,southland,blackhawks,detrimental,abolish,chechen,manifestations,arthritis,perch,fated,hebei,peshawar,palin,immensely,havre,totalling,rampant,ferns,concourse,triples,elites,olympian,larva,herds,lipid,karabakh,distal,monotypic,vojvodina,batavia,multiplied,spacing,spellings,pedestrians,parchment,glossy,industrialization,dehydrogenase,patriotism,abolitionist,mentoring,elizabethan,figurative,dysfunction,abyss,constantin,middletown,stigma,mondays,gambia,gaius,israelites,renounced,nepalese,overcoming,buren,sulphur,divergence,predation,looting,iberia,futuristic,shelved,anthropological,innsbruck,escalated,clermont,entrepreneurial,benchmark,mechanically,detachments,populist,apocalyptic,exited,embryonic,stanza,readership,chiba,landlords,expansive,boniface,therapies,perpetrators,whitehall,kassel,masts,carriageway,clinch,pathogens,mazandaran,undesirable,teutonic,miocene,nagpur,juris,cantata,compile,diffuse,dynastic,reopening,comptroller,o'neal,flourish,electing,scientifically,departs,welded,modal,cosmology,fukushima,libertadores,chang'an,asean,generalization,localization,afrikaans,cricketers,accompanies,emigrants,esoteric,southwards,shutdown,prequel,fittings,innate,wrongly,equitable,dictionaries,senatorial,bipolar,flashbacks,semitism,walkway,lyrically,legality,sorbonne,vigorously,durga,samoan,karel,interchanges,patna,decider,registering,electrodes,anarchists,excursion,overthrown,gilan,recited,michelangelo,advertiser,kinship,taboo,cessation,formula_17,premiers,traversed,madurai,poorest,torneo,exerted,replicate,spelt,sporadically,horde,landscaping,razed,hindered,esperanto,manchuria,propellant,jalan,baha'is,sikkim,linguists,pandit,racially,ligands,dowry,francophone,escarpment,behest,magdeburg,mainstay,villiers,yangtze,grupo,conspirators,martyrdom,noticeably,lexical,kazakh,unrestricted,utilised,sired,inhabits,proofs,joseon,pliny,minted,buddhists,cultivate,interconnected,reuse,viability,australasian,derelict,resolving,overlooks,menon,stewardship,playwrights,thwarted,filmfare,disarmament,protections,bundles,sidelined,hypothesized,singer/songwriter,forage,netted,chancery,townshend,restructured,quotation,hyperbolic,succumbed,parliaments,shenandoah,apical,kibbutz,storeys,pastors,lettering,ukrainians,hardships,chihuahua,avail,aisles,taluka,antisemitism,assent,ventured,banksia,seamen,hospice,faroe,fearful,woreda,outfield,chlorine,transformer,tatar,panoramic,pendulum,haarlem,styria,cornice,importing,catalyzes,subunits,enamel,bakersfield,realignment,sorties,subordinates,deanery,townland,gunmen,tutelage,evaluations,allahabad,thrace,veneto,mennonite,sharia,subgenus,satisfies,puritan,unequal,gastrointestinal,ordinances,bacterium,horticulture,argonauts,adjectives,arable,duets,visualization,woolwich,revamped,euroleague,thorax,completes,originality,vasco,freighter,sardar,oratory,sects,extremes,signatories,exporting,arisen,exacerbated,departures,saipan,furlongs,d'italia,goring,dakar,conquests,docked,offshoot,okrug,referencing,disperse,netting,summed,rewritten,articulation,humanoid,spindle,competitiveness,preventive,facades,westinghouse,wycombe,synthase,emulate,fostering,abdel,hexagonal,myriad,caters,arjun,dismay,axiom,psychotherapy,colloquial,complemented,martinique,fractures,culmination,erstwhile,atrium,electronica,anarchism,nadal,montpellier,algebras,submitting,adopts,stemmed,overcame,internacional,asymmetric,gallipoli,gliders,flushing,extermination,hartlepool,tesla,interwar,patriarchal,hitherto,ganges,combatant,marred,philology,glastonbury,reversible,isthmus,undermined,southwark,gateshead,andalusia,remedies,hastily,optimum,smartphone,evade,patrolled,beheaded,dopamine,waivers,ugandan,gujarati,densities,predicting,intestinal,tentative,interstellar,kolonia,soloists,penetrated,rebellions,qeshlaq,prospered,colegio,deficits,konigsberg,deficient,accessing,relays,kurds,politburo,codified,incarnations,occupancy,cossack,metaphysical,deprivation,chopra,piccadilly,formula_18,makeshift,protestantism,alaskan,frontiers,faiths,tendon,dunkirk,durability,autobots,bonuses,coinciding,emails,gunboat,stucco,magma,neutrons,vizier,subscriptions,visuals,envisaged,carpets,smoky,schema,parliamentarian,immersed,domesticated,parishioners,flinders,diminutive,mahabharata,ballarat,falmouth,vacancies,gilded,twigs,mastering,clerics,dalmatia,islington,slogans,compressor,iconography,congolese,sanction,blends,bulgarians,moderator,outflow,textures,safeguard,trafalgar,tramways,skopje,colonialism,chimneys,jazeera,organisers,denoting,motivations,ganga,longstanding,deficiencies,gwynedd,palladium,holistic,fascia,preachers,embargo,sidings,busan,ignited,artificially,clearwater,cemented,northerly,salim,equivalents,crustaceans,oberliga,quadrangle,historiography,romanians,vaults,fiercely,incidental,peacetime,tonal,bhopal,oskar,radha,pesticides,timeslot,westerly,cathedrals,roadways,aldershot,connectors,brahmins,paler,aqueous,gustave,chromatic,linkage,lothian,specialises,aggregation,tributes,insurgent,enact,hampden,ghulam,federations,instigated,lyceum,fredrik,chairmanship,floated,consequent,antagonists,intimidation,patriarchate,warbler,heraldry,entrenched,expectancy,habitation,partitions,widest,launchers,nascent,ethos,wurzburg,lycee,chittagong,mahatma,merseyside,asteroids,yokosuka,cooperatives,quorum,redistricting,bureaucratic,yachts,deploying,rustic,phonology,chorale,cellist,stochastic,crucifixion,surmounted,confucian,portfolios,geothermal,crested,calibre,tropics,deferred,nasir,iqbal,persistence,essayist,chengdu,aborigines,fayetteville,bastion,interchangeable,burlesque,kilmarnock,specificity,tankers,colonels,fijian,quotations,enquiry,quito,palmerston,delle,multidisciplinary,polynesian,iodine,antennae,emphasised,manganese,baptists,galilee,jutland,latent,excursions,skepticism,tectonic,precursors,negligible,musique,misuse,vitoria,expressly,veneration,sulawesi,footed,mubarak,chongqing,chemically,midday,ravaged,facets,varma,yeovil,ethnographic,discounted,physicists,attache,disbanding,essen,shogunate,cooperated,waikato,realising,motherwell,pharmacology,sulfide,inward,expatriate,devoid,cultivar,monde,andean,groupings,goran,unaffected,moldovan,postdoctoral,coleophora,delegated,pronoun,conductivity,coleridge,disapproval,reappeared,microbial,campground,olsztyn,fostered,vaccination,rabbinical,champlain,milestones,viewership,caterpillar,effected,eupithecia,financier,inferred,uzbek,bundled,bandar,balochistan,mysticism,biosphere,holotype,symbolizes,lovecraft,photons,abkhazia,swaziland,subgroups,measurable,falkirk,valparaiso,ashok,discriminatory,rarity,tabernacle,flyweight,jalisco,westernmost,antiquarian,extracellular,margrave,colspan=9,midsummer,digestive,reversing,burgeoning,substitutes,medallist,khrushchev,guerre,folio,detonated,partido,plentiful,aggregator,medallion,infiltration,shaded,santander,fared,auctioned,permian,ramakrishna,andorra,mentors,diffraction,bukit,potentials,translucent,feminists,tiers,protracted,coburg,wreath,guelph,adventurer,he/she,vertebrate,pipelines,celsius,outbreaks,australasia,deccan,garibaldi,unionists,buildup,biochemical,reconstruct,boulders,stringent,barbed,wording,furnaces,pests,befriends,organises,popes,rizal,tentacles,cadre,tallahassee,punishments,occidental,formatted,mitigation,rulings,rubens,cascades,inducing,choctaw,volta,synagogues,movable,altarpiece,mitigate,practise,intermittently,encountering,memberships,earns,signify,retractable,amounting,pragmatic,wilfrid,dissenting,divergent,kanji,reconstituted,devonian,constitutions,levied,hendrik,starch,costal,honduran,ditches,polygon,eindhoven,superstars,salient,argus,punitive,purana,alluvial,flaps,inefficient,retracted,advantageous,quang,andersson,danville,binghamton,symbolize,conclave,shaanxi,silica,interpersonal,adept,frans,pavilions,lubbock,equip,sunken,limburg,activates,prosecutions,corinthian,venerated,shootings,retreats,parapet,orissa,riviere,animations,parodied,offline,metaphysics,bluffs,plume,piety,fruition,subsidized,steeplechase,shanxi,eurasia,angled,forecasting,suffragan,ashram,larval,labyrinth,chronicler,summaries,trailed,merges,thunderstorms,filtered,formula_19,advertisers,alpes,informatics,parti,constituting,undisputed,certifications,javascript,molten,sclerosis,rumoured,boulogne,hmong,lewes,breslau,notts,bantu,ducal,messengers,radars,nightclubs,bantamweight,carnatic,kaunas,fraternal,triggering,controversially,londonderry,visas,scarcity,offaly,uprisings,repelled,corinthians,pretext,kuomintang,kielce,empties,matriculated,pneumatic,expos,agile,treatises,midpoint,prehistory,oncology,subsets,hydra,hypertension,axioms,wabash,reiterated,swapped,achieves,premio,ageing,overture,curricula,challengers,subic,selangor,liners,frontline,shutter,validated,normalized,entertainers,molluscs,maharaj,allegation,youngstown,synth,thoroughfare,regionally,pillai,transcontinental,pedagogical,riemann,colonia,easternmost,tentatively,profiled,herefordshire,nativity,meuse,nucleotide,inhibits,huntingdon,throughput,recorders,conceding,domed,homeowners,centric,gabled,canoes,fringes,breeder,subtitled,fluoride,haplogroup,zionism,izmir,phylogeny,kharkiv,romanticism,adhesion,usaaf,delegations,lorestan,whalers,biathlon,vaulted,mathematically,pesos,skirmishes,heisman,kalamazoo,gesellschaft,launceston,interacts,quadruple,kowloon,psychoanalysis,toothed,ideologies,navigational,valence,induces,lesotho,frieze,rigging,undercarriage,explorations,spoof,eucharist,profitability,virtuoso,recitals,subterranean,sizeable,herodotus,subscriber,huxley,pivot,forewing,warring,boleslaw,bharatiya,suffixes,trois,percussionist,downturn,garrisons,philosophies,chants,mersin,mentored,dramatist,guilds,frameworks,thermodynamic,venomous,mehmed,assembling,rabbinic,hegemony,replicas,enlargement,claimant,retitled,utica,dumfries,metis,deter,assortment,tubing,afflicted,weavers,rupture,ornamentation,transept,salvaged,upkeep,callsign,rajput,stevenage,trimmed,intracellular,synchronization,consular,unfavorable,royalists,goldwyn,fasting,hussars,doppler,obscurity,currencies,amiens,acorn,tagore,townsville,gaussian,migrations,porta,anjou,graphite,seaport,monographs,gladiators,metrics,calligraphy,sculptural,swietokrzyskie,tolombeh,eredivisie,shoals,queries,carts,exempted,fiberglass,mirrored,bazar,progeny,formalized,mukherjee,professed,amazon.com,cathode,moreton,removable,mountaineers,nagano,transplantation,augustinian,steeply,epilogue,adapter,decisively,accelerating,mediaeval,substituting,tasman,devonshire,litres,enhancements,himmler,nephews,bypassing,imperfect,argentinian,reims,integrates,sochi,ascii,licences,niches,surgeries,fables,versatility,indra,footpath,afonso,crore,evaporation,encodes,shelling,conformity,simplify,updating,quotient,overt,firmware,umpires,architectures,eocene,conservatism,secretion,embroidery,f.c..,tuvalu,mosaics,shipwreck,prefectural,cohort,grievances,garnering,centerpiece,apoptosis,djibouti,bethesda,formula_20,shonen,richland,justinian,dormitories,meteorite,reliably,obtains,pedagogy,hardness,cupola,manifolds,amplification,steamers,familial,dumbarton,jerzy,genital,maidstone,salinity,grumman,signifies,presbytery,meteorology,procured,aegis,streamed,deletion,nuestra,mountaineering,accords,neuronal,khanate,grenoble,axles,dispatches,tokens,turku,auctions,propositions,planters,proclaiming,recommissioned,stravinsky,obverse,bombarded,waged,saviour,massacred,reformist,purportedly,resettlement,ravenna,embroiled,minden,revitalization,hikers,bridging,torpedoed,depletion,nizam,affectionately,latitudes,lubeck,spore,polymerase,aarhus,nazism,101st,buyout,galerie,diets,overflow,motivational,renown,brevet,deriving,melee,goddesses,demolish,amplified,tamworth,retake,brokerage,beneficiaries,henceforth,reorganised,silhouette,browsers,pollutants,peron,lichfield,encircled,defends,bulge,dubbing,flamenco,coimbatore,refinement,enshrined,grizzlies,capacitor,usefulness,evansville,interscholastic,rhodesian,bulletins,diamondbacks,rockers,platted,medalists,formosa,transporter,slabs,guadeloupe,disparate,concertos,violins,regaining,mandible,untitled,agnostic,issuance,hamiltonian,brampton,srpska,homology,downgraded,florentine,epitaph,kanye,rallying,analysed,grandstand,infinitely,antitrust,plundered,modernity,colspan=3|total,amphitheatre,doric,motorists,yemeni,carnivorous,probabilities,prelate,struts,scrapping,bydgoszcz,pancreatic,signings,predicts,compendium,ombudsman,apertura,appoints,rebbe,stereotypical,valladolid,clustered,touted,plywood,inertial,kettering,curving,d'honneur,housewives,grenadier,vandals,barbarossa,necked,waltham,reputedly,jharkhand,cistercian,pursues,viscosity,organiser,cloister,islet,stardom,moorish,himachal,strives,scripps,staggered,blasts,westwards,millimeters,angolan,hubei,agility,admirals,mordellistena,coincides,platte,vehicular,cordillera,riffs,schoolteacher,canaan,acoustics,tinged,reinforcing,concentrates,daleks,monza,selectively,musik,polynesia,exporter,reviving,macclesfield,bunkers,ballets,manors,caudal,microbiology,primes,unbroken,outcry,flocks,pakhtunkhwa,abelian,toowoomba,luminous,mould,appraisal,leuven,experimentally,interoperability,hideout,perak,specifying,knighthood,vasily,excerpt,computerized,niels,networked,byzantium,reaffirmed,geographer,obscured,fraternities,mixtures,allusion,accra,lengthened,inquest,panhandle,pigments,revolts,bluetooth,conjugate,overtaken,foray,coils,breech,streaks,impressionist,mendelssohn,intermediary,panned,suggestive,nevis,upazila,rotunda,mersey,linnaeus,anecdotes,gorbachev,viennese,exhaustive,moldavia,arcades,irrespective,orator,diminishing,predictive,cohesion,polarized,montage,avian,alienation,conus,jaffna,urbanization,seawater,extremity,editorials,scrolling,dreyfus,traverses,topographic,gunboats,extratropical,normans,correspondents,recognises,millennia,filtration,ammonium,voicing,complied,prefixes,diplomas,figurines,weakly,gated,oscillator,lucerne,embroidered,outpatient,airframe,fractional,disobedience,quarterbacks,formula_21,shinto,chiapas,epistle,leakage,pacifist,avignon,penrith,renders,mantua,screenplays,gustaf,tesco,alphabetically,rations,discharges,headland,tapestry,manipur,boolean,mediator,ebenezer,subchannel,fable,bestselling,ateneo,trademarks,recurrence,dwarfs,britannica,signifying,vikram,mediate,condensation,censuses,verbandsgemeinde,cartesian,sprang,surat,britons,chelmsford,courtenay,statistic,retina,abortions,liabilities,closures,mississauga,skyscrapers,saginaw,compounded,aristocrat,msnbc,stavanger,septa,interpretive,hinder,visibly,seeding,shutouts,irregularly,quebecois,footbridge,hydroxide,implicitly,lieutenants,simplex,persuades,midshipman,heterogeneous,officiated,crackdown,lends,tartu,altars,fractions,dissidents,tapered,modernisation,scripting,blazon,aquaculture,thermodynamics,sistan,hasidic,bellator,pavia,propagated,theorized,bedouin,transnational,mekong,chronicled,declarations,kickstarter,quotas,runtime,duquesne,broadened,clarendon,brownsville,saturation,tatars,electorates,malayan,replicated,observable,amphitheater,endorsements,referral,allentown,mormons,pantomime,eliminates,typeface,allegorical,varna,conduction,evoke,interviewer,subordinated,uyghur,landscaped,conventionally,ascend,edifice,postulated,hanja,whitewater,embarking,musicologist,tagalog,frontage,paratroopers,hydrocarbons,transliterated,nicolae,viewpoints,surrealist,asheville,falklands,hacienda,glide,opting,zimbabwean,discal,mortgages,nicaraguan,yadav,ghosh,abstracted,castilian,compositional,cartilage,intergovernmental,forfeited,importation,rapping,artes,republika,narayana,condominium,frisian,bradman,duality,marche,extremist,phosphorylation,genomes,allusions,valencian,habeas,ironworks,multiplex,harpsichord,emigrate,alternated,breda,waffen,smartphones,familiarity,regionalliga,herbaceous,piping,dilapidated,carboniferous,xviii,critiques,carcinoma,sagar,chippewa,postmodern,neapolitan,excludes,notoriously,distillation,tungsten,richness,installments,monoxide,chand,privatisation,molded,maths,projectiles,luoyang,epirus,lemma,concentric,incline,erroneous,sideline,gazetted,leopards,fibres,renovate,corrugated,unilateral,repatriation,orchestration,saeed,rockingham,loughborough,formula_22,bandleader,appellation,openness,nanotechnology,massively,tonnage,dunfermline,exposes,moored,ridership,motte,eurobasket,majoring,feats,silla,laterally,playlist,downwards,methodologies,eastbourne,daimyo,cellulose,leyton,norwalk,oblong,hibernian,opaque,insular,allegory,camogie,inactivation,favoring,masterpieces,rinpoche,serotonin,portrayals,waverley,airliner,longford,minimalist,outsourcing,excise,meyrick,qasim,organisational,synaptic,farmington,gorges,scunthorpe,zoned,tohoku,librarians,davao,decor,theatrically,brentwood,pomona,acquires,planter,capacitors,synchronous,skateboarding,coatings,turbocharged,ephraim,capitulation,scoreboard,hebrides,ensues,cereals,ailing,counterpoint,duplication,antisemitic,clique,aichi,oppressive,transcendental,incursions,rename,renumbering,powys,vestry,bitterly,neurology,supplanted,affine,susceptibility,orbiter,activating,overlaps,ecoregion,raman,canoer,darfur,microorganisms,precipitated,protruding,torun,anthropologists,rennes,kangaroos,parliamentarians,edits,littoral,archived,begum,rensselaer,microphones,ypres,empower,etruscan,wisden,montfort,calibration,isomorphic,rioting,kingship,verbally,smyrna,cohesive,canyons,fredericksburg,rahul,relativistic,micropolitan,maroons,industrialized,henchmen,uplift,earthworks,mahdi,disparity,cultured,transliteration,spiny,fragmentary,extinguished,atypical,inventors,biosynthesis,heralded,curacao,anomalies,aeroplane,surya,mangalore,maastricht,ashkenazi,fusiliers,hangzhou,emitting,monmouthshire,schwarzenegger,ramayana,peptides,thiruvananthapuram,alkali,coimbra,budding,reasoned,epithelial,harbors,rudimentary,classically,parque,ealing,crusades,rotations,riparian,pygmy,inertia,revolted,microprocessor,calendars,solvents,kriegsmarine,accademia,cheshmeh,yoruba,ardabil,mitra,genomic,notables,propagate,narrates,univision,outposts,polio,birkenhead,urinary,crocodiles,pectoral,barrymore,deadliest,rupees,chaim,protons,comical,astrophysics,unifying,formula_23,vassals,cortical,audubon,pedals,tenders,resorted,geophysical,lenders,recognising,tackling,lanarkshire,doctrinal,annan,combating,guangxi,estimating,selectors,tribunals,chambered,inhabiting,exemptions,curtailed,abbasid,kandahar,boron,bissau,150th,codenamed,wearer,whorl,adhered,subversive,famer,smelting,inserting,mogadishu,zoologist,mosul,stumps,almanac,olympiacos,stamens,participatory,cults,honeycomb,geologists,dividend,recursive,skiers,reprint,pandemic,liber,percentages,adversely,stoppage,chieftains,tubingen,southerly,overcrowding,unorganized,hangars,fulfil,hails,cantilever,woodbridge,pinus,wiesbaden,fertilization,fluorescence,enhances,plenary,troublesome,episodic,thrissur,kickboxing,allele,staffing,garda,televisions,philatelic,spacetime,bullpen,oxides,leninist,enrolling,inventive,truro,compatriot,ruskin,normative,assay,gotha,murad,illawarra,gendarmerie,strasse,mazraeh,rebounded,fanfare,liaoning,rembrandt,iranians,emirate,governs,latency,waterfowl,chairmen,katowice,aristocrats,eclipsed,sentient,sonatas,interplay,sacking,decepticons,dynamical,arbitrarily,resonant,petar,velocities,alludes,wastes,prefectures,belleville,sensibility,salvadoran,consolidating,medicaid,trainees,vivekananda,molar,porous,upload,youngster,infused,doctorates,wuhan,annihilation,enthusiastically,gamespot,kanpur,accumulating,monorail,operetta,tiling,sapporo,finns,calvinist,hydrocarbon,sparrows,orienteering,cornelis,minster,vuelta,plebiscite,embraces,panchayats,focussed,remediation,brahman,olfactory,reestablished,uniqueness,northumbria,rwandan,predominately,abode,ghats,balances,californian,uptake,bruges,inert,westerns,reprints,cairn,yarra,resurfaced,audible,rossini,regensburg,italiana,fleshy,irrigated,alerts,yahya,varanasi,marginalized,expatriates,cantonment,normandie,sahitya,directives,rounder,hulls,fictionalized,constables,inserts,hipped,potosi,navies,biologists,canteen,husbandry,augment,fortnight,assamese,kampala,o'keefe,paleolithic,bluish,promontory,consecutively,striving,niall,reuniting,dipole,friendlies,disapproved,thrived,netflix,liberian,dielectric,medway,strategist,sankt,pickups,hitters,encode,rerouted,claimants,anglesey,partitioned,cavan,flutes,reared,repainted,armaments,bowed,thoracic,balliol,piero,chaplains,dehestan,sender,junkers,sindhi,sickle,dividends,metallurgy,honorific,berths,namco,springboard,resettled,gansu,copyrighted,criticizes,utopian,bendigo,ovarian,binomial,spaceflight,oratorio,proprietors,supergroup,duplicated,foreground,strongholds,revolved,optimize,layouts,westland,hurler,anthropomorphic,excelsior,merchandising,reeds,vetoed,cryptography,hollyoaks,monash,flooring,ionian,resilience,johnstown,resolves,lawmakers,alegre,wildcards,intolerance,subculture,selector,slums,formulate,bayonet,istvan,restitution,interchangeably,awakens,rostock,serpentine,oscillation,reichstag,phenotype,recessed,piotr,annotated,preparedness,consultations,clausura,preferential,euthanasia,genoese,outcrops,freemasonry,geometrical,genesee,islets,prometheus,panamanian,thunderbolt,terraced,stara,shipwrecks,futebol,faroese,sharqi,aldermen,zeitung,unify,formula_24,humanism,syntactic,earthen,blyth,taxed,rescinded,suleiman,cymru,dwindled,vitality,superieure,resupply,adolphe,ardennes,rajiv,profiling,olympique,gestation,interfaith,milosevic,tagline,funerary,druze,silvery,plough,shrubland,relaunch,disband,nunatak,minimizing,excessively,waned,attaching,luminosity,bugle,encampment,electrostatic,minesweeper,dubrovnik,rufous,greenock,hochschule,assyrians,extracting,malnutrition,priya,attainment,anhui,connotations,predicate,seabirds,deduced,pseudonyms,gopal,plovdiv,refineries,imitated,kwazulu,terracotta,tenets,discourses,brandeis,whigs,dominions,pulmonate,landslides,tutors,determinant,richelieu,farmstead,tubercles,technicolor,hegel,redundancy,greenpeace,shortening,mules,distilled,xxiii,fundamentalist,acrylic,outbuildings,lighted,corals,signaled,transistors,cavite,austerity,76ers,exposures,dionysius,outlining,commutative,permissible,knowledgeable,howrah,assemblage,inhibited,crewmen,mbit/s,pyramidal,aberdeenshire,bering,rotates,atheism,howitzer,saone,lancet,fermented,contradicted,materiel,ofsted,numeric,uniformity,josephus,nazarene,kuwaiti,noblemen,pediment,emergent,campaigner,akademi,murcia,perugia,gallen,allsvenskan,finned,cavities,matriculation,rosters,twickenham,signatory,propel,readable,contends,artisan,flamboyant,reggio,italo,fumbles,widescreen,rectangle,centimetres,collaborates,envoys,rijeka,phonological,thinly,refractive,civilisation,reductase,cognate,dalhousie,monticello,lighthouses,jitsu,luneburg,socialite,fermi,collectible,optioned,marquee,jokingly,architecturally,kabir,concubine,nationalisation,watercolor,wicklow,acharya,pooja,leibniz,rajendra,nationalized,stalemate,bloggers,glutamate,uplands,shivaji,carolingian,bucuresti,dasht,reappears,muscat,functionally,formulations,hinged,hainan,catechism,autosomal,incremental,asahi,coeur,diversification,multilateral,fewest,recombination,finisher,harrogate,hangul,feasts,photovoltaic,paget,liquidity,alluded,incubation,applauded,choruses,malagasy,hispanics,bequest,underparts,cassava,kazimierz,gastric,eradication,mowtowr,tyrosine,archbishopric,e9e9e9,unproductive,uxbridge,hydrolysis,harbours,officio,deterministic,devonport,kanagawa,breaches,freetown,rhinoceros,chandigarh,janos,sanatorium,liberator,inequalities,agonist,hydrophobic,constructors,nagorno,snowboarding,welcomes,subscribed,iloilo,resuming,catalysts,stallions,jawaharlal,harriers,definitively,roughriders,hertford,inhibiting,elgar,randomized,incumbents,episcopate,rainforests,yangon,improperly,kemal,interpreters,diverged,uttarakhand,umayyad,phnom,panathinaikos,shabbat,diode,jiangxi,forbidding,nozzle,artistry,licensee,processions,staffs,decimated,expressionism,shingle,palsy,ontology,mahayana,maribor,sunil,hostels,edwardian,jetty,freehold,overthrew,eukaryotic,schuylkill,rawalpindi,sheath,recessive,ferenc,mandibles,berlusconi,confessor,convergent,ababa,slugging,rentals,sephardic,equivalently,collagen,markov,dynamically,hailing,depressions,sprawling,fairgrounds,indistinguishable,plutarch,pressurized,banff,coldest,braunschweig,mackintosh,sociedad,wittgenstein,tromso,airbase,lecturers,subtitle,attaches,purified,contemplated,dreamworks,telephony,prophetic,rockland,aylesbury,biscay,coherence,aleksandar,judoka,pageants,theses,homelessness,luthor,sitcoms,hinterland,fifths,derwent,privateers,enigmatic,nationalistic,instructs,superimposed,conformation,tricycle,dusan,attributable,unbeknownst,laptops,etching,archbishops,ayatollah,cranial,gharbi,interprets,lackawanna,abingdon,saltwater,tories,lender,minaj,ancillary,ranching,pembrokeshire,topographical,plagiarism,murong,marque,chameleon,assertions,infiltrated,guildhall,reverence,schenectady,formula_25,kollam,notary,mexicana,initiates,abdication,basra,theorems,ionization,dismantling,eared,censors,budgetary,numeral,verlag,excommunicated,distinguishable,quarried,cagliari,hindustan,symbolizing,watertown,descartes,relayed,enclosures,militarily,sault,devolved,dalian,djokovic,filaments,staunton,tumour,curia,villainous,decentralized,galapagos,moncton,quartets,onscreen,necropolis,brasileiro,multipurpose,alamos,comarca,jorgen,concise,mercia,saitama,billiards,entomologist,montserrat,lindbergh,commuting,lethbridge,phoenician,deviations,anaerobic,denouncing,redoubt,fachhochschule,principalities,negros,announcers,seconded,parrots,konami,revivals,approving,devotee,riyadh,overtook,morecambe,lichen,expressionist,waterline,silverstone,geffen,sternites,aspiration,behavioural,grenville,tripura,mediums,genders,pyotr,charlottesville,sacraments,programmable,ps100,shackleton,garonne,sumerian,surpass,authorizing,interlocking,lagoons,voiceless,advert,steeple,boycotted,alouettes,yosef,oxidative,sassanid,benefiting,sayyid,nauru,predetermined,idealism,maxillary,polymerization,semesters,munchen,conor,outfitted,clapham,progenitor,gheorghe,observational,recognitions,numerically,colonized,hazrat,indore,contaminants,fatality,eradicate,assyria,convocation,cameos,skillful,skoda,corfu,confucius,overtly,ramadan,wollongong,placements,d.c..,permutation,contemporaneous,voltages,elegans,universitat,samar,plunder,dwindling,neuter,antonin,sinhala,campania,solidified,stanzas,fibrous,marburg,modernize,sorcery,deutscher,florets,thakur,disruptive,infielder,disintegration,internazionale,vicariate,effigy,tripartite,corrective,klamath,environs,leavenworth,sandhurst,workmen,compagnie,hoseynabad,strabo,palisades,ordovician,sigurd,grandsons,defection,viacom,sinhalese,innovator,uncontrolled,slavonic,indexes,refrigeration,aircrew,superbike,resumption,neustadt,confrontations,arras,hindenburg,ripon,embedding,isomorphism,dwarves,matchup,unison,lofty,argos,louth,constitutionally,transitive,newington,facelift,degeneration,perceptual,aviators,enclosing,igneous,symbolically,academician,constitutionality,iso/iec,sacrificial,maturation,apprentices,enzymology,naturalistic,hajji,arthropods,abbess,vistula,scuttled,gradients,pentathlon,etudes,freedmen,melaleuca,thrice,conductive,sackville,franciscans,stricter,golds,kites,worshiped,monsignor,trios,orally,tiered,primacy,bodywork,castleford,epidemics,alveolar,chapelle,chemists,hillsboro,soulful,warlords,ngati,huguenot,diurnal,remarking,luger,motorways,gauss,jahan,cutoff,proximal,bandai,catchphrase,jonubi,ossetia,codename,codice_2,throated,itinerant,chechnya,riverfront,leela,evoked,entailed,zamboanga,rejoining,circuitry,haymarket,khartoum,feuds,braced,miyazaki,mirren,lubusz,caricature,buttresses,attrition,characterizes,widnes,evanston,materialism,contradictions,marist,midrash,gainsborough,ulithi,turkmen,vidya,escuela,patrician,inspirations,reagent,premierships,humanistic,euphrates,transitioning,belfry,zedong,adaption,kaliningrad,lobos,epics,waiver,coniferous,polydor,inductee,refitted,moraine,unsatisfactory,worsening,polygamy,rajya,nested,subgenre,broadside,stampeders,lingua,incheon,pretender,peloton,persuading,excitation,multan,predates,tonne,brackish,autoimmune,insulated,podcasts,iraqis,bodybuilding,condominiums,midlothian,delft,debtor,asymmetrical,lycaenidae,forcefully,pathogenic,tamaulipas,andaman,intravenous,advancements,senegalese,chronologically,realigned,inquirer,eusebius,dekalb,additives,shortlist,goldwater,hindustani,auditing,caterpillars,pesticide,nakhon,ingestion,lansdowne,traditionalist,northland,thunderbirds,josip,nominating,locale,ventricular,animators,verandah,epistles,surveyors,anthems,dredd,upheaval,passaic,anatolian,svalbard,associative,floodplain,taranaki,estuaries,irreducible,beginners,hammerstein,allocate,coursework,secreted,counteract,handwritten,foundational,passover,discoverer,decoding,wares,bourgeoisie,playgrounds,nazionale,abbreviations,seanad,golan,mishra,godavari,rebranding,attendances,backstory,interrupts,lettered,hasbro,ultralight,hormozgan,armee,moderne,subdue,disuse,improvisational,enrolment,persists,moderated,carinthia,hatchback,inhibitory,capitalized,anatoly,abstracts,albemarle,bergamo,insolvency,sentai,cellars,walloon,joked,kashmiri,dirac,materialized,renomination,homologous,gusts,eighteens,centrifugal,storied,baluchestan,formula_26,poincare,vettel,infuriated,gauges,streetcars,vedanta,stately,liquidated,goguryeo,swifts,accountancy,levee,acadian,hydropower,eustace,comintern,allotment,designating,torsion,molding,irritation,aerobic,halen,concerted,plantings,garrisoned,gramophone,cytoplasm,onslaught,requisitioned,relieving,genitive,centrist,jeong,espanola,dissolving,chatterjee,sparking,connaught,varese,arjuna,carpathian,empowering,meteorologist,decathlon,opioid,hohenzollern,fenced,ibiza,avionics,footscray,scrum,discounts,filament,directories,a.f.c,stiffness,quaternary,adventurers,transmits,harmonious,taizong,radiating,germantown,ejection,projectors,gaseous,nahuatl,vidyalaya,nightlife,redefined,refuted,destitute,arista,potters,disseminated,distanced,jamboree,kaohsiung,tilted,lakeshore,grained,inflicting,kreis,novelists,descendents,mezzanine,recast,fatah,deregulation,ac/dc,australis,kohgiluyeh,boreal,goths,authoring,intoxicated,nonpartisan,theodosius,pyongyang,shree,boyhood,sanfl,plenipotentiary,photosynthesis,presidium,sinaloa,honshu,texan,avenida,transmembrane,malays,acropolis,catalunya,vases,inconsistencies,methodists,quell,suisse,banat,simcoe,cercle,zealanders,discredited,equine,sages,parthian,fascists,interpolation,classifying,spinoff,yehuda,cruised,gypsum,foaled,wallachia,saraswati,imperialist,seabed,footnotes,nakajima,locales,schoolmaster,drosophila,bridgehead,immanuel,courtier,bookseller,niccolo,stylistically,portmanteau,superleague,konkani,millimetres,arboreal,thanjavur,emulation,sounders,decompression,commoners,infusion,methodological,osage,rococo,anchoring,bayreuth,formula_27,abstracting,symbolized,bayonne,electrolyte,rowed,corvettes,traversing,editorship,sampler,presidio,curzon,adirondack,swahili,rearing,bladed,lemur,pashtun,behaviours,bottling,zaire,recognisable,systematics,leeward,formulae,subdistricts,smithfield,vijaya,buoyancy,boosting,cantonal,rishi,airflow,kamakura,adana,emblems,aquifer,clustering,husayn,woolly,wineries,montessori,turntable,exponentially,caverns,espoused,pianists,vorpommern,vicenza,latterly,o'rourke,williamstown,generale,kosice,duisburg,poirot,marshy,mismanagement,mandalay,dagenham,universes,chiral,radiated,stewards,vegan,crankshaft,kyrgyz,amphibian,cymbals,infrequently,offenbach,environmentalist,repatriated,permutations,midshipmen,loudoun,refereed,bamberg,ornamented,nitric,selim,translational,dorsum,annunciation,gippsland,reflector,informational,regia,reactionary,ahmet,weathering,erlewine,legalized,berne,occupant,divas,manifests,analyzes,disproportionate,mitochondria,totalitarian,paulista,interscope,anarcho,correlate,brookfield,elongate,brunel,ordinal,precincts,volatility,equaliser,hittite,somaliland,ticketing,monochrome,ubuntu,chhattisgarh,titleholder,ranches,referendums,blooms,accommodates,merthyr,religiously,ryukyu,tumultuous,checkpoints,anode,mi'kmaq,cannonball,punctuation,remodelled,assassinations,criminology,alternates,yonge,pixar,namibian,piraeus,trondelag,hautes,lifeboats,shoal,atelier,vehemently,sadat,postcode,jainism,lycoming,undisturbed,lutherans,genomics,popmatters,tabriz,isthmian,notched,autistic,horsham,mites,conseil,bloomsbury,seung,cybertron,idris,overhauled,disbandment,idealized,goldfields,worshippers,lobbyist,ailments,paganism,herbarium,athenians,messerschmitt,faraday,entangled,'olya,untreated,criticising,howitzers,parvati,lobed,debussy,atonement,tadeusz,permeability,mueang,sepals,degli,optionally,fuelled,follies,asterisk,pristina,lewiston,congested,overpass,affixed,pleads,telecasts,stanislaus,cryptographic,friesland,hamstring,selkirk,antisubmarine,inundated,overlay,aggregates,fleur,trolleybus,sagan,ibsen,inductees,beltway,tiled,ladders,cadbury,laplace,ascetic,micronesia,conveying,bellingham,cleft,batches,usaid,conjugation,macedon,assisi,reappointed,brine,jinnah,prairies,screenwriting,oxidized,despatches,linearly,fertilizers,brazilians,absorbs,wagga,modernised,scorsese,ashraf,charlestown,esque,habitable,nizhny,lettres,tuscaloosa,esplanade,coalitions,carbohydrates,legate,vermilion,standardised,galleria,psychoanalytic,rearrangement,substation,competency,nationalised,reshuffle,reconstructions,mehdi,bougainville,receivership,contraception,enlistment,conducive,aberystwyth,solicitors,dismisses,fibrosis,montclair,homeowner,surrealism,s.h.i.e.l.d,peregrine,compilers,1790s,parentage,palmas,rzeszow,worldview,eased,svenska,housemate,bundestag,originator,enlisting,outwards,reciprocity,formula_28,carbohydrate,democratically,firefighting,romagna,acknowledgement,khomeini,carbide,quests,vedas,characteristically,guwahati,brixton,unintended,brothels,parietal,namur,sherbrooke,moldavian,baruch,milieu,undulating,laurier,entre,dijon,ethylene,abilene,heracles,paralleling,ceres,dundalk,falun,auspicious,chisinau,polarity,foreclosure,templates,ojibwe,punic,eriksson,biden,bachchan,glaciation,spitfires,norsk,nonviolent,heidegger,algonquin,capacitance,cassettes,balconies,alleles,airdate,conveys,replays,classifies,infrequent,amine,cuttings,rarer,woking,olomouc,amritsar,rockabilly,illyrian,maoist,poignant,tempore,stalinist,segmented,bandmate,mollusc,muhammed,totalled,byrds,tendered,endogenous,kottayam,aisne,oxidase,overhears,illustrators,verve,commercialization,purplish,directv,moulded,lyttelton,baptismal,captors,saracens,georgios,shorten,polity,grids,fitzwilliam,sculls,impurities,confederations,akhtar,intangible,oscillations,parabolic,harlequin,maulana,ovate,tanzanian,singularity,confiscation,qazvin,speyer,phonemes,overgrown,vicarage,gurion,undocumented,niigata,thrones,preamble,stave,interment,liiga,ataturk,aphrodite,groupe,indentured,habsburgs,caption,utilitarian,ozark,slovenes,reproductions,plasticity,serbo,dulwich,castel,barbuda,salons,feuding,lenape,wikileaks,swamy,breuning,shedding,afield,superficially,operationally,lamented,okanagan,hamadan,accolade,furthering,adolphus,fyodor,abridged,cartoonists,pinkish,suharto,cytochrome,methylation,debit,colspan=9|,refine,taoist,signalled,herding,leaved,bayan,fatherland,rampart,sequenced,negation,storyteller,occupiers,barnabas,pelicans,nadir,conscripted,railcars,prerequisite,furthered,columba,carolinas,markup,gwalior,franche,chaco,eglinton,ramparts,rangoon,metabolites,pollination,croat,televisa,holyoke,testimonial,setlist,safavid,sendai,georgians,shakespearean,galleys,regenerative,krzysztof,overtones,estado,barbary,cherbourg,obispo,sayings,composites,sainsbury,deliberation,cosmological,mahalleh,embellished,ascap,biala,pancras,calumet,grands,canvases,antigens,marianas,defenseman,approximated,seedlings,soren,stele,nuncio,immunology,testimonies,glossary,recollections,suitability,tampere,venous,cohomology,methanol,echoing,ivanovich,warmly,sterilization,imran,multiplying,whitechapel,undersea,xuanzong,tacitus,bayesian,roundhouse,correlations,rioters,molds,fiorentina,bandmates,mezzo,thani,guerilla,200th,premiums,tamils,deepwater,chimpanzees,tribesmen,selwyn,globo,turnovers,punctuated,erode,nouvelle,banbury,exponents,abolishing,helical,maimonides,endothelial,goteborg,infield,encroachment,cottonwood,mazowiecki,parable,saarbrucken,reliever,epistemology,artistes,enrich,rationing,formula_29,palmyra,subfamilies,kauai,zoran,fieldwork,arousal,creditor,friuli,celts,comoros,equated,escalation,negev,tallied,inductive,anion,netanyahu,mesoamerican,lepidoptera,aspirated,remit,westmorland,italic,crosse,vaclav,fuego,owain,balmain,venetians,ethnicities,deflected,ticino,apulia,austere,flycatcher,reprising,repressive,hauptbahnhof,subtype,ophthalmology,summarizes,eniwetok,colonisation,subspace,nymphalidae,earmarked,tempe,burnet,crests,abbots,norwegians,enlarge,ashoka,frankfort,livorno,malware,renters,singly,iliad,moresby,rookies,gustavus,affirming,alleges,legume,chekhov,studded,abdicated,suzhou,isidore,townsite,repayment,quintus,yankovic,amorphous,constructor,narrowing,industrialists,tanganyika,capitalization,connective,mughals,rarities,aerodynamics,worthing,antalya,diagnostics,shaftesbury,thracian,obstetrics,benghazi,multiplier,orbitals,livonia,roscommon,intensify,ravel,oaths,overseer,locomotion,necessities,chickasaw,strathclyde,treviso,erfurt,aortic,contemplation,accrington,markazi,predeceased,hippocampus,whitecaps,assemblyman,incursion,ethnography,extraliga,reproducing,directorship,benzene,byway,stupa,taxable,scottsdale,onondaga,favourably,countermeasures,lithuanians,thatched,deflection,tarsus,consuls,annuity,paralleled,contextual,anglian,klang,hoisted,multilingual,enacting,samaj,taoiseach,carthaginian,apologised,hydrology,entrant,seamless,inflorescences,mugabe,westerners,seminaries,wintering,penzance,mitre,sergeants,unoccupied,delimitation,discriminate,upriver,abortive,nihon,bessarabia,calcareous,buffaloes,patil,daegu,streamline,berks,chaparral,laity,conceptions,typified,kiribati,threaded,mattel,eccentricity,signified,patagonia,slavonia,certifying,adnan,astley,sedition,minimally,enumerated,nikos,goalless,walid,narendra,causa,missoula,coolant,dalek,outcrop,hybridization,schoolchildren,peasantry,afghans,confucianism,shahr,gallic,tajik,kierkegaard,sauvignon,commissar,patriarchs,tuskegee,prussians,laois,ricans,talmudic,officiating,aesthetically,baloch,antiochus,separatists,suzerainty,arafat,shading,u.s.c,chancellors,inc..,toolkit,nepenthes,erebidae,solicited,pratap,kabbalah,alchemist,caltech,darjeeling,biopic,spillway,kaiserslautern,nijmegen,bolstered,neath,pahlavi,eugenics,bureaus,retook,northfield,instantaneous,deerfield,humankind,selectivity,putative,boarders,cornhuskers,marathas,raikkonen,aliabad,mangroves,garages,gulch,karzai,poitiers,chernobyl,thane,alexios,belgrano,scion,solubility,urbanized,executable,guizhou,nucleic,tripled,equalled,harare,houseguests,potency,ghazi,repeater,overarching,regrouped,broward,ragtime,d'art,nandi,regalia,campsites,mamluk,plating,wirral,presumption,zenit,archivist,emmerdale,decepticon,carabidae,kagoshima,franconia,guarani,formalism,diagonally,submarginal,denys,walkways,punts,metrolink,hydrographic,droplets,upperside,martyred,hummingbird,antebellum,curiously,mufti,friary,chabad,czechs,shaykh,reactivity,berklee,turbonilla,tongan,sultans,woodville,unlicensed,enmity,dominicans,operculum,quarrying,watercolour,catalyzed,gatwick,'what,mesozoic,auditors,shizuoka,footballing,haldane,telemundo,appended,deducted,disseminate,o'shea,pskov,abrasive,entente,gauteng,calicut,lemurs,elasticity,suffused,scopula,staining,upholding,excesses,shostakovich,loanwords,naidu,championnat,chromatography,boasting,goaltenders,engulfed,salah,kilogram,morristown,shingles,shi'a,labourer,renditions,frantisek,jekyll,zonal,nanda,sheriffs,eigenvalues,divisione,endorsing,ushered,auvergne,cadres,repentance,freemasons,utilising,laureates,diocletian,semiconductors,o'grady,vladivostok,sarkozy,trackage,masculinity,hydroxyl,mervyn,muskets,speculations,gridiron,opportunistic,mascots,aleutian,fillies,sewerage,excommunication,borrowers,capillary,trending,sydenham,synthpop,rajah,cagayan,deportes,kedah,faure,extremism,michoacan,levski,culminates,occitan,bioinformatics,unknowingly,inciting,emulated,footpaths,piacenza,dreadnought,viceroyalty,oceanographic,scouted,combinatorial,ornithologist,cannibalism,mujahideen,independiente,cilicia,hindwing,minimized,odeon,gyorgy,rubles,purchaser,collieries,kickers,interurban,coiled,lynchburg,respondent,plzen,detractors,etchings,centering,intensification,tomography,ranjit,warblers,retelling,reinstatement,cauchy,modulus,redirected,evaluates,beginner,kalateh,perforated,manoeuvre,scrimmage,internships,megawatts,mottled,haakon,tunbridge,kalyan,summarised,sukarno,quetta,canonized,henryk,agglomeration,coahuila,diluted,chiropractic,yogyakarta,talladega,sheik,cation,halting,reprisals,sulfuric,musharraf,sympathizers,publicised,arles,lectionary,fracturing,startups,sangha,latrobe,rideau,ligaments,blockading,cremona,lichens,fabaceae,modulated,evocative,embodies,battersea,indistinct,altai,subsystem,acidity,somatic,formula_30,tariq,rationality,sortie,ashlar,pokal,cytoplasmic,valour,bangla,displacing,hijacking,spectrometry,westmeath,weill,charing,goias,revolvers,individualized,tenured,nawaz,piquet,chanted,discard,bernd,phalanx,reworking,unilaterally,subclass,yitzhak,piloting,circumvent,disregarded,semicircular,viscous,tibetans,endeavours,retaliated,cretan,vienne,workhouse,sufficiency,aurangzeb,legalization,lipids,expanse,eintracht,sanjak,megas,125th,bahraini,yakima,eukaryotes,thwart,affirmation,peloponnese,retailing,carbonyl,chairwoman,macedonians,dentate,rockaway,correctness,wealthier,metamorphic,aragonese,fermanagh,pituitary,schrodinger,evokes,spoiler,chariots,akita,genitalia,combe,confectionery,desegregation,experiential,commodores,persepolis,viejo,restorations,virtualization,hispania,printmaking,stipend,yisrael,theravada,expended,radium,tweeted,polygonal,lippe,charente,leveraged,cutaneous,fallacy,fragrant,bypasses,elaborately,rigidity,majid,majorca,kongo,plasmodium,skits,audiovisual,eerste,staircases,prompts,coulthard,northwestward,riverdale,beatrix,copyrights,prudential,communicates,mated,obscenity,asynchronous,analyse,hansa,searchlight,farnborough,patras,asquith,qarah,contours,fumbled,pasteur,redistributed,almeria,sanctuaries,jewry,israelite,clinicians,koblenz,bookshop,affective,goulburn,panelist,sikorsky,cobham,mimics,ringed,portraiture,probabilistic,girolamo,intelligible,andalusian,jalal,athenaeum,eritrean,auxiliaries,pittsburg,devolution,sangam,isolating,anglers,cronulla,annihilated,kidderminster,synthesize,popularised,theophilus,bandstand,innumerable,chagrin,retroactively,weser,multiples,birdlife,goryeo,pawnee,grosser,grappling,tactile,ahmadinejad,turboprop,erdogan,matchday,proletarian,adhering,complements,austronesian,adverts,luminaries,archeology,impressionism,conifer,sodomy,interracial,platoons,lessen,postings,pejorative,registrations,cookery,persecutions,microbes,audits,idiosyncratic,subsp,suspensions,restricts,colouring,ratify,instrumentals,nucleotides,sulla,posits,bibliotheque,diameters,oceanography,instigation,subsumed,submachine,acceptor,legation,borrows,sedge,discriminated,loaves,insurers,highgate,detectable,abandons,kilns,sportscaster,harwich,iterations,preakness,arduous,tensile,prabhu,shortwave,philologist,shareholding,vegetative,complexities,councilors,distinctively,revitalize,automaton,amassing,montreux,khanh,surabaya,nurnberg,pernambuco,cuisines,charterhouse,firsts,tercera,inhabitant,homophobia,naturalism,einar,powerplant,coruna,entertainments,whedon,rajputs,raton,democracies,arunachal,oeuvre,wallonia,jeddah,trolleybuses,evangelism,vosges,kiowa,minimise,encirclement,undertakes,emigrant,beacons,deepened,grammars,publius,preeminent,seyyed,repechage,crafting,headingley,osteopathic,lithography,hotly,bligh,inshore,betrothed,olympians,formula_31,dissociation,trivandrum,arran,petrovic,stettin,disembarked,simplification,bronzes,philo,acrobatic,jonsson,conjectured,supercharged,kanto,detects,cheeses,correlates,harmonics,lifecycle,sudamericana,reservists,decayed,elitserien,parametric,113th,dusky,hogarth,modulo,symbiotic,monopolies,discontinuation,converges,southerners,tucuman,eclipses,enclaves,emits,famicom,caricatures,artistically,levelled,mussels,erecting,mouthparts,cunard,octaves,crucible,guardia,unusable,lagrangian,droughts,ephemeral,pashto,canis,tapering,sasebo,silurian,metallurgical,outscored,evolves,reissues,sedentary,homotopy,greyhawk,reagents,inheriting,onshore,tilting,rebuffed,reusable,naturalists,basingstoke,insofar,offensives,dravidian,curators,planks,rajan,isoforms,flagstaff,preside,globular,egalitarian,linkages,biographers,goalscorers,molybdenum,centralised,nordland,jurists,ellesmere,rosberg,hideyoshi,restructure,biases,borrower,scathing,redress,tunnelling,workflow,magnates,mahendra,dissenters,plethora,transcriptions,handicrafts,keyword,xi'an,petrograd,unser,prokofiev,90deg,madan,bataan,maronite,kearny,carmarthen,termini,consulates,disallowed,rockville,bowery,fanzine,docklands,bests,prohibitions,yeltsin,selassie,naturalization,realisation,dispensary,tribeca,abdulaziz,pocahontas,stagnation,pamplona,cuneiform,propagating,subsurface,christgau,epithelium,schwerin,lynching,routledge,hanseatic,upanishad,glebe,yugoslavian,complicity,endowments,girona,mynetworktv,entomology,plinth,ba'ath,supercup,torus,akkadian,salted,englewood,commandery,belgaum,prefixed,colorless,dartford,enthroned,caesarea,nominative,sandown,safeguards,hulled,formula_32,leamington,dieppe,spearhead,generalizations,demarcation,llanelli,masque,brickwork,recounting,sufism,strikingly,petrochemical,onslow,monologues,emigrating,anderlecht,sturt,hossein,sakhalin,subduction,novices,deptford,zanjan,airstrikes,coalfield,reintroduction,timbaland,hornby,messianic,stinging,universalist,situational,radiocarbon,strongman,rowling,saloons,traffickers,overran,fribourg,cambrai,gravesend,discretionary,finitely,archetype,assessor,pilipinas,exhumed,invocation,interacted,digitized,timisoara,smelter,teton,sexism,precepts,srinagar,pilsudski,carmelite,hanau,scoreline,hernando,trekking,blogging,fanbase,wielded,vesicles,nationalization,banja,rafts,motoring,luang,takeda,girder,stimulates,histone,sunda,nanoparticles,attains,jumpers,catalogued,alluding,pontus,ancients,examiners,shinkansen,ribbentrop,reimbursement,pharmacological,ramat,stringed,imposes,cheaply,transplanted,taiping,mizoram,looms,wallabies,sideman,kootenay,encased,sportsnet,revolutionized,tangier,benthic,runic,pakistanis,heatseekers,shyam,mishnah,presbyterians,stadt,sutras,straddles,zoroastrian,infer,fueling,gymnasts,ofcom,gunfight,journeyman,tracklist,oshawa,ps500,pa'in,mackinac,xiongnu,mississippian,breckinridge,freemason,bight,autoroute,liberalization,distantly,thrillers,solomons,presumptive,romanization,anecdotal,bohemians,unpaved,milder,concurred,spinners,alphabets,strenuous,rivieres,kerrang,mistreatment,dismounted,intensively,carlist,dancehall,shunting,pluralism,trafficked,brokered,bonaventure,bromide,neckar,designates,malian,reverses,sotheby,sorghum,serine,environmentalists,languedoc,consulship,metering,bankstown,handlers,militiamen,conforming,regularity,pondicherry,armin,capsized,consejo,capitalists,drogheda,granular,purged,acadians,endocrine,intramural,elicit,terns,orientations,miklos,omitting,apocryphal,slapstick,brecon,pliocene,affords,typography,emigre,tsarist,tomasz,beset,nishi,necessitating,encyclical,roleplaying,journeyed,inflow,sprints,progressives,novosibirsk,cameroonian,ephesus,speckled,kinshasa,freiherr,burnaby,dalmatian,torrential,rigor,renegades,bhakti,nurburgring,cosimo,convincingly,reverting,visayas,lewisham,charlottetown,charadriiformesfamily,transferable,jodhpur,converters,deepening,camshaft,underdeveloped,protease,polonia,uterine,quantify,tobruk,dealerships,narasimha,fortran,inactivity,1780s,victors,categorised,naxos,workstation,skink,sardinian,chalice,precede,dammed,sondheim,phineas,tutored,sourcing,uncompromising,placer,tyneside,courtiers,proclaims,pharmacies,hyogo,booksellers,sengoku,kursk,spectrometer,countywide,wielkopolski,bobsleigh,shetty,llywelyn,consistory,heretics,guinean,cliches,individualism,monolithic,imams,usability,bursa,deliberations,railings,torchwood,inconsistency,balearic,stabilizer,demonstrator,facet,radioactivity,outboard,educates,d'oyly,heretical,handover,jurisdictional,shockwave,hispaniola,conceptually,routers,unaffiliated,trentino,formula_33,cypriots,intervenes,neuchatel,formulating,maggiore,delisted,alcohols,thessaly,potable,estimator,suborder,fluency,mimicry,clergymen,infrastructures,rivals.com,baroda,subplot,majlis,plano,clinching,connotation,carinae,savile,intercultural,transcriptional,sandstones,ailerons,annotations,impresario,heinkel,scriptural,intermodal,astrological,ribbed,northeastward,posited,boers,utilise,kalmar,phylum,breakwater,skype,textured,guideline,azeri,rimini,massed,subsidence,anomalous,wolfsburg,polyphonic,accrediting,vodacom,kirov,captaining,kelantan,logie,fervent,eamon,taper,bundeswehr,disproportionately,divination,slobodan,pundits,hispano,kinetics,reunites,makati,ceasing,statistician,amending,chiltern,eparchy,riverine,melanoma,narragansett,pagans,raged,toppled,breaching,zadar,holby,dacian,ochre,velodrome,disparities,amphoe,sedans,webpage,williamsport,lachlan,groton,baring,swastika,heliport,unwillingness,razorbacks,exhibitors,foodstuffs,impacting,tithe,appendages,dermot,subtypes,nurseries,balinese,simulating,stary,remakes,mundi,chautauqua,geologically,stockade,hakka,dilute,kalimantan,pahang,overlapped,fredericton,baha'u'llah,jahangir,damping,benefactors,shomali,triumphal,cieszyn,paradigms,shielded,reggaeton,maharishi,zambian,shearing,golestan,mirroring,partitioning,flyover,songbook,incandescent,merrimack,huguenots,sangeet,vulnerabilities,trademarked,drydock,tantric,honoris,queenstown,labelling,iterative,enlists,statesmen,anglicans,herge,qinghai,burgundian,islami,delineated,zhuge,aggregated,banknote,qatari,suitably,tapestries,asymptotic,charleroi,majorities,pyramidellidae,leanings,climactic,tahir,ramsar,suppressor,revisionist,trawler,ernakulam,penicillium,categorization,slits,entitlement,collegium,earths,benefice,pinochet,puritans,loudspeaker,stockhausen,eurocup,roskilde,alois,jaroslav,rhondda,boutiques,vigor,neurotransmitter,ansar,malden,ferdinando,sported,relented,intercession,camberwell,wettest,thunderbolts,positional,oriel,cloverleaf,penalized,shoshone,rajkumar,completeness,sharjah,chromosomal,belgians,woolen,ultrasonic,sequentially,boleyn,mordella,microsystems,initiator,elachista,mineralogy,rhododendron,integrals,compostela,hamza,sawmills,stadio,berlioz,maidens,stonework,yachting,tappeh,myocardial,laborer,workstations,costumed,nicaea,lanark,roundtable,mashhad,nablus,algonquian,stuyvesant,sarkar,heroines,diwan,laments,intonation,intrigues,almaty,feuded,grandes,algarve,rehabilitate,macrophages,cruciate,dismayed,heuristic,eliezer,kozhikode,covalent,finalised,dimorphism,yaroslavl,overtaking,leverkusen,middlebury,feeders,brookings,speculates,insoluble,lodgings,jozsef,cysteine,shenyang,habilitation,spurious,brainchild,mtdna,comique,albedo,recife,partick,broadening,shahi,orientated,himalaya,swabia,palme,mennonites,spokeswoman,conscripts,sepulchre,chartres,eurozone,scaffold,invertebrate,parishad,bagan,heian,watercolors,basse,supercomputer,commences,tarragona,plainfield,arthurian,functor,identically,murex,chronicling,pressings,burrowing,histoire,guayaquil,goalkeeping,differentiable,warburg,machining,aeneas,kanawha,holocene,ramesses,reprisal,qingdao,avatars,turkestan,cantatas,besieging,repudiated,teamsters,equipping,hydride,ahmadiyya,euston,bottleneck,computations,terengganu,kalinga,stela,rediscovery,'this,azhar,stylised,karelia,polyethylene,kansai,motorised,lounges,normalization,calculators,1700s,goalkeepers,unfolded,commissary,cubism,vignettes,multiverse,heaters,briton,sparingly,childcare,thorium,plock,riksdag,eunuchs,catalysis,limassol,perce,uncensored,whitlam,ulmus,unites,mesopotamian,refraction,biodiesel,forza,fulda,unseated,mountbatten,shahrak,selenium,osijek,mimicking,antimicrobial,axons,simulcasting,donizetti,swabian,sportsmen,hafiz,neared,heraclius,locates,evaded,subcarpathian,bhubaneswar,negeri,jagannath,thaksin,aydin,oromo,lateran,goldsmiths,multiculturalism,cilia,mihai,evangelists,lorient,qajar,polygons,vinod,mechanised,anglophone,prefabricated,mosses,supervillain,airliners,biofuels,iodide,innovators,valais,wilberforce,logarithm,intelligentsia,dissipation,sanctioning,duchies,aymara,porches,simulators,mostar,telepathic,coaxial,caithness,burghs,fourths,stratification,joaquim,scribes,meteorites,monarchist,germination,vries,desiring,replenishment,istria,winemaking,tammany,troupes,hetman,lanceolate,pelagic,triptych,primeira,scant,outbound,hyphae,denser,bentham,basie,normale,executes,ladislaus,kontinental,herat,cruiserweight,activision,customization,manoeuvres,inglewood,northwood,waveform,investiture,inpatient,alignments,kiryat,rabat,archimedes,ustad,monsanto,archetypal,kirkby,sikhism,correspondingly,catskill,overlaid,petrels,widowers,unicameral,federalists,metalcore,gamerankings,mussel,formula_34,lymphocytes,cystic,southgate,vestiges,immortals,kalam,strove,amazons,pocono,sociologists,sopwith,adheres,laurens,caregivers,inspecting,transylvanian,rebroadcast,rhenish,miserables,pyrams,blois,newtonian,carapace,redshirt,gotland,nazir,unilever,distortions,linebackers,federalism,mombasa,lumen,bernoulli,favouring,aligarh,denounce,steamboats,dnieper,stratigraphic,synths,bernese,umass,icebreaker,guanajuato,heisenberg,boldly,diodes,ladakh,dogmatic,scriptwriter,maritimes,battlestar,symposia,adaptable,toluca,bhavan,nanking,ieyasu,picardy,soybean,adalbert,brompton,deutsches,brezhnev,glandular,laotian,hispanicized,ibadan,personification,dalit,yamuna,regio,dispensed,yamagata,zweibrucken,revising,fandom,stances,participle,flavours,khitan,vertebral,crores,mayaguez,dispensation,guntur,undefined,harpercollins,unionism,meena,leveling,philippa,refractory,telstra,judea,attenuation,pylons,elaboration,elegy,edging,gracillariidae,residencies,absentia,reflexive,deportations,dichotomy,stoves,sanremo,shimon,menachem,corneal,conifers,mordellidae,facsimile,diagnoses,cowper,citta,viticulture,divisive,riverview,foals,mystics,polyhedron,plazas,airspeed,redgrave,motherland,impede,multiplicity,barrichello,airships,pharmacists,harvester,clays,payloads,differentiating,popularize,caesars,tunneling,stagnant,circadian,indemnity,sensibilities,musicology,prefects,serfs,metra,lillehammer,carmarthenshire,kiosks,welland,barbican,alkyl,tillandsia,gatherers,asociacion,showings,bharati,brandywine,subversion,scalable,pfizer,dawla,barium,dardanelles,nsdap,konig,ayutthaya,hodgkin,sedimentation,completions,purchasers,sponsorships,maximizing,banked,taoism,minot,enrolls,fructose,aspired,capuchin,outages,artois,carrollton,totality,osceola,pawtucket,fontainebleau,converged,queretaro,competencies,botha,allotments,sheaf,shastri,obliquely,banding,catharines,outwardly,monchengladbach,driest,contemplative,cassini,ranga,pundit,kenilworth,tiananmen,disulfide,formula_35,townlands,codice_3,looping,caravans,rachmaninoff,segmentation,fluorine,anglicised,gnostic,dessau,discern,reconfigured,altrincham,rebounding,battlecruiser,ramblers,1770s,convective,triomphe,miyagi,mourners,instagram,aloft,breastfeeding,courtyards,folkestone,changsha,kumamoto,saarland,grayish,provisionally,appomattox,uncial,classicism,mahindra,elapsed,supremes,monophyletic,cautioned,formula_36,noblewoman,kernels,sucre,swaps,bengaluru,grenfell,epicenter,rockhampton,worshipful,licentiate,metaphorical,malankara,amputated,wattle,palawan,tankobon,nobunaga,polyhedra,transduction,jilin,syrians,affinities,fluently,emanating,anglicized,sportscar,botanists,altona,dravida,chorley,allocations,kunming,luanda,premiering,outlived,mesoamerica,lingual,dissipating,impairments,attenborough,balustrade,emulator,bakhsh,cladding,increments,ascents,workington,qal'eh,winless,categorical,petrel,emphasise,dormer,toros,hijackers,telescopic,solidly,jankovic,cession,gurus,madoff,newry,subsystems,northside,talib,englishmen,farnese,holographic,electives,argonne,scrivener,predated,brugge,nauvoo,catalyses,soared,siddeley,graphically,powerlifting,funicular,sungai,coercive,fusing,uncertainties,locos,acetic,diverge,wedgwood,dressings,tiebreaker,didactic,vyacheslav,acreage,interplanetary,battlecruisers,sunbury,alkaloids,hairpin,automata,wielkie,interdiction,plugins,monkees,nudibranch,esporte,approximations,disabling,powering,characterisation,ecologically,martinsville,termen,perpetuated,lufthansa,ascendancy,motherboard,bolshoi,athanasius,prunus,dilution,invests,nonzero,mendocino,charan,banque,shaheed,counterculture,unita,voivode,hospitalization,vapour,supermarine,resistor,steppes,osnabruck,intermediates,benzodiazepines,sunnyside,privatized,geopolitical,ponta,beersheba,kievan,embody,theoretic,sangh,cartographer,blige,rotors,thruway,battlefields,discernible,demobilized,broodmare,colouration,sagas,policymakers,serialization,augmentation,hoare,frankfurter,transnistria,kinases,detachable,generational,converging,antiaircraft,khaki,bimonthly,coadjutor,arkhangelsk,kannur,buffers,livonian,northwich,enveloped,cysts,yokozuna,herne,beeching,enron,virginian,woollen,excepting,competitively,outtakes,recombinant,hillcrest,clearances,pathe,cumbersome,brasov,u.s.a,likud,christiania,cruciform,hierarchies,wandsworth,lupin,resins,voiceover,sitar,electrochemical,mediacorp,typhus,grenadiers,hepatic,pompeii,weightlifter,bosniak,oxidoreductase,undersecretary,rescuers,ranji,seleucid,analysing,exegesis,tenancy,toure,kristiansand,110th,carillon,minesweepers,poitou,acceded,palladian,redevelop,naismith,rifled,proletariat,shojo,hackensack,harvests,endpoint,kuban,rosenborg,stonehenge,authorisation,jacobean,revocation,compatriots,colliding,undetermined,okayama,acknowledgment,angelou,fresnel,chahar,ethereal,mg/kg,emmet,mobilised,unfavourable,cultura,characterizing,parsonage,skeptics,expressways,rabaul,medea,guardsmen,visakhapatnam,caddo,homophobic,elmwood,encircling,coexistence,contending,seljuk,mycologist,infertility,moliere,insolvent,covenants,underpass,holme,landesliga,workplaces,delinquency,methamphetamine,contrived,tableau,tithes,overlying,usurped,contingents,spares,oligocene,molde,beatification,mordechai,balloting,pampanga,navigators,flowered,debutant,codec,orogeny,newsletters,solon,ambivalent,ubisoft,archdeaconry,harpers,kirkus,jabal,castings,kazhagam,sylhet,yuwen,barnstaple,amidships,causative,isuzu,watchtower,granules,canaveral,remuneration,insurer,payout,horizonte,integrative,attributing,kiwis,skanderbeg,asymmetry,gannett,urbanism,disassembled,unaltered,precluded,melodifestivalen,ascends,plugin,gurkha,bisons,stakeholder,industrialisation,abbotsford,sextet,bustling,uptempo,slavia,choreographers,midwives,haram,javed,gazetteer,subsection,natively,weighting,lysine,meera,redbridge,muchmusic,abruzzo,adjoins,unsustainable,foresters,kbit/s,cosmopterigidae,secularism,poetics,causality,phonograph,estudiantes,ceausescu,universitario,adjoint,applicability,gastropods,nagaland,kentish,mechelen,atalanta,woodpeckers,lombards,gatineau,romansh,avraham,acetylcholine,perturbation,galois,wenceslaus,fuzhou,meandering,dendritic,sacristy,accented,katha,therapeutics,perceives,unskilled,greenhouses,analogues,chaldean,timbre,sloped,volodymyr,sadiq,maghreb,monogram,rearguard,caucuses,mures,metabolite,uyezd,determinism,theosophical,corbet,gaels,disruptions,bicameral,ribosomal,wolseley,clarksville,watersheds,tarsi,radon,milanese,discontinuous,aristotelian,whistleblower,representational,hashim,modestly,localised,atrial,hazara,ravana,troyes,appointees,rubus,morningside,amity,aberdare,ganglia,wests,zbigniew,aerobatic,depopulated,corsican,introspective,twinning,hardtop,shallower,cataract,mesolithic,emblematic,graced,lubrication,republicanism,voronezh,bastions,meissen,irkutsk,oboes,hokkien,sprites,tenet,individualist,capitulated,oakville,dysentery,orientalist,hillsides,keywords,elicited,incised,lagging,apoel,lengthening,attractiveness,marauders,sportswriter,decentralization,boltzmann,contradicts,draftsman,precipitate,solihull,norske,consorts,hauptmann,riflemen,adventists,syndromes,demolishing,customize,continuo,peripherals,seamlessly,linguistically,bhushan,orphanages,paraul,lessened,devanagari,quarto,responders,patronymic,riemannian,altoona,canonization,honouring,geodetic,exemplifies,republica,enzymatic,porters,fairmount,pampa,sufferers,kamchatka,conjugated,coachella,uthman,repositories,copious,headteacher,awami,phoneme,homomorphism,franconian,moorland,davos,quantified,kamloops,quarks,mayoralty,weald,peacekeepers,valerian,particulate,insiders,perthshire,caches,guimaraes,piped,grenadines,kosciuszko,trombonist,artemisia,covariance,intertidal,soybeans,beatified,ellipse,fruiting,deafness,dnipropetrovsk,accrued,zealous,mandala,causation,junius,kilowatt,bakeries,montpelier,airdrie,rectified,bungalows,toleration,debian,pylon,trotskyist,posteriorly,two-and-a-half,herbivorous,islamists,poetical,donne,wodehouse,frome,allium,assimilate,phonemic,minaret,unprofitable,darpa,untenable,leaflet,bitcoin,zahir,thresholds,argentino,jacopo,bespoke,stratified,wellbeing,shiite,basaltic,timberwolves,secrete,taunts,marathons,isomers,carre,consecrators,penobscot,pitcairn,sakha,crosstown,inclusions,impassable,fenders,indre,uscgc,jordi,retinue,logarithmic,pilgrimages,railcar,cashel,blackrock,macroscopic,aligning,tabla,trestle,certify,ronson,palps,dissolves,thickened,silicate,taman,walsingham,hausa,lowestoft,rondo,oleksandr,cuyahoga,retardation,countering,cricketing,holborn,identifiers,hells,geophysics,infighting,sculpting,balaji,webbed,irradiation,runestone,trusses,oriya,sojourn,forfeiture,colonize,exclaimed,eucharistic,lackluster,glazing,northridge,gutenberg,stipulates,macroeconomic,priori,outermost,annular,udinese,insulating,headliner,godel,polytope,megalithic,salix,sharapova,derided,muskegon,braintree,plateaus,confers,autocratic,isomer,interstitial,stamping,omits,kirtland,hatchery,evidences,intifada,111th,podgorica,capua,motivating,nuneaton,jakub,korsakov,amitabh,mundial,monrovia,gluten,predictor,marshalling,d'orleans,levers,touchscreen,brantford,fricative,banishment,descendent,antagonism,ludovico,loudspeakers,formula_37,livelihoods,manassas,steamships,dewsbury,uppermost,humayun,lures,pinnacles,dependents,lecce,clumps,observatories,paleozoic,dedicating,samiti,draughtsman,gauls,incite,infringing,nepean,pythagorean,convents,triumvirate,seigneur,gaiman,vagrant,fossa,byproduct,serrated,renfrewshire,sheltering,achaemenid,dukedom,catchers,sampdoria,platelet,bielefeld,fluctuating,phenomenology,strikeout,ethnology,prospectors,woodworking,tatra,wildfires,meditations,agrippa,fortescue,qureshi,wojciech,methyltransferase,accusative,saatchi,amerindian,volcanism,zeeland,toyama,vladimirovich,allege,polygram,redox,budgeted,advisories,nematode,chipset,starscream,tonbridge,hardening,shales,accompanist,paraded,phonographic,whitefish,sportive,audiobook,kalisz,hibernation,latif,duels,ps200,coxeter,nayak,safeguarding,cantabria,minesweeping,zeiss,dunams,catholicos,sawtooth,ontological,nicobar,bridgend,unclassified,intrinsically,hanoverian,rabbitohs,kenseth,alcalde,northumbrian,raritan,septuagint,presse,sevres,origen,dandenong,peachtree,intersected,impeded,usages,hippodrome,novara,trajectories,customarily,yardage,inflected,yanow,kalan,taverns,liguria,librettist,intermarriage,1760s,courant,gambier,infanta,ptolemaic,ukulele,haganah,sceptical,manchukuo,plexus,implantation,hilal,intersex,efficiencies,arbroath,hagerstown,adelphi,diario,marais,matti,lifes,coining,modalities,divya,bletchley,conserving,ivorian,mithridates,generative,strikeforce,laymen,toponymy,pogrom,satya,meticulously,agios,dufferin,yaakov,fortnightly,cargoes,deterrence,prefrontal,przemysl,mitterrand,commemorations,chatsworth,gurdwara,abuja,chakraborty,badajoz,geometries,artiste,diatonic,ganglion,presides,marymount,nanak,cytokines,feudalism,storks,rowers,widens,politico,evangelicals,assailants,pittsfield,allowable,bijapur,telenovelas,dichomeris,glenelg,herbivores,keita,inked,radom,fundraisers,constantius,boheme,portability,komnenos,crystallography,derrida,moderates,tavistock,fateh,spacex,disjoint,bristles,commercialized,interwoven,empirically,regius,bulacan,newsday,showa,radicalism,yarrow,pleura,sayed,structuring,cotes,reminiscences,acetyl,edicts,escalators,aomori,encapsulated,legacies,bunbury,placings,fearsome,postscript,powerfully,keighley,hildesheim,amicus,crevices,deserters,benelux,aurangabad,freeware,ioannis,carpathians,chirac,seceded,prepaid,landlocked,naturalised,yanukovych,soundscan,blotch,phenotypic,determinants,twente,dictatorial,giessen,composes,recherche,pathophysiology,inventories,ayurveda,elevating,gravestone,degeneres,vilayet,popularizing,spartanburg,bloemfontein,previewed,renunciation,genotype,ogilvy,tracery,blacklisted,emissaries,diploid,disclosures,tupolev,shinjuku,antecedents,pennine,braganza,bhattacharya,countable,spectroscopic,ingolstadt,theseus,corroborated,compounding,thrombosis,extremadura,medallions,hasanabad,lambton,perpetuity,glycol,besancon,palaiologos,pandey,caicos,antecedent,stratum,laserdisc,novitiate,crowdfunding,palatal,sorceress,dassault,toughness,celle,cezanne,vientiane,tioga,hander,crossbar,gisborne,cursor,inspectorate,serif,praia,sphingidae,nameplate,psalter,ivanovic,sitka,equalised,mutineers,sergius,outgrowth,creationism,haredi,rhizomes,predominate,undertakings,vulgate,hydrothermal,abbeville,geodesic,kampung,physiotherapy,unauthorised,asteraceae,conservationist,minoan,supersport,mohammadabad,cranbrook,mentorship,legitimately,marshland,datuk,louvain,potawatomi,carnivores,levies,lyell,hymnal,regionals,tinto,shikoku,conformal,wanganui,beira,lleida,standstill,deloitte,formula_40,corbusier,chancellery,mixtapes,airtime,muhlenberg,formula_39,bracts,thrashers,prodigious,gironde,chickamauga,uyghurs,substitutions,pescara,batangas,gregarious,gijon,paleo,mathura,pumas,proportionally,hawkesbury,yucca,kristiania,funimation,fluted,eloquence,mohun,aftermarket,chroniclers,futurist,nonconformist,branko,mannerisms,lesnar,opengl,altos,retainers,ashfield,shelbourne,sulaiman,divisie,gwent,locarno,lieder,minkowski,bivalve,redeployed,cartography,seaway,bookings,decays,ostend,antiquaries,pathogenesis,formula_38,chrysalis,esperance,valli,motogp,homelands,bridged,bloor,ghazal,vulgaris,baekje,prospector,calculates,debtors,hesperiidae,titian,returner,landgrave,frontenac,kelowna,pregame,castelo,caius,canoeist,watercolours,winterthur,superintendents,dissonance,dubstep,adorn,matic,salih,hillel,swordsman,flavoured,emitter,assays,monongahela,deeded,brazzaville,sufferings,babylonia,fecal,umbria,astrologer,gentrification,frescos,phasing,zielona,ecozone,candido,manoj,quadrilateral,gyula,falsetto,prewar,puntland,infinitive,contraceptive,bakhtiari,ohrid,socialization,tailplane,evoking,havelock,macapagal,plundering,104th,keynesian,templars,phrasing,morphologically,czestochowa,humorously,catawba,burgas,chiswick,ellipsoid,kodansha,inwards,gautama,katanga,orthopaedic,heilongjiang,sieges,outsourced,subterminal,vijayawada,hares,oration,leitrim,ravines,manawatu,cryogenic,tracklisting,about.com,ambedkar,degenerated,hastened,venturing,lobbyists,shekhar,typefaces,northcote,rugen,'good,ornithology,asexual,hemispheres,unsupported,glyphs,spoleto,epigenetic,musicianship,donington,diogo,kangxi,bisected,polymorphism,megawatt,salta,embossed,cheetahs,cruzeiro,unhcr,aristide,rayleigh,maturing,indonesians,noire,llano,ffffff,camus,purges,annales,convair,apostasy,algol,phage,apaches,marketers,aldehyde,pompidou,kharkov,forgeries,praetorian,divested,retrospectively,gornji,scutellum,bitumen,pausanias,magnification,imitations,nyasaland,geographers,floodlights,athlone,hippolyte,expositions,clarinetist,razak,neutrinos,rotax,sheykh,plush,interconnect,andalus,cladogram,rudyard,resonator,granby,blackfriars,placido,windscreen,sahel,minamoto,haida,cations,emden,blackheath,thematically,blacklist,pawel,disseminating,academical,undamaged,raytheon,harsher,powhatan,ramachandran,saddles,paderborn,capping,zahra,prospecting,glycine,chromatin,profane,banska,helmand,okinawan,dislocation,oscillators,insectivorous,foyle,gilgit,autonomic,tuareg,sluice,pollinated,multiplexed,granary,narcissus,ranchi,staines,nitra,goalscoring,midwifery,pensioners,algorithmic,meetinghouse,biblioteca,besar,narva,angkor,predate,lohan,cyclical,detainee,occipital,eventing,faisalabad,dartmoor,kublai,courtly,resigns,radii,megachilidae,cartels,shortfall,xhosa,unregistered,benchmarks,dystopian,bulkhead,ponsonby,jovanovic,accumulates,papuan,bhutanese,intuitively,gotaland,headliners,recursion,dejan,novellas,diphthongs,imbued,withstood,analgesic,amplify,powertrain,programing,maidan,alstom,affirms,eradicated,summerslam,videogame,molla,severing,foundered,gallium,atmospheres,desalination,shmuel,howmeh,catolica,bossier,reconstructing,isolates,lyase,tweets,unconnected,tidewater,divisible,cohorts,orebro,presov,furnishing,folklorist,simplifying,centrale,notations,factorization,monarchies,deepen,macomb,facilitation,hennepin,declassified,redrawn,microprocessors,preliminaries,enlarging,timeframe,deutschen,shipbuilders,patiala,ferrous,aquariums,genealogies,vieux,unrecognized,bridgwater,tetrahedral,thule,resignations,gondwana,registries,agder,dataset,felled,parva,analyzer,worsen,coleraine,columella,blockaded,polytechnique,reassembled,reentry,narvik,greys,nigra,knockouts,bofors,gniezno,slotted,hamasaki,ferrers,conferring,thirdly,domestication,photojournalist,universality,preclude,ponting,halved,thereupon,photosynthetic,ostrava,mismatch,pangasinan,intermediaries,abolitionists,transited,headings,ustase,radiological,interconnection,dabrowa,invariants,honorius,preferentially,chantilly,marysville,dialectical,antioquia,abstained,gogol,dirichlet,muricidae,symmetries,reproduces,brazos,fatwa,bacillus,ketone,paribas,chowk,multiplicative,dermatitis,mamluks,devotes,adenosine,newbery,meditative,minefields,inflection,oxfam,conwy,bystrica,imprints,pandavas,infinitesimal,conurbation,amphetamine,reestablish,furth,edessa,injustices,frankston,serjeant,4x200,khazar,sihanouk,longchamp,stags,pogroms,coups,upperparts,endpoints,infringed,nuanced,summing,humorist,pacification,ciaran,jamaat,anteriorly,roddick,springboks,faceted,hypoxia,rigorously,cleves,fatimid,ayurvedic,tabled,ratna,senhora,maricopa,seibu,gauguin,holomorphic,campgrounds,amboy,coordinators,ponderosa,casemates,ouachita,nanaimo,mindoro,zealander,rimsky,cluny,tomaszow,meghalaya,caetano,tilak,roussillon,landtag,gravitation,dystrophy,cephalopods,trombones,glens,killarney,denominated,anthropogenic,pssas,roubaix,carcasses,montmorency,neotropical,communicative,rabindranath,ordinated,separable,overriding,surged,sagebrush,conciliation,codice_4,durrani,phosphatase,qadir,votive,revitalized,taiyuan,tyrannosaurus,graze,slovaks,nematodes,environmentalism,blockhouse,illiteracy,schengen,ecotourism,alternation,conic,wields,hounslow,blackfoot,kwame,ambulatory,volhynia,hordaland,croton,piedras,rohit,drava,conceptualized,birla,illustrative,gurgaon,barisal,tutsi,dezong,nasional,polje,chanson,clarinets,krasnoyarsk,aleksandrovich,cosmonaut,d'este,palliative,midseason,silencing,wardens,durer,girders,salamanders,torrington,supersonics,lauda,farid,circumnavigation,embankments,funnels,bajnoksag,lorries,cappadocia,jains,warringah,retirees,burgesses,equalization,cusco,ganesan,algal,amazonian,lineups,allocating,conquerors,usurper,mnemonic,predating,brahmaputra,ahmadabad,maidenhead,numismatic,subregion,encamped,reciprocating,freebsd,irgun,tortoises,governorates,zionists,airfoil,collated,ajmer,fiennes,etymological,polemic,chadian,clerestory,nordiques,fluctuated,calvados,oxidizing,trailhead,massena,quarrels,dordogne,tirunelveli,pyruvate,pulsed,athabasca,sylar,appointee,serer,japonica,andronikos,conferencing,nicolaus,chemin,ascertained,incited,woodbine,helices,hospitalised,emplacements,to/from,orchestre,tyrannical,pannonia,methodism,pop/rock,shibuya,berbers,despot,seaward,westpac,separator,perpignan,alamein,judeo,publicize,quantization,ethniki,gracilis,menlo,offside,oscillating,unregulated,succumbing,finnmark,metrical,suleyman,raith,sovereigns,bundesstrasse,kartli,fiduciary,darshan,foramen,curler,concubines,calvinism,larouche,bukhara,sophomores,mohanlal,lutheranism,monomer,eamonn,'black,uncontested,immersive,tutorials,beachhead,bindings,permeable,postulates,comite,transformative,indiscriminate,hofstra,associacao,amarna,dermatology,lapland,aosta,babur,unambiguous,formatting,schoolboys,gwangju,superconducting,replayed,adherent,aureus,compressors,forcible,spitsbergen,boulevards,budgeting,nossa,annandale,perumal,interregnum,sassoon,kwajalein,greenbrier,caldas,triangulation,flavius,increment,shakhtar,nullified,pinfall,nomen,microfinance,depreciation,cubist,steeper,splendour,gruppe,everyman,chasers,campaigners,bridle,modality,percussive,darkly,capes,velar,picton,triennial,factional,padang,toponym,betterment,norepinephrine,112th,estuarine,diemen,warehousing,morphism,ideologically,pairings,immunization,crassus,exporters,sefer,flocked,bulbous,deseret,booms,calcite,bohol,elven,groot,pulau,citigroup,wyeth,modernizing,layering,pastiche,complies,printmaker,condenser,theropod,cassino,oxyrhynchus,akademie,trainings,lowercase,coxae,parte,chetniks,pentagonal,keselowski,monocoque,morsi,reticulum,meiosis,clapboard,recoveries,tinge,an/fps,revista,sidon,livre,epidermis,conglomerates,kampong,congruent,harlequins,tergum,simplifies,epidemiological,underwriting,tcp/ip,exclusivity,multidimensional,mysql,columbine,ecologist,hayat,sicilies,levees,handset,aesop,usenet,pacquiao,archiving,alexandrian,compensatory,broadsheet,annotation,bahamian,d'affaires,interludes,phraya,shamans,marmara,customizable,immortalized,ambushes,chlorophyll,diesels,emulsion,rheumatoid,voluminous,screenwriters,tailoring,sedis,runcorn,democratization,bushehr,anacostia,constanta,antiquary,sixtus,radiate,advaita,antimony,acumen,barristers,reichsbahn,ronstadt,symbolist,pasig,cursive,secessionist,afrikaner,munnetra,inversely,adsorption,syllabic,moltke,idioms,midline,olimpico,diphosphate,cautions,radziwill,mobilisation,copelatus,trawlers,unicron,bhaskar,financiers,minimalism,derailment,marxists,oireachtas,abdicate,eigenvalue,zafar,vytautas,ganguly,chelyabinsk,telluride,subordination,ferried,dived,vendee,pictish,dimitrov,expiry,carnation,cayley,magnitudes,lismore,gretna,sandwiched,unmasked,sandomierz,swarthmore,tetra,nanyang,pevsner,dehradun,mormonism,rashi,complying,seaplanes,ningbo,cooperates,strathcona,mornington,mestizo,yulia,edgbaston,palisade,ethno,polytopes,espirito,tymoshenko,pronunciations,paradoxical,taichung,chipmunks,erhard,maximise,accretion,kanda,`abdu'l,narrowest,umpiring,mycenaean,divisor,geneticist,ceredigion,barque,hobbyists,equates,auxerre,spinose,cheil,sweetwater,guano,carboxylic,archiv,tannery,cormorant,agonists,fundacion,anbar,tunku,hindrance,meerut,concordat,secunderabad,kachin,achievable,murfreesboro,comprehensively,forges,broadest,synchronised,speciation,scapa,aliyev,conmebol,tirelessly,subjugated,pillaged,udaipur,defensively,lakhs,stateless,haasan,headlamps,patterning,podiums,polyphony,mcmurdo,mujer,vocally,storeyed,mucosa,multivariate,scopus,minimizes,formalised,certiorari,bourges,populate,overhanging,gaiety,unreserved,borromeo,woolworths,isotopic,bashar,purify,vertebra,medan,juxtaposition,earthwork,elongation,chaudhary,schematic,piast,steeped,nanotubes,fouls,achaea,legionnaires,abdur,qmjhl,embraer,hardback,centerville,ilocos,slovan,whitehorse,mauritian,moulding,mapuche,donned,provisioning,gazprom,jonesboro,audley,lightest,calyx,coldwater,trigonometric,petroglyphs,psychoanalyst,congregate,zambezi,fissure,supervises,bexley,etobicoke,wairarapa,tectonics,emphasises,formula_41,debugging,linfield,spatially,ionizing,ungulates,orinoco,clades,erlangen,news/talk,vols.,ceara,yakovlev,finsbury,entanglement,fieldhouse,graphene,intensifying,grigory,keyong,zacatecas,ninian,allgemeine,keswick,societa,snorri,femininity,najib,monoclonal,guyanese,postulate,huntly,abbeys,machinist,yunus,emphasising,ishaq,urmia,bremerton,pretenders,lumiere,thoroughfares,chikara,dramatized,metathorax,taiko,transcendence,wycliffe,retrieves,umpired,steuben,racehorses,taylors,kuznetsov,montezuma,precambrian,canopies,gaozong,propodeum,disestablished,retroactive,shoreham,rhizome,doubleheader,clinician,diwali,quartzite,shabaab,agassiz,despatched,stormwater,luxemburg,callao,universidade,courland,skane,glyph,dormers,witwatersrand,curacy,qualcomm,nansen,entablature,lauper,hausdorff,lusaka,ruthenian,360deg,cityscape,douai,vaishnava,spars,vaulting,rationalist,gygax,sequestration,typology,pollinates,accelerators,leben,colonials,cenotaph,imparted,carthaginians,equaled,rostrum,gobind,bodhisattva,oberst,bicycling,arabi,sangre,biophysics,hainaut,vernal,lunenburg,apportioned,finches,lajos,nenad,repackaged,zayed,nikephoros,r.e.m,swaminarayan,gestalt,unplaced,crags,grohl,sialkot,unsaturated,gwinnett,linemen,forays,palakkad,writs,instrumentalists,aircrews,badged,terrapins,180deg,oneness,commissariat,changi,pupation,circumscribed,contador,isotropic,administrated,fiefs,nimes,intrusions,minoru,geschichte,nadph,tainan,changchun,carbondale,frisia,swapo,evesham,hawai'i,encyclopedic,transporters,dysplasia,formula_42,onsite,jindal,guetta,judgements,narbonne,permissions,paleogene,rationalism,vilna,isometric,subtracted,chattahoochee,lamina,missa,greville,pervez,lattices,persistently,crystallization,timbered,hawaiians,fouling,interrelated,masood,ripening,stasi,gamal,visigothic,warlike,cybernetics,tanjung,forfar,cybernetic,karelian,brooklands,belfort,greifswald,campeche,inexplicably,refereeing,understory,uninterested,prius,collegiately,sefid,sarsfield,categorize,biannual,elsevier,eisteddfod,declension,autonoma,procuring,misrepresentation,novelization,bibliographic,shamanism,vestments,potash,eastleigh,ionized,turan,lavishly,scilly,balanchine,importers,parlance,'that,kanyakumari,synods,mieszko,crossovers,serfdom,conformational,legislated,exclave,heathland,sadar,differentiates,propositional,konstantinos,photoshop,manche,vellore,appalachia,orestes,taiga,exchanger,grozny,invalidated,baffin,spezia,staunchly,eisenach,robustness,virtuosity,ciphers,inlets,bolagh,understandings,bosniaks,parser,typhoons,sinan,luzerne,webcomic,subtraction,jhelum,businessweek,ceske,refrained,firebox,mitigated,helmholtz,dilip,eslamabad,metalwork,lucan,apportionment,provident,gdynia,schooners,casement,danse,hajjiabad,benazir,buttress,anthracite,newsreel,wollaston,dispatching,cadastral,riverboat,provincetown,nantwich,missal,irreverent,juxtaposed,darya,ennobled,electropop,stereoscopic,maneuverability,laban,luhansk,udine,collectibles,haulage,holyrood,materially,supercharger,gorizia,shkoder,townhouses,pilate,layoffs,folkloric,dialectic,exuberant,matures,malla,ceuta,citizenry,crewed,couplet,stopover,transposition,tradesmen,antioxidant,amines,utterance,grahame,landless,isere,diction,appellant,satirist,urbino,intertoto,subiaco,antonescu,nehemiah,ubiquitin,emcee,stourbridge,fencers,103rd,wranglers,monteverdi,watertight,expounded,xiamen,manmohan,pirie,threefold,antidepressant,sheboygan,grieg,cancerous,diverging,bernini,polychrome,fundamentalism,bihari,critiqued,cholas,villers,tendulkar,dafydd,vastra,fringed,evangelization,episcopalian,maliki,sana'a,ashburton,trianon,allegany,heptathlon,insufficiently,panelists,pharrell,hexham,amharic,fertilized,plumes,cistern,stratigraphy,akershus,catalans,karoo,rupee,minuteman,quantification,wigmore,leutnant,metanotum,weeknights,iridescent,extrasolar,brechin,deuterium,kuching,lyricism,astrakhan,brookhaven,euphorbia,hradec,bhagat,vardar,aylmer,positron,amygdala,speculators,unaccompanied,debrecen,slurry,windhoek,disaffected,rapporteur,mellitus,blockers,fronds,yatra,sportsperson,precession,physiologist,weeknight,pidgin,pharma,condemns,standardize,zetian,tibor,glycoprotein,emporia,cormorants,amalie,accesses,leonhard,denbighshire,roald,116th,will.i.am,symbiosis,privatised,meanders,chemnitz,jabalpur,shing,secede,ludvig,krajina,homegrown,snippets,sasanian,euripides,peder,cimarron,streaked,graubunden,kilimanjaro,mbeki,middleware,flensburg,bukovina,lindwall,marsalis,profited,abkhaz,polis,camouflaged,amyloid,morgantown,ovoid,bodleian,morte,quashed,gamelan,juventud,natchitoches,storyboard,freeview,enumeration,cielo,preludes,bulawayo,1600s,olympiads,multicast,faunal,asura,reinforces,puranas,ziegfeld,handicraft,seamount,kheil,noche,hallmarks,dermal,colorectal,encircle,hessen,umbilicus,sunnis,leste,unwin,disclosing,superfund,montmartre,refuelling,subprime,kolhapur,etiology,bismuth,laissez,vibrational,mazar,alcoa,rumsfeld,recurve,ticonderoga,lionsgate,onlookers,homesteads,filesystem,barometric,kingswood,biofuel,belleza,moshav,occidentalis,asymptomatic,northeasterly,leveson,huygens,numan,kingsway,primogeniture,toyotomi,yazoo,limpets,greenbelt,booed,concurrence,dihedral,ventrites,raipur,sibiu,plotters,kitab,109th,trackbed,skilful,berthed,effendi,fairing,sephardi,mikhailovich,lockyer,wadham,invertible,paperbacks,alphabetic,deuteronomy,constitutive,leathery,greyhounds,estoril,beechcraft,poblacion,cossidae,excreted,flamingos,singha,olmec,neurotransmitters,ascoli,nkrumah,forerunners,dualism,disenchanted,benefitted,centrum,undesignated,noida,o'donoghue,collages,egrets,egmont,wuppertal,cleave,montgomerie,pseudomonas,srinivasa,lymphatic,stadia,resold,minima,evacuees,consumerism,ronde,biochemist,automorphism,hollows,smuts,improvisations,vespasian,bream,pimlico,eglin,colne,melancholic,berhad,ousting,saale,notaulices,ouest,hunslet,tiberias,abdomina,ramsgate,stanislas,donbass,pontefract,sucrose,halts,drammen,chelm,l'arc,taming,trolleys,konin,incertae,licensees,scythian,giorgos,dative,tanglewood,farmlands,o'keeffe,caesium,romsdal,amstrad,corte,oglethorpe,huntingdonshire,magnetization,adapts,zamosc,shooto,cuttack,centrepiece,storehouse,winehouse,morbidity,woodcuts,ryazan,buddleja,buoyant,bodmin,estero,austral,verifiable,periyar,christendom,curtail,shura,kaifeng,cotswold,invariance,seafaring,gorica,androgen,usman,seabird,forecourt,pekka,juridical,audacious,yasser,cacti,qianlong,polemical,d'amore,espanyol,distrito,cartographers,pacifism,serpents,backa,nucleophilic,overturning,duplicates,marksman,oriente,vuitton,oberleutnant,gielgud,gesta,swinburne,transfiguration,1750s,retaken,celje,fredrikstad,asuka,cropping,mansard,donates,blacksmiths,vijayanagara,anuradhapura,germinate,betis,foreshore,jalandhar,bayonets,devaluation,frazione,ablaze,abidjan,approvals,homeostasis,corollary,auden,superfast,redcliffe,luxembourgish,datum,geraldton,printings,ludhiana,honoree,synchrotron,invercargill,hurriedly,108th,three-and-a-half,colonist,bexar,limousin,bessemer,ossetian,nunataks,buddhas,rebuked,thais,tilburg,verdicts,interleukin,unproven,dordrecht,solent,acclamation,muammar,dahomey,operettas,4x400,arrears,negotiators,whitehaven,apparitions,armoury,psychoactive,worshipers,sculptured,elphinstone,airshow,kjell,o'callaghan,shrank,professorships,predominance,subhash,coulomb,sekolah,retrofitted,samos,overthrowing,vibrato,resistors,palearctic,datasets,doordarshan,subcutaneous,compiles,immorality,patchwork,trinidadian,glycogen,pronged,zohar,visigoths,freres,akram,justo,agora,intakes,craiova,playwriting,bukhari,militarism,iwate,petitioners,harun,wisla,inefficiency,vendome,ledges,schopenhauer,kashi,entombed,assesses,tenn.,noumea,baguio,carex,o'donovan,filings,hillsdale,conjectures,blotches,annuals,lindisfarne,negated,vivek,angouleme,trincomalee,cofactor,verkhovna,backfield,twofold,automaker,rudra,freighters,darul,gharana,busway,formula_43,plattsburgh,portuguesa,showrunner,roadmap,valenciennes,erdos,biafra,spiritualism,transactional,modifies,carne,107th,cocos,gcses,tiverton,radiotherapy,meadowlands,gunma,srebrenica,foxtel,authenticated,enslavement,classicist,klaipeda,minstrels,searchable,infantrymen,incitement,shiga,nadp+,urals,guilders,banquets,exteriors,counterattacks,visualized,diacritics,patrimony,svensson,transepts,prizren,telegraphy,najaf,emblazoned,coupes,effluent,ragam,omani,greensburg,taino,flintshire,cd/dvd,lobbies,narrating,cacao,seafarers,bicolor,collaboratively,suraj,floodlit,sacral,puppetry,tlingit,malwa,login,motionless,thien,overseers,vihar,golem,specializations,bathhouse,priming,overdubs,winningest,archetypes,uniao,acland,creamery,slovakian,lithographs,maryborough,confidently,excavating,stillborn,ramallah,audiencia,alava,ternary,hermits,rostam,bauxite,gawain,lothair,captions,gulfstream,timelines,receded,mediating,petain,bastia,rudbar,bidders,disclaimer,shrews,tailings,trilobites,yuriy,jamil,demotion,gynecology,rajinikanth,madrigals,ghazni,flycatchers,vitebsk,bizet,computationally,kashgar,refinements,frankford,heralds,europe/africa,levante,disordered,sandringham,queues,ransacked,trebizond,verdes,comedie,primitives,figurine,organists,culminate,gosport,coagulation,ferrying,hoyas,polyurethane,prohibitive,midfielders,ligase,progesterone,defectors,sweetened,backcountry,diodorus,waterside,nieuport,khwaja,jurong,decried,gorkha,ismaili,300th,octahedral,kindergartens,paseo,codification,notifications,disregarding,risque,reconquista,shortland,atolls,texarkana,perceval,d'etudes,kanal,herbicides,tikva,nuova,gatherer,dissented,soweto,dexterity,enver,bacharach,placekicker,carnivals,automate,maynooth,symplectic,chetnik,militaire,upanishads,distributive,strafing,championing,moiety,miliband,blackadder,enforceable,maung,dimer,stadtbahn,diverges,obstructions,coleophoridae,disposals,shamrocks,aural,banca,bahru,coxed,grierson,vanadium,watermill,radiative,ecoregions,berets,hariri,bicarbonate,evacuations,mallee,nairn,rushden,loggia,slupsk,satisfactorily,milliseconds,cariboo,reine,cyclo,pigmentation,postmodernism,aqueducts,vasari,bourgogne,dilemmas,liquefied,fluminense,alloa,ibaraki,tenements,kumasi,humerus,raghu,labours,putsch,soundcloud,bodybuilder,rakyat,domitian,pesaro,translocation,sembilan,homeric,enforcers,tombstones,lectureship,rotorua,salamis,nikolaos,inferences,superfortress,lithgow,surmised,undercard,tarnow,barisan,stingrays,federacion,coldstream,haverford,ornithological,heerenveen,eleazar,jyoti,murali,bamako,riverbed,subsidised,theban,conspicuously,vistas,conservatorium,madrasa,kingfishers,arnulf,credential,syndicalist,sheathed,discontinuity,prisms,tsushima,coastlines,escapees,vitis,optimizing,megapixel,overground,embattled,halide,sprinters,buoys,mpumalanga,peculiarities,106th,roamed,menezes,macao,prelates,papyri,freemen,dissertations,irishmen,pooled,sverre,reconquest,conveyance,subjectivity,asturian,circassian,formula_45,comdr,thickets,unstressed,monro,passively,harmonium,moveable,dinar,carlsson,elysees,chairing,b'nai,confusingly,kaoru,convolution,godolphin,facilitator,saxophones,eelam,jebel,copulation,anions,livres,licensure,pontypridd,arakan,controllable,alessandria,propelling,stellenbosch,tiber,wolka,liberators,yarns,d'azur,tsinghua,semnan,amhara,ablation,melies,tonality,historique,beeston,kahne,intricately,sonoran,robespierre,gyrus,boycotts,defaulted,infill,maranhao,emigres,framingham,paraiba,wilhelmshaven,tritium,skyway,labial,supplementation,possessor,underserved,motets,maldivian,marrakech,quays,wikimedia,turbojet,demobilization,petrarch,encroaching,sloops,masted,karbala,corvallis,agribusiness,seaford,stenosis,hieronymus,irani,superdraft,baronies,cortisol,notability,veena,pontic,cyclin,archeologists,newham,culled,concurring,aeolian,manorial,shouldered,fords,philanthropists,105th,siddharth,gotthard,halim,rajshahi,jurchen,detritus,practicable,earthenware,discarding,travelogue,neuromuscular,elkhart,raeder,zygmunt,metastasis,internees,102nd,vigour,upmarket,summarizing,subjunctive,offsets,elizabethtown,udupi,pardubice,repeaters,instituting,archaea,substandard,technische,linga,anatomist,flourishes,velika,tenochtitlan,evangelistic,fitchburg,springbok,cascading,hydrostatic,avars,occasioned,filipina,perceiving,shimbun,africanus,consternation,tsing,optically,beitar,45deg,abutments,roseville,monomers,huelva,lotteries,hypothalamus,internationalist,electromechanical,hummingbirds,fibreglass,salaried,dramatists,uncovers,invokes,earners,excretion,gelding,ancien,aeronautica,haverhill,stour,ittihad,abramoff,yakov,ayodhya,accelerates,industrially,aeroplanes,deleterious,dwelt,belvoir,harpalus,atpase,maluku,alasdair,proportionality,taran,epistemological,interferometer,polypeptide,adjudged,villager,metastatic,marshalls,madhavan,archduchess,weizmann,kalgoorlie,balan,predefined,sessile,sagaing,brevity,insecticide,psychosocial,africana,steelworks,aether,aquifers,belem,mineiro,almagro,radiators,cenozoic,solute,turbocharger,invicta,guested,buccaneer,idolatry,unmatched,paducah,sinestro,dispossessed,conforms,responsiveness,cyanobacteria,flautist,procurator,complementing,semifinalist,rechargeable,permafrost,cytokine,refuges,boomed,gelderland,franchised,jinan,burnie,doubtless,randomness,colspan=12,angra,ginebra,famers,nuestro,declarative,roughness,lauenburg,motile,rekha,issuer,piney,interceptors,napoca,gipsy,formulaic,formula_44,viswanathan,ebrahim,thessalonica,galeria,muskogee,unsold,html5,taito,mobutu,icann,carnarvon,fairtrade,morphisms,upsilon,nozzles,fabius,meander,murugan,strontium,episcopacy,sandinista,parasol,attenuated,bhima,primeval,panay,ordinator,negara,osteoporosis,glossop,ebook,paradoxically,grevillea,modoc,equating,phonetically,legumes,covariant,dorje,quatre,bruxelles,pyroclastic,shipbuilder,zhaozong,obscuring,sveriges,tremolo,extensible,barrack,multnomah,hakon,chaharmahal,parsing,volumetric,astrophysical,glottal,combinatorics,freestanding,encoder,paralysed,cavalrymen,taboos,heilbronn,orientalis,lockport,marvels,ozawa,dispositions,waders,incurring,saltire,modulate,papilio,phenol,intermedia,rappahannock,plasmid,fortify,phenotypes,transiting,correspondences,leaguer,larnaca,incompatibility,mcenroe,deeming,endeavoured,aboriginals,helmed,salar,arginine,werke,ferrand,expropriated,delimited,couplets,phoenicians,petioles,ouster,anschluss,protectionist,plessis,urchins,orquesta,castleton,juniata,bittorrent,fulani,donji,mykola,rosemont,chandos,scepticism,signer,chalukya,wicketkeeper,coquitlam,programmatic,o'brian,carteret,urology,steelhead,paleocene,konkan,bettered,venkatesh,surfacing,longitudinally,centurions,popularization,yazid,douro,widths,premios,leonards,gristmill,fallujah,arezzo,leftists,ecliptic,glycerol,inaction,disenfranchised,acrimonious,depositing,parashah,cockatoo,marechal,bolzano,chios,cablevision,impartiality,pouches,thickly,equities,bentinck,emotive,boson,ashdown,conquistadors,parsi,conservationists,reductive,newlands,centerline,ornithologists,waveguide,nicene,philological,hemel,setanta,masala,aphids,convening,casco,matrilineal,chalcedon,orthographic,hythe,replete,damming,bolivarian,admixture,embarks,borderlands,conformed,nagarjuna,blenny,chaitanya,suwon,shigeru,tatarstan,lingayen,rejoins,grodno,merovingian,hardwicke,puducherry,prototyping,laxmi,upheavals,headquarter,pollinators,bromine,transom,plantagenet,arbuthnot,chidambaram,woburn,osamu,panelling,coauthored,zhongshu,hyaline,omissions,aspergillus,offensively,electrolytic,woodcut,sodom,intensities,clydebank,piotrkow,supplementing,quipped,focke,harbinger,positivism,parklands,wolfenbuttel,cauca,tryptophan,taunus,curragh,tsonga,remand,obscura,ashikaga,eltham,forelimbs,analogs,trnava,observances,kailash,antithesis,ayumi,abyssinia,dorsally,tralee,pursuers,misadventures,padova,perot,mahadev,tarim,granth,licenced,compania,patuxent,baronial,korda,cochabamba,codices,karna,memorialized,semaphore,playlists,mandibular,halal,sivaji,scherzinger,stralsund,foundries,ribosome,mindfulness,nikolayevich,paraphyletic,newsreader,catalyze,ioannina,thalamus,gbit/s,paymaster,sarab,500th,replenished,gamepro,cracow,formula_46,gascony,reburied,lessing,easement,transposed,meurthe,satires,proviso,balthasar,unbound,cuckoos,durbar,louisbourg,cowes,wholesalers,manet,narita,xiaoping,mohamad,illusory,cathal,reuptake,alkaloid,tahrir,mmorpg,underlies,anglicanism,repton,aharon,exogenous,buchenwald,indigent,odostomia,milled,santorum,toungoo,nevsky,steyr,urbanisation,darkseid,subsonic,canaanite,akiva,eglise,dentition,mediators,cirencester,peloponnesian,malmesbury,durres,oerlikon,tabulated,saens,canaria,ischemic,esterhazy,ringling,centralization,walthamstow,nalanda,lignite,takht,leninism,expiring,circe,phytoplankton,promulgation,integrable,breeches,aalto,menominee,borgo,scythians,skrull,galleon,reinvestment,raglan,reachable,liberec,airframes,electrolysis,geospatial,rubiaceae,interdependence,symmetrically,simulcasts,keenly,mauna,adipose,zaidi,fairport,vestibular,actuators,monochromatic,literatures,congestive,sacramental,atholl,skytrain,tycho,tunings,jamia,catharina,modifier,methuen,tapings,infiltrating,colima,grafting,tauranga,halides,pontificate,phonetics,koper,hafez,grooved,kintetsu,extrajudicial,linkoping,cyberpunk,repetitions,laurentian,parnu,bretton,darko,sverdlovsk,foreshadowed,akhenaten,rehnquist,gosford,coverts,pragmatism,broadleaf,ethiopians,instated,mediates,sodra,opulent,descriptor,enugu,shimla,leesburg,officership,giffard,refectory,lusitania,cybermen,fiume,corus,tydfil,lawrenceville,ocala,leviticus,burghers,ataxia,richthofen,amicably,acoustical,watling,inquired,tiempo,multiracial,parallelism,trenchard,tokyopop,germanium,usisl,philharmonia,shapur,jacobites,latinized,sophocles,remittances,o'farrell,adder,dimitrios,peshwa,dimitar,orlov,outstretched,musume,satish,dimensionless,serialised,baptisms,pagasa,antiviral,1740s,quine,arapaho,bombardments,stratosphere,ophthalmic,injunctions,carbonated,nonviolence,asante,creoles,sybra,boilermakers,abington,bipartite,permissive,cardinality,anheuser,carcinogenic,hohenlohe,surinam,szeged,infanticide,generically,floorball,'white,automakers,cerebellar,homozygous,remoteness,effortlessly,allude,'great,headmasters,minting,manchurian,kinabalu,wemyss,seditious,widgets,marbled,almshouses,bards,subgenres,tetsuya,faulting,kickboxer,gaulish,hoseyn,malton,fluvial,questionnaires,mondale,downplayed,traditionalists,vercelli,sumatran,landfills,gamesradar,exerts,franciszek,unlawfully,huesca,diderot,libertarians,professorial,laane,piecemeal,conidae,taiji,curatorial,perturbations,abstractions,szlachta,watercraft,mullah,zoroastrianism,segmental,khabarovsk,rectors,affordability,scuola,diffused,stena,cyclonic,workpiece,romford,'little,jhansi,stalag,zhongshan,skipton,maracaibo,bernadotte,thanet,groening,waterville,encloses,sahrawi,nuffield,moorings,chantry,annenberg,islay,marchers,tenses,wahid,siegen,furstenberg,basques,resuscitation,seminarians,tympanum,gentiles,vegetarianism,tufted,venkata,fantastical,pterophoridae,machined,superposition,glabrous,kaveri,chicane,executors,phyllonorycter,bidirectional,jasta,undertones,touristic,majapahit,navratilova,unpopularity,barbadian,tinian,webcast,hurdler,rigidly,jarrah,staphylococcus,igniting,irrawaddy,stabilised,airstrike,ragas,wakayama,energetically,ekstraklasa,minibus,largemouth,cultivators,leveraging,waitangi,carnaval,weaves,turntables,heydrich,sextus,excavate,govind,ignaz,pedagogue,uriah,borrowings,gemstones,infractions,mycobacterium,batavian,massing,praetor,subalpine,massoud,passers,geostationary,jalil,trainsets,barbus,impair,budejovice,denbigh,pertain,historicity,fortaleza,nederlandse,lamenting,masterchef,doubs,gemara,conductance,ploiesti,cetaceans,courthouses,bhagavad,mihailovic,occlusion,bremerhaven,bulwark,morava,kaine,drapery,maputo,conquistador,kaduna,famagusta,first-past-the-post,erudite,galton,undated,tangential,filho,dismembered,dashes,criterium,darwen,metabolized,blurring,everard,randwick,mohave,impurity,acuity,ansbach,chievo,surcharge,plantain,algoma,porosity,zirconium,selva,sevenoaks,venizelos,gwynne,golgi,imparting,separatism,courtesan,idiopathic,gravestones,hydroelectricity,babar,orford,purposeful,acutely,shard,ridgewood,viterbo,manohar,expropriation,placenames,brevis,cosine,unranked,richfield,newnham,recoverable,flightless,dispersing,clearfield,abu'l,stranraer,kempe,streamlining,goswami,epidermal,pieta,conciliatory,distilleries,electrophoresis,bonne,tiago,curiosities,candidature,picnicking,perihelion,lintel,povoa,gullies,configure,excision,facies,signers,1730s,insufficiency,semiotics,streatham,deactivation,entomological,skippers,albacete,parodying,escherichia,honorees,singaporeans,counterterrorism,tiruchirappalli,omnivorous,metropole,globalisation,athol,unbounded,codice_5,landforms,classifier,farmhouses,reaffirming,reparation,yomiuri,technologists,mitte,medica,viewable,steampunk,konya,kshatriya,repelling,edgewater,lamiinae,devas,potteries,llandaff,engendered,submits,virulence,uplifted,educationist,metropolitans,frontrunner,dunstable,forecastle,frets,methodius,exmouth,linnean,bouchet,repulsion,computable,equalling,liceo,tephritidae,agave,hydrological,azarenka,fairground,l'homme,enforces,xinhua,cinematographers,cooperstown,sa'id,paiute,christianization,tempos,chippenham,insulator,kotor,stereotyped,dello,cours,hisham,d'souza,eliminations,supercars,passau,rebrand,natures,coote,persephone,rededicated,cleaved,plenum,blistering,indiscriminately,cleese,safed,recursively,compacted,revues,hydration,shillong,echelons,garhwal,pedimented,grower,zwolle,wildflower,annexing,methionine,petah,valens,famitsu,petiole,specialities,nestorian,shahin,tokaido,shearwater,barberini,kinsmen,experimenter,alumnae,cloisters,alumina,pritzker,hardiness,soundgarden,julich,ps300,watercourse,cementing,wordplay,olivet,demesne,chasseurs,amide,zapotec,gaozu,porphyry,absorbers,indium,analogies,devotions,engravers,limestones,catapulted,surry,brickworks,gotra,rodham,landline,paleontologists,shankara,islip,raucous,trollope,arpad,embarkation,morphemes,recites,picardie,nakhchivan,tolerances,formula_47,khorramabad,nichiren,adrianople,kirkuk,assemblages,collider,bikaner,bushfires,roofline,coverings,reredos,bibliotheca,mantras,accentuated,commedia,rashtriya,fluctuation,serhiy,referential,fittipaldi,vesicle,geeta,iraklis,immediacy,chulalongkorn,hunsruck,bingen,dreadnoughts,stonemason,meenakshi,lebesgue,undergrowth,baltistan,paradoxes,parlement,articled,tiflis,dixieland,meriden,tejano,underdogs,barnstable,exemplify,venter,tropes,wielka,kankakee,iskandar,zilina,pharyngeal,spotify,materialised,picts,atlantique,theodoric,prepositions,paramilitaries,pinellas,attlee,actuated,piedmontese,grayling,thucydides,multifaceted,unedited,autonomously,universelle,utricularia,mooted,preto,incubated,underlie,brasenose,nootka,bushland,sensu,benzodiazepine,esteghlal,seagoing,amenhotep,azusa,sappers,culpeper,smokeless,thoroughbreds,dargah,gorda,alumna,mankato,zdroj,deleting,culvert,formula_49,punting,wushu,hindering,immunoglobulin,standardisation,birger,oilfield,quadrangular,ulama,recruiters,netanya,1630s,communaute,istituto,maciej,pathan,meher,vikas,characterizations,playmaker,interagency,intercepts,assembles,horthy,introspection,narada,matra,testes,radnicki,estonians,csiro,instar,mitford,adrenergic,crewmembers,haaretz,wasatch,lisburn,rangefinder,ordre,condensate,reforestation,corregidor,spvgg,modulator,mannerist,faulted,aspires,maktoum,squarepants,aethelred,piezoelectric,mulatto,dacre,progressions,jagiellonian,norge,samaria,sukhoi,effingham,coxless,hermetic,humanists,centrality,litters,stirlingshire,beaconsfield,sundanese,geometrically,caretakers,habitually,bandra,pashtuns,bradenton,arequipa,laminar,brickyard,hitchin,sustains,shipboard,ploughing,trechus,wheelers,bracketed,ilyushin,subotica,d'hondt,reappearance,bridgestone,intermarried,fulfilment,aphasia,birkbeck,transformational,strathmore,hornbill,millstone,lacan,voids,solothurn,gymnasiums,laconia,viaducts,peduncle,teachta,edgware,shinty,supernovae,wilfried,exclaim,parthia,mithun,flashpoint,moksha,cumbia,metternich,avalanches,militancy,motorist,rivadavia,chancellorsville,federals,gendered,bounding,footy,gauri,caliphs,lingam,watchmaker,unrecorded,riverina,unmodified,seafloor,droit,pfalz,chrysostom,gigabit,overlordship,besiege,espn2,oswestry,anachronistic,ballymena,reactivation,duchovny,ghani,abacetus,duller,legio,watercourses,nord-pas-de-calais,leiber,optometry,swarms,installer,sancti,adverbs,iheartmedia,meiningen,zeljko,kakheti,notional,circuses,patrilineal,acrobatics,infrastructural,sheva,oregonian,adjudication,aamir,wloclawek,overfishing,obstructive,subtracting,aurobindo,archeologist,newgate,'cause,secularization,tehsils,abscess,fingal,janacek,elkhorn,trims,kraftwerk,mandating,irregulars,faintly,congregationalist,sveti,kasai,mishaps,kennebec,provincially,durkheim,scotties,aicte,rapperswil,imphal,surrenders,morphs,nineveh,hoxha,cotabato,thuringian,metalworking,retold,shogakukan,anthers,proteasome,tippeligaen,disengagement,mockumentary,palatial,erupts,flume,corrientes,masthead,jaroslaw,rereleased,bharti,labors,distilling,tusks,varzim,refounded,enniskillen,melkite,semifinalists,vadodara,bermudian,capstone,grasse,origination,populus,alesi,arrondissements,semigroup,verein,opossum,messrs.,portadown,bulbul,tirupati,mulhouse,tetrahedron,roethlisberger,nonverbal,connexion,warangal,deprecated,gneiss,octet,vukovar,hesketh,chambre,despatch,claes,kargil,hideo,gravelly,tyndale,aquileia,tuners,defensible,tutte,theotokos,constructivist,ouvrage,dukla,polisario,monasticism,proscribed,commutation,testers,nipissing,codon,mesto,olivine,concomitant,exoskeleton,purports,coromandel,eyalet,dissension,hippocrates,purebred,yaounde,composting,oecophoridae,procopius,o'day,angiogenesis,sheerness,intelligencer,articular,felixstowe,aegon,endocrinology,trabzon,licinius,pagodas,zooplankton,hooghly,satie,drifters,sarthe,mercian,neuilly,tumours,canal+,scheldt,inclinations,counteroffensive,roadrunners,tuzla,shoreditch,surigao,predicates,carnot,algeciras,militaries,generalize,bulkheads,gawler,pollutant,celta,rundgren,microrna,gewog,olimpija,placental,lubelski,roxburgh,discerned,verano,kikuchi,musicale,l'enfant,ferocity,dimorphic,antigonus,erzurum,prebendary,recitative,discworld,cyrenaica,stigmella,totnes,sutta,pachuca,ulsan,downton,landshut,castellan,pleural,siedlce,siecle,catamaran,cottbus,utilises,trophic,freeholders,holyhead,u.s.s,chansons,responder,waziristan,suzuka,birding,shogi,asker,acetone,beautification,cytotoxic,dixit,hunterdon,cobblestone,formula_48,kossuth,devizes,sokoto,interlaced,shuttered,kilowatts,assiniboine,isaak,salto,alderney,sugarloaf,franchising,aggressiveness,toponyms,plaintext,antimatter,henin,equidistant,salivary,bilingualism,mountings,obligate,extirpated,irenaeus,misused,pastoralists,aftab,immigrating,warping,tyrolean,seaforth,teesside,soundwave,oligarchy,stelae,pairwise,iupac,tezuka,posht,orchestrations,landmass,ironstone,gallia,hjalmar,carmelites,strafford,elmhurst,palladio,fragility,teleplay,gruffudd,karoly,yerba,potok,espoo,inductance,macaque,nonprofits,pareto,rock'n'roll,spiritualist,shadowed,skateboarder,utterances,generality,congruence,prostrate,deterred,yellowknife,albarn,maldon,battlements,mohsen,insecticides,khulna,avellino,menstruation,glutathione,springdale,parlophone,confraternity,korps,countrywide,bosphorus,preexisting,damodar,astride,alexandrovich,sprinting,crystallized,botev,leaching,interstates,veers,angevin,undaunted,yevgeni,nishapur,northerners,alkmaar,bethnal,grocers,sepia,tornus,exemplar,trobe,charcot,gyeonggi,larne,tournai,lorain,voided,genji,enactments,maxilla,adiabatic,eifel,nazim,transducer,thelonious,pyrite,deportiva,dialectal,bengt,rosettes,labem,sergeyevich,synoptic,conservator,statuette,biweekly,adhesives,bifurcation,rajapaksa,mammootty,republique,yusef,waseda,marshfield,yekaterinburg,minnelli,fundy,fenian,matchups,dungannon,supremacist,panelled,drenthe,iyengar,fibula,narmada,homeport,oceanside,precept,antibacterial,altarpieces,swath,ospreys,lillooet,legnica,lossless,formula_50,galvatron,iorga,stormont,rsfsr,loggers,kutno,phenomenological,medallists,cuatro,soissons,homeopathy,bituminous,injures,syndicates,typesetting,displacements,dethroned,makassar,lucchese,abergavenny,targu,alborz,akb48,boldface,gastronomy,sacra,amenity,accumulator,myrtaceae,cornices,mourinho,denunciation,oxbow,diddley,aargau,arbitrage,bedchamber,gruffydd,zamindar,klagenfurt,caernarfon,slowdown,stansted,abrasion,tamaki,suetonius,dukakis,individualistic,ventrally,hotham,perestroika,ketones,fertilisation,sobriquet,couplings,renderings,misidentified,rundfunk,sarcastically,braniff,concours,dismissals,elegantly,modifiers,crediting,combos,crucially,seafront,lieut,ischemia,manchus,derivations,proteases,aristophanes,adenauer,porting,hezekiah,sante,trulli,hornblower,foreshadowing,ypsilanti,dharwad,khani,hohenstaufen,distillers,cosmodrome,intracranial,turki,salesian,gorzow,jihlava,yushchenko,leichhardt,venables,cassia,eurogamer,airtel,curative,bestsellers,timeform,sortied,grandview,massillon,ceding,pilbara,chillicothe,heredity,elblag,rogaland,ronne,millennial,batley,overuse,bharata,fille,campbelltown,abeyance,counterclockwise,250cc,neurodegenerative,consigned,electromagnetism,sunnah,saheb,exons,coxswain,gleaned,bassoons,worksop,prismatic,immigrate,pickets,takeo,bobsledder,stosur,fujimori,merchantmen,stiftung,forli,endorses,taskforce,thermally,atman,gurps,floodplains,enthalpy,extrinsic,setubal,kennesaw,grandis,scalability,durations,showrooms,prithvi,outro,overruns,andalucia,amanita,abitur,hipper,mozambican,sustainment,arsene,chesham,palaeolithic,reportage,criminality,knowsley,haploid,atacama,shueisha,ridgefield,astern,getafe,lineal,timorese,restyled,hollies,agincourt,unter,justly,tannins,mataram,industrialised,tarnovo,mumtaz,mustapha,stretton,synthetase,condita,allround,putra,stjepan,troughs,aechmea,specialisation,wearable,kadokawa,uralic,aeros,messiaen,existentialism,jeweller,effigies,gametes,fjordane,cochlear,interdependent,demonstrative,unstructured,emplacement,famines,spindles,amplitudes,actuator,tantalum,psilocybe,apnea,monogatari,expulsions,seleucus,tsuen,hospitaller,kronstadt,eclipsing,olympiakos,clann,canadensis,inverter,helio,egyptologist,squamous,resonate,munir,histology,torbay,khans,jcpenney,veterinarians,aintree,microscopes,colonised,reflectors,phosphorylated,pristimantis,tulare,corvinus,multiplexing,midweek,demosthenes,transjordan,ecija,tengku,vlachs,anamorphic,counterweight,radnor,trinitarian,armidale,maugham,njsiaa,futurism,stairways,avicenna,montebello,bridgetown,wenatchee,lyonnais,amass,surinamese,streptococcus,m*a*s*h,hydrogenation,frazioni,proscenium,kalat,pennsylvanian,huracan,tallying,kralove,nucleolar,phrygian,seaports,hyacinthe,ignace,donning,instalment,regnal,fonds,prawn,carell,folktales,goaltending,bracknell,vmware,patriarchy,mitsui,kragujevac,pythagoras,soult,thapa,disproved,suwalki,secures,somoza,l'ecole,divizia,chroma,herders,technologist,deduces,maasai,rampur,paraphrase,raimi,imaged,magsaysay,ivano,turmeric,formula_51,subcommittees,axillary,ionosphere,organically,indented,refurbishing,pequot,violinists,bearn,colle,contralto,silverton,mechanization,etruscans,wittelsbach,pasir,redshirted,marrakesh,scarp,plein,wafers,qareh,teotihuacan,frobenius,sinensis,rehoboth,bundaberg,newbridge,hydrodynamic,traore,abubakar,adjusts,storytellers,dynamos,verbandsliga,concertmaster,exxonmobil,appreciable,sieradz,marchioness,chaplaincy,rechristened,cunxu,overpopulation,apolitical,sequencer,beaked,nemanja,binaries,intendant,absorber,filamentous,indebtedness,nusra,nashik,reprises,psychedelia,abwehr,ligurian,isoform,resistive,pillaging,mahathir,reformatory,lusatia,allerton,ajaccio,tepals,maturin,njcaa,abyssinian,objector,fissures,sinuous,ecclesiastic,dalits,caching,deckers,phosphates,wurlitzer,navigated,trofeo,berea,purefoods,solway,unlockable,grammys,kostroma,vocalizations,basilan,rebuke,abbasi,douala,helsingborg,ambon,bakar,runestones,cenel,tomislav,pigmented,northgate,excised,seconda,kirke,determinations,dedicates,vilas,pueblos,reversion,unexploded,overprinted,ekiti,deauville,masato,anaesthesia,endoplasmic,transponders,aguascalientes,hindley,celluloid,affording,bayeux,piaget,rickshaws,eishockey,camarines,zamalek,undersides,hardwoods,hermitian,mutinied,monotone,blackmails,affixes,jpmorgan,habermas,mitrovica,paleontological,polystyrene,thana,manas,conformist,turbofan,decomposes,logano,castration,metamorphoses,patroness,herbicide,mikolaj,rapprochement,macroeconomics,barranquilla,matsudaira,lintels,femina,hijab,spotsylvania,morpheme,bitola,baluchistan,kurukshetra,otway,extrusion,waukesha,menswear,helder,trung,bingley,protester,boars,overhang,differentials,exarchate,hejaz,kumara,unjustified,timings,sharpness,nuovo,taisho,sundar,etc..,jehan,unquestionably,muscovy,daltrey,canute,paneled,amedeo,metroplex,elaborates,telus,tetrapods,dragonflies,epithets,saffir,parthenon,lucrezia,refitting,pentateuch,hanshin,montparnasse,lumberjacks,sanhedrin,erectile,odors,greenstone,resurgent,leszek,amory,substituents,prototypical,viewfinder,monck,universiteit,joffre,revives,chatillon,seedling,scherzo,manukau,ashdod,gympie,homolog,stalwarts,ruinous,weibo,tochigi,wallenberg,gayatri,munda,satyagraha,storefronts,heterogeneity,tollway,sportswriters,binocular,gendarmes,ladysmith,tikal,ortsgemeinde,ja'far,osmotic,linlithgow,bramley,telecoms,pugin,repose,rupaul,sieur,meniscus,garmisch,reintroduce,400th,shoten,poniatowski,drome,kazakhstani,changeover,astronautics,husserl,herzl,hypertext,katakana,polybius,antananarivo,seong,breguet,reliquary,utada,aggregating,liangshan,sivan,tonawanda,audiobooks,shankill,coulee,phenolic,brockton,bookmakers,handsets,boaters,wylde,commonality,mappings,silhouettes,pennines,maurya,pratchett,singularities,eschewed,pretensions,vitreous,ibero,totalitarianism,poulenc,lingered,directx,seasoning,deputation,interdict,illyria,feedstock,counterbalance,muzik,buganda,parachuted,violist,homogeneity,comix,fjords,corsairs,punted,verandahs,equilateral,laoghaire,magyars,117th,alesund,televoting,mayotte,eateries,refurbish,nswrl,yukio,caragiale,zetas,dispel,codecs,inoperable,outperformed,rejuvenation,elstree,modernise,contributory,pictou,tewkesbury,chechens,ashina,psionic,refutation,medico,overdubbed,nebulae,sandefjord,personages,eccellenza,businessperson,placename,abenaki,perryville,threshing,reshaped,arecibo,burslem,colspan=3|turnout,rebadged,lumia,erinsborough,interactivity,bitmap,indefatigable,theosophy,excitatory,gleizes,edsel,bermondsey,korce,saarinen,wazir,diyarbakir,cofounder,liberalisation,onsen,nighthawks,siting,retirements,semyon,d'histoire,114th,redditch,venetia,praha,'round,valdosta,hieroglyphic,postmedial,edirne,miscellany,savona,cockpits,minimization,coupler,jacksonian,appeasement,argentines,saurashtra,arkwright,hesiod,folios,fitzalan,publica,rivaled,civitas,beermen,constructivism,ribeira,zeitschrift,solanum,todos,deformities,chilliwack,verdean,meagre,bishoprics,gujrat,yangzhou,reentered,inboard,mythologies,virtus,unsurprisingly,rusticated,museu,symbolise,proportionate,thesaban,symbian,aeneid,mitotic,veliki,compressive,cisterns,abies,winemaker,massenet,bertolt,ahmednagar,triplemania,armorial,administracion,tenures,smokehouse,hashtag,fuerza,regattas,gennady,kanazawa,mahmudabad,crustal,asaph,valentinian,ilaiyaraaja,honeyeater,trapezoidal,cooperatively,unambiguously,mastodon,inhospitable,harnesses,riverton,renewables,djurgardens,haitians,airings,humanoids,boatswain,shijiazhuang,faints,veera,punjabis,steepest,narain,karlovy,serre,sulcus,collectives,1500m,arion,subarctic,liberally,apollonius,ostia,droplet,headstones,norra,robusta,maquis,veronese,imola,primers,luminance,escadrille,mizuki,irreconcilable,stalybridge,temur,paraffin,stuccoed,parthians,counsels,fundamentalists,vivendi,polymath,sugababes,mikko,yonne,fermions,vestfold,pastoralist,kigali,unseeded,glarus,cusps,amasya,northwesterly,minorca,astragalus,verney,trevelyan,antipathy,wollstonecraft,bivalves,boulez,royle,divisao,quranic,bareilly,coronal,deviates,lulea,erectus,petronas,chandan,proxies,aeroflot,postsynaptic,memoriam,moyne,gounod,kuznetsova,pallava,ordinating,reigate,'first,lewisburg,exploitative,danby,academica,bailiwick,brahe,injective,stipulations,aeschylus,computes,gulden,hydroxylase,liveries,somalis,underpinnings,muscovite,kongsberg,domus,overlain,shareware,variegated,jalalabad,agence,ciphertext,insectivores,dengeki,menuhin,cladistic,baerum,betrothal,tokushima,wavelet,expansionist,pottsville,siyuan,prerequisites,carpi,nemzeti,nazar,trialled,eliminator,irrorated,homeward,redwoods,undeterred,strayed,lutyens,multicellular,aurelian,notated,lordships,alsatian,idents,foggia,garros,chalukyas,lillestrom,podlaski,pessimism,hsien,demilitarized,whitewashed,willesden,kirkcaldy,sanctorum,lamia,relaying,escondido,paediatric,contemplates,demarcated,bluestone,betula,penarol,capitalise,kreuznach,kenora,115th,hold'em,reichswehr,vaucluse,m.i.a,windings,boys/girls,cajon,hisar,predictably,flemington,ysgol,mimicked,clivina,grahamstown,ionia,glyndebourne,patrese,aquaria,sleaford,dayal,sportscenter,malappuram,m.b.a.,manoa,carbines,solvable,designator,ramanujan,linearity,academicians,sayid,lancastrian,factorial,strindberg,vashem,delos,comyn,condensing,superdome,merited,kabaddi,intransitive,bideford,neuroimaging,duopoly,scorecards,ziggler,heriot,boyars,virology,marblehead,microtubules,westphalian,anticipates,hingham,searchers,harpist,rapides,morricone,convalescent,mises,nitride,metrorail,matterhorn,bicol,drivetrain,marketer,snippet,winemakers,muban,scavengers,halberstadt,herkimer,peten,laborious,stora,montgomeryshire,booklist,shamir,herault,eurostar,anhydrous,spacewalk,ecclesia,calliostoma,highschool,d'oro,suffusion,imparts,overlords,tagus,rectifier,counterinsurgency,ministered,eilean,milecastle,contre,micromollusk,okhotsk,bartoli,matroid,hasidim,thirunal,terme,tarlac,lashkar,presque,thameslink,flyby,troopship,renouncing,fatih,messrs,vexillum,bagration,magnetite,bornholm,androgynous,vehement,tourette,philosophic,gianfranco,tuileries,codice_6,radially,flexion,hants,reprocessing,setae,burne,palaeographically,infantryman,shorebirds,tamarind,moderna,threading,militaristic,crohn,norrkoping,125cc,stadtholder,troms,klezmer,alphanumeric,brome,emmanuelle,tiwari,alchemical,formula_52,onassis,bleriot,bipedal,colourless,hermeneutics,hosni,precipitating,turnstiles,hallucinogenic,panhellenic,wyandotte,elucidated,chita,ehime,generalised,hydrophilic,biota,niobium,rnzaf,gandhara,longueuil,logics,sheeting,bielsko,cuvier,kagyu,trefoil,docent,pancrase,stalinism,postures,encephalopathy,monckton,imbalances,epochs,leaguers,anzio,diminishes,pataki,nitrite,amuro,nabil,maybach,l'aquila,babbler,bacolod,thutmose,evora,gaudi,breakage,recur,preservative,60deg,mendip,functionaries,columnar,maccabiah,chert,verden,bromsgrove,clijsters,dengue,pastorate,phuoc,principia,viareggio,kharagpur,scharnhorst,anyang,bosons,l'art,criticises,ennio,semarang,brownian,mirabilis,asperger,calibers,typographical,cartooning,minos,disembark,supranational,undescribed,etymologically,alappuzha,vilhelm,lanao,pakenham,bhagavata,rakoczi,clearings,astrologers,manitowoc,bunuel,acetylene,scheduler,defamatory,trabzonspor,leaded,scioto,pentathlete,abrahamic,minigames,aldehydes,peerages,legionary,1640s,masterworks,loudness,bryansk,likeable,genocidal,vegetated,towpath,declination,pyrrhus,divinely,vocations,rosebery,associazione,loaders,biswas,oeste,tilings,xianzong,bhojpuri,annuities,relatedness,idolator,psers,constriction,chuvash,choristers,hanafi,fielders,grammarian,orpheum,asylums,millbrook,gyatso,geldof,stabilise,tableaux,diarist,kalahari,panini,cowdenbeath,melanin,4x100m,resonances,pinar,atherosclerosis,sheringham,castlereagh,aoyama,larks,pantograph,protrude,natak,gustafsson,moribund,cerevisiae,cleanly,polymeric,holkar,cosmonauts,underpinning,lithosphere,firuzabad,languished,mingled,citrate,spadina,lavas,daejeon,fibrillation,porgy,pineville,ps1000,cobbled,emamzadeh,mukhtar,dampers,indelible,salonika,nanoscale,treblinka,eilat,purporting,fluctuate,mesic,hagiography,cutscenes,fondation,barrens,comically,accrue,ibrox,makerere,defections,'there,hollandia,skene,grosseto,reddit,objectors,inoculation,rowdies,playfair,calligrapher,namor,sibenik,abbottabad,propellants,hydraulically,chloroplasts,tablelands,tecnico,schist,klasse,shirvan,bashkortostan,bullfighting,north/south,polski,hanns,woodblock,kilmore,ejecta,ignacy,nanchang,danubian,commendations,snohomish,samaritans,argumentation,vasconcelos,hedgehogs,vajrayana,barents,kulkarni,kumbakonam,identifications,hillingdon,weirs,nayanar,beauvoir,messe,divisors,atlantiques,broods,affluence,tegucigalpa,unsuited,autodesk,akash,princeps,culprits,kingstown,unassuming,goole,visayan,asceticism,blagojevich,irises,paphos,unsound,maurier,pontchartrain,desertification,sinfonietta,latins,especial,limpet,valerenga,glial,brainstem,mitral,parables,sauropod,judean,iskcon,sarcoma,venlo,justifications,zhuhai,blavatsky,alleviated,usafe,steppenwolf,inversions,janko,chagall,secretory,basildon,saguenay,pergamon,hemispherical,harmonized,reloading,franjo,domaine,extravagance,relativism,metamorphosed,labuan,baloncesto,gmail,byproducts,calvinists,counterattacked,vitus,bubonic,120th,strachey,ritually,brookwood,selectable,savinja,incontinence,meltwater,jinja,1720s,brahmi,morgenthau,sheaves,sleeved,stratovolcano,wielki,utilisation,avoca,fluxus,panzergrenadier,philately,deflation,podlaska,prerogatives,kuroda,theophile,zhongzong,gascoyne,magus,takao,arundell,fylde,merdeka,prithviraj,venkateswara,liepaja,daigo,dreamland,reflux,sunnyvale,coalfields,seacrest,soldering,flexor,structuralism,alnwick,outweighed,unaired,mangeshkar,batons,glaad,banshees,irradiated,organelles,biathlete,cabling,chairlift,lollapalooza,newsnight,capacitive,succumbs,flatly,miramichi,burwood,comedienne,charteris,biotic,workspace,aficionados,sokolka,chatelet,o'shaughnessy,prosthesis,neoliberal,refloated,oppland,hatchlings,econometrics,loess,thieu,androids,appalachians,jenin,pterostichinae,downsized,foils,chipsets,stencil,danza,narrate,maginot,yemenite,bisects,crustacean,prescriptive,melodious,alleviation,empowers,hansson,autodromo,obasanjo,osmosis,daugava,rheumatism,moraes,leucine,etymologies,chepstow,delaunay,bramall,bajaj,flavoring,approximates,marsupials,incisive,microcomputer,tactically,waals,wilno,fisichella,ursus,hindmarsh,mazarin,lomza,xenophobia,lawlessness,annecy,wingers,gornja,gnaeus,superieur,tlaxcala,clasps,symbolises,slats,rightist,effector,blighted,permanence,divan,progenitors,kunsthalle,anointing,excelling,coenzyme,indoctrination,dnipro,landholdings,adriaan,liturgies,cartan,ethmia,attributions,sanctus,trichy,chronicon,tancred,affinis,kampuchea,gantry,pontypool,membered,distrusted,fissile,dairies,hyposmocoma,craigie,adarsh,martinsburg,taxiway,30deg,geraint,vellum,bencher,khatami,formula_53,zemun,teruel,endeavored,palmares,pavements,u.s..,internationalization,satirized,carers,attainable,wraparound,muang,parkersburg,extinctions,birkenfeld,wildstorm,payers,cohabitation,unitas,culloden,capitalizing,clwyd,daoist,campinas,emmylou,orchidaceae,halakha,orientales,fealty,domnall,chiefdom,nigerians,ladislav,dniester,avowed,ergonomics,newsmagazine,kitsch,cantilevered,benchmarking,remarriage,alekhine,coldfield,taupo,almirante,substations,apprenticeships,seljuq,levelling,eponym,symbolising,salyut,opioids,underscore,ethnologue,mohegan,marikina,libro,bassano,parse,semantically,disjointed,dugdale,padraig,tulsi,modulating,xfinity,headlands,mstislav,earthworms,bourchier,lgbtq,embellishments,pennants,rowntree,betel,motet,mulla,catenary,washoe,mordaunt,dorking,colmar,girardeau,glentoran,grammatically,samad,recreations,technion,staccato,mikoyan,spoilers,lyndhurst,victimization,chertsey,belafonte,tondo,tonsberg,narrators,subcultures,malformations,edina,augmenting,attests,euphemia,cabriolet,disguising,1650s,navarrese,demoralized,cardiomyopathy,welwyn,wallachian,smoothness,planktonic,voles,issuers,sardasht,survivability,cuauhtemoc,thetis,extruded,signet,raghavan,lombok,eliyahu,crankcase,dissonant,stolberg,trencin,desktops,bursary,collectivization,charlottenburg,triathlete,curvilinear,involuntarily,mired,wausau,invades,sundaram,deletions,bootstrap,abellio,axiomatic,noguchi,setups,malawian,visalia,materialist,kartuzy,wenzong,plotline,yeshivas,parganas,tunica,citric,conspecific,idlib,superlative,reoccupied,blagoevgrad,masterton,immunological,hatta,courbet,vortices,swallowtail,delves,haridwar,diptera,boneh,bahawalpur,angering,mardin,equipments,deployable,guanine,normality,rimmed,artisanal,boxset,chandrasekhar,jools,chenar,tanakh,carcassonne,belatedly,millville,anorthosis,reintegration,velde,surfactant,kanaan,busoni,glyphipterix,personas,fullness,rheims,tisza,stabilizers,bharathi,joost,spinola,mouldings,perching,esztergom,afzal,apostate,lustre,s.league,motorboat,monotheistic,armature,barat,asistencia,bloomsburg,hippocampal,fictionalised,defaults,broch,hexadecimal,lusignan,ryanair,boccaccio,breisgau,southbank,bskyb,adjoined,neurobiology,aforesaid,sadhu,langue,headship,wozniacki,hangings,regulus,prioritized,dynamism,allier,hannity,shimin,antoninus,gymnopilus,caledon,preponderance,melayu,electrodynamics,syncopated,ibises,krosno,mechanistic,morpeth,harbored,albini,monotheism,'real,hyperactivity,haveli,writer/director,minato,nimoy,caerphilly,chitral,amirabad,fanshawe,l'oreal,lorde,mukti,authoritarianism,valuing,spyware,hanbury,restarting,stato,embed,suiza,empiricism,stabilisation,stari,castlemaine,orbis,manufactory,mauritanian,shoji,taoyuan,prokaryotes,oromia,ambiguities,embodying,slims,frente,innovate,ojibwa,powdery,gaeltacht,argentinos,quatermass,detergents,fijians,adaptor,tokai,chileans,bulgars,oxidoreductases,bezirksliga,conceicao,myosin,nellore,500cc,supercomputers,approximating,glyndwr,polypropylene,haugesund,cockerell,tudman,ashbourne,hindemith,bloodlines,rigveda,etruria,romanos,steyn,oradea,deceleration,manhunter,laryngeal,fraudulently,janez,wendover,haplotype,janaki,naoki,belizean,mellencamp,cartographic,sadhana,tricolour,pseudoscience,satara,bytow,s.p.a.,jagdgeschwader,arcot,omagh,sverdrup,masterplan,surtees,apocrypha,ahvaz,d'amato,socratic,leumit,unnumbered,nandini,witold,marsupial,coalesced,interpolated,gimnasia,karadzic,keratin,mamoru,aldeburgh,speculator,escapement,irfan,kashyap,satyajit,haddington,solver,rothko,ashkelon,kickapoo,yeomen,superbly,bloodiest,greenlandic,lithic,autofocus,yardbirds,poona,keble,javan,sufis,expandable,tumblr,ursuline,swimwear,winwood,counsellors,aberrations,marginalised,befriending,workouts,predestination,varietal,siddhartha,dunkeld,judaic,esquimalt,shabab,ajith,telefonica,stargard,hoysala,radhakrishnan,sinusoidal,strada,hiragana,cebuano,monoid,independencia,floodwaters,mildura,mudflats,ottokar,translit,radix,wigner,philosophically,tephritid,synthesizing,castletown,installs,stirner,resettle,bushfire,choirmaster,kabbalistic,shirazi,lightship,rebus,colonizers,centrifuge,leonean,kristofferson,thymus,clackamas,ratnam,rothesay,municipally,centralia,thurrock,gulfport,bilinear,desirability,merite,psoriasis,macaw,erigeron,consignment,mudstone,distorting,karlheinz,ramen,tailwheel,vitor,reinsurance,edifices,superannuation,dormancy,contagion,cobden,rendezvoused,prokaryotic,deliberative,patricians,feigned,degrades,starlings,sopot,viticultural,beaverton,overflowed,convener,garlands,michiel,ternopil,naturelle,biplanes,bagot,gamespy,ventspils,disembodied,flattening,profesional,londoners,arusha,scapular,forestall,pyridine,ulema,eurodance,aruna,callus,periodontal,coetzee,immobilized,o'meara,maharani,katipunan,reactants,zainab,microgravity,saintes,britpop,carrefour,constrain,adversarial,firebirds,brahmo,kashima,simca,surety,surpluses,superconductivity,gipuzkoa,cumans,tocantins,obtainable,humberside,roosting,'king,formula_54,minelayer,bessel,sulayman,cycled,biomarkers,annealing,shusha,barda,cassation,djing,polemics,tuple,directorates,indomitable,obsolescence,wilhelmine,pembina,bojan,tambo,dioecious,pensioner,magnificat,1660s,estrellas,southeasterly,immunodeficiency,railhead,surreptitiously,codeine,encores,religiosity,tempera,camberley,efendi,boardings,malleable,hagia,input/output,lucasfilm,ujjain,polymorphisms,creationist,berners,mickiewicz,irvington,linkedin,endures,kinect,munition,apologetics,fairlie,predicated,reprinting,ethnographer,variances,levantine,mariinsky,jadid,jarrow,asia/oceania,trinamool,waveforms,bisexuality,preselection,pupae,buckethead,hieroglyph,lyricists,marionette,dunbartonshire,restorer,monarchical,pazar,kickoffs,cabildo,savannas,gliese,dench,spoonbills,novelette,diliman,hypersensitivity,authorising,montefiore,mladen,qu'appelle,theistic,maruti,laterite,conestoga,saare,californica,proboscis,carrickfergus,imprecise,hadassah,baghdadi,jolgeh,deshmukh,amusements,heliopolis,berle,adaptability,partenkirchen,separations,baikonur,cardamom,southeastward,southfield,muzaffar,adequacy,metropolitana,rajkot,kiyoshi,metrobus,evictions,reconciles,librarianship,upsurge,knightley,badakhshan,proliferated,spirituals,burghley,electroacoustic,professing,featurette,reformists,skylab,descriptors,oddity,greyfriars,injects,salmond,lanzhou,dauntless,subgenera,underpowered,transpose,mahinda,gatos,aerobatics,seaworld,blocs,waratahs,joris,giggs,perfusion,koszalin,mieczyslaw,ayyubid,ecologists,modernists,sant'angelo,quicktime,him/her,staves,sanyo,melaka,acrocercops,qigong,iterated,generalizes,recuperation,vihara,circassians,psychical,chavo,memoires,infiltrates,notaries,pelecaniformesfamily,strident,chivalric,pierrepont,alleviating,broadsides,centipede,b.tech,reinterpreted,sudetenland,hussite,covenanters,radhika,ironclads,gainsbourg,testis,penarth,plantar,azadegan,beano,espn.com,leominster,autobiographies,nbcuniversal,eliade,khamenei,montferrat,undistinguished,ethnological,wenlock,fricatives,polymorphic,biome,joule,sheaths,astrophysicist,salve,neoclassicism,lovat,downwind,belisarius,forma,usurpation,freie,depopulation,backbench,ascenso,'high,aagpbl,gdanski,zalman,mouvement,encapsulation,bolshevism,statny,voyageurs,hywel,vizcaya,mazra'eh,narthex,azerbaijanis,cerebrospinal,mauretania,fantail,clearinghouse,bolingbroke,pequeno,ansett,remixing,microtubule,wrens,jawahar,palembang,gambian,hillsong,fingerboard,repurposed,sundry,incipient,veolia,theologically,ulaanbaatar,atsushi,foundling,resistivity,myeloma,factbook,mazowiecka,diacritic,urumqi,clontarf,provokes,intelsat,professes,materialise,portobello,benedictines,panionios,introverted,reacquired,bridport,mammary,kripke,oratorios,vlore,stoning,woredas,unreported,antti,togolese,fanzines,heuristics,conservatories,carburetors,clitheroe,cofounded,formula_57,erupting,quinnipiac,bootle,ghostface,sittings,aspinall,sealift,transferase,boldklub,siskiyou,predominated,francophonie,ferruginous,castrum,neogene,sakya,madama,precipitous,'love,posix,bithynia,uttara,avestan,thrushes,seiji,memorably,septimius,libri,cibernetico,hyperinflation,dissuaded,cuddalore,peculiarity,vaslui,grojec,albumin,thurles,casks,fasteners,fluidity,buble,casals,terek,gnosticism,cognates,ulnar,radwanska,babylonians,majuro,oxidizer,excavators,rhythmically,liffey,gorakhpur,eurydice,underscored,arborea,lumumba,tuber,catholique,grama,galilei,scrope,centreville,jacobin,bequests,ardeche,polygamous,montauban,terai,weatherboard,readability,attainder,acraea,transversely,rivets,winterbottom,reassures,bacteriology,vriesea,chera,andesite,dedications,homogenous,reconquered,bandon,forrestal,ukiyo,gurdjieff,tethys,sparc,muscogee,grebes,belchatow,mansa,blantyre,palliser,sokolow,fibroblasts,exmoor,misaki,soundscapes,housatonic,middelburg,convenor,leyla,antipope,histidine,okeechobee,alkenes,sombre,alkene,rubik,macaques,calabar,trophee,pinchot,'free,frusciante,chemins,falaise,vasteras,gripped,schwarzenberg,cumann,kanchipuram,acoustically,silverbacks,fangio,inset,plympton,kuril,vaccinations,recep,theropods,axils,stavropol,encroached,apoptotic,papandreou,wailers,moonstone,assizes,micrometers,hornchurch,truncation,annapurna,egyptologists,rheumatic,promiscuity,satiric,fleche,caloptilia,anisotropy,quaternions,gruppo,viscounts,awardees,aftershocks,sigint,concordance,oblasts,gaumont,stent,commissars,kesteven,hydroxy,vijayanagar,belorussian,fabricius,watermark,tearfully,mamet,leukaemia,sorkh,milepost,tattooing,vosta,abbasids,uncompleted,hedong,woodwinds,extinguishing,malus,multiplexes,francoist,pathet,responsa,bassists,'most,postsecondary,ossory,grampian,saakashvili,alito,strasberg,impressionistic,volador,gelatinous,vignette,underwing,campanian,abbasabad,albertville,hopefuls,nieuwe,taxiways,reconvened,recumbent,pathologists,unionized,faversham,asymptotically,romulo,culling,donja,constricted,annesley,duomo,enschede,lovech,sharpshooter,lansky,dhamma,papillae,alanine,mowat,delius,wrest,mcluhan,podkarpackie,imitators,bilaspur,stunting,pommel,casemate,handicaps,nagas,testaments,hemings,necessitate,rearward,locative,cilla,klitschko,lindau,merion,consequential,antic,soong,copula,berthing,chevrons,rostral,sympathizer,budokan,ranulf,beria,stilt,replying,conflated,alcibiades,painstaking,yamanashi,calif.,arvid,ctesiphon,xizong,rajas,caxton,downbeat,resurfacing,rudders,miscegenation,deathmatch,foregoing,arthropod,attestation,karts,reapportionment,harnessing,eastlake,schola,dosing,postcolonial,imtiaz,formula_55,insulators,gunung,accumulations,pampas,llewelyn,bahnhof,cytosol,grosjean,teaneck,briarcliff,arsenio,canara,elaborating,passchendaele,searchlights,holywell,mohandas,preventable,gehry,mestizos,ustinov,cliched,'national,heidfeld,tertullian,jihadist,tourer,miletus,semicircle,outclassed,bouillon,cardinalate,clarifies,dakshina,bilayer,pandyan,unrwa,chandragupta,formula_56,portola,sukumaran,lactation,islamia,heikki,couplers,misappropriation,catshark,montt,ploughs,carib,stator,leaderboard,kenrick,dendrites,scape,tillamook,molesworth,mussorgsky,melanesia,restated,troon,glycoside,truckee,headwater,mashup,sectoral,gangwon,docudrama,skirting,psychopathology,dramatised,ostroleka,infestations,thabo,depolarization,wideroe,eisenbahn,thomond,kumaon,upendra,foreland,acronyms,yaqui,retaking,raphaelite,specie,dupage,villars,lucasarts,chloroplast,werribee,balsa,ascribe,havant,flava,khawaja,tyumen,subtract,interrogators,reshaping,buzzcocks,eesti,campanile,potemkin,apertures,snowboarder,registrars,handbooks,boyar,contaminant,depositors,proximate,jeunesse,zagora,pronouncements,mists,nihilism,deified,margraviate,pietersen,moderators,amalfi,adjectival,copepods,magnetosphere,pallets,clemenceau,castra,perforation,granitic,troilus,grzegorz,luthier,dockyards,antofagasta,ffestiniog,subroutine,afterword,waterwheel,druce,nitin,undifferentiated,emacs,readmitted,barneveld,tapers,hittites,infomercials,infirm,braathens,heligoland,carpark,geomagnetic,musculoskeletal,nigerien,machinima,harmonize,repealing,indecency,muskoka,verite,steubenville,suffixed,cytoskeleton,surpasses,harmonia,imereti,ventricles,heterozygous,envisions,otsego,ecoles,warrnambool,burgenland,seria,rawat,capistrano,welby,kirin,enrollments,caricom,dragonlance,schaffhausen,expanses,photojournalism,brienne,etude,referent,jamtland,schemas,xianbei,cleburne,bicester,maritima,shorelines,diagonals,bjelke,nonpublic,aliasing,m.f.a,ovals,maitreya,skirmishing,grothendieck,sukhothai,angiotensin,bridlington,durgapur,contras,gakuen,skagit,rabbinate,tsunamis,haphazard,tyldesley,microcontroller,discourages,hialeah,compressing,septimus,larvik,condoleezza,psilocybin,protectionism,songbirds,clandestinely,selectmen,wargame,cinemascope,khazars,agronomy,melzer,latifah,cherokees,recesses,assemblymen,basescu,banaras,bioavailability,subchannels,adenine,o'kelly,prabhakar,leonese,dimethyl,testimonials,geoffroy,oxidant,universiti,gheorghiu,bohdan,reversals,zamorin,herbivore,jarre,sebastiao,infanterie,dolmen,teddington,radomsko,spaceships,cuzco,recapitulation,mahoning,bainimarama,myelin,aykroyd,decals,tokelau,nalgonda,rajasthani,121st,quelled,tambov,illyrians,homilies,illuminations,hypertrophy,grodzisk,inundation,incapacity,equilibria,combats,elihu,steinitz,berengar,gowda,canwest,khosrau,maculata,houten,kandinsky,onside,leatherhead,heritable,belvidere,federative,chukchi,serling,eruptive,patan,entitlements,suffragette,evolutions,migrates,demobilisation,athleticism,trope,sarpsborg,kensal,translink,squamish,concertgebouw,energon,timestamp,competences,zalgiris,serviceman,codice_7,spoofing,assange,mahadevan,skien,suceava,augustan,revisionism,unconvincing,hollande,drina,gottlob,lippi,broglie,darkening,tilapia,eagerness,nacht,kolmogorov,photometric,leeuwarden,jrotc,haemorrhage,almanack,cavalli,repudiation,galactose,zwickau,cetinje,houbraken,heavyweights,gabonese,ordinals,noticias,museveni,steric,charaxes,amjad,resection,joinville,leczyca,anastasius,purbeck,subtribe,dalles,leadoff,monoamine,jettisoned,kaori,anthologized,alfreton,indic,bayezid,tottori,colonizing,assassinating,unchanging,eusebian,d'estaing,tsingtao,toshio,transferases,peronist,metrology,equus,mirpur,libertarianism,kovil,indole,'green,abstention,quantitatively,icebreakers,tribals,mainstays,dryandra,eyewear,nilgiri,chrysanthemum,inositol,frenetic,merchantman,hesar,physiotherapist,transceiver,dancefloor,rankine,neisse,marginalization,lengthen,unaided,rework,pageantry,savio,striated,funen,witton,illuminates,frass,hydrolases,akali,bistrita,copywriter,firings,handballer,tachinidae,dmytro,coalesce,neretva,menem,moraines,coatbridge,crossrail,spoofed,drosera,ripen,protour,kikuyu,boleslav,edwardes,troubadours,haplogroups,wrasse,educationalist,sroda,khaneh,dagbladet,apennines,neuroscientist,deplored,terje,maccabees,daventry,spaceport,lessening,ducats,singer/guitarist,chambersburg,yeong,configurable,ceremonially,unrelenting,caffe,graaf,denizens,kingsport,ingush,panhard,synthesised,tumulus,homeschooled,bozorg,idiomatic,thanhouser,queensway,radek,hippolytus,inking,banovina,peacocks,piaui,handsworth,pantomimes,abalone,thera,kurzweil,bandura,augustinians,bocelli,ferrol,jiroft,quadrature,contravention,saussure,rectification,agrippina,angelis,matanzas,nidaros,palestrina,latium,coriolis,clostridium,ordain,uttering,lanchester,proteolytic,ayacucho,merseburg,holbein,sambalpur,algebraically,inchon,ostfold,savoia,calatrava,lahiri,judgeship,ammonite,masaryk,meyerbeer,hemorrhagic,superspeedway,ningxia,panicles,encircles,khmelnytsky,profusion,esher,babol,inflationary,anhydride,gaspe,mossy,periodicity,nacion,meteorologists,mahjong,interventional,sarin,moult,enderby,modell,palgrave,warners,montcalm,siddha,functionalism,rilke,politicized,broadmoor,kunste,orden,brasileira,araneta,eroticism,colquhoun,mamba,blacktown,tubercle,seagrass,manoel,camphor,neoregelia,llandudno,annexe,enplanements,kamien,plovers,statisticians,iturbide,madrasah,nontrivial,publican,landholders,manama,uninhabitable,revivalist,trunkline,friendliness,gurudwara,rocketry,unido,tripos,besant,braque,evolutionarily,abkhazian,staffel,ratzinger,brockville,bohemond,intercut,djurgarden,utilitarianism,deploys,sastri,absolutism,subhas,asghar,fictions,sepinwall,proportionately,titleholders,thereon,foursquare,machinegun,knightsbridge,siauliai,aqaba,gearboxes,castaways,weakens,phallic,strzelce,buoyed,ruthenia,pharynx,intractable,neptunes,koine,leakey,netherlandish,preempted,vinay,terracing,instigating,alluvium,prosthetics,vorarlberg,politiques,joinery,reduplication,nebuchadnezzar,lenticular,banka,seaborne,pattinson,helpline,aleph,beckenham,californians,namgyal,franziska,aphid,branagh,transcribe,appropriateness,surakarta,takings,propagates,juraj,b0d3fb,brera,arrayed,tailback,falsehood,hazleton,prosody,egyptology,pinnate,tableware,ratan,camperdown,ethnologist,tabari,classifiers,biogas,126th,kabila,arbitron,apuestas,membranous,kincardine,oceana,glories,natick,populism,synonymy,ghalib,mobiles,motherboards,stationers,germinal,patronised,formula_58,gaborone,torts,jeezy,interleague,novaya,batticaloa,offshoots,wilbraham,filename,nswrfl,'well,trilobite,pythons,optimally,scientologists,rhesus,pilsen,backdrops,batang,unionville,hermanos,shrikes,fareham,outlawing,discontinuing,boisterous,shamokin,scanty,southwestward,exchangers,unexpired,mewar,h.m.s,saldanha,pawan,condorcet,turbidity,donau,indulgences,coincident,cliques,weeklies,bardhaman,violators,kenai,caspase,xperia,kunal,fistula,epistemic,cammell,nephi,disestablishment,rotator,germaniawerft,pyaar,chequered,jigme,perlis,anisotropic,popstars,kapil,appendices,berat,defecting,shacks,wrangel,panchayath,gorna,suckling,aerosols,sponheim,talal,borehole,encodings,enlai,subduing,agong,nadar,kitsap,syrmia,majumdar,pichilemu,charleville,embryology,booting,literati,abutting,basalts,jussi,repubblica,hertogenbosch,digitization,relents,hillfort,wiesenthal,kirche,bhagwan,bactrian,oases,phyla,neutralizing,helsing,ebooks,spearheading,margarine,'golden,phosphor,picea,stimulants,outliers,timescale,gynaecology,integrator,skyrocketed,bridgnorth,senecio,ramachandra,suffragist,arrowheads,aswan,inadvertent,microelectronics,118th,sofer,kubica,melanesian,tuanku,balkh,vyborg,crystallographic,initiators,metamorphism,ginzburg,looters,unimproved,finistere,newburyport,norges,immunities,franchisees,asterism,kortrijk,camorra,komsomol,fleurs,draughts,patagonian,voracious,artin,collaborationist,revolucion,revitalizing,xaver,purifying,antipsychotic,disjunct,pompeius,dreamwave,juvenal,beinn,adiyaman,antitank,allama,boletus,melanogaster,dumitru,caproni,aligns,athabaskan,stobart,phallus,veikkausliiga,hornsey,buffering,bourbons,dobruja,marga,borax,electrics,gangnam,motorcyclist,whidbey,draconian,lodger,galilean,sanctification,imitates,boldness,underboss,wheatland,cantabrian,terceira,maumee,redefining,uppercase,ostroda,characterise,universalism,equalized,syndicalism,haringey,masovia,deleuze,funkadelic,conceals,thuan,minsky,pluralistic,ludendorff,beekeeping,bonfires,endoscopic,abuts,prebend,jonkoping,amami,tribunes,yup'ik,awadh,gasification,pforzheim,reforma,antiwar,vaishnavism,maryville,inextricably,margrethe,empresa,neutrophils,sanctified,ponca,elachistidae,curiae,quartier,mannar,hyperplasia,wimax,busing,neologism,florins,underrepresented,digitised,nieuw,cooch,howards,frege,hughie,plied,swale,kapellmeister,vajpayee,quadrupled,aeronautique,dushanbe,custos,saltillo,kisan,tigray,manaus,epigrams,shamanic,peppered,frosts,promotion/relegation,concedes,zwingli,charentes,whangarei,hyung,spring/summer,sobre,eretz,initialization,sawai,ephemera,grandfathered,arnaldo,customised,permeated,parapets,growths,visegrad,estudios,altamont,provincia,apologises,stoppard,carburettor,rifts,kinematic,zhengzhou,eschatology,prakrit,folate,yvelines,scapula,stupas,rishon,reconfiguration,flutist,1680s,apostolate,proudhon,lakshman,articulating,stortford,faithfull,bitterns,upwelling,qur'anic,lidar,interferometry,waterlogged,koirala,ditton,wavefunction,fazal,babbage,antioxidants,lemberg,deadlocked,tolled,ramapo,mathematica,leiria,topologies,khali,photonic,balti,1080p,corrects,recommenced,polyglot,friezes,tiebreak,copacabana,cholmondeley,armband,abolishment,sheamus,buttes,glycolysis,cataloged,warrenton,sassari,kishan,foodservice,cryptanalysis,holmenkollen,cosplay,machi,yousuf,mangal,allying,fertiliser,otomi,charlevoix,metallurg,parisians,bottlenose,oakleigh,debug,cidade,accede,ligation,madhava,pillboxes,gatefold,aveyron,sorin,thirsk,immemorial,menelik,mehra,domingos,underpinned,fleshed,harshness,diphthong,crestwood,miskolc,dupri,pyrausta,muskingum,tuoba,prodi,incidences,waynesboro,marquesas,heydar,artesian,calinescu,nucleation,funders,covalently,compaction,derbies,seaters,sodor,tabular,amadou,peckinpah,o'halloran,zechariah,libyans,kartik,daihatsu,chandran,erzhu,heresies,superheated,yarder,dorde,tanjore,abusers,xuanwu,juniperus,moesia,trusteeship,birdwatching,beatz,moorcock,harbhajan,sanga,choreographic,photonics,boylston,amalgamate,prawns,electrifying,sarath,inaccurately,exclaims,powerpoint,chaining,cpusa,adulterous,saccharomyces,glogow,vfl/afl,syncretic,simla,persisting,functors,allosteric,euphorbiaceae,juryo,mlada,moana,gabala,thornycroft,kumanovo,ostrovsky,sitio,tutankhamun,sauropods,kardzhali,reinterpretation,sulpice,rosyth,originators,halesowen,delineation,asesoria,abatement,gardai,elytra,taillights,overlays,monsoons,sandpipers,ingmar,henrico,inaccuracy,irwell,arenabowl,elche,pressburg,signalman,interviewees,sinkhole,pendle,ecommerce,cellos,nebria,organometallic,surrealistic,propagandist,interlaken,canandaigua,aerials,coutinho,pascagoula,tonopah,letterkenny,gropius,carbons,hammocks,childe,polities,hosiery,donitz,suppresses,diaghilev,stroudsburg,bagram,pistoia,regenerating,unitarians,takeaway,offstage,vidin,glorification,bakunin,yavapai,lutzow,sabercats,witney,abrogated,gorlitz,validating,dodecahedron,stubbornly,telenor,glaxosmithkline,solapur,undesired,jellicoe,dramatization,four-and-a-half,seawall,waterpark,artaxerxes,vocalization,typographic,byung,sachsenhausen,shepparton,kissimmee,konnan,belsen,dhawan,khurd,mutagenesis,vejle,perrot,estradiol,formula_60,saros,chiloe,misiones,lamprey,terrains,speke,miasto,eigenvectors,haydock,reservist,corticosteroids,savitri,shinawatra,developmentally,yehudi,berates,janissaries,recapturing,rancheria,subplots,gresley,nikkatsu,oryol,cosmas,boavista,formula_59,playfully,subsections,commentated,kathakali,dorid,vilaine,seepage,hylidae,keiji,kazakhs,triphosphate,1620s,supersede,monarchists,falla,miyako,notching,bhumibol,polarizing,secularized,shingled,bronislaw,lockerbie,soleyman,bundesbahn,latakia,redoubts,boult,inwardly,invents,ondrej,minangkabau,newquay,permanente,alhaji,madhav,malini,ellice,bookmaker,mankiewicz,etihad,o'dea,interrogative,mikawa,wallsend,canisius,bluesy,vitruvius,noord,ratifying,mixtec,gujranwala,subprefecture,keelung,goiania,nyssa,shi'ite,semitone,ch'uan,computerised,pertuan,catapults,nepomuk,shruti,millstones,buskerud,acolytes,tredegar,sarum,armia,dell'arte,devises,custodians,upturned,gallaudet,disembarking,thrashed,sagrada,myeon,undeclared,qumran,gaiden,tepco,janesville,showground,condense,chalon,unstaffed,pasay,undemocratic,hauts,viridis,uninjured,escutcheon,gymkhana,petaling,hammam,dislocations,tallaght,rerum,shias,indios,guaranty,simplicial,benares,benediction,tajiri,prolifically,huawei,onerous,grantee,ferencvaros,otranto,carbonates,conceit,digipak,qadri,masterclasses,swamiji,cradock,plunket,helmsman,119th,salutes,tippecanoe,murshidabad,intelligibility,mittal,diversifying,bidar,asansol,crowdsourcing,rovere,karakoram,grindcore,skylights,tulagi,furrows,ligne,stuka,sumer,subgraph,amata,regionalist,bulkeley,teletext,glorify,readied,lexicographer,sabadell,predictability,quilmes,phenylalanine,bandaranaike,pyrmont,marksmen,quisling,viscountess,sociopolitical,afoul,pediments,swazi,martyrology,nullify,panagiotis,superconductors,veldenz,jujuy,l'isle,hematopoietic,shafi,subsea,hattiesburg,jyvaskyla,kebir,myeloid,landmine,derecho,amerindians,birkenau,scriabin,milhaud,mucosal,nikaya,freikorps,theoretician,proconsul,o'hanlon,clerked,bactria,houma,macular,topologically,shrubby,aryeh,ghazali,afferent,magalhaes,moduli,ashtabula,vidarbha,securitate,ludwigsburg,adoor,varun,shuja,khatun,chengde,bushels,lascelles,professionnelle,elfman,rangpur,unpowered,citytv,chojnice,quaternion,stokowski,aschaffenburg,commutes,subramaniam,methylene,satrap,gharb,namesakes,rathore,helier,gestational,heraklion,colliers,giannis,pastureland,evocation,krefeld,mahadeva,churchmen,egret,yilmaz,galeazzo,pudukkottai,artigas,generalitat,mudslides,frescoed,enfeoffed,aphorisms,melilla,montaigne,gauliga,parkdale,mauboy,linings,prema,sapir,xylophone,kushan,rockne,sequoyah,vasyl,rectilinear,vidyasagar,microcosm,san'a,carcinogen,thicknesses,aleut,farcical,moderating,detested,hegemonic,instalments,vauban,verwaltungsgemeinschaft,picayune,razorback,magellanic,moluccas,pankhurst,exportation,waldegrave,sufferer,bayswater,1up.com,rearmament,orangutans,varazdin,b.o.b,elucidate,harlingen,erudition,brankovic,lapis,slipway,urraca,shinde,unwell,elwes,euboea,colwyn,srivijaya,grandstands,hortons,generalleutnant,fluxes,peterhead,gandhian,reals,alauddin,maximized,fairhaven,endow,ciechanow,perforations,darters,panellist,manmade,litigants,exhibitor,tirol,caracalla,conformance,hotelier,stabaek,hearths,borac,frisians,ident,veliko,emulators,schoharie,uzbeks,samarra,prestwick,wadia,universita,tanah,bucculatrix,predominates,genotypes,denounces,roadsides,ganassi,keokuk,philatelist,tomic,ingots,conduits,samplers,abdus,johar,allegories,timaru,wolfpacks,secunda,smeaton,sportivo,inverting,contraindications,whisperer,moradabad,calamities,bakufu,soundscape,smallholders,nadeem,crossroad,xenophobic,zakir,nationalliga,glazes,retroflex,schwyz,moroder,rubra,quraysh,theodoros,endemol,infidels,km/hr,repositioned,portraitist,lluis,answerable,arges,mindedness,coarser,eyewall,teleported,scolds,uppland,vibraphone,ricoh,isenburg,bricklayer,cuttlefish,abstentions,communicable,cephalopod,stockyards,balto,kinston,armbar,bandini,elphaba,maxims,bedouins,sachsen,friedkin,tractate,pamir,ivanovo,mohini,kovalainen,nambiar,melvyn,orthonormal,matsuyama,cuernavaca,veloso,overstated,streamer,dravid,informers,analyte,sympathized,streetscape,gosta,thomasville,grigore,futuna,depleting,whelks,kiedis,armadale,earner,wynyard,dothan,animating,tridentine,sabri,immovable,rivoli,ariege,parley,clinker,circulates,junagadh,fraunhofer,congregants,180th,buducnost,formula_62,olmert,dedekind,karnak,bayernliga,mazes,sandpiper,ecclestone,yuvan,smallmouth,decolonization,lemmy,adjudicated,retiro,legia,benue,posit,acidification,wahab,taconic,floatplane,perchlorate,atria,wisbech,divestment,dallara,phrygia,palustris,cybersecurity,rebates,facie,mineralogical,substituent,proteges,fowey,mayenne,smoothbore,cherwell,schwarzschild,junin,murrumbidgee,smalltalk,d'orsay,emirati,calaveras,titusville,theremin,vikramaditya,wampanoag,burra,plaines,onegin,emboldened,whampoa,langa,soderbergh,arnaz,sowerby,arendal,godunov,pathanamthitta,damselfly,bestowing,eurosport,iconoclasm,outfitters,acquiesced,badawi,hypotension,ebbsfleet,annulus,sohrab,thenceforth,chagatai,necessitates,aulus,oddities,toynbee,uniontown,innervation,populaire,indivisible,rossellini,minuet,cyrene,gyeongju,chania,cichlids,harrods,1690s,plunges,abdullahi,gurkhas,homebuilt,sortable,bangui,rediff,incrementally,demetrios,medaille,sportif,svend,guttenberg,tubules,carthusian,pleiades,torii,hoppus,phenyl,hanno,conyngham,teschen,cronenberg,wordless,melatonin,distinctiveness,autos,freising,xuanzang,dunwich,satanism,sweyn,predrag,contractually,pavlovic,malaysians,micrometres,expertly,pannonian,abstaining,capensis,southwesterly,catchphrases,commercialize,frankivsk,normanton,hibernate,verso,deportees,dubliners,codice_8,condors,zagros,glosses,leadville,conscript,morrisons,usury,ossian,oulton,vaccinium,civet,ayman,codrington,hadron,nanometers,geochemistry,extractor,grigori,tyrrhenian,neocollyris,drooping,falsification,werft,courtauld,brigantine,orhan,chapultepec,supercopa,federalized,praga,havering,encampments,infallibility,sardis,pawar,undirected,reconstructionist,ardrossan,varuna,pastimes,archdiocesan,fledging,shenhua,molise,secondarily,stagnated,replicates,ciencias,duryodhana,marauding,ruislip,ilyich,intermixed,ravenswood,shimazu,mycorrhizal,icosahedral,consents,dunblane,follicular,pekin,suffield,muromachi,kinsale,gauche,businesspeople,thereto,watauga,exaltation,chelmno,gorse,proliferate,drainages,burdwan,kangra,transducers,inductor,duvalier,maguindanao,moslem,uncaf,givenchy,plantarum,liturgics,telegraphs,lukashenko,chenango,andante,novae,ironwood,faubourg,torme,chinensis,ambala,pietermaritzburg,virginians,landform,bottlenecks,o'driscoll,darbhanga,baptistery,ameer,needlework,naperville,auditoriums,mullingar,starrer,animatronic,topsoil,madura,cannock,vernet,santurce,catocala,ozeki,pontevedra,multichannel,sundsvall,strategists,medio,135th,halil,afridi,trelawny,caloric,ghraib,allendale,hameed,ludwigshafen,spurned,pavlo,palmar,strafed,catamarca,aveiro,harmonization,surah,predictors,solvay,mande,omnipresent,parenthesis,echolocation,equaling,experimenters,acyclic,lithographic,sepoys,katarzyna,sridevi,impoundment,khosrow,caesarean,nacogdoches,rockdale,lawmaker,caucasians,bahman,miyan,rubric,exuberance,bombastic,ductile,snowdonia,inlays,pinyon,anemones,hurries,hospitallers,tayyip,pulleys,treme,photovoltaics,testbed,polonium,ryszard,osgoode,profiting,ironwork,unsurpassed,nepticulidae,makai,lumbini,preclassic,clarksburg,egremont,videography,rehabilitating,ponty,sardonic,geotechnical,khurasan,solzhenitsyn,henna,phoenicia,rhyolite,chateaux,retorted,tomar,deflections,repressions,harborough,renan,brumbies,vandross,storia,vodou,clerkenwell,decking,universo,salon.com,imprisoning,sudwest,ghaziabad,subscribing,pisgah,sukhumi,econometric,clearest,pindar,yildirim,iulia,atlases,cements,remaster,dugouts,collapsible,resurrecting,batik,unreliability,thiers,conjunctions,colophon,marcher,placeholder,flagella,wolds,kibaki,viviparous,twelver,screenshots,aroostook,khadr,iconographic,itasca,jaume,basti,propounded,varro,be'er,jeevan,exacted,shrublands,creditable,brocade,boras,bittern,oneonta,attentional,herzliya,comprehensible,lakeville,discards,caxias,frankland,camerata,satoru,matlab,commutator,interprovincial,yorkville,benefices,nizami,edwardsville,amigaos,cannabinoid,indianola,amateurliga,pernicious,ubiquity,anarchic,novelties,precondition,zardari,symington,sargodha,headphone,thermopylae,mashonaland,zindagi,thalberg,loewe,surfactants,dobro,crocodilians,samhita,diatoms,haileybury,berwickshire,supercritical,sofie,snorna,slatina,intramolecular,agung,osteoarthritis,obstetric,teochew,vakhtang,connemara,deformations,diadem,ferruccio,mainichi,qualitatively,refrigerant,rerecorded,methylated,karmapa,krasinski,restatement,rouvas,cubitt,seacoast,schwarzkopf,homonymous,shipowner,thiamine,approachable,xiahou,160th,ecumenism,polistes,internazionali,fouad,berar,biogeography,texting,inadequately,'when,4kids,hymenoptera,emplaced,cognomen,bellefonte,supplant,michaelmas,uriel,tafsir,morazan,schweinfurt,chorister,ps400,nscaa,petipa,resolutely,ouagadougou,mascarene,supercell,konstanz,bagrat,harmonix,bergson,shrimps,resonators,veneta,camas,mynydd,rumford,generalmajor,khayyam,web.com,pappus,halfdan,tanana,suomen,yutaka,bibliographical,traian,silat,noailles,contrapuntal,agaricus,'special,minibuses,1670s,obadiah,deepa,rorschach,malolos,lymington,valuations,imperials,caballeros,ambroise,judicature,elegiac,sedaka,shewa,checksum,gosforth,legionaries,corneille,microregion,friedrichshafen,antonis,surnamed,mycelium,cantus,educations,topmost,outfitting,ivica,nankai,gouda,anthemic,iosif,supercontinent,antifungal,belarusians,mudaliar,mohawks,caversham,glaciated,basemen,stevan,clonmel,loughton,deventer,positivist,manipuri,tensors,panipat,changeup,impermeable,dubbo,elfsborg,maritimo,regimens,bikram,bromeliad,substratum,norodom,gaultier,queanbeyan,pompeo,redacted,eurocopter,mothballed,centaurs,borno,copra,bemidji,'home,sopron,neuquen,passo,cineplex,alexandrov,wysokie,mammoths,yossi,sarcophagi,congreve,petkovic,extraneous,waterbirds,slurs,indias,phaeton,discontented,prefaced,abhay,prescot,interoperable,nordisk,bicyclists,validly,sejong,litovsk,zanesville,kapitanleutnant,kerch,changeable,mcclatchy,celebi,attesting,maccoll,sepahan,wayans,veined,gaudens,markt,dansk,soane,quantized,petersham,forebears,nayarit,frenzied,queuing,bygone,viggo,ludwik,tanka,hanssen,brythonic,cornhill,primorsky,stockpiles,conceptualization,lampeter,hinsdale,mesoderm,bielsk,rosenheim,ultron,joffrey,stanwyck,khagan,tiraspol,pavelic,ascendant,empoli,metatarsal,descentralizado,masada,ligier,huseyin,ramadi,waratah,tampines,ruthenium,statoil,mladost,liger,grecian,multiparty,digraph,maglev,reconsideration,radiography,cartilaginous,taizu,wintered,anabaptist,peterhouse,shoghi,assessors,numerator,paulet,painstakingly,halakhic,rocroi,motorcycling,gimel,kryptonian,emmeline,cheeked,drawdown,lelouch,dacians,brahmana,reminiscence,disinfection,optimizations,golders,extensor,tsugaru,tolling,liman,gulzar,unconvinced,crataegus,oppositional,dvina,pyrolysis,mandan,alexius,prion,stressors,loomed,moated,dhivehi,recyclable,relict,nestlings,sarandon,kosovar,solvers,czeslaw,kenta,maneuverable,middens,berkhamsted,comilla,folkways,loxton,beziers,batumi,petrochemicals,optimised,sirjan,rabindra,musicality,rationalisation,drillers,subspaces,'live,bbwaa,outfielders,tsung,danske,vandalised,norristown,striae,kanata,gastroenterology,steadfastly,equalising,bootlegging,mannerheim,notodontidae,lagoa,commentating,peninsulas,chishti,seismology,modigliani,preceptor,canonically,awardee,boyaca,hsinchu,stiffened,nacelle,bogor,dryness,unobstructed,yaqub,scindia,peeters,irritant,ammonites,ferromagnetic,speechwriter,oxygenated,walesa,millais,canarian,faience,calvinistic,discriminant,rasht,inker,annexes,howth,allocates,conditionally,roused,regionalism,regionalbahn,functionary,nitrates,bicentenary,recreates,saboteurs,koshi,plasmids,thinned,124th,plainview,kardashian,neuville,victorians,radiates,127th,vieques,schoolmates,petru,tokusatsu,keying,sunaina,flamethrower,'bout,demersal,hosokawa,corelli,omniscient,o'doherty,niksic,reflectivity,transdev,cavour,metronome,temporally,gabba,nsaids,geert,mayport,hematite,boeotia,vaudreuil,torshavn,sailplane,mineralogist,eskisehir,practises,gallifrey,takumi,unease,slipstream,hedmark,paulinus,ailsa,wielkopolska,filmworks,adamantly,vinaya,facelifted,franchisee,augustana,toppling,velvety,crispa,stonington,histological,genealogist,tactician,tebow,betjeman,nyingma,overwinter,oberoi,rampal,overwinters,petaluma,lactarius,stanmore,balikpapan,vasant,inclines,laminate,munshi,sociedade,rabbah,septal,boyband,ingrained,faltering,inhumans,nhtsa,affix,l'ordre,kazuki,rossendale,mysims,latvians,slaveholders,basilicata,neuburg,assize,manzanillo,scrobipalpa,formula_61,belgique,pterosaurs,privateering,vaasa,veria,northport,pressurised,hobbyist,austerlitz,sahih,bhadra,siliguri,bistrica,bursaries,wynton,corot,lepidus,lully,libor,libera,olusegun,choline,mannerism,lymphocyte,chagos,duxbury,parasitism,ecowas,morotai,cancion,coniston,aggrieved,sputnikmusic,parle,ammonian,civilisations,malformation,cattaraugus,skyhawks,d'arc,demerara,bronfman,midwinter,piscataway,jogaila,threonine,matins,kohlberg,hubli,pentatonic,camillus,nigam,potro,unchained,chauvel,orangeville,cistercians,redeployment,xanthi,manju,carabinieri,pakeha,nikolaevich,kantakouzenos,sesquicentennial,gunships,symbolised,teramo,ballo,crusading,l'oeil,bharatpur,lazier,gabrovo,hysteresis,rothbard,chaumont,roundel,ma'mun,sudhir,queried,newts,shimane,presynaptic,playfield,taxonomists,sensitivities,freleng,burkinabe,orfeo,autovia,proselytizing,bhangra,pasok,jujutsu,heung,pivoting,hominid,commending,formula_64,epworth,christianized,oresund,hantuchova,rajputana,hilversum,masoretic,dayak,bakri,assen,magog,macromolecules,waheed,qaida,spassky,rumped,protrudes,preminger,misogyny,glencairn,salafi,lacunae,grilles,racemes,areva,alighieri,inari,epitomized,photoshoot,one-of-a-kind,tring,muralist,tincture,backwaters,weaned,yeasts,analytically,smaland,caltrans,vysocina,jamuna,mauthausen,175th,nouvelles,censoring,reggina,christology,gilad,amplifying,mehmood,johnsons,redirects,eastgate,sacrum,meteoric,riverbanks,guidebooks,ascribes,scoparia,iconoclastic,telegraphic,chine,merah,mistico,lectern,sheung,aethelstan,capablanca,anant,uspto,albatrosses,mymensingh,antiretroviral,clonal,coorg,vaillant,liquidator,gigas,yokai,eradicating,motorcyclists,waitakere,tandon,nears,montenegrins,250th,tatsuya,yassin,atheistic,syncretism,nahum,berisha,transcended,owensboro,lakshmana,abteilung,unadorned,nyack,overflows,harrisonburg,complainant,uematsu,frictional,worsens,sangguniang,abutment,bulwer,sarma,apollinaire,shippers,lycia,alentejo,porpoises,optus,trawling,augustow,blackwall,workbench,westmount,leaped,sikandar,conveniences,stornoway,culverts,zoroastrians,hristo,ansgar,assistive,reassert,fanned,compasses,delgada,maisons,arima,plonsk,verlaine,starstruck,rakhine,befell,spirally,wyclef,expend,colloquium,formula_63,albertus,bellarmine,handedness,holon,introns,movimiento,profitably,lohengrin,discoverers,awash,erste,pharisees,dwarka,oghuz,hashing,heterodox,uloom,vladikavkaz,linesman,rehired,nucleophile,germanicus,gulshan,songz,bayerische,paralympian,crumlin,enjoined,khanum,prahran,penitent,amersfoort,saranac,semisimple,vagrants,compositing,tualatin,oxalate,lavra,ironi,ilkeston,umpqua,calum,stretford,zakat,guelders,hydrazine,birkin,spurring,modularity,aspartate,sodermanland,hopital,bellary,legazpi,clasico,cadfael,hypersonic,volleys,pharmacokinetics,carotene,orientale,pausini,bataille,lunga,retailed,m.phil,mazowieckie,vijayan,rawal,sublimation,promissory,estimators,ploughed,conflagration,penda,segregationist,otley,amputee,coauthor,sopra,pellew,wreckers,tollywood,circumscription,permittivity,strabane,landward,articulates,beaverbrook,rutherglen,coterminous,whistleblowers,colloidal,surbiton,atlante,oswiecim,bhasa,lampooned,chanter,saarc,landkreis,tribulation,tolerates,daiichi,hatun,cowries,dyschirius,abercromby,attock,aldwych,inflows,absolutist,l'histoire,committeeman,vanbrugh,headstock,westbourne,appenzell,hoxton,oculus,westfalen,roundabouts,nickelback,trovatore,quenching,summarises,conservators,transmutation,talleyrand,barzani,unwillingly,axonal,'blue,opining,enveloping,fidesz,rafah,colborne,flickr,lozenge,dulcimer,ndebele,swaraj,oxidize,gonville,resonated,gilani,superiore,endeared,janakpur,shepperton,solidifying,memoranda,sochaux,kurnool,rewari,emirs,kooning,bruford,unavailability,kayseri,judicious,negating,pterosaur,cytosolic,chernihiv,variational,sabretooth,seawolves,devalued,nanded,adverb,volunteerism,sealers,nemours,smederevo,kashubian,bartin,animax,vicomte,polotsk,polder,archiepiscopal,acceptability,quidditch,tussock,seminaire,immolation,belge,coves,wellingborough,khaganate,mckellen,nayaka,brega,kabhi,pontoons,bascule,newsreels,injectors,cobol,weblog,diplo,biggar,wheatbelt,erythrocytes,pedra,showgrounds,bogdanovich,eclecticism,toluene,elegies,formalize,andromedae,airworthiness,springville,mainframes,overexpression,magadha,bijelo,emlyn,glutamine,accenture,uhuru,metairie,arabidopsis,patanjali,peruvians,berezovsky,accion,astrolabe,jayanti,earnestly,sausalito,recurved,1500s,ramla,incineration,galleons,laplacian,shiki,smethwick,isomerase,dordevic,janow,jeffersonville,internationalism,penciled,styrene,ashur,nucleoside,peristome,horsemanship,sedges,bachata,medes,kristallnacht,schneerson,reflectance,invalided,strutt,draupadi,destino,partridges,tejas,quadrennial,aurel,halych,ethnomusicology,autonomist,radyo,rifting,shi'ar,crvena,telefilm,zawahiri,plana,sultanates,theodorus,subcontractors,pavle,seneschal,teleports,chernivtsi,buccal,brattleboro,stankovic,safar,dunhuang,electrocution,chastised,ergonomic,midsomer,130th,zomba,nongovernmental,escapist,localize,xuzhou,kyrie,carinthian,karlovac,nisan,kramnik,pilipino,digitisation,khasi,andronicus,highwayman,maior,misspelling,sebastopol,socon,rhaetian,archimandrite,partway,positivity,otaku,dingoes,tarski,geopolitics,disciplinarian,zulfikar,kenzo,globose,electrophilic,modele,storekeeper,pohang,wheldon,washers,interconnecting,digraphs,intrastate,campy,helvetic,frontispiece,ferrocarril,anambra,petraeus,midrib,endometrial,dwarfism,mauryan,endocytosis,brigs,percussionists,furtherance,synergistic,apocynaceae,krona,berthier,circumvented,casal,siltstone,precast,ethnikos,realists,geodesy,zarzuela,greenback,tripathi,persevered,interments,neutralization,olbermann,departements,supercomputing,demobilised,cassavetes,dunder,ministering,veszprem,barbarism,'world,pieve,apologist,frentzen,sulfides,firewalls,pronotum,staatsoper,hachette,makhachkala,oberland,phonon,yoshihiro,instars,purnima,winslet,mutsu,ergative,sajid,nizamuddin,paraphrased,ardeidae,kodagu,monooxygenase,skirmishers,sportiva,o'byrne,mykolaiv,ophir,prieta,gyllenhaal,kantian,leche,copan,herero,ps250,gelsenkirchen,shalit,sammarinese,chetwynd,wftda,travertine,warta,sigmaringen,concerti,namespace,ostergotland,biomarker,universals,collegio,embarcadero,wimborne,fiddlers,likening,ransomed,stifled,unabated,kalakaua,khanty,gongs,goodrem,countermeasure,publicizing,geomorphology,swedenborg,undefended,catastrophes,diverts,storyboards,amesbury,contactless,placentia,festivity,authorise,terrane,thallium,stradivarius,antonine,consortia,estimations,consecrate,supergiant,belichick,pendants,butyl,groza,univac,afire,kavala,studi,teletoon,paucity,gonbad,koninklijke,128th,stoichiometric,multimodal,facundo,anatomic,melamine,creuse,altan,brigands,mcguinty,blomfield,tsvangirai,protrusion,lurgan,warminster,tenzin,russellville,discursive,definable,scotrail,lignin,reincorporated,o'dell,outperform,redland,multicolored,evaporates,dimitrie,limbic,patapsco,interlingua,surrogacy,cutty,potrero,masud,cahiers,jintao,ardashir,centaurus,plagiarized,minehead,musings,statuettes,logarithms,seaview,prohibitively,downforce,rivington,tomorrowland,microbiologist,ferric,morag,capsid,kucinich,clairvaux,demotic,seamanship,cicada,painterly,cromarty,carbonic,tupou,oconee,tehuantepec,typecast,anstruther,internalized,underwriters,tetrahedra,flagrant,quakes,pathologies,ulrik,nahal,tarquini,dongguan,parnassus,ryoko,senussi,seleucia,airasia,einer,sashes,d'amico,matriculating,arabesque,honved,biophysical,hardinge,kherson,mommsen,diels,icbms,reshape,brasiliensis,palmach,netaji,oblate,functionalities,grigor,blacksburg,recoilless,melanchthon,reales,astrodome,handcrafted,memes,theorizes,isma'il,aarti,pirin,maatschappij,stabilizes,honiara,ashbury,copts,rootes,defensed,queiroz,mantegna,galesburg,coraciiformesfamily,cabrillo,tokio,antipsychotics,kanon,173rd,apollonia,finial,lydian,hadamard,rangi,dowlatabad,monolingual,platformer,subclasses,chiranjeevi,mirabeau,newsgroup,idmanyurdu,kambojas,walkover,zamoyski,generalist,khedive,flanges,knowle,bande,157th,alleyn,reaffirm,pininfarina,zuckerberg,hakodate,131st,aditi,bellinzona,vaulter,planking,boscombe,colombians,lysis,toppers,metered,nahyan,queensryche,minho,nagercoil,firebrand,foundress,bycatch,mendota,freeform,antena,capitalisation,martinus,overijssel,purists,interventionist,zgierz,burgundians,hippolyta,trompe,umatilla,moroccans,dictionnaire,hydrography,changers,chota,rimouski,aniline,bylaw,grandnephew,neamt,lemnos,connoisseurs,tractive,rearrangements,fetishism,finnic,apalachicola,landowning,calligraphic,circumpolar,mansfeld,legible,orientalism,tannhauser,blamey,maximization,noinclude,blackbirds,angara,ostersund,pancreatitis,glabra,acleris,juried,jungian,triumphantly,singlet,plasmas,synesthesia,yellowhead,unleashes,choiseul,quanzhong,brookville,kaskaskia,igcse,skatepark,jatin,jewellers,scaritinae,techcrunch,tellurium,lachaise,azuma,codeshare,dimensionality,unidirectional,scolaire,macdill,camshafts,unassisted,verband,kahlo,eliya,prelature,chiefdoms,saddleback,sockers,iommi,coloratura,llangollen,biosciences,harshest,maithili,k'iche,plical,multifunctional,andreu,tuskers,confounding,sambre,quarterdeck,ascetics,berdych,transversal,tuolumne,sagami,petrobras,brecker,menxia,instilling,stipulating,korra,oscillate,deadpan,v/line,pyrotechnic,stoneware,prelims,intracoastal,retraining,ilija,berwyn,encrypt,achievers,zulfiqar,glycoproteins,khatib,farmsteads,occultist,saman,fionn,derulo,khilji,obrenovic,argosy,toowong,dementieva,sociocultural,iconostasis,craigslist,festschrift,taifa,intercalated,tanjong,penticton,sharad,marxian,extrapolation,guises,wettin,prabang,exclaiming,kosta,famas,conakry,wanderings,'aliabad,macleay,exoplanet,bancorp,besiegers,surmounting,checkerboard,rajab,vliet,tarek,operable,wargaming,haldimand,fukuyama,uesugi,aggregations,erbil,brachiopods,tokyu,anglais,unfavorably,ujpest,escorial,armagnac,nagara,funafuti,ridgeline,cocking,o'gorman,compactness,retardant,krajowa,barua,coking,bestows,thampi,chicagoland,variably,o'loughlin,minnows,schwa,shaukat,polycarbonate,chlorinated,godalming,gramercy,delved,banqueting,enlil,sarada,prasanna,domhnall,decadal,regressive,lipoprotein,collectable,surendra,zaporizhia,cycliste,suchet,offsetting,formula_65,pudong,d'arte,blyton,quonset,osmania,tientsin,manorama,proteomics,bille,jalpaiguri,pertwee,barnegat,inventiveness,gollancz,euthanized,henricus,shortfalls,wuxia,chlorides,cerrado,polyvinyl,folktale,straddled,bioengineering,eschewing,greendale,recharged,olave,ceylonese,autocephalous,peacebuilding,wrights,guyed,rosamund,abitibi,bannockburn,gerontology,scutari,souness,seagram,codice_9,'open,xhtml,taguig,purposed,darbar,orthopedics,unpopulated,kisumu,tarrytown,feodor,polyhedral,monadnock,gottorp,priam,redesigning,gasworks,elfin,urquiza,homologation,filipovic,bohun,manningham,gornik,soundness,shorea,lanus,gelder,darke,sandgate,criticality,paranaense,153rd,vieja,lithograph,trapezoid,tiebreakers,convalescence,yan'an,actuaries,balad,altimeter,thermoelectric,trailblazer,previn,tenryu,ancaster,endoscopy,nicolet,discloses,fracking,plaine,salado,americanism,placards,absurdist,propylene,breccia,jirga,documenta,ismailis,161st,brentano,dallas/fort,embellishment,calipers,subscribes,mahavidyalaya,wednesbury,barnstormers,miwok,schembechler,minigame,unterberger,dopaminergic,inacio,nizamabad,overridden,monotype,cavernous,stichting,sassafras,sotho,argentinean,myrrh,rapidity,flatts,gowrie,dejected,kasaragod,cyprinidae,interlinked,arcseconds,degeneracy,infamously,incubate,substructure,trigeminal,sectarianism,marshlands,hooliganism,hurlers,isolationist,urania,burrard,switchover,lecco,wilts,interrogator,strived,ballooning,volterra,raciborz,relegating,gilding,cybele,dolomites,parachutist,lochaber,orators,raeburn,backend,benaud,rallycross,facings,banga,nuclides,defencemen,futurity,emitters,yadkin,eudonia,zambales,manasseh,sirte,meshes,peculiarly,mcminnville,roundly,boban,decrypt,icelanders,sanam,chelan,jovian,grudgingly,penalised,subscript,gambrinus,poaceae,infringements,maleficent,runciman,148th,supersymmetry,granites,liskeard,eliciting,involution,hallstatt,kitzbuhel,shankly,sandhills,inefficiencies,yishuv,psychotropic,nightjars,wavell,sangamon,vaikundar,choshu,retrospectives,pitesti,gigantea,hashemi,bosna,gakuin,siochana,arrangers,baronetcies,narayani,temecula,creston,koscierzyna,autochthonous,wyandot,anniston,igreja,mobilise,buzau,dunster,musselburgh,wenzhou,khattak,detoxification,decarboxylase,manlius,campbells,coleoptera,copyist,sympathisers,suisun,eminescu,defensor,transshipment,thurgau,somerton,fluctuates,ambika,weierstrass,lukow,giambattista,volcanics,romanticized,innovated,matabeleland,scotiabank,garwolin,purine,d'auvergne,borderland,maozhen,pricewaterhousecoopers,testator,pallium,scout.com,mv/pi,nazca,curacies,upjohn,sarasvati,monegasque,ketrzyn,malory,spikelets,biomechanics,haciendas,rapped,dwarfed,stews,nijinsky,subjection,matsu,perceptible,schwarzburg,midsection,entertains,circuitous,epiphytic,wonsan,alpini,bluefield,sloths,transportable,braunfels,dictum,szczecinek,jukka,wielun,wejherowo,hucknall,grameen,duodenum,ribose,deshpande,shahar,nexstar,injurious,dereham,lithographer,dhoni,structuralist,progreso,deschutes,christus,pulteney,quoins,yitzchak,gyeongsang,breviary,makkah,chiyoda,jutting,vineland,angiosperms,necrotic,novelisation,redistribute,tirumala,140th,featureless,mafic,rivaling,toyline,2/1st,martius,saalfeld,monthan,texian,kathak,melodramas,mithila,regierungsbezirk,509th,fermenting,schoolmate,virtuosic,briain,kokoda,heliocentric,handpicked,kilwinning,sonically,dinars,kasim,parkways,bogdanov,luxembourgian,halland,avesta,bardic,daugavpils,excavator,qwest,frustrate,physiographic,majoris,'ndrangheta,unrestrained,firmness,montalban,abundances,preservationists,adare,executioners,guardsman,bonnaroo,neglects,nazrul,pro12,hoorn,abercorn,refuting,kabud,cationic,parapsychology,troposphere,venezuelans,malignancy,khoja,unhindered,accordionist,medak,visby,ejercito,laparoscopic,dinas,umayyads,valmiki,o'dowd,saplings,stranding,incisions,illusionist,avocets,buccleuch,amazonia,fourfold,turboprops,roosts,priscus,turnstile,areal,certifies,pocklington,spoofs,viseu,commonalities,dabrowka,annam,homesteaders,daredevils,mondrian,negotiates,fiestas,perennials,maximizes,lubavitch,ravindra,scrapers,finials,kintyre,violas,snoqualmie,wilders,openbsd,mlawa,peritoneal,devarajan,congke,leszno,mercurial,fakir,joannes,bognor,overloading,unbuilt,gurung,scuttle,temperaments,bautzen,jardim,tradesman,visitations,barbet,sagamore,graaff,forecasters,wilsons,assis,l'air,shariah,sochaczew,russa,dirge,biliary,neuve,heartbreakers,strathearn,jacobian,overgrazing,edrich,anticline,parathyroid,petula,lepanto,decius,channelled,parvathi,puppeteers,communicators,francorchamps,kahane,longus,panjang,intron,traite,xxvii,matsuri,amrit,katyn,disheartened,cacak,omonia,alexandrine,partaking,wrangling,adjuvant,haskovo,tendrils,greensand,lammermoor,otherworld,volusia,stabling,one-and-a-half,bresson,zapatista,eotvos,ps150,webisodes,stepchildren,microarray,braganca,quanta,dolne,superoxide,bellona,delineate,ratha,lindenwood,bruhl,cingulate,tallies,bickerton,helgi,bevin,takoma,tsukuba,statuses,changeling,alister,bytom,dibrugarh,magnesia,duplicating,outlier,abated,goncalo,strelitz,shikai,mardan,musculature,ascomycota,springhill,tumuli,gabaa,odenwald,reformatted,autocracy,theresienstadt,suplex,chattopadhyay,mencken,congratulatory,weatherfield,systema,solemnity,projekt,quanzhou,kreuzberg,postbellum,nobuo,mediaworks,finisterre,matchplay,bangladeshis,kothen,oocyte,hovered,aromas,afshar,browed,teases,chorlton,arshad,cesaro,backbencher,iquique,vulcans,padmini,unabridged,cyclase,despotic,kirilenko,achaean,queensberry,debre,octahedron,iphigenia,curbing,karimnagar,sagarmatha,smelters,surrealists,sanada,shrestha,turridae,leasehold,jiedushi,eurythmics,appropriating,correze,thimphu,amery,musicomh,cyborgs,sandwell,pushcart,retorts,ameliorate,deteriorates,stojanovic,spline,entrenchments,bourse,chancellorship,pasolini,lendl,personage,reformulated,pubescens,loiret,metalurh,reinvention,nonhuman,eilema,tarsal,complutense,magne,broadview,metrodome,outtake,stouffville,seinen,bataillon,phosphoric,ostensible,opatow,aristides,beefheart,glorifying,banten,romsey,seamounts,fushimi,prophylaxis,sibylla,ranjith,goslar,balustrades,georgiev,caird,lafitte,peano,canso,bankura,halfpenny,segregate,caisson,bizerte,jamshedpur,euromaidan,philosophie,ridged,cheerfully,reclassification,aemilius,visionaries,samoans,wokingham,chemung,wolof,unbranched,cinerea,bhosle,ourense,immortalised,cornerstones,sourcebook,khufu,archimedean,universitatea,intermolecular,fiscally,suffices,metacomet,adjudicator,stablemate,specks,glace,inowroclaw,patristic,muharram,agitating,ashot,neurologic,didcot,gamla,ilves,putouts,siraj,laski,coaling,diarmuid,ratnagiri,rotulorum,liquefaction,morbihan,harel,aftershock,gruiformesfamily,bonnier,falconiformesfamily,adorns,wikis,maastrichtian,stauffenberg,bishopsgate,fakhr,sevenfold,ponders,quantifying,castiel,opacity,depredations,lenten,gravitated,o'mahony,modulates,inuktitut,paston,kayfabe,vagus,legalised,balked,arianism,tendering,sivas,birthdate,awlaki,khvajeh,shahab,samtgemeinde,bridgeton,amalgamations,biogenesis,recharging,tsukasa,mythbusters,chamfered,enthronement,freelancers,maharana,constantia,sutil,messines,monkton,okanogan,reinvigorated,apoplexy,tanahashi,neues,valiants,harappan,russes,carding,volkoff,funchal,statehouse,imitative,intrepidity,mellotron,samaras,turkana,besting,longitudes,exarch,diarrhoea,transcending,zvonareva,darna,ramblin,disconnection,137th,refocused,diarmait,agricole,ba'athist,turenne,contrabass,communis,daviess,fatimids,frosinone,fittingly,polyphyletic,qanat,theocratic,preclinical,abacha,toorak,marketplaces,conidia,seiya,contraindicated,retford,bundesautobahn,rebuilds,climatology,seaworthy,starfighter,qamar,categoria,malai,hellinsia,newstead,airworthy,catenin,avonmouth,arrhythmias,ayyavazhi,downgrade,ashburnham,ejector,kinematics,petworth,rspca,filmation,accipitridae,chhatrapati,g/mol,bacau,agama,ringtone,yudhoyono,orchestrator,arbitrators,138th,powerplants,cumbernauld,alderley,misamis,hawai`i,cuando,meistriliiga,jermyn,alans,pedigrees,ottavio,approbation,omnium,purulia,prioress,rheinland,lymphoid,lutsk,oscilloscope,ballina,iliac,motorbikes,modernising,uffizi,phylloxera,kalevala,bengalis,amravati,syntheses,interviewers,inflectional,outflank,maryhill,unhurt,profiler,nacelles,heseltine,personalised,guarda,herpetologist,airpark,pigot,margaretha,dinos,peleliu,breakbeat,kastamonu,shaivism,delamere,kingsville,epigram,khlong,phospholipids,journeying,lietuvos,congregated,deviance,celebes,subsoil,stroma,kvitova,lubricating,layoff,alagoas,olafur,doron,interuniversity,raycom,agonopterix,uzice,nanna,springvale,raimundo,wrested,pupal,talat,skinheads,vestige,unpainted,handan,odawara,ammar,attendee,lapped,myotis,gusty,ciconiiformesfamily,traversal,subfield,vitaphone,prensa,hasidism,inwood,carstairs,kropotkin,turgenev,dobra,remittance,purim,tannin,adige,tabulation,lethality,pacha,micronesian,dhruva,defensemen,tibeto,siculus,radioisotope,sodertalje,phitsanulok,euphonium,oxytocin,overhangs,skinks,fabrica,reinterred,emulates,bioscience,paragliding,raekwon,perigee,plausibility,frolunda,erroll,aznar,vyasa,albinus,trevally,confederacion,terse,sixtieth,1530s,kendriya,skateboarders,frontieres,muawiyah,easements,shehu,conservatively,keystones,kasem,brutalist,peekskill,cowry,orcas,syllabary,paltz,elisabetta,denticles,hampering,dolni,eidos,aarau,lermontov,yankton,shahbaz,barrages,kongsvinger,reestablishment,acetyltransferase,zulia,mrnas,slingsby,eucalypt,efficacious,weybridge,gradation,cinematheque,malthus,bampton,coexisted,cisse,hamdi,cupertino,saumarez,chionodes,libertine,formers,sakharov,pseudonymous,vol.1,mcduck,gopalakrishnan,amberley,jorhat,grandmasters,rudiments,dwindle,param,bukidnon,menander,americanus,multipliers,pulawy,homoerotic,pillbox,cd+dvd,epigraph,aleksandrow,extrapolated,horseshoes,contemporain,angiography,hasselt,shawinigan,memorization,legitimized,cyclades,outsold,rodolphe,kelis,powerball,dijkstra,analyzers,incompressible,sambar,orangeburg,osten,reauthorization,adamawa,sphagnum,hypermarket,millipedes,zoroaster,madea,ossuary,murrayfield,pronominal,gautham,resellers,ethers,quarrelled,dolna,stragglers,asami,tangut,passos,educacion,sharaf,texel,berio,bethpage,bezalel,marfa,noronha,36ers,genteel,avram,shilton,compensates,sweetener,reinstalled,disables,noether,1590s,balakrishnan,kotaro,northallerton,cataclysm,gholam,cancellara,schiphol,commends,longinus,albinism,gemayel,hamamatsu,volos,islamism,sidereal,pecuniary,diggings,townsquare,neosho,lushan,chittoor,akhil,disputation,desiccation,cambodians,thwarting,deliberated,ellipsis,bahini,susumu,separators,kohneh,plebeians,kultur,ogaden,pissarro,trypeta,latur,liaodong,vetting,datong,sohail,alchemists,lengthwise,unevenly,masterly,microcontrollers,occupier,deviating,farringdon,baccalaureat,theocracy,chebyshev,archivists,jayaram,ineffectiveness,scandinavians,jacobins,encomienda,nambu,g/cm3,catesby,paavo,heeded,rhodium,idealised,10deg,infective,mecyclothorax,halevy,sheared,minbari,audax,lusatian,rebuffs,hitfix,fastener,subjugate,tarun,binet,compuserve,synthesiser,keisuke,amalric,ligatures,tadashi,ignazio,abramovich,groundnut,otomo,maeve,mortlake,ostrogoths,antillean,todor,recto,millimetre,espousing,inaugurate,paracetamol,galvanic,harpalinae,jedrzejow,reassessment,langlands,civita,mikan,stikine,bijar,imamate,istana,kaiserliche,erastus,federale,cytosine,expansionism,hommes,norrland,smriti,snapdragon,gulab,taleb,lossy,khattab,urbanised,sesto,rekord,diffuser,desam,morganatic,silting,pacts,extender,beauharnais,purley,bouches,halfpipe,discontinuities,houthi,farmville,animism,horni,saadi,interpretative,blockades,symeon,biogeographic,transcaucasian,jetties,landrieu,astrocytes,conjunto,stumpings,weevils,geysers,redux,arching,romanus,tazeh,marcellinus,casein,opava,misrata,anare,sattar,declarer,dreux,oporto,venta,vallis,icosahedron,cortona,lachine,mohammedan,sandnes,zynga,clarin,diomedes,tsuyoshi,pribram,gulbarga,chartist,superettan,boscawen,altus,subang,gating,epistolary,vizianagaram,ogdensburg,panna,thyssen,tarkovsky,dzogchen,biograph,seremban,unscientific,nightjar,legco,deism,n.w.a,sudha,siskel,sassou,flintlock,jovial,montbeliard,pallida,formula_66,tranquillity,nisei,adornment,'people,yamhill,hockeyallsvenskan,adopters,appian,lowicz,haplotypes,succinctly,starogard,presidencies,kheyrabad,sobibor,kinesiology,cowichan,militum,cromwellian,leiningen,ps1.5,concourses,dalarna,goldfield,brzeg,faeces,aquarii,matchless,harvesters,181st,numismatics,korfball,sectioned,transpires,facultative,brandishing,kieron,forages,menai,glutinous,debarge,heathfield,1580s,malang,photoelectric,froome,semiotic,alwar,grammophon,chiaroscuro,mentalist,maramures,flacco,liquors,aleutians,marvell,sutlej,patnaik,qassam,flintoff,bayfield,haeckel,sueno,avicii,exoplanets,hoshi,annibale,vojislav,honeycombs,celebrant,rendsburg,veblen,quails,141st,carronades,savar,narrations,jeeva,ontologies,hedonistic,marinette,godot,munna,bessarabian,outrigger,thame,gravels,hoshino,falsifying,stereochemistry,nacionalista,medially,radula,ejecting,conservatorio,odile,ceiba,jaina,essonne,isometry,allophones,recidivism,iveco,ganda,grammarians,jagan,signposted,uncompressed,facilitators,constancy,ditko,propulsive,impaling,interbank,botolph,amlaib,intergroup,sorbus,cheka,debye,praca,adorning,presbyteries,dormition,strategos,qarase,pentecostals,beehives,hashemite,goldust,euronext,egress,arpanet,soames,jurchens,slovenska,copse,kazim,appraisals,marischal,mineola,sharada,caricaturist,sturluson,galba,faizabad,overwintering,grete,uyezds,didsbury,libreville,ablett,microstructure,anadolu,belenenses,elocution,cloaks,timeslots,halden,rashidun,displaces,sympatric,germanus,tuples,ceska,equalize,disassembly,krautrock,babangida,memel,deild,gopala,hematology,underclass,sangli,wawrinka,assur,toshack,refrains,nicotinic,bhagalpur,badami,racetracks,pocatello,walgreens,nazarbayev,occultation,spinnaker,geneon,josias,hydrolyzed,dzong,corregimiento,waistcoat,thermoplastic,soldered,anticancer,lactobacillus,shafi'i,carabus,adjournment,schlumberger,triceratops,despotate,mendicant,krishnamurti,bahasa,earthworm,lavoisier,noetherian,kalki,fervently,bhawan,saanich,coquille,gannet,motagua,kennels,mineralization,fitzherbert,svein,bifurcated,hairdressing,felis,abounded,dimers,fervour,hebdo,bluffton,aetna,corydon,clevedon,carneiro,subjectively,deutz,gastropoda,overshot,concatenation,varman,carolla,maharshi,mujib,inelastic,riverhead,initialized,safavids,rohini,caguas,bulges,fotbollforbund,hefei,spithead,westville,maronites,lytham,americo,gediminas,stephanus,chalcolithic,hijra,gnu/linux,predilection,rulership,sterility,haidar,scarlatti,saprissa,sviatoslav,pointedly,sunroof,guarantor,thevar,airstrips,pultusk,sture,129th,divinities,daizong,dolichoderus,cobourg,maoists,swordsmanship,uprated,bohme,tashi,largs,chandi,bluebeard,householders,richardsonian,drepanidae,antigonish,elbasan,occultism,marca,hypergeometric,oirat,stiglitz,ignites,dzungar,miquelon,pritam,d'automne,ulidiid,niamey,vallecano,fondo,billiton,incumbencies,raceme,chambery,cadell,barenaked,kagame,summerside,haussmann,hatshepsut,apothecaries,criollo,feint,nasals,timurid,feltham,plotinus,oxygenation,marginata,officinalis,salat,participations,ising,downe,izumo,unguided,pretence,coursed,haruna,viscountcy,mainstage,justicia,powiat,takara,capitoline,implacable,farben,stopford,cosmopterix,tuberous,kronecker,galatians,kweli,dogmas,exhorted,trebinje,skanda,newlyn,ablative,basidia,bhiwani,encroachments,stranglers,regrouping,tubal,shoestring,wawel,anionic,mesenchymal,creationists,pyrophosphate,moshi,despotism,powerbook,fatehpur,rupiah,segre,ternate,jessore,b.i.g,shevardnadze,abounds,gliwice,densest,memoria,suborbital,vietcong,ratepayers,karunanidhi,toolbar,descents,rhymney,exhortation,zahedan,carcinomas,hyperbaric,botvinnik,billets,neuropsychological,tigranes,hoards,chater,biennially,thistles,scotus,wataru,flotillas,hungama,monopolistic,payouts,vetch,generalissimo,caries,naumburg,piran,blizzards,escalates,reactant,shinya,theorize,rizzoli,transitway,ecclesiae,streptomyces,cantal,nisibis,superconductor,unworkable,thallus,roehampton,scheckter,viceroys,makuuchi,ilkley,superseding,takuya,klodzko,borbon,raspberries,operand,w.a.k.o,sarabande,factionalism,egalitarianism,temasek,torbat,unscripted,jorma,westerner,perfective,vrije,underlain,goldfrapp,blaenau,jomon,barthes,drivetime,bassa,bannock,umaga,fengxiang,zulus,sreenivasan,farces,codice_10,freeholder,poddebice,imperialists,deregulated,wingtip,o'hagan,pillared,overtone,hofstadter,149th,kitano,saybrook,standardizing,aldgate,staveley,o'flaherty,hundredths,steerable,soltan,empted,cruyff,intramuros,taluks,cotonou,marae,karur,figueres,barwon,lucullus,niobe,zemlya,lathes,homeported,chaux,amyotrophic,opines,exemplars,bhamo,homomorphisms,gauleiter,ladin,mafiosi,airdrieonians,b/soul,decal,transcaucasia,solti,defecation,deaconess,numidia,sampradaya,normalised,wingless,schwaben,alnus,cinerama,yakutsk,ketchikan,orvieto,unearned,monferrato,rotem,aacsb,loong,decoders,skerries,cardiothoracic,repositioning,pimpernel,yohannan,tenebrionoidea,nargis,nouvel,costliest,interdenominational,noize,redirecting,zither,morcha,radiometric,frequenting,irtysh,gbagbo,chakri,litvinenko,infotainment,ravensbruck,harith,corbels,maegashira,jousting,natan,novus,falcao,minis,railed,decile,rauma,ramaswamy,cavitation,paranaque,berchtesgaden,reanimated,schomberg,polysaccharides,exclusionary,cleon,anurag,ravaging,dhanush,mitchells,granule,contemptuous,keisei,rolleston,atlantean,yorkist,daraa,wapping,micrometer,keeneland,comparably,baranja,oranje,schlafli,yogic,dinajpur,unimpressive,masashi,recreativo,alemannic,petersfield,naoko,vasudeva,autosport,rajat,marella,busko,wethersfield,ssris,soulcalibur,kobani,wildland,rookery,hoffenheim,kauri,aliphatic,balaclava,ferrite,publicise,victorias,theism,quimper,chapbook,functionalist,roadbed,ulyanovsk,cupen,purpurea,calthorpe,teofilo,mousavi,cochlea,linotype,detmold,ellerslie,gakkai,telkom,southsea,subcontractor,inguinal,philatelists,zeebrugge,piave,trochidae,dempo,spoilt,saharanpur,mihrab,parasympathetic,barbarous,chartering,antiqua,katsina,bugis,categorizes,altstadt,kandyan,pambansa,overpasses,miters,assimilating,finlandia,uneconomic,am/fm,harpsichordist,dresdner,luminescence,authentically,overpowers,magmatic,cliftonville,oilfields,skirted,berthe,cuman,oakham,frelimo,glockenspiel,confection,saxophonists,piaseczno,multilevel,antipater,levying,maltreatment,velho,opoczno,harburg,pedophilia,unfunded,palettes,plasterwork,breve,dharmendra,auchinleck,nonesuch,blackmun,libretti,rabbani,145th,hasselbeck,kinnock,malate,vanden,cloverdale,ashgabat,nares,radians,steelworkers,sabor,possums,catterick,hemispheric,ostra,outpaced,dungeness,almshouse,penryn,texians,1000m,franchitti,incumbency,texcoco,newar,tramcars,toroidal,meitetsu,spellbound,agronomist,vinifera,riata,bunko,pinas,ba'al,github,vasilyevich,obsolescent,geodesics,ancestries,tujue,capitalised,unassigned,throng,unpaired,psychometric,skegness,exothermic,buffered,kristiansund,tongued,berenger,basho,alitalia,prolongation,archaeologically,fractionation,cyprinid,echinoderms,agriculturally,justiciar,sonam,ilium,baits,danceable,grazer,ardahan,grassed,preemption,glassworks,hasina,ugric,umbra,wahhabi,vannes,tinnitus,capitaine,tikrit,lisieux,scree,hormuz,despenser,jagiellon,maisonneuve,gandaki,santarem,basilicas,lancing,landskrona,weilburg,fireside,elysian,isleworth,krishnamurthy,filton,cynon,tecmo,subcostal,scalars,triglycerides,hyperplane,farmingdale,unione,meydan,pilings,mercosur,reactivate,akiba,fecundity,jatra,natsume,zarqawi,preta,masao,presbyter,oakenfold,rhodri,ferran,ruizong,cloyne,nelvana,epiphanius,borde,scutes,strictures,troughton,whitestone,sholom,toyah,shingon,kutuzov,abelard,passant,lipno,cafeterias,residuals,anabaptists,paratransit,criollos,pleven,radiata,destabilizing,hadiths,bazaars,mannose,taiyo,crookes,welbeck,baoding,archelaus,nguesso,alberni,wingtips,herts,viasat,lankans,evreux,wigram,fassbinder,ryuichi,storting,reducible,olesnica,znojmo,hyannis,theophanes,flatiron,mustering,rajahmundry,kadir,wayang,prome,lethargy,zubin,illegality,conall,dramedy,beerbohm,hipparchus,ziarat,ryuji,shugo,glenorchy,microarchitecture,morne,lewinsky,cauvery,battenberg,hyksos,wayanad,hamilcar,buhari,brazo,bratianu,solms,aksaray,elamite,chilcotin,bloodstock,sagara,dolny,reunified,umlaut,proteaceae,camborne,calabrian,dhanbad,vaxjo,cookware,potez,rediffusion,semitones,lamentations,allgau,guernica,suntory,pleated,stationing,urgell,gannets,bertelsmann,entryway,raphitomidae,acetaldehyde,nephrology,categorizing,beiyang,permeate,tourney,geosciences,khana,masayuki,crucis,universitaria,slaskie,khaimah,finno,advani,astonishingly,tubulin,vampiric,jeolla,sociale,cleethorpes,badri,muridae,suzong,debater,decimation,kenyans,mutualism,pontifex,middlemen,insee,halevi,lamentation,psychopathy,brassey,wenders,kavya,parabellum,prolactin,inescapable,apses,malignancies,rinzai,stigmatized,menahem,comox,ateliers,welshpool,setif,centimetre,truthfulness,downfield,drusus,woden,glycosylation,emanated,agulhas,dalkeith,jazira,nucky,unifil,jobim,operon,oryzomys,heroically,seances,supernumerary,backhouse,hashanah,tatler,imago,invert,hayato,clockmaker,kingsmill,swiecie,analogously,golconda,poste,tacitly,decentralised,ge'ez,diplomatically,fossiliferous,linseed,mahavira,pedestals,archpriest,byelection,domiciled,jeffersonian,bombus,winegrowing,waukegan,uncultivated,haverfordwest,saumur,communally,disbursed,cleeve,zeljeznicar,speciosa,vacationers,sigur,vaishali,zlatko,iftikhar,cropland,transkei,incompleteness,bohra,subantarctic,slieve,physiologic,similis,klerk,replanted,'right,chafee,reproducible,bayburt,regicide,muzaffarpur,plurals,hanyu,orthologs,diouf,assailed,kamui,tarik,dodecanese,gorne,on/off,179th,shimoga,granaries,carlists,valar,tripolitania,sherds,simmern,dissociated,isambard,polytechnical,yuvraj,brabazon,antisense,pubmed,glans,minutely,masaaki,raghavendra,savoury,podcasting,tachi,bienville,gongsun,ridgely,deform,yuichi,binders,canna,carcetti,llobregat,implored,berri,njegos,intermingled,offload,athenry,motherhouse,corpora,kakinada,dannebrog,imperio,prefaces,musicologists,aerospatiale,shirai,nagapattinam,servius,cristoforo,pomfret,reviled,entebbe,stane,east/west,thermometers,matriarchal,siglo,bodil,legionnaire,ze'ev,theorizing,sangeetha,horticulturist,uncountable,lookalike,anoxic,ionospheric,genealogists,chicopee,imprinting,popish,crematoria,diamondback,cyathea,hanzhong,cameramen,halogaland,naklo,waclaw,storehouses,flexed,comuni,frits,glauca,nilgiris,compresses,nainital,continuations,albay,hypoxic,samajwadi,dunkerque,nanticoke,sarwar,interchanged,jubal,corba,jalgaon,derleth,deathstroke,magny,vinnytsia,hyphenated,rimfire,sawan,boehner,disrepute,normalize,aromanian,dualistic,approximant,chama,karimabad,barnacles,sanok,stipends,dyfed,rijksmuseum,reverberation,suncorp,fungicides,reverie,spectrograph,stereophonic,niazi,ordos,alcan,karaite,lautrec,tableland,lamellar,rieti,langmuir,russula,webern,tweaks,hawick,southerner,morphy,naturalisation,enantiomer,michinoku,barbettes,relieves,carburettors,redruth,oblates,vocabularies,mogilev,bagmati,galium,reasserted,extolled,symon,eurosceptic,inflections,tirtha,recompense,oruro,roping,gouverneur,pared,yayoi,watermills,retooled,leukocytes,jubilant,mazhar,nicolau,manheim,touraine,bedser,hambledon,kohat,powerhouses,tlemcen,reuven,sympathetically,afrikaners,interes,handcrafts,etcher,baddeley,wodonga,amaury,155th,vulgarity,pompadour,automorphisms,1540s,oppositions,prekmurje,deryni,fortifying,arcuate,mahila,bocage,uther,nozze,slashes,atlantica,hadid,rhizomatous,azeris,'with,osmena,lewisville,innervated,bandmaster,outcropping,parallelogram,dominicana,twang,ingushetia,extensional,ladino,sastry,zinoviev,relatable,nobilis,cbeebies,hitless,eulima,sporangia,synge,longlisted,criminalized,penitential,weyden,tubule,volyn,priestesses,glenbrook,kibbutzim,windshaft,canadair,falange,zsolt,bonheur,meine,archangels,safeguarded,jamaicans,malarial,teasers,badging,merseyrail,operands,pulsars,gauchos,biotin,bambara,necaxa,egmond,tillage,coppi,anxiolytic,preah,mausoleums,plautus,feroz,debunked,187th,belediyespor,mujibur,wantage,carboxyl,chettiar,murnau,vagueness,racemic,backstretch,courtland,municipio,palpatine,dezful,hyperbola,sreekumar,chalons,altay,arapahoe,tudors,sapieha,quilon,burdensome,kanya,xxviii,recension,generis,siphuncle,repressor,bitrate,mandals,midhurst,dioxin,democratique,upholds,rodez,cinematographic,epoque,jinping,rabelais,zhytomyr,glenview,rebooted,khalidi,reticulata,122nd,monnaie,passersby,ghazals,europaea,lippmann,earthbound,tadic,andorran,artvin,angelicum,banksy,epicentre,resemblances,shuttled,rathaus,bernt,stonemasons,balochi,siang,tynemouth,cygni,biosynthetic,precipitates,sharecroppers,d'annunzio,softbank,shiji,apeldoorn,polycyclic,wenceslas,wuchang,samnites,tamarack,silmarillion,madinah,palaeontology,kirchberg,sculpin,rohtak,aquabats,oviparous,thynne,caney,blimps,minimalistic,whatcom,palatalization,bardstown,direct3d,paramagnetic,kamboja,khash,globemaster,lengua,matej,chernigov,swanage,arsenals,cascadia,cundinamarca,tusculum,leavers,organics,warplanes,'three,exertions,arminius,gandharva,inquires,comercio,kuopio,chabahar,plotlines,mersenne,anquetil,paralytic,buckminster,ambit,acrolophus,quantifiers,clacton,ciliary,ansaldo,fergana,egoism,thracians,chicoutimi,northbrook,analgesia,brotherhoods,hunza,adriaen,fluoridation,snowfalls,soundboard,fangoria,cannibalistic,orthogonius,chukotka,dindigul,manzoni,chainz,macromedia,beltline,muruga,schistura,provable,litex,initio,pneumoniae,infosys,cerium,boonton,cannonballs,d'une,solvency,mandurah,houthis,dolmens,apologists,radioisotopes,blaxploitation,poroshenko,stawell,coosa,maximilien,tempelhof,espouse,declaratory,hambro,xalapa,outmoded,mihiel,benefitting,desirous,archeparchy,repopulated,telescoping,captor,mackaye,disparaged,ramanathan,crowne,tumbled,technetium,silted,chedi,nievre,hyeon,cartoonish,interlock,infocom,rediff.com,dioramas,timekeeping,concertina,kutaisi,cesky,lubomirski,unapologetic,epigraphic,stalactites,sneha,biofilm,falconry,miraflores,catena,'outstanding,prospekt,apotheosis,o'odham,pacemakers,arabica,gandhinagar,reminisces,iroquoian,ornette,tilling,neoliberalism,chameleons,pandava,prefontaine,haiyan,gneisenau,utama,bando,reconstitution,azaria,canola,paratroops,ayckbourn,manistee,stourton,manifestos,lympne,denouement,tractatus,rakim,bellflower,nanometer,sassanids,turlough,presbyterianism,varmland,20deg,phool,nyerere,almohad,manipal,vlaanderen,quickness,removals,makow,circumflex,eatery,morane,fondazione,alkylation,unenforceable,galliano,silkworm,junior/senior,abducts,phlox,konskie,lofoten,buuren,glyphosate,faired,naturae,cobbles,taher,skrulls,dostoevsky,walkout,wagnerian,orbited,methodically,denzil,sarat,extraterritorial,kohima,d'armor,brinsley,rostropovich,fengtian,comitatus,aravind,moche,wrangell,giscard,vantaa,viljandi,hakoah,seabees,muscatine,ballade,camanachd,sothern,mullioned,durad,margraves,maven,arete,chandni,garifuna,142nd,reading/literature,thickest,intensifies,trygve,khaldun,perinatal,asana,powerline,acetylation,nureyev,omiya,montesquieu,riverwalk,marly,correlating,intermountain,bulgar,hammerheads,underscores,wiretapping,quatrain,ruisseau,newsagent,tuticorin,polygyny,hemsworth,partisanship,banna,istrian,evaporator".split(","),
18280female_names:"mary,patricia,linda,barbara,elizabeth,jennifer,maria,susan,margaret,dorothy,lisa,nancy,karen,betty,helen,sandra,donna,carol,ruth,sharon,michelle,laura,sarah,kimberly,deborah,jessica,shirley,cynthia,angela,melissa,brenda,amy,anna,rebecca,virginia,kathleen,pamela,martha,debra,amanda,stephanie,carolyn,christine,marie,janet,catherine,frances,ann,joyce,diane,alice,julie,heather,teresa,doris,gloria,evelyn,jean,cheryl,mildred,katherine,joan,ashley,judith,rose,janice,kelly,nicole,judy,christina,kathy,theresa,beverly,denise,tammy,irene,jane,lori,rachel,marilyn,andrea,kathryn,louise,sara,anne,jacqueline,wanda,bonnie,julia,ruby,lois,tina,phyllis,norma,paula,diana,annie,lillian,emily,robin,peggy,crystal,gladys,rita,dawn,connie,florence,tracy,edna,tiffany,carmen,rosa,cindy,grace,wendy,victoria,edith,kim,sherry,sylvia,josephine,thelma,shannon,sheila,ethel,ellen,elaine,marjorie,carrie,charlotte,monica,esther,pauline,emma,juanita,anita,rhonda,hazel,amber,eva,debbie,april,leslie,clara,lucille,jamie,joanne,eleanor,valerie,danielle,megan,alicia,suzanne,michele,gail,bertha,darlene,veronica,jill,erin,geraldine,lauren,cathy,joann,lorraine,lynn,sally,regina,erica,beatrice,dolores,bernice,audrey,yvonne,annette,marion,dana,stacy,ana,renee,ida,vivian,roberta,holly,brittany,melanie,loretta,yolanda,jeanette,laurie,katie,kristen,vanessa,alma,sue,elsie,beth,jeanne,vicki,carla,tara,rosemary,eileen,terri,gertrude,lucy,tonya,ella,stacey,wilma,gina,kristin,jessie,natalie,agnes,vera,charlene,bessie,delores,melinda,pearl,arlene,maureen,colleen,allison,tamara,joy,georgia,constance,lillie,claudia,jackie,marcia,tanya,nellie,minnie,marlene,heidi,glenda,lydia,viola,courtney,marian,stella,caroline,dora,vickie,mattie,maxine,irma,mabel,marsha,myrtle,lena,christy,deanna,patsy,hilda,gwendolyn,jennie,nora,margie,nina,cassandra,leah,penny,kay,priscilla,naomi,carole,olga,billie,dianne,tracey,leona,jenny,felicia,sonia,miriam,velma,becky,bobbie,violet,kristina,toni,misty,mae,shelly,daisy,ramona,sherri,erika,katrina,claire,lindsey,lindsay,geneva,guadalupe,belinda,margarita,sheryl,cora,faye,ada,sabrina,isabel,marguerite,hattie,harriet,molly,cecilia,kristi,brandi,blanche,sandy,rosie,joanna,iris,eunice,angie,inez,lynda,madeline,amelia,alberta,genevieve,monique,jodi,janie,kayla,sonya,jan,kristine,candace,fannie,maryann,opal,alison,yvette,melody,luz,susie,olivia,flora,shelley,kristy,mamie,lula,lola,verna,beulah,antoinette,candice,juana,jeannette,pam,kelli,whitney,bridget,karla,celia,latoya,patty,shelia,gayle,della,vicky,lynne,sheri,marianne,kara,jacquelyn,erma,blanca,myra,leticia,pat,krista,roxanne,angelica,robyn,adrienne,rosalie,alexandra,brooke,bethany,sadie,bernadette,traci,jody,kendra,nichole,rachael,mable,ernestine,muriel,marcella,elena,krystal,angelina,nadine,kari,estelle,dianna,paulette,lora,mona,doreen,rosemarie,desiree,antonia,janis,betsy,christie,freda,meredith,lynette,teri,cristina,eula,leigh,meghan,sophia,eloise,rochelle,gretchen,cecelia,raquel,henrietta,alyssa,jana,gwen,jenna,tricia,laverne,olive,tasha,silvia,elvira,delia,kate,patti,lorena,kellie,sonja,lila,lana,darla,mindy,essie,mandy,lorene,elsa,josefina,jeannie,miranda,dixie,lucia,marta,faith,lela,johanna,shari,camille,tami,shawna,elisa,ebony,melba,ora,nettie,tabitha,ollie,winifred,kristie,alisha,aimee,rena,myrna,marla,tammie,latasha,bonita,patrice,ronda,sherrie,addie,francine,deloris,stacie,adriana,cheri,abigail,celeste,jewel,cara,adele,rebekah,lucinda,dorthy,effie,trina,reba,sallie,aurora,lenora,etta,lottie,kerri,trisha,nikki,estella,francisca,josie,tracie,marissa,karin,brittney,janelle,lourdes,laurel,helene,fern,elva,corinne,kelsey,ina,bettie,elisabeth,aida,caitlin,ingrid,iva,eugenia,christa,goldie,maude,jenifer,therese,dena,lorna,janette,latonya,candy,consuelo,tamika,rosetta,debora,cherie,polly,dina,jewell,fay,jillian,dorothea,nell,trudy,esperanza,patrica,kimberley,shanna,helena,cleo,stefanie,rosario,ola,janine,mollie,lupe,alisa,lou,maribel,susanne,bette,susana,elise,cecile,isabelle,lesley,jocelyn,paige,joni,rachelle,leola,daphne,alta,ester,petra,graciela,imogene,jolene,keisha,lacey,glenna,gabriela,keri,ursula,lizzie,kirsten,shana,adeline,mayra,jayne,jaclyn,gracie,sondra,carmela,marisa,rosalind,charity,tonia,beatriz,marisol,clarice,jeanine,sheena,angeline,frieda,lily,shauna,millie,claudette,cathleen,angelia,gabrielle,autumn,katharine,jodie,staci,lea,christi,justine,elma,luella,margret,dominique,socorro,martina,margo,mavis,callie,bobbi,maritza,lucile,leanne,jeannine,deana,aileen,lorie,ladonna,willa,manuela,gale,selma,dolly,sybil,abby,ivy,dee,winnie,marcy,luisa,jeri,magdalena,ofelia,meagan,audra,matilda,leila,cornelia,bianca,simone,bettye,randi,virgie,latisha,barbra,georgina,eliza,leann,bridgette,rhoda,haley,adela,nola,bernadine,flossie,ila,greta,ruthie,nelda,minerva,lilly,terrie,letha,hilary,estela,valarie,brianna,rosalyn,earline,catalina,ava,mia,clarissa,lidia,corrine,alexandria,concepcion,tia,sharron,rae,dona,ericka,jami,elnora,chandra,lenore,neva,marylou,melisa,tabatha,serena,avis,allie,sofia,jeanie,odessa,nannie,harriett,loraine,penelope,milagros,emilia,benita,allyson,ashlee,tania,esmeralda,eve,pearlie,zelma,malinda,noreen,tameka,saundra,hillary,amie,althea,rosalinda,lilia,alana,clare,alejandra,elinor,lorrie,jerri,darcy,earnestine,carmella,noemi,marcie,liza,annabelle,louisa,earlene,mallory,carlene,nita,selena,tanisha,katy,julianne,lakisha,edwina,maricela,margery,kenya,dollie,roxie,roslyn,kathrine,nanette,charmaine,lavonne,ilene,tammi,suzette,corine,kaye,chrystal,lina,deanne,lilian,juliana,aline,luann,kasey,maryanne,evangeline,colette,melva,lawanda,yesenia,nadia,madge,kathie,ophelia,valeria,nona,mitzi,mari,georgette,claudine,fran,alissa,roseann,lakeisha,susanna,reva,deidre,chasity,sheree,elvia,alyce,deirdre,gena,briana,araceli,katelyn,rosanne,wendi,tessa,berta,marva,imelda,marietta,marci,leonor,arline,sasha,madelyn,janna,juliette,deena,aurelia,josefa,augusta,liliana,lessie,amalia,savannah,anastasia,vilma,natalia,rosella,lynnette,corina,alfreda,leanna,amparo,coleen,tamra,aisha,wilda,karyn,maura,mai,evangelina,rosanna,hallie,erna,enid,mariana,lacy,juliet,jacklyn,freida,madeleine,mara,cathryn,lelia,casandra,bridgett,angelita,jannie,dionne,annmarie,katina,beryl,millicent,katheryn,diann,carissa,maryellen,liz,lauri,helga,gilda,rhea,marquita,hollie,tisha,tamera,angelique,francesca,kaitlin,lolita,florine,rowena,reyna,twila,fanny,janell,ines,concetta,bertie,alba,brigitte,alyson,vonda,pansy,elba,noelle,letitia,deann,brandie,louella,leta,felecia,sharlene,lesa,beverley,isabella,herminia,terra,celina,tori,octavia,jade,denice,germaine,michell,cortney,nelly,doretha,deidra,monika,lashonda,judi,chelsey,antionette,margot,adelaide,leeann,elisha,dessie,libby,kathi,gayla,latanya,mina,mellisa,kimberlee,jasmin,renae,zelda,elda,justina,gussie,emilie,camilla,abbie,rocio,kaitlyn,edythe,ashleigh,selina,lakesha,geri,allene,pamala,michaela,dayna,caryn,rosalia,jacquline,rebeca,marybeth,krystle,iola,dottie,belle,griselda,ernestina,elida,adrianne,demetria,delma,jaqueline,arleen,virgina,retha,fatima,tillie,eleanore,cari,treva,wilhelmina,rosalee,maurine,latrice,jena,taryn,elia,debby,maudie,jeanna,delilah,catrina,shonda,hortencia,theodora,teresita,robbin,danette,delphine,brianne,nilda,danna,cindi,bess,iona,winona,vida,rosita,marianna,racheal,guillermina,eloisa,celestine,caren,malissa,lona,chantel,shellie,marisela,leora,agatha,soledad,migdalia,ivette,christen,athena,janel,veda,pattie,tessie,tera,marilynn,lucretia,karrie,dinah,daniela,alecia,adelina,vernice,shiela,portia,merry,lashawn,dara,tawana,verda,alene,zella,sandi,rafaela,maya,kira,candida,alvina,suzan,shayla,lettie,samatha,oralia,matilde,larissa,vesta,renita,delois,shanda,phillis,lorri,erlinda,cathrine,barb,isabell,ione,gisela,roxanna,mayme,kisha,ellie,mellissa,dorris,dalia,bella,annetta,zoila,reta,reina,lauretta,kylie,christal,pilar,charla,elissa,tiffani,tana,paulina,leota,breanna,jayme,carmel,vernell,tomasa,mandi,dominga,santa,melodie,lura,alexa,tamela,mirna,kerrie,venus,felicita,cristy,carmelita,berniece,annemarie,tiara,roseanne,missy,cori,roxana,pricilla,kristal,jung,elyse,haydee,aletha,bettina,marge,gillian,filomena,zenaida,harriette,caridad,vada,aretha,pearline,marjory,marcela,flor,evette,elouise,alina,damaris,catharine,belva,nakia,marlena,luanne,lorine,karon,dorene,danita,brenna,tatiana,louann,julianna,andria,philomena,lucila,leonora,dovie,romona,mimi,jacquelin,gaye,tonja,misti,chastity,stacia,roxann,micaela,velda,marlys,johnna,aura,ivonne,hayley,nicki,majorie,herlinda,yadira,perla,gregoria,antonette,shelli,mozelle,mariah,joelle,cordelia,josette,chiquita,trista,laquita,georgiana,candi,shanon,hildegard,stephany,magda,karol,gabriella,tiana,roma,richelle,oleta,jacque,idella,alaina,suzanna,jovita,tosha,nereida,marlyn,kyla,delfina,tena,stephenie,sabina,nathalie,marcelle,gertie,darleen,thea,sharonda,shantel,belen,venessa,rosalina,genoveva,clementine,rosalba,renate,renata,georgianna,floy,dorcas,ariana,tyra,theda,mariam,juli,jesica,vikki,verla,roselyn,melvina,jannette,ginny,debrah,corrie,violeta,myrtis,latricia,collette,charleen,anissa,viviana,twyla,nedra,latonia,hellen,fabiola,annamarie,adell,sharyn,chantal,niki,maud,lizette,lindy,kesha,jeana,danelle,charline,chanel,valorie,dortha,cristal,sunny,leone,leilani,gerri,debi,andra,keshia,eulalia,easter,dulce,natividad,linnie,kami,georgie,catina,brook,alda,winnifred,sharla,ruthann,meaghan,magdalene,lissette,adelaida,venita,trena,shirlene,shameka,elizebeth,dian,shanta,latosha,carlotta,windy,rosina,mariann,leisa,jonnie,dawna,cathie,astrid,laureen,janeen,holli,fawn,vickey,teressa,shante,rubye,marcelina,chanda,terese,scarlett,marnie,lulu,lisette,jeniffer,elenor,dorinda,donita,carman,bernita,altagracia,aleta,adrianna,zoraida,lyndsey,janina,starla,phylis,phuong,kyra,charisse,blanch,sanjuanita,rona,nanci,marilee,maranda,brigette,sanjuana,marita,kassandra,joycelyn,felipa,chelsie,bonny,mireya,lorenza,kyong,ileana,candelaria,sherie,lucie,leatrice,lakeshia,gerda,edie,bambi,marylin,lavon,hortense,garnet,evie,tressa,shayna,lavina,kyung,jeanetta,sherrill,shara,phyliss,mittie,anabel,alesia,thuy,tawanda,joanie,tiffanie,lashanda,karissa,enriqueta,daria,daniella,corinna,alanna,abbey,roxane,roseanna,magnolia,lida,joellen,coral,carleen,tresa,peggie,novella,nila,maybelle,jenelle,carina,nova,melina,marquerite,margarette,josephina,evonne,cinthia,albina,toya,tawnya,sherita,myriam,lizabeth,lise,keely,jenni,giselle,cheryle,ardith,ardis,alesha,adriane,shaina,linnea,karolyn,felisha,dori,darci,artie,armida,zola,xiomara,vergie,shamika,nena,nannette,maxie,lovie,jeane,jaimie,inge,farrah,elaina,caitlyn,felicitas,cherly,caryl,yolonda,yasmin,teena,prudence,pennie,nydia,mackenzie,orpha,marvel,lizbeth,laurette,jerrie,hermelinda,carolee,tierra,mirian,meta,melony,kori,jennette,jamila,yoshiko,susannah,salina,rhiannon,joleen,cristine,ashton,aracely,tomeka,shalonda,marti,lacie,kala,jada,ilse,hailey,brittani,zona,syble,sherryl,nidia,marlo,kandice,kandi,alycia,ronna,norene,mercy,ingeborg,giovanna,gemma,christel,audry,zora,vita,trish,stephaine,shirlee,shanika,melonie,mazie,jazmin,inga,hettie,geralyn,fonda,estrella,adella,sarita,rina,milissa,maribeth,golda,evon,ethelyn,enedina,cherise,chana,velva,tawanna,sade,mirta,karie,jacinta,elna,davina,cierra,ashlie,albertha,tanesha,nelle,mindi,lorinda,larue,florene,demetra,dedra,ciara,chantelle,ashly,suzy,rosalva,noelia,lyda,leatha,krystyna,kristan,karri,darline,darcie,cinda,cherrie,awilda,almeda,rolanda,lanette,jerilyn,gisele,evalyn,cyndi,cleta,carin,zina,zena,velia,tanika,charissa,talia,margarete,lavonda,kaylee,kathlene,jonna,irena,ilona,idalia,candis,candance,brandee,anitra,alida,sigrid,nicolette,maryjo,linette,hedwig,christiana,alexia,tressie,modesta,lupita,lita,gladis,evelia,davida,cherri,cecily,ashely,annabel,agustina,wanita,shirly,rosaura,hulda,yetta,verona,thomasina,sibyl,shannan,mechelle,leandra,lani,kylee,kandy,jolynn,ferne,eboni,corene,alysia,zula,nada,moira,lyndsay,lorretta,jammie,hortensia,gaynell,adria,vina,vicenta,tangela,stephine,norine,nella,liana,leslee,kimberely,iliana,glory,felica,emogene,elfriede,eden,eartha,carma,ocie,lennie,kiara,jacalyn,carlota,arielle,otilia,kirstin,kacey,johnetta,joetta,jeraldine,jaunita,elana,dorthea,cami,amada,adelia,vernita,tamar,siobhan,renea,rashida,ouida,nilsa,meryl,kristyn,julieta,danica,breanne,aurea,anglea,sherron,odette,malia,lorelei,leesa,kenna,kathlyn,fiona,charlette,suzie,shantell,sabra,racquel,myong,mira,martine,lucienne,lavada,juliann,elvera,delphia,christiane,charolette,carri,asha,angella,paola,ninfa,leda,stefani,shanell,palma,machelle,lissa,kecia,kathryne,karlene,julissa,jettie,jenniffer,corrina,carolann,alena,rosaria,myrtice,marylee,liane,kenyatta,judie,janey,elmira,eldora,denna,cristi,cathi,zaida,vonnie,viva,vernie,rosaline,mariela,luciana,lesli,karan,felice,deneen,adina,wynona,tarsha,sheron,shanita,shani,shandra,randa,pinkie,nelida,marilou,lyla,laurene,laci,janene,dorotha,daniele,dani,carolynn,carlyn,berenice,ayesha,anneliese,alethea,thersa,tamiko,rufina,oliva,mozell,marylyn,kristian,kathyrn,kasandra,kandace,janae,domenica,debbra,dannielle,chun,arcelia,zenobia,sharen,sharee,lavinia,kacie,jackeline,huong,felisa,emelia,eleanora,cythia,cristin,claribel,anastacia,zulma,zandra,yoko,tenisha,susann,sherilyn,shay,shawanda,romana,mathilda,linsey,keiko,joana,isela,gretta,georgetta,eugenie,desirae,delora,corazon,antonina,anika,willene,tracee,tamatha,nichelle,mickie,maegan,luana,lanita,kelsie,edelmira,bree,afton,teodora,tamie,shena,linh,keli,kaci,danyelle,arlette,albertine,adelle,tiffiny,simona,nicolasa,nichol,nakisha,maira,loreen,kizzy,fallon,christene,bobbye,ying,vincenza,tanja,rubie,roni,queenie,margarett,kimberli,irmgard,idell,hilma,evelina,esta,emilee,dennise,dania,carie,risa,rikki,particia,masako,luvenia,loree,loni,lien,gigi,florencia,denita,billye,tomika,sharita,rana,nikole,neoma,margarite,madalyn,lucina,laila,kali,jenette,gabriele,evelyne,elenora,clementina,alejandrina,zulema,violette,vannessa,thresa,retta,patience,noella,nickie,jonell,chaya,camelia,bethel,anya,suzann,mila,lilla,laverna,keesha,kattie,georgene,eveline,estell,elizbeth,vivienne,vallie,trudie,stephane,magaly,madie,kenyetta,karren,janetta,hermine,drucilla,debbi,celestina,candie,britni,beckie,amina,zita,yolande,vivien,vernetta,trudi,pearle,patrina,ossie,nicolle,loyce,letty,katharina,joselyn,jonelle,jenell,iesha,heide,florinda,florentina,elodia,dorine,brunilda,brigid,ashli,ardella,twana,tarah,shavon,serina,rayna,ramonita,margurite,lucrecia,kourtney,kati,jesenia,crista,ayana,alica,alia,vinnie,suellen,romelia,rachell,olympia,michiko,kathaleen,jolie,jessi,janessa,hana,elease,carletta,britany,shona,salome,rosamond,regena,raina,ngoc,nelia,louvenia,lesia,latrina,laticia,larhonda,jina,jacki,emmy,deeann,coretta,arnetta,thalia,shanice,neta,mikki,micki,lonna,leana,lashunda,kiley,joye,jacqulyn,ignacia,hyun,hiroko,henriette,elayne,delinda,dahlia,coreen,consuela,conchita,babette,ayanna,anette,albertina,shawnee,shaneka,quiana,pamelia,merri,merlene,margit,kiesha,kiera,kaylene,jodee,jenise,erlene,emmie,dalila,daisey,casie,belia,babara,versie,vanesa,shelba,shawnda,nikia,naoma,marna,margeret,madaline,lawana,kindra,jutta,jazmine,janett,hannelore,glendora,gertrud,garnett,freeda,frederica,florance,flavia,carline,beverlee,anjanette,valda,tamala,shonna,sarina,oneida,merilyn,marleen,lurline,lenna,katherin,jeni,gracia,glady,farah,enola,dominque,devona,delana,cecila,caprice,alysha,alethia,vena,theresia,tawny,shakira,samara,sachiko,rachele,pamella,marni,mariel,maren,malisa,ligia,lera,latoria,larae,kimber,kathern,karey,jennefer,janeth,halina,fredia,delisa,debroah,ciera,angelika,andree,altha,vivan,terresa,tanna,sudie,signe,salena,ronni,rebbecca,myrtie,malika,maida,leonarda,kayleigh,ethyl,ellyn,dayle,cammie,brittni,birgit,avelina,asuncion,arianna,akiko,venice,tyesha,tonie,tiesha,takisha,steffanie,sindy,meghann,manda,macie,kellye,kellee,joslyn,inger,indira,glinda,glennis,fernanda,faustina,eneida,elicia,digna,dell,arletta,willia,tammara,tabetha,sherrell,sari,rebbeca,pauletta,natosha,nakita,mammie,kenisha,kazuko,kassie,earlean,daphine,corliss,clotilde,carolyne,bernetta,augustina,audrea,annis,annabell,tennille,tamica,selene,rosana,regenia,qiana,markita,macy,leeanne,laurine,jessenia,janita,georgine,genie,emiko,elvie,deandra,dagmar,corie,collen,cherish,romaine,porsha,pearlene,micheline,merna,margorie,margaretta,lore,jenine,hermina,fredericka,elke,drusilla,dorathy,dione,celena,brigida,allegra,tamekia,synthia,sook,slyvia,rosann,reatha,raye,marquetta,margart,ling,layla,kymberly,kiana,kayleen,katlyn,karmen,joella,emelda,eleni,detra,clemmie,cheryll,chantell,cathey,arnita,arla,angle,angelic,alyse,zofia,thomasine,tennie,sherly,sherley,sharyl,remedios,petrina,nickole,myung,myrle,mozella,louanne,lisha,latia,krysta,julienne,jeanene,jacqualine,isaura,gwenda,earleen,cleopatra,carlie,audie,antonietta,alise,verdell,tomoko,thao,talisha,shemika,savanna,santina,rosia,raeann,odilia,nana,minna,magan,lynelle,karma,joeann,ivana,inell,ilana,gudrun,dreama,crissy,chante,carmelina,arvilla,annamae,alvera,aleida,yanira,vanda,tianna,stefania,shira,nicol,nancie,monserrate,melynda,melany,lovella,laure,kacy,jacquelynn,hyon,gertha,eliana,christena,christeen,charise,caterina,carley,candyce,arlena,ammie,willette,vanita,tuyet,syreeta,penney,nyla,maryam,marya,magen,ludie,loma,livia,lanell,kimberlie,julee,donetta,diedra,denisha,deane,dawne,clarine,cherryl,bronwyn,alla,valery,tonda,sueann,soraya,shoshana,shela,sharleen,shanelle,nerissa,meridith,mellie,maye,maple,magaret,lili,leonila,leonie,leeanna,lavonia,lavera,kristel,kathey,kathe,jann,ilda,hildred,hildegarde,genia,fumiko,evelin,ermelinda,elly,dung,doloris,dionna,danae,berneice,annice,alix,verena,verdie,shawnna,shawana,shaunna,rozella,randee,ranae,milagro,lynell,luise,loida,lisbeth,karleen,junita,jona,isis,hyacinth,hedy,gwenn,ethelene,erline,donya,domonique,delicia,dannette,cicely,branda,blythe,bethann,ashlyn,annalee,alline,yuko,vella,trang,towanda,tesha,sherlyn,narcisa,miguelina,meri,maybell,marlana,marguerita,madlyn,lory,loriann,leonore,leighann,laurice,latesha,laronda,katrice,kasie,kaley,jadwiga,glennie,gearldine,francina,epifania,dyan,dorie,diedre,denese,demetrice,delena,cristie,cleora,catarina,carisa,barbera,almeta,trula,tereasa,solange,sheilah,shavonne,sanora,rochell,mathilde,margareta,maia,lynsey,lawanna,launa,kena,keena,katia,glynda,gaylene,elvina,elanor,danuta,danika,cristen,cordie,coletta,clarita,carmon,brynn,azucena,aundrea,angele,verlie,verlene,tamesha,silvana,sebrina,samira,reda,raylene,penni,norah,noma,mireille,melissia,maryalice,laraine,kimbery,karyl,karine,jolanda,johana,jesusa,jaleesa,jacquelyne,iluminada,hilaria,hanh,gennie,francie,floretta,exie,edda,drema,delpha,barbar,assunta,ardell,annalisa,alisia,yukiko,yolando,wonda,waltraud,veta,temeka,tameika,shirleen,shenita,piedad,ozella,mirtha,marilu,kimiko,juliane,jenice,janay,jacquiline,hilde,elois,echo,devorah,chau,brinda,betsey,arminda,aracelis,apryl,annett,alishia,veola,usha,toshiko,theola,tashia,talitha,shery,renetta,reiko,rasheeda,obdulia,mika,melaine,meggan,marlen,marget,marceline,mana,magdalen,librada,lezlie,latashia,lasandra,kelle,isidra,inocencia,gwyn,francoise,erminia,erinn,dimple,devora,criselda,armanda,arie,ariane,angelena,aliza,adriene,adaline,xochitl,twanna,tomiko,tamisha,taisha,susy,rutha,rhona,noriko,natashia,merrie,marinda,mariko,margert,loris,lizzette,leisha,kaila,joannie,jerrica,jene,jannet,janee,jacinda,herta,elenore,doretta,delaine,daniell,claudie,britta,apolonia,amberly,alease,yuri,waneta,tomi,sharri,sandie,roselle,reynalda,raguel,phylicia,patria,olimpia,odelia,mitzie,minda,mignon,mica,mendy,marivel,maile,lynetta,lavette,lauryn,latrisha,lakiesha,kiersten,kary,josphine,jolyn,jetta,janise,jacquie,ivelisse,glynis,gianna,gaynelle,danyell,danille,dacia,coralee,cher,ceola,arianne,aleshia,yung,williemae,trinh,thora,sherika,shemeka,shaunda,roseline,ricki,melda,mallie,lavonna,latina,laquanda,lala,lachelle,klara,kandis,johna,jeanmarie,jaye,grayce,gertude,emerita,ebonie,clorinda,ching,chery,carola,breann,blossom,bernardine,becki,arletha,argelia,alita,yulanda,yessenia,tobi,tasia,sylvie,shirl,shirely,shella,shantelle,sacha,rebecka,providencia,paulene,misha,miki,marline,marica,lorita,latoyia,lasonya,kerstin,kenda,keitha,kathrin,jaymie,gricelda,ginette,eryn,elina,elfrieda,danyel,cheree,chanelle,barrie,aurore,annamaria,alleen,ailene,aide,yasmine,vashti,treasa,tiffaney,sheryll,sharie,shanae,raisa,neda,mitsuko,mirella,milda,maryanna,maragret,mabelle,luetta,lorina,letisha,latarsha,lanelle,lajuana,krissy,karly,karena,jessika,jerica,jeanelle,jalisa,jacelyn,izola,euna,etha,domitila,dominica,daina,creola,carli,camie,brittny,ashanti,anisha,aleen,adah,yasuko,valrie,tona,tinisha,terisa,taneka,simonne,shalanda,serita,ressie,refugia,olene,margherita,mandie,maire,lyndia,luci,lorriane,loreta,leonia,lavona,lashawnda,lakia,kyoko,krystina,krysten,kenia,kelsi,jeanice,isobel,georgiann,genny,felicidad,eilene,deloise,deedee,conception,clora,cherilyn,calandra,armandina,anisa,tiera,theressa,stephania,sima,shyla,shonta,shera,shaquita,shala,rossana,nohemi,nery,moriah,melita,melida,melani,marylynn,marisha,mariette,malorie,madelene,ludivina,loria,lorette,loralee,lianne,lavenia,laurinda,lashon,kimi,keila,katelynn,jone,joane,jayna,janella,hertha,francene,elinore,despina,delsie,deedra,clemencia,carolin,bulah,brittanie,blondell,bibi,beaulah,beata,annita,agripina,virgen,valene,twanda,tommye,tarra,tari,tammera,shakia,sadye,ruthanne,rochel,rivka,pura,nenita,natisha,ming,merrilee,melodee,marvis,lucilla,leena,laveta,larita,lanie,keren,ileen,georgeann,genna,frida,eufemia,emely,edyth,deonna,deadra,darlena,chanell,cathern,cassondra,cassaundra,bernarda,berna,arlinda,anamaria,vertie,valeri,torri,stasia,sherise,sherill,sanda,ruthe,rosy,robbi,ranee,quyen,pearly,palmira,onita,nisha,niesha,nida,merlyn,mayola,marylouise,marth,margene,madelaine,londa,leontine,leoma,leia,lauralee,lanora,lakita,kiyoko,keturah,katelin,kareen,jonie,johnette,jenee,jeanett,izetta,hiedi,heike,hassie,giuseppina,georgann,fidela,fernande,elwanda,ellamae,eliz,dusti,dotty,cyndy,coralie,celesta,alverta,xenia,wava,vanetta,torrie,tashina,tandy,tambra,tama,stepanie,shila,shaunta,sharan,shaniqua,shae,setsuko,serafina,sandee,rosamaria,priscila,olinda,nadene,muoi,michelina,mercedez,maryrose,marcene,magali,mafalda,lannie,kayce,karoline,kamilah,kamala,justa,joline,jennine,jacquetta,iraida,georgeanna,franchesca,emeline,elane,ehtel,earlie,dulcie,dalene,classie,chere,charis,caroyln,carmina,carita,bethanie,ayako,arica,alysa,alessandra,akilah,adrien,zetta,youlanda,yelena,yahaira,xuan,wendolyn,tijuana,terina,teresia,suzi,sherell,shavonda,shaunte,sharda,shakita,sena,ryann,rubi,riva,reginia,rachal,parthenia,pamula,monnie,monet,michaele,melia,malka,maisha,lisandra,lekisha,lean,lakendra,krystin,kortney,kizzie,kittie,kera,kendal,kemberly,kanisha,julene,jule,johanne,jamee,halley,gidget,fredricka,fleta,fatimah,eusebia,elza,eleonore,dorthey,doria,donella,dinorah,delorse,claretha,christinia,charlyn,bong,belkis,azzie,andera,aiko,adena,yajaira,vania,ulrike,toshia,tifany,stefany,shizue,shenika,shawanna,sharolyn,sharilyn,shaquana,shantay,rozanne,roselee,remona,reanna,raelene,phung,petronila,natacha,nancey,myrl,miyoko,miesha,merideth,marvella,marquitta,marhta,marchelle,lizeth,libbie,lahoma,ladawn,kina,katheleen,katharyn,karisa,kaleigh,junie,julieann,johnsie,janean,jaimee,jackqueline,hisako,herma,helaine,gwyneth,gita,eustolia,emelina,elin,edris,donnette,donnetta,dierdre,denae,darcel,clarisa,cinderella,chia,charlesetta,charita,celsa,cassy,cassi,carlee,bruna,brittaney,brande,billi,antonetta,angla,angelyn,analisa,alane,wenona,wendie,veronique,vannesa,tobie,tempie,sumiko,sulema,somer,sheba,sharice,shanel,shalon,rosio,roselia,renay,rema,reena,ozie,oretha,oralee,ngan,nakesha,milly,marybelle,margrett,maragaret,manie,lurlene,lillia,lieselotte,lavelle,lashaunda,lakeesha,kaycee,kalyn,joya,joette,jenae,janiece,illa,grisel,glayds,genevie,gala,fredda,eleonor,debera,deandrea,corrinne,cordia,contessa,colene,cleotilde,chantay,cecille,beatris,azalee,arlean,ardath,anjelica,anja,alfredia,aleisha,zada,yuonne,xiao,willodean,vennie,vanna,tyisha,tova,torie,tonisha,tilda,tien,sirena,sherril,shanti,shan,senaida,samella,robbyn,renda,reita,phebe,paulita,nobuko,nguyet,neomi,mikaela,melania,maximina,marg,maisie,lynna,lilli,lashaun,lakenya,lael,kirstie,kathline,kasha,karlyn,karima,jovan,josefine,jennell,jacqui,jackelyn,hien,grazyna,florrie,floria,eleonora,dwana,dorla,delmy,deja,dede,dann,crysta,clelia,claris,chieko,cherlyn,cherelle,charmain,chara,cammy,arnette,ardelle,annika,amiee,amee,allena,yvone,yuki,yoshie,yevette,yael,willetta,voncile,venetta,tula,tonette,timika,temika,telma,teisha,taren,stacee,shawnta,saturnina,ricarda,pasty,onie,nubia,marielle,mariella,marianela,mardell,luanna,loise,lisabeth,lindsy,lilliana,lilliam,lelah,leigha,leanora,kristeen,khalilah,keeley,kandra,junko,joaquina,jerlene,jani,jamika,hsiu,hermila,genevive,evia,eugena,emmaline,elfreda,elene,donette,delcie,deeanna,darcey,clarinda,cira,chae,celinda,catheryn,casimira,carmelia,camellia,breana,bobette,bernardina,bebe,basilia,arlyne,amal,alayna,zonia,zenia,yuriko,yaeko,wynell,willena,vernia,tora,terrilyn,terica,tenesha,tawna,tajuana,taina,stephnie,sona,sina,shondra,shizuko,sherlene,sherice,sharika,rossie,rosena,rima,rheba,renna,natalya,nancee,melodi,meda,matha,marketta,maricruz,marcelene,malvina,luba,louetta,leida,lecia,lauran,lashawna,laine,khadijah,katerine,kasi,kallie,julietta,jesusita,jestine,jessia,jeffie,janyce,isadora,georgianne,fidelia,evita,eura,eulah,estefana,elsy,eladia,dodie,denisse,deloras,delila,daysi,crystle,concha,claretta,charlsie,charlena,carylon,bettyann,asley,ashlea,amira,agueda,agnus,yuette,vinita,victorina,tynisha,treena,toccara,tish,thomasena,tegan,soila,shenna,sharmaine,shantae,shandi,saran,sarai,sana,rosette,rolande,regine,otelia,olevia,nicholle,necole,naida,myrta,myesha,mitsue,minta,mertie,margy,mahalia,madalene,loura,lorean,lesha,leonida,lenita,lavone,lashell,lashandra,lamonica,kimbra,katherina,karry,kanesha,jong,jeneva,jaquelyn,gilma,ghislaine,gertrudis,fransisca,fermina,ettie,etsuko,ellan,elidia,edra,dorethea,doreatha,denyse,deetta,daine,cyrstal,corrin,cayla,carlita,camila,burma,bula,buena,barabara,avril,alaine,zana,wilhemina,wanetta,verline,vasiliki,tonita,tisa,teofila,tayna,taunya,tandra,takako,sunni,suanne,sixta,sharell,seema,rosenda,robena,raymonde,pamila,ozell,neida,mistie,micha,merissa,maurita,maryln,maryetta,marcell,malena,makeda,lovetta,lourie,lorrine,lorilee,laurena,lashay,larraine,laree,lacresha,kristle,keva,keira,karole,joie,jinny,jeannetta,jama,heidy,gilberte,gema,faviola,evelynn,enda,elli,ellena,divina,dagny,collene,codi,cindie,chassidy,chasidy,catrice,catherina,cassey,caroll,carlena,candra,calista,bryanna,britteny,beula,bari,audrie,audria,ardelia,annelle,angila,alona,allyn".split(","),surnames:"smith,johnson,williams,jones,brown,davis,miller,wilson,moore,taylor,anderson,jackson,white,harris,martin,thompson,garcia,martinez,robinson,clark,rodriguez,lewis,lee,walker,hall,allen,young,hernandez,king,wright,lopez,hill,green,adams,baker,gonzalez,nelson,carter,mitchell,perez,roberts,turner,phillips,campbell,parker,evans,edwards,collins,stewart,sanchez,morris,rogers,reed,cook,morgan,bell,murphy,bailey,rivera,cooper,richardson,cox,howard,ward,torres,peterson,gray,ramirez,watson,brooks,sanders,price,bennett,wood,barnes,ross,henderson,coleman,jenkins,perry,powell,long,patterson,hughes,flores,washington,butler,simmons,foster,gonzales,bryant,alexander,griffin,diaz,hayes,myers,ford,hamilton,graham,sullivan,wallace,woods,cole,west,owens,reynolds,fisher,ellis,harrison,gibson,mcdonald,cruz,marshall,ortiz,gomez,murray,freeman,wells,webb,simpson,stevens,tucker,porter,hicks,crawford,boyd,mason,morales,kennedy,warren,dixon,ramos,reyes,burns,gordon,shaw,holmes,rice,robertson,hunt,black,daniels,palmer,mills,nichols,grant,knight,ferguson,stone,hawkins,dunn,perkins,hudson,spencer,gardner,stephens,payne,pierce,berry,matthews,arnold,wagner,willis,watkins,olson,carroll,duncan,snyder,hart,cunningham,lane,andrews,ruiz,harper,fox,riley,armstrong,carpenter,weaver,greene,elliott,chavez,sims,peters,kelley,franklin,lawson,fields,gutierrez,schmidt,carr,vasquez,castillo,wheeler,chapman,montgomery,richards,williamson,johnston,banks,meyer,bishop,mccoy,howell,alvarez,morrison,hansen,fernandez,garza,harvey,burton,nguyen,jacobs,reid,fuller,lynch,garrett,romero,welch,larson,frazier,burke,hanson,mendoza,moreno,bowman,medina,fowler,brewer,hoffman,carlson,silva,pearson,holland,fleming,jensen,vargas,byrd,davidson,hopkins,herrera,wade,soto,walters,neal,caldwell,lowe,jennings,barnett,graves,jimenez,horton,shelton,barrett,obrien,castro,sutton,mckinney,lucas,miles,rodriquez,chambers,holt,lambert,fletcher,watts,bates,hale,rhodes,pena,beck,newman,haynes,mcdaniel,mendez,bush,vaughn,parks,dawson,santiago,norris,hardy,steele,curry,powers,schultz,barker,guzman,page,munoz,ball,keller,chandler,weber,walsh,lyons,ramsey,wolfe,schneider,mullins,benson,sharp,bowen,barber,cummings,hines,baldwin,griffith,valdez,hubbard,salazar,reeves,warner,stevenson,burgess,santos,tate,cross,garner,mann,mack,moss,thornton,mcgee,farmer,delgado,aguilar,vega,glover,manning,cohen,harmon,rodgers,robbins,newton,blair,higgins,ingram,reese,cannon,strickland,townsend,potter,goodwin,walton,rowe,hampton,ortega,patton,swanson,goodman,maldonado,yates,becker,erickson,hodges,rios,conner,adkins,webster,malone,hammond,flowers,cobb,moody,quinn,pope,osborne,mccarthy,guerrero,estrada,sandoval,gibbs,gross,fitzgerald,stokes,doyle,saunders,wise,colon,gill,alvarado,greer,padilla,waters,nunez,ballard,schwartz,mcbride,houston,christensen,klein,pratt,briggs,parsons,mclaughlin,zimmerman,buchanan,moran,copeland,pittman,brady,mccormick,holloway,brock,poole,logan,bass,marsh,drake,wong,jefferson,morton,abbott,sparks,norton,huff,massey,figueroa,carson,bowers,roberson,barton,tran,lamb,harrington,boone,cortez,clarke,mathis,singleton,wilkins,cain,underwood,hogan,mckenzie,collier,luna,phelps,mcguire,bridges,wilkerson,nash,summers,atkins,wilcox,pitts,conley,marquez,burnett,cochran,chase,davenport,hood,gates,ayala,sawyer,vazquez,dickerson,hodge,acosta,flynn,espinoza,nicholson,monroe,wolf,morrow,whitaker,oconnor,skinner,ware,molina,kirby,huffman,gilmore,dominguez,oneal,lang,combs,kramer,hancock,gallagher,gaines,shaffer,wiggins,mathews,mcclain,fischer,wall,melton,hensley,bond,dyer,grimes,contreras,wyatt,baxter,snow,mosley,shepherd,larsen,hoover,beasley,petersen,whitehead,meyers,garrison,shields,horn,savage,olsen,schroeder,hartman,woodard,mueller,kemp,deleon,booth,patel,calhoun,wiley,eaton,cline,navarro,harrell,humphrey,parrish,duran,hutchinson,hess,dorsey,bullock,robles,beard,dalton,avila,rich,blackwell,johns,blankenship,trevino,salinas,campos,pruitt,callahan,montoya,hardin,guerra,mcdowell,stafford,gallegos,henson,wilkinson,booker,merritt,atkinson,orr,decker,hobbs,tanner,knox,pacheco,stephenson,glass,rojas,serrano,marks,hickman,sweeney,strong,mcclure,conway,roth,maynard,farrell,lowery,hurst,nixon,weiss,trujillo,ellison,sloan,juarez,winters,mclean,boyer,villarreal,mccall,gentry,carrillo,ayers,lara,sexton,pace,hull,leblanc,browning,velasquez,leach,chang,sellers,herring,noble,foley,bartlett,mercado,landry,durham,walls,barr,mckee,bauer,rivers,bradshaw,pugh,velez,rush,estes,dodson,morse,sheppard,weeks,camacho,bean,barron,livingston,middleton,spears,branch,blevins,chen,kerr,mcconnell,hatfield,harding,solis,frost,giles,blackburn,pennington,woodward,finley,mcintosh,koch,mccullough,blanchard,rivas,brennan,mejia,kane,benton,buckley,valentine,maddox,russo,mcknight,buck,moon,mcmillan,crosby,berg,dotson,mays,roach,chan,richmond,meadows,faulkner,oneill,knapp,kline,ochoa,jacobson,gay,hendricks,horne,shepard,hebert,cardenas,mcintyre,waller,holman,donaldson,cantu,morin,gillespie,fuentes,tillman,bentley,peck,key,salas,rollins,gamble,dickson,santana,cabrera,cervantes,howe,hinton,hurley,spence,zamora,yang,mcneil,suarez,petty,gould,mcfarland,sampson,carver,bray,macdonald,stout,hester,melendez,dillon,farley,hopper,galloway,potts,joyner,stein,aguirre,osborn,mercer,bender,franco,rowland,sykes,pickett,sears,mayo,dunlap,hayden,wilder,mckay,coffey,mccarty,ewing,cooley,vaughan,bonner,cotton,holder,stark,ferrell,cantrell,fulton,lott,calderon,pollard,hooper,burch,mullen,fry,riddle,levy,duke,odonnell,britt,daugherty,berger,dillard,alston,frye,riggs,chaney,odom,duffy,fitzpatrick,valenzuela,mayer,alford,mcpherson,acevedo,barrera,cote,reilly,compton,mooney,mcgowan,craft,clemons,wynn,nielsen,baird,stanton,snider,rosales,bright,witt,hays,holden,rutledge,kinney,clements,castaneda,slater,hahn,burks,delaney,pate,lancaster,sharpe,whitfield,talley,macias,burris,ratliff,mccray,madden,kaufman,beach,goff,cash,bolton,mcfadden,levine,byers,kirkland,kidd,workman,carney,mcleod,holcomb,finch,sosa,haney,franks,sargent,nieves,downs,rasmussen,bird,hewitt,foreman,valencia,oneil,delacruz,vinson,dejesus,hyde,forbes,gilliam,guthrie,wooten,huber,barlow,boyle,mcmahon,buckner,rocha,puckett,langley,knowles,cooke,velazquez,whitley,vang,shea,rouse,hartley,mayfield,elder,rankin,hanna,cowan,lucero,arroyo,slaughter,haas,oconnell,minor,boucher,archer,boggs,dougherty,andersen,newell,crowe,wang,friedman,bland,swain,holley,pearce,childs,yarbrough,galvan,proctor,meeks,lozano,mora,rangel,bacon,villanueva,schaefer,rosado,helms,boyce,goss,stinson,ibarra,hutchins,covington,crowley,hatcher,mackey,bunch,womack,polk,dodd,childress,childers,villa,springer,mahoney,dailey,belcher,lockhart,griggs,costa,brandt,walden,moser,tatum,mccann,akers,lutz,pryor,orozco,mcallister,lugo,davies,shoemaker,rutherford,newsome,magee,chamberlain,blanton,simms,godfrey,flanagan,crum,cordova,escobar,downing,sinclair,donahue,krueger,mcginnis,gore,farris,webber,corbett,andrade,starr,lyon,yoder,hastings,mcgrath,spivey,krause,harden,crabtree,kirkpatrick,arrington,ritter,mcghee,bolden,maloney,gagnon,dunbar,ponce,pike,mayes,beatty,mobley,kimball,butts,montes,eldridge,braun,hamm,gibbons,moyer,manley,herron,plummer,elmore,cramer,rucker,pierson,fontenot,rubio,goldstein,elkins,wills,novak,hickey,worley,gorman,katz,dickinson,broussard,woodruff,crow,britton,nance,lehman,bingham,zuniga,whaley,shafer,coffman,steward,delarosa,neely,mata,davila,mccabe,kessler,hinkle,welsh,pagan,goldberg,goins,crouch,cuevas,quinones,mcdermott,hendrickson,samuels,denton,bergeron,ivey,locke,haines,snell,hoskins,byrne,arias,corbin,beltran,chappell,downey,dooley,tuttle,couch,payton,mcelroy,crockett,groves,cartwright,dickey,mcgill,dubois,muniz,tolbert,dempsey,cisneros,sewell,latham,vigil,tapia,rainey,norwood,stroud,meade,tipton,kuhn,hilliard,bonilla,teague,gunn,greenwood,correa,reece,pineda,phipps,frey,kaiser,ames,gunter,schmitt,milligan,espinosa,bowden,vickers,lowry,pritchard,costello,piper,mcclellan,lovell,sheehan,hatch,dobson,singh,jeffries,hollingsworth,sorensen,meza,fink,donnelly,burrell,tomlinson,colbert,billings,ritchie,helton,sutherland,peoples,mcqueen,thomason,givens,crocker,vogel,robison,dunham,coker,swartz,keys,ladner,richter,hargrove,edmonds,brantley,albright,murdock,boswell,muller,quintero,padgett,kenney,daly,connolly,inman,quintana,lund,barnard,villegas,simons,huggins,tidwell,sanderson,bullard,mcclendon,duarte,draper,marrero,dwyer,abrams,stover,goode,fraser,crews,bernal,godwin,conklin,mcneal,baca,esparza,crowder,bower,brewster,mcneill,rodrigues,leal,coates,raines,mccain,mccord,miner,holbrook,swift,dukes,carlisle,aldridge,ackerman,starks,ricks,holliday,ferris,hairston,sheffield,lange,fountain,doss,betts,kaplan,carmichael,bloom,ruffin,penn,kern,bowles,sizemore,larkin,dupree,seals,metcalf,hutchison,henley,farr,mccauley,hankins,gustafson,curran,waddell,ramey,cates,pollock,cummins,messer,heller,funk,cornett,palacios,galindo,cano,hathaway,pham,enriquez,salgado,pelletier,painter,wiseman,blount,feliciano,houser,doherty,mead,mcgraw,swan,capps,blanco,blackmon,thomson,mcmanus,burkett,gleason,dickens,cormier,voss,rushing,rosenberg,hurd,dumas,benitez,arellano,marin,caudill,bragg,jaramillo,huerta,gipson,colvin,biggs,vela,platt,cassidy,tompkins,mccollum,dolan,daley,crump,sneed,kilgore,grove,grimm,davison,brunson,prater,marcum,devine,dodge,stratton,rosas,choi,tripp,ledbetter,hightower,feldman,epps,yeager,posey,scruggs,cope,stubbs,richey,overton,trotter,sprague,cordero,butcher,stiles,burgos,woodson,horner,bassett,purcell,haskins,akins,ziegler,spaulding,hadley,grubbs,sumner,murillo,zavala,shook,lockwood,driscoll,dahl,thorpe,redmond,putnam,mcwilliams,mcrae,romano,joiner,sadler,hedrick,hager,hagen,fitch,coulter,thacker,mansfield,langston,guidry,ferreira,corley,conn,rossi,lackey,baez,saenz,mcnamara,mcmullen,mckenna,mcdonough,link,engel,browne,roper,peacock,eubanks,drummond,stringer,pritchett,parham,mims,landers,grayson,schafer,egan,timmons,ohara,keen,hamlin,finn,cortes,mcnair,nadeau,moseley,michaud,rosen,oakes,kurtz,jeffers,calloway,beal,bautista,winn,suggs,stern,stapleton,lyles,laird,montano,dawkins,hagan,goldman,bryson,barajas,lovett,segura,metz,lockett,langford,hinson,eastman,hooks,smallwood,shapiro,crowell,whalen,triplett,chatman,aldrich,cahill,youngblood,ybarra,stallings,sheets,reeder,connelly,bateman,abernathy,winkler,wilkes,masters,hackett,granger,gillis,schmitz,sapp,napier,souza,lanier,gomes,weir,otero,ledford,burroughs,babcock,ventura,siegel,dugan,bledsoe,atwood,wray,varner,spangler,anaya,staley,kraft,fournier,belanger,wolff,thorne,bynum,burnette,boykin,swenson,purvis,pina,khan,duvall,darby,xiong,kauffman,healy,engle,benoit,valle,steiner,spicer,shaver,randle,lundy,chin,calvert,staton,neff,kearney,darden,oakley,medeiros,mccracken,crenshaw,perdue,dill,whittaker,tobin,washburn,hogue,goodrich,easley,bravo,dennison,shipley,kerns,jorgensen,crain,villalobos,maurer,longoria,keene,coon,witherspoon,staples,pettit,kincaid,eason,madrid,echols,lusk,stahl,currie,thayer,shultz,mcnally,seay,maher,gagne,barrow,nava,moreland,honeycutt,hearn,diggs,caron,whitten,westbrook,stovall,ragland,munson,meier,looney,kimble,jolly,hobson,goddard,culver,burr,presley,negron,connell,tovar,huddleston,ashby,salter,root,pendleton,oleary,nickerson,myrick,judd,jacobsen,bain,adair,starnes,matos,busby,herndon,hanley,bellamy,doty,bartley,yazzie,rowell,parson,gifford,cullen,christiansen,benavides,barnhart,talbot,mock,crandall,connors,bonds,whitt,gage,bergman,arredondo,addison,lujan,dowdy,jernigan,huynh,bouchard,dutton,rhoades,ouellette,kiser,herrington,hare,blackman,babb,allred,rudd,paulson,ogden,koenig,geiger,begay,parra,lassiter,hawk,esposito,waldron,ransom,prather,chacon,vick,sands,roark,parr,mayberry,greenberg,coley,bruner,whitman,skaggs,shipman,leary,hutton,romo,medrano,ladd,kruse,askew,schulz,alfaro,tabor,mohr,gallo,bermudez,pereira,bliss,reaves,flint,comer,woodall,naquin,guevara,delong,carrier,pickens,tilley,schaffer,knutson,fenton,doran,vogt,vann,prescott,mclain,landis,corcoran,zapata,hyatt,hemphill,faulk,dove,boudreaux,aragon,whitlock,trejo,tackett,shearer,saldana,hanks,mckinnon,koehler,bourgeois,keyes,goodson,foote,lunsford,goldsmith,flood,winslow,sams,reagan,mccloud,hough,esquivel,naylor,loomis,coronado,ludwig,braswell,bearden,huang,fagan,ezell,edmondson,cronin,nunn,lemon,guillory,grier,dubose,traylor,ryder,dobbins,coyle,aponte,whitmore,smalls,rowan,malloy,cardona,braxton,borden,humphries,carrasco,ruff,metzger,huntley,hinojosa,finney,madsen,ernst,dozier,burkhart,bowser,peralta,daigle,whittington,sorenson,saucedo,roche,redding,fugate,avalos,waite,lind,huston,hawthorne,hamby,boyles,boles,regan,faust,crook,beam,barger,hinds,gallardo,willoughby,willingham,eckert,busch,zepeda,worthington,tinsley,hoff,hawley,carmona,varela,rector,newcomb,kinsey,dube,whatley,ragsdale,bernstein,becerra,yost,mattson,felder,cheek,handy,grossman,gauthier,escobedo,braden,beckman,mott,hillman,flaherty,dykes,stockton,stearns,lofton,coats,cavazos,beavers,barrios,tang,mosher,cardwell,coles,burnham,weller,lemons,beebe,aguilera,parnell,harman,couture,alley,schumacher,redd,dobbs,blum,blalock,merchant,ennis,denson,cottrell,brannon,bagley,aviles,watt,sousa,rosenthal,rooney,dietz,blank,paquette,mcclelland,duff,velasco,lentz,grubb,burrows,barbour,ulrich,shockley,rader,beyer,mixon,layton,altman,weathers,stoner,squires,shipp,priest,lipscomb,cutler,caballero,zimmer,willett,thurston,storey,medley,epperson,shah,mcmillian,baggett,torrez,hirsch,dent,poirier,peachey,farrar,creech,barth,trimble,dupre,albrecht,sample,lawler,crisp,conroy,wetzel,nesbitt,murry,jameson,wilhelm,patten,minton,matson,kimbrough,guinn,croft,toth,pulliam,nugent,newby,littlejohn,dias,canales,bernier,baron,singletary,renteria,pruett,mchugh,mabry,landrum,brower,stoddard,cagle,stjohn,scales,kohler,kellogg,hopson,gant,tharp,gann,zeigler,pringle,hammons,fairchild,deaton,chavis,carnes,rowley,matlock,kearns,irizarry,carrington,starkey,lopes,jarrell,craven,baum,littlefield,linn,humphreys,etheridge,cuellar,chastain,bundy,speer,skelton,quiroz,pyle,portillo,ponder,moulton,machado,killian,hutson,hitchcock,dowling,cloud,burdick,spann,pedersen,levin,leggett,hayward,dietrich,beaulieu,barksdale,wakefield,snowden,briscoe,bowie,berman,ogle,mcgregor,laughlin,helm,burden,wheatley,schreiber,pressley,parris,alaniz,agee,swann,snodgrass,schuster,radford,monk,mattingly,harp,girard,cheney,yancey,wagoner,ridley,lombardo,hudgins,gaskins,duckworth,coburn,willey,prado,newberry,magana,hammonds,elam,whipple,slade,serna,ojeda,liles,dorman,diehl,upton,reardon,michaels,goetz,eller,bauman,baer,layne,hummel,brenner,amaya,adamson,ornelas,dowell,cloutier,castellanos,wellman,saylor,orourke,moya,montalvo,kilpatrick,durbin,shell,oldham,kang,garvin,foss,branham,bartholomew,templeton,maguire,holton,rider,monahan,mccormack,beaty,anders,streeter,nieto,nielson,moffett,lankford,keating,heck,gatlin,delatorre,callaway,adcock,worrell,unger,robinette,nowak,jeter,brunner,steen,parrott,overstreet,nobles,montanez,clevenger,brinkley,trahan,quarles,pickering,pederson,jansen,grantham,gilchrist,crespo,aiken,schell,schaeffer,lorenz,leyva,harms,dyson,wallis,pease,leavitt,cheng,cavanaugh,batts,warden,seaman,rockwell,quezada,paxton,linder,houck,fontaine,durant,caruso,adler,pimentel,mize,lytle,cleary,cason,acker,switzer,isaacs,higginbotham,waterman,vandyke,stamper,sisk,shuler,riddick,mcmahan,levesque,hatton,bronson,bollinger,arnett,okeefe,gerber,gannon,farnsworth,baughman,silverman,satterfield,mccrary,kowalski,grigsby,greco,cabral,trout,rinehart,mahon,linton,gooden,curley,baugh,wyman,weiner,schwab,schuler,morrissey,mahan,bunn,thrasher,spear,waggoner,qualls,purdy,mcwhorter,mauldin,gilman,perryman,newsom,menard,martino,graf,billingsley,artis,simpkins,salisbury,quintanilla,gilliland,fraley,foust,crouse,scarborough,grissom,fultz,marlow,markham,madrigal,lawton,barfield,whiting,varney,schwarz,gooch,arce,wheat,truong,poulin,hurtado,selby,gaither,fortner,culpepper,coughlin,brinson,boudreau,bales,stepp,holm,schilling,morrell,kahn,heaton,gamez,causey,turpin,shanks,schrader,meek,isom,hardison,carranza,yanez,scroggins,schofield,runyon,ratcliff,murrell,moeller,irby,currier,butterfield,ralston,pullen,pinson,estep,carbone,hawks,ellington,casillas,spurlock,sikes,motley,mccartney,kruger,isbell,houle,burk,tomlin,quigley,neumann,lovelace,fennell,cheatham,bustamante,skidmore,hidalgo,forman,culp,bowens,betancourt,aquino,robb,milner,martel,gresham,wiles,ricketts,dowd,collazo,bostic,blakely,sherrod,kenyon,gandy,ebert,deloach,allard,sauer,robins,olivares,gillette,chestnut,bourque,paine,hite,hauser,devore,crawley,chapa,talbert,poindexter,meador,mcduffie,mattox,kraus,harkins,choate,wren,sledge,sanborn,kinder,geary,cornwell,barclay,abney,seward,rhoads,howland,fortier,benner,vines,tubbs,troutman,rapp,mccurdy,deluca,westmoreland,havens,guajardo,clary,seal,meehan,herzog,guillen,ashcraft,waugh,renner,milam,elrod,churchill,breaux,bolin,asher,windham,tirado,pemberton,nolen,noland,knott,emmons,cornish,christenson,brownlee,barbee,waldrop,pitt,olvera,lombardi,gruber,gaffney,eggleston,banda,archuleta,slone,prewitt,pfeiffer,nettles,mena,mcadams,henning,gardiner,cromwell,chisholm,burleson,vest,oglesby,mccarter,lumpkin,wofford,vanhorn,thorn,teel,swafford,stclair,stanfield,ocampo,herrmann,hannon,arsenault,roush,mcalister,hiatt,gunderson,forsythe,duggan,delvalle,cintron,wilks,weinstein,uribe,rizzo,noyes,mclendon,gurley,bethea,winstead,maples,guyton,giordano,alderman,valdes,polanco,pappas,lively,grogan,griffiths,bobo,arevalo,whitson,sowell,rendon,fernandes,farrow,benavidez,ayres,alicea,stump,smalley,seitz,schulte,gilley,gallant,canfield,wolford,omalley,mcnutt,mcnulty,mcgovern,hardman,harbin,cowart,chavarria,brink,beckett,bagwell,armstead,anglin,abreu,reynoso,krebs,jett,hoffmann,greenfield,forte,burney,broome,sisson,trammell,partridge,mace,lomax,lemieux,gossett,frantz,fogle,cooney,broughton,pence,paulsen,muncy,mcarthur,hollins,beauchamp,withers,osorio,mulligan,hoyle,dockery,cockrell,begley,amador,roby,rains,lindquist,gentile,everhart,bohannon,wylie,sommers,purnell,fortin,dunning,breeden,vail,phelan,phan,marx,cosby,colburn,boling,biddle,ledesma,gaddis,denney,chow,bueno,berrios,wicker,tolliver,thibodeaux,nagle,lavoie,fisk,crist,barbosa,reedy,locklear,kolb,himes,behrens,beckwith,weems,wahl,shorter,shackelford,rees,muse,cerda,valadez,thibodeau,saavedra,ridgeway,reiter,mchenry,majors,lachance,keaton,ferrara,clemens,blocker,applegate,needham,mojica,kuykendall,hamel,escamilla,doughty,burchett,ainsworth,vidal,upchurch,thigpen,strauss,spruill,sowers,riggins,ricker,mccombs,harlow,buffington,sotelo,olivas,negrete,morey,macon,logsdon,lapointe,bigelow,bello,westfall,stubblefield,lindley,hein,hawes,farrington,breen,birch,wilde,steed,sepulveda,reinhardt,proffitt,minter,messina,mcnabb,maier,keeler,gamboa,donohue,basham,shinn,crooks,cota,borders,bills,bachman,tisdale,tavares,schmid,pickard,gulley,fonseca,delossantos,condon,batista,wicks,wadsworth,martell,littleton,ison,haag,folsom,brumfield,broyles,brito,mireles,mcdonnell,leclair,hamblin,gough,fanning,binder,winfield,whitworth,soriano,palumbo,newkirk,mangum,hutcherson,comstock,carlin,beall,bair,wendt,watters,walling,putman,otoole,morley,mares,lemus,keener,hundley,dial,damico,billups,strother,mcfarlane,lamm,eaves,crutcher,caraballo,canty,atwell,taft,siler,rust,rawls,rawlings,prieto,mcneely,mcafee,hulsey,hackney,galvez,escalante,delagarza,crider,bandy,wilbanks,stowe,steinberg,renfro,masterson,massie,lanham,haskell,hamrick,dehart,burdette,branson,bourne,babin,aleman,worthy,tibbs,smoot,slack,paradis,mull,luce,houghton,gantt,furman,danner,christianson,burge,ashford,arndt,almeida,stallworth,shade,searcy,sager,noonan,mclemore,mcintire,maxey,lavigne,jobe,ferrer,falk,coffin,byrnes,aranda,apodaca,stamps,rounds,peek,olmstead,lewandowski,kaminski,dunaway,bruns,brackett,amato,reich,mcclung,lacroix,koontz,herrick,hardesty,flanders,cousins,cato,cade,vickery,shank,nagel,dupuis,croteau,cotter,stuckey,stine,porterfield,pauley,moffitt,knudsen,hardwick,goforth,dupont,blunt,barrows,barnhill,shull,rash,loftis,lemay,kitchens,horvath,grenier,fuchs,fairbanks,culbertson,calkins,burnside,beattie,ashworth,albertson,wertz,vaught,vallejo,turk,tuck,tijerina,sage,peterman,marroquin,marr,lantz,hoang,demarco,cone,berube,barnette,wharton,stinnett,slocum,scanlon,sander,pinto,mancuso,lima,headley,epstein,counts,clarkson,carnahan,boren,arteaga,adame,zook,whittle,whitehurst,wenzel,saxton,reddick,puente,handley,haggerty,earley,devlin,chaffin,cady,acuna,solano,sigler,pollack,pendergrass,ostrander,janes,francois,crutchfield,chamberlin,brubaker,baptiste,willson,reis,neeley,mullin,mercier,lira,layman,keeling,higdon,espinal,chapin,warfield,toledo,pulido,peebles,nagy,montague,mello,lear,jaeger,hogg,graff,furr,soliz,poore,mendenhall,mclaurin,maestas,gable,barraza,tillery,snead,pond,neill,mcculloch,mccorkle,lightfoot,hutchings,holloman,harness,dorn,bock,zielinski,turley,treadwell,stpierre,starling,somers,oswald,merrick,easterling,bivens,truitt,poston,parry,ontiveros,olivarez,moreau,medlin,lenz,knowlton,fairley,cobbs,chisolm,bannister,woodworth,toler,ocasio,noriega,neuman,moye,milburn,mcclanahan,lilley,hanes,flannery,dellinger,danielson,conti,blodgett,beers,weatherford,strain,karr,hitt,denham,custer,coble,clough,casteel,bolduc,batchelor,ammons,whitlow,tierney,staten,sibley,seifert,schubert,salcedo,mattison,laney,haggard,grooms,dees,cromer,cooks,colson,caswell,zarate,swisher,shin,ragan,pridgen,mcvey,matheny,lafleur,franz,ferraro,dugger,whiteside,rigsby,mcmurray,lehmann,jacoby,hildebrand,hendrick,headrick,goad,fincher,drury,borges,archibald,albers,woodcock,trapp,soares,seaton,monson,luckett,lindberg,kopp,keeton,healey,garvey,gaddy,fain,burchfield,wentworth,strand,stack,spooner,saucier,ricci,plunkett,pannell,ness,leger,freitas,fong,elizondo,duval,beaudoin,urbina,rickard,partin,mcgrew,mcclintock,ledoux,forsyth,faison,devries,bertrand,wasson,tilton,scarbrough,leung,irvine,garber,denning,corral,colley,castleberry,bowlin,bogan,beale,baines,trice,rayburn,parkinson,nunes,mcmillen,leahy,kimmel,higgs,fulmer,carden,bedford,taggart,spearman,prichard,morrill,koonce,heinz,hedges,guenther,grice,findley,dover,creighton,boothe,bayer,arreola,vitale,valles,raney,osgood,hanlon,burley,bounds,worden,weatherly,vetter,tanaka,stiltner,nevarez,mosby,montero,melancon,harter,hamer,goble,gladden,gist,ginn,akin,zaragoza,tarver,sammons,royster,oreilly,muir,morehead,luster,kingsley,kelso,grisham,glynn,baumann,alves,yount,tamayo,paterson,oates,menendez,longo,hargis,gillen,desantis,conover,breedlove,sumpter,scherer,rupp,reichert,heredia,creel,cohn,clemmons,casas,bickford,belton,bach,williford,whitcomb,tennant,sutter,stull,mccallum,langlois,keel,keegan,dangelo,dancy,damron,clapp,clanton,bankston,oliveira,mintz,mcinnis,martens,mabe,laster,jolley,hildreth,hefner,glaser,duckett,demers,brockman,blais,alcorn,agnew,toliver,tice,seeley,najera,musser,mcfall,laplante,galvin,fajardo,doan,coyne,copley,clawson,cheung,barone,wynne,woodley,tremblay,stoll,sparrow,sparkman,schweitzer,sasser,samples,roney,legg,heim,farias,colwell,christman,bratcher,winchester,upshaw,southerland,sorrell,sells,mccloskey,martindale,luttrell,loveless,lovejoy,linares,latimer,embry,coombs,bratton,bostick,venable,tuggle,toro,staggs,sandlin,jefferies,heckman,griffis,crayton,clem,browder,thorton,sturgill,sprouse,royer,rousseau,ridenour,pogue,perales,peeples,metzler,mesa,mccutcheon,mcbee,hornsby,heffner,corrigan,armijo,plante,peyton,paredes,macklin,hussey,hodgson,granados,frias,becnel,batten,almanza,turney,teal,sturgeon,meeker,mcdaniels,limon,keeney,hutto,holguin,gorham,fishman,fierro,blanchette,rodrigue,reddy,osburn,oden,lerma,kirkwood,keefer,haugen,hammett,chalmers,brinkman,baumgartner,zhang,valerio,tellez,steffen,shumate,sauls,ripley,kemper,guffey,evers,craddock,carvalho,blaylock,banuelos,balderas,wheaton,turnbull,shuman,pointer,mosier,mccue,ligon,kozlowski,johansen,ingle,herr,briones,snipes,rickman,pipkin,pantoja,orosco,moniz,lawless,kunkel,hibbard,galarza,enos,bussey,schott,salcido,perreault,mcdougal,mccool,haight,garris,easton,conyers,atherton,wimberly,utley,spellman,smithson,slagle,ritchey,rand,petit,osullivan,oaks,nutt,mcvay,mccreary,mayhew,knoll,jewett,harwood,cardoza,ashe,arriaga,zeller,wirth,whitmire,stauffer,rountree,redden,mccaffrey,martz,larose,langdon,humes,gaskin,faber,devito,cass,almond,wingfield,wingate,villareal,tyner,smothers,severson,reno,pennell,maupin,leighton,janssen,hassell,hallman,halcomb,folse,fitzsimmons,fahey,cranford,bolen,battles,battaglia,wooldridge,trask,rosser,regalado,mcewen,keefe,fuqua,echevarria,caro,boynton,andrus,viera,vanmeter,taber,spradlin,seibert,provost,prentice,oliphant,laporte,hwang,hatchett,hass,greiner,freedman,covert,chilton,byars,wiese,venegas,swank,shrader,roberge,mullis,mortensen,mccune,marlowe,kirchner,keck,isaacson,hostetler,halverson,gunther,griswold,fenner,durden,blackwood,ahrens,sawyers,savoy,nabors,mcswain,mackay,lavender,lash,labbe,jessup,fullerton,cruse,crittenden,correia,centeno,caudle,canady,callender,alarcon,ahern,winfrey,tribble,salley,roden,musgrove,minnick,fortenberry,carrion,bunting,batiste,whited,underhill,stillwell,rauch,pippin,perrin,messenger,mancini,lister,kinard,hartmann,fleck,wilt,treadway,thornhill,spalding,rafferty,pitre,patino,ordonez,linkous,kelleher,homan,galbraith,feeney,curtin,coward,camarillo,buss,bunnell,bolt,beeler,autry,alcala,witte,wentz,stidham,shively,nunley,meacham,martins,lemke,lefebvre,hynes,horowitz,hoppe,holcombe,dunne,derr,cochrane,brittain,bedard,beauregard,torrence,strunk,soria,simonson,shumaker,scoggins,oconner,moriarty,kuntz,ives,hutcheson,horan,hales,garmon,fitts,bohn,atchison,wisniewski,vanwinkle,sturm,sallee,prosser,moen,lundberg,kunz,kohl,keane,jorgenson,jaynes,funderburk,freed,durr,creamer,cosgrove,batson,vanhoose,thomsen,teeter,smyth,redmon,orellana,maness,heflin,goulet,frick,forney,bunker,asbury,aguiar,talbott,southard,mowery,mears,lemmon,krieger,hickson,elston,duong,delgadillo,dayton,dasilva,conaway,catron,bruton,bradbury,bordelon,bivins,bittner,bergstrom,beals,abell,whelan,tejada,pulley,pino,norfleet,nealy,maes,loper,gatewood,frierson,freund,finnegan,cupp,covey,catalano,boehm,bader,yoon,walston,tenney,sipes,rawlins,medlock,mccaskill,mccallister,marcotte,maclean,hughey,henke,harwell,gladney,gilson,chism,caskey,brandenburg,baylor,villasenor,veal,thatcher,stegall,petrie,nowlin,navarrete,lombard,loftin,lemaster,kroll,kovach,kimbrell,kidwell,hershberger,fulcher,cantwell,bustos,boland,bobbitt,binkley,wester,weis,verdin,tong,tiller,sisco,sharkey,seymore,rosenbaum,rohr,quinonez,pinkston,malley,logue,lessard,lerner,lebron,krauss,klinger,halstead,haller,getz,burrow,alger,shores,pfeifer,perron,nelms,munn,mcmaster,mckenney,manns,knudson,hutchens,huskey,goebel,flagg,cushman,click,castellano,carder,bumgarner,wampler,spinks,robson,neel,mcreynolds,mathias,maas,loera,jenson,florez,coons,buckingham,brogan,berryman,wilmoth,wilhite,thrash,shephard,seidel,schulze,roldan,pettis,obryan,maki,mackie,hatley,frazer,fiore,chesser,bottoms,bisson,benefield,allman,wilke,trudeau,timm,shifflett,mundy,milliken,mayers,leake,kohn,huntington,horsley,hermann,guerin,fryer,frizzell,foret,flemming,fife,criswell,carbajal,bozeman,boisvert,angulo,wallen,tapp,silvers,ramsay,oshea,orta,moll,mckeever,mcgehee,linville,kiefer,ketchum,howerton,groce,gass,fusco,corbitt,betz,bartels,amaral,aiello,weddle,sperry,seiler,runyan,raley,overby,osteen,olds,mckeown,matney,lauer,lattimore,hindman,hartwell,fredrickson,fredericks,espino,clegg,carswell,cambell,burkholder,woodbury,welker,totten,thornburg,theriault,stitt,stamm,stackhouse,scholl,saxon,rife,razo,quinlan,pinkerton,olivo,nesmith,nall,mattos,lafferty,justus,giron,geer,fielder,drayton,dortch,conners,conger,boatwright,billiot,barden,armenta,tibbetts,steadman,slattery,rinaldi,raynor,pinckney,pettigrew,milne,matteson,halsey,gonsalves,fellows,durand,desimone,cowley,cowles,brill,barham,barela,barba,ashmore,withrow,valenti,tejeda,spriggs,sayre,salerno,peltier,peel,merriman,matheson,lowman,lindstrom,hyland,giroux,earls,dugas,dabney,collado,briseno,baxley,whyte,wenger,vanover,vanburen,thiel,schindler,schiller,rigby,pomeroy,passmore,marble,manzo,mahaffey,lindgren,laflamme,greathouse,fite,calabrese,bayne,yamamoto,wick,townes,thames,reinhart,peeler,naranjo,montez,mcdade,mast,markley,marchand,leeper,kellum,hudgens,hennessey,hadden,gainey,coppola,borrego,bolling,beane,ault,slaton,pape,null,mulkey,lightner,langer,hillard,ethridge,enright,derosa,baskin,weinberg,turman,somerville,pardo,noll,lashley,ingraham,hiller,hendon,glaze,cothran,cooksey,conte,carrico,abner,wooley,swope,summerlin,sturgis,sturdivant,stott,spurgeon,spillman,speight,roussel,popp,nutter,mckeon,mazza,magnuson,lanning,kozak,jankowski,heyward,forster,corwin,callaghan,bays,wortham,usher,theriot,sayers,sabo,poling,loya,lieberman,laroche,labelle,howes,harr,garay,fogarty,everson,durkin,dominquez,chaves,chambliss,witcher,vieira,vandiver,terrill,stoker,schreiner,moorman,liddell,lawhorn,krug,irons,hylton,hollenbeck,herrin,hembree,goolsby,goodin,gilmer,foltz,dinkins,daughtry,caban,brim,briley,bilodeau,wyant,vergara,tallent,swearingen,stroup,scribner,quillen,pitman,mccants,maxfield,martinson,holtz,flournoy,brookins,brody,baumgardner,straub,sills,roybal,roundtree,oswalt,mcgriff,mcdougall,mccleary,maggard,gragg,gooding,godinez,doolittle,donato,cowell,cassell,bracken,appel,zambrano,reuter,perea,nakamura,monaghan,mickens,mcclinton,mcclary,marler,kish,judkins,gilbreath,freese,flanigan,felts,erdmann,dodds,chew,brownell,boatright,barreto,slayton,sandberg,saldivar,pettway,odum,narvaez,moultrie,montemayor,merrell,lees,keyser,hoke,hardaway,hannan,gilbertson,fogg,dumont,deberry,coggins,buxton,bucher,broadnax,beeson,araujo,appleton,amundson,aguayo,ackley,yocum,worsham,shivers,sanches,sacco,robey,rhoden,pender,ochs,mccurry,madera,luong,knotts,jackman,heinrich,hargrave,gault,comeaux,chitwood,caraway,boettcher,bernhardt,barrientos,zink,wickham,whiteman,thorp,stillman,settles,schoonover,roque,riddell,pilcher,phifer,novotny,macleod,hardee,haase,grider,doucette,clausen,bevins,beamon,badillo,tolley,tindall,soule,snook,seale,pinkney,pellegrino,nowell,nemeth,mondragon,mclane,lundgren,ingalls,hudspeth,hixson,gearhart,furlong,downes,dibble,deyoung,cornejo,camara,brookshire,boyette,wolcott,surratt,sellars,segal,salyer,reeve,rausch,labonte,haro,gower,freeland,fawcett,eads,driggers,donley,collett,bromley,boatman,ballinger,baldridge,volz,trombley,stonge,shanahan,rivard,rhyne,pedroza,matias,jamieson,hedgepeth,hartnett,estevez,eskridge,denman,chiu,chinn,catlett,carmack,buie,bechtel,beardsley,bard,ballou,ulmer,skeen,robledo,rincon,reitz,piazza,munger,moten,mcmichael,loftus,ledet,kersey,groff,fowlkes,crumpton,clouse,bettis,villagomez,timmerman,strom,santoro,roddy,penrod,musselman,macpherson,leboeuf,harless,haddad,guido,golding,fulkerson,fannin,dulaney,dowdell,cottle,ceja,cate,bosley,benge,albritton,voigt,trowbridge,soileau,seely,rohde,pearsall,paulk,orth,nason,mota,mcmullin,marquardt,madigan,hoag,gillum,gabbard,fenwick,danforth,cushing,cress,creed,cazares,bettencourt,barringer,baber,stansberry,schramm,rutter,rivero,oquendo,necaise,mouton,montenegro,miley,mcgough,marra,macmillan,lamontagne,jasso,horst,hetrick,heilman,gaytan,gall,fortney,dingle,desjardins,dabbs,burbank,brigham,breland,beaman,arriola,yarborough,wallin,toscano,stowers,reiss,pichardo,orton,michels,mcnamee,mccrory,leatherman,kell,keister,horning,hargett,guay,ferro,deboer,dagostino,carper,blanks,beaudry,towle,tafoya,stricklin,strader,soper,sonnier,sigmon,schenk,saddler,pedigo,mendes,lunn,lohr,lahr,kingsbury,jarman,hume,holliman,hofmann,haworth,harrelson,hambrick,flick,edmunds,dacosta,crossman,colston,chaplin,carrell,budd,weiler,waits,valentino,trantham,tarr,solorio,roebuck,powe,plank,pettus,pagano,mink,luker,leathers,joslin,hartzell,gambrell,cepeda,carty,caputo,brewington,bedell,ballew,applewhite,warnock,walz,urena,tudor,reel,pigg,parton,mickelson,meagher,mclellan,mcculley,mandel,leech,lavallee,kraemer,kling,kipp,kehoe,hochstetler,harriman,gregoire,grabowski,gosselin,gammon,fancher,edens,desai,brannan,armendariz,woolsey,whitehouse,whetstone,ussery,towne,testa,tallman,studer,strait,steinmetz,sorrells,sauceda,rolfe,paddock,mitchem,mcginn,mccrea,lovato,hazen,gilpin,gaynor,fike,devoe,delrio,curiel,burkhardt,bode,backus,zinn,watanabe,wachter,vanpelt,turnage,shaner,schroder,sato,riordan,quimby,portis,natale,mckoy,mccown,kilmer,hotchkiss,hesse,halbert,gwinn,godsey,delisle,chrisman,canter,arbogast,angell,acree,yancy,woolley,wesson,weatherspoon,trainor,stockman,spiller,sipe,rooks,reavis,propst,porras,neilson,mullens,loucks,llewellyn,kumar,koester,klingensmith,kirsch,kester,honaker,hodson,hennessy,helmick,garrity,garibay,drain,casarez,callis,botello,aycock,avant,wingard,wayman,tully,theisen,szymanski,stansbury,segovia,rainwater,preece,pirtle,padron,mincey,mckelvey,mathes,larrabee,kornegay,klug,ingersoll,hecht,germain,eggers,dykstra,deering,decoteau,deason,dearing,cofield,carrigan,bonham,bahr,aucoin,appleby,almonte,yager,womble,wimmer,weimer,vanderpool,stancil,sprinkle,romine,remington,pfaff,peckham,olivera,meraz,maze,lathrop,koehn,hazelton,halvorson,hallock,haddock,ducharme,dehaven,caruthers,brehm,bosworth,bost,bias,beeman,basile,bane,aikens,wold,walther,tabb,suber,strawn,stocker,shirey,schlosser,riedel,rembert,reimer,pyles,peele,merriweather,letourneau,latta,kidder,hixon,hillis,hight,herbst,henriquez,haygood,hamill,gabel,fritts,eubank,dawes,correll,bushey,buchholz,brotherton,botts,barnwell,auger,atchley,westphal,veilleux,ulloa,stutzman,shriver,ryals,pilkington,moyers,marrs,mangrum,maddux,lockard,laing,kuhl,harney,hammock,hamlett,felker,doerr,depriest,carrasquillo,carothers,bogle,bischoff,bergen,albanese,wyckoff,vermillion,vansickle,thibault,tetreault,stickney,shoemake,ruggiero,rawson,racine,philpot,paschal,mcelhaney,mathison,legrand,lapierre,kwan,kremer,jiles,hilbert,geyer,faircloth,ehlers,egbert,desrosiers,dalrymple,cotten,cashman,cadena,boardman,alcaraz,wyrick,therrien,tankersley,strickler,puryear,plourde,pattison,pardue,mcginty,mcevoy,landreth,kuhns,koon,hewett,giddens,emerick,eades,deangelis,cosme,ceballos,birdsong,benham,bemis,armour,anguiano,welborn,tsosie,storms,shoup,sessoms,samaniego,rood,rojo,rhinehart,raby,northcutt,myer,munguia,morehouse,mcdevitt,mallett,lozada,lemoine,kuehn,hallett,grim,gillard,gaylor,garman,gallaher,feaster,faris,darrow,dardar,coney,carreon,braithwaite,boylan,boyett,bixler,bigham,benford,barragan,barnum,zuber,wyche,westcott,vining,stoltzfus,simonds,shupe,sabin,ruble,rittenhouse,richman,perrone,mulholland,millan,lomeli,kite,jemison,hulett,holler,hickerson,herold,hazelwood,griffen,gause,forde,eisenberg,dilworth,charron,chaisson,bristow,breunig,brace,boutwell,bentz,belk,bayless,batchelder,baran,baeza,zimmermann,weathersby,volk,toole,theis,tedesco,searle,schenck,satterwhite,ruelas,rankins,partida,nesbit,morel,menchaca,levasseur,kaylor,johnstone,hulse,hollar,hersey,harrigan,harbison,guyer,gish,giese,gerlach,geller,geisler,falcone,elwell,doucet,deese,darr,corder,chafin,byler,bussell,burdett,brasher,bowe,bellinger,bastian,barner,alleyne,wilborn,weil,wegner,tatro,spitzer,smithers,schoen,resendez,parisi,overman,obrian,mudd,mahler,maggio,lindner,lalonde,lacasse,laboy,killion,kahl,jessen,jamerson,houk,henshaw,gustin,graber,durst,duenas,davey,cundiff,conlon,colunga,coakley,chiles,capers,buell,bricker,bissonnette,bartz,bagby,zayas,volpe,treece,toombs,thom,terrazas,swinney,skiles,silveira,shouse,senn,ramage,moua,langham,kyles,holston,hoagland,herd,feller,denison,carraway,burford,bickel,ambriz,abercrombie,yamada,weidner,waddle,verduzco,thurmond,swindle,schrock,sanabria,rosenberger,probst,peabody,olinger,nazario,mccafferty,mcbroom,mcabee,mazur,matherne,mapes,leverett,killingsworth,heisler,griego,gosnell,frankel,franke,ferrante,fenn,ehrlich,christopherso,chasse,caton,brunelle,bloomfield,babbitt,azevedo,abramson,ables,abeyta,youmans,wozniak,wainwright,stowell,smitherman,samuelson,runge,rothman,rosenfeld,peake,owings,olmos,munro,moreira,leatherwood,larkins,krantz,kovacs,kizer,kindred,karnes,jaffe,hubbell,hosey,hauck,goodell,erdman,dvorak,doane,cureton,cofer,buehler,bierman,berndt,banta,abdullah,warwick,waltz,turcotte,torrey,stith,seger,sachs,quesada,pinder,peppers,pascual,paschall,parkhurst,ozuna,oster,nicholls,lheureux,lavalley,kimura,jablonski,haun,gourley,gilligan,croy,cotto,cargill,burwell,burgett,buckman,booher,adorno,wrenn,whittemore,urias,szabo,sayles,saiz,rutland,rael,pharr,pelkey,ogrady,nickell,musick,moats,mather,massa,kirschner,kieffer,kellar,hendershot,gott,godoy,gadson,furtado,fiedler,erskine,dutcher,dever,daggett,chevalier,brake,ballesteros,amerson,wingo,waldon,trott,silvey,showers,schlegel,ritz,pepin,pelayo,parsley,palermo,moorehead,mchale,lett,kocher,kilburn,iglesias,humble,hulbert,huckaby,hartford,hardiman,gurney,grigg,grasso,goings,fillmore,farber,depew,dandrea,cowen,covarrubias,burrus,bracy,ardoin,thompkins,standley,radcliffe,pohl,persaud,parenteau,pabon,newson,newhouse,napolitano,mulcahy,malave,keim,hooten,hernandes,heffernan,hearne,greenleaf,glick,fuhrman,fetter,faria,dishman,dickenson,crites,criss,clapper,chenault,castor,casto,bugg,bove,bonney,anderton,allgood,alderson,woodman,warrick,toomey,tooley,tarrant,summerville,stebbins,sokol,searles,schutz,schumann,scheer,remillard,raper,proulx,palmore,monroy,messier,melo,melanson,mashburn,manzano,lussier,jenks,huneycutt,hartwig,grimsley,fulk,fielding,fidler,engstrom,eldred,dantzler,crandell,calder,brumley,breton,brann,bramlett,boykins,bianco,bancroft,almaraz,alcantar,whitmer,whitener,welton,vineyard,rahn,paquin,mizell,mcmillin,mckean,marston,maciel,lundquist,liggins,lampkin,kranz,koski,kirkham,jiminez,hazzard,harrod,graziano,grammer,gendron,garrido,fordham,englert,dryden,demoss,deluna,crabb,comeau,brummett,blume,benally,wessel,vanbuskirk,thorson,stumpf,stockwell,reams,radtke,rackley,pelton,niemi,newland,nelsen,morrissette,miramontes,mcginley,mccluskey,marchant,luevano,lampe,lail,jeffcoat,infante,hinman,gaona,eady,desmarais,decosta,dansby,cisco,choe,breckenridge,bostwick,borg,bianchi,alberts,wilkie,whorton,vargo,tait,soucy,schuman,ousley,mumford,lippert,leath,lavergne,laliberte,kirksey,kenner,johnsen,izzo,hiles,gullett,greenwell,gaspar,galbreath,gaitan,ericson,delapaz,croom,cottingham,clift,bushnell,bice,beason,arrowood,waring,voorhees,truax,shreve,shockey,schatz,sandifer,rubino,rozier,roseberry,pieper,peden,nester,nave,murphey,malinowski,macgregor,lafrance,kunkle,kirkman,hipp,hasty,haddix,gervais,gerdes,gamache,fouts,fitzwater,dillingham,deming,deanda,cedeno,cannady,burson,bouldin,arceneaux,woodhouse,whitford,wescott,welty,weigel,torgerson,toms,surber,sunderland,sterner,setzer,riojas,pumphrey,puga,metts,mcgarry,mccandless,magill,lupo,loveland,llamas,leclerc,koons,kahler,huss,holbert,heintz,haupt,grimmett,gaskill,ellingson,dorr,dingess,deweese,desilva,crossley,cordeiro,converse,conde,caldera,cairns,burmeister,burkhalter,brawner,bott,youngs,vierra,valladares,shrum,shropshire,sevilla,rusk,rodarte,pedraza,nino,merino,mcminn,markle,mapp,lajoie,koerner,kittrell,kato,hyder,hollifield,heiser,hazlett,greenwald,fant,eldredge,dreher,delafuente,cravens,claypool,beecher,aronson,alanis,worthen,wojcik,winger,whitacre,valverde,valdivia,troupe,thrower,swindell,suttles,stroman,spires,slate,shealy,sarver,sartin,sadowski,rondeau,rolon,rascon,priddy,paulino,nolte,munroe,molloy,mciver,lykins,loggins,lenoir,klotz,kempf,hupp,hollowell,hollander,haynie,harkness,harker,gottlieb,frith,eddins,driskell,doggett,densmore,charette,cassady,byrum,burcham,buggs,benn,whitted,warrington,vandusen,vaillancourt,steger,siebert,scofield,quirk,purser,plumb,orcutt,nordstrom,mosely,michalski,mcphail,mcdavid,mccraw,marchese,mannino,lefevre,largent,lanza,kress,isham,hunsaker,hoch,hildebrandt,guarino,grijalva,graybill,fick,ewell,ewald,cusick,crumley,coston,cathcart,carruthers,bullington,bowes,blain,blackford,barboza,yingling,wert,weiland,varga,silverstein,sievers,shuster,shumway,runnels,rumsey,renfroe,provencher,polley,mohler,middlebrooks,kutz,koster,groth,glidden,fazio,deen,chipman,chenoweth,champlin,cedillo,carrero,carmody,buckles,brien,boutin,bosch,berkowitz,altamirano,wilfong,wiegand,waites,truesdale,toussaint,tobey,tedder,steelman,sirois,schnell,robichaud,richburg,plumley,pizarro,piercy,ortego,oberg,neace,mertz,mcnew,matta,lapp,lair,kibler,howlett,hollister,hofer,hatten,hagler,falgoust,engelhardt,eberle,dombrowski,dinsmore,daye,casares,braud,balch,autrey,wendel,tyndall,strobel,stoltz,spinelli,serrato,reber,rathbone,palomino,nickels,mayle,mathers,mach,loeffler,littrell,levinson,leong,lemire,lejeune,lazo,lasley,koller,kennard,hoelscher,hintz,hagerman,greaves,fore,eudy,engler,corrales,cordes,brunet,bidwell,bennet,tyrrell,tharpe,swinton,stribling,southworth,sisneros,savoie,samons,ruvalcaba,ries,ramer,omara,mosqueda,millar,mcpeak,macomber,luckey,litton,lehr,lavin,hubbs,hoard,hibbs,hagans,futrell,exum,evenson,culler,carbaugh,callen,brashear,bloomer,blakeney,bigler,addington,woodford,unruh,tolentino,sumrall,stgermain,smock,sherer,rayner,pooler,oquinn,nero,mcglothlin,linden,kowal,kerrigan,ibrahim,harvell,hanrahan,goodall,geist,fussell,fung,ferebee,eley,eggert,dorsett,dingman,destefano,colucci,clemmer,burnell,brumbaugh,boddie,berryhill,avelar,alcantara,winder,winchell,vandenberg,trotman,thurber,thibeault,stlouis,stilwell,sperling,shattuck,sarmiento,ruppert,rumph,renaud,randazzo,rademacher,quiles,pearman,palomo,mercurio,lowrey,lindeman,lawlor,larosa,lander,labrecque,hovis,holifield,henninger,hawkes,hartfield,hann,hague,genovese,garrick,fudge,frink,eddings,dinh,cribbs,calvillo,bunton,brodeur,bolding,blanding,agosto,zahn,wiener,trussell,tello,teixeira,speck,sharma,shanklin,sealy,scanlan,santamaria,roundy,robichaux,ringer,rigney,prevost,polson,nord,moxley,medford,mccaslin,mcardle,macarthur,lewin,lasher,ketcham,keiser,heine,hackworth,grose,grizzle,gillman,gartner,frazee,fleury,edson,edmonson,derry,cronk,conant,burress,burgin,broom,brockington,bolick,boger,birchfield,billington,baily,bahena,armbruster,anson,yoho,wilcher,tinney,timberlake,thielen,sutphin,stultz,sikora,serra,schulman,scheffler,santillan,rego,preciado,pinkham,mickle,lomas,lizotte,lent,kellerman,keil,johanson,hernadez,hartsfield,haber,gorski,farkas,eberhardt,duquette,delano,cropper,cozart,cockerham,chamblee,cartagena,cahoon,buzzell,brister,brewton,blackshear,benfield,aston,ashburn,arruda,wetmore,weise,vaccaro,tucci,sudduth,stromberg,stoops,showalter,shears,runion,rowden,rosenblum,riffle,renfrow,peres,obryant,leftwich,lark,landeros,kistler,killough,kerley,kastner,hoggard,hartung,guertin,govan,gatling,gailey,fullmer,fulford,flatt,esquibel,endicott,edmiston,edelstein,dufresne,dressler,dickman,chee,busse,bonnett,berard,yoshida,velarde,veach,vanhouten,vachon,tolson,tolman,tennyson,stites,soler,shutt,ruggles,rhone,pegues,neese,muro,moncrief,mefford,mcphee,mcmorris,mceachern,mcclurg,mansour,mader,leija,lecompte,lafountain,labrie,jaquez,heald,hash,hartle,gainer,frisby,farina,eidson,edgerton,dyke,durrett,duhon,cuomo,cobos,cervantez,bybee,brockway,borowski,binion,beery,arguello,amaro,acton,yuen,winton,wigfall,weekley,vidrine,vannoy,tardiff,shoop,shilling,schick,safford,prendergast,pilgrim,pellerin,osuna,nissen,nalley,moller,messner,messick,merrifield,mcguinness,matherly,marcano,mahone,lemos,lebrun,jara,hoffer,herren,hecker,haws,haug,gwin,gober,gilliard,fredette,favela,echeverria,downer,donofrio,desrochers,crozier,corson,bechtold,argueta,aparicio,zamudio,westover,westerman,utter,troyer,thies,tapley,slavin,shirk,sandler,roop,rimmer,raymer,radcliff,otten,moorer,millet,mckibben,mccutchen,mcavoy,mcadoo,mayorga,mastin,martineau,marek,madore,leflore,kroeger,kennon,jimerson,hostetter,hornback,hendley,hance,guardado,granado,gowen,goodale,flinn,fleetwood,fitz,durkee,duprey,dipietro,dilley,clyburn,brawley,beckley,arana,weatherby,vollmer,vestal,tunnell,trigg,tingle,takahashi,sweatt,storer,snapp,shiver,rooker,rathbun,poisson,perrine,perri,parmer,parke,pare,papa,palmieri,midkiff,mecham,mccomas,mcalpine,lovelady,lillard,lally,knopp,kile,kiger,haile,gupta,goldsberry,gilreath,fulks,friesen,franzen,flack,findlay,ferland,dreyer,dore,dennard,deckard,debose,crim,coulombe,chancey,cantor,branton,bissell,barns,woolard,witham,wasserman,spiegel,shoffner,scholz,ruch,rossman,petry,palacio,paez,neary,mortenson,millsap,miele,menke,mckim,mcanally,martines,lemley,larochelle,klaus,klatt,kaufmann,kapp,helmer,hedge,halloran,glisson,frechette,fontana,eagan,distefano,danley,creekmore,chartier,chaffee,carillo,burg,bolinger,berkley,benz,basso,bash,zelaya,woodring,witkowski,wilmot,wilkens,wieland,verdugo,urquhart,tsai,timms,swiger,swaim,sussman,pires,molnar,mcatee,lowder,loos,linker,landes,kingery,hufford,higa,hendren,hammack,hamann,gillam,gerhardt,edelman,delk,deans,curl,constantine,cleaver,claar,casiano,carruth,carlyle,brophy,bolanos,bibbs,bessette,beggs,baugher,bartel,averill,andresen,amin,adames,valente,turnbow,swink,sublett,stroh,stringfellow,ridgway,pugliese,poteat,ohare,neubauer,murchison,mingo,lemmons,kwon,kellam,kean,jarmon,hyden,hudak,hollinger,henkel,hemingway,hasson,hansel,halter,haire,ginsberg,gillispie,fogel,flory,etter,elledge,eckman,deas,currin,crafton,coomer,colter,claxton,bulter,braddock,bowyer,binns,bellows,baskerville,barros,ansley,woolf,wight,waldman,wadley,tull,trull,tesch,stouffer,stadler,slay,shubert,sedillo,santacruz,reinke,poynter,neri,neale,mowry,moralez,monger,mitchum,merryman,manion,macdougall,litchfield,levitt,lepage,lasalle,khoury,kavanagh,karns,ivie,huebner,hodgkins,halpin,garica,eversole,dutra,dunagan,duffey,dillman,dillion,deville,dearborn,damato,courson,coulson,burdine,bousquet,bonin,bish,atencio,westbrooks,wages,vaca,toner,tillis,swett,struble,stanfill,solorzano,slusher,sipple,silvas,shults,schexnayder,saez,rodas,rager,pulver,penton,paniagua,meneses,mcfarlin,mcauley,matz,maloy,magruder,lohman,landa,lacombe,jaimes,holzer,holst,heil,hackler,grundy,gilkey,farnham,durfee,dunton,dunston,duda,dews,craver,corriveau,conwell,colella,chambless,bremer,boutte,bourassa,blaisdell,backman,babineaux,audette,alleman,towner,taveras,tarango,sullins,suiter,stallard,solberg,schlueter,poulos,pimental,owsley,okelley,moffatt,metcalfe,meekins,medellin,mcglynn,mccowan,marriott,marable,lennox,lamoureux,koss,kerby,karp,isenberg,howze,hockenberry,highsmith,hallmark,gusman,greeley,giddings,gaudet,gallup,fleenor,eicher,edington,dimaggio,dement,demello,decastro,bushman,brundage,brooker,bourg,blackstock,bergmann,beaton,banister,argo,appling,wortman,watterson,villalpando,tillotson,tighe,sundberg,sternberg,stamey,shipe,seeger,scarberry,sattler,sain,rothstein,poteet,plowman,pettiford,penland,partain,pankey,oyler,ogletree,ogburn,moton,merkel,lucier,lakey,kratz,kinser,kershaw,josephson,imhoff,hendry,hammon,frisbie,frawley,fraga,forester,eskew,emmert,drennan,doyon,dandridge,cawley,carvajal,bracey,belisle,batey,ahner,wysocki,weiser,veliz,tincher,sansone,sankey,sandstrom,rohrer,risner,pridemore,pfeffer,persinger,peery,oubre,nowicki,musgrave,murdoch,mullinax,mccary,mathieu,livengood,kyser,klink,kimes,kellner,kavanaugh,kasten,imes,hoey,hinshaw,hake,gurule,grube,grillo,geter,gatto,garver,garretson,farwell,eiland,dunford,decarlo,corso,colman,collard,cleghorn,chasteen,cavender,carlile,calvo,byerly,brogdon,broadwater,breault,bono,bergin,behr,ballenger,amick,tamez,stiffler,steinke,simmon,shankle,schaller,salmons,sackett,saad,rideout,ratcliffe,ranson,plascencia,petterson,olszewski,olney,olguin,nilsson,nevels,morelli,montiel,monge,michaelson,mertens,mcchesney,mcalpin,mathewson,loudermilk,lineberry,liggett,kinlaw,kight,jost,hereford,hardeman,halpern,halliday,hafer,gaul,friel,freitag,forsberg,evangelista,doering,dicarlo,dendy,delp,deguzman,dameron,curtiss,cosper,cauthen,bradberry,bouton,bonnell,bixby,bieber,beveridge,bedwell,barhorst,bannon,baltazar,baier,ayotte,attaway,arenas,abrego,turgeon,tunstall,thaxton,tenorio,stotts,sthilaire,shedd,seabolt,scalf,salyers,ruhl,rowlett,robinett,pfister,perlman,pepe,parkman,nunnally,norvell,napper,modlin,mckellar,mcclean,mascarenas,leibowitz,ledezma,kuhlman,kobayashi,hunley,holmquist,hinkley,hazard,hartsell,gribble,gravely,fifield,eliason,doak,crossland,carleton,bridgeman,bojorquez,boggess,auten,woosley,whiteley,wexler,twomey,tullis,townley,standridge,santoyo,rueda,riendeau,revell,pless,ottinger,nigro,nickles,mulvey,menefee,mcshane,mcloughlin,mckinzie,markey,lockridge,lipsey,knisley,knepper,kitts,kiel,jinks,hathcock,godin,gallego,fikes,fecteau,estabrook,ellinger,dunlop,dudek,countryman,chauvin,chatham,bullins,brownfield,boughton,bloodworth,bibb,baucom,barbieri,aubin,armitage,alessi,absher,abbate,zito,woolery,wiggs,wacker,tynes,tolle,telles,tarter,swarey,strode,stockdale,stalnaker,spina,schiff,saari,risley,rameriz,rakes,pettaway,penner,paulus,palladino,omeara,montelongo,melnick,mehta,mcgary,mccourt,mccollough,marchetti,manzanares,lowther,leiva,lauderdale,lafontaine,kowalczyk,knighton,joubert,jaworski,huth,hurdle,housley,hackman,gulick,gordy,gilstrap,gehrke,gebhart,gaudette,foxworth,endres,dunkle,cimino,caddell,brauer,braley,bodine,blackmore,belden,backer,ayer,andress,wisner,vuong,valliere,twigg,tavarez,strahan,steib,staub,sowder,seiber,schutt,scharf,schade,rodriques,risinger,renshaw,rahman,presnell,piatt,nieman,nevins,mcilwain,mcgaha,mccully,mccomb,massengale,macedo,lesher,kearse,jauregui,husted,hudnall,holmberg,hertel,hardie,glidewell,frausto,fassett,dalessandro,dahlgren,corum,constantino,conlin,colquitt,colombo,claycomb,cardin,buller,boney,bocanegra,biggers,benedetto,araiza,andino,albin,zorn,werth,weisman,walley,vanegas,ulibarri,towe,tedford,teasley,suttle,steffens,stcyr,squire,singley,sifuentes,shuck,schram,sass,rieger,ridenhour,rickert,richerson,rayborn,rabe,raab,pendley,pastore,ordway,moynihan,mellott,mckissick,mcgann,mccready,mauney,marrufo,lenhart,lazar,lafave,keele,kautz,jardine,jahnke,jacobo,hord,hardcastle,hageman,giglio,gehring,fortson,duque,duplessis,dicken,derosier,deitz,dalessio,cram,castleman,candelario,callison,caceres,bozarth,biles,bejarano,bashaw,avina,armentrout,alverez,acord,waterhouse,vereen,vanlandingham,strawser,shotwell,severance,seltzer,schoonmaker,schock,schaub,schaffner,roeder,rodrigez,riffe,rasberry,rancourt,railey,quade,pursley,prouty,perdomo,oxley,osterman,nickens,murphree,mounts,merida,maus,mattern,masse,martinelli,mangan,lutes,ludwick,loney,laureano,lasater,knighten,kissinger,kimsey,kessinger,honea,hollingshead,hockett,heyer,heron,gurrola,gove,glasscock,gillett,galan,featherstone,eckhardt,duron,dunson,dasher,culbreth,cowden,cowans,claypoole,churchwell,chabot,caviness,cater,caston,callan,byington,burkey,boden,beckford,atwater,archambault,alvey,alsup,whisenant,weese,voyles,verret,tsang,tessier,sweitzer,sherwin,shaughnessy,revis,remy,prine,philpott,peavy,paynter,parmenter,ovalle,offutt,nightingale,newlin,nakano,myatt,muth,mohan,mcmillon,mccarley,mccaleb,maxson,marinelli,maley,liston,letendre,kain,huntsman,hirst,hagerty,gulledge,greenway,grajeda,gorton,goines,gittens,frederickson,fanelli,embree,eichelberger,dunkin,dixson,dillow,defelice,chumley,burleigh,borkowski,binette,biggerstaff,berglund,beller,audet,arbuckle,allain,alfano,youngman,wittman,weintraub,vanzant,vaden,twitty,stollings,standifer,sines,shope,scalise,saville,posada,pisano,otte,nolasco,mier,merkle,mendiola,melcher,mejias,mcmurry,mccalla,markowitz,manis,mallette,macfarlane,lough,looper,landin,kittle,kinsella,kinnard,hobart,helman,hellman,hartsock,halford,hage,gordan,glasser,gayton,gattis,gastelum,gaspard,frisch,fitzhugh,eckstein,eberly,dowden,despain,crumpler,crotty,cornelison,chouinard,chamness,catlin,cann,bumgardner,budde,branum,bradfield,braddy,borst,birdwell,bazan,banas,bade,arango,ahearn,addis,zumwalt,wurth,wilk,widener,wagstaff,urrutia,terwilliger,tart,steinman,staats,sloat,rives,riggle,revels,reichard,prickett,poff,pitzer,petro,pell,northrup,nicks,moline,mielke,maynor,mallon,magness,lingle,lindell,lieb,lesko,lebeau,lammers,lafond,kiernan,ketron,jurado,holmgren,hilburn,hayashi,hashimoto,harbaugh,guillot,gard,froehlich,feinberg,falco,dufour,drees,doney,diep,delao,daves,dail,crowson,coss,congdon,carner,camarena,butterworth,burlingame,bouffard,bloch,bilyeu,barta,bakke,baillargeon,avent,aquilar,zeringue,yarber,wolfson,vogler,voelker,truss,troxell,thrift,strouse,spielman,sistrunk,sevigny,schuller,schaaf,ruffner,routh,roseman,ricciardi,peraza,pegram,overturf,olander,odaniel,millner,melchor,maroney,machuca,macaluso,livesay,layfield,laskowski,kwiatkowski,kilby,hovey,heywood,hayman,havard,harville,haigh,hagood,grieco,glassman,gebhardt,fleischer,fann,elson,eccles,cunha,crumb,blakley,bardwell,abshire,woodham,wines,welter,wargo,varnado,tutt,traynor,swaney,stricker,stoffel,stambaugh,sickler,shackleford,selman,seaver,sansom,sanmiguel,royston,rourke,rockett,rioux,puleo,pitchford,nardi,mulvaney,middaugh,malek,leos,lathan,kujawa,kimbro,killebrew,houlihan,hinckley,herod,hepler,hamner,hammel,hallowell,gonsalez,gingerich,gambill,funkhouser,fricke,fewell,falkner,endsley,dulin,drennen,deaver,dambrosio,chadwell,castanon,burkes,brune,brisco,brinker,bowker,boldt,berner,beaumont,beaird,bazemore,barrick,albano,younts,wunderlich,weidman,vanness,toland,theobald,stickler,steiger,stanger,spies,spector,sollars,smedley,seibel,scoville,saito,rummel,rowles,rouleau,roos,rogan,roemer,ream,raya,purkey,priester,perreira,penick,paulin,parkins,overcash,oleson,neves,muldrow,minard,midgett,michalak,melgar,mcentire,mcauliffe,marte,lydon,lindholm,leyba,langevin,lagasse,lafayette,kesler,kelton,kaminsky,jaggers,humbert,huck,howarth,hinrichs,higley,gupton,guimond,gravois,giguere,fretwell,fontes,feeley,faucher,eichhorn,ecker,earp,dole,dinger,derryberry,demars,deel,copenhaver,collinsworth,colangelo,cloyd,claiborne,caulfield,carlsen,calzada,caffey,broadus,brenneman,bouie,bodnar,blaney,blanc,beltz,behling,barahona,yockey,winkle,windom,wimer,villatoro,trexler,teran,taliaferro,sydnor,swinson,snelling,smtih,simonton,simoneaux,simoneau,sherrer,seavey,scheel,rushton,rupe,ruano,rippy,reiner,reiff,rabinowitz,quach,penley,odle,nock,minnich,mckown,mccarver,mcandrew,longley,laux,lamothe,lafreniere,kropp,krick,kates,jepson,huie,howse,howie,henriques,haydon,haught,hatter,hartzog,harkey,grimaldo,goshorn,gormley,gluck,gilroy,gillenwater,giffin,fluker,feder,eyre,eshelman,eakins,detwiler,delrosario,davisson,catalan,canning,calton,brammer,botelho,blakney,bartell,averett,askins,aker,witmer,winkelman,widmer,whittier,weitzel,wardell,wagers,ullman,tupper,tingley,tilghman,talton,simard,seda,scheller,sala,rundell,rost,ribeiro,rabideau,primm,pinon,peart,ostrom,ober,nystrom,nussbaum,naughton,murr,moorhead,monti,monteiro,melson,meissner,mclin,mcgruder,marotta,makowski,majewski,madewell,lunt,lukens,leininger,lebel,lakin,kepler,jaques,hunnicutt,hungerford,hoopes,hertz,heins,halliburton,grosso,gravitt,glasper,gallman,gallaway,funke,fulbright,falgout,eakin,dostie,dorado,dewberry,derose,cutshall,crampton,costanzo,colletti,cloninger,claytor,chiang,campagna,burd,brokaw,broaddus,bretz,brainard,binford,bilbrey,alpert,aitken,ahlers,zajac,woolfolk,witten,windle,wayland,tramel,tittle,talavera,suter,straley,specht,sommerville,soloman,skeens,sigman,sibert,shavers,schuck,schmit,sartain,sabol,rosenblatt,rollo,rashid,rabb,polston,nyberg,northrop,navarra,muldoon,mikesell,mcdougald,mcburney,mariscal,lozier,lingerfelt,legere,latour,lagunas,lacour,kurth,killen,kiely,kayser,kahle,isley,huertas,hower,hinz,haugh,gumm,galicia,fortunato,flake,dunleavy,duggins,doby,digiovanni,devaney,deltoro,cribb,corpuz,coronel,coen,charbonneau,caine,burchette,blakey,blakemore,bergquist,beene,beaudette,bayles,ballance,bakker,bailes,asberry,arwood,zucker,willman,whitesell,wald,walcott,vancleave,trump,strasser,simas,shick,schleicher,schaal,saleh,rotz,resnick,rainer,partee,ollis,oller,oday,noles,munday,mong,millican,merwin,mazzola,mansell,magallanes,llanes,lewellen,lepore,kisner,keesee,jeanlouis,ingham,hornbeck,hawn,hartz,harber,haffner,gutshall,guth,grays,gowan,finlay,finkelstein,eyler,enloe,dungan,diez,dearman,cull,crosson,chronister,cassity,campion,callihan,butz,breazeale,blumenthal,berkey,batty,batton,arvizu,alderete,aldana,albaugh,abernethy,wolter,wille,tweed,tollefson,thomasson,teter,testerman,sproul,spates,southwick,soukup,skelly,senter,sealey,sawicki,sargeant,rossiter,rosemond,repp,pifer,ormsby,nickelson,naumann,morabito,monzon,millsaps,millen,mcelrath,marcoux,mantooth,madson,macneil,mackinnon,louque,leister,lampley,kushner,krouse,kirwan,jessee,janson,jahn,jacquez,islas,hutt,holladay,hillyer,hepburn,hensel,harrold,gingrich,geis,gales,fults,finnell,ferri,featherston,epley,ebersole,eames,dunigan,drye,dismuke,devaughn,delorenzo,damiano,confer,collum,clower,clow,claussen,clack,caylor,cawthon,casias,carreno,bluhm,bingaman,bewley,belew,beckner,auld,amey,wolfenbarger,wilkey,wicklund,waltman,villalba,valero,valdovinos,ullrich,tyus,twyman,trost,tardif,tanguay,stripling,steinbach,shumpert,sasaki,sappington,sandusky,reinhold,reinert,quijano,placencia,pinkard,phinney,perrotta,pernell,parrett,oxendine,owensby,orman,nuno,mori,mcroberts,mcneese,mckamey,mccullum,markel,mardis,maines,lueck,lubin,lefler,leffler,larios,labarbera,kershner,josey,jeanbaptiste,izaguirre,hermosillo,haviland,hartshorn,hafner,ginter,getty,franck,fiske,dufrene,doody,davie,dangerfield,dahlberg,cuthbertson,crone,coffelt,chidester,chesson,cauley,caudell,cantara,campo,caines,bullis,bucci,brochu,bogard,bickerstaff,benning,arzola,antonelli,adkinson,zellers,wulf,worsley,woolridge,whitton,westerfield,walczak,vassar,truett,trueblood,trawick,townsley,topping,tobar,telford,steverson,stagg,sitton,sill,sergent,schoenfeld,sarabia,rutkowski,rubenstein,rigdon,prentiss,pomerleau,plumlee,philbrick,patnode,oloughlin,obregon,nuss,morell,mikell,mele,mcinerney,mcguigan,mcbrayer,lollar,kuehl,kinzer,kamp,joplin,jacobi,howells,holstein,hedden,hassler,harty,halle,greig,gouge,goodrum,gerhart,geier,geddes,gast,forehand,ferree,fendley,feltner,esqueda,encarnacion,eichler,egger,edmundson,eatmon,doud,donohoe,donelson,dilorenzo,digiacomo,diggins,delozier,dejong,danford,crippen,coppage,cogswell,clardy,cioffi,cabe,brunette,bresnahan,blomquist,blackstone,biller,bevis,bevan,bethune,benbow,baty,basinger,balcom,andes,aman,aguero,adkisson,yandell,wilds,whisenhunt,weigand,weeden,voight,villar,trottier,tillett,suazo,setser,scurry,schuh,schreck,schauer,samora,roane,rinker,reimers,ratchford,popovich,parkin,natal,melville,mcbryde,magdaleno,loehr,lockman,lingo,leduc,larocca,lamere,laclair,krall,korte,koger,jalbert,hughs,higbee,henton,heaney,haith,gump,greeson,goodloe,gholston,gasper,gagliardi,fregoso,farthing,fabrizio,ensor,elswick,elgin,eklund,eaddy,drouin,dorton,dizon,derouen,deherrera,davy,dampier,cullum,culley,cowgill,cardoso,cardinale,brodsky,broadbent,brimmer,briceno,branscum,bolyard,boley,bennington,beadle,baur,ballentine,azure,aultman,arciniega,aguila,aceves,yepez,woodrum,wethington,weissman,veloz,trusty,troup,trammel,tarpley,stivers,steck,sprayberry,spraggins,spitler,spiers,sohn,seagraves,schiffman,rudnick,rizo,riccio,rennie,quackenbush,puma,plott,pearcy,parada,paiz,munford,moskowitz,mease,mcnary,mccusker,lozoya,longmire,loesch,lasky,kuhlmann,krieg,koziol,kowalewski,konrad,kindle,jowers,jolin,jaco,horgan,hine,hileman,hepner,heise,heady,hawkinson,hannigan,haberman,guilford,grimaldi,garton,gagliano,fruge,follett,fiscus,ferretti,ebner,easterday,eanes,dirks,dimarco,depalma,deforest,cruce,craighead,christner,candler,cadwell,burchell,buettner,brinton,brazier,brannen,brame,bova,bomar,blakeslee,belknap,bangs,balzer,athey,armes,alvis,alverson,alvardo,yeung,wheelock,westlund,wessels,volkman,threadgill,thelen,tague,symons,swinford,sturtevant,straka,stier,stagner,segarra,seawright,rutan,roux,ringler,riker,ramsdell,quattlebaum,purifoy,poulson,permenter,peloquin,pasley,pagel,osman,obannon,nygaard,newcomer,munos,motta,meadors,mcquiston,mcniel,mcmann,mccrae,mayne,matte,legault,lechner,kucera,krohn,kratzer,koopman,jeske,horrocks,hock,hibbler,hesson,hersh,harvin,halvorsen,griner,grindle,gladstone,garofalo,frampton,forbis,eddington,diorio,dingus,dewar,desalvo,curcio,creasy,cortese,cordoba,connally,cluff,cascio,capuano,canaday,calabro,bussard,brayton,borja,bigley,arnone,arguelles,acuff,zamarripa,wooton,widner,wideman,threatt,thiele,templin,teeters,synder,swint,swick,sturges,stogner,stedman,spratt,siegfried,shetler,scull,savino,sather,rothwell,rook,rone,rhee,quevedo,privett,pouliot,poche,pickel,petrillo,pellegrini,peaslee,partlow,otey,nunnery,morelock,morello,meunier,messinger,mckie,mccubbin,mccarron,lerch,lavine,laverty,lariviere,lamkin,kugler,krol,kissel,keeter,hubble,hickox,hetzel,hayner,hagy,hadlock,groh,gottschalk,goodsell,gassaway,garrard,galligan,firth,fenderson,feinstein,etienne,engleman,emrick,ellender,drews,doiron,degraw,deegan,dart,crissman,corr,cookson,coil,cleaves,charest,chapple,chaparro,castano,carpio,byer,bufford,bridgewater,bridgers,brandes,borrero,bonanno,aube,ancheta,abarca,abad,wooster,wimbush,willhite,willams,wigley,weisberg,wardlaw,vigue,vanhook,unknow,torre,tasker,tarbox,strachan,slover,shamblin,semple,schuyler,schrimsher,sayer,salzman,rubalcava,riles,reneau,reichel,rayfield,rabon,pyatt,prindle,poss,polito,plemmons,pesce,perrault,pereyra,ostrowski,nilsen,niemeyer,munsey,mundell,moncada,miceli,meader,mcmasters,mckeehan,matsumoto,marron,marden,lizarraga,lingenfelter,lewallen,langan,lamanna,kovac,kinsler,kephart,keown,kass,kammerer,jeffreys,hysell,hosmer,hardnett,hanner,guyette,greening,glazer,ginder,fromm,fluellen,finkle,fessler,essary,eisele,duren,dittmer,crochet,cosentino,cogan,coelho,cavin,carrizales,campuzano,brough,bopp,bookman,bobb,blouin,beesley,battista,bascom,bakken,badgett,arneson,anselmo,albino,ahumada,woodyard,wolters,wireman,willison,warman,waldrup,vowell,vantassel,twombly,toomer,tennison,teets,tedeschi,swanner,stutz,stelly,sheehy,schermerhorn,scala,sandidge,salters,salo,saechao,roseboro,rolle,ressler,renz,renn,redford,raposa,rainbolt,pelfrey,orndorff,oney,nolin,nimmons,nardone,myhre,morman,menjivar,mcglone,mccammon,maxon,marciano,manus,lowrance,lorenzen,lonergan,lollis,littles,lindahl,lamas,lach,kuster,krawczyk,knuth,knecht,kirkendall,keitt,keever,kantor,jarboe,hoye,houchens,holter,holsinger,hickok,helwig,helgeson,hassett,harner,hamman,hames,hadfield,goree,goldfarb,gaughan,gaudreau,gantz,gallion,frady,foti,flesher,ferrin,faught,engram,donegan,desouza,degroot,cutright,crowl,criner,coan,clinkscales,chewning,chavira,catchings,carlock,bulger,buenrostro,bramblett,brack,boulware,bookout,bitner,birt,baranowski,baisden,allmon,acklin,yoakum,wilbourn,whisler,weinberger,washer,vasques,vanzandt,vanatta,troxler,tomes,tindle,tims,throckmorton,thach,stpeter,stlaurent,stenson,spry,spitz,songer,snavely,shroyer,shortridge,shenk,sevier,seabrook,scrivner,saltzman,rosenberry,rockwood,robeson,roan,reiser,ramires,raber,posner,popham,piotrowski,pinard,peterkin,pelham,peiffer,peay,nadler,musso,millett,mestas,mcgowen,marques,marasco,manriquez,manos,mair,lipps,leiker,krumm,knorr,kinslow,kessel,kendricks,kelm,irick,ickes,hurlburt,horta,hoekstra,heuer,helmuth,heatherly,hampson,hagar,haga,greenlaw,grau,godbey,gingras,gillies,gibb,gayden,gauvin,garrow,fontanez,florio,finke,fasano,ezzell,ewers,eveland,eckenrode,duclos,drumm,dimmick,delancey,defazio,dashiell,cusack,crowther,crigger,cray,coolidge,coldiron,cleland,chalfant,cassel,camire,cabrales,broomfield,brittingham,brisson,brickey,braziel,brazell,bragdon,boulanger,boman,bohannan,beem,barre,azar,ashbaugh,armistead,almazan,adamski,zendejas,winburn,willaims,wilhoit,westberry,wentzel,wendling,visser,vanscoy,vankirk,vallee,tweedy,thornberry,sweeny,spradling,spano,smelser,shim,sechrist,schall,scaife,rugg,rothrock,roesler,riehl,ridings,render,ransdell,radke,pinero,petree,pendergast,peluso,pecoraro,pascoe,panek,oshiro,navarrette,murguia,moores,moberg,michaelis,mcwhirter,mcsweeney,mcquade,mccay,mauk,mariani,marceau,mandeville,maeda,lunde,ludlow,loeb,lindo,linderman,leveille,leith,larock,lambrecht,kulp,kinsley,kimberlin,kesterson,hoyos,helfrich,hanke,grisby,goyette,gouveia,glazier,gile,gerena,gelinas,gasaway,funches,fujimoto,flynt,fenske,fellers,fehr,eslinger,escalera,enciso,duley,dittman,dineen,diller,devault,collings,clymer,clowers,chavers,charland,castorena,castello,camargo,bunce,bullen,boyes,borchers,borchardt,birnbaum,birdsall,billman,benites,bankhead,ange,ammerman,adkison,winegar,wickman,warr,warnke,villeneuve,veasey,vassallo,vannatta,vadnais,twilley,towery,tomblin,tippett,theiss,talkington,talamantes,swart,swanger,streit,stines,stabler,spurling,sobel,sine,simmers,shippy,shiflett,shearin,sauter,sanderlin,rusch,runkle,ruckman,rorie,roesch,richert,rehm,randel,ragin,quesenberry,puentes,plyler,plotkin,paugh,oshaughnessy,ohalloran,norsworthy,niemann,nader,moorefield,mooneyham,modica,miyamoto,mickel,mebane,mckinnie,mazurek,mancilla,lukas,lovins,loughlin,lotz,lindsley,liddle,levan,lederman,leclaire,lasseter,lapoint,lamoreaux,lafollette,kubiak,kirtley,keffer,kaczmarek,housman,hiers,hibbert,herrod,hegarty,hathorn,greenhaw,grafton,govea,futch,furst,franko,forcier,foran,flickinger,fairfield,eure,emrich,embrey,edgington,ecklund,eckard,durante,deyo,delvecchio,dade,currey,creswell,cottrill,casavant,cartier,cargile,capel,cammack,calfee,burse,burruss,brust,brousseau,bridwell,braaten,borkholder,bloomquist,bjork,bartelt,amburgey,yeary,whitefield,vinyard,vanvalkenburg,twitchell,timmins,tapper,stringham,starcher,spotts,slaugh,simonsen,sheffer,sequeira,rosati,rhymes,quint,pollak,peirce,patillo,parkerson,paiva,nilson,nevin,narcisse,mitton,merriam,merced,meiners,mckain,mcelveen,mcbeth,marsden,marez,manke,mahurin,mabrey,luper,krull,hunsicker,hornbuckle,holtzclaw,hinnant,heston,hering,hemenway,hegwood,hearns,halterman,guiterrez,grote,granillo,grainger,glasco,gilder,garren,garlock,garey,fryar,fredricks,fraizer,foshee,ferrel,felty,everitt,evens,esser,elkin,eberhart,durso,duguay,driskill,doster,dewall,deveau,demps,demaio,delreal,deleo,darrah,cumberbatch,culberson,cranmer,cordle,colgan,chesley,cavallo,castellon,castelli,carreras,carnell,carlucci,bontrager,blumberg,blasingame,becton,artrip,andujar,alkire,alder,zukowski,zuckerman,wroblewski,wrigley,woodside,wigginton,westman,westgate,werts,washam,wardlow,walser,waiters,tadlock,stringfield,stimpson,stickley,standish,spurlin,spindler,speller,spaeth,sotomayor,sluder,shryock,shepardson,shatley,scannell,santistevan,rosner,resto,reinhard,rathburn,prisco,poulsen,pinney,phares,pennock,pastrana,oviedo,ostler,nauman,mulford,moise,moberly,mirabal,metoyer,metheny,mentzer,meldrum,mcinturff,mcelyea,mcdougle,massaro,lumpkins,loveday,lofgren,lirette,lesperance,lefkowitz,ledger,lauzon,lachapelle,klassen,keough,kempton,kaelin,jeffords,hsieh,hoyer,horwitz,hoeft,hennig,haskin,gourdine,golightly,girouard,fulgham,fritsch,freer,frasher,foulk,firestone,fiorentino,fedor,ensley,englehart,eells,dunphy,donahoe,dileo,dibenedetto,dabrowski,crick,coonrod,conder,coddington,chunn,chaput,cerna,carreiro,calahan,braggs,bourdon,bollman,bittle,bauder,barreras,aubuchon,anzalone,adamo,zerbe,willcox,westberg,weikel,waymire,vroman,vinci,vallejos,truesdell,troutt,trotta,tollison,toles,tichenor,symonds,surles,strayer,stgeorge,sroka,sorrentino,solares,snelson,silvestri,sikorski,shawver,schumaker,schorr,schooley,scates,satterlee,satchell,rymer,roselli,robitaille,riegel,regis,reames,provenzano,priestley,plaisance,pettey,palomares,nowakowski,monette,minyard,mclamb,mchone,mccarroll,masson,magoon,maddy,lundin,licata,leonhardt,landwehr,kircher,kinch,karpinski,johannsen,hussain,houghtaling,hoskinson,hollaway,holeman,hobgood,hiebert,goggin,geissler,gadbois,gabaldon,fleshman,flannigan,fairman,eilers,dycus,dunmire,duffield,dowler,deloatch,dehaan,deemer,clayborn,christofferso,chilson,chesney,chatfield,carron,canale,brigman,branstetter,bosse,borton,bonar,biron,barroso,arispe,zacharias,zabel,yaeger,woolford,whetzel,weakley,veatch,vandeusen,tufts,troxel,troche,traver,townsel,talarico,swilley,sterrett,stenger,speakman,sowards,sours,souders,souder,soles,sobers,snoddy,smither,shute,shoaf,shahan,schuetz,scaggs,santini,rosson,rolen,robidoux,rentas,recio,pixley,pawlowski,pawlak,paull,overbey,orear,oliveri,oldenburg,nutting,naugle,mossman,misner,milazzo,michelson,mcentee,mccullar,mccree,mcaleer,mazzone,mandell,manahan,malott,maisonet,mailloux,lumley,lowrie,louviere,lipinski,lindemann,leppert,leasure,labarge,kubik,knisely,knepp,kenworthy,kennelly,kelch,kanter,houchin,hosley,hosler,hollon,holleman,heitman,haggins,gwaltney,goulding,gorden,geraci,gathers,frison,feagin,falconer,espada,erving,erikson,eisenhauer,ebeling,durgin,dowdle,dinwiddie,delcastillo,dedrick,crimmins,covell,cournoyer,coria,cohan,cataldo,carpentier,canas,campa,brode,brashears,blaser,bicknell,bednar,barwick,ascencio,althoff,almodovar,alamo,zirkle,zabala,wolverton,winebrenner,wetherell,westlake,wegener,weddington,tuten,trosclair,tressler,theroux,teske,swinehart,swensen,sundquist,southall,socha,sizer,silverberg,shortt,shimizu,sherrard,shaeffer,scheid,scheetz,saravia,sanner,rubinstein,rozell,romer,rheaume,reisinger,randles,pullum,petrella,payan,nordin,norcross,nicoletti,nicholes,newbold,nakagawa,monteith,milstead,milliner,mellen,mccardle,liptak,leitch,latimore,larrison,landau,laborde,koval,izquierdo,hymel,hoskin,holte,hoefer,hayworth,hausman,harrill,harrel,hardt,gully,groover,grinnell,greenspan,graver,grandberry,gorrell,goldenberg,goguen,gilleland,fuson,feldmann,everly,dyess,dunnigan,downie,dolby,deatherage,cosey,cheever,celaya,caver,cashion,caplinger,cansler,byrge,bruder,breuer,breslin,brazelton,botkin,bonneau,bondurant,bohanan,bogue,bodner,boatner,blatt,bickley,belliveau,beiler,beier,beckstead,bachmann,atkin,altizer,alloway,allaire,albro,abron,zellmer,yetter,yelverton,wiens,whidden,viramontes,vanwormer,tarantino,tanksley,sumlin,strauch,strang,stice,spahn,sosebee,sigala,shrout,seamon,schrum,schneck,schantz,ruddy,romig,roehl,renninger,reding,polak,pohlman,pasillas,oldfield,oldaker,ohanlon,ogilvie,norberg,nolette,neufeld,nellis,mummert,mulvihill,mullaney,monteleone,mendonca,meisner,mcmullan,mccluney,mattis,massengill,manfredi,luedtke,lounsbury,liberatore,lamphere,laforge,jourdan,iorio,iniguez,ikeda,hubler,hodgdon,hocking,heacock,haslam,haralson,hanshaw,hannum,hallam,haden,garnes,garces,gammage,gambino,finkel,faucett,ehrhardt,eggen,dusek,durrant,dubay,dones,depasquale,delucia,degraff,decamp,davalos,cullins,conard,clouser,clontz,cifuentes,chappel,chaffins,celis,carwile,byram,bruggeman,bressler,brathwaite,brasfield,bradburn,boose,bodie,blosser,bertsch,bernardi,bernabe,bengtson,barrette,astorga,alday,albee,abrahamson,yarnell,wiltse,wiebe,waguespack,vasser,upham,turek,traxler,torain,tomaszewski,tinnin,tiner,tindell,styron,stahlman,staab,skiba,sheperd,seidl,secor,schutte,sanfilippo,ruder,rondon,rearick,procter,prochaska,pettengill,pauly,neilsen,nally,mullenax,morano,meads,mcnaughton,mcmurtry,mcmath,mckinsey,matthes,massenburg,marlar,margolis,malin,magallon,mackin,lovette,loughran,loring,longstreet,loiselle,lenihan,kunze,koepke,kerwin,kalinowski,kagan,innis,innes,holtzman,heinemann,harshman,haider,haack,grondin,grissett,greenawalt,goudy,goodlett,goldston,gokey,gardea,galaviz,gafford,gabrielson,furlow,fritch,fordyce,folger,elizalde,ehlert,eckhoff,eccleston,ealey,dubin,diemer,deschamps,delapena,decicco,debolt,cullinan,crittendon,crase,cossey,coppock,coots,colyer,cluck,chamberland,burkhead,bumpus,buchan,borman,birkholz,berardi,benda,behnke,barter,amezquita,wotring,wirtz,wingert,wiesner,whitesides,weyant,wainscott,venezia,varnell,tussey,thurlow,tabares,stiver,stell,starke,stanhope,stanek,sisler,sinnott,siciliano,shehan,selph,seager,scurlock,scranton,santucci,santangelo,saltsman,rogge,rettig,renwick,reidy,reider,redfield,premo,parente,paolucci,palmquist,ohler,netherton,mutchler,morita,mistretta,minnis,middendorf,menzel,mendosa,mendelson,meaux,mcspadden,mcquaid,mcnatt,manigault,maney,mager,lukes,lopresti,liriano,letson,lechuga,lazenby,lauria,larimore,krupp,krupa,kopec,kinchen,kifer,kerney,kerner,kennison,kegley,karcher,justis,johson,jellison,janke,huskins,holzman,hinojos,hefley,hatmaker,harte,halloway,hallenbeck,goodwyn,glaspie,geise,fullwood,fryman,frakes,fraire,farrer,enlow,engen,ellzey,eckles,earles,dunkley,drinkard,dreiling,draeger,dinardo,dills,desroches,desantiago,curlee,crumbley,critchlow,coury,courtright,coffield,cleek,charpentier,cardone,caples,cantin,buntin,bugbee,brinkerhoff,brackin,bourland,blassingame,beacham,banning,auguste,andreasen,amann,almon,alejo,adelman,abston,yerger,wymer,woodberry,windley,whiteaker,westfield,weibel,wanner,waldrep,villani,vanarsdale,utterback,updike,triggs,topete,tolar,tigner,thoms,tauber,tarvin,tally,swiney,sweatman,studebaker,stennett,starrett,stannard,stalvey,sonnenberg,smithey,sieber,sickles,shinault,segars,sanger,salmeron,rothe,rizzi,restrepo,ralls,ragusa,quiroga,papenfuss,oropeza,okane,mudge,mozingo,molinaro,mcvicker,mcgarvey,mcfalls,mccraney,matus,magers,llanos,livermore,linehan,leitner,laymon,lawing,lacourse,kwong,kollar,kneeland,kennett,kellett,kangas,janzen,hutter,huling,hofmeister,hewes,harjo,habib,guice,grullon,greggs,grayer,granier,grable,gowdy,giannini,getchell,gartman,garnica,ganey,gallimore,fetters,fergerson,farlow,fagundes,exley,esteves,enders,edenfield,easterwood,drakeford,dipasquale,desousa,deshields,deeter,dedmon,debord,daughtery,cutts,courtemanche,coursey,copple,coomes,collis,cogburn,clopton,choquette,chaidez,castrejon,calhoon,burbach,bulloch,buchman,bruhn,bohon,blough,baynes,barstow,zeman,zackery,yardley,yamashita,wulff,wilken,wiliams,wickersham,wible,whipkey,wedgeworth,walmsley,walkup,vreeland,verrill,umana,traub,swingle,summey,stroupe,stockstill,steffey,stefanski,statler,stapp,speights,solari,soderberg,shunk,shorey,shewmaker,sheilds,schiffer,schank,schaff,sagers,rochon,riser,rickett,reale,raglin,polen,plata,pitcock,percival,palen,orona,oberle,nocera,navas,nault,mullings,montejano,monreal,minick,middlebrook,meece,mcmillion,mccullen,mauck,marshburn,maillet,mahaney,magner,maclin,lucey,litteral,lippincott,leite,leaks,lamarre,jurgens,jerkins,jager,hurwitz,hughley,hotaling,horstman,hohman,hocker,hively,hipps,hessler,hermanson,hepworth,helland,hedlund,harkless,haigler,gutierez,grindstaff,glantz,giardina,gerken,gadsden,finnerty,farnum,encinas,drakes,dennie,cutlip,curtsinger,couto,cortinas,corby,chiasson,carle,carballo,brindle,borum,bober,blagg,berthiaume,beahm,batres,basnight,backes,axtell,atterberry,alvares,alegria,woodell,wojciechowski,winfree,winbush,wiest,wesner,wamsley,wakeman,verner,truex,trafton,toman,thorsen,theus,tellier,tallant,szeto,strope,stills,simkins,shuey,shaul,servin,serio,serafin,salguero,ryerson,rudder,ruark,rother,rohrbaugh,rohrbach,rohan,rogerson,risher,reeser,pryce,prokop,prins,priebe,prejean,pinheiro,petrone,petri,penson,pearlman,parikh,natoli,murakami,mullikin,mullane,motes,morningstar,mcveigh,mcgrady,mcgaughey,mccurley,marchan,manske,lusby,linde,likens,licon,leroux,lemaire,legette,laskey,laprade,laplant,kolar,kittredge,kinley,kerber,kanagy,jetton,janik,ippolito,inouye,hunsinger,howley,howery,horrell,holthaus,hiner,hilson,hilderbrand,hartzler,harnish,harada,hansford,halligan,hagedorn,gwynn,gudino,greenstein,greear,gracey,goudeau,goodner,ginsburg,gerth,gerner,fujii,frier,frenette,folmar,fleisher,fleischmann,fetzer,eisenman,earhart,dupuy,dunkelberger,drexler,dillinger,dilbeck,dewald,demby,deford,craine,chesnut,casady,carstens,carrick,carino,carignan,canchola,bushong,burman,buono,brownlow,broach,britten,brickhouse,boyden,boulton,borland,bohrer,blubaugh,bever,berggren,benevides,arocho,arends,amezcua,almendarez,zalewski,witzel,winkfield,wilhoite,vangundy,vanfleet,vanetten,vandergriff,urbanski,troiano,thibodaux,straus,stoneking,stjean,stillings,stange,speicher,speegle,smeltzer,slawson,simmonds,shuttleworth,serpa,senger,seidman,schweiger,schloss,schimmel,schechter,sayler,sabatini,ronan,rodiguez,riggleman,richins,reamer,prunty,porath,plunk,piland,philbrook,pettitt,perna,peralez,pascale,padula,oboyle,nivens,nickols,mundt,munden,montijo,mcmanis,mcgrane,mccrimmon,manzi,mangold,malick,mahar,maddock,losey,litten,leedy,leavell,ladue,krahn,kluge,junker,iversen,imler,hurtt,huizar,hubbert,howington,hollomon,holdren,hoisington,heiden,hauge,hartigan,gutirrez,griffie,greenhill,gratton,granata,gottfried,gertz,gautreaux,furry,furey,funderburg,flippen,fitzgibbon,drucker,donoghue,dildy,devers,detweiler,despres,denby,degeorge,cueto,cranston,courville,clukey,cirillo,chivers,caudillo,butera,bulluck,buckmaster,braunstein,bracamonte,bourdeau,bonnette".split(","),
18281us_tv_and_film:"you,i,to,that,it,me,what,this,know,i'm,no,have,my,don't,just,not,do,be,your,we,it's,so,but,all,well,oh,about,right,you're,get,here,out,going,like,yeah,if,can,up,want,think,that's,now,go,him,how,got,did,why,see,come,good,really,look,will,okay,back,can't,mean,tell,i'll,hey,he's,could,didn't,yes,something,because,say,take,way,little,make,need,gonna,never,we're,too,she's,i've,sure,our,sorry,what's,let,thing,maybe,down,man,very,there's,should,anything,said,much,any,even,off,please,doing,thank,give,thought,help,talk,god,still,wait,find,nothing,again,things,let's,doesn't,call,told,great,better,ever,night,away,believe,feel,everything,you've,fine,last,keep,does,put,around,stop,they're,i'd,guy,isn't,always,listen,wanted,guys,huh,those,big,lot,happened,thanks,won't,trying,kind,wrong,talking,guess,care,bad,mom,remember,getting,we'll,together,dad,leave,understand,wouldn't,actually,hear,baby,nice,father,else,stay,done,wasn't,course,might,mind,every,enough,try,hell,came,someone,you'll,whole,yourself,idea,ask,must,coming,looking,woman,room,knew,tonight,real,son,hope,went,hmm,happy,pretty,saw,girl,sir,friend,already,saying,next,job,problem,minute,thinking,haven't,heard,honey,matter,myself,couldn't,exactly,having,probably,happen,we've,hurt,boy,dead,gotta,alone,excuse,start,kill,hard,you'd,today,car,ready,without,wants,hold,wanna,yet,seen,deal,once,gone,morning,supposed,friends,head,stuff,worry,live,truth,face,forget,true,cause,soon,knows,telling,wife,who's,chance,run,move,anyone,person,bye,somebody,heart,miss,making,meet,anyway,phone,reason,damn,lost,looks,bring,case,turn,wish,tomorrow,kids,trust,check,change,anymore,least,aren't,working,makes,taking,means,brother,hate,ago,says,beautiful,gave,fact,crazy,sit,afraid,important,rest,fun,kid,word,watch,glad,everyone,sister,minutes,everybody,bit,couple,whoa,either,mrs,feeling,daughter,wow,gets,asked,break,promise,door,close,hand,easy,question,tried,far,walk,needs,mine,killed,hospital,anybody,alright,wedding,shut,able,die,perfect,stand,comes,hit,waiting,dinner,funny,husband,almost,pay,answer,cool,eyes,news,child,shouldn't,yours,moment,sleep,read,where's,sounds,sonny,pick,sometimes,bed,date,plan,hours,lose,hands,serious,shit,behind,inside,ahead,week,wonderful,fight,past,cut,quite,he'll,sick,it'll,eat,nobody,goes,save,seems,finally,lives,worried,upset,carly,met,brought,seem,sort,safe,weren't,leaving,front,shot,loved,asking,running,clear,figure,hot,felt,parents,drink,absolutely,how's,daddy,sweet,alive,sense,meant,happens,bet,blood,ain't,kidding,lie,meeting,dear,seeing,sound,fault,ten,buy,hour,speak,lady,jen,thinks,christmas,outside,hang,possible,worse,mistake,ooh,handle,spend,totally,giving,here's,marriage,realize,unless,sex,send,needed,scared,picture,talked,ass,hundred,changed,completely,explain,certainly,sign,boys,relationship,loves,hair,lying,choice,anywhere,future,weird,luck,she'll,turned,touch,kiss,crane,questions,obviously,wonder,pain,calling,somewhere,throw,straight,cold,fast,words,food,none,drive,feelings,they'll,marry,drop,cannot,dream,protect,twenty,surprise,sweetheart,poor,looked,mad,except,gun,y'know,dance,takes,appreciate,especially,situation,besides,pull,hasn't,worth,sheridan,amazing,expect,swear,piece,busy,happening,movie,we'd,catch,perhaps,step,fall,watching,kept,darling,dog,honor,moving,till,admit,problems,murder,he'd,evil,definitely,feels,honest,eye,broke,missed,longer,dollars,tired,evening,starting,entire,trip,niles,suppose,calm,imagine,fair,caught,blame,sitting,favor,apartment,terrible,clean,learn,frasier,relax,accident,wake,prove,smart,message,missing,forgot,interested,table,nbsp,mouth,pregnant,ring,careful,shall,dude,ride,figured,wear,shoot,stick,follow,angry,write,stopped,ran,standing,forgive,jail,wearing,ladies,kinda,lunch,cristian,greenlee,gotten,hoping,phoebe,thousand,ridge,paper,tough,tape,count,boyfriend,proud,agree,birthday,they've,share,offer,hurry,feet,wondering,decision,ones,finish,voice,herself,would've,mess,deserve,evidence,cute,dress,interesting,hotel,enjoy,quiet,concerned,staying,beat,sweetie,mention,clothes,fell,neither,mmm,fix,respect,prison,attention,holding,calls,surprised,bar,keeping,gift,hadn't,putting,dark,owe,ice,helping,normal,aunt,lawyer,apart,plans,jax,girlfriend,floor,whether,everything's,box,judge,upstairs,sake,mommy,possibly,worst,acting,accept,blow,strange,saved,conversation,plane,mama,yesterday,lied,quick,lately,stuck,difference,store,she'd,bought,doubt,listening,walking,cops,deep,dangerous,buffy,sleeping,chloe,rafe,join,card,crime,gentlemen,willing,window,walked,guilty,likes,fighting,difficult,soul,joke,favorite,uncle,promised,bother,seriously,cell,knowing,broken,advice,somehow,paid,losing,push,helped,killing,boss,liked,innocent,rules,learned,thirty,risk,letting,speaking,ridiculous,afternoon,apologize,nervous,charge,patient,boat,how'd,hide,detective,planning,huge,breakfast,horrible,awful,pleasure,driving,hanging,picked,sell,quit,apparently,dying,notice,congratulations,visit,could've,c'mon,letter,decide,forward,fool,showed,smell,seemed,spell,memory,pictures,slow,seconds,hungry,hearing,kitchen,ma'am,should've,realized,kick,grab,discuss,fifty,reading,idiot,suddenly,agent,destroy,bucks,shoes,peace,arms,demon,livvie,consider,papers,incredible,witch,drunk,attorney,tells,knock,ways,gives,nose,skye,turns,keeps,jealous,drug,sooner,cares,plenty,extra,outta,weekend,matters,gosh,opportunity,impossible,waste,pretend,jump,eating,proof,slept,arrest,breathe,perfectly,warm,pulled,twice,easier,goin,dating,suit,romantic,drugs,comfortable,finds,checked,divorce,begin,ourselves,closer,ruin,smile,laugh,treat,fear,what'd,otherwise,excited,mail,hiding,stole,pacey,noticed,fired,excellent,bringing,bottom,note,sudden,bathroom,honestly,sing,foot,remind,charges,witness,finding,tree,dare,hardly,that'll,steal,silly,contact,teach,shop,plus,colonel,fresh,trial,invited,roll,reach,dirty,choose,emergency,dropped,butt,credit,obvious,locked,loving,nuts,agreed,prue,goodbye,condition,guard,fuckin,grow,cake,mood,crap,crying,belong,partner,trick,pressure,dressed,taste,neck,nurse,raise,lots,carry,whoever,drinking,they'd,breaking,file,lock,wine,spot,paying,assume,asleep,turning,viki,bedroom,shower,nikolas,camera,fill,reasons,forty,bigger,nope,breath,doctors,pants,freak,movies,folks,cream,wild,truly,desk,convince,client,threw,hurts,spending,answers,shirt,chair,rough,doin,sees,ought,empty,wind,aware,dealing,pack,tight,hurting,guest,arrested,salem,confused,surgery,expecting,deacon,unfortunately,goddamn,bottle,beyond,whenever,pool,opinion,starts,jerk,secrets,falling,necessary,barely,dancing,tests,copy,cousin,ahem,twelve,tess,skin,fifteen,speech,orders,complicated,nowhere,escape,biggest,restaurant,grateful,usual,burn,address,someplace,screw,everywhere,regret,goodness,mistakes,details,responsibility,suspect,corner,hero,dumb,terrific,whoo,hole,memories,o'clock,teeth,ruined,bite,stenbeck,liar,showing,cards,desperate,search,pathetic,spoke,scare,marah,afford,settle,stayed,checking,hired,heads,concern,blew,alcazar,champagne,connection,tickets,happiness,saving,kissing,hated,personally,suggest,prepared,onto,downstairs,ticket,it'd,loose,holy,duty,convinced,throwing,kissed,legs,loud,saturday,babies,where'd,warning,miracle,carrying,blind,ugly,shopping,hates,sight,bride,coat,clearly,celebrate,brilliant,wanting,forrester,lips,custody,screwed,buying,toast,thoughts,reality,lexie,attitude,advantage,grandfather,sami,grandma,someday,roof,marrying,powerful,grown,grandmother,fake,must've,ideas,exciting,familiar,bomb,bout,harmony,schedule,capable,practically,correct,clue,forgotten,appointment,deserves,threat,bloody,lonely,shame,jacket,hook,scary,investigation,invite,shooting,lesson,criminal,victim,funeral,considering,burning,strength,harder,sisters,pushed,shock,pushing,heat,chocolate,miserable,corinthos,nightmare,brings,zander,crash,chances,sending,recognize,healthy,boring,feed,engaged,headed,treated,knife,drag,badly,hire,paint,pardon,behavior,closet,warn,gorgeous,milk,survive,ends,dump,rent,remembered,thanksgiving,rain,revenge,prefer,spare,pray,disappeared,aside,statement,sometime,meat,fantastic,breathing,laughing,stood,affair,ours,depends,protecting,jury,brave,fingers,murdered,explanation,picking,blah,stronger,handsome,unbelievable,anytime,shake,oakdale,wherever,pulling,facts,waited,lousy,circumstances,disappointed,weak,trusted,license,nothin,trash,understanding,slip,sounded,awake,friendship,stomach,weapon,threatened,mystery,vegas,understood,basically,switch,frankly,cheap,lifetime,deny,clock,garbage,why'd,tear,ears,indeed,changing,singing,tiny,decent,avoid,messed,filled,touched,disappear,exact,pills,kicked,harm,fortune,pretending,insurance,fancy,drove,cared,belongs,nights,lorelai,lift,timing,guarantee,chest,woke,burned,watched,heading,selfish,drinks,doll,committed,elevator,freeze,noise,wasting,ceremony,uncomfortable,staring,files,bike,stress,permission,thrown,possibility,borrow,fabulous,doors,screaming,bone,xander,what're,meal,apology,anger,honeymoon,bail,parking,fixed,wash,stolen,sensitive,stealing,photo,chose,lets,comfort,worrying,pocket,mateo,bleeding,shoulder,ignore,talent,tied,garage,dies,demons,dumped,witches,rude,crack,bothering,radar,soft,meantime,gimme,kinds,fate,concentrate,throat,prom,messages,intend,ashamed,somethin,manage,guilt,interrupt,guts,tongue,shoe,basement,sentence,purse,glasses,cabin,universe,repeat,mirror,wound,travers,tall,engagement,therapy,emotional,jeez,decisions,soup,thrilled,stake,chef,moves,extremely,moments,expensive,counting,shots,kidnapped,cleaning,shift,plate,impressed,smells,trapped,aidan,knocked,charming,attractive,argue,puts,whip,embarrassed,package,hitting,bust,stairs,alarm,pure,nail,nerve,incredibly,walks,dirt,stamp,terribly,friendly,damned,jobs,suffering,disgusting,stopping,deliver,riding,helps,disaster,bars,crossed,trap,talks,eggs,chick,threatening,spoken,introduce,confession,embarrassing,bags,impression,gate,reputation,presents,chat,suffer,argument,talkin,crowd,homework,coincidence,cancel,pride,solve,hopefully,pounds,pine,mate,illegal,generous,outfit,maid,bath,punch,freaked,begging,recall,enjoying,prepare,wheel,defend,signs,painful,yourselves,maris,that'd,suspicious,cooking,button,warned,sixty,pity,yelling,awhile,confidence,offering,pleased,panic,hers,gettin,refuse,grandpa,testify,choices,cruel,mental,gentleman,coma,cutting,proteus,guests,expert,benefit,faces,jumped,toilet,sneak,halloween,privacy,smoking,reminds,twins,swing,solid,options,commitment,crush,ambulance,wallet,gang,eleven,option,laundry,assure,stays,skip,fail,discussion,clinic,betrayed,sticking,bored,mansion,soda,sheriff,suite,handled,busted,load,happier,studying,romance,procedure,commit,assignment,suicide,minds,swim,yell,llanview,chasing,proper,believes,humor,hopes,lawyers,giant,latest,escaped,parent,tricks,insist,dropping,cheer,medication,flesh,routine,sandwich,handed,false,beating,warrant,awfully,odds,treating,thin,suggesting,fever,sweat,silent,clever,sweater,mall,sharing,assuming,judgment,goodnight,divorced,surely,steps,confess,math,listened,comin,answered,vulnerable,bless,dreaming,chip,zero,pissed,nate,kills,tears,knees,chill,brains,unusual,packed,dreamed,cure,lookin,grave,cheating,breaks,locker,gifts,awkward,thursday,joking,reasonable,dozen,curse,quartermaine,millions,dessert,rolling,detail,alien,delicious,closing,vampires,wore,tail,secure,salad,murderer,spit,offense,dust,conscience,bread,answering,lame,invitation,grief,smiling,pregnancy,prisoner,delivery,guards,virus,shrink,freezing,wreck,massimo,wire,technically,blown,anxious,cave,holidays,cleared,wishes,caring,candles,bound,charm,pulse,jumping,jokes,boom,occasion,silence,nonsense,frightened,slipped,dimera,blowing,relationships,kidnapping,spin,tool,roxy,packing,blaming,wrap,obsessed,fruit,torture,personality,there'll,fairy,necessarily,seventy,print,motel,underwear,grams,exhausted,believing,freaking,carefully,trace,touching,messing,recovery,intention,consequences,belt,sacrifice,courage,enjoyed,attracted,remove,testimony,intense,heal,defending,unfair,relieved,loyal,slowly,buzz,alcohol,surprises,psychiatrist,plain,attic,who'd,uniform,terrified,cleaned,zach,threaten,fella,enemies,satisfied,imagination,hooked,headache,forgetting,counselor,andie,acted,badge,naturally,frozen,sakes,appropriate,trunk,dunno,costume,sixteen,impressive,kicking,junk,grabbed,understands,describe,clients,owns,affect,witnesses,starving,instincts,happily,discussing,deserved,strangers,surveillance,admire,questioning,dragged,barn,deeply,wrapped,wasted,tense,hoped,fellas,roommate,mortal,fascinating,stops,arrangements,agenda,literally,propose,honesty,underneath,sauce,promises,lecture,eighty,torn,shocked,backup,differently,ninety,deck,biological,pheebs,ease,creep,waitress,telephone,ripped,raising,scratch,rings,prints,thee,arguing,ephram,asks,oops,diner,annoying,taggert,sergeant,blast,towel,clown,habit,creature,bermuda,snap,react,paranoid,handling,eaten,therapist,comment,sink,reporter,nurses,beats,priority,interrupting,warehouse,loyalty,inspector,pleasant,excuses,threats,guessing,tend,praying,motive,unconscious,mysterious,unhappy,tone,switched,rappaport,sookie,neighbor,loaded,swore,piss,balance,toss,misery,thief,squeeze,lobby,goa'uld,geez,exercise,forth,booked,sandburg,poker,eighteen,d'you,bury,everyday,digging,creepy,wondered,liver,hmmm,magical,fits,discussed,moral,helpful,searching,flew,depressed,aisle,cris,amen,vows,neighbors,darn,cents,arrange,annulment,useless,adventure,resist,fourteen,celebrating,inch,debt,violent,sand,teal'c,celebration,reminded,phones,paperwork,emotions,stubborn,pound,tension,stroke,steady,overnight,chips,beef,suits,boxes,cassadine,collect,tragedy,spoil,realm,wipe,surgeon,stretch,stepped,nephew,neat,limo,confident,perspective,climb,punishment,finest,springfield,hint,furniture,blanket,twist,proceed,fries,worries,niece,gloves,soap,signature,disappoint,crawl,convicted,flip,counsel,doubts,crimes,accusing,shaking,remembering,hallway,halfway,bothered,madam,gather,cameras,blackmail,symptoms,rope,ordinary,imagined,cigarette,supportive,explosion,trauma,ouch,furious,cheat,avoiding,whew,thick,oooh,boarding,approve,urgent,shhh,misunderstanding,drawer,phony,interfere,catching,bargain,tragic,respond,punish,penthouse,thou,rach,ohhh,insult,bugs,beside,begged,absolute,strictly,socks,senses,sneaking,reward,polite,checks,tale,physically,instructions,fooled,blows,tabby,bitter,adorable,y'all,tested,suggestion,jewelry,alike,jacks,distracted,shelter,lessons,constable,circus,audition,tune,shoulders,mask,helpless,feeding,explains,sucked,robbery,objection,behave,valuable,shadows,courtroom,confusing,talented,smarter,mistaken,customer,bizarre,scaring,motherfucker,alert,vecchio,reverend,foolish,compliment,bastards,worker,wheelchair,protective,gentle,reverse,picnic,knee,cage,wives,wednesday,voices,toes,stink,scares,pour,cheated,slide,ruining,filling,exit,cottage,upside,proves,parked,diary,complaining,confessed,pipe,merely,massage,chop,spill,prayer,betray,waiter,scam,rats,fraud,brush,tables,sympathy,pill,filthy,seventeen,employee,bracelet,pays,fairly,deeper,arrive,tracking,spite,shed,recommend,oughta,nanny,menu,diet,corn,roses,patch,dime,devastated,subtle,bullets,beans,pile,confirm,strings,parade,borrowed,toys,straighten,steak,premonition,planted,honored,exam,convenient,traveling,laying,insisted,dish,aitoro,kindly,grandson,donor,temper,teenager,proven,mothers,denial,backwards,tent,swell,noon,happiest,drives,thinkin,spirits,potion,holes,fence,whatsoever,rehearsal,overheard,lemme,hostage,bench,tryin,taxi,shove,moron,impress,needle,intelligent,instant,disagree,stinks,rianna,recover,groom,gesture,constantly,bartender,suspects,sealed,legally,hears,dresses,sheet,psychic,teenage,knocking,judging,accidentally,waking,rumor,manners,homeless,hollow,desperately,tapes,referring,item,genoa,gear,majesty,cried,tons,spells,instinct,quote,motorcycle,convincing,fashioned,aids,accomplished,grip,bump,upsetting,needing,invisible,forgiveness,feds,compare,bothers,tooth,inviting,earn,compromise,cocktail,tramp,jabot,intimate,dignity,dealt,souls,informed,gods,dressing,cigarettes,alistair,leak,fond,corky,seduce,liquor,fingerprints,enchantment,butters,stuffed,stavros,emotionally,transplant,tips,oxygen,nicely,lunatic,drill,complain,announcement,unfortunate,slap,prayers,plug,opens,oath,o'neill,mutual,yacht,remembers,fried,extraordinary,bait,warton,sworn,stare,safely,reunion,burst,might've,dive,aboard,expose,buddies,trusting,booze,sweep,sore,scudder,properly,parole,ditch,canceled,speaks,glow,wears,thirsty,skull,ringing,dorm,dining,bend,unexpected,pancakes,harsh,flattered,ahhh,troubles,fights,favourite,eats,rage,undercover,spoiled,sloane,shine,destroying,deliberately,conspiracy,thoughtful,sandwiches,plates,nails,miracles,fridge,drank,contrary,beloved,allergic,washed,stalking,solved,sack,misses,forgiven,bent,maciver,involve,dragging,cooked,pointing,foul,dull,beneath,heels,faking,deaf,stunt,jealousy,hopeless,fears,cuts,scenario,necklace,crashed,accuse,restraining,homicide,helicopter,firing,safer,auction,videotape,tore,reservations,pops,appetite,wounds,vanquish,ironic,fathers,excitement,anyhow,tearing,sends,rape,laughed,belly,dealer,cooperate,accomplish,wakes,spotted,sorts,reservation,ashes,tastes,supposedly,loft,intentions,integrity,wished,towels,suspected,investigating,inappropriate,lipstick,lawn,compassion,cafeteria,scarf,precisely,obsession,loses,lighten,infection,granddaughter,explode,balcony,this'll,spying,publicity,depend,cracked,conscious,ally,absurd,vicious,invented,forbid,directions,defendant,bare,announce,screwing,salesman,robbed,leap,lakeview,insanity,reveal,possibilities,kidnap,gown,chairs,wishing,setup,punished,criminals,regrets,raped,quarters,lamp,dentist,anyways,anonymous,semester,risks,owes,lungs,explaining,delicate,tricked,eager,doomed,adoption,stab,sickness,scum,floating,envelope,vault,sorel,pretended,potatoes,plea,photograph,payback,misunderstood,kiddo,healing,cascade,capeside,stabbed,remarkable,brat,privilege,passionate,nerves,lawsuit,kidney,disturbed,cozy,tire,shirts,oven,ordering,delay,risky,monsters,honorable,grounded,closest,breakdown,bald,abandon,scar,collar,worthless,sucking,enormous,disturbing,disturb,distract,deals,conclusions,vodka,dishes,crawling,briefcase,wiped,whistle,sits,roast,rented,pigs,flirting,deposit,bottles,topic,riot,overreacting,logical,hostile,embarrass,casual,beacon,amusing,altar,claus,survival,skirt,shave,porch,ghosts,favors,drops,dizzy,chili,advise,strikes,rehab,photographer,peaceful,leery,heavens,fortunately,fooling,expectations,cigar,weakness,ranch,practicing,examine,cranes,bribe,sail,prescription,hush,fragile,forensics,expense,drugged,cows,bells,visitor,suitcase,sorta,scan,manticore,insecure,imagining,hardest,clerk,wrist,what'll,starters,silk,pump,pale,nicer,haul,flies,boot,thumb,there'd,how're,elders,quietly,pulls,idiots,erase,denying,ankle,amnesia,accepting,heartbeat,devane,confront,minus,legitimate,fixing,arrogant,tuna,supper,slightest,sins,sayin,recipe,pier,paternity,humiliating,genuine,snack,rational,minded,guessed,weddings,tumor,humiliated,aspirin,spray,picks,eyed,drowning,contacts,ritual,perfume,hiring,hating,docks,creatures,visions,thanking,thankful,sock,nineteen,fork,throws,teenagers,stressed,slice,rolls,plead,ladder,kicks,detectives,assured,tellin,shallow,responsibilities,repay,howdy,girlfriends,deadly,comforting,ceiling,verdict,insensitive,spilled,respected,messy,interrupted,halliwell,blond,bleed,wardrobe,takin,murders,backs,underestimate,justify,harmless,frustrated,fold,enzo,communicate,bugging,arson,whack,salary,rumors,obligation,liking,dearest,congratulate,vengeance,rack,puzzle,fires,courtesy,caller,blamed,tops,quiz,prep,curiosity,circles,barbecue,sunnydale,spinning,psychotic,cough,accusations,resent,laughs,freshman,envy,drown,bartlet,asses,sofa,poster,highness,dock,apologies,theirs,stat,stall,realizes,psych,mmmm,fools,understandable,treats,succeed,stir,relaxed,makin,gratitude,faithful,accent,witter,wandering,locate,inevitable,gretel,deed,crushed,controlling,smelled,robe,gossip,gambling,cosmetics,accidents,surprising,stiff,sincere,rushed,refrigerator,preparing,nightmares,mijo,ignoring,hunch,fireworks,drowned,brass,whispering,sophisticated,luggage,hike,explore,emotion,crashing,contacted,complications,shining,rolled,righteous,reconsider,goody,geek,frightening,ethics,creeps,courthouse,camping,affection,smythe,haircut,essay,baked,apologized,vibe,respects,receipt,mami,hats,destructive,adore,adopt,tracked,shorts,reminding,dough,creations,cabot,barrel,snuck,slight,reporters,pressing,magnificent,madame,lazy,glorious,fiancee,bits,visitation,sane,kindness,shoulda,rescued,mattress,lounge,lifted,importantly,glove,enterprises,disappointment,condo,beings,admitting,yelled,waving,spoon,screech,satisfaction,reads,nailed,worm,tick,resting,marvelous,fuss,cortlandt,chased,pockets,luckily,lilith,filing,conversations,consideration,consciousness,worlds,innocence,forehead,aggressive,trailer,slam,quitting,inform,delighted,daylight,danced,confidential,aunts,washing,tossed,spectra,marrow,lined,implying,hatred,grill,corpse,clues,sober,offended,morgue,infected,humanity,distraction,cart,wired,violation,promising,harassment,glue,d'angelo,cursed,brutal,warlocks,wagon,unpleasant,proving,priorities,mustn't,lease,flame,disappearance,depressing,thrill,sitter,ribs,flush,earrings,deadline,corporal,collapsed,update,snapped,smack,melt,figuring,delusional,coulda,burnt,tender,sperm,realise,pork,popped,interrogation,esteem,choosing,undo,pres,prayed,plague,manipulate,insulting,detention,delightful,coffeehouse,betrayal,apologizing,adjust,wrecked,wont,whipped,rides,reminder,monsieur,faint,bake,distress,correctly,complaint,blocked,tortured,risking,pointless,handing,dumping,cups,alibi,struggling,shiny,risked,mummy,mint,hose,hobby,fortunate,fleischman,fitting,curtain,counseling,rode,puppet,modeling,memo,irresponsible,humiliation,hiya,freakin,felony,choke,blackmailing,appreciated,tabloid,suspicion,recovering,pledge,panicked,nursery,louder,jeans,investigator,homecoming,frustrating,buys,busting,buff,sleeve,irony,dope,declare,autopsy,workin,torch,prick,limb,hysterical,goddamnit,fetch,dimension,crowded,clip,climbing,bonding,woah,trusts,negotiate,lethal,iced,fantasies,deeds,bore,babysitter,questioned,outrageous,kiriakis,insulted,grudge,driveway,deserted,definite,beep,wires,suggestions,searched,owed,lend,drunken,demanding,costanza,conviction,bumped,weigh,touches,tempted,shout,resolve,relate,poisoned,meals,invitations,haunted,bogus,autograph,affects,tolerate,stepping,spontaneous,sleeps,probation,manny,fist,spectacular,hostages,heroin,havin,habits,encouraging,consult,burgers,boyfriends,bailed,baggage,watches,troubled,torturing,teasing,sweetest,qualities,postpone,overwhelmed,malkovich,impulse,classy,charging,amazed,policeman,hypocrite,humiliate,hideous,d'ya,costumes,bluffing,betting,bein,bedtime,alcoholic,vegetable,tray,suspicions,spreading,splendid,shrimp,shouting,pressed,nooo,grieving,gladly,fling,eliminate,cereal,aaah,sonofabitch,paralyzed,lotta,locks,guaranteed,dummy,despise,dental,briefing,bluff,batteries,whatta,sounding,servants,presume,handwriting,fainted,dried,allright,acknowledge,whacked,toxic,reliable,quicker,overwhelming,lining,harassing,fatal,endless,dolls,convict,whatcha,unlikely,shutting,positively,overcome,goddam,essence,dose,diagnosis,cured,bully,ahold,yearbook,tempting,shelf,prosecution,pouring,possessed,greedy,wonders,thorough,spine,rath,psychiatric,meaningless,latte,jammed,ignored,fiance,evidently,contempt,compromised,cans,weekends,urge,theft,suing,shipment,scissors,responding,proposition,noises,matching,hormones,hail,grandchildren,gently,smashed,sexually,sentimental,nicest,manipulated,intern,handcuffs,framed,errands,entertaining,crib,carriage,barge,spends,slipping,seated,rubbing,rely,reject,recommendation,reckon,headaches,float,embrace,corners,whining,sweating,skipped,mountie,motives,listens,cristobel,cleaner,cheerleader,balsom,unnecessary,stunning,scent,quartermaines,pose,montega,loosen,info,hottest,haunt,gracious,forgiving,errand,cakes,blames,abortion,sketch,shifts,plotting,perimeter,pals,mere,mattered,lonigan,interference,eyewitness,enthusiasm,diapers,strongest,shaken,punched,portal,catches,backyard,terrorists,sabotage,organs,needy,cuff,civilization,woof,who'll,prank,obnoxious,mates,hereby,gabby,faked,cellar,whitelighter,void,strangle,sour,muffins,interfering,demonic,clearing,boutique,barrington,terrace,smoked,righty,quack,petey,pact,knot,ketchup,disappearing,cordy,uptight,ticking,terrifying,tease,swamp,secretly,rejection,reflection,realizing,rays,mentally,marone,doubted,deception,congressman,cheesy,toto,stalling,scoop,ribbon,immune,expects,destined,bets,bathing,appreciation,accomplice,wander,shoved,sewer,scroll,retire,lasts,fugitive,freezer,discount,cranky,crank,clearance,bodyguard,anxiety,accountant,whoops,volunteered,talents,stinking,remotely,garlic,decency,cord,beds,altogether,uniforms,tremendous,popping,outa,observe,lung,hangs,feelin,dudes,donation,disguise,curb,bites,antique,toothbrush,realistic,predict,landlord,hourglass,hesitate,consolation,babbling,tipped,stranded,smartest,repeating,puke,psst,paycheck,overreacted,macho,juvenile,grocery,freshen,disposal,cuffs,caffeine,vanished,unfinished,ripping,pinch,flattering,expenses,dinners,colleague,ciao,belthazor,attorneys,woulda,whereabouts,waitin,truce,tripped,tasted,steer,poisoning,manipulative,immature,husbands,heel,granddad,delivering,condoms,addict,trashed,raining,pasta,needles,leaning,detector,coolest,batch,appointments,almighty,vegetables,spark,perfection,pains,momma,mole,meow,hairs,getaway,cracking,compliments,behold,verge,tougher,timer,tapped,taped,specialty,snooping,shoots,rendezvous,pentagon,leverage,jeopardize,janitor,grandparents,forbidden,clueless,bidding,ungrateful,unacceptable,tutor,serum,scuse,pajamas,mouths,lure,irrational,doom,cries,beautifully,arresting,approaching,traitor,sympathetic,smug,smash,rental,prostitute,premonitions,jumps,inventory,darlin,committing,banging,asap,worms,violated,vent,traumatic,traced,sweaty,shaft,overboard,insight,healed,grasp,experiencing,crappy,crab,chunk,awww,stain,shack,reacted,pronounce,poured,moms,marriages,jabez,handful,flipped,fireplace,embarrassment,disappears,concussion,bruises,brakes,twisting,swept,summon,splitting,sloppy,settling,reschedule,notch,hooray,grabbing,exquisite,disrespect,thornhart,straw,slapped,shipped,shattered,ruthless,refill,payroll,numb,mourning,manly,hunk,entertain,drift,dreadful,doorstep,confirmation,chops,appreciates,vague,tires,stressful,stashed,stash,sensed,preoccupied,predictable,noticing,madly,gunshot,dozens,dork,confuse,cleaners,charade,chalk,cappuccino,bouquet,amulet,addiction,who've,warming,unlock,satisfy,sacrificed,relaxing,lone,blocking,blend,blankets,addicted,yuck,hunger,hamburger,greeting,greet,gravy,gram,dreamt,dice,caution,backpack,agreeing,whale,taller,supervisor,sacrifices,phew,ounce,irrelevant,gran,felon,favorites,farther,fade,erased,easiest,convenience,compassionate,cane,backstage,agony,adores,veins,tweek,thieves,surgical,strangely,stetson,recital,proposing,productive,meaningful,immunity,hassle,goddamned,frighten,dearly,cease,ambition,wage,unstable,salvage,richer,refusing,raging,pumping,pressuring,mortals,lowlife,intimidated,intentionally,inspire,forgave,devotion,despicable,deciding,dash,comfy,breach,bark,aaaah,switching,swallowed,stove,screamed,scars,russians,pounding,poof,pipes,pawn,legit,invest,farewell,curtains,civilized,caviar,boost,token,superstition,supernatural,sadness,recorder,psyched,motivated,microwave,hallelujah,fraternity,dryer,cocoa,chewing,acceptable,unbelievably,smiled,smelling,simpler,respectable,remarks,khasinau,indication,gutter,grabs,fulfill,flashlight,ellenor,blooded,blink,blessings,beware,uhhh,turf,swings,slips,shovel,shocking,puff,mirrors,locking,heartless,fras,childish,cardiac,utterly,tuscany,ticked,stunned,statesville,sadly,purely,kiddin,jerks,hitch,flirt,fare,equals,dismiss,christening,casket,c'mere,breakup,biting,antibiotics,accusation,abducted,witchcraft,thread,runnin,punching,paramedics,newest,murdering,masks,lawndale,initials,grampa,choking,charms,careless,bushes,buns,bummed,shred,saves,saddle,rethink,regards,precinct,persuade,meds,manipulating,llanfair,leash,hearted,guarantees,fucks,disgrace,deposition,bookstore,boil,vitals,veil,trespassing,sidewalk,sensible,punishing,overtime,optimistic,obsessing,notify,mornin,jeopardy,jaffa,injection,hilarious,desires,confide,cautious,yada,where're,vindictive,vial,teeny,stroll,sittin,scrub,rebuild,posters,ordeal,nuns,intimacy,inheritance,exploded,donate,distracting,despair,crackers,wildwind,virtue,thoroughly,tails,spicy,sketches,sights,sheer,shaving,seize,scarecrow,refreshing,prosecute,platter,napkin,misplaced,merchandise,loony,jinx,heroic,frankenstein,ambitious,syrup,solitary,resemblance,reacting,premature,lavery,flashes,cheque,awright,acquainted,wrapping,untie,salute,realised,priceless,partying,lightly,lifting,kasnoff,insisting,glowing,generator,explosives,cutie,confronted,buts,blouse,ballistic,antidote,analyze,allowance,adjourned,unto,understatement,tucked,touchy,subconscious,screws,sarge,roommates,rambaldi,offend,nerd,knives,irresistible,incapable,hostility,goddammit,fuse,frat,curfew,blackmailed,walkin,starve,sleigh,sarcastic,recess,rebound,pinned,parlor,outfits,livin,heartache,haired,fundraiser,doorman,discreet,dilucca,cracks,considerate,climbed,catering,apophis,zoey,urine,strung,stitches,sordid,sark,protector,phoned,pets,hostess,flaw,flavor,deveraux,consumed,confidentiality,bourbon,straightened,specials,spaghetti,prettier,powerless,playin,playground,paranoia,instantly,havoc,exaggerating,eavesdropping,doughnuts,diversion,deepest,cutest,comb,bela,behaving,anyplace,accessory,workout,translate,stuffing,speeding,slime,royalty,polls,marital,lurking,lottery,imaginary,greetings,fairwinds,elegant,elbow,credibility,credentials,claws,chopped,bridal,bedside,babysitting,witty,unforgivable,underworld,tempt,tabs,sophomore,selfless,secrecy,restless,okey,movin,metaphor,messes,meltdown,lecter,incoming,gasoline,diefenbaker,buckle,admired,adjustment,warmth,throats,seduced,queer,parenting,noses,luckiest,graveyard,gifted,footsteps,dimeras,cynical,wedded,verbal,unpredictable,tuned,stoop,slides,sinking,rigged,plumbing,lingerie,hankey,greed,everwood,elope,dresser,chauffeur,bulletin,bugged,bouncing,temptation,strangest,slammed,sarcasm,pending,packages,orderly,obsessive,murderers,meteor,inconvenience,glimpse,froze,execute,courageous,consulate,closes,bosses,bees,amends,wuss,wolfram,wacky,unemployed,testifying,syringe,stew,startled,sorrow,sleazy,shaky,screams,rsquo,remark,poke,nutty,mentioning,mend,inspiring,impulsive,housekeeper,foam,fingernails,conditioning,baking,whine,thug,starved,sniffing,sedative,programmed,picket,paged,hound,homosexual,homo,hips,forgets,flipping,flea,flatter,dwell,dumpster,choo,assignments,ants,vile,unreasonable,tossing,thanked,steals,souvenir,scratched,psychopath,outs,obstruction,obey,lump,insists,harass,gloat,filth,edgy,didn,coroner,confessing,bruise,betraying,bailing,appealing,adebisi,wrath,wandered,waist,vain,traps,stepfather,poking,obligated,heavenly,dilemma,crazed,contagious,coaster,cheering,bundle,vomit,thingy,speeches,robbing,raft,pumped,pillows,peep,packs,neglected,m'kay,loneliness,intrude,helluva,gardener,forresters,drooling,betcha,vase,supermarket,squat,spitting,rhyme,relieve,receipts,racket,pictured,pause,overdue,motivation,morgendorffer,kidnapper,insect,horns,feminine,eyeballs,dumps,disappointing,crock,convertible,claw,clamp,canned,cambias,bathtub,avanya,artery,weep,warmer,suspense,summoned,spiders,reiber,raving,pushy,postponed,ohhhh,noooo,mold,laughter,incompetent,hugging,groceries,drip,communicating,auntie,adios,wraps,wiser,willingly,weirdest,timmih,thinner,swelling,swat,steroids,sensitivity,scrape,rehearse,prophecy,ledge,justified,insults,hateful,handles,doorway,chatting,buyer,buckaroo,bedrooms,askin,ammo,tutoring,subpoena,scratching,privileges,pager,mart,intriguing,idiotic,grape,enlighten,corrupt,brunch,bridesmaid,barking,applause,acquaintance,wretched,superficial,soak,smoothly,sensing,restraint,posing,pleading,payoff,oprah,nemo,morals,loaf,jumpy,ignorant,herbal,hangin,germs,generosity,flashing,doughnut,clumsy,chocolates,captive,behaved,apologise,vanity,stumbled,preview,poisonous,perjury,parental,onboard,mugged,minding,linen,knots,interviewing,humour,grind,greasy,goons,drastic,coop,comparing,cocky,clearer,bruised,brag,bind,worthwhile,whoop,vanquishing,tabloids,sprung,spotlight,sentencing,racist,provoke,pining,overly,locket,imply,impatient,hovering,hotter,fest,endure,dots,doren,debts,crawled,chained,brit,breaths,weirdo,warmed,wand,troubling,tok'ra,strapped,soaked,skipping,scrambled,rattle,profound,musta,mocking,misunderstand,limousine,kacl,hustle,forensic,enthusiastic,duct,drawers,devastating,conquer,clarify,chores,cheerleaders,cheaper,callin,blushing,barging,abused,yoga,wrecking,wits,waffles,virginity,vibes,uninvited,unfaithful,teller,strangled,scheming,ropes,rescuing,rave,postcard,o'reily,morphine,lotion,lads,kidneys,judgement,itch,indefinitely,grenade,glamorous,genetically,freud,discretion,delusions,crate,competent,bakery,argh,ahhhh,wedge,wager,unfit,tripping,torment,superhero,stirring,spinal,sorority,seminar,scenery,rabble,pneumonia,perks,override,ooooh,mija,manslaughter,mailed,lime,lettuce,intimidate,guarded,grieve,grad,frustration,doorbell,chinatown,authentic,arraignment,annulled,allergies,wanta,verify,vegetarian,tighter,telegram,stalk,spared,shoo,satisfying,saddam,requesting,pens,overprotective,obstacles,notified,nasedo,grandchild,genuinely,flushed,fluids,floss,escaping,ditched,cramp,corny,bunk,bitten,billions,bankrupt,yikes,wrists,ultrasound,ultimatum,thirst,sniff,shakes,salsa,retrieve,reassuring,pumps,neurotic,negotiating,needn't,monitors,millionaire,lydecker,limp,incriminating,hatchet,gracias,gordie,fills,feeds,doubting,decaf,biopsy,whiz,voluntarily,ventilator,unpack,unload,toad,spooked,snitch,schillinger,reassure,persuasive,mystical,mysteries,matrimony,mails,jock,headline,explanations,dispatch,curly,cupid,condolences,comrade,cassadines,bulb,bragging,awaits,assaulted,ambush,adolescent,abort,yank,whit,vaguely,undermine,tying,swamped,stabbing,slippers,slash,sincerely,sigh,setback,secondly,rotting,precaution,pcpd,melting,liaison,hots,hooking,headlines,haha,ganz,fury,felicity,fangs,encouragement,earring,dreidel,dory,donut,dictate,decorating,cocktails,bumps,blueberry,believable,backfired,backfire,apron,adjusting,vous,vouch,vitamins,ummm,tattoos,slimy,sibling,shhhh,renting,peculiar,parasite,paddington,marries,mailbox,magically,lovebirds,knocks,informant,exits,drazen,distractions,disconnected,dinosaurs,dashwood,crooked,conveniently,wink,warped,underestimated,tacky,shoving,seizure,reset,pushes,opener,mornings,mash,invent,indulge,horribly,hallucinating,festive,eyebrows,enjoys,desperation,dealers,darkest,daph,boragora,belts,bagel,authorization,auditions,agitated,wishful,wimp,vanish,unbearable,tonic,suffice,suction,slaying,safest,rocking,relive,puttin,prettiest,noisy,newlyweds,nauseous,misguided,mildly,midst,liable,judgmental,indy,hunted,givin,fascinated,elephants,dislike,deluded,decorate,crummy,contractions,carve,bottled,bonded,bahamas,unavailable,twenties,trustworthy,surgeons,stupidity,skies,remorse,preferably,pies,nausea,napkins,mule,mourn,melted,mashed,inherit,greatness,golly,excused,dumbo,drifting,delirious,damaging,cubicle,compelled,comm,chooses,checkup,boredom,bandages,alarms,windshield,who're,whaddya,transparent,surprisingly,sunglasses,slit,roar,reade,prognosis,probe,pitiful,persistent,peas,nosy,nagging,morons,masterpiece,martinis,limbo,liars,irritating,inclined,hump,hoynes,fiasco,eatin,cubans,concentrating,colorful,clam,cider,brochure,barto,bargaining,wiggle,welcoming,weighing,vanquished,stains,sooo,snacks,smear,sire,resentment,psychologist,pint,overhear,morality,landingham,kisser,hoot,holling,handshake,grilled,formality,elevators,depths,confirms,boathouse,accidental,westbridge,wacko,ulterior,thugs,thighs,tangled,stirred,snag,sling,sleaze,rumour,ripe,remarried,puddle,pins,perceptive,miraculous,longing,lockup,librarian,impressions,immoral,hypothetically,guarding,gourmet,gabe,faxed,extortion,downright,digest,cranberry,bygones,buzzing,burying,bikes,weary,taping,takeout,sweeping,stepmother,stale,senor,seaborn,pros,pepperoni,newborn,ludicrous,injected,geeks,forged,faults,drue,dire,dief,desi,deceiving,caterer,calmed,budge,ankles,vending,typing,tribbiani,there're,squared,snowing,shades,sexist,rewrite,regretted,raises,picky,orphan,mural,misjudged,miscarriage,memorize,leaking,jitters,invade,interruption,illegally,handicapped,glitch,gittes,finer,distraught,dispose,dishonest,digs,dads,cruelty,circling,canceling,butterflies,belongings,barbrady,amusement,alias,zombies,where've,unborn,swearing,stables,squeezed,sensational,resisting,radioactive,questionable,privileged,portofino,owning,overlook,orson,oddly,interrogate,imperative,impeccable,hurtful,hors,heap,graders,glance,disgust,devious,destruct,crazier,countdown,chump,cheeseburger,burglar,berries,ballroom,assumptions,annoyed,allergy,admirer,admirable,activate,underpants,twit,tack,strokes,stool,sham,scrap,retarded,resourceful,remarkably,refresh,pressured,precautions,pointy,nightclub,mustache,maui,lace,hunh,hubby,flare,dont,dokey,dangerously,crushing,clinging,choked,chem,cheerleading,checkbook,cashmere,calmly,blush,believer,amazingly,alas,what've,toilets,tacos,stairwell,spirited,sewing,rubbed,punches,protects,nuisance,motherfuckers,mingle,kynaston,knack,kinkle,impose,gullible,godmother,funniest,friggin,folding,fashions,eater,dysfunctional,drool,dripping,ditto,cruising,criticize,conceive,clone,cedars,caliber,brighter,blinded,birthdays,banquet,anticipate,annoy,whim,whichever,volatile,veto,vested,shroud,rests,reindeer,quarantine,pleases,painless,orphans,orphanage,offence,obliged,negotiation,narcotics,mistletoe,meddling,manifest,lookit,lilah,intrigued,injustice,homicidal,gigantic,exposing,elves,disturbance,disastrous,depended,demented,correction,cooped,cheerful,buyers,brownies,beverage,basics,arvin,weighs,upsets,unethical,swollen,sweaters,stupidest,sensation,scalpel,props,prescribed,pompous,objections,mushrooms,mulwray,manipulation,lured,internship,insignificant,inmate,incentive,fulfilled,disagreement,crypt,cornered,copied,brightest,beethoven,attendant,amaze,yogurt,wyndemere,vocabulary,tulsa,tactic,stuffy,respirator,pretends,polygraph,pennies,ordinarily,olives,necks,morally,martyr,leftovers,joints,hopping,homey,hints,heartbroken,forge,florist,firsthand,fiend,dandy,crippled,corrected,conniving,conditioner,clears,chemo,bubbly,bladder,beeper,baptism,wiring,wench,weaknesses,volunteering,violating,unlocked,tummy,surrogate,subid,stray,startle,specifics,slowing,scoot,robbers,rightful,richest,qfxmjrie,puffs,pierced,pencils,paralysis,makeover,luncheon,linksynergy,jerky,jacuzzi,hitched,hangover,fracture,flock,firemen,disgusted,darned,clams,borrowing,banged,wildest,weirder,unauthorized,stunts,sleeves,sixties,shush,shalt,retro,quits,pegged,painfully,paging,omelet,memorized,lawfully,jackets,intercept,ingredient,grownup,glued,fulfilling,enchanted,delusion,daring,compelling,carton,bridesmaids,bribed,boiling,bathrooms,bandage,awaiting,assign,arrogance,antiques,ainsley,turkeys,trashing,stockings,stalked,stabilized,skates,sedated,robes,respecting,psyche,presumptuous,prejudice,paragraph,mocha,mints,mating,mantan,lorne,loads,listener,itinerary,hepatitis,heave,guesses,fading,examining,dumbest,dishwasher,deceive,cunning,cripple,convictions,confided,compulsive,compromising,burglary,bumpy,brainwashed,benes,arnie,affirmative,adrenaline,adamant,watchin,waitresses,transgenic,toughest,tainted,surround,stormed,spree,spilling,spectacle,soaking,shreds,sewers,severed,scarce,scamming,scalp,rewind,rehearsing,pretentious,potions,overrated,obstacle,nerds,meems,mcmurphy,maternity,maneuver,loathe,fertility,eloping,ecstatic,ecstasy,divorcing,dignan,costing,clubhouse,clocks,candid,bursting,breather,braces,bending,arsonist,adored,absorb,valiant,uphold,unarmed,topolsky,thrilling,thigh,terminate,sustain,spaceship,snore,sneeze,smuggling,salty,quaint,patronize,patio,morbid,mamma,kettle,joyous,invincible,interpret,insecurities,impulses,illusions,holed,exploit,drivin,defenseless,dedicate,cradle,coupon,countless,conjure,cardboard,booking,backseat,accomplishment,wordsworth,wisely,valet,vaccine,urges,unnatural,unlucky,truths,traumatized,tasting,swears,strawberries,steaks,stats,skank,seducing,secretive,scumbag,screwdriver,schedules,rooting,rightfully,rattled,qualifies,puppets,prospects,pronto,posse,polling,pedestal,palms,muddy,morty,microscope,merci,lecturing,inject,incriminate,hygiene,grapefruit,gazebo,funnier,cuter,bossy,booby,aides,zende,winthrop,warrants,valentines,undressed,underage,truthfully,tampered,suffers,speechless,sparkling,sidelines,shrek,railing,puberty,pesky,outrage,outdoors,motions,moods,lunches,litter,kidnappers,itching,intuition,imitation,humility,hassling,gallons,drugstore,dosage,disrupt,dipping,deranged,debating,cuckoo,cremated,craziness,cooperating,circumstantial,chimney,blinking,biscuits,admiring,weeping,triad,trashy,soothing,slumber,slayers,skirts,siren,shindig,sentiment,rosco,riddance,quaid,purity,proceeding,pretzels,panicking,mckechnie,lovin,leaked,intruding,impersonating,ignorance,hamburgers,footprints,fluke,fleas,festivities,fences,feisty,evacuate,emergencies,deceived,creeping,craziest,corpses,conned,coincidences,bounced,bodyguards,blasted,bitterness,baloney,ashtray,apocalypse,zillion,watergate,wallpaper,telesave,sympathize,sweeter,startin,spades,sodas,snowed,sleepover,signor,seein,retainer,restroom,rested,repercussions,reliving,reconcile,prevail,preaching,overreact,o'neil,noose,moustache,manicure,maids,landlady,hypothetical,hopped,homesick,hives,hesitation,herbs,hectic,heartbreak,haunting,gangs,frown,fingerprint,exhausting,everytime,disregard,cling,chevron,chaperone,blinding,bitty,beads,battling,badgering,anticipation,upstanding,unprofessional,unhealthy,turmoil,truthful,toothpaste,tippin,thoughtless,tagataya,shooters,senseless,rewarding,propane,preposterous,pigeons,pastry,overhearing,obscene,negotiable,loner,jogging,itchy,insinuating,insides,hospitality,hormone,hearst,forthcoming,fists,fifties,etiquette,endings,destroys,despises,deprived,cuddy,crust,cloak,circumstance,chewed,casserole,bidder,bearer,artoo,applaud,appalling,vowed,virgins,vigilante,undone,throttle,testosterone,tailor,symptom,swoop,suitcases,stomp,sticker,stakeout,spoiling,snatched,smoochy,smitten,shameless,restraints,researching,renew,refund,reclaim,raoul,puzzles,purposely,punks,prosecuted,plaid,picturing,pickin,parasites,mysteriously,multiply,mascara,jukebox,interruptions,gunfire,furnace,elbows,duplicate,drapes,deliberate,decoy,cryptic,coupla,condemn,complicate,colossal,clerks,clarity,brushed,banished,argon,alarmed,worships,versa,uncanny,technicality,sundae,stumble,stripping,shuts,schmuck,satin,saliva,robber,relentless,reconnect,recipes,rearrange,rainy,psychiatrists,policemen,plunge,plugged,patched,overload,o'malley,mindless,menus,lullaby,lotte,leavin,killin,karinsky,invalid,hides,grownups,griff,flaws,flashy,flaming,fettes,evicted,dread,degrassi,dealings,dangers,cushion,bowel,barged,abide,abandoning,wonderfully,wait'll,violate,suicidal,stayin,sorted,slamming,sketchy,shoplifting,raiser,quizmaster,prefers,needless,motherhood,momentarily,migraine,lifts,leukemia,leftover,keepin,hinks,hellhole,gowns,goodies,gallon,futures,entertained,eighties,conspiring,cheery,benign,apiece,adjustments,abusive,abduction,wiping,whipping,welles,unspeakable,unidentified,trivial,transcripts,textbook,supervise,superstitious,stricken,stimulating,spielberg,slices,shelves,scratches,sabotaged,retrieval,repressed,rejecting,quickie,ponies,peeking,outraged,o'connell,moping,moaning,mausoleum,licked,kovich,klutz,interrogating,interfered,insulin,infested,incompetence,hyper,horrified,handedly,gekko,fraid,fractured,examiner,eloped,disoriented,dashing,crashdown,courier,cockroach,chipped,brushing,bombed,bolts,baths,baptized,astronaut,assurance,anemia,abuela,abiding,withholding,weave,wearin,weaker,suffocating,straws,straightforward,stench,steamed,starboard,sideways,shrinks,shortcut,scram,roasted,roaming,riviera,respectfully,repulsive,psychiatry,provoked,penitentiary,painkillers,ninotchka,mitzvah,milligrams,midge,marshmallows,looky,lapse,kubelik,intellect,improvise,implant,goa'ulds,giddy,geniuses,fruitcake,footing,fightin,drinkin,doork,detour,cuddle,crashes,combo,colonnade,cheats,cetera,bailiff,auditioning,assed,amused,alienate,aiding,aching,unwanted,topless,tongues,tiniest,superiors,soften,sheldrake,rawley,raisins,presses,plaster,nessa,narrowed,minions,merciful,lawsuits,intimidating,infirmary,inconvenient,imposter,hugged,honoring,holdin,hades,godforsaken,fumes,forgery,foolproof,folder,flattery,fingertips,exterminator,explodes,eccentric,dodging,disguised,crave,constructive,concealed,compartment,chute,chinpokomon,bodily,astronauts,alimony,accustomed,abdominal,wrinkle,wallow,valium,untrue,uncover,trembling,treasures,torched,toenails,timed,termites,telly,taunting,taransky,talker,succubus,smarts,sliding,sighting,semen,seizures,scarred,savvy,sauna,saddest,sacrificing,rubbish,riled,ratted,rationally,provenance,phonse,perky,pedal,overdose,nasal,nanites,mushy,movers,missus,midterm,merits,melodramatic,manure,knitting,invading,interpol,incapacitated,hotline,hauling,gunpoint,grail,ganza,framing,flannel,faded,eavesdrop,desserts,calories,breathtaking,bleak,blacked,batter,aggravated,yanked,wigand,whoah,unwind,undoubtedly,unattractive,twitch,trimester,torrance,timetable,taxpayers,strained,stared,slapping,sincerity,siding,shenanigans,shacking,sappy,samaritan,poorer,politely,paste,oysters,overruled,nightcap,mosquito,millimeter,merrier,manhood,lucked,kilos,ignition,hauled,harmed,goodwill,freshmen,fenmore,fasten,farce,exploding,erratic,drunks,ditching,d'artagnan,cramped,contacting,closets,clientele,chimp,bargained,arranging,anesthesia,amuse,altering,afternoons,accountable,abetting,wolek,waved,uneasy,toddy,tattooed,spauldings,sliced,sirens,schibetta,scatter,rinse,remedy,redemption,pleasures,optimism,oblige,mmmmm,masked,malicious,mailing,kosher,kiddies,judas,isolate,insecurity,incidentally,heals,headlights,growl,grilling,glazed,flunk,floats,fiery,fairness,exercising,excellency,disclosure,cupboard,counterfeit,condescending,conclusive,clicked,cleans,cholesterol,cashed,broccoli,brats,blueprints,blindfold,billing,attach,appalled,alrighty,wynant,unsolved,unreliable,toots,tighten,sweatshirt,steinbrenner,steamy,spouse,sonogram,slots,sleepless,shines,retaliate,rephrase,redeem,rambling,quilt,quarrel,prying,proverbial,priced,prescribe,prepped,pranks,possessive,plaintiff,pediatrics,overlooked,outcast,nightgown,mumbo,mediocre,mademoiselle,lunchtime,lifesaver,leaned,lambs,interns,hounding,hellmouth,hahaha,goner,ghoul,gardening,frenzy,foyer,extras,exaggerate,everlasting,enlightened,dialed,devote,deceitful,d'oeuvres,cosmetic,contaminated,conspired,conning,cavern,carving,butting,boiled,blurry,babysit,ascension,aaaaah,wildly,whoopee,whiny,weiskopf,walkie,vultures,vacations,upfront,unresolved,tampering,stockholders,snaps,sleepwalking,shrunk,sermon,seduction,scams,revolve,phenomenal,patrolling,paranormal,ounces,omigod,nightfall,lashing,innocents,infierno,incision,humming,haunts,gloss,gloating,frannie,fetal,feeny,entrapment,discomfort,detonator,dependable,concede,complication,commotion,commence,chulak,caucasian,casually,brainer,bolie,ballpark,anwar,analyzing,accommodations,youse,wring,wallowing,transgenics,thrive,tedious,stylish,strippers,sterile,squeezing,squeaky,sprained,solemn,snoring,shattering,shabby,seams,scrawny,revoked,residue,reeks,recite,ranting,quoting,predicament,plugs,pinpoint,petrified,pathological,passports,oughtta,nighter,navigate,kippie,intrigue,intentional,insufferable,hunky,how've,horrifying,hearty,hamptons,grazie,funerals,forks,fetched,excruciating,enjoyable,endanger,dumber,drying,diabolical,crossword,corry,comprehend,clipped,classmates,candlelight,brutally,brutality,boarded,bathrobe,authorize,assemble,aerobics,wholesome,whiff,vermin,trophies,trait,tragically,toying,testy,tasteful,stocked,spinach,sipping,sidetracked,scrubbing,scraping,sanctity,robberies,ridin,retribution,refrain,realities,radiant,protesting,projector,plutonium,payin,parting,o'reilly,nooooo,motherfucking,measly,manic,lalita,juggling,jerking,intro,inevitably,hypnosis,huddle,horrendous,hobbies,heartfelt,harlin,hairdresser,gonorrhea,fussing,furtwangler,fleeting,flawless,flashed,fetus,eulogy,distinctly,disrespectful,denies,crossbow,cregg,crabs,cowardly,contraction,contingency,confirming,condone,coffins,cleansing,cheesecake,certainty,cages,c'est,briefed,bravest,bosom,boils,binoculars,bachelorette,appetizer,ambushed,alerted,woozy,withhold,vulgar,utmost,unleashed,unholy,unhappiness,unconditional,typewriter,typed,twists,supermodel,subpoenaed,stringing,skeptical,schoolgirl,romantically,rocked,revoir,reopen,puncture,preach,polished,planetarium,penicillin,peacefully,nurturing,more'n,mmhmm,midgets,marklar,lodged,lifeline,jellyfish,infiltrate,hutch,horseback,heist,gents,frickin,freezes,forfeit,flakes,flair,fathered,eternally,epiphany,disgruntled,discouraged,delinquent,decipher,danvers,cubes,credible,coping,chills,cherished,catastrophe,bombshell,birthright,billionaire,ample,affections,admiration,abbotts,whatnot,watering,vinegar,unthinkable,unseen,unprepared,unorthodox,underhanded,uncool,timeless,thump,thermometer,theoretically,tapping,tagged,swung,stares,spiked,solves,smuggle,scarier,saucer,quitter,prudent,powdered,poked,pointers,peril,penetrate,penance,opium,nudge,nostrils,neurological,mockery,mobster,medically,loudly,insights,implicate,hypocritical,humanly,holiness,healthier,hammered,haldeman,gunman,gloom,freshly,francs,flunked,flawed,emptiness,drugging,dozer,derevko,deprive,deodorant,cryin,crocodile,coloring,colder,cognac,clocked,clippings,charades,chanting,certifiable,caterers,brute,brochures,botched,blinders,bitchin,banter,woken,ulcer,tread,thankfully,swine,swimsuit,swans,stressing,steaming,stamped,stabilize,squirm,snooze,shuffle,shredded,seafood,scratchy,savor,sadistic,rhetorical,revlon,realist,prosecuting,prophecies,polyester,petals,persuasion,paddles,o'leary,nuthin,neighbour,negroes,muster,meningitis,matron,lockers,letterman,legged,indictment,hypnotized,housekeeping,hopelessly,hallucinations,grader,goldilocks,girly,flask,envelopes,downside,doves,dissolve,discourage,disapprove,diabetic,deliveries,decorator,crossfire,criminally,containment,comrades,complimentary,chatter,catchy,cashier,cartel,caribou,cardiologist,brawl,booted,barbershop,aryan,angst,administer,zellie,wreak,whistles,vandalism,vamps,uterus,upstate,unstoppable,understudy,tristin,transcript,tranquilizer,toxins,tonsils,stempel,spotting,spectator,spatula,softer,snotty,slinging,showered,sexiest,sensual,sadder,rimbaud,restrain,resilient,remission,reinstate,rehash,recollection,rabies,popsicle,plausible,pediatric,patronizing,ostrich,ortolani,oooooh,omelette,mistrial,marseilles,loophole,laughin,kevvy,irritated,infidelity,hypothermia,horrific,groupie,grinding,graceful,goodspeed,gestures,frantic,extradition,echelon,disks,dawnie,dared,damsel,curled,collateral,collage,chant,calculating,bumping,bribes,boardwalk,blinds,blindly,bleeds,bickering,beasts,backside,avenge,apprehended,anguish,abusing,youthful,yells,yanking,whomever,when'd,vomiting,vengeful,unpacking,unfamiliar,undying,tumble,trolls,treacherous,tipping,tantrum,tanked,summons,straps,stomped,stinkin,stings,staked,squirrels,sprinkles,speculate,sorting,skinned,sicko,sicker,shootin,shatter,seeya,schnapps,s'posed,ronee,respectful,regroup,regretting,reeling,reckoned,ramifications,puddy,projections,preschool,plissken,platonic,permalash,outdone,outburst,mutants,mugging,misfortune,miserably,miraculously,medications,margaritas,manpower,lovemaking,logically,leeches,latrine,kneel,inflict,impostor,hypocrisy,hippies,heterosexual,heightened,hecuba,healer,gunned,grooming,groin,gooey,gloomy,frying,friendships,fredo,firepower,fathom,exhaustion,evils,endeavor,eggnog,dreaded,d'arcy,crotch,coughing,coronary,cookin,consummate,congrats,companionship,caved,caspar,bulletproof,brilliance,breakin,brash,blasting,aloud,airtight,advising,advertise,adultery,aches,wronged,upbeat,trillion,thingies,tending,tarts,surreal,specs,specialize,spade,shrew,shaping,selves,schoolwork,roomie,recuperating,rabid,quart,provocative,proudly,pretenses,prenatal,pharmaceuticals,pacing,overworked,originals,nicotine,murderous,mileage,mayonnaise,massages,losin,interrogated,injunction,impartial,homing,heartbreaker,hacks,glands,giver,fraizh,flips,flaunt,englishman,electrocuted,dusting,ducking,drifted,donating,cylon,crutches,crates,cowards,comfortably,chummy,chitchat,childbirth,businesswoman,brood,blatant,bethy,barring,bagged,awakened,asbestos,airplanes,worshipped,winnings,why're,visualize,unprotected,unleash,trays,thicker,therapists,takeoff,streisand,storeroom,stethoscope,stacked,spiteful,sneaks,snapping,slaughtered,slashed,simplest,silverware,shits,secluded,scruples,scrubs,scraps,ruptured,roaring,receptionist,recap,raditch,radiator,pushover,plastered,pharmacist,perverse,perpetrator,ornament,ointment,nineties,napping,nannies,mousse,moors,momentary,misunderstandings,manipulator,malfunction,laced,kivar,kickin,infuriating,impressionable,holdup,hires,hesitated,headphones,hammering,groundwork,grotesque,graces,gauze,gangsters,frivolous,freeing,fours,forwarding,ferrars,faulty,fantasizing,extracurricular,empathy,divorces,detonate,depraved,demeaning,deadlines,dalai,cursing,cufflink,crows,coupons,comforted,claustrophobic,casinos,camped,busboy,bluth,bennetts,baskets,attacker,aplastic,angrier,affectionate,zapped,wormhole,weaken,unrealistic,unravel,unimportant,unforgettable,twain,suspend,superbowl,stutter,stewardess,stepson,standin,spandex,souvenirs,sociopath,skeletons,shivering,sexier,selfishness,scrapbook,ritalin,ribbons,reunite,remarry,relaxation,rattling,rapist,psychosis,prepping,poses,pleasing,pisses,piling,persecuted,padded,operatives,negotiator,natty,menopause,mennihan,martimmys,loyalties,laynie,lando,justifies,intimately,inexperienced,impotent,immortality,horrors,hooky,hinges,heartbreaking,handcuffed,gypsies,guacamole,grovel,graziella,goggles,gestapo,fussy,ferragamo,feeble,eyesight,explosions,experimenting,enchanting,doubtful,dizziness,dismantle,detectors,deserving,defective,dangling,dancin,crumble,creamed,cramping,conceal,clockwork,chrissakes,chrissake,chopping,cabinets,brooding,bonfire,blurt,bloated,blackmailer,beforehand,bathed,bathe,barcode,banish,badges,babble,await,attentive,aroused,antibodies,animosity,ya'll,wrinkled,wonderland,willed,whisk,waltzing,waitressing,vigilant,upbringing,unselfish,uncles,trendy,trajectory,striped,stamina,stalled,staking,stacks,spoils,snuff,snooty,snide,shrinking,senora,secretaries,scoundrel,saline,salads,rundown,riddles,relapse,recommending,raspberry,plight,pecan,pantry,overslept,ornaments,niner,negligent,negligence,nailing,mucho,mouthed,monstrous,malpractice,lowly,loitering,logged,lingering,lettin,lattes,kamal,juror,jillefsky,jacked,irritate,intrusion,insatiable,infect,impromptu,icing,hmmmm,hefty,gasket,frightens,flapping,firstborn,faucet,estranged,envious,dopey,doesn,disposition,disposable,disappointments,dipped,dignified,deceit,dealership,deadbeat,curses,coven,counselors,concierge,clutches,casbah,callous,cahoots,brotherly,britches,brides,bethie,beige,autographed,attendants,attaboy,astonishing,appreciative,antibiotic,aneurysm,afterlife,affidavit,zoning,whats,whaddaya,vasectomy,unsuspecting,toula,topanga,tonio,toasted,tiring,terrorized,tenderness,tailing,sweats,suffocated,sucky,subconsciously,starvin,sprouts,spineless,sorrows,snowstorm,smirk,slicery,sledding,slander,simmer,signora,sigmund,seventies,sedate,scented,sandals,rollers,retraction,resigning,recuperate,receptive,racketeering,queasy,provoking,priors,prerogative,premed,pinched,pendant,outsiders,orbing,opportunist,olanov,neurologist,nanobot,mommies,molested,misread,mannered,laundromat,intercom,inspect,insanely,infatuation,indulgent,indiscretion,inconsiderate,hurrah,howling,herpes,hasta,harassed,hanukkah,groveling,groosalug,gander,galactica,futile,fridays,flier,fixes,exploiting,exorcism,evasive,endorse,emptied,dreary,dreamy,downloaded,dodged,doctored,disobeyed,disneyland,disable,dehydrated,contemplating,coconuts,cockroaches,clogged,chilling,chaperon,cameraman,bulbs,bucklands,bribing,brava,bracelets,bowels,bluepoint,appetizers,appendix,antics,anointed,analogy,almonds,yammering,winch,weirdness,wangler,vibrations,vendor,unmarked,unannounced,twerp,trespass,travesty,transfusion,trainee,towelie,tiresome,straightening,staggering,sonar,socializing,sinus,sinners,shambles,serene,scraped,scones,scepter,sarris,saberhagen,ridiculously,ridicule,rents,reconciled,radios,publicist,pubes,prune,prude,precrime,postponing,pluck,perish,peppermint,peeled,overdo,nutshell,nostalgic,mulan,mouthing,mistook,meddle,maybourne,martimmy,lobotomy,livelihood,lippman,likeness,kindest,kaffee,jocks,jerked,jeopardizing,jazzed,insured,inquisition,inhale,ingenious,holier,helmets,heirloom,heinous,haste,harmsway,hardship,hanky,gutters,gruesome,groping,goofing,godson,glare,finesse,figuratively,ferrie,endangerment,dreading,dozed,dorky,dmitri,divert,discredit,dialing,cufflinks,crutch,craps,corrupted,cocoon,cleavage,cannery,bystander,brushes,bruising,bribery,brainstorm,bolted,binge,ballistics,astute,arroway,adventurous,adoptive,addicts,addictive,yadda,whitelighters,wematanye,weeds,wedlock,wallets,vulnerability,vroom,vents,upped,unsettling,unharmed,trippin,trifle,tracing,tormenting,thats,syphilis,subtext,stickin,spices,sores,smacked,slumming,sinks,signore,shitting,shameful,shacked,septic,seedy,righteousness,relish,rectify,ravishing,quickest,phoebs,perverted,peeing,pedicure,pastrami,passionately,ozone,outnumbered,oregano,offender,nukes,nosed,nighty,nifty,mounties,motivate,moons,misinterpreted,mercenary,mentality,marsellus,lupus,lumbar,lovesick,lobsters,leaky,laundering,latch,jafar,instinctively,inspires,indoors,incarcerated,hundredth,handkerchief,gynecologist,guittierez,groundhog,grinning,goodbyes,geese,fullest,eyelashes,eyelash,enquirer,endlessly,elusive,disarm,detest,deluding,dangle,cotillion,corsage,conjugal,confessional,cones,commandment,coded,coals,chuckle,christmastime,cheeseburgers,chardonnay,celery,campfire,calming,burritos,brundle,broflovski,brighten,borderline,blinked,bling,beauties,bauers,battered,articulate,alienated,ahhhhh,agamemnon,accountants,y'see,wrongful,wrapper,workaholic,winnebago,whispered,warts,vacate,unworthy,unanswered,tonane,tolerated,throwin,throbbing,thrills,thorns,thereof,there've,tarot,sunscreen,stretcher,stereotype,soggy,sobbing,sizable,sightings,shucks,shrapnel,sever,senile,seaboard,scorned,saver,rebellious,rained,putty,prenup,pores,pinching,pertinent,peeping,paints,ovulating,opposites,occult,nutcracker,nutcase,newsstand,newfound,mocked,midterms,marshmallow,marbury,maclaren,leans,krudski,knowingly,keycard,junkies,juilliard,jolinar,irritable,invaluable,inuit,intoxicating,instruct,insolent,inexcusable,incubator,illustrious,hunsecker,houseguest,homosexuals,homeroom,hernia,harming,handgun,hallways,hallucination,gunshots,groupies,groggy,goiter,gingerbread,giggling,frigging,fledged,fedex,fairies,exchanging,exaggeration,esteemed,enlist,drags,dispense,disloyal,disconnect,desks,dentists,delacroix,degenerate,daydreaming,cushions,cuddly,corroborate,complexion,compensated,cobbler,closeness,chilled,checkmate,channing,carousel,calms,bylaws,benefactor,ballgame,baiting,backstabbing,artifact,airspace,adversary,actin,accuses,accelerant,abundantly,abstinence,zissou,zandt,yapping,witchy,willows,whadaya,vilandra,veiled,undress,undivided,underestimating,ultimatums,twirl,truckload,tremble,toasting,tingling,tents,tempered,sulking,stunk,sponges,spills,softly,snipers,scourge,rooftop,riana,revolting,revisit,refreshments,redecorating,recapture,raysy,pretense,prejudiced,precogs,pouting,poofs,pimple,piles,pediatrician,padre,packets,paces,orvelle,oblivious,objectivity,nighttime,nervosa,mexicans,meurice,melts,matchmaker,maeby,lugosi,lipnik,leprechaun,kissy,kafka,introductions,intestines,inspirational,insightful,inseparable,injections,inadvertently,hussy,huckabees,hittin,hemorrhaging,headin,haystack,hallowed,grudges,granilith,grandkids,grading,gracefully,godsend,gobbles,fragrance,fliers,finchley,farts,eyewitnesses,expendable,existential,dorms,delaying,degrading,deduction,darlings,danes,cylons,counsellor,contraire,consciously,conjuring,congratulating,cokes,buffay,brooch,bitching,bistro,bijou,bewitched,benevolent,bends,bearings,barren,aptitude,amish,amazes,abomination,worldly,whispers,whadda,wayward,wailing,vanishing,upscale,untouchable,unspoken,uncontrollable,unavoidable,unattended,trite,transvestite,toupee,timid,timers,terrorizing,swana,stumped,strolling,storybook,storming,stomachs,stoked,stationery,springtime,spontaneity,spits,spins,soaps,sentiments,scramble,scone,rooftops,retract,reflexes,rawdon,ragged,quirky,quantico,psychologically,prodigal,pounce,potty,pleasantries,pints,petting,perceive,onstage,notwithstanding,nibble,newmans,neutralize,mutilated,millionaires,mayflower,masquerade,mangy,macreedy,lunatics,lovable,locating,limping,lasagna,kwang,keepers,juvie,jaded,ironing,intuitive,intensely,insure,incantation,hysteria,hypnotize,humping,happenin,griet,grasping,glorified,ganging,g'night,focker,flunking,flimsy,flaunting,fixated,fitzwallace,fainting,eyebrow,exonerated,ether,electrician,egotistical,earthly,dusted,dignify,detonation,debrief,dazzling,dan'l,damnedest,daisies,crushes,crucify,contraband,confronting,collapsing,cocked,clicks,cliche,circled,chandelier,carburetor,callers,broads,breathes,bloodshed,blindsided,blabbing,bialystock,bashing,ballerina,aviva,arteries,anomaly,airstrip,agonizing,adjourn,aaaaa,yearning,wrecker,witnessing,whence,warhead,unsure,unheard,unfreeze,unfold,unbalanced,ugliest,troublemaker,toddler,tiptoe,threesome,thirties,thermostat,swipe,surgically,subtlety,stung,stumbling,stubs,stride,strangling,sprayed,socket,smuggled,showering,shhhhh,sabotaging,rumson,rounding,risotto,repairman,rehearsed,ratty,ragging,radiology,racquetball,racking,quieter,quicksand,prowl,prompt,premeditated,prematurely,prancing,porcupine,plated,pinocchio,peeked,peddle,panting,overweight,overrun,outing,outgrown,obsess,nursed,nodding,negativity,negatives,musketeers,mugger,motorcade,merrily,matured,masquerading,marvellous,maniacs,lovey,louse,linger,lilies,lawful,kudos,knuckle,juices,judgments,itches,intolerable,intermission,inept,incarceration,implication,imaginative,huckleberry,holster,heartburn,gunna,groomed,graciously,fulfillment,fugitives,forsaking,forgives,foreseeable,flavors,flares,fixation,fickle,fantasize,famished,fades,expiration,exclamation,erasing,eiffel,eerie,earful,duped,dulles,dissing,dissect,dispenser,dilated,detergent,desdemona,debriefing,damper,curing,crispina,crackpot,courting,cordial,conflicted,comprehension,commie,cleanup,chiropractor,charmer,chariot,cauldron,catatonic,bullied,buckets,brilliantly,breathed,booths,boardroom,blowout,blindness,blazing,biologically,bibles,biased,beseech,barbaric,balraj,audacity,anticipating,alcoholics,airhead,agendas,admittedly,absolution,youre,yippee,wittlesey,withheld,willful,whammy,weakest,washes,virtuous,videotapes,vials,unplugged,unpacked,unfairly,turbulence,tumbling,tricking,tremendously,traitors,torches,tinga,thyroid,teased,tawdry,taker,sympathies,swiped,sundaes,suave,strut,stepdad,spewing,spasm,socialize,slither,simulator,shutters,shrewd,shocks,semantics,schizophrenic,scans,savages,rya'c,runny,ruckus,royally,roadblocks,rewriting,revoke,repent,redecorate,recovers,recourse,ratched,ramali,racquet,quince,quiche,puppeteer,puking,puffed,problemo,praises,pouch,postcards,pooped,poised,piled,phoney,phobia,patching,parenthood,pardner,oozing,ohhhhh,numbing,nostril,nosey,neatly,nappa,nameless,mortuary,moronic,modesty,midwife,mcclane,matuka,maitre,lumps,lucid,loosened,loins,lawnmower,lamotta,kroehner,jinxy,jessep,jamming,jailhouse,jacking,intruders,inhuman,infatuated,indigestion,implore,implanted,hormonal,hoboken,hillbilly,heartwarming,headway,hatched,hartmans,harping,grapevine,gnome,forties,flyin,flirted,fingernail,exhilarating,enjoyment,embark,dumper,dubious,drell,docking,disillusioned,dishonor,disbarred,dicey,custodial,counterproductive,corned,cords,contemplate,concur,conceivable,cobblepot,chickened,checkout,carpe,cap'n,campers,buyin,bullies,braid,boxed,bouncy,blueberries,blubbering,bloodstream,bigamy,beeped,bearable,autographs,alarming,wretch,wimps,widower,whirlwind,whirl,warms,vandelay,unveiling,undoing,unbecoming,turnaround,touche,togetherness,tickles,ticker,teensy,taunt,sweethearts,stitched,standpoint,staffers,spotless,soothe,smothered,sickening,shouted,shepherds,shawl,seriousness,schooled,schoolboy,s'mores,roped,reminders,raggedy,preemptive,plucked,pheromones,particulars,pardoned,overpriced,overbearing,outrun,ohmigod,nosing,nicked,neanderthal,mosquitoes,mortified,milky,messin,mecha,markinson,marivellas,mannequin,manderley,madder,macready,lookie,locusts,lifetimes,lanna,lakhi,kholi,impersonate,hyperdrive,horrid,hopin,hogging,hearsay,harpy,harboring,hairdo,hafta,grasshopper,gobble,gatehouse,foosball,floozy,fished,firewood,finalize,felons,euphemism,entourage,elitist,elegance,drokken,drier,dredge,dossier,diseased,diarrhea,diagnose,despised,defuse,d'amour,contesting,conserve,conscientious,conjured,collars,clogs,chenille,chatty,chamomile,casing,calculator,brittle,breached,blurted,birthing,bikinis,astounding,assaulting,aroma,appliance,antsy,amnio,alienating,aliases,adolescence,xerox,wrongs,workload,willona,whistling,werewolves,wallaby,unwelcome,unseemly,unplug,undermining,ugliness,tyranny,tuesdays,trumpets,transference,ticks,tangible,tagging,swallowing,superheroes,studs,strep,stowed,stomping,steffy,sprain,spouting,sponsoring,sneezing,smeared,slink,shakin,sewed,seatbelt,scariest,scammed,sanctimonious,roasting,rightly,retinal,rethinking,resented,reruns,remover,racks,purest,progressing,presidente,preeclampsia,postponement,portals,poppa,pliers,pinning,pelvic,pampered,padding,overjoyed,ooooo,one'll,octavius,nonono,nicknames,neurosurgeon,narrows,misled,mislead,mishap,milltown,milking,meticulous,mediocrity,meatballs,machete,lurch,layin,knockin,khruschev,jurors,jumpin,jugular,jeweler,intellectually,inquiries,indulging,indestructible,indebted,imitate,ignores,hyperventilating,hyenas,hurrying,hermano,hellish,heheh,harshly,handout,grunemann,glances,giveaway,getup,gerome,furthest,frosting,frail,forwarded,forceful,flavored,flammable,flaky,fingered,fatherly,ethic,embezzlement,duffel,dotted,distressed,disobey,disappearances,dinky,diminish,diaphragm,deuces,creme,courteous,comforts,coerced,clots,clarification,chunks,chickie,chases,chaperoning,cartons,caper,calves,caged,bustin,bulging,bringin,boomhauer,blowin,blindfolded,biscotti,ballplayer,bagging,auster,assurances,aschen,arraigned,anonymity,alters,albatross,agreeable,adoring,abduct,wolfi,weirded,watchers,washroom,warheads,vincennes,urgency,understandably,uncomplicated,uhhhh,twitching,treadmill,thermos,tenorman,tangle,talkative,swarm,surrendering,summoning,strive,stilts,stickers,squashed,spraying,sparring,soaring,snort,sneezed,slaps,skanky,singin,sidle,shreck,shortness,shorthand,sharper,shamed,sadist,rydell,rusik,roulette,resumes,respiration,recount,reacts,purgatory,princesses,presentable,ponytail,plotted,pinot,pigtails,phillippe,peddling,paroled,orbed,offends,o'hara,moonlit,minefield,metaphors,malignant,mainframe,magicks,maggots,maclaine,loathing,leper,leaps,leaping,lashed,larch,larceny,lapses,ladyship,juncture,jiffy,jakov,invoke,infantile,inadmissible,horoscope,hinting,hideaway,hesitating,heddy,heckles,hairline,gripe,gratifying,governess,goebbels,freddo,foresee,fascination,exemplary,executioner,etcetera,escorts,endearing,eaters,earplugs,draped,disrupting,disagrees,dimes,devastate,detain,depositions,delicacy,darklighter,cynicism,cyanide,cutters,cronus,continuance,conquering,confiding,compartments,combing,cofell,clingy,cleanse,christmases,cheered,cheekbones,buttle,burdened,bruenell,broomstick,brained,bozos,bontecou,bluntman,blazes,blameless,bizarro,bellboy,beaucoup,barkeep,awaken,astray,assailant,appease,aphrodisiac,alleys,yesss,wrecks,woodpecker,wondrous,wimpy,willpower,wheeling,weepy,waxing,waive,videotaped,veritable,untouched,unlisted,unfounded,unforeseen,twinge,triggers,traipsing,toxin,tombstone,thumping,therein,testicles,telephones,tarmac,talby,tackled,swirling,suicides,suckered,subtitles,sturdy,strangler,stockbroker,stitching,steered,standup,squeal,sprinkler,spontaneously,splendor,spiking,spender,snipe,snagged,skimming,siddown,showroom,shovels,shotguns,shoelaces,shitload,shellfish,sharpest,shadowy,seizing,scrounge,scapegoat,sayonara,saddled,rummaging,roomful,renounce,reconsidered,recharge,realistically,radioed,quirks,quadrant,punctual,practising,pours,poolhouse,poltergeist,pocketbook,plainly,picnics,pesto,pawing,passageway,partied,oneself,numero,nostalgia,nitwit,neuro,mixer,meanest,mcbeal,matinee,margate,marce,manipulations,manhunt,manger,magicians,loafers,litvack,lightheaded,lifeguard,lawns,laughingstock,ingested,indignation,inconceivable,imposition,impersonal,imbecile,huddled,housewarming,horizons,homicides,hiccups,hearse,hardened,gushing,gushie,greased,goddamit,freelancer,forging,fondue,flustered,flung,flinch,flicker,fixin,festivus,fertilizer,farted,faggots,exonerate,evict,enormously,encrypted,emdash,embracing,duress,dupres,dowser,doormat,disfigured,disciplined,dibbs,depository,deathbed,dazzled,cuttin,cures,crowding,crepe,crammed,copycat,contradict,confidant,condemning,conceited,commute,comatose,clapping,circumference,chuppah,chore,choksondik,chestnuts,briault,bottomless,bonnet,blokes,berluti,beret,beggars,bankroll,bania,athos,arsenic,apperantly,ahhhhhh,afloat,accents,zipped,zeros,zeroes,zamir,yuppie,youngsters,yorkers,wisest,wipes,wield,whyn't,weirdos,wednesdays,vicksburg,upchuck,untraceable,unsupervised,unpleasantness,unhook,unconscionable,uncalled,trappings,tragedies,townie,thurgood,things'll,thine,tetanus,terrorize,temptations,tanning,tampons,swarming,straitjacket,steroid,startling,starry,squander,speculating,sollozzo,sneaked,slugs,skedaddle,sinker,silky,shortcomings,sellin,seasoned,scrubbed,screwup,scrapes,scarves,sandbox,salesmen,rooming,romances,revere,reproach,reprieve,rearranging,ravine,rationalize,raffle,punchy,psychobabble,provocation,profoundly,prescriptions,preferable,polishing,poached,pledges,pirelli,perverts,oversized,overdressed,outdid,nuptials,nefarious,mouthpiece,motels,mopping,mongrel,missin,metaphorically,mertin,memos,melodrama,melancholy,measles,meaner,mantel,maneuvering,mailroom,luring,listenin,lifeless,licks,levon,legwork,kneecaps,kippur,kiddie,kaput,justifiable,insistent,insidious,innuendo,innit,indecent,imaginable,horseshit,hemorrhoid,hella,healthiest,haywire,hamsters,hairbrush,grouchy,grisly,gratuitous,glutton,glimmer,gibberish,ghastly,gentler,generously,geeky,fuhrer,fronting,foolin,faxes,faceless,extinguisher,expel,etched,endangering,ducked,dodgeball,dives,dislocated,discrepancy,devour,derail,dementia,daycare,cynic,crumbling,cowardice,covet,cornwallis,corkscrew,cookbook,commandments,coincidental,cobwebs,clouded,clogging,clicking,clasp,chopsticks,chefs,chaps,cashing,carat,calmer,brazen,brainwashing,bradys,bowing,boned,bloodsucking,bleachers,bleached,bedpan,bearded,barrenger,bachelors,awwww,assures,assigning,asparagus,apprehend,anecdote,amoral,aggravation,afoot,acquaintances,accommodating,yakking,worshipping,wladek,willya,willies,wigged,whoosh,whisked,watered,warpath,volts,violates,valuables,uphill,unwise,untimely,unsavory,unresponsive,unpunished,unexplained,tubby,trolling,toxicology,tormented,toothache,tingly,timmiihh,thursdays,thoreau,terrifies,temperamental,telegrams,talkie,takers,symbiote,swirl,suffocate,stupider,strapping,steckler,springing,someway,sleepyhead,sledgehammer,slant,slams,showgirl,shoveling,shmoopy,sharkbait,shan't,scrambling,schematics,sandeman,sabbatical,rummy,reykjavik,revert,responsive,rescheduled,requisition,relinquish,rejoice,reckoning,recant,rebadow,reassurance,rattlesnake,ramble,primed,pricey,prance,pothole,pocus,persist,perpetrated,pekar,peeling,pastime,parmesan,pacemaker,overdrive,ominous,observant,nothings,noooooo,nonexistent,nodded,nieces,neglecting,nauseating,mutated,musket,mumbling,mowing,mouthful,mooseport,monologue,mistrust,meetin,masseuse,mantini,mailer,madre,lowlifes,locksmith,livid,liven,limos,liberating,lhasa,leniency,leering,laughable,lashes,lasagne,laceration,korben,katan,kalen,jittery,jammies,irreplaceable,intubate,intolerant,inhaler,inhaled,indifferent,indifference,impound,impolite,humbly,heroics,heigh,guillotine,guesthouse,grounding,grips,gossiping,goatee,gnomes,gellar,frutt,frobisher,freudian,foolishness,flagged,femme,fatso,fatherhood,fantasized,fairest,faintest,eyelids,extravagant,extraterrestrial,extraordinarily,escalator,elevate,drivel,dissed,dismal,disarray,dinnertime,devastation,dermatologist,delicately,defrost,debutante,debacle,damone,dainty,cuvee,culpa,crucified,creeped,crayons,courtship,convene,congresswoman,concocted,compromises,comprende,comma,coleslaw,clothed,clinically,chickenshit,checkin,cesspool,caskets,calzone,brothel,boomerang,bodega,blasphemy,bitsy,bicentennial,berlini,beatin,beards,barbas,barbarians,backpacking,arrhythmia,arousing,arbitrator,antagonize,angling,anesthetic,altercation,aggressor,adversity,acathla,aaahhh,wreaking,workup,wonderin,wither,wielding,what'm,what'cha,waxed,vibrating,veterinarian,venting,vasey,valor,validate,upholstery,untied,unscathed,uninterrupted,unforgiving,undies,uncut,twinkies,tucking,treatable,treasured,tranquility,townspeople,torso,tomei,tipsy,tinsel,tidings,thirtieth,tantrums,tamper,talky,swayed,swapping,suitor,stylist,stirs,standoff,sprinklers,sparkly,snobby,snatcher,smoother,sleepin,shrug,shoebox,sheesh,shackles,setbacks,sedatives,screeching,scorched,scanned,satyr,roadblock,riverbank,ridiculed,resentful,repellent,recreate,reconvene,rebuttal,realmedia,quizzes,questionnaire,punctured,pucker,prolong,professionalism,pleasantly,pigsty,penniless,paychecks,patiently,parading,overactive,ovaries,orderlies,oracles,oiled,offending,nudie,neonatal,neighborly,moops,moonlighting,mobilize,mmmmmm,milkshake,menial,meats,mayan,maxed,mangled,magua,lunacy,luckier,liters,lansbury,kooky,knowin,jeopardized,inkling,inhalation,inflated,infecting,incense,inbound,impractical,impenetrable,idealistic,i'mma,hypocrites,hurtin,humbled,hologram,hokey,hocus,hitchhiking,hemorrhoids,headhunter,hassled,harts,hardworking,haircuts,hacksaw,genitals,gazillion,gammy,gamesphere,fugue,footwear,folly,flashlights,fives,filet,extenuating,estrogen,entails,embezzled,eloquent,egomaniac,ducts,drowsy,drones,doree,donovon,disguises,diggin,deserting,depriving,defying,deductible,decorum,decked,daylights,daybreak,dashboard,damnation,cuddling,crunching,crickets,crazies,councilman,coughed,conundrum,complimented,cohaagen,clutching,clued,clader,cheques,checkpoint,chats,channeling,ceases,carasco,capisce,cantaloupe,cancelling,campsite,burglars,breakfasts,bra'tac,blueprint,bleedin,blabbed,beneficiary,basing,avert,atone,arlyn,approves,apothecary,antiseptic,aleikuum,advisement,zadir,wobbly,withnail,whattaya,whacking,wedged,wanders,vaginal,unimaginable,undeniable,unconditionally,uncharted,unbridled,tweezers,tvmegasite,trumped,triumphant,trimming,treading,tranquilizers,toontown,thunk,suture,suppressing,strays,stonewall,stogie,stepdaughter,stace,squint,spouses,splashed,speakin,sounder,sorrier,sorrel,sombrero,solemnly,softened,snobs,snippy,snare,smoothing,slump,slimeball,slaving,silently,shiller,shakedown,sensations,scrying,scrumptious,screamin,saucy,santoses,roundup,roughed,rosary,robechaux,retrospect,rescind,reprehensible,repel,remodeling,reconsidering,reciprocate,railroaded,psychics,promos,prob'ly,pristine,printout,priestess,prenuptial,precedes,pouty,phoning,peppy,pariah,parched,panes,overloaded,overdoing,nymphs,nother,notebooks,nearing,nearer,monstrosity,milady,mieke,mephesto,medicated,marshals,manilow,mammogram,m'lady,lotsa,loopy,lesion,lenient,learner,laszlo,kross,kinks,jinxed,involuntary,insubordination,ingrate,inflatable,incarnate,inane,hypoglycemia,huntin,humongous,hoodlum,honking,hemorrhage,helpin,hathor,hatching,grotto,grandmama,gorillas,godless,girlish,ghouls,gershwin,frosted,flutter,flagpole,fetching,fatter,faithfully,exert,evasion,escalate,enticing,enchantress,elopement,drills,downtime,downloading,dorks,doorways,divulge,dissociative,disgraceful,disconcerting,deteriorate,destinies,depressive,dented,denim,decruz,decidedly,deactivate,daydreams,curls,culprit,cruelest,crippling,cranberries,corvis,copped,commend,coastguard,cloning,cirque,churning,chock,chivalry,catalogues,cartwheels,carols,canister,buttered,bundt,buljanoff,bubbling,brokers,broaden,brimstone,brainless,bores,badmouthing,autopilot,ascertain,aorta,ampata,allenby,accosted,absolve,aborted,aaagh,aaaaaah,yonder,yellin,wyndham,wrongdoing,woodsboro,wigging,wasteland,warranty,waltzed,walnuts,vividly,veggie,unnecessarily,unloaded,unicorns,understated,unclean,umbrellas,twirling,turpentine,tupperware,triage,treehouse,tidbit,tickled,threes,thousandth,thingie,terminally,teething,tassel,talkies,swoon,switchboard,swerved,suspiciously,subsequentlyne,subscribe,strudel,stroking,strictest,stensland,starin,stannart,squirming,squealing,sorely,softie,snookums,sniveling,smidge,sloth,skulking,simian,sightseeing,siamese,shudder,shoppers,sharpen,shannen,semtex,secondhand,seance,scowl,scorn,safekeeping,russe,rummage,roshman,roomies,roaches,rinds,retrace,retires,resuscitate,rerun,reputations,rekall,refreshment,reenactment,recluse,ravioli,raves,raking,purses,punishable,punchline,puked,prosky,previews,poughkeepsie,poppins,polluted,placenta,pissy,petulant,perseverance,pears,pawns,pastries,partake,panky,palate,overzealous,orchids,obstructing,objectively,obituaries,obedient,nothingness,musty,motherly,mooning,momentous,mistaking,minutemen,milos,microchip,meself,merciless,menelaus,mazel,masturbate,mahogany,lysistrata,lillienfield,likable,liberate,leveled,letdown,larynx,lardass,lainey,lagged,klorel,kidnappings,keyed,karmic,jeebies,irate,invulnerable,intrusive,insemination,inquire,injecting,informative,informants,impure,impasse,imbalance,illiterate,hurled,hunts,hematoma,headstrong,handmade,handiwork,growling,gorky,getcha,gesundheit,gazing,galley,foolishly,fondness,floris,ferocious,feathered,fateful,fancies,fakes,faker,expire,ever'body,essentials,eskimos,enlightening,enchilada,emissary,embolism,elsinore,ecklie,drenched,drazi,doped,dogging,doable,dislikes,dishonesty,disengage,discouraging,derailed,deformed,deflect,defer,deactivated,crips,constellations,congressmen,complimenting,clubbing,clawing,chromium,chimes,chews,cheatin,chaste,cellblock,caving,catered,catacombs,calamari,bucking,brulee,brits,brisk,breezes,bounces,boudoir,binks,better'n,bellied,behrani,behaves,bedding,balmy,badmouth,backers,avenging,aromatherapy,armpit,armoire,anythin,anonymously,anniversaries,aftershave,affliction,adrift,admissible,adieu,acquittal,yucky,yearn,whitter,whirlpool,wendigo,watchdog,wannabes,wakey,vomited,voicemail,valedictorian,uttered,unwed,unrequited,unnoticed,unnerving,unkind,unjust,uniformed,unconfirmed,unadulterated,unaccounted,uglier,turnoff,trampled,tramell,toads,timbuktu,throwback,thimble,tasteless,tarantula,tamale,takeovers,swish,supposing,streaking,stargher,stanzi,stabs,squeamish,splattered,spiritually,spilt,speciality,smacking,skywire,skips,skaara,simpatico,shredding,showin,shortcuts,shite,shielding,shamelessly,serafine,sentimentality,seasick,schemer,scandalous,sainted,riedenschneider,rhyming,revel,retractor,retards,resurrect,remiss,reminiscing,remanded,reiben,regains,refuel,refresher,redoing,redheaded,reassured,rearranged,rapport,qumar,prowling,prejudices,precarious,powwow,pondering,plunger,plunged,pleasantville,playpen,phlegm,perfected,pancreas,paley,ovary,outbursts,oppressed,ooohhh,omoroca,offed,o'toole,nurture,nursemaid,nosebleed,necktie,muttering,munchies,mucking,mogul,mitosis,misdemeanor,miscarried,millionth,migraines,midler,manicurist,mandelbaum,manageable,malfunctioned,magnanimous,loudmouth,longed,lifestyles,liddy,lickety,leprechauns,komako,klute,kennel,justifying,irreversible,inventing,intergalactic,insinuate,inquiring,ingenuity,inconclusive,incessant,improv,impersonation,hyena,humperdinck,hubba,housework,hoffa,hither,hissy,hippy,hijacked,heparin,hellooo,hearth,hassles,hairstyle,hahahaha,hadda,guys'll,gutted,gulls,gritty,grievous,graft,gossamer,gooder,gambled,gadgets,fundamentals,frustrations,frolicking,frock,frilly,foreseen,footloose,fondly,flirtation,flinched,flatten,farthest,exposer,evading,escrow,empathize,embryos,embodiment,ellsberg,ebola,dulcinea,dreamin,drawbacks,doting,doose,doofy,disturbs,disorderly,disgusts,detox,denominator,demeanor,deliriously,decode,debauchery,croissant,cravings,cranked,coworkers,councilor,confuses,confiscate,confines,conduit,compress,combed,clouding,clamps,cinch,chinnery,celebratory,catalogs,carpenters,carnal,canin,bundys,bulldozer,buggers,bueller,brainy,booming,bookstores,bloodbath,bittersweet,bellhop,beeping,beanstalk,beady,baudelaire,bartenders,bargains,averted,armadillo,appreciating,appraised,antlers,aloof,allowances,alleyway,affleck,abject,zilch,youore,xanax,wrenching,wouldn,witted,wicca,whorehouse,whooo,whips,vouchers,victimized,vicodin,untested,unsolicited,unfocused,unfettered,unfeeling,unexplainable,understaffed,underbelly,tutorial,tryst,trampoline,towering,tirade,thieving,thang,swimmin,swayzak,suspecting,superstitions,stubbornness,streamers,strattman,stonewalling,stiffs,stacking,spout,splice,sonrisa,smarmy,slows,slicing,sisterly,shrill,shined,seeming,sedley,seatbelts,scour,scold,schoolyard,scarring,salieri,rustling,roxbury,rewire,revved,retriever,reputable,remodel,reins,reincarnation,rance,rafters,rackets,quail,pumbaa,proclaim,probing,privates,pried,prewedding,premeditation,posturing,posterity,pleasurable,pizzeria,pimps,penmanship,penchant,pelvis,overturn,overstepped,overcoat,ovens,outsmart,outed,ooohh,oncologist,omission,offhand,odour,nyazian,notarized,nobody'll,nightie,navel,nabbed,mystique,mover,mortician,morose,moratorium,mockingbird,mobsters,mingling,methinks,messengered,merde,masochist,martouf,martians,marinara,manray,majorly,magnifying,mackerel,lurid,lugging,lonnegan,loathsome,llantano,liberace,leprosy,latinos,lanterns,lamest,laferette,kraut,intestine,innocencia,inhibitions,ineffectual,indisposed,incurable,inconvenienced,inanimate,improbable,implode,hydrant,hustling,hustled,huevos,how'm,hooey,hoods,honcho,hinge,hijack,heimlich,hamunaptra,haladki,haiku,haggle,gutsy,grunting,grueling,gribbs,greevy,grandstanding,godparents,glows,glistening,gimmick,gaping,fraiser,formalities,foreigner,folders,foggy,fitty,fiends,fe'nos,favours,eyeing,extort,expedite,escalating,epinephrine,entitles,entice,eminence,eights,earthlings,eagerly,dunville,dugout,doublemeat,doling,dispensing,dispatcher,discoloration,diners,diddly,dictates,diazepam,derogatory,delights,defies,decoder,dealio,danson,cutthroat,crumbles,croissants,crematorium,craftsmanship,could'a,cordless,cools,conked,confine,concealing,complicates,communique,cockamamie,coasters,clobbered,clipping,clipboard,clemenza,cleanser,circumcision,chanukah,certainaly,cellmate,cancels,cadmium,buzzed,bumstead,bucko,browsing,broth,braver,boggling,bobbing,blurred,birkhead,benet,belvedere,bellies,begrudge,beckworth,banky,baldness,baggy,babysitters,aversion,astonished,assorted,appetites,angina,amiss,ambulances,alibis,airway,admires,adhesive,yoyou,xxxxxx,wreaked,wracking,woooo,wooing,wised,wilshire,wedgie,waging,violets,vincey,uplifting,untrustworthy,unmitigated,uneventful,undressing,underprivileged,unburden,umbilical,tweaking,turquoise,treachery,tosses,torching,toothpick,toasts,thickens,tereza,tenacious,teldar,taint,swill,sweatin,subtly,subdural,streep,stopwatch,stockholder,stillwater,stalkers,squished,squeegee,splinters,spliced,splat,spied,spackle,sophistication,snapshots,smite,sluggish,slithered,skeeters,sidewalks,sickly,shrugs,shrubbery,shrieking,shitless,settin,sentinels,selfishly,scarcely,sangria,sanctum,sahjhan,rustle,roving,rousing,rosomorf,riddled,responsibly,renoir,remoray,remedial,refundable,redirect,recheck,ravenwood,rationalizing,ramus,ramelle,quivering,pyjamas,psychos,provocations,prouder,protestors,prodded,proctologist,primordial,pricks,prickly,precedents,pentangeli,pathetically,parka,parakeet,panicky,overthruster,outsmarted,orthopedic,oncoming,offing,nutritious,nuthouse,nourishment,nibbling,newlywed,narcissist,mutilation,mundane,mummies,mumble,mowed,morvern,mortem,mopes,molasses,misplace,miscommunication,miney,midlife,menacing,memorizing,massaging,masking,magnets,luxuries,lounging,lothario,liposuction,lidocaine,libbets,levitate,leeway,launcelot,larek,lackeys,kumbaya,kryptonite,knapsack,keyhole,katarangura,juiced,jakey,ironclad,invoice,intertwined,interlude,interferes,injure,infernal,indeedy,incur,incorrigible,incantations,impediment,igloo,hysterectomy,hounded,hollering,hindsight,heebie,havesham,hasenfuss,hankering,hangers,hakuna,gutless,gusto,grubbing,grrrr,grazed,gratification,grandeur,gorak,godammit,gnawing,glanced,frostbite,frees,frazzled,fraulein,fraternizing,fortuneteller,formaldehyde,followup,foggiest,flunky,flickering,firecrackers,figger,fetuses,fates,eyeliner,extremities,extradited,expires,exceedingly,evaporate,erupt,epileptic,entrails,emporium,egregious,eggshells,easing,duwayne,droll,dreyfuss,dovey,doubly,doozy,donkeys,donde,distrust,distressing,disintegrate,discreetly,decapitated,dealin,deader,dashed,darkroom,dares,daddies,dabble,cushy,cupcakes,cuffed,croupier,croak,crapped,coursing,coolers,contaminate,consummated,construed,condos,concoction,compulsion,commish,coercion,clemency,clairvoyant,circulate,chesterton,checkered,charlatan,chaperones,categorically,cataracts,carano,capsules,capitalize,burdon,bullshitting,brewed,breathless,breasted,brainstorming,bossing,borealis,bonsoir,bobka,boast,blimp,bleep,bleeder,blackouts,bisque,billboards,beatings,bayberry,bashed,bamboozled,balding,baklava,baffled,backfires,babak,awkwardness,attest,attachments,apologizes,anyhoo,antiquated,alcante,advisable,aahhh,aaahh,zatarc,yearbooks,wuddya,wringing,womanhood,witless,winging,whatsa,wetting,waterproof,wastin,vogelman,vocation,vindicated,vigilance,vicariously,venza,vacuuming,utensils,uplink,unveil,unloved,unloading,uninhibited,unattached,tweaked,turnips,trinkets,toughen,toting,topside,terrors,terrify,technologically,tarnish,tagliati,szpilman,surly,supple,summation,suckin,stepmom,squeaking,splashmore,souffle,solitaire,solicitation,solarium,smokers,slugged,slobbering,skylight,skimpy,sinuses,silenced,sideburns,shrinkage,shoddy,shhhhhh,shelled,shareef,shangri,seuss,serenade,scuffle,scoff,scanners,sauerkraut,sardines,sarcophagus,salvy,rusted,russells,rowboat,rolfsky,ringside,respectability,reparations,renegotiate,reminisce,reimburse,regimen,raincoat,quibble,puzzled,purposefully,pubic,proofing,prescribing,prelim,poisons,poaching,personalized,personable,peroxide,pentonville,payphone,payoffs,paleontology,overflowing,oompa,oddest,objecting,o'hare,o'daniel,notches,nobody'd,nightstand,neutralized,nervousness,nerdy,needlessly,naquadah,nappy,nantucket,nambla,mountaineer,motherfuckin,morrie,monopolizing,mohel,mistreated,misreading,misbehave,miramax,minivan,milligram,milkshakes,metamorphosis,medics,mattresses,mathesar,matchbook,matata,marys,malucci,magilla,lymphoma,lowers,lordy,linens,lindenmeyer,limelight,leapt,laxative,lather,lapel,lamppost,laguardia,kindling,kegger,kawalsky,juries,jokin,jesminder,interning,innermost,injun,infallible,industrious,indulgence,incinerator,impossibility,impart,illuminate,iguanas,hypnotic,hyped,hospitable,hoses,homemaker,hirschmuller,helpers,headset,guardianship,guapo,grubby,granola,granddaddy,goren,goblet,gluttony,globes,giorno,getter,geritol,gassed,gaggle,foxhole,fouled,foretold,floorboards,flippers,flaked,fireflies,feedings,fashionably,farragut,fallback,facials,exterminate,excites,everything'll,evenin,ethically,ensue,enema,empath,eluded,eloquently,eject,edema,dumpling,droppings,dolled,distasteful,disputing,displeasure,disdain,deterrent,dehydration,defied,decomposing,dawned,dailies,custodian,crusts,crucifix,crowning,crier,crept,craze,crawls,couldn,correcting,corkmaster,copperfield,cooties,contraption,consumes,conspire,consenting,consented,conquers,congeniality,complains,communicator,commendable,collide,coladas,colada,clout,clooney,classifieds,clammy,civility,cirrhosis,chink,catskills,carvers,carpool,carelessness,cardio,carbs,capades,butabi,busmalis,burping,burdens,bunks,buncha,bulldozers,browse,brockovich,breakthroughs,bravado,boogety,blossoms,blooming,bloodsucker,blight,betterton,betrayer,belittle,beeps,bawling,barts,bartending,bankbooks,babish,atropine,assertive,armbrust,anyanka,annoyance,anemic,anago,airwaves,aimlessly,aaargh,aaand,yoghurt,writhing,workable,winking,winded,widen,whooping,whiter,whatya,wazoo,voila,virile,vests,vestibule,versed,vanishes,urkel,uproot,unwarranted,unscheduled,unparalleled,undergrad,tweedle,turtleneck,turban,trickery,transponder,toyed,townhouse,thyself,thunderstorm,thinning,thawed,tether,technicalities,tau'ri,tarnished,taffeta,tacked,systolic,swerve,sweepstakes,swabs,suspenders,superwoman,sunsets,succulent,subpoenas,stumper,stosh,stomachache,stewed,steppin,stepatech,stateside,spicoli,sparing,soulless,sonnets,sockets,snatching,smothering,slush,sloman,slashing,sitters,simpleton,sighs,sidra,sickens,shunned,shrunken,showbiz,shopped,shimmering,shagging,semblance,segue,sedation,scuzzlebutt,scumbags,screwin,scoundrels,scarsdale,scabs,saucers,saintly,saddened,runaways,runaround,rheya,resenting,rehashing,rehabilitated,regrettable,refreshed,redial,reconnecting,ravenous,raping,rafting,quandary,pylea,putrid,puffing,psychopathic,prunes,probate,prayin,pomegranate,plummeting,planing,plagues,pinata,pithy,perversion,personals,perched,peeps,peckish,pavarotti,pajama,packin,pacifier,overstepping,okama,obstetrician,nutso,nuance,normalcy,nonnegotiable,nomak,ninny,nines,nicey,newsflash,neutered,nether,negligee,necrosis,navigating,narcissistic,mylie,muses,momento,moisturizer,moderation,misinformed,misconception,minnifield,mikkos,methodical,mebbe,meager,maybes,matchmaking,masry,markovic,malakai,luzhin,lusting,lumberjack,loopholes,loaning,lightening,leotard,launder,lamaze,kubla,kneeling,kibosh,jumpsuit,joliet,jogger,janover,jakovasaurs,irreparable,innocently,inigo,infomercial,inexplicable,indispensable,impregnated,impossibly,imitating,hunches,hummus,houmfort,hothead,hostiles,hooves,hooligans,homos,homie,hisself,heyyy,hesitant,hangout,handsomest,handouts,hairless,gwennie,guzzling,guinevere,grungy,goading,glaring,gavel,gardino,gangrene,fruitful,friendlier,freckle,freakish,forthright,forearm,footnote,flops,fixer,firecracker,finito,figgered,fezzik,fastened,farfetched,fanciful,familiarize,faire,fahrenheit,extravaganza,exploratory,explanatory,everglades,eunuch,estas,escapade,erasers,emptying,embarassing,dweeb,dutiful,dumplings,dries,drafty,dollhouse,dismissing,disgraced,discrepancies,disbelief,disagreeing,digestion,didnt,deviled,deviated,demerol,delectable,decaying,decadent,dears,dateless,d'algout,cultivating,cryto,crumpled,crumbled,cronies,crease,craves,cozying,corduroy,congratulated,confidante,compressions,complicating,compadre,coerce,classier,chums,chumash,chivalrous,chinpoko,charred,chafing,celibacy,carted,carryin,carpeting,carotid,cannibals,candor,butterscotch,busts,busier,bullcrap,buggin,brookside,brodski,brassiere,brainwash,brainiac,botrelle,bonbon,boatload,blimey,blaring,blackness,bipartisan,bimbos,bigamist,biebe,biding,betrayals,bestow,bellerophon,bedpans,bassinet,basking,barzini,barnyard,barfed,backups,audited,asinine,asalaam,arouse,applejack,annoys,anchovies,ampule,alameida,aggravate,adage,accomplices,yokel,y'ever,wringer,witwer,withdrawals,windward,willfully,whorfin,whimsical,whimpering,weddin,weathered,warmest,wanton,volant,visceral,vindication,veggies,urinate,uproar,unwritten,unwrap,unsung,unsubstantiated,unspeakably,unscrupulous,unraveling,unquote,unqualified,unfulfilled,undetectable,underlined,unattainable,unappreciated,ummmm,ulcers,tylenol,tweak,turnin,tuatha,tropez,trellis,toppings,tootin,toodle,tinkering,thrives,thespis,theatrics,thatherton,tempers,tavington,tartar,tampon,swelled,sutures,sustenance,sunflowers,sublet,stubbins,strutting,strewn,stowaway,stoic,sternin,stabilizing,spiraling,spinster,speedometer,speakeasy,soooo,soiled,sneakin,smithereens,smelt,smacks,slaughterhouse,slacks,skids,sketching,skateboards,sizzling,sixes,sirree,simplistic,shouts,shorted,shoelace,sheeit,shards,shackled,sequestered,selmak,seduces,seclusion,seamstress,seabeas,scoops,scooped,scavenger,satch,s'more,rudeness,romancing,rioja,rifkin,rieper,revise,reunions,repugnant,replicating,repaid,renewing,relaxes,rekindle,regrettably,regenerate,reels,reciting,reappear,readin,ratting,rapes,rancher,rammed,rainstorm,railroading,queers,punxsutawney,punishes,pssst,prudy,proudest,protectors,procrastinating,proactive,priss,postmortem,pompoms,poise,pickings,perfectionist,peretti,people'll,pecking,patrolman,paralegal,paragraphs,paparazzi,pankot,pampering,overstep,overpower,outweigh,omnipotent,odious,nuwanda,nurtured,newsroom,neeson,needlepoint,necklaces,neato,muggers,muffler,mousy,mourned,mosey,mopey,mongolians,moldy,misinterpret,minibar,microfilm,mendola,mended,melissande,masturbating,masbath,manipulates,maimed,mailboxes,magnetism,m'lord,m'honey,lymph,lunge,lovelier,lefferts,leezak,ledgers,larraby,laloosh,kundun,kozinski,knockoff,kissin,kiosk,kennedys,kellman,karlo,kaleidoscope,jeffy,jaywalking,instructing,infraction,informer,infarction,impulsively,impressing,impersonated,impeach,idiocy,hyperbole,hurray,humped,huhuh,hsing,hordes,hoodlums,honky,hitchhiker,hideously,heaving,heathcliff,headgear,headboard,hazing,harem,handprint,hairspray,gutiurrez,goosebumps,gondola,glitches,gasping,frolic,freeways,frayed,fortitude,forgetful,forefathers,fonder,foiled,foaming,flossing,flailing,fitzgeralds,firehouse,finders,fiftieth,fellah,fawning,farquaad,faraway,fancied,extremists,exorcist,exhale,ethros,entrust,ennui,energized,encephalitis,embezzling,elster,elixir,electrolytes,duplex,dryers,drexl,dredging,drawback,don'ts,dobisch,divorcee,disrespected,disprove,disobeying,disinfectant,dingy,digress,dieting,dictating,devoured,devise,detonators,desist,deserter,derriere,deron,deceptive,debilitating,deathwok,daffodils,curtsy,cursory,cuppa,cumin,cronkite,cremation,credence,cranking,coverup,courted,countin,counselling,cornball,contentment,consensual,compost,cluett,cleverly,cleansed,cleanliness,chopec,chomp,chins,chime,cheswick,chessler,cheapest,chatted,cauliflower,catharsis,catchin,caress,camcorder,calorie,cackling,bystanders,buttoned,buttering,butted,buries,burgel,buffoon,brogna,bragged,boutros,bogeyman,blurting,blurb,blowup,bloodhound,blissful,birthmark,bigot,bestest,belted,belligerent,beggin,befall,beeswax,beatnik,beaming,barricade,baggoli,badness,awoke,artsy,artful,aroun,armpits,arming,annihilate,anise,angiogram,anaesthetic,amorous,ambiance,alligators,adoration,admittance,adama,abydos,zonked,zhivago,yorkin,wrongfully,writin,wrappers,worrywart,woops,wonderfalls,womanly,wickedness,whoopie,wholeheartedly,whimper,which'll,wheelchairs,what'ya,warranted,wallop,wading,wacked,virginal,vermouth,vermeil,verger,ventriss,veneer,vampira,utero,ushers,urgently,untoward,unshakable,unsettled,unruly,unlocks,ungodly,undue,uncooperative,uncontrollably,unbeatable,twitchy,tumbler,truest,triumphs,triplicate,tribbey,tortures,tongaree,tightening,thorazine,theres,testifies,teenaged,tearful,taxing,taldor,syllabus,swoops,swingin,suspending,sunburn,stuttering,stupor,strides,strategize,strangulation,stooped,stipulation,stingy,stapled,squeaks,squawking,spoilsport,splicing,spiel,spencers,spasms,spaniard,softener,sodding,soapbox,smoldering,smithbauer,skittish,sifting,sickest,sicilians,shuffling,shrivel,segretti,seeping,securely,scurrying,scrunch,scrote,screwups,schenkman,sawing,savin,satine,sapiens,salvaging,salmonella,sacrilege,rumpus,ruffle,roughing,rotted,rondall,ridding,rickshaw,rialto,rhinestone,restrooms,reroute,requisite,repress,rednecks,redeeming,rayed,ravell,raked,raincheck,raffi,racked,pushin,profess,prodding,procure,presuming,preppy,prednisone,potted,posttraumatic,poorhouse,podiatrist,plowed,pledging,playroom,plait,placate,pinback,picketing,photographing,pharoah,petrak,petal,persecuting,perchance,pellets,peeved,peerless,payable,pauses,pathologist,pagliacci,overwrought,overreaction,overqualified,overheated,outcasts,otherworldly,opinionated,oodles,oftentimes,occured,obstinate,nutritionist,numbness,nubile,nooooooo,nobodies,nepotism,neanderthals,mushu,mucus,mothering,mothballs,monogrammed,molesting,misspoke,misspelled,misconstrued,miscalculated,minimums,mince,mildew,mighta,middleman,mementos,mellowed,mayol,mauled,massaged,marmalade,mardi,makings,lundegaard,lovingly,loudest,lotto,loosing,loompa,looming,longs,loathes,littlest,littering,lifelike,legalities,laundered,lapdog,lacerations,kopalski,knobs,knitted,kittridge,kidnaps,kerosene,karras,jungles,jockeys,iranoff,invoices,invigorating,insolence,insincere,insectopia,inhumane,inhaling,ingrates,infestation,individuality,indeterminate,incomprehensible,inadequacy,impropriety,importer,imaginations,illuminating,ignite,hysterics,hypodermic,hyperventilate,hyperactive,humoring,honeymooning,honed,hoist,hoarding,hitching,hiker,hightail,hemoglobin,hell'd,heinie,growin,grasped,grandparent,granddaughters,gouged,goblins,gleam,glades,gigantor,get'em,geriatric,gatekeeper,gargoyles,gardenias,garcon,garbo,gallows,gabbing,futon,fulla,frightful,freshener,fortuitous,forceps,fogged,fodder,foamy,flogging,flaun,flared,fireplaces,feverish,favell,fattest,fattening,fallow,extraordinaire,evacuating,errant,envied,enchant,enamored,egocentric,dussander,dunwitty,dullest,dropout,dredged,dorsia,doornail,donot,dongs,dogged,dodgy,ditty,dishonorable,discriminating,discontinue,dings,dilly,dictation,dialysis,delly,delightfully,daryll,dandruff,cruddy,croquet,cringe,crimp,credo,crackling,courtside,counteroffer,counterfeiting,corrupting,copping,conveyor,contusions,contusion,conspirator,consoling,connoisseur,confetti,composure,compel,colic,coddle,cocksuckers,coattails,cloned,claustrophobia,clamoring,churn,chugga,chirping,chasin,chapped,chalkboard,centimeter,caymans,catheter,casings,caprica,capelli,cannolis,cannoli,camogli,camembert,butchers,butchered,busboys,bureaucrats,buckled,bubbe,brownstone,bravely,brackley,bouquets,botox,boozing,boosters,bodhi,blunders,blunder,blockage,biocyte,betrays,bested,beryllium,beheading,beggar,begbie,beamed,bastille,barstool,barricades,barbecues,barbecued,bandwagon,backfiring,bacarra,avenged,autopsies,aunties,associating,artichoke,arrowhead,appendage,apostrophe,antacid,ansel,annul,amuses,amped,amicable,amberg,alluring,adversaries,admirers,adlai,acupuncture,abnormality,aaaahhhh,zooming,zippity,zipping,zeroed,yuletide,yoyodyne,yengeese,yeahhh,wrinkly,wracked,withered,winks,windmills,whopping,wendle,weigart,waterworks,waterbed,watchful,wantin,wagging,waaah,vying,ventricle,varnish,vacuumed,unreachable,unprovoked,unmistakable,unfriendly,unfolding,underpaid,uncuff,unappealing,unabomber,typhoid,tuxedos,tushie,turds,tumnus,troubadour,trinium,treaters,treads,transpired,transgression,tought,thready,thins,thinners,techs,teary,tattaglia,tassels,tarzana,tanking,tablecloths,synchronize,symptomatic,sycophant,swimmingly,sweatshop,surfboard,superpowers,sunroom,sunblock,sugarplum,stupidly,strumpet,strapless,stooping,stools,stealthy,stalks,stairmaster,staffer,sshhh,squatting,squatters,spectacularly,sorbet,socked,sociable,snubbed,snorting,sniffles,snazzy,snakebite,smuggler,smorgasbord,smooching,slurping,slouch,slingshot,slaved,skimmed,sisterhood,silliest,sidarthur,sheraton,shebang,sharpening,shanghaied,shakers,sendoff,scurvy,scoliosis,scaredy,scagnetti,sawchuk,saugus,sasquatch,sandbag,saltines,s'pose,roston,rostle,riveting,ristle,rifling,revulsion,reverently,retrograde,restful,resents,reptilian,reorganize,renovating,reiterate,reinvent,reinmar,reibers,reechard,recuse,reconciling,recognizance,reclaiming,recitation,recieved,rebate,reacquainted,rascals,railly,quintuplets,quahog,pygmies,puzzling,punctuality,prosthetic,proms,probie,preys,preserver,preppie,poachers,plummet,plumbers,plannin,pitying,pitfalls,piqued,pinecrest,pinches,pillage,pigheaded,physique,pessimistic,persecute,perjure,percentile,pentothal,pensky,penises,peini,pazzi,pastels,parlour,paperweight,pamper,pained,overwhelm,overalls,outrank,outpouring,outhouse,outage,ouija,obstructed,obsessions,obeying,obese,o'riley,o'higgins,nosebleeds,norad,noooooooo,nononono,nonchalant,nippy,neurosis,nekhorvich,necronomicon,naquada,n'est,mystik,mystified,mumps,muddle,mothership,moped,monumentally,monogamous,mondesi,misogynistic,misinterpreting,mindlock,mending,megaphone,meeny,medicating,meanie,masseur,markstrom,marklars,margueritas,manifesting,maharajah,lukewarm,loveliest,loran,lizardo,liquored,lipped,lingers,limey,lemkin,leisurely,lathe,latched,lapping,ladle,krevlorneswath,kosygin,khakis,kenaru,keats,kaitlan,julliard,jollies,jaundice,jargon,jackals,invisibility,insipid,inflamed,inferiority,inexperience,incinerated,incinerate,incendiary,incan,inbred,implicating,impersonator,hunks,horsing,hooded,hippopotamus,hiked,hetson,hetero,hessian,henslowe,hendler,hellstrom,headstone,hayloft,harbucks,handguns,hallucinate,haldol,haggling,gynaecologist,gulag,guilder,guaranteeing,groundskeeper,grindstone,grimoir,grievance,griddle,gribbit,greystone,graceland,gooders,goeth,gentlemanly,gelatin,gawking,ganged,fukes,fromby,frenchmen,foursome,forsley,forbids,footwork,foothold,floater,flinging,flicking,fittest,fistfight,fireballs,fillings,fiddling,fennyman,felonious,felonies,feces,favoritism,fatten,fanatics,faceman,excusing,excepted,entwined,entree,ensconced,eladio,ehrlichman,easterland,dueling,dribbling,drape,downtrodden,doused,dosed,dorleen,dokie,distort,displeased,disown,dismount,disinherited,disarmed,disapproves,diperna,dined,diligent,dicaprio,depress,decoded,debatable,dealey,darsh,damsels,damning,dad'll,d'oeuvre,curlers,curie,cubed,crikey,crepes,countrymen,cornfield,coppers,copilot,copier,cooing,conspiracies,consigliere,condoning,commoner,commies,combust,comas,colds,clawed,clamped,choosy,chomping,chimps,chigorin,chianti,cheep,checkups,cheaters,celibate,cautiously,cautionary,castell,carpentry,caroling,carjacking,caritas,caregiver,cardiology,candlesticks,canasta,cain't,burro,burnin,bunking,bumming,bullwinkle,brummel,brooms,brews,breathin,braslow,bracing,botulism,boorish,bloodless,blayne,blatantly,blankie,bedbugs,becuase,barmaid,bared,baracus,banal,bakes,backpacks,attentions,atrocious,ativan,athame,asunder,astound,assuring,aspirins,asphyxiation,ashtrays,aryans,arnon,apprehension,applauding,anvil,antiquing,antidepressants,annoyingly,amputate,altruistic,alotta,alerting,afterthought,affront,affirm,actuality,abysmal,absentee,yeller,yakushova,wuzzy,wriggle,worrier,woogyman,womanizer,windpipe,windbag,willin,whisking,whimsy,wendall,weeny,weensy,weasels,watery,watcha,wasteful,waski,washcloth,waaay,vouched,viznick,ventriloquist,vendettas,veils,vayhue,vamanos,vadimus,upstage,uppity,unsaid,unlocking,unintentionally,undetected,undecided,uncaring,unbearably,tween,tryout,trotting,trini,trimmings,trickier,treatin,treadstone,trashcan,transcendent,tramps,townsfolk,torturous,torrid,toothpicks,tolerable,tireless,tiptoeing,timmay,tillinghouse,tidying,tibia,thumbing,thrusters,thrashing,these'll,thatos,testicular,teriyaki,tenors,tenacity,tellers,telemetry,tarragon,switchblade,swicker,swells,sweatshirts,swatches,surging,supremely,sump'n,succumb,subsidize,stumbles,stuffs,stoppin,stipulate,stenographer,steamroll,stasis,stagger,squandered,splint,splendidly,splashy,splashing,specter,sorcerers,somewheres,somber,snuggled,snowmobile,sniffed,snags,smugglers,smudged,smirking,smearing,slings,sleet,sleepovers,sleek,slackers,siree,siphoning,singed,sincerest,sickened,shuffled,shriveled,shorthanded,shittin,shish,shipwrecked,shins,sheetrock,shawshank,shamu,sha're,servitude,sequins,seascape,scrapings,scoured,scorching,sandpaper,saluting,salud,ruffled,roughnecks,rougher,rosslyn,rosses,roost,roomy,romping,revolutionize,reprimanded,refute,refrigerated,reeled,redundancies,rectal,recklessly,receding,reassignment,reapers,readout,ration,raring,ramblings,raccoons,quarantined,purging,punters,psychically,premarital,pregnancies,predisposed,precautionary,pollute,podunk,plums,plaything,pixilated,pitting,piranhas,pieced,piddles,pickled,photogenic,phosphorous,pffft,pestilence,pessimist,perspiration,perps,penticoff,passageways,pardons,panics,pancamo,paleontologist,overwhelms,overstating,overpaid,overdid,outlive,orthodontist,orgies,oreos,ordover,ordinates,ooooooh,oooohhh,omelettes,officiate,obtuse,obits,nymph,novocaine,noooooooooo,nipping,nilly,nightstick,negate,neatness,natured,narcotic,narcissism,namun,nakatomi,murky,muchacho,mouthwash,motzah,morsel,morph,morlocks,mooch,moloch,molest,mohra,modus,modicum,mockolate,misdemeanors,miscalculation,middies,meringue,mercilessly,meditating,mayakovsky,maximillian,marlee,markovski,maniacal,maneuvered,magnificence,maddening,lutze,lunged,lovelies,lorry,loosening,lookee,littered,lilac,lightened,laces,kurzon,kurtzweil,kind've,kimono,kenji,kembu,keanu,kazuo,jonesing,jilted,jiggling,jewelers,jewbilee,jacqnoud,jacksons,ivories,insurmountable,innocuous,innkeeper,infantery,indulged,indescribable,incoherent,impervious,impertinent,imperfections,hunnert,huffy,horsies,horseradish,hollowed,hogwash,hockley,hissing,hiromitsu,hidin,hereafter,helpmann,hehehe,haughty,happenings,hankie,handsomely,halliwells,haklar,haise,gunsights,grossly,grope,grocer,grits,gripping,grabby,glorificus,gizzard,gilardi,gibarian,geminon,gasses,garnish,galloping,gairwyn,futterman,futility,fumigated,fruitless,friendless,freon,foregone,forego,floored,flighty,flapjacks,fizzled,ficus,festering,farbman,fabricate,eyghon,extricate,exalted,eventful,esophagus,enterprising,entail,endor,emphatically,embarrasses,electroshock,easel,duffle,drumsticks,dissection,dissected,disposing,disparaging,disorientation,disintegrated,disarming,devoting,dessaline,deprecating,deplorable,delve,degenerative,deduct,decomposed,deathly,dearie,daunting,dankova,cyclotron,cyberspace,cutbacks,culpable,cuddled,crumpets,cruelly,crouching,cranium,cramming,cowering,couric,cordesh,conversational,conclusively,clung,clotting,cleanest,chipping,chimpanzee,chests,cheapen,chainsaws,censure,catapult,caravaggio,carats,captivating,calrissian,butlers,busybody,bussing,bunion,bulimic,budging,brung,browbeat,brokenhearted,brecher,breakdowns,bracebridge,boning,blowhard,blisters,blackboard,bigotry,bialy,bhamra,bended,begat,battering,baste,basquiat,barricaded,barometer,balled,baited,badenweiler,backhand,ascenscion,argumentative,appendicitis,apparition,anxiously,antagonistic,angora,anacott,amniotic,ambience,alonna,aleck,akashic,ageless,abouts,aawwww,aaaaarrrrrrggghhh,aaaaaa,zendi,yuppies,yodel,y'hear,wrangle,wombosi,wittle,withstanding,wisecracks,wiggling,wierd,whittlesley,whipper,whattya,whatsamatter,whatchamacallit,whassup,whad'ya,weakling,warfarin,waponis,wampum,wadn't,vorash,vizzini,virtucon,viridiana,veracity,ventilated,varicose,varcon,vandalized,vamos,vamoose,vaccinated,vacationing,usted,urinal,uppers,unwittingly,unsealed,unplanned,unhinged,unhand,unfathomable,unequivocally,unbreakable,unadvisedly,udall,tynacorp,tuxes,tussle,turati,tunic,tsavo,trussed,troublemakers,trollop,tremors,transsexual,transfusions,toothbrushes,toned,toddlers,tinted,tightened,thundering,thorpey,this'd,thespian,thaddius,tenuous,tenths,tenement,telethon,teleprompter,teaspoon,taunted,tattle,tardiness,taraka,tappy,tapioca,tapeworm,talcum,tacks,swivel,swaying,superpower,summarize,sumbitch,sultry,suburbia,styrofoam,stylings,strolls,strobe,stockpile,stewardesses,sterilized,sterilize,stealin,stakeouts,squawk,squalor,squabble,sprinkled,sportsmanship,spokes,spiritus,sparklers,spareribs,sowing,sororities,sonovabitch,solicit,softy,softness,softening,snuggling,snatchers,snarling,snarky,snacking,smears,slumped,slowest,slithering,sleazebag,slayed,slaughtering,skidded,skated,sivapathasundaram,sissies,silliness,silences,sidecar,sicced,shylock,shtick,shrugged,shriek,shoves,should'a,shortcake,shockingly,shirking,shaves,shatner,sharpener,shapely,shafted,sexless,septum,selflessness,seabea,scuff,screwball,scoping,scooch,scolding,schnitzel,schemed,scalper,santy,sankara,sanest,salesperson,sakulos,safehouse,sabers,runes,rumblings,rumbling,ruijven,ringers,righto,rhinestones,retrieving,reneging,remodelling,relentlessly,regurgitate,refills,reeking,reclusive,recklessness,recanted,ranchers,rafer,quaking,quacks,prophesied,propensity,profusely,problema,prided,prays,postmark,popsicles,poodles,pollyanna,polaroids,pokes,poconos,pocketful,plunging,plugging,pleeease,platters,pitied,pinetti,piercings,phooey,phonies,pestering,periscope,pentagram,pelts,patronized,paramour,paralyze,parachutes,pales,paella,paducci,owatta,overdone,overcrowded,overcompensating,ostracized,ordinate,optometrist,operandi,omens,okayed,oedipal,nuttier,nuptial,nunheim,noxious,nourish,notepad,nitroglycerin,nibblet,neuroses,nanosecond,nabbit,mythic,munchkins,multimillion,mulroney,mucous,muchas,mountaintop,morlin,mongorians,moneybags,mom'll,molto,mixup,misgivings,mindset,michalchuk,mesmerized,merman,mensa,meaty,mbwun,materialize,materialistic,masterminded,marginally,mapuhe,malfunctioning,magnify,macnamara,macinerney,machinations,macadamia,lysol,lurks,lovelorn,lopsided,locator,litback,litany,linea,limousines,limes,lighters,liebkind,levity,levelheaded,letterhead,lesabre,leron,lepers,lefts,leftenant,laziness,layaway,laughlan,lascivious,laryngitis,lapsed,landok,laminated,kurten,kobol,knucklehead,knowed,knotted,kirkeby,kinsa,karnovsky,jolla,jimson,jettison,jeric,jawed,jankis,janitors,jango,jalopy,jailbreak,jackers,jackasses,invalidate,intercepting,intercede,insinuations,infertile,impetuous,impaled,immerse,immaterial,imbeciles,imagines,idyllic,idolized,icebox,i'd've,hypochondriac,hyphen,hurtling,hurried,hunchback,hullo,horsting,hoooo,homeboys,hollandaise,hoity,hijinks,hesitates,herrero,herndorff,helplessly,heeyy,heathen,hearin,headband,harrassment,harpies,halstrom,hahahahaha,hacer,grumbling,grimlocks,grift,greets,grandmothers,grander,grafts,gordievsky,gondorff,godorsky,glscripts,gaudy,gardeners,gainful,fuses,fukienese,frizzy,freshness,freshening,fraught,frantically,foxbooks,fortieth,forked,foibles,flunkies,fleece,flatbed,fisted,firefight,fingerpaint,filibuster,fhloston,fenceline,femur,fatigues,fanucci,fantastically,familiars,falafel,fabulously,eyesore,expedient,ewwww,eviscerated,erogenous,epidural,enchante,embarassed,embarass,embalming,elude,elspeth,electrocute,eigth,eggshell,echinacea,eases,earpiece,earlobe,dumpsters,dumbshit,dumbasses,duloc,duisberg,drummed,drinkers,dressy,dorma,doily,divvy,diverting,dissuade,disrespecting,displace,disorganized,disgustingly,discord,disapproving,diligence,didja,diced,devouring,detach,destructing,desolate,demerits,delude,delirium,degrade,deevak,deemesa,deductions,deduce,debriefed,deadbeats,dateline,darndest,damnable,dalliance,daiquiri,d'agosta,cussing,cryss,cripes,cretins,crackerjack,cower,coveting,couriers,countermission,cotswolds,convertibles,conversationalist,consorting,consoled,consarn,confides,confidentially,commited,commiserate,comme,comforter,comeuppance,combative,comanches,colosseum,colling,coexist,coaxing,cliffside,chutes,chucked,chokes,childlike,childhoods,chickening,chenowith,charmingly,changin,catsup,captioning,capsize,cappucino,capiche,candlewell,cakewalk,cagey,caddie,buxley,bumbling,bulky,buggered,brussel,brunettes,brumby,brotha,bronck,brisket,bridegroom,braided,bovary,bookkeeper,bluster,bloodline,blissfully,blase,billionaires,bicker,berrisford,bereft,berating,berate,bendy,belive,belated,beikoku,beens,bedspread,bawdy,barreling,baptize,banya,balthazar,balmoral,bakshi,bails,badgered,backstreet,awkwardly,auras,attuned,atheists,astaire,assuredly,arrivederci,appetit,appendectomy,apologetic,antihistamine,anesthesiologist,amulets,albie,alarmist,aiight,adstream,admirably,acquaint,abound,abominable,aaaaaaah,zekes,zatunica,wussy,worded,wooed,woodrell,wiretap,windowsill,windjammer,windfall,whisker,whims,whatiya,whadya,weirdly,weenies,waunt,washout,wanto,waning,victimless,verdad,veranda,vandaley,vancomycin,valise,vaguest,upshot,unzip,unwashed,untrained,unstuck,unprincipled,unmentionables,unjustly,unfolds,unemployable,uneducated,unduly,undercut,uncovering,unconsciousness,unconsciously,tyndareus,turncoat,turlock,tulle,tryouts,trouper,triplette,trepkos,tremor,treeger,trapeze,traipse,tradeoff,trach,torin,tommorow,tollan,toity,timpani,thumbprint,thankless,tell'em,telepathy,telemarketing,telekinesis,teevee,teeming,tarred,tambourine,talentless,swooped,switcheroo,swirly,sweatpants,sunstroke,suitors,sugarcoat,subways,subterfuge,subservient,subletting,stunningly,strongbox,striptease,stravanavitch,stradling,stoolie,stodgy,stocky,stifle,stealer,squeezes,squatter,squarely,sprouted,spool,spindly,speedos,soups,soundly,soulmates,somebody'll,soliciting,solenoid,sobering,snowflakes,snowballs,snores,slung,slimming,skulk,skivvies,skewered,skewer,sizing,sistine,sidebar,sickos,shushing,shunt,shugga,shone,shol'va,sharpened,shapeshifter,shadowing,shadoe,selectman,sefelt,seared,scrounging,scribbling,scooping,scintillating,schmoozing,scallops,sapphires,sanitarium,sanded,safes,rudely,roust,rosebush,rosasharn,rondell,roadhouse,riveted,rewrote,revamp,retaliatory,reprimand,replicators,replaceable,remedied,relinquishing,rejoicing,reincarnated,reimbursed,reevaluate,redid,redefine,recreating,reconnected,rebelling,reassign,rearview,rayne,ravings,ratso,rambunctious,radiologist,quiver,quiero,queef,qualms,pyrotechnics,pulsating,psychosomatic,proverb,promiscuous,profanity,prioritize,preying,predisposition,precocious,precludes,prattling,prankster,povich,potting,postpartum,porridge,polluting,plowing,pistachio,pissin,pickpocket,physicals,peruse,pertains,personified,personalize,perjured,perfecting,pepys,pepperdine,pembry,peering,peels,pedophile,patties,passkey,paratrooper,paraphernalia,paralyzing,pandering,paltry,palpable,pagers,pachyderm,overstay,overestimated,overbite,outwit,outgrow,outbid,ooops,oomph,oohhh,oldie,obliterate,objectionable,nygma,notting,noches,nitty,nighters,newsstands,newborns,neurosurgery,nauseated,nastiest,narcolepsy,mutilate,muscled,murmur,mulva,mulling,mukada,muffled,morgues,moonbeams,monogamy,molester,molestation,molars,moans,misprint,mismatched,mirth,mindful,mimosas,millander,mescaline,menstrual,menage,mellowing,medevac,meddlesome,matey,manicures,malevolent,madmen,macaroons,lydell,lycra,lunchroom,lunching,lozenges,looped,litigious,liquidate,linoleum,lingk,limitless,limber,lilacs,ligature,liftoff,lemmiwinks,leggo,learnin,lazarre,lawyered,lactose,knelt,kenosha,kemosabe,jussy,junky,jordy,jimmies,jeriko,jakovasaur,issacs,isabela,irresponsibility,ironed,intoxication,insinuated,inherits,ingest,ingenue,inflexible,inflame,inevitability,inedible,inducement,indignant,indictments,indefensible,incomparable,incommunicado,improvising,impounded,illogical,ignoramus,hydrochloric,hydrate,hungover,humorless,humiliations,hugest,hoverdrone,hovel,hmmph,hitchhike,hibernating,henchman,helloooo,heirlooms,heartsick,headdress,hatches,harebrained,hapless,hanen,handsomer,hallows,habitual,guten,gummy,guiltier,guidebook,gstaad,gruff,griss,grieved,grata,gorignak,goosed,goofed,glowed,glitz,glimpses,glancing,gilmores,gianelli,geraniums,garroway,gangbusters,gamblers,galls,fuddy,frumpy,frowning,frothy,fro'tak,frere,fragrances,forgettin,follicles,flowery,flophouse,floatin,flirts,flings,flatfoot,fingerprinting,fingerprinted,fingering,finald,fillet,fianc,femoral,federales,fawkes,fascinates,farfel,fambly,falsified,fabricating,exterminators,expectant,excusez,excrement,excercises,evian,etins,esophageal,equivalency,equate,equalizer,entrees,enquire,endearment,empathetic,emailed,eggroll,earmuffs,dyslexic,duper,duesouth,drunker,druggie,dreadfully,dramatics,dragline,downplay,downers,dominatrix,doers,docket,docile,diversify,distracts,disloyalty,disinterested,discharging,disagreeable,dirtier,dinghy,dimwitted,dimoxinil,dimmy,diatribe,devising,deviate,detriment,desertion,depressants,depravity,deniability,delinquents,defiled,deepcore,deductive,decimate,deadbolt,dauthuille,dastardly,daiquiris,daggers,dachau,curiouser,curdled,cucamonga,cruller,cruces,crosswalk,crinkle,crescendo,cremate,counseled,couches,cornea,corday,copernicus,contrition,contemptible,constipated,conjoined,confounded,condescend,concoct,conch,compensating,committment,commandeered,comely,coddled,cockfight,cluttered,clunky,clownfish,cloaked,clenched,cleanin,civilised,circumcised,cimmeria,cilantro,chutzpah,chucking,chiseled,chicka,chattering,cervix,carrey,carpal,carnations,cappuccinos,candied,calluses,calisthenics,bushy,burners,budington,buchanans,brimming,braids,boycotting,bouncers,botticelli,botherin,bookkeeping,bogyman,bogged,bloodthirsty,blintzes,blanky,binturong,billable,bigboote,bewildered,betas,bequeath,behoove,befriend,bedpost,bedded,baudelaires,barreled,barboni,barbeque,bangin,baltus,bailout,backstabber,baccarat,awning,augie,arguillo,archway,apricots,apologising,annyong,anchorman,amenable,amazement,allspice,alannis,airfare,airbags,ahhhhhhhhh,ahhhhhhhh,ahhhhhhh,agitator,adrenal,acidosis,achoo,accessorizing,accentuate,abrasions,abductor,aaaahhh,aaaaaaaa,aaaaaaa,zeroing,zelner,zeldy,yevgeny,yeska,yellows,yeesh,yeahh,yamuri,wouldn't've,workmanship,woodsman,winnin,winked,wildness,whoring,whitewash,whiney,when're,wheezer,wheelman,wheelbarrow,westerburg,weeding,watermelons,washboard,waltzes,wafting,voulez,voluptuous,vitone,vigilantes,videotaping,viciously,vices,veruca,vermeer,verifying,vasculitis,valets,upholstered,unwavering,untold,unsympathetic,unromantic,unrecognizable,unpredictability,unmask,unleashing,unintentional,unglued,unequivocal,underrated,underfoot,unchecked,unbutton,unbind,unbiased,unagi,uhhhhh,tugging,triads,trespasses,treehorn,traviata,trappers,transplants,trannie,tramping,tracheotomy,tourniquet,tooty,toothless,tomarrow,toasters,thruster,thoughtfulness,thornwood,tengo,tenfold,telltale,telephoto,telephoned,telemarketer,tearin,tastic,tastefully,tasking,taser,tamed,tallow,taketh,taillight,tadpoles,tachibana,syringes,sweated,swarthy,swagger,surges,supermodels,superhighway,sunup,sun'll,sulfa,sugarless,sufficed,subside,strolled,stringy,strengthens,straightest,straightens,storefront,stopper,stockpiling,stimulant,stiffed,steyne,sternum,stepladder,stepbrother,steers,steelheads,steakhouse,stathis,stankylecartmankennymr,standoffish,stalwart,squirted,spritz,sprig,sprawl,spousal,sphincter,spenders,spearmint,spatter,spangled,southey,soured,sonuvabitch,somethng,snuffed,sniffs,smokescreen,smilin,slobs,sleepwalker,sleds,slays,slayage,skydiving,sketched,skanks,sixed,siphoned,siphon,simpering,sigfried,sidearm,siddons,sickie,shuteye,shuffleboard,shrubberies,shrouded,showmanship,shouldn't've,shoplift,shiatsu,sentries,sentance,sensuality,seething,secretions,searing,scuttlebutt,sculpt,scowling,scouring,scorecard,schoolers,schmucks,scepters,scaly,scalps,scaffolding,sauces,sartorius,santen,salivating,sainthood,saget,saddens,rygalski,rusting,ruination,rueland,rudabaga,rottweiler,roofies,romantics,rollerblading,roldy,roadshow,rickets,rible,rheza,revisiting,retentive,resurface,restores,respite,resounding,resorting,resists,repulse,repressing,repaying,reneged,refunds,rediscover,redecorated,reconstructive,recommitted,recollect,receptacle,reassess,reanimation,realtors,razinin,rationalization,ratatouille,rashum,rasczak,rancheros,rampler,quizzing,quips,quartered,purring,pummeling,puede,proximo,prospectus,pronouncing,prolonging,procreation,proclamations,principled,prides,preoccupation,prego,precog,prattle,pounced,potshots,potpourri,porque,pomegranates,polenta,plying,pluie,plesac,playmates,plantains,pillowcase,piddle,pickers,photocopied,philistine,perpetuate,perpetually,perilous,pawned,pausing,pauper,parter,parlez,parlay,pally,ovulation,overtake,overstate,overpowering,overpowered,overconfident,overbooked,ovaltine,outweighs,outings,ottos,orrin,orifice,orangutan,oopsy,ooooooooh,oooooo,ooohhhh,ocular,obstruct,obscenely,o'dwyer,nutjob,nunur,notifying,nostrand,nonny,nonfat,noblest,nimble,nikes,nicht,newsworthy,nestled,nearsighted,ne'er,nastier,narco,nakedness,muted,mummified,mudda,mozzarella,moxica,motivator,motility,mothafucka,mortmain,mortgaged,mores,mongers,mobbed,mitigating,mistah,misrepresented,mishke,misfortunes,misdirection,mischievous,mineshaft,millaney,microwaves,metzenbaum,mccovey,masterful,masochistic,marliston,marijawana,manya,mantumbi,malarkey,magnifique,madrona,madox,machida,m'hidi,lullabies,loveliness,lotions,looka,lompoc,litterbug,litigator,lithe,liquorice,linds,limericks,lightbulb,lewises,letch,lemec,layover,lavatory,laurels,lateness,laparotomy,laboring,kuato,kroff,krispy,krauts,knuckleheads,kitschy,kippers,kimbrow,keypad,keepsake,kebab,karloff,junket,judgemental,jointed,jezzie,jetting,jeeze,jeeter,jeesus,jeebs,janeane,jails,jackhammer,ixnay,irritates,irritability,irrevocable,irrefutable,irked,invoking,intricacies,interferon,intents,insubordinate,instructive,instinctive,inquisitive,inlay,injuns,inebriated,indignity,indecisive,incisors,incacha,inalienable,impresses,impregnate,impregnable,implosion,idolizes,hypothyroidism,hypoglycemic,huseni,humvee,huddling,honing,hobnobbing,hobnob,histrionics,histamine,hirohito,hippocratic,hindquarters,hikita,hikes,hightailed,hieroglyphics,heretofore,herbalist,hehey,hedriks,heartstrings,headmistress,headlight,hardheaded,happend,handlebars,hagitha,habla,gyroscope,guys'd,guy'd,guttersnipe,grump,growed,grovelling,groan,greenbacks,gravedigger,grating,grasshoppers,grandiose,grandest,grafted,gooood,goood,gooks,godsakes,goaded,glamorama,giveth,gingham,ghostbusters,germane,georgy,gazzo,gazelles,gargle,garbled,galgenstein,gaffe,g'day,fyarl,furnish,furies,fulfills,frowns,frowned,frighteningly,freebies,freakishly,forewarned,foreclose,forearms,fordson,fonics,flushes,flitting,flemmer,flabby,fishbowl,fidgeting,fevers,feigning,faxing,fatigued,fathoms,fatherless,fancier,fanatical,factored,eyelid,eyeglasses,expresso,expletive,expectin,excruciatingly,evidentiary,ever'thing,eurotrash,eubie,estrangement,erlich,epitome,entrap,enclose,emphysema,embers,emasculating,eighths,eardrum,dyslexia,duplicitous,dumpty,dumbledore,dufus,duddy,duchamp,drunkenness,drumlin,drowns,droid,drinky,drifts,drawbridge,dramamine,douggie,douchebag,dostoyevsky,doodling,don'tcha,domineering,doings,dogcatcher,doctoring,ditzy,dissimilar,dissecting,disparage,disliking,disintegrating,dishwalla,dishonored,dishing,disengaged,disavowed,dippy,diorama,dimmed,dilate,digitalis,diggory,dicing,diagnosing,devola,desolation,dennings,denials,deliverance,deliciously,delicacies,degenerates,degas,deflector,defile,deference,decrepit,deciphered,dawdle,dauphine,daresay,dangles,dampen,damndest,cucumbers,cucaracha,cryogenically,croaks,croaked,criticise,crisper,creepiest,creams,crackle,crackin,covertly,counterintelligence,corrosive,cordially,cops'll,convulsions,convoluted,conversing,conga,confrontational,confab,condolence,condiments,complicit,compiegne,commodus,comings,cometh,collusion,collared,cockeyed,clobber,clemonds,clarithromycin,cienega,christmasy,christmassy,chloroform,chippie,chested,cheeco,checklist,chauvinist,chandlers,chambermaid,chakras,cellophane,caveat,cataloguing,cartmanland,carples,carny,carded,caramels,cappy,caped,canvassing,callback,calibrated,calamine,buttermilk,butterfingers,bunsen,bulimia,bukatari,buildin,budged,brobich,bringer,brendell,brawling,bratty,braised,boyish,boundless,botch,boosh,bookies,bonbons,bodes,bobunk,bluntly,blossoming,bloomers,bloodstains,bloodhounds,blech,biter,biometric,bioethics,bijan,bigoted,bicep,bereaved,bellowing,belching,beholden,beached,batmobile,barcodes,barch,barbecuing,bandanna,backwater,backtrack,backdraft,augustino,atrophy,atrocity,atley,atchoo,asthmatic,assoc,armchair,arachnids,aptly,appetizing,antisocial,antagonizing,anorexia,anini,andersons,anagram,amputation,alleluia,airlock,aimless,agonized,agitate,aggravating,aerosol,acing,accomplishing,accidently,abuser,abstain,abnormally,aberration,aaaaahh,zlotys,zesty,zerzura,zapruder,zantopia,yelburton,yeess,y'knowwhati'msayin,wwhat,wussies,wrenched,would'a,worryin,wormser,wooooo,wookiee,wolchek,wishin,wiseguys,windbreaker,wiggy,wieners,wiedersehen,whoopin,whittled,wherefore,wharvey,welts,wellstone,wedges,wavered,watchit,wastebasket,wango,waken,waitressed,wacquiem,vrykolaka,voula,vitally,visualizing,viciousness,vespers,vertes,verily,vegetarians,vater,vaporize,vannacutt,vallens,ussher,urinating,upping,unwitting,untangle,untamed,unsanitary,unraveled,unopened,unisex,uninvolved,uninteresting,unintelligible,unimaginative,undeserving,undermines,undergarments,unconcerned,tyrants,typist,tykes,tybalt,twosome,twits,tutti,turndown,tularemia,tuberculoma,tsimshian,truffaut,truer,truant,trove,triumphed,tripe,trigonometry,trifled,trifecta,tribulations,tremont,tremoille,transcends,trafficker,touchin,tomfoolery,tinkered,tinfoil,tightrope,thousan,thoracotomy,thesaurus,thawing,thatta,tessio,temps,taxidermist,tator,tachycardia,t'akaya,swelco,sweetbreads,swatting,supercollider,sunbathing,summarily,suffocation,sueleen,succinct,subsided,submissive,subjecting,subbing,subatomic,stupendous,stunted,stubble,stubbed,streetwalker,strategizing,straining,straightaway,stoli,stiffer,stickup,stens,steamroller,steadwell,steadfast,stateroom,stans,sshhhh,squishing,squinting,squealed,sprouting,sprimp,spreadsheets,sprawled,spotlights,spooning,spirals,speedboat,spectacles,speakerphone,southglen,souse,soundproof,soothsayer,sommes,somethings,solidify,soars,snorted,snorkeling,snitches,sniping,snifter,sniffin,snickering,sneer,snarl,smila,slinking,slanted,slanderous,slammin,skimp,skilosh,siteid,sirloin,singe,sighing,sidekicks,sicken,showstopper,shoplifter,shimokawa,sherborne,shavadai,sharpshooters,sharking,shagged,shaddup,senorita,sesterces,sensuous,seahaven,scullery,scorcher,schotzie,schnoz,schmooze,schlep,schizo,scents,scalping,scalped,scallop,scalding,sayeth,saybrooke,sawed,savoring,sardine,sandstorm,sandalwood,salutations,sagman,s'okay,rsvp'd,rousted,rootin,romper,romanovs,rollercoaster,rolfie,robinsons,ritzy,ritualistic,ringwald,rhymed,rheingold,rewrites,revoking,reverts,retrofit,retort,retinas,respirations,reprobate,replaying,repaint,renquist,renege,relapsing,rekindled,rejuvenating,rejuvenated,reinstating,recriminations,rechecked,reassemble,rears,reamed,reacquaint,rayanne,ravish,rathole,raspail,rarest,rapists,rants,racketeer,quittin,quitters,quintessential,queremos,quellek,quelle,quasimodo,pyromaniac,puttanesca,puritanical,purer,puree,pungent,pummel,puedo,psychotherapist,prosecutorial,prosciutto,propositioning,procrastination,probationary,primping,preventative,prevails,preservatives,preachy,praetorians,practicality,powders,potus,postop,positives,poser,portolano,portokalos,poolside,poltergeists,pocketed,poach,plummeted,plucking,plimpton,playthings,plastique,plainclothes,pinpointed,pinkus,pinks,pigskin,piffle,pictionary,piccata,photocopy,phobias,perignon,perfumes,pecks,pecked,patently,passable,parasailing,paramus,papier,paintbrush,pacer,paaiint,overtures,overthink,overstayed,overrule,overestimate,overcooked,outlandish,outgrew,outdoorsy,outdo,orchestrate,oppress,opposable,oooohh,oomupwah,okeydokey,okaaay,ohashi,of'em,obscenities,oakie,o'gar,nurection,nostradamus,norther,norcom,nooch,nonsensical,nipped,nimbala,nervously,neckline,nebbleman,narwhal,nametag,n'n't,mycenae,muzak,muumuu,mumbled,mulvehill,muggings,muffet,mouthy,motivates,motaba,moocher,mongi,moley,moisturize,mohair,mocky,mmkay,mistuh,missis,misdeeds,mincemeat,miggs,miffed,methadone,messieur,menopausal,menagerie,mcgillicuddy,mayflowers,matrimonial,matick,masai,marzipan,maplewood,manzelle,mannequins,manhole,manhandle,malfunctions,madwoman,machiavelli,lynley,lynched,lurconis,lujack,lubricant,looove,loons,loofah,lonelyhearts,lollipops,lineswoman,lifers,lexter,lepner,lemony,leggy,leafy,leadeth,lazerus,lazare,lawford,languishing,lagoda,ladman,kundera,krinkle,krendler,kreigel,kowolski,knockdown,knifed,kneed,kneecap,kids'll,kennie,kenmore,keeled,kazootie,katzenmoyer,kasdan,karak,kapowski,kakistos,julyan,jockstrap,jobless,jiggly,jaunt,jarring,jabbering,irrigate,irrevocably,irrationally,ironies,invitro,intimated,intently,intentioned,intelligently,instill,instigator,instep,inopportune,innuendoes,inflate,infects,infamy,indiscretions,indiscreet,indio,indignities,indict,indecision,inconspicuous,inappropriately,impunity,impudent,impotence,implicates,implausible,imperfection,impatience,immutable,immobilize,idealist,iambic,hysterically,hyperspace,hygienist,hydraulics,hydrated,huzzah,husks,hunched,huffed,hubris,hubbub,hovercraft,houngan,hosed,horoscopes,hopelessness,hoodwinked,honorably,honeysuckle,homegirl,holiest,hippity,hildie,hieroglyphs,hexton,herein,heckle,heaping,healthilizer,headfirst,hatsue,harlot,hardwired,halothane,hairstyles,haagen,haaaaa,gutting,gummi,groundless,groaning,gristle,grills,graynamore,grabbin,goodes,goggle,glittering,glint,gleaming,glassy,girth,gimbal,giblets,gellers,geezers,geeze,garshaw,gargantuan,garfunkel,gangway,gandarium,gamut,galoshes,gallivanting,gainfully,gachnar,fusionlips,fusilli,furiously,frugal,fricking,frederika,freckling,frauds,fountainhead,forthwith,forgo,forgettable,foresight,foresaw,fondling,fondled,fondle,folksy,fluttering,fluffing,floundering,flirtatious,flexing,flatterer,flaring,fixating,finchy,figurehead,fiendish,fertilize,ferment,fending,fellahs,feelers,fascinate,fantabulous,falsify,fallopian,faithless,fairer,fainter,failings,facetious,eyepatch,exxon,extraterrestrials,extradite,extracurriculars,extinguish,expunged,expelling,exorbitant,exhilarated,exertion,exerting,excercise,everbody,evaporated,escargot,escapee,erases,epizootics,epithelials,ephrum,entanglements,enslave,engrossed,emphatic,emeralds,ember,emancipated,elevates,ejaculate,effeminate,eccentricities,easygoing,earshot,dunks,dullness,dulli,dulled,drumstick,dropper,driftwood,dregs,dreck,dreamboat,draggin,downsizing,donowitz,dominoes,diversions,distended,dissipate,disraeli,disqualify,disowned,dishwashing,disciplining,discerning,disappoints,dinged,digested,dicking,detonating,despising,depressor,depose,deport,dents,defused,deflecting,decryption,decoys,decoupage,decompress,decibel,decadence,deafening,dawning,dater,darkened,dappy,dallying,dagon,czechoslovakians,cuticles,cuteness,cupboards,culottes,cruisin,crosshairs,cronyn,criminalistics,creatively,creaming,crapping,cranny,cowed,contradicting,constipation,confining,confidences,conceiving,conceivably,concealment,compulsively,complainin,complacent,compels,communing,commode,comming,commensurate,columnists,colonoscopy,colchicine,coddling,clump,clubbed,clowning,cliffhanger,clang,cissy,choosers,choker,chiffon,channeled,chalet,cellmates,cathartic,caseload,carjack,canvass,canisters,candlestick,candlelit,camry,calzones,calitri,caldy,byline,butterball,bustier,burlap,bureaucrat,buffoons,buenas,brookline,bronzed,broiled,broda,briss,brioche,briar,breathable,brays,brassieres,boysenberry,bowline,boooo,boonies,booklets,bookish,boogeyman,boogey,bogas,boardinghouse,bluuch,blundering,bluer,blowed,blotchy,blossomed,bloodwork,bloodied,blithering,blinks,blathering,blasphemous,blacking,birdson,bings,bfmid,bfast,bettin,berkshires,benjamins,benevolence,benched,benatar,bellybutton,belabor,behooves,beddy,beaujolais,beattle,baxworth,baseless,barfing,bannish,bankrolled,banek,ballsy,ballpoint,baffling,badder,badda,bactine,backgammon,baako,aztreonam,authoritah,auctioning,arachtoids,apropos,aprons,apprised,apprehensive,anythng,antivenin,antichrist,anorexic,anoint,anguished,angioplasty,angio,amply,ampicillin,amphetamines,alternator,alcove,alabaster,airlifted,agrabah,affidavits,admonished,admonish,addled,addendum,accuser,accompli,absurdity,absolved,abrusso,abreast,aboot,abductions,abducting,aback,ababwa,aaahhhh,zorin,zinthar,zinfandel,zillions,zephyrs,zatarcs,zacks,youuu,yokels,yardstick,yammer,y'understand,wynette,wrung,wreaths,wowed,wouldn'ta,worming,wormed,workday,woodsy,woodshed,woodchuck,wojadubakowski,withering,witching,wiseass,wiretaps,wining,willoby,wiccaning,whupped,whoopi,whoomp,wholesaler,whiteness,whiner,whatchya,wharves,wenus,weirdoes,weaning,watusi,waponi,waistband,wackos,vouching,votre,vivica,viveca,vivant,vivacious,visor,visitin,visage,vicrum,vetted,ventriloquism,venison,varnsen,vaporized,vapid,vanstock,uuuuh,ushering,urologist,urination,upstart,uprooted,unsubtitled,unspoiled,unseat,unseasonably,unseal,unsatisfying,unnerve,unlikable,unleaded,uninsured,uninspired,unicycle,unhooked,unfunny,unfreezing,unflattering,unfairness,unexpressed,unending,unencumbered,unearth,undiscovered,undisciplined,understan,undershirt,underlings,underline,undercurrent,uncivilized,uncharacteristic,umpteenth,uglies,tuney,trumps,truckasaurus,trubshaw,trouser,tringle,trifling,trickster,trespassers,trespasser,traumas,trattoria,trashes,transgressions,trampling,tp'ed,toxoplasmosis,tounge,tortillas,topsy,topple,topnotch,tonsil,tions,timmuh,timithious,tilney,tighty,tightness,tightens,tidbits,ticketed,thyme,threepio,thoughtfully,thorkel,thommo,thing'll,thefts,that've,thanksgivings,tetherball,testikov,terraforming,tepid,tendonitis,tenboom,telex,teenybopper,tattered,tattaglias,tanneke,tailspin,tablecloth,swooping,swizzle,swiping,swindled,swilling,swerving,sweatshops,swaddling,swackhammer,svetkoff,supossed,superdad,sumptuous,sugary,sugai,subvert,substantiate,submersible,sublimating,subjugation,stymied,strychnine,streetlights,strassmans,stranglehold,strangeness,straddling,straddle,stowaways,stotch,stockbrokers,stifling,stepford,steerage,steena,statuary,starlets,staggeringly,ssshhh,squaw,spurt,spungeon,spritzer,sprightly,sprays,sportswear,spoonful,splittin,splitsville,speedily,specialise,spastic,sparrin,souvlaki,southie,sourpuss,soupy,soundstage,soothes,somebody'd,softest,sociopathic,socialized,snyders,snowmobiles,snowballed,snatches,smugness,smoothest,smashes,sloshed,sleight,skyrocket,skied,skewed,sixpence,sipowicz,singling,simulates,shyness,shuvanis,showoff,shortsighted,shopkeeper,shoehorn,shithouse,shirtless,shipshape,shifu,shelve,shelbyville,sheepskin,sharpens,shaquille,shanshu,servings,sequined,seizes,seashells,scrambler,scopes,schnauzer,schmo,schizoid,scampered,savagely,saudis,santas,sandovals,sanding,saleswoman,sagging,s'cuse,rutting,ruthlessly,runneth,ruffians,rubes,rosalita,rollerblades,rohypnol,roasts,roadies,ritten,rippling,ripples,rigoletto,richardo,rethought,reshoot,reserving,reseda,rescuer,reread,requisitions,repute,reprogram,replenish,repetitious,reorganizing,reinventing,reinvented,reheat,refrigerators,reenter,recruiter,recliner,rawdy,rashes,rajeski,raison,raisers,rages,quinine,questscape,queller,pygmalion,pushers,pusan,purview,pumpin,pubescent,prudes,provolone,propriety,propped,procrastinate,processional,preyed,pretrial,portent,pooling,poofy,polloi,policia,poacher,pluses,pleasuring,platitudes,plateaued,plaguing,pittance,pinheads,pincushion,pimply,pimped,piggyback,piecing,phillipe,philipse,philby,pharaohs,petyr,petitioner,peshtigo,pesaram,persnickety,perpetrate,percolating,pepto,penne,penell,pemmican,peeks,pedaling,peacemaker,pawnshop,patting,pathologically,patchouli,pasts,pasties,passin,parlors,paltrow,palamon,padlock,paddling,oversleep,overheating,overdosed,overcharge,overblown,outrageously,ornery,opportune,oooooooooh,oohhhh,ohhhhhh,ogres,odorless,obliterated,nyong,nymphomaniac,ntozake,novocain,nough,nonnie,nonissue,nodules,nightmarish,nightline,niceties,newsman,needra,nedry,necking,navour,nauseam,nauls,narim,namath,nagged,naboo,n'sync,myslexia,mutator,mustafi,musketeer,murtaugh,murderess,munching,mumsy,muley,mouseville,mortifying,morgendorffers,moola,montel,mongoloid,molestered,moldings,mocarbies,mo'ss,mixers,misrell,misnomer,misheard,mishandled,miscreant,misconceptions,miniscule,millgate,mettle,metricconverter,meteors,menorah,mengele,melding,meanness,mcgruff,mcarnold,matzoh,matted,mastectomy,massager,marveling,marooned,marmaduke,marick,manhandled,manatees,man'll,maltin,maliciously,malfeasance,malahide,maketh,makeovers,maiming,machismo,lumpectomy,lumbering,lucci,lording,lorca,lookouts,loogie,loners,loathed,lissen,lighthearted,lifer,lickin,lewen,levitation,lestercorp,lessee,lentils,legislate,legalizing,lederhosen,lawmen,lasskopf,lardner,lambeau,lamagra,ladonn,lactic,lacquer,labatier,krabappel,kooks,knickknacks,klutzy,kleynach,klendathu,kinross,kinkaid,kind'a,ketch,kesher,karikos,karenina,kanamits,junshi,jumbled,joust,jotted,jobson,jingling,jigalong,jerries,jellies,jeeps,javna,irresistable,internist,intercranial,inseminated,inquisitor,infuriate,inflating,infidelities,incessantly,incensed,incase,incapacitate,inasmuch,inaccuracies,imploding,impeding,impediments,immaturity,illegible,iditarod,icicles,ibuprofen,i'i'm,hymie,hydrolase,hunker,humps,humons,humidor,humdinger,humbling,huggin,huffing,housecleaning,hothouse,hotcakes,hosty,hootenanny,hootchie,hoosegow,honks,honeymooners,homily,homeopathic,hitchhikers,hissed,hillnigger,hexavalent,hewwo,hershe,hermey,hergott,henny,hennigans,henhouse,hemolytic,helipad,heifer,hebrews,hebbing,heaved,headlock,harrowing,harnessed,hangovers,handi,handbasket,halfrek,hacene,gyges,guys're,gundersons,gumption,gruntmaster,grubs,grossie,groped,grins,greaseball,gravesite,gratuity,granma,grandfathers,grandbaby,gradski,gracing,gossips,gooble,goners,golitsyn,gofer,godsake,goddaughter,gnats,gluing,glares,givers,ginza,gimmie,gimmee,gennero,gemme,gazpacho,gazed,gassy,gargling,gandhiji,galvanized,gallbladder,gaaah,furtive,fumigation,fucka,fronkonsteen,frills,freezin,freewald,freeloader,frailty,forger,foolhardy,fondest,fomin,followin,follicle,flotation,flopping,floodgates,flogged,flicked,flenders,fleabag,fixings,fixable,fistful,firewater,firelight,fingerbang,finalizing,fillin,filipov,fiderer,felling,feldberg,feign,faunia,fatale,farkus,fallible,faithfulness,factoring,eyeful,extramarital,exterminated,exhume,exasperated,eviscerate,estoy,esmerelda,escapades,epoxy,enticed,enthused,entendre,engrossing,endorphins,emptive,emmys,eminently,embezzler,embarressed,embarrassingly,embalmed,eludes,eling,elated,eirie,egotitis,effecting,eerily,eecom,eczema,earthy,earlobes,eally,dyeing,dwells,duvet,duncans,dulcet,droves,droppin,drools,drey'auc,downriver,domesticity,dollop,doesnt,dobler,divulged,diversionary,distancing,dispensers,disorienting,disneyworld,dismissive,disingenuous,disheveled,disfiguring,dinning,dimming,diligently,dilettante,dilation,dickensian,diaphragms,devastatingly,destabilize,desecrate,deposing,deniece,demony,delving,delicates,deigned,defraud,deflower,defibrillator,defiantly,defenceless,defacing,deconstruction,decompose,deciphering,decibels,deceptively,deceptions,decapitation,debutantes,debonair,deadlier,dawdling,davic,darwinism,darnit,darks,danke,danieljackson,dangled,cytoxan,cutout,cutlery,curveball,curfews,cummerbund,crunches,crouched,crisps,cripples,crilly,cribs,crewman,creepin,creeds,credenza,creak,crawly,crawlin,crawlers,crated,crackheads,coworker,couldn't've,corwins,coriander,copiously,convenes,contraceptives,contingencies,contaminating,conniption,condiment,concocting,comprehending,complacency,commendatore,comebacks,com'on,collarbone,colitis,coldly,coiffure,coffers,coeds,codependent,cocksucking,cockney,cockles,clutched,closeted,cloistered,cleve,cleats,clarifying,clapped,cinnabar,chunnel,chumps,cholinesterase,choirboy,chocolatey,chlamydia,chigliak,cheesie,chauvinistic,chasm,chartreuse,charo,charnier,chapil,chalked,chadway,certifiably,cellulite,celled,cavalcade,cataloging,castrated,cassio,cashews,cartouche,carnivore,carcinogens,capulet,captivated,capt'n,cancellations,campin,callate,callar,caffeinated,cadavers,cacophony,cackle,buzzes,buttoning,busload,burglaries,burbs,buona,bunions,bullheaded,buffs,bucyk,buckling,bruschetta,browbeating,broomsticks,broody,bromly,brolin,briefings,brewskies,breathalyzer,breakups,bratwurst,brania,braiding,brags,braggin,bradywood,bottomed,bossa,bordello,bookshelf,boogida,bondsman,bolder,boggles,bludgeoned,blowtorch,blotter,blips,blemish,bleaching,blainetologists,blading,blabbermouth,birdseed,bimmel,biloxi,biggly,bianchinni,betadine,berenson,belus,belloq,begets,befitting,beepers,beelzebub,beefed,bedridden,bedevere,beckons,beaded,baubles,bauble,battleground,bathrobes,basketballs,basements,barroom,barnacle,barkin,barked,baretta,bangles,bangler,banality,bambang,baltar,ballplayers,bagman,baffles,backroom,babysat,baboons,averse,audiotape,auctioneer,atten,atcha,astonishment,arugula,arroz,antihistamines,annoyances,anesthesiology,anatomically,anachronism,amiable,amaretto,allahu,alight,aimin,ailment,afterglow,affronte,advil,adrenals,actualization,acrost,ached,accursed,accoutrements,absconded,aboveboard,abetted,aargh,aaaahh,zuwicky,zolda,ziploc,zakamatak,youve,yippie,yesterdays,yella,yearns,yearnings,yearned,yawning,yalta,yahtzee,y'mean,y'are,wuthering,wreaks,worrisome,workiiing,wooooooo,wonky,womanizing,wolodarsky,wiwith,withdraws,wishy,wisht,wipers,wiper,winos,windthorne,windsurfing,windermere,wiggled,wiggen,whwhat,whodunit,whoaaa,whittling,whitesnake,whereof,wheezing,wheeze,whatd'ya,whataya,whammo,whackin,wellll,weightless,weevil,wedgies,webbing,weasly,wayside,waxes,waturi,washy,washrooms,wandell,waitaminute,waddya,waaaah,vornac,vishnoor,virulent,vindictiveness,vinceres,villier,vigeous,vestigial,ventilate,vented,venereal,veering,veered,veddy,vaslova,valosky,vailsburg,vaginas,vagas,urethra,upstaged,uploading,unwrapping,unwieldy,untapped,unsatisfied,unquenchable,unnerved,unmentionable,unlovable,unknowns,uninformed,unimpressed,unhappily,unguarded,unexplored,undergarment,undeniably,unclench,unclaimed,uncharacteristically,unbuttoned,unblemished,ululd,uhhhm,tweeze,tutsami,tushy,tuscarora,turkle,turghan,turbinium,tubers,trucoat,troxa,tropicana,triquetra,trimmers,triceps,trespassed,traya,traumatizing,transvestites,trainors,tradin,trackers,townies,tourelles,toucha,tossin,tortious,topshop,topes,tonics,tongs,tomsk,tomorrows,toiling,toddle,tizzy,tippers,timmi,thwap,thusly,ththe,thrusts,throwers,throwed,throughway,thickening,thermonuclear,thelwall,thataway,terrifically,tendons,teleportation,telepathically,telekinetic,teetering,teaspoons,tarantulas,tapas,tanned,tangling,tamales,tailors,tahitian,tactful,tachy,tablespoon,syrah,synchronicity,synch,synapses,swooning,switchman,swimsuits,sweltering,sweetly,suvolte,suslov,surfed,supposition,suppertime,supervillains,superfluous,superego,sunspots,sunning,sunless,sundress,suckah,succotash,sublevel,subbasement,studious,striping,strenuously,straights,stonewalled,stillness,stilettos,stevesy,steno,steenwyck,stargates,stammering,staedert,squiggly,squiggle,squashing,squaring,spreadsheet,spramp,spotters,sporto,spooking,splendido,spittin,spirulina,spiky,spate,spartacus,spacerun,soonest,something'll,someth,somepin,someone'll,sofas,soberly,sobered,snowmen,snowbank,snowballing,snivelling,sniffling,snakeskin,snagging,smush,smooter,smidgen,smackers,slumlord,slossum,slimmer,slighted,sleepwalk,sleazeball,skokie,skeptic,sitarides,sistah,sipped,sindell,simpletons,simony,silkwood,silks,silken,sightless,sideboard,shuttles,shrugging,shrouds,showy,shoveled,shouldn'ta,shoplifters,shitstorm,sheeny,shapetype,shaming,shallows,shackle,shabbily,shabbas,seppuku,senility,semite,semiautomatic,selznick,secretarial,sebacio,scuzzy,scummy,scrutinized,scrunchie,scribbled,scotches,scolded,scissor,schlub,scavenging,scarin,scarfing,scallions,scald,savour,savored,saute,sarcoidosis,sandbar,saluted,salish,saith,sailboats,sagittarius,sacre,saccharine,sacamano,rushdie,rumpled,rumba,rulebook,rubbers,roughage,rotisserie,rootie,roofy,roofie,romanticize,rittle,ristorante,rippin,rinsing,ringin,rincess,rickety,reveling,retest,retaliating,restorative,reston,restaurateur,reshoots,resetting,resentments,reprogramming,repossess,repartee,renzo,remore,remitting,remeber,relaxants,rejuvenate,rejections,regenerated,refocus,referrals,reeno,recycles,recrimination,reclining,recanting,reattach,reassigning,razgul,raved,rattlesnakes,rattles,rashly,raquetball,ransack,raisinettes,raheem,radisson,radishes,raban,quoth,qumari,quints,quilts,quilting,quien,quarreled,purty,purblind,punchbowl,publically,psychotics,psychopaths,psychoanalyze,pruning,provasik,protectin,propping,proportioned,prophylactic,proofed,prompter,procreate,proclivities,prioritizing,prinze,pricked,press'll,presets,prescribes,preocupe,prejudicial,prefex,preconceived,precipice,pralines,pragmatist,powerbar,pottie,pottersville,potsie,potholes,posses,posies,portkey,porterhouse,pornographers,poring,poppycock,poppers,pomponi,pokin,poitier,podiatry,pleeze,pleadings,playbook,platelets,plane'arium,placebos,place'll,pistachios,pirated,pinochle,pineapples,pinafore,pimples,piggly,piddling,picon,pickpockets,picchu,physiologically,physic,phobic,philandering,phenomenally,pheasants,pewter,petticoat,petronis,petitioning,perturbed,perpetuating,permutat,perishable,perimeters,perfumed,percocet,per'sus,pepperjack,penalize,pelting,pellet,peignoir,pedicures,peckers,pecans,pawning,paulsson,pattycake,patrolmen,patois,pathos,pasted,parishioner,parcheesi,parachuting,papayas,pantaloons,palpitations,palantine,paintballing,overtired,overstress,oversensitive,overnights,overexcited,overanxious,overachiever,outwitted,outvoted,outnumber,outlast,outlander,out've,orphey,orchestrating,openers,ooooooo,okies,ohhhhhhhhh,ohhhhhhhh,ogling,offbeat,obsessively,obeyed,o'hana,o'bannon,o'bannion,numpce,nummy,nuked,nuances,nourishing,nosedive,norbu,nomlies,nomine,nixed,nihilist,nightshift,newmeat,neglectful,neediness,needin,naphthalene,nanocytes,nanite,naivete,n'yeah,mystifying,myhnegon,mutating,musing,mulled,muggy,muerto,muckraker,muchachos,mountainside,motherless,mosquitos,morphed,mopped,moodoo,moncho,mollem,moisturiser,mohicans,mocks,mistresses,misspent,misinterpretation,miscarry,minuses,mindee,mimes,millisecond,milked,mightn't,mightier,mierzwiak,microchips,meyerling,mesmerizing,mershaw,meecrob,medicate,meddled,mckinnons,mcgewan,mcdunnough,mcats,mbien,matzah,matriarch,masturbated,masselin,martialed,marlboros,marksmanship,marinate,marchin,manicured,malnourished,malign,majorek,magnon,magnificently,macking,machiavellian,macdougal,macchiato,macaws,macanaw,m'self,lydells,lusts,lucite,lubricants,lopper,lopped,loneliest,lonelier,lomez,lojack,loath,liquefy,lippy,limps,likin,lightness,liesl,liebchen,licious,libris,libation,lhamo,leotards,leanin,laxatives,lavished,latka,lanyard,lanky,landmines,lameness,laddies,lacerated,labored,l'amour,kreskin,kovitch,kournikova,kootchy,konoss,knknow,knickety,knackety,kmart,klicks,kiwanis,kissable,kindergartners,kilter,kidnet,kid'll,kicky,kickbacks,kickback,kholokov,kewpie,kendo,katra,kareoke,kafelnikov,kabob,junjun,jumba,julep,jordie,jondy,jolson,jenoff,jawbone,janitorial,janiro,ipecac,invigorated,intruded,intros,intravenously,interruptus,interrogations,interject,interfacing,interestin,insuring,instilled,insensitivity,inscrutable,inroads,innards,inlaid,injector,ingratitude,infuriates,infra,infliction,indelicate,incubators,incrimination,inconveniencing,inconsolable,incestuous,incas,incarcerate,inbreeding,impudence,impressionists,impeached,impassioned,imipenem,idling,idiosyncrasies,icebergs,hypotensive,hydrochloride,hushed,humus,humph,hummm,hulking,hubcaps,hubald,howya,howbout,how'll,housebroken,hotwire,hotspots,hotheaded,horrace,hopsfield,honto,honkin,honeymoons,homewrecker,hombres,hollers,hollerin,hoedown,hoboes,hobbling,hobble,hoarse,hinky,highlighters,hexes,heru'ur,hernias,heppleman,hell're,heighten,heheheheheh,heheheh,hedging,heckling,heckled,heavyset,heatshield,heathens,heartthrob,headpiece,hayseed,haveo,hauls,hasten,harridan,harpoons,hardens,harcesis,harbouring,hangouts,halkein,haleh,halberstam,hairnet,hairdressers,hacky,haaaa,h'yah,gusta,gushy,gurgling,guilted,gruel,grudging,grrrrrr,grosses,groomsmen,griping,gravest,gratified,grated,goulash,goopy,goona,goodly,godliness,godawful,godamn,glycerin,glutes,glowy,globetrotters,glimpsed,glenville,glaucoma,girlscout,giraffes,gilbey,gigglepuss,ghora,gestating,gelato,geishas,gearshift,gayness,gasped,gaslighting,garretts,garba,gablyczyck,g'head,fumigating,fumbling,fudged,fuckwad,fuck're,fuchsia,fretting,freshest,frenchies,freezers,fredrica,fraziers,fraidy,foxholes,fourty,fossilized,forsake,forfeits,foreclosed,foreal,footsies,florists,flopped,floorshow,floorboard,flinching,flecks,flaubert,flatware,flatulence,flatlined,flashdance,flail,flagging,fiver,fitzy,fishsticks,finetti,finelli,finagle,filko,fieldstone,fibber,ferrini,feedin,feasting,favore,fathering,farrouhk,farmin,fairytale,fairservice,factoid,facedown,fabled,eyeballin,extortionist,exquisitely,expedited,exorcise,existentialist,execs,exculpatory,exacerbate,everthing,eventuality,evander,euphoric,euphemisms,estamos,erred,entitle,enquiries,enormity,enfants,endive,encyclopedias,emulating,embittered,effortless,ectopic,ecirc,easely,earphones,earmarks,dweller,durslar,durned,dunois,dunking,dunked,dumdum,dullard,dudleys,druthers,druggist,drossos,drooled,driveways,drippy,dreamless,drawstring,drang,drainpipe,dozing,dotes,dorkface,doorknobs,doohickey,donnatella,doncha,domicile,dokos,dobermans,dizzying,divola,ditsy,distaste,disservice,dislodged,dislodge,disinherit,disinformation,discounting,dinka,dimly,digesting,diello,diddling,dictatorships,dictators,diagnostician,devours,devilishly,detract,detoxing,detours,detente,destructs,desecrated,derris,deplore,deplete,demure,demolitions,demean,delish,delbruck,delaford,degaulle,deftly,deformity,deflate,definatly,defector,decrypted,decontamination,decapitate,decanter,dardis,dampener,damme,daddy'll,dabbling,dabbled,d'etre,d'argent,d'alene,d'agnasti,czechoslovakian,cymbal,cyberdyne,cutoffs,cuticle,curvaceous,curiousity,crowing,crowed,croutons,cropped,criminy,crescentis,crashers,cranwell,coverin,courtrooms,countenance,cosmically,cosign,corroboration,coroners,cornflakes,copperpot,copperhead,copacetic,coordsize,convulsing,consults,conjures,congenial,concealer,compactor,commercialism,cokey,cognizant,clunkers,clumsily,clucking,cloves,cloven,cloths,clothe,clods,clocking,clings,clavicle,classless,clashing,clanking,clanging,clamping,civvies,citywide,circulatory,circuited,chronisters,chromic,choos,chloroformed,chillun,cheesed,chatterbox,chaperoned,channukah,cerebellum,centerpieces,centerfold,ceecee,ccedil,cavorting,cavemen,cauterized,cauldwell,catting,caterine,cassiopeia,carves,cartwheel,carpeted,carob,caressing,carelessly,careening,capricious,capitalistic,capillaries,candidly,camaraderie,callously,calfskin,caddies,buttholes,busywork,busses,burps,burgomeister,bunkhouse,bungchow,bugler,buffets,buffed,brutish,brusque,bronchitis,bromden,brolly,broached,brewskis,brewin,brean,breadwinner,brana,bountiful,bouncin,bosoms,borgnine,bopping,bootlegs,booing,bombosity,bolting,boilerplate,bluey,blowback,blouses,bloodsuckers,bloodstained,bloat,bleeth,blackface,blackest,blackened,blacken,blackballed,blabs,blabbering,birdbrain,bipartisanship,biodegradable,biltmore,bilked,big'uns,bidet,besotted,bernheim,benegas,bendiga,belushi,bellboys,belittling,behinds,begone,bedsheets,beckoning,beaute,beaudine,beastly,beachfront,bathes,batak,baser,baseballs,barbella,bankrolling,bandaged,baerly,backlog,backin,babying,azkaban,awwwww,aviary,authorizes,austero,aunty,attics,atreus,astounded,astonish,artemus,arses,arintero,appraiser,apathetic,anybody'd,anxieties,anticlimactic,antar,anglos,angleman,anesthetist,androscoggin,andolini,andale,amway,amuck,amniocentesis,amnesiac,americano,amara,alvah,altruism,alternapalooza,alphabetize,alpaca,allus,allergist,alexandros,alaikum,akimbo,agoraphobia,agides,aggrhh,aftertaste,adoptions,adjuster,addictions,adamantium,activator,accomplishes,aberrant,aaaaargh,aaaaaaaaaaaaa,a'ight,zzzzzzz,zucchini,zookeeper,zirconia,zippers,zequiel,zellary,zeitgeist,zanuck,zagat,you'n,ylang,yes'm,yenta,yecchh,yecch,yawns,yankin,yahdah,yaaah,y'got,xeroxed,wwooww,wristwatch,wrangled,wouldst,worthiness,worshiping,wormy,wormtail,wormholes,woosh,wollsten,wolfing,woefully,wobbling,wintry,wingding,windstorm,windowtext,wiluna,wilting,wilted,willick,willenholly,wildflowers,wildebeest,whyyy,whoppers,whoaa,whizzing,whizz,whitest,whistled,whist,whinny,wheelies,whazzup,whatwhatwhaaat,whato,whatdya,what'dya,whacks,wewell,wetsuit,welluh,weeps,waylander,wavin,wassail,wasnt,warneford,warbucks,waltons,wallbanger,waiving,waitwait,vowing,voucher,vornoff,vorhees,voldemort,vivre,vittles,vindaloo,videogames,vichyssoise,vicarious,vesuvius,verguenza,ven't,velveteen,velour,velociraptor,vastness,vasectomies,vapors,vanderhof,valmont,validates,valiantly,vacuums,usurp,usernum,us'll,urinals,unyielding,unvarnished,unturned,untouchables,untangled,unsecured,unscramble,unreturned,unremarkable,unpretentious,unnerstand,unmade,unimpeachable,unfashionable,underwrite,underlining,underling,underestimates,underappreciated,uncouth,uncork,uncommonly,unclog,uncircumcised,unchallenged,uncas,unbuttoning,unapproved,unamerican,unafraid,umpteen,umhmm,uhwhy,ughuh,typewriters,twitches,twitched,twirly,twinkling,twinges,twiddling,turners,turnabout,tumblin,tryed,trowel,trousseau,trivialize,trifles,tribianni,trenchcoat,trembled,traumatize,transitory,transients,transfuse,transcribing,tranq,trampy,traipsed,trainin,trachea,traceable,touristy,toughie,toscanini,tortola,tortilla,torreon,toreador,tommorrow,tollbooth,tollans,toidy,togas,tofurkey,toddling,toddies,toasties,toadstool,to've,tingles,timin,timey,timetables,tightest,thuggee,thrusting,thrombus,throes,thrifty,thornharts,thinnest,thicket,thetas,thesulac,tethered,testaburger,tersenadine,terrif,terdlington,tepui,temping,tector,taxidermy,tastebuds,tartlets,tartabull,tar'd,tantamount,tangy,tangles,tamer,tabula,tabletops,tabithia,szechwan,synthedyne,svenjolly,svengali,survivalists,surmise,surfboards,surefire,suprise,supremacists,suppositories,superstore,supercilious,suntac,sunburned,summercliff,sullied,sugared,suckle,subtleties,substantiated,subsides,subliminal,subhuman,strowman,stroked,stroganoff,streetlight,straying,strainer,straighter,straightener,stoplight,stirrups,stewing,stereotyping,stepmommy,stephano,stashing,starshine,stairwells,squatsie,squandering,squalid,squabbling,squab,sprinkling,spreader,spongy,spokesmen,splintered,spittle,spitter,spiced,spews,spendin,spect,spearchucker,spatulas,southtown,soused,soshi,sorter,sorrowful,sooth,some'in,soliloquy,soiree,sodomized,sobriki,soaping,snows,snowcone,snitching,snitched,sneering,snausages,snaking,smoothed,smoochies,smarten,smallish,slushy,slurring,sluman,slithers,slippin,sleuthing,sleeveless,skinless,skillfully,sketchbook,skagnetti,sista,sinning,singularly,sinewy,silverlake,siguto,signorina,sieve,sidearms,shying,shunning,shtud,shrieks,shorting,shortbread,shopkeepers,shmancy,shizzit,shitheads,shitfaced,shipmates,shiftless,shelving,shedlow,shavings,shatters,sharifa,shampoos,shallots,shafter,sha'nauc,sextant,serviceable,sepsis,senores,sendin,semis,semanski,selflessly,seinfelds,seers,seeps,seductress,secaucus,sealant,scuttling,scusa,scrunched,scissorhands,schreber,schmancy,scamps,scalloped,savoir,savagery,sarong,sarnia,santangel,samool,sallow,salino,safecracker,sadism,sacrilegious,sabrini,sabath,s'aright,ruttheimer,rudest,rubbery,rousting,rotarian,roslin,roomed,romari,romanica,rolltop,rolfski,rockettes,roared,ringleader,riffing,ribcage,rewired,retrial,reting,resuscitated,restock,resale,reprogrammed,replicant,repentant,repellant,repays,repainting,renegotiating,rendez,remem,relived,relinquishes,relearn,relaxant,rekindling,rehydrate,refueled,refreshingly,refilling,reexamine,reeseman,redness,redeemable,redcoats,rectangles,recoup,reciprocated,reassessing,realy,realer,reachin,re'kali,rawlston,ravages,rappaports,ramoray,ramming,raindrops,rahesh,radials,racists,rabartu,quiches,quench,quarreling,quaintly,quadrants,putumayo,put'em,purifier,pureed,punitis,pullout,pukin,pudgy,puddings,puckering,pterodactyl,psychodrama,psats,protestations,protectee,prosaic,propositioned,proclivity,probed,printouts,prevision,pressers,preset,preposition,preempt,preemie,preconceptions,prancan,powerpuff,potties,potpie,poseur,porthole,poops,pooping,pomade,polyps,polymerized,politeness,polisher,polack,pocketknife,poatia,plebeian,playgroup,platonically,platitude,plastering,plasmapheresis,plaids,placemats,pizzazz,pintauro,pinstripes,pinpoints,pinkner,pincer,pimento,pileup,pilates,pigmen,pieeee,phrased,photocopies,phoebes,philistines,philanderer,pheromone,phasers,pfeffernuesse,pervs,perspire,personify,perservere,perplexed,perpetrating,perkiness,perjurer,periodontist,perfunctory,perdido,percodan,pentameter,pentacle,pensive,pensione,pennybaker,pennbrooke,penhall,pengin,penetti,penetrates,pegnoir,peeve,peephole,pectorals,peckin,peaky,peaksville,paxcow,paused,patted,parkishoff,parkers,pardoning,paraplegic,paraphrasing,paperers,papered,pangs,paneling,palooza,palmed,palmdale,palatable,pacify,pacified,owwwww,oversexed,overrides,overpaying,overdrawn,overcompensate,overcomes,overcharged,outmaneuver,outfoxed,oughtn't,ostentatious,oshun,orthopedist,or'derves,ophthalmologist,operagirl,oozes,oooooooh,onesie,omnis,omelets,oktoberfest,okeydoke,ofthe,ofher,obstetrical,obeys,obeah,o'henry,nyquil,nyanyanyanyah,nuttin,nutsy,nutball,nurhachi,numbskull,nullifies,nullification,nucking,nubbin,nourished,nonspecific,noing,noinch,nohoho,nobler,nitwits,newsprint,newspaperman,newscaster,neuropathy,netherworld,neediest,navasky,narcissists,napped,nafta,mache,mykonos,mutilating,mutherfucker,mutha,mutates,mutate,musn't,murchy,multitasking,mujeeb,mudslinging,muckraking,mousetrap,mourns,mournful,motherf,mostro,morphing,morphate,moralistic,moochy,mooching,monotonous,monopolize,monocle,molehill,moland,mofet,mockup,mobilizing,mmmmmmm,mitzvahs,mistreating,misstep,misjudge,misinformation,misdirected,miscarriages,miniskirt,mindwarped,minced,milquetoast,miguelito,mightily,midstream,midriff,mideast,microbe,methuselah,mesdames,mescal,men'll,memma,megaton,megara,megalomaniac,meeee,medulla,medivac,meaninglessness,mcnuggets,mccarthyism,maypole,may've,mauve,mateys,marshack,markles,marketable,mansiere,manservant,manse,manhandling,mallomars,malcontent,malaise,majesties,mainsail,mailmen,mahandra,magnolias,magnified,magev,maelstrom,machu,macado,m'boy,m'appelle,lustrous,lureen,lunges,lumped,lumberyard,lulled,luego,lucks,lubricated,loveseat,loused,lounger,loski,lorre,loora,looong,loonies,loincloth,lofts,lodgers,lobbing,loaner,livered,liqueur,ligourin,lifesaving,lifeguards,lifeblood,liaisons,let'em,lesbianism,lence,lemonlyman,legitimize,leadin,lazars,lazarro,lawyering,laugher,laudanum,latrines,lations,laters,lapels,lakefront,lahit,lafortunata,lachrymose,l'italien,kwaini,kruczynski,kramerica,kowtow,kovinsky,korsekov,kopek,knowakowski,knievel,knacks,kiowas,killington,kickball,keyworth,keymaster,kevie,keveral,kenyons,keggers,keepsakes,kechner,keaty,kavorka,karajan,kamerev,kaggs,jujyfruit,jostled,jonestown,jokey,joists,jocko,jimmied,jiggled,jests,jenzen,jenko,jellyman,jedediah,jealitosis,jaunty,jarmel,jankle,jagoff,jagielski,jackrabbits,jabbing,jabberjaw,izzat,irresponsibly,irrepressible,irregularity,irredeemable,inuvik,intuitions,intubated,intimates,interminable,interloper,intercostal,instyle,instigate,instantaneously,ining,ingrown,ingesting,infusing,infringe,infinitum,infact,inequities,indubitably,indisputable,indescribably,indentation,indefinable,incontrovertible,inconsequential,incompletes,incoherently,inclement,incidentals,inarticulate,inadequacies,imprudent,improprieties,imprison,imprinted,impressively,impostors,importante,imperious,impale,immodest,immobile,imbedded,imbecilic,illegals,idn't,hysteric,hypotenuse,hygienic,hyeah,hushpuppies,hunhh,humpback,humored,hummed,humiliates,humidifier,huggy,huggers,huckster,hotbed,hosing,hosers,horsehair,homebody,homebake,holing,holies,hoisting,hogwallop,hocks,hobbits,hoaxes,hmmmmm,hisses,hippest,hillbillies,hilarity,heurh,herniated,hermaphrodite,hennifer,hemlines,hemline,hemery,helplessness,helmsley,hellhound,heheheheh,heeey,hedda,heartbeats,heaped,healers,headstart,headsets,headlong,hawkland,havta,haulin,harvey'll,hanta,hansom,hangnail,handstand,handrail,handoff,hallucinogen,hallor,halitosis,haberdashery,gypped,guy'll,gumbel,guerillas,guava,guardrail,grunther,grunick,groppi,groomer,grodin,gripes,grinds,grifters,gretch,greevey,greasing,graveyards,grandkid,grainy,gouging,gooney,googly,goldmuff,goldenrod,goingo,godly,gobbledygook,gobbledegook,glues,gloriously,glengarry,glassware,glamor,gimmicks,giggly,giambetti,ghoulish,ghettos,ghali,gether,geriatrics,gerbils,geosynchronous,georgio,gente,gendarme,gelbman,gazillionth,gayest,gauging,gastro,gaslight,gasbag,garters,garish,garas,gantu,gangy,gangly,gangland,galling,gadda,furrowed,funnies,funkytown,fugimotto,fudging,fuckeen,frustrates,froufrou,froot,fromberge,frizzies,fritters,frightfully,friendliest,freeloading,freelancing,freakazoid,fraternization,framers,fornication,fornicating,forethought,footstool,foisting,focussing,focking,flurries,fluffed,flintstones,fledermaus,flayed,flawlessly,flatters,flashbang,flapped,fishies,firmer,fireproof,firebug,fingerpainting,finessed,findin,financials,finality,fillets,fiercest,fiefdom,fibbing,fervor,fentanyl,fenelon,fedorchuk,feckless,feathering,faucets,farewells,fantasyland,fanaticism,faltered,faggy,faberge,extorting,extorted,exterminating,exhumation,exhilaration,exhausts,exfoliate,excels,exasperating,exacting,everybody'd,evasions,espressos,esmail,errrr,erratically,eroding,ernswiler,epcot,enthralled,ensenada,enriching,enrage,enhancer,endear,encrusted,encino,empathic,embezzle,emanates,electricians,eking,egomaniacal,egging,effacing,ectoplasm,eavesdropped,dummkopf,dugray,duchaisne,drunkard,drudge,droop,droids,drips,dripped,dribbles,drazens,downy,downsize,downpour,dosages,doppelganger,dopes,doohicky,dontcha,doneghy,divining,divest,diuretics,diuretic,distrustful,disrupts,dismemberment,dismember,disinfect,disillusionment,disheartening,discourteous,discotheque,discolored,dirtiest,diphtheria,dinks,dimpled,didya,dickwad,diatribes,diathesis,diabetics,deviants,detonates,detests,detestable,detaining,despondent,desecration,derision,derailing,deputized,depressors,dependant,dentures,denominators,demur,demonology,delts,dellarte,delacour,deflated,defib,defaced,decorators,deaqon,davola,datin,darwinian,darklighters,dandelions,dampened,damaskinos,dalrimple,d'peshu,d'hoffryn,d'astier,cynics,cutesy,cutaway,curmudgeon,curdle,culpability,cuisinart,cuffing,crypts,cryptid,crunched,crumblers,crudely,crosscheck,croon,crissake,crevasse,creswood,creepo,creases,creased,creaky,cranks,crabgrass,coveralls,couple'a,coughs,coslaw,corporeal,cornucopia,cornering,corks,cordoned,coolly,coolin,cookbooks,contrite,contented,constrictor,confound,confit,confiscating,condoned,conditioners,concussions,comprendo,comers,combustible,combusted,collingswood,coldness,coitus,codicil,coasting,clydesdale,cluttering,clunker,clunk,clumsiness,clotted,clothesline,clinches,clincher,cleverness,clench,clein,cleanses,claymores,clammed,chugging,chronically,christsakes,choque,chompers,chiseling,chirpy,chirp,chinks,chingachgook,chickenpox,chickadee,chewin,chessboard,chargin,chanteuse,chandeliers,chamdo,chagrined,chaff,certs,certainties,cerreno,cerebrum,censured,cemetary,caterwauling,cataclysmic,casitas,cased,carvel,carting,carrear,carolling,carolers,carnie,cardiogram,carbuncle,capulets,canines,candaules,canape,caldecott,calamitous,cadillacs,cachet,cabeza,cabdriver,buzzards,butai,businesswomen,bungled,bumpkins,bummers,bulldoze,buffybot,bubut,bubbies,brrrrr,brownout,brouhaha,bronzing,bronchial,broiler,briskly,briefcases,bricked,breezing,breeher,breakable,breadstick,bravenet,braved,brandies,brainwaves,brainiest,braggart,bradlee,boys're,boys'll,boys'd,boutonniere,bossed,bosomy,borans,boosts,bookshelves,bookends,boneless,bombarding,bollo,boinked,boink,bluest,bluebells,bloodshot,blockhead,blockbusters,blithely,blather,blankly,bladders,blackbeard,bitte,bippy,biogenetics,bilge,bigglesworth,bicuspids,beususe,betaseron,besmirch,bernece,bereavement,bentonville,benchley,benching,bembe,bellyaching,bellhops,belie,beleaguered,behrle,beginnin,begining,beenie,beefs,beechwood,becau,beaverhausen,beakers,bazillion,baudouin,barrytown,barringtons,barneys,barbs,barbers,barbatus,bankrupted,bailiffs,backslide,baby'd,baaad,b'fore,awwwk,aways,awakes,automatics,authenticate,aught,aubyn,attired,attagirl,atrophied,asystole,astroturf,assertiveness,artichokes,arquillians,aright,archenemy,appraise,appeased,antin,anspaugh,anesthetics,anaphylactic,amscray,ambivalence,amalio,alriiight,alphabetized,alpena,alouette,allora,alliteration,allenwood,allegiances,algerians,alcerro,alastor,ahaha,agitators,aforethought,advertises,admonition,adirondacks,adenoids,acupuncturist,acula,actuarial,activators,actionable,achingly,accusers,acclimated,acclimate,absurdly,absorbent,absolvo,absolutes,absences,abdomenizer,aaaaaaaaah,aaaaaaaaaa,a'right".split(","),
18282male_names:"james,john,robert,michael,william,david,richard,charles,joseph,thomas,christopher,daniel,paul,mark,donald,george,kenneth,steven,edward,brian,ronald,anthony,kevin,jason,matthew,gary,timothy,jose,larry,jeffrey,frank,scott,eric,stephen,andrew,raymond,gregory,joshua,jerry,dennis,walter,patrick,peter,harold,douglas,henry,carl,arthur,ryan,roger,joe,juan,jack,albert,jonathan,justin,terry,gerald,keith,samuel,willie,ralph,lawrence,nicholas,roy,benjamin,bruce,brandon,adam,harry,fred,wayne,billy,steve,louis,jeremy,aaron,randy,eugene,carlos,russell,bobby,victor,ernest,phillip,todd,jesse,craig,alan,shawn,clarence,sean,philip,chris,johnny,earl,jimmy,antonio,danny,bryan,tony,luis,mike,stanley,leonard,nathan,dale,manuel,rodney,curtis,norman,marvin,vincent,glenn,jeffery,travis,jeff,chad,jacob,melvin,alfred,kyle,francis,bradley,jesus,herbert,frederick,ray,joel,edwin,don,eddie,ricky,troy,randall,barry,bernard,mario,leroy,francisco,marcus,micheal,theodore,clifford,miguel,oscar,jay,jim,tom,calvin,alex,jon,ronnie,bill,lloyd,tommy,leon,derek,darrell,jerome,floyd,leo,alvin,tim,wesley,dean,greg,jorge,dustin,pedro,derrick,dan,zachary,corey,herman,maurice,vernon,roberto,clyde,glen,hector,shane,ricardo,sam,rick,lester,brent,ramon,tyler,gilbert,gene,marc,reginald,ruben,brett,nathaniel,rafael,edgar,milton,raul,ben,cecil,duane,andre,elmer,brad,gabriel,ron,roland,jared,adrian,karl,cory,claude,erik,darryl,neil,christian,javier,fernando,clinton,ted,mathew,tyrone,darren,lonnie,lance,cody,julio,kurt,allan,clayton,hugh,max,dwayne,dwight,armando,felix,jimmie,everett,ian,ken,bob,jaime,casey,alfredo,alberto,dave,ivan,johnnie,sidney,byron,julian,isaac,clifton,willard,daryl,virgil,andy,salvador,kirk,sergio,seth,kent,terrance,rene,eduardo,terrence,enrique,freddie,stuart,fredrick,arturo,alejandro,joey,nick,luther,wendell,jeremiah,evan,julius,donnie,otis,trevor,luke,homer,gerard,doug,kenny,hubert,angelo,shaun,lyle,matt,alfonso,orlando,rex,carlton,ernesto,pablo,lorenzo,omar,wilbur,blake,horace,roderick,kerry,abraham,rickey,ira,andres,cesar,johnathan,malcolm,rudolph,damon,kelvin,rudy,preston,alton,archie,marco,pete,randolph,garry,geoffrey,jonathon,felipe,bennie,gerardo,dominic,loren,delbert,colin,guillermo,earnest,benny,noel,rodolfo,myron,edmund,salvatore,cedric,lowell,gregg,sherman,devin,sylvester,roosevelt,israel,jermaine,forrest,wilbert,leland,simon,irving,owen,rufus,woodrow,sammy,kristopher,levi,marcos,gustavo,jake,lionel,marty,gilberto,clint,nicolas,laurence,ismael,orville,drew,ervin,dewey,wilfred,josh,hugo,ignacio,caleb,tomas,sheldon,erick,frankie,darrel,rogelio,terence,alonzo,elias,bert,elbert,ramiro,conrad,noah,grady,phil,cornelius,lamar,rolando,clay,percy,bradford,merle,darin,amos,terrell,moses,irvin,saul,roman,darnell,randal,tommie,timmy,darrin,brendan,toby,van,abel,dominick,emilio,elijah,cary,domingo,aubrey,emmett,marlon,emanuel,jerald,edmond,emil,dewayne,otto,teddy,reynaldo,bret,jess,trent,humberto,emmanuel,stephan,louie,vicente,lamont,garland,micah,efrain,heath,rodger,demetrius,ethan,eldon,rocky,pierre,eli,bryce,antoine,robbie,kendall,royce,sterling,grover,elton,cleveland,dylan,chuck,damian,reuben,stan,leonardo,russel,erwin,benito,hans,monte,blaine,ernie,curt,quentin,agustin,jamal,devon,adolfo,tyson,wilfredo,bart,jarrod,vance,denis,damien,joaquin,harlan,desmond,elliot,darwin,gregorio,kermit,roscoe,esteban,anton,solomon,norbert,elvin,nolan,carey,rod,quinton,hal,brain,rob,elwood,kendrick,darius,moises,marlin,fidel,thaddeus,cliff,marcel,ali,raphael,bryon,armand,alvaro,jeffry,dane,joesph,thurman,ned,sammie,rusty,michel,monty,rory,fabian,reggie,kris,isaiah,gus,avery,loyd,diego,adolph,millard,rocco,gonzalo,derick,rodrigo,gerry,rigoberto,alphonso,rickie,noe,vern,elvis,bernardo,mauricio,hiram,donovan,basil,nickolas,scot,vince,quincy,eddy,sebastian,federico,ulysses,heriberto,donnell,denny,gavin,emery,romeo,jayson,dion,dante,clement,coy,odell,jarvis,bruno,issac,dudley,sanford,colby,carmelo,nestor,hollis,stefan,donny,linwood,beau,weldon,galen,isidro,truman,delmar,johnathon,silas,frederic,irwin,merrill,charley,marcelino,carlo,trenton,kurtis,aurelio,winfred,vito,collin,denver,leonel,emory,pasquale,mohammad,mariano,danial,landon,dirk,branden,adan,numbers,clair,buford,bernie,wilmer,emerson,zachery,jacques,errol,josue,edwardo,wilford,theron,raymundo,daren,tristan,robby,lincoln,jame,genaro,octavio,cornell,hung,arron,antony,herschel,alva,giovanni,garth,cyrus,cyril,ronny,stevie,lon,kennith,carmine,augustine,erich,chadwick,wilburn,russ,myles,jonas,mitchel,mervin,zane,jamel,lazaro,alphonse,randell,johnie,jarrett,ariel,abdul,dusty,luciano,seymour,scottie,eugenio,mohammed,arnulfo,lucien,ferdinand,thad,ezra,aldo,rubin,mitch,earle,abe,marquis,lanny,kareem,jamar,boris,isiah,emile,elmo,aron,leopoldo,everette,josef,eloy,dorian,rodrick,reinaldo,lucio,jerrod,weston,hershel,lemuel,lavern,burt,jules,gil,eliseo,ahmad,nigel,efren,antwan,alden,margarito,refugio,dino,osvaldo,les,deandre,normand,kieth,ivory,trey,norberto,napoleon,jerold,fritz,rosendo,milford,sang,deon,christoper,alfonzo,lyman,josiah,brant,wilton,rico,jamaal,dewitt,brenton,yong,olin,faustino,claudio,judson,gino,edgardo,alec,jarred,donn,trinidad,tad,porfirio,odis,lenard,chauncey,tod,mel,marcelo,kory,augustus,keven,hilario,bud,sal,orval,mauro,dannie,zachariah,olen,anibal,milo,jed,thanh,amado,lenny,tory,richie,horacio,brice,mohamed,delmer,dario,mac,jonah,jerrold,robt,hank,sung,rupert,rolland,kenton,damion,chi,antone,waldo,fredric,bradly,kip,burl,tyree,jefferey,ahmed,willy,stanford,oren,moshe,mikel,enoch,brendon,quintin,jamison,florencio,darrick,tobias,minh,hassan,giuseppe,demarcus,cletus,tyrell,lyndon,keenan,werner,theo,geraldo,columbus,chet,bertram,markus,huey,hilton,dwain,donte,tyron,omer,isaias,hipolito,fermin,chung,adalberto,jamey,teodoro,mckinley,maximo,raleigh,lawerence,abram,rashad,emmitt,daron,chong,samual,otha,miquel,eusebio,dong,domenic,darron,wilber,renato,hoyt,haywood,ezekiel,chas,florentino,elroy,clemente,arden,neville,edison,deshawn,carrol,shayne,nathanial,jordon,danilo,claud,sherwood,raymon,rayford,cristobal,ambrose,titus,hyman,felton,ezequiel,erasmo,lonny,milan,lino,jarod,herb,andreas,rhett,jude,douglass,cordell,oswaldo,ellsworth,virgilio,toney,nathanael,benedict,mose,hong,isreal,garret,fausto,arlen,zack,modesto,francesco,manual,gaylord,gaston,filiberto,deangelo,michale,granville,malik,zackary,tuan,nicky,cristopher,antione,malcom,korey,jospeh,colton,waylon,hosea,shad,santo,rudolf,rolf,renaldo,marcellus,lucius,kristofer,harland,arnoldo,rueben,leandro,kraig,jerrell,jeromy,hobert,cedrick,arlie,winford,wally,luigi,keneth,jacinto,graig,franklyn,edmundo,leif,jeramy,willian,vincenzo,shon,michal,lynwood,jere,elden,darell,broderick,alonso".split(",")},module.exports=frequency_lists;
18283
18284},{}],4:[function(require,module,exports){
18285var feedback,matching,scoring,time,time_estimates,zxcvbn;matching=require("./matching"),scoring=require("./scoring"),time_estimates=require("./time_estimates"),feedback=require("./feedback"),time=function(){return(new Date).getTime()},zxcvbn=function(e,t){var i,n,c,s,a,r,m,o,u,g,_;for(null==t&&(t=[]),g=time(),u=[],c=0,s=t.length;c<s;c++)i=t[c],"string"!=(m=typeof i)&&"number"!==m&&"boolean"!==m||u.push(i.toString().toLowerCase());matching.set_user_input_dictionary(u),a=matching.omnimatch(e),o=scoring.most_guessable_match_sequence(e,a),o.calc_time=time()-g,n=time_estimates.estimate_attack_times(o.guesses);for(r in n)_=n[r],o[r]=_;return o.feedback=feedback.get_feedback(o.score,o.sequence),o},module.exports=zxcvbn;
18286
18287},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){
18288var DATE_MAX_YEAR,DATE_MIN_YEAR,DATE_SPLITS,GRAPHS,L33T_TABLE,RANKED_DICTIONARIES,REGEXEN,adjacency_graphs,build_ranked_dict,frequency_lists,lst,matching,name,scoring;frequency_lists=require("./frequency_lists"),adjacency_graphs=require("./adjacency_graphs"),scoring=require("./scoring"),build_ranked_dict=function(e){var t,n,r,i,a;for(i={},t=1,r=0,n=e.length;r<n;r++)a=e[r],i[a]=t,t+=1;return i},RANKED_DICTIONARIES={};for(name in frequency_lists)lst=frequency_lists[name],RANKED_DICTIONARIES[name]=build_ranked_dict(lst);GRAPHS={qwerty:adjacency_graphs.qwerty,dvorak:adjacency_graphs.dvorak,keypad:adjacency_graphs.keypad,mac_keypad:adjacency_graphs.mac_keypad},L33T_TABLE={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},REGEXEN={recent_year:/19\d\d|200\d|201\d/g},DATE_MAX_YEAR=2050,DATE_MIN_YEAR=1e3,DATE_SPLITS={4:[[1,2],[2,3]],5:[[1,3],[2,3]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]},matching={empty:function(e){var t;return 0===function(){var n;n=[];for(t in e)n.push(t);return n}().length},extend:function(e,t){return e.push.apply(e,t)},translate:function(e,t){var n;return function(){var r,i,a,s;for(a=e.split(""),s=[],i=0,r=a.length;i<r;i++)n=a[i],s.push(t[n]||n);return s}().join("")},mod:function(e,t){return(e%t+t)%t},sorted:function(e){return e.sort(function(e,t){return e.i-t.i||e.j-t.j})},omnimatch:function(e){var t,n,r,i,a;for(i=[],r=[this.dictionary_match,this.reverse_dictionary_match,this.l33t_match,this.spatial_match,this.repeat_match,this.sequence_match,this.regex_match,this.date_match],a=0,t=r.length;a<t;a++)n=r[a],this.extend(i,n.call(this,e));return this.sorted(i)},dictionary_match:function(e,t){var n,r,i,a,s,o,h,u,c,l,_,f,d,p;null==t&&(t=RANKED_DICTIONARIES),s=[],a=e.length,u=e.toLowerCase();for(n in t)for(l=t[n],r=o=0,_=a;0<=_?o<_:o>_;r=0<=_?++o:--o)for(i=h=f=r,d=a;f<=d?h<d:h>d;i=f<=d?++h:--h)u.slice(r,+i+1||9e9)in l&&(p=u.slice(r,+i+1||9e9),c=l[p],s.push({pattern:"dictionary",i:r,j:i,token:e.slice(r,+i+1||9e9),matched_word:p,rank:c,dictionary_name:n,reversed:!1,l33t:!1}));return this.sorted(s)},reverse_dictionary_match:function(e,t){var n,r,i,a,s,o;for(null==t&&(t=RANKED_DICTIONARIES),o=e.split("").reverse().join(""),i=this.dictionary_match(o,t),a=0,n=i.length;a<n;a++)r=i[a],r.token=r.token.split("").reverse().join(""),r.reversed=!0,s=[e.length-1-r.j,e.length-1-r.i],r.i=s[0],r.j=s[1];return this.sorted(i)},set_user_input_dictionary:function(e){return RANKED_DICTIONARIES.user_inputs=build_ranked_dict(e.slice())},relevant_l33t_subtable:function(e,t){var n,r,i,a,s,o,h,u,c,l;for(s={},o=e.split(""),a=0,r=o.length;a<r;a++)n=o[a],s[n]=!0;l={};for(i in t)c=t[i],h=function(){var e,t,n;for(n=[],t=0,e=c.length;t<e;t++)u=c[t],u in s&&n.push(u);return n}(),h.length>0&&(l[i]=h);return l},enumerate_l33t_subs:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;a=function(){var t;t=[];for(i in e)t.push(i);return t}(),p=[[]],n=function(e){var t,n,r,a,s,o,h,u;for(n=[],s={},o=0,a=e.length;o<a;o++)h=e[o],t=function(){var e,t,n;for(n=[],u=t=0,e=h.length;t<e;u=++t)i=h[u],n.push([i,u]);return n}(),t.sort(),r=function(){var e,n,r;for(r=[],u=n=0,e=t.length;n<e;u=++n)i=t[u],r.push(i+","+u);return r}().join("-"),r in s||(s[r]=!0,n.push(h));return n},r=function(t){var i,a,s,o,h,u,c,l,_,f,d,g,m,A,E,y;if(t.length){for(a=t[0],m=t.slice(1),c=[],d=e[a],l=0,h=d.length;l<h;l++)for(o=d[l],_=0,u=p.length;_<u;_++){for(A=p[_],i=-1,s=f=0,g=A.length;0<=g?f<g:f>g;s=0<=g?++f:--f)if(A[s][0]===o){i=s;break}i===-1?(y=A.concat([[o,a]]),c.push(y)):(E=A.slice(0),E.splice(i,1),E.push([o,a]),c.push(A),c.push(E))}return p=n(c),r(m)}},r(a),d=[];for(u=0,o=p.length;u<o;u++){for(_=p[u],f={},c=0,h=_.length;c<h;c++)l=_[c],s=l[0],t=l[1],f[s]=t;d.push(f)}return d},l33t_match:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A;for(null==t&&(t=RANKED_DICTIONARIES),null==n&&(n=L33T_TABLE),u=[],_=this.enumerate_l33t_subs(this.relevant_l33t_subtable(e,n)),c=0,a=_.length;c<a&&(d=_[c],!this.empty(d));c++)for(g=this.translate(e,d),f=this.dictionary_match(g,t),l=0,s=f.length;l<s;l++)if(o=f[l],m=e.slice(o.i,+o.j+1||9e9),m.toLowerCase()!==o.matched_word){h={};for(p in d)r=d[p],m.indexOf(p)!==-1&&(h[p]=r);o.l33t=!0,o.token=m,o.sub=h,o.sub_display=function(){var e;e=[];for(i in h)A=h[i],e.push(i+" -> "+A);return e}().join(", "),u.push(o)}return this.sorted(u.filter(function(e){return e.token.length>1}))},spatial_match:function(e,t){var n,r,i;null==t&&(t=GRAPHS),i=[];for(r in t)n=t[r],this.extend(i,this.spatial_match_helper(e,n,r));return this.sorted(i)},SHIFTED_RX:/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/,spatial_match_helper:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m;for(f=[],u=0;u<e.length-1;)for(c=u+1,l=null,m=0,g="qwerty"!==n&&"dvorak"!==n||!this.SHIFTED_RX.exec(e.charAt(u))?0:1;;){if(p=e.charAt(c-1),o=!1,h=-1,s=-1,i=t[p]||[],c<e.length)for(a=e.charAt(c),d=0,_=i.length;d<_;d++)if(r=i[d],s+=1,r&&r.indexOf(a)!==-1){o=!0,h=s,1===r.indexOf(a)&&(g+=1),l!==h&&(m+=1,l=h);break}if(!o){c-u>2&&f.push({pattern:"spatial",i:u,j:c-1,token:e.slice(u,c),graph:n,turns:m,shifted_count:g}),u=c;break}c+=1}return f},repeat_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;for(d=[],a=/(.+)\1+/g,c=/(.+?)\1+/g,l=/^(.+?)\1+$/,u=0;u<e.length&&(a.lastIndex=c.lastIndex=u,s=a.exec(e),_=c.exec(e),null!=s);)s[0].length>_[0].length?(f=s,i=l.exec(f[0])[1]):(f=_,i=f[1]),p=[f.index,f.index+f[0].length-1],o=p[0],h=p[1],t=scoring.most_guessable_match_sequence(i,this.omnimatch(i)),r=t.sequence,n=t.guesses,d.push({pattern:"repeat",i:o,j:h,token:f[0],base_token:i,base_guesses:n,base_matches:r,repeat_count:f[0].length/i.length}),u=h+1;return d},MAX_DELTA:5,sequence_match:function(e){var t,n,r,i,a,s,o,h,u;if(1===e.length)return[];for(u=function(t){return function(n,r,i){var a,s,o,u;if((r-n>1||1===Math.abs(i))&&0<(a=Math.abs(i))&&a<=t.MAX_DELTA)return u=e.slice(n,+r+1||9e9),/^[a-z]+$/.test(u)?(s="lower",o=26):/^[A-Z]+$/.test(u)?(s="upper",o=26):/^\d+$/.test(u)?(s="digits",o=10):(s="unicode",o=26),h.push({pattern:"sequence",i:n,j:r,token:e.slice(n,+r+1||9e9),sequence_name:s,sequence_space:o,ascending:i>0})}}(this),h=[],n=0,a=null,i=s=1,o=e.length;1<=o?s<o:s>o;i=1<=o?++s:--s)t=e.charCodeAt(i)-e.charCodeAt(i-1),null==a&&(a=t),t!==a&&(r=i-1,u(n,r,a),n=r,a=t);return u(n,e.length-1,a),h},regex_match:function(e,t){var n,r,i,a;null==t&&(t=REGEXEN),n=[];for(name in t)for(r=t[name],r.lastIndex=0;i=r.exec(e);)a=i[0],n.push({pattern:"regex",token:a,i:i.index,j:i.index+i[0].length-1,regex_name:name,regex_match:i});return this.sorted(n)},date_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A,E,y,v,I,R,T,D,k,x,j,b,N,S,q,L,M;for(_=[],f=/^\d{4,8}$/,d=/^(\d{1,4})([\s\/\\_.-])(\d{1,2})\2(\d{1,4})$/,s=m=0,v=e.length-4;0<=v?m<=v:m>=v;s=0<=v?++m:--m)for(o=A=I=s+3,R=s+7;(I<=R?A<=R:A>=R)&&!(o>=e.length);o=I<=R?++A:--A)if(M=e.slice(s,+o+1||9e9),f.exec(M)){for(r=[],T=DATE_SPLITS[M.length],E=0,c=T.length;E<c;E++)D=T[E],h=D[0],u=D[1],a=this.map_ints_to_dmy([parseInt(M.slice(0,h)),parseInt(M.slice(h,u)),parseInt(M.slice(u))]),null!=a&&r.push(a);if(r.length>0){for(t=r[0],p=function(e){return Math.abs(e.year-scoring.REFERENCE_YEAR)},g=p(r[0]),k=r.slice(1),y=0,l=k.length;y<l;y++)n=k[y],i=p(n),i<g&&(x=[n,i],t=x[0],g=x[1]);_.push({pattern:"date",token:M,i:s,j:o,separator:"",year:t.year,month:t.month,day:t.day})}}for(s=q=0,j=e.length-6;0<=j?q<=j:q>=j;s=0<=j?++q:--q)for(o=L=b=s+5,N=s+9;(b<=N?L<=N:L>=N)&&!(o>=e.length);o=b<=N?++L:--L)M=e.slice(s,+o+1||9e9),S=d.exec(M),null!=S&&(a=this.map_ints_to_dmy([parseInt(S[1]),parseInt(S[3]),parseInt(S[4])]),null!=a&&_.push({pattern:"date",token:M,i:s,j:o,separator:S[2],year:a.year,month:a.month,day:a.day}));return this.sorted(_.filter(function(e){var t,n,r,i;for(t=!1,i=0,n=_.length;i<n;i++)if(r=_[i],e!==r&&r.i<=e.i&&r.j>=e.j){t=!0;break}return!t}))},map_ints_to_dmy:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g;if(!(e[1]>31||e[1]<=0)){for(o=0,h=0,p=0,s=0,r=e.length;s<r;s++){if(n=e[s],99<n&&n<DATE_MIN_YEAR||n>DATE_MAX_YEAR)return;n>31&&(h+=1),n>12&&(o+=1),n<=0&&(p+=1)}if(!(h>=2||3===o||p>=2)){for(c=[[e[2],e.slice(0,2)],[e[0],e.slice(1,3)]],u=0,i=c.length;u<i;u++)if(_=c[u],g=_[0],d=_[1],DATE_MIN_YEAR<=g&&g<=DATE_MAX_YEAR)return t=this.map_ints_to_dm(d),null!=t?{year:g,month:t.month,day:t.day}:void 0;for(l=0,a=c.length;l<a;l++)if(f=c[l],g=f[0],d=f[1],t=this.map_ints_to_dm(d),null!=t)return g=this.two_to_four_digit_year(g),{year:g,month:t.month,day:t.day}}}},map_ints_to_dm:function(e){var t,n,r,i,a,s;for(a=[e,e.slice().reverse()],i=0,n=a.length;i<n;i++)if(s=a[i],t=s[0],r=s[1],1<=t&&t<=31&&1<=r&&r<=12)return{day:t,month:r}},two_to_four_digit_year:function(e){return e>99?e:e>50?e+1900:e+2e3}},module.exports=matching;
18289
18290},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){
18291var BRUTEFORCE_CARDINALITY,MIN_GUESSES_BEFORE_GROWING_SEQUENCE,MIN_SUBMATCH_GUESSES_MULTI_CHAR,MIN_SUBMATCH_GUESSES_SINGLE_CHAR,adjacency_graphs,calc_average_degree,k,scoring,v;adjacency_graphs=require("./adjacency_graphs"),calc_average_degree=function(e){var t,r,n,s,a,u;t=0;for(n in e)a=e[n],t+=function(){var e,t,r;for(r=[],t=0,e=a.length;t<e;t++)s=a[t],s&&r.push(s);return r}().length;return t/=function(){var t;t=[];for(r in e)u=e[r],t.push(r);return t}().length},BRUTEFORCE_CARDINALITY=10,MIN_GUESSES_BEFORE_GROWING_SEQUENCE=1e4,MIN_SUBMATCH_GUESSES_SINGLE_CHAR=10,MIN_SUBMATCH_GUESSES_MULTI_CHAR=50,scoring={nCk:function(e,t){var r,n,s,a;if(t>e)return 0;if(0===t)return 1;for(s=1,r=n=1,a=t;1<=a?n<=a:n>=a;r=1<=a?++n:--n)s*=e,s/=r,e-=1;return s},log10:function(e){return Math.log(e)/Math.log(10)},log2:function(e){return Math.log(e)/Math.log(2)},factorial:function(e){var t,r,n,s;if(e<2)return 1;for(t=1,r=n=2,s=e;2<=s?n<=s:n>=s;r=2<=s?++n:--n)t*=r;return t},most_guessable_match_sequence:function(e,t,r){var n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S,R,v,I,M,N,C,U,T;for(null==r&&(r=!1),l=e.length,f=function(){var e,t,r;for(r=[],n=e=0,t=l;0<=t?e<t:e>t;n=0<=t?++e:--e)r.push([]);return r}(),p=0,_=t.length;p<_;p++)c=t[p],f[c.j].push(c);for(v=0,o=f.length;v<o;v++)E=f[v],E.sort(function(e,t){return e.i-t.i});for(A={m:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}(),pi:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}(),g:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}()},U=function(t){return function(n,s){var a,u,i,_,o,h;_=n.j,o=t.estimate_guesses(n,e),s>1&&(o*=A.pi[n.i-1][s-1]),i=t.factorial(s)*o,r||(i+=Math.pow(MIN_GUESSES_BEFORE_GROWING_SEQUENCE,s-1)),h=A.g[_];for(u in h)if(a=h[u],!(u>s)&&a<=i)return;return A.g[_][s]=i,A.m[_][s]=n,A.pi[_][s]=o}}(this),s=function(e){return function(e){var t,r,n,s,a,u;for(c=g(0,e),U(c,1),a=[],t=u=1,s=e;1<=s?u<=s:u>=s;t=1<=s?++u:--u)c=g(t,e),a.push(function(){var e,s;e=A.m[t-1],s=[];for(r in e)n=e[r],r=parseInt(r),"bruteforce"!==n.pattern&&s.push(U(c,r+1));return s}());return a}}(this),g=function(t){return function(t,r){return{pattern:"bruteforce",token:e.slice(t,+r+1||9e9),i:t,j:r}}}(this),C=function(e){return function(e){var t,r,n,s,a,u,i;u=[],s=e-1,a=void 0,n=1/0,i=A.g[s];for(r in i)t=i[r],t<n&&(a=r,n=t);for(;s>=0;)c=A.m[s][a],u.unshift(c),s=c.i-1,a--;return u}}(this),u=N=0,I=l;0<=I?N<I:N>I;u=0<=I?++N:--N){for(M=f[u],T=0,h=M.length;T<h;T++)if(c=M[T],c.i>0)for(i in A.m[c.i-1])i=parseInt(i),U(c,i+1);else U(c,1);s(u)}return R=C(l),S=R.length,a=0===e.length?1:A.g[l-1][S],{password:e,guesses:a,guesses_log10:this.log10(a),sequence:R}},estimate_guesses:function(e,t){var r,n,s;return null!=e.guesses?e.guesses:(s=1,e.token.length<t.length&&(s=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR:MIN_SUBMATCH_GUESSES_MULTI_CHAR),r={bruteforce:this.bruteforce_guesses,dictionary:this.dictionary_guesses,spatial:this.spatial_guesses,repeat:this.repeat_guesses,sequence:this.sequence_guesses,regex:this.regex_guesses,date:this.date_guesses},n=r[e.pattern].call(this,e),e.guesses=Math.max(n,s),e.guesses_log10=this.log10(e.guesses),e.guesses)},bruteforce_guesses:function(e){var t,r;return t=Math.pow(BRUTEFORCE_CARDINALITY,e.token.length),r=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR+1:MIN_SUBMATCH_GUESSES_MULTI_CHAR+1,Math.max(t,r)},repeat_guesses:function(e){return e.base_guesses*e.repeat_count},sequence_guesses:function(e){var t,r;return r=e.token.charAt(0),t="a"===r||"A"===r||"z"===r||"Z"===r||"0"===r||"1"===r||"9"===r?4:r.match(/\d/)?10:26,e.ascending||(t*=2),t*e.token.length},MIN_YEAR_SPACE:20,REFERENCE_YEAR:2016,regex_guesses:function(e){var t,r;if(t={alpha_lower:26,alpha_upper:26,alpha:52,alphanumeric:62,digits:10,symbols:33},e.regex_name in t)return Math.pow(t[e.regex_name],e.token.length);switch(e.regex_name){case"recent_year":return r=Math.abs(parseInt(e.regex_match[0])-this.REFERENCE_YEAR),r=Math.max(r,this.MIN_YEAR_SPACE)}},date_guesses:function(e){var t,r;return r=Math.max(Math.abs(e.year-this.REFERENCE_YEAR),this.MIN_YEAR_SPACE),t=365*r,e.separator&&(t*=4),t},KEYBOARD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.qwerty),KEYPAD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.keypad),KEYBOARD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.qwerty,t=[];for(k in e)v=e[k],t.push(k);return t}().length,KEYPAD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.keypad,t=[];for(k in e)v=e[k],t.push(k);return t}().length,spatial_guesses:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S;for("qwerty"===(E=e.graph)||"dvorak"===E?(l=this.KEYBOARD_STARTING_POSITIONS,s=this.KEYBOARD_AVERAGE_DEGREE):(l=this.KEYPAD_STARTING_POSITIONS,s=this.KEYPAD_AVERAGE_DEGREE),a=0,t=e.token.length,A=e.turns,u=_=2,c=t;2<=c?_<=c:_>=c;u=2<=c?++_:--_)for(o=Math.min(A,u-1),i=h=1,g=o;1<=g?h<=g:h>=g;i=1<=g?++h:--h)a+=this.nCk(u-1,i-1)*l*Math.pow(s,i);if(e.shifted_count)if(r=e.shifted_count,n=e.token.length-e.shifted_count,0===r||0===n)a*=2;else{for(p=0,u=S=1,f=Math.min(r,n);1<=f?S<=f:S>=f;u=1<=f?++S:--S)p+=this.nCk(r+n,u);a*=p}return a},dictionary_guesses:function(e){var t;return e.base_guesses=e.rank,e.uppercase_variations=this.uppercase_variations(e),e.l33t_variations=this.l33t_variations(e),t=e.reversed&&2||1,e.base_guesses*e.uppercase_variations*e.l33t_variations*t},START_UPPER:/^[A-Z][^A-Z]+$/,END_UPPER:/^[^A-Z]+[A-Z]$/,ALL_UPPER:/^[^a-z]+$/,ALL_LOWER:/^[^A-Z]+$/,uppercase_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c;if(c=e.token,c.match(this.ALL_LOWER)||c.toLowerCase()===c)return 1;for(_=[this.START_UPPER,this.END_UPPER,this.ALL_UPPER],u=0,a=_.length;u<a;u++)if(h=_[u],c.match(h))return 2;for(r=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;t<e;t++)n=r[t],n.match(/[A-Z]/)&&s.push(n);return s}().length,t=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;t<e;t++)n=r[t],n.match(/[a-z]/)&&s.push(n);return s}().length,E=0,s=i=1,o=Math.min(r,t);1<=o?i<=o:i>=o;s=1<=o?++i:--i)E+=this.nCk(r+t,s);return E},l33t_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g;if(!e.l33t)return 1;g=1,o=e.sub;for(E in o)if(c=o[E],s=e.token.toLowerCase().split(""),t=function(){var e,t,r;for(r=[],t=0,e=s.length;t<e;t++)n=s[t],n===E&&r.push(n);return r}().length,r=function(){var e,t,r;for(r=[],t=0,e=s.length;t<e;t++)n=s[t],n===c&&r.push(n);return r}().length,0===t||0===r)g*=2;else{for(i=Math.min(r,t),_=0,a=u=1,h=i;1<=h?u<=h:u>=h;a=1<=h?++u:--u)_+=this.nCk(r+t,a);g*=_}return g}},module.exports=scoring;
18292
18293},{"./adjacency_graphs":1}],7:[function(require,module,exports){
18294var time_estimates;time_estimates={estimate_attack_times:function(e){var t,n,s,o;n={online_throttling_100_per_hour:e/(100/3600),online_no_throttling_10_per_second:e/10,offline_slow_hashing_1e4_per_second:e/1e4,offline_fast_hashing_1e10_per_second:e/1e10},t={};for(s in n)o=n[s],t[s]=this.display_time(o);return{crack_times_seconds:n,crack_times_display:t,score:this.guesses_to_score(e)}},guesses_to_score:function(e){var t;return t=5,e<1e3+t?0:e<1e6+t?1:e<1e8+t?2:e<1e10+t?3:4},display_time:function(e){var t,n,s,o,_,r,i,a,u,c;return i=60,r=60*i,s=24*r,a=31*s,c=12*a,n=100*c,u=e<1?[null,"less than a second"]:e<i?(t=Math.round(e),[t,t+" second"]):e<r?(t=Math.round(e/i),[t,t+" minute"]):e<s?(t=Math.round(e/r),[t,t+" hour"]):e<a?(t=Math.round(e/s),[t,t+" day"]):e<c?(t=Math.round(e/a),[t,t+" month"]):e<n?(t=Math.round(e/c),[t,t+" year"]):[null,"centuries"],o=u[0],_=u[1],null!=o&&1!==o&&(_+="s"),_}},module.exports=time_estimates;
18295
18296},{}]},{},[4])(4)
18297});
18298//# sourceMappingURL=zxcvbn.js.map
18299</script>
18300 <script>/*
18301 * Detects entropy from a string.
18302 *
18303 * Formats include:
18304 * binary [0-1]
18305 * base 6 [0-5]
18306 * dice 6 [1-6]
18307 * decimal [0-9]
18308 * hexadecimal [0-9A-F]
9e97eb76 18309 * card [A2-9TJQK][CDHS]
95f04905
IC
18310 *
18311 * Automatically uses lowest entropy to avoid issues such as interpretting 0101
18312 * as hexadecimal which would be 16 bits when really it's only 4 bits of binary
18313 * entropy.
18314 */
18315
18316window.Entropy = new (function() {
18317
78b8d604
IC
18318 var TWO = new BigInteger(2);
18319
95f04905
IC
18320 // matchers returns an array of the matched events for each type of entropy.
18321 // eg
18322 // matchers.binary("010") returns ["0", "1", "0"]
18323 // matchers.binary("a10") returns ["1", "0"]
18324 // matchers.hex("a10") returns ["a", "1", "0"]
18325 var matchers = {
18326 binary: function(str) {
18327 return str.match(/[0-1]/gi) || [];
18328 },
18329 base6: function(str) {
18330 return str.match(/[0-5]/gi) || [];
18331 },
18332 dice: function(str) {
18333 return str.match(/[1-6]/gi) || []; // ie dice numbers
18334 },
18335 base10: function(str) {
18336 return str.match(/[0-9]/gi) || [];
18337 },
18338 hex: function(str) {
18339 return str.match(/[0-9A-F]/gi) || [];
18340 },
18341 card: function(str) {
18342 // Format is NumberSuit, eg
18343 // AH ace of hearts
18344 // 8C eight of clubs
18345 // TD ten of diamonds
18346 // JS jack of spades
18347 // QH queen of hearts
18348 // KC king of clubs
18349 return str.match(/([A2-9TJQK][CDHS])/gi) || [];
18350 }
18351 }
18352
18353 // Convert array of cards from ["ac", "4d", "ks"]
18354 // to numbers between 0 and 51 [0, 16, 51]
18355 function convertCardsToInts(cards) {
18356 var ints = [];
18357 var values = "a23456789tjqk";
18358 var suits = "cdhs";
18359 for (var i=0; i<cards.length; i++) {
18360 var card = cards[i].toLowerCase();
18361 var value = card[0];
18362 var suit = card[1];
18363 var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
18364 ints.push(asInt);
18365 }
18366 return ints;
18367 }
18368
18369 this.fromString = function(rawEntropyStr) {
18370 // Find type of entropy being used (binary, hex, dice etc)
18371 var base = getBase(rawEntropyStr);
18372 // Convert dice to base6 entropy (ie 1-6 to 0-5)
18373 // This is done by changing all 6s to 0s
18374 if (base.str == "dice") {
18375 var newParts = [];
18376 var newInts = [];
18377 for (var i=0; i<base.parts.length; i++) {
18378 var c = base.parts[i];
18379 if ("12345".indexOf(c) > -1) {
18380 newParts[i] = base.parts[i];
18381 newInts[i] = base.ints[i];
18382 }
18383 else {
18384 newParts[i] = "0";
18385 newInts[i] = 0;
18386 }
18387 }
18388 base.str = "base 6 (dice)";
18389 base.ints = newInts;
18390 base.parts = newParts;
18391 base.matcher = matchers.base6;
18392 }
18393 // Detect empty entropy
18394 if (base.parts.length == 0) {
18395 return {
18396 binaryStr: "",
18397 cleanStr: "",
18398 cleanHtml: "",
18399 base: base,
18400 };
18401 }
18402 // Convert base.ints to BigInteger.
18403 // Due to using unusual bases, eg cards of base52, this is not as simple as
18404 // using BigInteger.parse()
18405 var entropyInt = BigInteger.ZERO;
18406 for (var i=base.ints.length-1; i>=0; i--) {
18407 var thisInt = BigInteger.parse(base.ints[i]);
18408 var power = (base.ints.length - 1) - i;
18409 var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
18410 entropyInt = entropyInt.add(additionalEntropy);
18411 }
18412 // Convert entropy to binary
18413 var entropyBin = entropyInt.toString(2);
18414 // If the first integer is small, it must be padded with zeros.
18415 // Otherwise the chance of the first bit being 1 is 100%, which is
18416 // obviously incorrect.
18417 // This is not perfect for non-2^n bases.
18418 var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
18419 while (entropyBin.length < expectedBits) {
18420 entropyBin = "0" + entropyBin;
18421 }
94959756
IC
18422 // Calculate the number of bits per event
18423 var bitsPerEvent = Math.log2(base.asInt);
ea87f1d3 18424 // Cards binary must be handled differently, since they're not replaced
9e97eb76 18425 if (base.asInt == 52) {
94959756
IC
18426 var cardEntropy = processCardEntropy(base.parts);
18427 entropyBin = cardEntropy.binaryStr;
18428 bitsPerEvent = cardEntropy.bitsPerEvent;
9e97eb76 18429 }
95f04905
IC
18430 // Supply a 'filtered' entropy string for display purposes
18431 var entropyClean = base.parts.join("");
18432 var entropyHtml = base.parts.join("");
18433 if (base.asInt == 52) {
18434 entropyClean = base.parts.join(" ").toUpperCase();
18435 entropyClean = entropyClean.replace(/C/g, "\u2663");
18436 entropyClean = entropyClean.replace(/D/g, "\u2666");
18437 entropyClean = entropyClean.replace(/H/g, "\u2665");
18438 entropyClean = entropyClean.replace(/S/g, "\u2660");
18439 entropyHtml = base.parts.join(" ").toUpperCase();
18440 entropyHtml = entropyHtml.replace(/C/g, "<span class='card-suit club'>\u2663</span>");
18441 entropyHtml = entropyHtml.replace(/D/g, "<span class='card-suit diamond'>\u2666</span>");
18442 entropyHtml = entropyHtml.replace(/H/g, "<span class='card-suit heart'>\u2665</span>");
18443 entropyHtml = entropyHtml.replace(/S/g, "<span class='card-suit spade'>\u2660</span>");
18444 }
9e97eb76 18445 // Return the result
95f04905
IC
18446 var e = {
18447 binaryStr: entropyBin,
18448 cleanStr: entropyClean,
18449 cleanHtml: entropyHtml,
94959756 18450 bitsPerEvent: bitsPerEvent,
95f04905
IC
18451 base: base,
18452 }
18453 return e;
18454 }
18455
78b8d604
IC
18456 function getSortedDeck() {
18457 var s = [];
18458 var suits = "CDHS";
18459 var values = "A23456789TJQK";
18460 for (var i=0; i<suits.length; i++) {
18461 for (var j=0; j<values.length; j++) {
18462 s.push(values[j]+suits[i]);
18463 }
18464 }
18465 return s;
18466 }
18467
95f04905
IC
18468 function getBase(str) {
18469 // Need to get the lowest base for the supplied entropy.
18470 // This prevents interpreting, say, dice rolls as hexadecimal.
18471 var binaryMatches = matchers.binary(str);
18472 var hexMatches = matchers.hex(str);
18473 // Find the lowest base that can be used, whilst ignoring any irrelevant chars
18474 if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
18475 var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
18476 return {
18477 ints: ints,
18478 parts: binaryMatches,
18479 matcher: matchers.binary,
18480 asInt: 2,
18481 str: "binary",
18482 }
18483 }
18484 var cardMatches = matchers.card(str);
18485 if (cardMatches.length >= hexMatches.length / 2) {
18486 var ints = convertCardsToInts(cardMatches);
18487 return {
18488 ints: ints,
18489 parts: cardMatches,
18490 matcher: matchers.card,
18491 asInt: 52,
18492 str: "card",
18493 }
18494 }
18495 var diceMatches = matchers.dice(str);
18496 if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
18497 var ints = diceMatches.map(function(i) { return parseInt(i) });
18498 return {
18499 ints: ints,
18500 parts: diceMatches,
18501 matcher: matchers.dice,
18502 asInt: 6,
18503 str: "dice",
18504 }
18505 }
18506 var base6Matches = matchers.base6(str);
18507 if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
18508 var ints = base6Matches.map(function(i) { return parseInt(i) });
18509 return {
18510 ints: ints,
18511 parts: base6Matches,
18512 matcher: matchers.base6,
18513 asInt: 6,
18514 str: "base 6",
18515 }
18516 }
18517 var base10Matches = matchers.base10(str);
18518 if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
18519 var ints = base10Matches.map(function(i) { return parseInt(i) });
18520 return {
18521 ints: ints,
18522 parts: base10Matches,
18523 matcher: matchers.base10,
18524 asInt: 10,
18525 str: "base 10",
18526 }
18527 }
18528 var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
18529 return {
18530 ints: ints,
18531 parts: hexMatches,
18532 matcher: matchers.hex,
18533 asInt: 16,
18534 str: "hexadecimal",
18535 }
18536 }
18537
ea87f1d3
IC
18538 // Assume cards are NOT replaced.
18539 // Additional entropy decreases as more cards are used. This means
18540 // total possible entropy is measured using n!, not base^n.
18541 // eg the second last card can be only one of two, not one of fifty two
18542 // so the added entropy for that card is only one bit at most
94959756 18543 function processCardEntropy(cards) {
ea87f1d3
IC
18544 // Track how many instances of each card have been used, and thus
18545 // how many decks are in use.
18546 var cardCounts = {};
18547 var numberOfDecks = 0;
18548 // Work out number of decks by max(duplicates)
18549 for (var i=0; i<cards.length; i++) {
18550 // Get the card that was drawn
18551 var cardLower = cards[i];
18552 var card = cardLower.toUpperCase();
18553 // Initialize the count for this card if needed
18554 if (!(card in cardCounts)) {
18555 cardCounts[card] = 0;
18556 }
18557 cardCounts[card] += 1;
18558 // See if this is max(duplicates)
18559 if (cardCounts[card] > numberOfDecks) {
18560 numberOfDecks = cardCounts[card];
18561 }
18562 }
18563 // Work out the total number of bits for this many decks
18564 // See http://crypto.stackexchange.com/q/41886
fc7c248f
IC
18565 var gainedBits = 0;
18566 // Equivalent of Math.log2(factorial(52*numberOfDecks))
18567 // which becomes infinity for numberOfDecks > 4
18568 for (var i=1; i<=52*numberOfDecks; i++) {
18569 gainedBits = gainedBits + Math.log2(i);
18570 }
ea87f1d3
IC
18571 var lostBits = 52 * Math.log2(factorial(numberOfDecks));
18572 var maxBits = gainedBits - lostBits;
18573 // Convert the drawn cards to a binary representation.
18574 // The exact technique for doing this is unclear.
18575 // See
18576 // http://crypto.stackexchange.com/a/41896
18577 // "I even doubt that this is well defined (only the average entropy
18578 // is, I believe)."
18579 // See
18580 // https://github.com/iancoleman/bip39/issues/33#issuecomment-263021856
18581 // "The binary representation can be the first log(permutations,2) bits
18582 // of the sha-2 hash of the normalized deck string."
18583 //
18584 // In this specific implementation, the first N bits of the hash of the
18585 // normalized cards string is being used. Uppercase, no spaces; eg
18586 // sha256("AH8DQSTC2H")
18587 var totalCards = numberOfDecks * 52;
18588 var percentUsed = cards.length / totalCards;
18589 // Calculate the average number of bits of entropy for the number of
18590 // cards drawn.
18591 var numberOfBits = Math.floor(maxBits * percentUsed);
18592 // Create a normalized string of the selected cards
18593 var normalizedCards = cards.join("").toUpperCase();
18594 // Convert to binary using the SHA256 hash of the normalized cards.
434caecd 18595 // If the number of bits is more than 256, multiple hashes
ea87f1d3
IC
18596 // are used until the required number of bits is reached.
18597 var entropyBin = "";
18598 var iterations = 0;
18599 while (entropyBin.length < numberOfBits) {
434caecd 18600 var hashedCards = sjcl.hash.sha256.hash(normalizedCards + ":" + iterations);
ea87f1d3
IC
18601 var hashHex = sjcl.codec.hex.fromBits(hashedCards);
18602 for (var i=0; i<hashHex.length; i++) {
18603 var decimal = parseInt(hashHex[i], 16);
18604 var binary = decimal.toString(2);
18605 while (binary.length < 4) {
18606 binary = "0" + binary;
18607 }
18608 entropyBin = entropyBin + binary;
18609 }
18610 iterations = iterations + 1;
18611 }
18612 // Truncate to the appropriate number of bits.
18613 entropyBin = entropyBin.substring(0, numberOfBits);
94959756
IC
18614 // Get the number of bits per event
18615 bitsPerEvent = maxBits / totalCards;
18616 return {
18617 binaryStr: entropyBin,
18618 bitsPerEvent: bitsPerEvent,
18619 }
ea87f1d3
IC
18620 }
18621
95f04905
IC
18622 // Polyfill for Math.log2
18623 // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
18624 Math.log2 = Math.log2 || function(x) {
18625 // The polyfill isn't good enough because of the poor accuracy of
18626 // Math.LOG2E
18627 // log2(8) gave 2.9999999999999996 which when floored causes issues.
18628 // So instead use the BigInteger library to get it right.
18629 return BigInteger.log(x) / BigInteger.log(2);
18630 };
18631
9e97eb76
IC
18632 // Depends on BigInteger
18633 function factorial(n) {
18634 if (n == 0) {
18635 return 1;
18636 }
18637 f = BigInteger.ONE;
18638 for (var i=1; i<=n; i++) {
18639 f = f.multiply(new BigInteger(i));
18640 }
18641 return f;
18642 }
18643
95f04905 18644})();
c6624d51
IC
18645</script>
18646 <script>(function() {
18647
18648 // mnemonics is populated as required by getLanguage
18649 var mnemonics = { "english": new Mnemonic("english") };
18650 var mnemonic = mnemonics["english"];
3725abb5 18651 var seed = null;
c6624d51
IC
18652 var bip32RootKey = null;
18653 var bip32ExtendedKey = null;
18654 var network = bitcoin.networks.bitcoin;
18655 var addressRowTemplate = $("#address-row-template");
18656
18657 var showIndex = true;
18658 var showAddress = true;
18659 var showPubKey = true;
18660 var showPrivKey = true;
52da415f 18661 var showQr = false;
c6624d51
IC
18662
18663 var entropyChangeTimeoutEvent = null;
18664 var phraseChangeTimeoutEvent = null;
18665 var rootKeyChangedTimeoutEvent = null;
18666
18667 var DOM = {};
18668 DOM.network = $(".network");
18669 DOM.phraseNetwork = $("#network-phrase");
18670 DOM.useEntropy = $(".use-entropy");
18671 DOM.entropyContainer = $(".entropy-container");
18672 DOM.entropy = $(".entropy");
2a6dd137
IC
18673 DOM.entropyFiltered = DOM.entropyContainer.find(".filtered");
18674 DOM.entropyType = DOM.entropyContainer.find(".type");
18675 DOM.entropyStrength = DOM.entropyContainer.find(".strength");
18676 DOM.entropyEventCount = DOM.entropyContainer.find(".event-count");
18677 DOM.entropyBits = DOM.entropyContainer.find(".bits");
18678 DOM.entropyBitsPerEvent = DOM.entropyContainer.find(".bits-per-event");
18679 DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
18680 DOM.entropyBinary = DOM.entropyContainer.find(".binary");
18681 DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
c6624d51
IC
18682 DOM.phrase = $(".phrase");
18683 DOM.passphrase = $(".passphrase");
18684 DOM.generateContainer = $(".generate-container");
18685 DOM.generate = $(".generate");
18686 DOM.seed = $(".seed");
18687 DOM.rootKey = $(".root-key");
18688 DOM.extendedPrivKey = $(".extended-priv-key");
18689 DOM.extendedPubKey = $(".extended-pub-key");
18690 DOM.bip32tab = $("#bip32-tab");
18691 DOM.bip44tab = $("#bip44-tab");
18692 DOM.bip32panel = $("#bip32");
18693 DOM.bip44panel = $("#bip44");
18694 DOM.bip32path = $("#bip32-path");
18695 DOM.bip44path = $("#bip44-path");
18696 DOM.bip44purpose = $("#bip44 .purpose");
18697 DOM.bip44coin = $("#bip44 .coin");
18698 DOM.bip44account = $("#bip44 .account");
20083ab9
IC
18699 DOM.bip44accountXprv = $("#bip44 .account-xprv");
18700 DOM.bip44accountXpub = $("#bip44 .account-xpub");
c6624d51 18701 DOM.bip44change = $("#bip44 .change");
18abe53b 18702 DOM.generatedStrength = $(".generate-container .strength");
c6624d51
IC
18703 DOM.hardenedAddresses = $(".hardened-addresses");
18704 DOM.addresses = $(".addresses");
18705 DOM.rowsToAdd = $(".rows-to-add");
18706 DOM.more = $(".more");
18707 DOM.feedback = $(".feedback");
18708 DOM.tab = $(".derivation-type a");
18709 DOM.indexToggle = $(".index-toggle");
18710 DOM.addressToggle = $(".address-toggle");
18711 DOM.publicKeyToggle = $(".public-key-toggle");
18712 DOM.privateKeyToggle = $(".private-key-toggle");
18713 DOM.languages = $(".languages a");
e00964cc 18714 DOM.qrContainer = $(".qr-container");
52da415f 18715 DOM.qrHider = DOM.qrContainer.find(".qr-hider");
e00964cc
IC
18716 DOM.qrImage = DOM.qrContainer.find(".qr-image");
18717 DOM.qrHint = DOM.qrContainer.find(".qr-hint");
18718 DOM.showQrEls = $("[data-show-qr]");
c6624d51
IC
18719
18720 function init() {
18721 // Events
18722 DOM.network.on("change", networkChanged);
18723 DOM.useEntropy.on("change", setEntropyVisibility);
18724 DOM.entropy.on("input", delayedEntropyChanged);
18abe53b 18725 DOM.entropyMnemonicLength.on("change", entropyChanged);
c6624d51
IC
18726 DOM.phrase.on("input", delayedPhraseChanged);
18727 DOM.passphrase.on("input", delayedPhraseChanged);
18728 DOM.generate.on("click", generateClicked);
18729 DOM.more.on("click", showMore);
18730 DOM.rootKey.on("input", delayedRootKeyChanged);
18731 DOM.bip32path.on("input", calcForDerivationPath);
18732 DOM.bip44purpose.on("input", calcForDerivationPath);
18733 DOM.bip44coin.on("input", calcForDerivationPath);
18734 DOM.bip44account.on("input", calcForDerivationPath);
18735 DOM.bip44change.on("input", calcForDerivationPath);
18736 DOM.tab.on("shown.bs.tab", calcForDerivationPath);
18737 DOM.hardenedAddresses.on("change", calcForDerivationPath);
18738 DOM.indexToggle.on("click", toggleIndexes);
18739 DOM.addressToggle.on("click", toggleAddresses);
18740 DOM.publicKeyToggle.on("click", togglePublicKeys);
18741 DOM.privateKeyToggle.on("click", togglePrivateKeys);
18742 DOM.languages.on("click", languageChanged);
e00964cc 18743 setQrEvents(DOM.showQrEls);
c6624d51
IC
18744 disableForms();
18745 hidePending();
18746 hideValidationError();
18747 populateNetworkSelect();
18748 }
18749
18750 // Event handlers
18751
18752 function networkChanged(e) {
18753 var networkIndex = e.target.value;
18754 networks[networkIndex].onSelect();
18755 if (seed != null) {
18756 phraseChanged();
18757 }
18758 else {
18759 rootKeyChanged();
18760 }
18761 }
18762
18763 function setEntropyVisibility() {
18764 if (isUsingOwnEntropy()) {
18765 DOM.entropyContainer.removeClass("hidden");
18766 DOM.generateContainer.addClass("hidden");
18767 DOM.phrase.prop("readonly", true);
18768 DOM.entropy.focus();
18769 entropyChanged();
18770 }
18771 else {
18772 DOM.entropyContainer.addClass("hidden");
18773 DOM.generateContainer.removeClass("hidden");
18774 DOM.phrase.prop("readonly", false);
18abe53b 18775 hidePending();
c6624d51
IC
18776 }
18777 }
18778
18779 function delayedPhraseChanged() {
18780 hideValidationError();
18781 showPending();
18782 if (phraseChangeTimeoutEvent != null) {
18783 clearTimeout(phraseChangeTimeoutEvent);
18784 }
18785 phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400);
18786 }
18787
18788 function phraseChanged() {
18789 showPending();
18790 hideValidationError();
18791 setMnemonicLanguage();
18792 // Get the mnemonic phrase
18793 var phrase = DOM.phrase.val();
18794 var errorText = findPhraseErrors(phrase);
18795 if (errorText) {
18796 showValidationError(errorText);
18797 return;
18798 }
18799 // Calculate and display
18800 var passphrase = DOM.passphrase.val();
18801 calcBip32RootKeyFromSeed(phrase, passphrase);
18802 calcForDerivationPath();
18803 hidePending();
18804 }
18805
18806 function delayedEntropyChanged() {
18807 hideValidationError();
18808 showPending();
18809 if (entropyChangeTimeoutEvent != null) {
18810 clearTimeout(entropyChangeTimeoutEvent);
18811 }
18812 entropyChangeTimeoutEvent = setTimeout(entropyChanged, 400);
18813 }
18814
18815 function entropyChanged() {
18abe53b
IC
18816 // If blank entropy, clear mnemonic, addresses, errors
18817 if (DOM.entropy.val().trim().length == 0) {
18818 clearDisplay();
2a6dd137 18819 clearEntropyFeedback();
18abe53b
IC
18820 DOM.phrase.val("");
18821 showValidationError("Blank entropy");
18822 return;
18823 }
18824 // Get the current phrase to detect changes
18825 var phrase = DOM.phrase.val();
18826 // Set the phrase from the entropy
c6624d51 18827 setMnemonicFromEntropy();
18abe53b
IC
18828 // Recalc addresses if the phrase has changed
18829 var newPhrase = DOM.phrase.val();
18830 if (newPhrase != phrase) {
18831 if (newPhrase.length == 0) {
18832 clearDisplay();
18833 }
18834 else {
18835 phraseChanged();
18836 }
18837 }
18838 else {
18839 hidePending();
18840 }
c6624d51
IC
18841 }
18842
18843 function delayedRootKeyChanged() {
18844 // Warn if there is an existing mnemonic or passphrase.
18845 if (DOM.phrase.val().length > 0 || DOM.passphrase.val().length > 0) {
18846 if (!confirm("This will clear existing mnemonic and passphrase")) {
18847 DOM.rootKey.val(bip32RootKey);
18848 return
18849 }
18850 }
18851 hideValidationError();
18852 showPending();
18853 // Clear existing mnemonic and passphrase
18854 DOM.phrase.val("");
18855 DOM.passphrase.val("");
18856 seed = null;
18857 if (rootKeyChangedTimeoutEvent != null) {
18858 clearTimeout(rootKeyChangedTimeoutEvent);
18859 }
18860 rootKeyChangedTimeoutEvent = setTimeout(rootKeyChanged, 400);
18861 }
18862
18863 function rootKeyChanged() {
18864 showPending();
18865 hideValidationError();
18866 // Validate the root key TODO
18867 var rootKeyBase58 = DOM.rootKey.val();
18868 var errorText = validateRootKey(rootKeyBase58);
18869 if (errorText) {
18870 showValidationError(errorText);
18871 return;
18872 }
18873 // Calculate and display
18874 calcBip32RootKeyFromBase58(rootKeyBase58);
18875 calcForDerivationPath();
c6624d51
IC
18876 }
18877
18878 function calcForDerivationPath() {
18879 showPending();
ba3cb9ec 18880 clearAddressesList();
c6624d51
IC
18881 hideValidationError();
18882 // Get the derivation path
18883 var derivationPath = getDerivationPath();
18884 var errorText = findDerivationPathErrors(derivationPath);
18885 if (errorText) {
18886 showValidationError(errorText);
18887 return;
18888 }
20083ab9
IC
18889 bip32ExtendedKey = calcBip32ExtendedKey(derivationPath);
18890 if (bip44TabSelected()) {
18891 displayBip44Info();
18892 }
c6624d51
IC
18893 displayBip32Info();
18894 hidePending();
18895 }
18896
18897 function generateClicked() {
18898 if (isUsingOwnEntropy()) {
18899 return;
18900 }
18901 clearDisplay();
18902 showPending();
18903 setTimeout(function() {
18904 setMnemonicLanguage();
18905 var phrase = generateRandomPhrase();
18906 if (!phrase) {
18907 return;
18908 }
18909 phraseChanged();
18910 }, 50);
18911 }
18912
18913 function languageChanged() {
18914 setTimeout(function() {
18915 setMnemonicLanguage();
18916 if (DOM.phrase.val().length > 0) {
18917 var newPhrase = convertPhraseToNewLanguage();
18918 DOM.phrase.val(newPhrase);
18919 phraseChanged();
18920 }
18921 else {
18922 DOM.generate.trigger("click");
18923 }
18924 }, 50);
18925 }
18926
18927 function toggleIndexes() {
18928 showIndex = !showIndex;
18929 $("td.index span").toggleClass("invisible");
18930 }
18931
18932 function toggleAddresses() {
18933 showAddress = !showAddress;
18934 $("td.address span").toggleClass("invisible");
18935 }
18936
18937 function togglePublicKeys() {
18938 showPubKey = !showPubKey;
18939 $("td.pubkey span").toggleClass("invisible");
18940 }
18941
18942 function togglePrivateKeys() {
18943 showPrivKey = !showPrivKey;
18944 $("td.privkey span").toggleClass("invisible");
18945 }
18946
18947 // Private methods
18948
18949 function generateRandomPhrase() {
18950 if (!hasStrongRandom()) {
18951 var errorText = "This browser does not support strong randomness";
18952 showValidationError(errorText);
18953 return;
18954 }
18abe53b 18955 var numWords = parseInt(DOM.generatedStrength.val());
c6624d51
IC
18956 var strength = numWords / 3 * 32;
18957 var words = mnemonic.generate(strength);
18958 DOM.phrase.val(words);
18959 return words;
18960 }
18961
18962 function calcBip32RootKeyFromSeed(phrase, passphrase) {
18963 seed = mnemonic.toSeed(phrase, passphrase);
18964 bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
18965 }
18966
18967 function calcBip32RootKeyFromBase58(rootKeyBase58) {
18968 bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
18969 }
18970
18971 function calcBip32ExtendedKey(path) {
0a1f0259
IC
18972 // Check there's a root key to derive from
18973 if (!bip32RootKey) {
18974 return bip32RootKey;
18975 }
20083ab9 18976 var extendedKey = bip32RootKey;
c6624d51
IC
18977 // Derive the key from the path
18978 var pathBits = path.split("/");
ebd8d4e8
IC
18979 for (var i=0; i<pathBits.length; i++) {
18980 var bit = pathBits[i];
18981 var index = parseInt(bit);
18982 if (isNaN(index)) {
18983 continue;
18984 }
18985 var hardened = bit[bit.length-1] == "'";
ba3cb9ec
IC
18986 var isPriv = "privKey" in extendedKey;
18987 var invalidDerivationPath = hardened && !isPriv;
18988 if (invalidDerivationPath) {
18989 extendedKey = null;
18990 }
18991 else if (hardened) {
20083ab9 18992 extendedKey = extendedKey.deriveHardened(index);
ebd8d4e8
IC
18993 }
18994 else {
20083ab9 18995 extendedKey = extendedKey.derive(index);
ebd8d4e8
IC
18996 }
18997 }
20083ab9 18998 return extendedKey
ebd8d4e8
IC
18999 }
19000
19001 function showValidationError(errorText) {
19002 DOM.feedback
19003 .text(errorText)
19004 .show();
19005 }
19006
19007 function hideValidationError() {
19008 DOM.feedback
19009 .text("")
19010 .hide();
19011 }
19012
19013 function findPhraseErrors(phrase) {
ebd8d4e8 19014 // Preprocess the words
783981de 19015 phrase = mnemonic.normalizeString(phrase);
0515eeec 19016 var words = phraseToWordArray(phrase);
18abe53b
IC
19017 // Detect blank phrase
19018 if (words.length == 0) {
19019 return "Blank mnemonic";
19020 }
563e401a 19021 // Check each word
0515eeec
IC
19022 for (var i=0; i<words.length; i++) {
19023 var word = words[i];
19024 var language = getLanguage();
19025 if (WORDLISTS[language].indexOf(word) == -1) {
563e401a
IC
19026 console.log("Finding closest match to " + word);
19027 var nearestWord = findNearestWord(word);
19028 return word + " not in wordlist, did you mean " + nearestWord + "?";
19029 }
19030 }
ebd8d4e8 19031 // Check the words are valid
0515eeec 19032 var properPhrase = wordArrayToPhrase(words);
ebd8d4e8
IC
19033 var isValid = mnemonic.check(properPhrase);
19034 if (!isValid) {
19035 return "Invalid mnemonic";
19036 }
19037 return false;
19038 }
19039
efe41586
IC
19040 function validateRootKey(rootKeyBase58) {
19041 try {
19042 bitcoin.HDNode.fromBase58(rootKeyBase58);
19043 }
19044 catch (e) {
19045 return "Invalid root key";
19046 }
19047 return "";
19048 }
19049
38523d36 19050 function getDerivationPath() {
20083ab9 19051 if (bip44TabSelected()) {
38523d36
IC
19052 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
19053 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
19054 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
19055 var change = parseIntNoNaN(DOM.bip44change.val(), 0);
19056 var path = "m/";
19057 path += purpose + "'/";
19058 path += coin + "'/";
19059 path += account + "'/";
19060 path += change;
19061 DOM.bip44path.val(path);
19062 var derivationPath = DOM.bip44path.val();
19063 console.log("Using derivation path from BIP44 tab: " + derivationPath);
19064 return derivationPath;
19065 }
20083ab9 19066 else if (bip32TabSelected()) {
38523d36
IC
19067 var derivationPath = DOM.bip32path.val();
19068 console.log("Using derivation path from BIP32 tab: " + derivationPath);
19069 return derivationPath;
19070 }
19071 else {
19072 console.log("Unknown derivation path");
19073 }
19074 }
19075
ebd8d4e8 19076 function findDerivationPathErrors(path) {
30c9e79d
IC
19077 // TODO is not perfect but is better than nothing
19078 // Inspired by
19079 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vectors
19080 // and
19081 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys
19082 var maxDepth = 255; // TODO verify this!!
19083 var maxIndexValue = Math.pow(2, 31); // TODO verify this!!
19084 if (path[0] != "m") {
19085 return "First character must be 'm'";
19086 }
19087 if (path.length > 1) {
19088 if (path[1] != "/") {
19089 return "Separator must be '/'";
19090 }
19091 var indexes = path.split("/");
19092 if (indexes.length > maxDepth) {
19093 return "Derivation depth is " + indexes.length + ", must be less than " + maxDepth;
19094 }
19095 for (var depth = 1; depth<indexes.length; depth++) {
19096 var index = indexes[depth];
19097 var invalidChars = index.replace(/^[0-9]+'?$/g, "")
19098 if (invalidChars.length > 0) {
19099 return "Invalid characters " + invalidChars + " found at depth " + depth;
19100 }
19101 var indexValue = parseInt(index.replace("'", ""));
19102 if (isNaN(depth)) {
19103 return "Invalid number at depth " + depth;
19104 }
19105 if (indexValue > maxIndexValue) {
19106 return "Value of " + indexValue + " at depth " + depth + " must be less than " + maxIndexValue;
19107 }
19108 }
19109 }
0a1f0259
IC
19110 // Check root key exists or else derivation path is useless!
19111 if (!bip32RootKey) {
19112 return "No root key";
19113 }
ba3cb9ec
IC
19114 // Check no hardened derivation path when using xpub keys
19115 var hardened = path.indexOf("'") > -1;
19116 var isXpubkey = !("privKey" in bip32RootKey);
19117 if (hardened && isXpubkey) {
19118 return "Hardened derivation path is invalid with xpub key";
19119 }
ebd8d4e8
IC
19120 return false;
19121 }
19122
20083ab9
IC
19123 function displayBip44Info() {
19124 // Get the derivation path for the account
19125 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
19126 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
19127 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
19128 var path = "m/";
19129 path += purpose + "'/";
19130 path += coin + "'/";
19131 path += account + "'/";
19132 // Calculate the account extended keys
19133 var accountExtendedKey = calcBip32ExtendedKey(path);
19134 var accountXprv = accountExtendedKey.toBase58();
19135 var accountXpub = accountExtendedKey.toBase58(false);
19136 // Display the extended keys
19137 DOM.bip44accountXprv.val(accountXprv);
19138 DOM.bip44accountXpub.val(accountXpub);
19139 }
19140
ebd8d4e8
IC
19141 function displayBip32Info() {
19142 // Display the key
73161a92 19143 DOM.seed.val(seed);
ebd8d4e8
IC
19144 var rootKey = bip32RootKey.toBase58();
19145 DOM.rootKey.val(rootKey);
ba3cb9ec
IC
19146 var xprvkeyB58 = "NA";
19147 if (bip32ExtendedKey.privKey) {
19148 xprvkeyB58 = bip32ExtendedKey.toBase58();
19149 }
19150 var extendedPrivKey = xprvkeyB58;
ebd8d4e8
IC
19151 DOM.extendedPrivKey.val(extendedPrivKey);
19152 var extendedPubKey = bip32ExtendedKey.toBase58(false);
19153 DOM.extendedPubKey.val(extendedPubKey);
19154 // Display the addresses and privkeys
19155 clearAddressesList();
19156 displayAddresses(0, 20);
19157 }
19158
19159 function displayAddresses(start, total) {
19160 for (var i=0; i<total; i++) {
80c4dd2a
IC
19161 var index = i + start;
19162 new TableRow(index);
19163 }
19164 }
19165
19166 function TableRow(index) {
19167
1975bfbc
IC
19168 var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
19169
80c4dd2a
IC
19170 function init() {
19171 calculateValues();
19172 }
19173
19174 function calculateValues() {
19175 setTimeout(function() {
1975bfbc
IC
19176 var key = "";
19177 if (useHardenedAddresses) {
19178 key = bip32ExtendedKey.deriveHardened(index);
19179 }
19180 else {
19181 key = bip32ExtendedKey.derive(index);
19182 }
80c4dd2a 19183 var address = key.getAddress().toString();
ba3cb9ec
IC
19184 var privkey = "NA";
19185 if (key.privKey) {
19186 privkey = key.privKey.toWIF(network);
19187 }
1b12b2f5 19188 var pubkey = key.pubKey.toHex();
38523d36 19189 var indexText = getDerivationPath() + "/" + index;
1975bfbc
IC
19190 if (useHardenedAddresses) {
19191 indexText = indexText + "'";
19192 }
1b12b2f5 19193 addAddressToList(indexText, address, pubkey, privkey);
80c4dd2a 19194 }, 50)
ebd8d4e8 19195 }
80c4dd2a
IC
19196
19197 init();
19198
ebd8d4e8
IC
19199 }
19200
19201 function showMore() {
19202 var start = DOM.addresses.children().length;
19203 var rowsToAdd = parseInt(DOM.rowsToAdd.val());
19204 if (isNaN(rowsToAdd)) {
19205 rowsToAdd = 20;
19206 DOM.rowsToAdd.val("20");
19207 }
19208 if (rowsToAdd > 200) {
19209 var msg = "Generating " + rowsToAdd + " rows could take a while. ";
19210 msg += "Do you want to continue?";
19211 if (!confirm(msg)) {
19212 return;
19213 }
19214 }
ebd8d4e8 19215 displayAddresses(start, rowsToAdd);
ebd8d4e8
IC
19216 }
19217
19218 function clearDisplay() {
19219 clearAddressesList();
19220 clearKey();
19221 hideValidationError();
19222 }
19223
19224 function clearAddressesList() {
19225 DOM.addresses.empty();
19226 }
19227
19228 function clearKey() {
19229 DOM.rootKey.val("");
19230 DOM.extendedPrivKey.val("");
19231 DOM.extendedPubKey.val("");
19232 }
19233
1b12b2f5 19234 function addAddressToList(indexText, address, pubkey, privkey) {
ebd8d4e8 19235 var row = $(addressRowTemplate.html());
80c4dd2a
IC
19236 // Elements
19237 var indexCell = row.find(".index span");
19238 var addressCell = row.find(".address span");
1b12b2f5 19239 var pubkeyCell = row.find(".pubkey span");
80c4dd2a
IC
19240 var privkeyCell = row.find(".privkey span");
19241 // Content
ae30fed8 19242 indexCell.text(indexText);
80c4dd2a 19243 addressCell.text(address);
1b12b2f5 19244 pubkeyCell.text(pubkey);
80c4dd2a
IC
19245 privkeyCell.text(privkey);
19246 // Visibility
19247 if (!showIndex) {
19248 indexCell.addClass("invisible");
19249 }
19250 if (!showAddress) {
19251 addressCell.addClass("invisible");
19252 }
1b12b2f5
IC
19253 if (!showPubKey) {
19254 pubkeyCell.addClass("invisible");
19255 }
80c4dd2a 19256 if (!showPrivKey) {
6d628db7 19257 privkeyCell.addClass("invisible");
80c4dd2a 19258 }
ebd8d4e8 19259 DOM.addresses.append(row);
e00964cc
IC
19260 var rowShowQrEls = row.find("[data-show-qr]");
19261 setQrEvents(rowShowQrEls);
ebd8d4e8
IC
19262 }
19263
19264 function hasStrongRandom() {
19265 return 'crypto' in window && window['crypto'] !== null;
19266 }
19267
19268 function disableForms() {
19269 $("form").on("submit", function(e) {
19270 e.preventDefault();
19271 });
19272 }
19273
ebd8d4e8
IC
19274 function parseIntNoNaN(val, defaultVal) {
19275 var v = parseInt(val);
19276 if (isNaN(v)) {
19277 return defaultVal;
19278 }
19279 return v;
19280 }
19281
19282 function showPending() {
19283 DOM.feedback
19284 .text("Calculating...")
19285 .show();
19286 }
19287
563e401a 19288 function findNearestWord(word) {
0515eeec
IC
19289 var language = getLanguage();
19290 var words = WORDLISTS[language];
563e401a
IC
19291 var minDistance = 99;
19292 var closestWord = words[0];
19293 for (var i=0; i<words.length; i++) {
19294 var comparedTo = words[i];
6ea15134
IC
19295 if (comparedTo.indexOf(word) == 0) {
19296 return comparedTo;
19297 }
563e401a
IC
19298 var distance = Levenshtein.get(word, comparedTo);
19299 if (distance < minDistance) {
19300 closestWord = comparedTo;
19301 minDistance = distance;
19302 }
19303 }
19304 return closestWord;
19305 }
19306
ebd8d4e8
IC
19307 function hidePending() {
19308 DOM.feedback
19309 .text("")
19310 .hide();
19311 }
19312
ab78acc6
IC
19313 function populateNetworkSelect() {
19314 for (var i=0; i<networks.length; i++) {
19315 var network = networks[i];
19316 var option = $("<option>");
19317 option.attr("value", i);
19318 option.text(network.name);
19319 DOM.phraseNetwork.append(option);
19320 }
19321 }
19322
0515eeec
IC
19323 function getLanguage() {
19324 var defaultLanguage = "english";
19325 // Try to get from existing phrase
19326 var language = getLanguageFromPhrase();
19327 // Try to get from url if not from phrase
19328 if (language.length == 0) {
19329 language = getLanguageFromUrl();
19330 }
19331 // Default to English if no other option
19332 if (language.length == 0) {
19333 language = defaultLanguage;
19334 }
19335 return language;
19336 }
19337
19338 function getLanguageFromPhrase(phrase) {
19339 // Check if how many words from existing phrase match a language.
19340 var language = "";
19341 if (!phrase) {
19342 phrase = DOM.phrase.val();
19343 }
19344 if (phrase.length > 0) {
19345 var words = phraseToWordArray(phrase);
19346 var languageMatches = {};
19347 for (l in WORDLISTS) {
19348 // Track how many words match in this language
19349 languageMatches[l] = 0;
19350 for (var i=0; i<words.length; i++) {
19351 var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
19352 if (wordInLanguage) {
19353 languageMatches[l]++;
19354 }
19355 }
19356 // Find languages with most word matches.
19357 // This is made difficult due to commonalities between Chinese
19358 // simplified vs traditional.
19359 var mostMatches = 0;
19360 var mostMatchedLanguages = [];
19361 for (var l in languageMatches) {
19362 var numMatches = languageMatches[l];
19363 if (numMatches > mostMatches) {
19364 mostMatches = numMatches;
19365 mostMatchedLanguages = [l];
19366 }
19367 else if (numMatches == mostMatches) {
19368 mostMatchedLanguages.push(l);
19369 }
19370 }
19371 }
19372 if (mostMatchedLanguages.length > 0) {
19373 // Use first language and warn if multiple detected
19374 language = mostMatchedLanguages[0];
19375 if (mostMatchedLanguages.length > 1) {
19376 console.warn("Multiple possible languages");
19377 console.warn(mostMatchedLanguages);
19378 }
19379 }
19380 }
19381 return language;
19382 }
19383
19384 function getLanguageFromUrl() {
c6624d51
IC
19385 for (var language in WORDLISTS) {
19386 if (window.location.hash.indexOf(language) > -1) {
19387 return language;
19388 }
19389 }
19390 return "";
0515eeec
IC
19391 }
19392
19393 function setMnemonicLanguage() {
19394 var language = getLanguage();
19395 // Load the bip39 mnemonic generator for this language if required
19396 if (!(language in mnemonics)) {
19397 mnemonics[language] = new Mnemonic(language);
19398 }
19399 mnemonic = mnemonics[language];
19400 }
19401
19402 function convertPhraseToNewLanguage() {
19403 var oldLanguage = getLanguageFromPhrase();
19404 var newLanguage = getLanguageFromUrl();
19405 var oldPhrase = DOM.phrase.val();
19406 var oldWords = phraseToWordArray(oldPhrase);
19407 var newWords = [];
19408 for (var i=0; i<oldWords.length; i++) {
19409 var oldWord = oldWords[i];
19410 var index = WORDLISTS[oldLanguage].indexOf(oldWord);
19411 var newWord = WORDLISTS[newLanguage][index];
19412 newWords.push(newWord);
19413 }
19414 newPhrase = wordArrayToPhrase(newWords);
19415 return newPhrase;
19416 }
19417
19418 // TODO look at jsbip39 - mnemonic.splitWords
19419 function phraseToWordArray(phrase) {
19420 var words = phrase.split(/\s/g);
19421 var noBlanks = [];
19422 for (var i=0; i<words.length; i++) {
19423 var word = words[i];
19424 if (word.length > 0) {
19425 noBlanks.push(word);
19426 }
19427 }
19428 return noBlanks;
19429 }
19430
19431 // TODO look at jsbip39 - mnemonic.joinWords
19432 function wordArrayToPhrase(words) {
19433 var phrase = words.join(" ");
19434 var language = getLanguageFromPhrase(phrase);
19435 if (language == "japanese") {
19436 phrase = words.join("\u3000");
19437 }
19438 return phrase;
19439 }
19440
c6624d51
IC
19441 function isUsingOwnEntropy() {
19442 return DOM.useEntropy.prop("checked");
19443 }
19444
19445 function setMnemonicFromEntropy() {
2a6dd137 19446 clearEntropyFeedback();
18abe53b 19447 // Get entropy value
c6624d51 19448 var entropyStr = DOM.entropy.val();
18abe53b 19449 // Work out minimum base for entropy
c6624d51 19450 var entropy = Entropy.fromString(entropyStr);
18abe53b 19451 if (entropy.binaryStr.length == 0) {
c6624d51
IC
19452 return;
19453 }
19454 // Show entropy details
18abe53b
IC
19455 showEntropyFeedback(entropy);
19456 // Use entropy hash if not using raw entropy
19457 var bits = entropy.binaryStr;
19458 var mnemonicLength = DOM.entropyMnemonicLength.val();
19459 if (mnemonicLength != "raw") {
19460 // Get bits by hashing entropy with SHA256
19461 var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
19462 var hex = sjcl.codec.hex.fromBits(hash);
19463 bits = BigInteger.parse(hex, 16).toString(2);
19464 for (var i=0; i<256-bits.length; i++) {
19465 bits = "0" + bits;
19466 }
19467 // Truncate hash to suit number of words
19468 mnemonicLength = parseInt(mnemonicLength);
19469 var numberOfBits = 32 * mnemonicLength / 3;
19470 bits = bits.substring(0, numberOfBits);
c6624d51 19471 }
c6624d51 19472 // Discard trailing entropy
18abe53b 19473 var bitsToUse = Math.floor(bits.length / 32) * 32;
2a6dd137
IC
19474 var start = bits.length - bitsToUse;
19475 var binaryStr = bits.substring(start);
c6624d51
IC
19476 // Convert entropy string to numeric array
19477 var entropyArr = [];
18abe53b
IC
19478 for (var i=0; i<binaryStr.length / 8; i++) {
19479 var byteAsBits = binaryStr.substring(i*8, i*8+8);
19480 var entropyByte = parseInt(byteAsBits, 2);
c6624d51
IC
19481 entropyArr.push(entropyByte)
19482 }
19483 // Convert entropy array to mnemonic
19484 var phrase = mnemonic.toMnemonic(entropyArr);
19485 // Set the mnemonic in the UI
19486 DOM.phrase.val(phrase);
19487 }
19488
2a6dd137
IC
19489 function clearEntropyFeedback() {
19490 DOM.entropyStrength.text("...");
18abe53b 19491 DOM.entropyType.text("");
2a6dd137
IC
19492 DOM.entropyWordCount.text("0");
19493 DOM.entropyEventCount.text("0");
19494 DOM.entropyBitsPerEvent.text("0");
19495 DOM.entropyBits.text("0");
19496 DOM.entropyFiltered.html("&nbsp;");
19497 DOM.entropyBinary.html("&nbsp;");
c6624d51
IC
19498 }
19499
18abe53b 19500 function showEntropyFeedback(entropy) {
9e97eb76 19501 var numberOfBits = entropy.binaryStr.length;
18abe53b 19502 var strength = "extremely weak";
9e97eb76 19503 if (numberOfBits >= 64) {
18abe53b
IC
19504 strength = "very weak";
19505 }
9e97eb76 19506 if (numberOfBits >= 96) {
18abe53b
IC
19507 strength = "weak";
19508 }
9e97eb76 19509 if (numberOfBits >= 128) {
18abe53b
IC
19510 strength = "strong";
19511 }
9e97eb76 19512 if (numberOfBits >= 160) {
18abe53b
IC
19513 strength = "very strong";
19514 }
9e97eb76 19515 if (numberOfBits >= 192) {
18abe53b
IC
19516 strength = "extremely strong";
19517 }
19518 // If time to crack is less than one day, and password is considered
19519 // strong or better based on the number of bits, rename strength to
19520 // 'easily cracked'.
95f04905
IC
19521 try {
19522 var z = zxcvbn(entropy.base.parts.join(""));
19523 var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second;
19524 if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) {
19525 strength = "easily cracked";
19526 if (z.feedback.warning != "") {
19527 strength = strength + " - " + z.feedback.warning;
19528 };
19529 }
18abe53b 19530 }
95f04905
IC
19531 catch (e) {
19532 strength = "unknown";
19533 console.log("Error detecting entropy strength with zxcvbn:");
19534 console.log(e);
19535 }
95f04905 19536 var entropyTypeStr = getEntropyTypeStr(entropy);
9e97eb76 19537 var wordCount = Math.floor(numberOfBits / 32) * 3;
94959756 19538 var bitsPerEvent = entropy.bitsPerEvent.toFixed(2);
2a6dd137 19539 DOM.entropyFiltered.html(entropy.cleanHtml);
95f04905 19540 DOM.entropyType.text(entropyTypeStr);
18abe53b
IC
19541 DOM.entropyStrength.text(strength);
19542 DOM.entropyEventCount.text(entropy.base.ints.length);
9e97eb76 19543 DOM.entropyBits.text(numberOfBits);
2a6dd137
IC
19544 DOM.entropyWordCount.text(wordCount);
19545 DOM.entropyBinary.text(entropy.binaryStr);
9e97eb76 19546 DOM.entropyBitsPerEvent.text(bitsPerEvent);
95f04905
IC
19547 }
19548
19549 function getEntropyTypeStr(entropy) {
19550 var typeStr = entropy.base.str;
19551 // Add some detail if these are cards
19552 if (entropy.base.asInt == 52) {
19553 var cardDetail = []; // array of message strings
19554 // Detect duplicates
19555 var dupes = [];
19556 var dupeTracker = {};
19557 for (var i=0; i<entropy.base.parts.length; i++) {
19558 var card = entropy.base.parts[i];
9e97eb76
IC
19559 var cardUpper = card.toUpperCase();
19560 if (cardUpper in dupeTracker) {
95f04905
IC
19561 dupes.push(card);
19562 }
9e97eb76 19563 dupeTracker[cardUpper] = true;
95f04905
IC
19564 }
19565 if (dupes.length > 0) {
19566 var dupeWord = "duplicates";
19567 if (dupes.length == 1) {
19568 dupeWord = "duplicate";
19569 }
19570 var msg = dupes.length + " " + dupeWord + ": " + dupes.slice(0,3).join(" ");
19571 if (dupes.length > 3) {
19572 msg += "...";
19573 }
19574 cardDetail.push(msg);
19575 }
19576 // Detect full deck
19577 var uniqueCards = [];
19578 for (var uniqueCard in dupeTracker) {
19579 uniqueCards.push(uniqueCard);
19580 }
19581 if (uniqueCards.length == 52) {
19582 cardDetail.unshift("full deck");
19583 }
9e97eb76
IC
19584 // Detect missing cards
19585 var values = "A23456789TJQK";
19586 var suits = "CDHS";
19587 var missingCards = [];
19588 for (var i=0; i<suits.length; i++) {
19589 for (var j=0; j<values.length; j++) {
19590 var card = values[j] + suits[i];
19591 if (!(card in dupeTracker)) {
19592 missingCards.push(card);
19593 }
19594 }
19595 }
19596 // Display missing cards if six or less, ie clearly going for full deck
19597 if (missingCards.length > 0 && missingCards.length <= 6) {
19598 var msg = missingCards.length + " missing: " + missingCards.slice(0,3).join(" ");
19599 if (missingCards.length > 3) {
19600 msg += "...";
19601 }
19602 cardDetail.push(msg);
19603 }
95f04905
IC
19604 // Add card details to typeStr
19605 if (cardDetail.length > 0) {
19606 typeStr += " (" + cardDetail.join(", ") + ")";
19607 }
19608 }
19609 return typeStr;
19610 }
19611
e00964cc
IC
19612 function setQrEvents(els) {
19613 els.on("mouseenter", createQr);
19614 els.on("mouseleave", destroyQr);
19615 els.on("click", toggleQr);
19616 }
19617
19618 function createQr(e) {
19619 var content = e.target.textContent || e.target.value;
19620 if (content) {
19621 var size = 130;
19622 DOM.qrImage.qrcode({width: size, height: size, text: content});
19623 if (!showQr) {
52da415f
IC
19624 DOM.qrHider.addClass("hidden");
19625 }
19626 else {
19627 DOM.qrHider.removeClass("hidden");
e00964cc
IC
19628 }
19629 DOM.qrContainer.removeClass("hidden");
19630 }
19631 }
19632
19633 function destroyQr() {
19634 DOM.qrImage.text("");
19635 DOM.qrContainer.addClass("hidden");
19636 }
19637
19638 function toggleQr() {
19639 showQr = !showQr;
52da415f 19640 DOM.qrHider.toggleClass("hidden");
e00964cc
IC
19641 DOM.qrHint.toggleClass("hidden");
19642 }
19643
20083ab9
IC
19644 function bip44TabSelected() {
19645 return DOM.bip44tab.hasClass("active");
19646 }
19647
19648 function bip32TabSelected() {
19649 return DOM.bip32tab.hasClass("active");
19650 }
19651
ab78acc6
IC
19652 var networks = [
19653 {
19654 name: "Bitcoin",
19655 onSelect: function() {
19656 network = bitcoin.networks.bitcoin;
19657 DOM.bip44coin.val(0);
ab78acc6
IC
19658 },
19659 },
19660 {
19661 name: "Bitcoin Testnet",
19662 onSelect: function() {
19663 network = bitcoin.networks.testnet;
19664 DOM.bip44coin.val(1);
ab78acc6
IC
19665 },
19666 },
19667 {
19668 name: "Litecoin",
19669 onSelect: function() {
19670 network = bitcoin.networks.litecoin;
19671 DOM.bip44coin.val(2);
19672 },
19673 },
19674 {
19675 name: "Dogecoin",
19676 onSelect: function() {
19677 network = bitcoin.networks.dogecoin;
19678 DOM.bip44coin.val(3);
19679 },
19680 },
d5dc92fd
IC
19681 {
19682 name: "ShadowCash",
19683 onSelect: function() {
19684 network = bitcoin.networks.shadow;
19685 DOM.bip44coin.val(35);
19686 },
19687 },
19688 {
19689 name: "ShadowCash Testnet",
19690 onSelect: function() {
19691 network = bitcoin.networks.shadowtn;
19692 DOM.bip44coin.val(1);
19693 },
19694 },
a3baa26e
IC
19695 {
19696 name: "Viacoin",
19697 onSelect: function() {
19698 network = bitcoin.networks.viacoin;
19699 DOM.bip44coin.val(14);
19700 },
19701 },
19702 {
19703 name: "Viacoin Testnet",
19704 onSelect: function() {
19705 network = bitcoin.networks.viacointestnet;
19706 DOM.bip44coin.val(1);
19707 },
19708 },
19709 {
19710 name: "Jumbucks",
19711 onSelect: function() {
19712 network = bitcoin.networks.jumbucks;
19713 DOM.bip44coin.val(26);
19714 },
19715 },
5c434a8a
CM
19716 {
19717 name: "CLAM",
19718 onSelect: function() {
19719 network = bitcoin.networks.clam;
19720 DOM.bip44coin.val(23);
19721 },
19722 },
5493efc3 19723 {
19724 name: "DASH",
19725 onSelect: function() {
19726 network = bitcoin.networks.dash;
19727 DOM.bip44coin.val(5);
19728 },
19729 },
07ac4350 19730 {
19731 name: "Namecoin",
19732 onSelect: function() {
19733 network = bitcoin.networks.namecoin;
19734 DOM.bip44coin.val(7);
19735 },
19736 },
19737 {
19738 name: "Peercoin",
19739 onSelect: function() {
19740 network = bitcoin.networks.peercoin;
19741 DOM.bip44coin.val(6);
19742 },
19743 },
ab78acc6
IC
19744 ]
19745
ebd8d4e8
IC
19746 init();
19747
19748})();
dc55c6b0 19749</script>
ebd8d4e8
IC
19750 </body>
19751</html>