]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - bip39-standalone.html
testMaxTime increased from 5s to 10s
[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 }
0515eeec
IC
55 .languages * {
56 padding-left: 10px;
57 }
d737abf6
IC
58 .monospace {
59 font-family: monospace;
60 }
2a6dd137
IC
61 .entropy-container .filtered,
62 .entropy-container .binary {
63 word-wrap: break-word;
64 }
65 .entropy-container li {
66 padding-bottom: 5px;
67 }
68 .card-suit {
69 font-size: 19px;
70 line-height: 0;
71 }
72 .card-suit.club {
73 color: #009F00;
74 }
75 .card-suit.diamond {
76 color: #3D5DC4;
77 }
78 .card-suit.heart {
79 color: #F00;
80 }
81 .card-suit.spade {
82 color: #000;
83 }
ab78acc6
IC
84 </style>
85 </head>
86 <body>
87 <div class="container">
3af2954a 88
ab78acc6
IC
89 <h1 class="text-center">Mnemonic Code Converter</h1>
90 <hr>
91 <div class="row">
92 <div class="col-md-12">
93 <h2>Mnemonic</h2>
94 <form class="form-horizontal" role="form">
ab78acc6 95 <div class="form-group">
c6624d51
IC
96 <div class="col-sm-2"></div>
97 <div class="col-sm-10">
98 <p>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>
99 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a></p>
100 </div>
101 </div>
102 <div class="form-group generate-container">
b0818b31 103 <label class="col-sm-2 control-label"></label>
ab78acc6 104 <div class="col-sm-10">
b0818b31
IC
105 <div class="form-inline">
106 <div class="input-group-inline">
107 <button class="btn generate">Generate</button>
108 <span>a random</span>
109 <select id="strength" class="strength form-control">
110 <option value="3">3</option>
111 <option value="6">6</option>
112 <option value="9">9</option>
113 <option value="12">12</option>
114 <option value="15" selected>15</option>
115 <option value="18">18</option>
116 <option value="21">21</option>
117 <option value="24">24</option>
118 </select>
119 word mnemonic, or enter your own below.
120 </div>
121 </div>
ab78acc6 122 </div>
0515eeec 123 </div>
c6624d51 124 <div class="entropy-container hidden">
2a6dd137
IC
125 <div class="form-group text-danger">
126 <label class="col-sm-2 control-label">Warning</label>
127 <div class="col-sm-10 form-control-static">
128 Entropy is an advanced feature.
129 Your mnemonic may be insecure if this feature is used incorrectly.
130 <a href="#entropy-notes">Read more</a>
18abe53b
IC
131 </div>
132 </div>
2a6dd137
IC
133 <div class="form-group">
134 <label for="entropy" class="col-sm-2 control-label">Entropy</label>
135 <div class="col-sm-7">
136 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards"></textarea>
137 <label class="col-sm-3 control-label">Strength</label>
138 <div class="strength col-sm-3 form-control-static"></div>
139 <label class="col-sm-3 control-label">Event Count</label>
140 <div class="event-count col-sm-3 form-control-static"></div>
141 <label class="col-sm-3 control-label">Entropy Type</label>
142 <div class="type col-sm-3 form-control-static"></div>
143 <label class="col-sm-3 control-label">Bits Per Event</label>
144 <div class="bits-per-event col-sm-3 form-control-static"></div>
145 <label class="col-sm-3 control-label">Word Count</label>
146 <div class="word-count col-sm-3 form-control-static"></div>
147 <label class="col-sm-3 control-label">Total Bits</label>
148 <div class="bits col-sm-3 form-control-static"></div>
149 <label class="col-sm-3 control-label">Filtered Entropy</label>
150 <div class="filtered col-sm-9 form-control-static"></div>
151 <label class="col-sm-3 control-label">Raw Binary</label>
152 <div class="binary col-sm-9 form-control-static"></div>
153 <label class="col-sm-3 control-label">Mnemonic Length</label>
154 <div class="col-sm-9">
18abe53b
IC
155 <select class="mnemonic-length form-control">
156 <option value="raw">From entropy length (3 words per 32 bits)</option>
157 <option value="12">12 Words</option>
158 <option value="15">15 Words</option>
159 <option value="18">18 Words</option>
160 <option value="21">21 Words</option>
161 <option value="24">24 Words</option>
162 </select>
c6624d51 163 </div>
18abe53b 164 </div>
2a6dd137
IC
165 <div class="col-sm-3">
166 <p>Valid entropy values include:</p>
167 <ul>
168 <li><strong>Binary</strong> [0-1]<br>101010011</li>
169 <li><strong>Base 6</strong> [0-5]<br>123434014</li>
170 <li><strong>Dice</strong> [1-6]<br>62535634</li>
171 <li><strong>Base 10</strong> [0-9]<br>90834528</li>
172 <li><strong>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
173 <li><strong>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
174 </ul>
175 </div>
c6624d51
IC
176 </div>
177 </div>
178 <div class="form-group">
179 <div class="col-sm-2"></div>
180 <div class="col-sm-10 checkbox">
181 <label>
182 <input type="checkbox" class="use-entropy">
183 Supply my own source of entropy
184 </label>
185 </div>
186 </div>
187 <div class="form-group">
0515eeec
IC
188 <label class="col-sm-2 control-label"></label>
189 <div class="col-sm-10 languages">
190 <a href="#english">English</a>
191 <a href="#japanese" title="Japanese">日本語</a>
0515eeec
IC
192 <a href="#spanish" title="Spanish">Español</a>
193 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
194 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
195 <a href="#french" title="French">Français</a>
196 <a href="#italian" title="Italian">Italiano</a>
197 </div>
ab78acc6
IC
198 </div>
199 <div class="form-group">
b0818b31 200 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
ab78acc6 201 <div class="col-sm-10">
b0818b31 202 <textarea id="phrase" class="phrase form-control"></textarea>
ab78acc6
IC
203 </div>
204 </div>
205 <div class="form-group">
206 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
207 <div class="col-sm-10">
208 <textarea id="passphrase" class="passphrase form-control"></textarea>
209 </div>
210 </div>
73161a92
IC
211 <div class="form-group">
212 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
213 <div class="col-sm-10">
214 <textarea id="seed" class="seed form-control" readonly="readonly"></textarea>
215 </div>
216 </div>
ab78acc6
IC
217 <div class="form-group">
218 <label for="network-phrase" class="col-sm-2 control-label">Coin</label>
219 <div class="col-sm-10">
220 <select id="network-phrase" class="network form-control">
221 <!-- populated by javascript -->
222 </select>
223 </div>
224 </div>
225 <div class="form-group">
226 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
227 <div class="col-sm-10">
efe41586 228 <textarea id="root-key" class="root-key form-control"></textarea>
ab78acc6
IC
229 </div>
230 </div>
231 </form>
232 </div>
233 </div>
3af2954a 234
ab78acc6 235 <hr>
3af2954a 236
ab78acc6
IC
237 <div class="row">
238 <div class="col-md-12">
239 <h2>Derivation Path</h2>
240 <ul class="derivation-type nav nav-tabs" role="tablist">
d5dc92fd 241 <li id="bip44-tab" class="active">
ab78acc6
IC
242 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
243 </li>
244 <li id="bip32-tab">
245 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
246 </li>
247 </ul>
248 <div class="derivation-type tab-content">
d5dc92fd 249 <div id="bip44" class="tab-pane active">
ab78acc6
IC
250 <form class="form-horizontal" role="form">
251 <br>
252 <div class="col-sm-2"></div>
253 <div class="col-sm-10">
254 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a></p>
255 </div>
256 <div class="form-group">
257 <label for="purpose" class="col-sm-2 control-label">
258 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
259 </label>
260 <div class="col-sm-10">
261 <input id="purpose" type="text" class="purpose form-control" value="44">
262 </div>
263 </div>
264 <div class="form-group">
265 <label for="coin" class="col-sm-2 control-label">
266 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
267 </label>
268 <div class="col-sm-10">
269 <input id="coin" type="text" class="coin form-control" value="0">
270 </div>
271 </div>
272 <div class="form-group">
273 <label for="account" class="col-sm-2 control-label">
274 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
275 </label>
276 <div class="col-sm-10">
277 <input id="account" type="text" class="account form-control" value="0">
278 </div>
279 </div>
280 <div class="form-group">
281 <label for="change" class="col-sm-2 control-label">
282 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
283 </label>
284 <div class="col-sm-10">
285 <input id="change" type="text" class="change form-control" value="0">
286 </div>
287 </div>
288 <div class="form-group">
289 <label for="bip44-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
290 <div class="col-sm-10">
291 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
292 </div>
293 </div>
294 </form>
295 </div>
296 <div id="bip32" class="tab-pane">
297 <form class="form-horizontal" role="form">
298 <br>
299 <div class="col-sm-2"></div>
300 <div class="col-sm-10">
301 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a></p>
302 </div>
303 <div class="form-group">
304 <label for="bip32-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
305 <div class="col-sm-10">
306 <input id="bip32-path" type="text" class="path form-control" value="m/0">
307 </div>
308 </div>
1975bfbc
IC
309 <div class="form-group">
310 <div class="col-sm-2"></div>
311 <label class="col-sm-10">
312 <input class="hardened-addresses" type="checkbox">
313 Use hardened addresses
314 </label>
315 </div>
d5dc92fd
IC
316 <div class="form-group">
317 <label class="col-sm-2 control-label">Hive Wallet</label>
318 <div class="col-sm-10">
319 <p class="form-control no-border">
320 Use path <code>m/0'/0</code>.
321 For more info see the <a href="https://www.hivewallet.com/" target="_blank">Hive Wallet homepage</a>
322 </p>
323 </div>
324 </div>
325 <div class="form-group">
326 <label for="mycelium-path" class="col-sm-2 control-label">Mycelium Wallet</label>
327 <div class="col-sm-10">
328 <p class="form-control no-border">
329 Use path <code>m/44'/0'/0'/0</code>.
330 For more info see the <a href="http://www.mycelium.com/" target="_blank">Mycelium Wallet homepage</a>
331 </p>
332 </div>
333 </div>
1975bfbc
IC
334 <div class="form-group">
335 <label for="core-path" class="col-sm-2 control-label">Bitcoin Core</label>
336 <div class="col-sm-10">
337 <p class="form-control no-border">
338 Use path <code>m/0'/0'</code> with hardened addresses.
339 For more info see the <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
340 </p>
341 </div>
342 </div>
aa51da11
IC
343 <div class="form-group">
344 <label class="col-sm-2 control-label">Block Explorers</label>
345 <div class="col-sm-10">
346 <p class="form-control no-border">
347 Use path <code>m/44'/0'/0'</code>.
348 Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xpriv</code> key.
349 </p>
350 </div>
351 </div>
ab78acc6
IC
352 </form>
353 </div>
354 </div>
355 <form class="form-horizontal" role="form">
356 <div class="form-group">
357 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Key</label>
358 <div class="col-sm-10">
359 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly"></textarea>
360 </div>
361 </div>
362 <div class="form-group">
363 <label for="extended-pub-key" class="col-sm-2 control-label">BIP32 Extended Key (addresses only)</label>
364 <div class="col-sm-10">
365 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly"></textarea>
366 </div>
367 </div>
368 </form>
369 </div>
370 </div>
3af2954a 371
ab78acc6 372 <hr>
3af2954a 373
ab78acc6
IC
374 <div class="row">
375 <div class="col-md-12">
376 <h2>Derived Addresses</h2>
377 <p>Note these addreses are derived from the <strong>BIP32 Extended Key</strong></p>
378 <table class="table table-striped">
379 <thead>
380 <th>
381 <div class="input-group">
ae30fed8 382 Path&nbsp;&nbsp;
ab78acc6
IC
383 <button class="index-toggle">Toggle</button>
384 </div>
385 </th>
386 <th>
387 <div class="input-group">
388 Address&nbsp;&nbsp;
389 <button class="address-toggle">Toggle</button>
390 </div>
391 </th>
1b12b2f5
IC
392 <th>
393 <div class="input-group">
394 Public Key&nbsp;&nbsp;
395 <button class="public-key-toggle">Toggle</button>
396 </div>
397 </th>
ab78acc6
IC
398 <th>
399 <div class="input-group">
400 Private Key&nbsp;&nbsp;
401 <button class="private-key-toggle">Toggle</button>
402 </div>
403 </th>
404 </thead>
d737abf6 405 <tbody class="addresses monospace">
ab78acc6
IC
406 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
407 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
408 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
409 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
410 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
411 </tbody>
412 </table>
413 </div>
414 </div>
415 <span>Show next </button>
416 <input type="number" class="rows-to-add" value="20">
417 <button class="more">Show</button>
3af2954a 418
ab78acc6 419 <hr>
3af2954a 420
ab78acc6
IC
421 <div class="row">
422 <div class="col-md-12">
423 <h2>More info</h2>
424 <h3>BIP39 <span class="small">Mnemonic code for generating deterministic keys</span></h3>
425 <p>
426 Read more at the
427 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
428 </p>
429 <h3>BIP32 <span class="small">Hierarchical Deterministic Wallets</span></h3>
430 <p>
431 Read more at the
432 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
433 and see the demo at
434 <a href="http://bip32.org/" target="_blank">bip32.org</a>
435 </p>
436 <h3>BIP44 <span class="small">Multi-Account Hierarchy for Deterministic Wallets</span></h3>
437 <p>
438 Read more at the
439 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
440 </p>
441 <h3>Private Keys</h3>
442 <p>
443 Use private keys at
444 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>,
445 but be careful - it can be easy to make mistakes if you
446 don't know what you're doing
447 </p>
c6624d51
IC
448 <h3 id="entropy-notes">Entropy</h3>
449 <p>
450 Entropy values must be sourced from a
451 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
452 This means flipping a fair coin, rolling a fair dice, noise measurements etc. Do <strong>NOT</strong> use
453 phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i>
454 is random, because chances are <em>overwhelming</em> that it isn't random enough for the needs of this tool.
455 </p>
456 <p>
457 The random mnemonic generator on this page uses a
458 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>,
459 and can generally be trusted more than your own intuition about randomness.
460 If cryptographic randomness isn't available in your browser, this page will show a warning and <i>will not generate
461 random mnemonics</i>.
462 </p>
463 <p>
464 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank">You are not a good source of entropy.</a>
465 </p>
ab78acc6
IC
466 </div>
467 </div>
3af2954a 468
ab78acc6 469 <hr>
3af2954a 470
ab78acc6
IC
471 <div class="row">
472 <div class="col-md-12">
3af2954a 473
ab78acc6 474 <h2>Offline Usage</h2>
3af2954a 475
ab78acc6
IC
476 <p>
477 You can use this tool without having to be online.
478 </p>
479 <p>
480 In your browser, select file save-as, and save this page
481 as a file.
482 </p>
483 <p>
484 Double-click that file to open it in a browser
485 on any offline computer.
486 </p>
487 <p>
488 Alternatively, download it from
b630f83d
IC
489 <a href="https://github.com/iancoleman/bip39">
490 https://github.com/iancoleman/bip39
ab78acc6 491 </a>
3af2954a 492
ab78acc6
IC
493 </div>
494 </div>
3af2954a 495
ab78acc6 496 <hr>
3af2954a 497
ab78acc6
IC
498 <div class="row">
499 <div class="col-md-12">
3af2954a 500
ab78acc6 501 <h2>This project is 100% open-source code</h2>
3af2954a 502
ab78acc6
IC
503 <p>
504 <span>Get the source code at - </span>
b630f83d
IC
505 <a href="https://github.com/iancoleman/bip39" target="_blank">
506 https://github.com/iancoleman/bip39
ab78acc6
IC
507 </a>
508 </p>
3af2954a 509
ab78acc6 510 <h3>Libraries</h3>
3af2954a 511
ab78acc6
IC
512 <p>
513 <span>BitcoinJS - </span>
514 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
515 https://github.com/bitcoinjs/bitcoinjs-lib
516 </a>
517 </p>
3af2954a 518
ab78acc6
IC
519 <p>
520 <span>jsBIP39 - </span>
521 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
522 https://github.com/iancoleman/jsbip39
523 </a>
524 </p>
3af2954a 525
ab78acc6
IC
526 <p>
527 <span>sjcl - </span>
528 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
529 https://github.com/bitwiseshiftleft/sjcl
530 </a>
531 </p>
3af2954a 532
ab78acc6
IC
533 <p>
534 <span>jQuery - </span>
535 <a href="https://jquery.com/" target="_blank">
536 https://jquery.com/
537 </a>
538 </p>
3af2954a 539
ab78acc6
IC
540 <p>
541 <span>Twitter Bootstrap - </span>
542 <a href="http://getbootstrap.com/" target="_blank">
543 http://getbootstrap.com/
544 </a>
545 </p>
3af2954a 546
ab78acc6
IC
547 </div>
548 </div>
3af2954a 549
ab78acc6 550 </div>
3af2954a 551
ab78acc6
IC
552 <div class="feedback-container">
553 <div class="feedback">Loading...</div>
554 </div>
3af2954a 555
ab78acc6
IC
556 <script type="text/template" id="address-row-template">
557 <tr>
558 <td class="index"><span></span></td>
559 <td class="address"><span></span></td>
1b12b2f5 560 <td class="pubkey"><span></span></td>
ab78acc6
IC
561 <td class="privkey"><span></span></td>
562 </tr>
563 </script>
564 <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
565!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)
566},_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))
567},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});
568</script>
569 <script>/*!
570 * Bootstrap v3.2.0 (http://getbootstrap.com)
3af2954a
IC
571 * Copyright 2011-2014 Twitter, Inc.
572 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
573 */
574if("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
575 <script>(function() {
576 'use strict';
577
578 /**
579 * Extend an Object with another Object's properties.
580 *
581 * The source objects are specified as additional arguments.
582 *
583 * @param dst Object the object to extend.
584 *
585 * @return Object the final object.
586 */
587 var _extend = function(dst) {
588 var sources = Array.prototype.slice.call(arguments, 1);
589 for (var i=0; i<sources.length; ++i) {
590 var src = sources[i];
591 for (var p in src) {
592 if (src.hasOwnProperty(p)) dst[p] = src[p];
593 }
594 }
595 return dst;
596 };
597
598
599 /**
600 * Defer execution of given function.
601 * @param {Function} func
602 */
603 var _defer = function(func) {
604 if (typeof setImmediate === 'function') {
605 return setImmediate(func);
606 } else {
607 return setTimeout(func, 0);
608 }
609 };
610
611 /**
612 * Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
613 */
614 var Levenshtein = {
615 /**
616 * Calculate levenshtein distance of the two strings.
617 *
618 * @param str1 String the first string.
619 * @param str2 String the second string.
620 * @return Integer the levenshtein distance (0 and above).
621 */
622 get: function(str1, str2) {
623 // base cases
624 if (str1 === str2) return 0;
625 if (str1.length === 0) return str2.length;
626 if (str2.length === 0) return str1.length;
627
628 // two rows
629 var prevRow = new Array(str2.length + 1),
630 curCol, nextCol, i, j, tmp;
631
632 // initialise previous row
633 for (i=0; i<prevRow.length; ++i) {
634 prevRow[i] = i;
635 }
636
637 // calculate current row distance from previous row
638 for (i=0; i<str1.length; ++i) {
639 nextCol = i + 1;
640
641 for (j=0; j<str2.length; ++j) {
642 curCol = nextCol;
643
644 // substution
645 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
646 // insertion
647 tmp = curCol + 1;
648 if (nextCol > tmp) {
649 nextCol = tmp;
650 }
651 // deletion
652 tmp = prevRow[j + 1] + 1;
653 if (nextCol > tmp) {
654 nextCol = tmp;
655 }
656
657 // copy current col value into previous (in preparation for next iteration)
658 prevRow[j] = curCol;
659 }
660
661 // copy last col value into previous (in preparation for next iteration)
662 prevRow[j] = nextCol;
663 }
664
665 return nextCol;
666 },
667
668 /**
669 * Asynchronously calculate levenshtein distance of the two strings.
670 *
671 * @param str1 String the first string.
672 * @param str2 String the second string.
673 * @param cb Function callback function with signature: function(Error err, int distance)
674 * @param [options] Object additional options.
675 * @param [options.progress] Function progress callback with signature: function(percentComplete)
676 */
677 getAsync: function(str1, str2, cb, options) {
678 options = _extend({}, {
679 progress: null
680 }, options);
681
682 // base cases
683 if (str1 === str2) return cb(null, 0);
684 if (str1.length === 0) return cb(null, str2.length);
685 if (str2.length === 0) return cb(null, str1.length);
686
687 // two rows
688 var prevRow = new Array(str2.length + 1),
689 curCol, nextCol,
690 i, j, tmp,
691 startTime, currentTime;
692
693 // initialise previous row
694 for (i=0; i<prevRow.length; ++i) {
695 prevRow[i] = i;
696 }
697
698 nextCol = 1;
699 i = 0;
700 j = -1;
701
702 var __calculate = function() {
703 // reset timer
704 startTime = new Date().valueOf();
705 currentTime = startTime;
706
707 // keep going until one second has elapsed
708 while (currentTime - startTime < 1000) {
709 // reached end of current row?
710 if (str2.length <= (++j)) {
711 // copy current into previous (in preparation for next iteration)
712 prevRow[j] = nextCol;
713
714 // if already done all chars
715 if (str1.length <= (++i)) {
716 return cb(null, nextCol);
717 }
718 // else if we have more left to do
719 else {
720 nextCol = i + 1;
721 j = 0;
722 }
723 }
724
725 // calculation
726 curCol = nextCol;
727
728 // substution
729 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
730 // insertion
731 tmp = curCol + 1;
732 if (nextCol > tmp) {
733 nextCol = tmp;
734 }
735 // deletion
736 tmp = prevRow[j + 1] + 1;
737 if (nextCol > tmp) {
738 nextCol = tmp;
739 }
740
741 // copy current into previous (in preparation for next iteration)
742 prevRow[j] = curCol;
743
744 // get current time
745 currentTime = new Date().valueOf();
746 }
747
748 // send a progress update?
749 if (null !== options.progress) {
750 try {
751 options.progress.call(null, (i * 100.0/ str1.length));
752 } catch (err) {
753 return cb('Progress callback: ' + err.toString());
754 }
755 }
756
757 // next iteration
758 _defer(__calculate);
759 };
760
761 __calculate();
762 }
763
764 };
765
766 // amd
767 if (typeof define !== "undefined" && define !== null && define.amd) {
768 define(function() {
769 return Levenshtein;
770 });
771 }
772 // commonjs
773 else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
774 module.exports = Levenshtein;
775 }
776 // web worker
777 else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
778 self.Levenshtein = Levenshtein;
779 }
780 // browser main thread
781 else if (typeof window !== "undefined" && window !== null) {
782 window.Levenshtein = Levenshtein;
783 }
784}());
785
786</script>
ab78acc6
IC
787 <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){
788// (public) Constructor
789function BigInteger(a, b, c) {
790 if (!(this instanceof BigInteger))
791 return new BigInteger(a, b, c)
3af2954a 792
ab78acc6
IC
793 if (a != null) {
794 if ("number" == typeof a) this.fromNumber(a, b, c)
795 else if (b == null && "string" != typeof a) this.fromString(a, 256)
796 else this.fromString(a, b)
797 }
798}
3af2954a 799
ab78acc6 800var proto = BigInteger.prototype
3af2954a 801
ab78acc6
IC
802// duck-typed isBigInteger
803proto.__bigi = require('../package.json').version
804BigInteger.isBigInteger = function (obj, check_ver) {
805 return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)
806}
3af2954a 807
ab78acc6
IC
808// Bits per digit
809var dbits
3af2954a 810
ab78acc6
IC
811// am: Compute w_j += (x*this_i), propagate carries,
812// c is initial carry, returns final carry.
813// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
814// We need to select the fastest one that works in this environment.
3af2954a 815
ab78acc6
IC
816// am1: use a single mult and divide to get the high bits,
817// max digit bits should be 26 because
818// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
819function am1(i, x, w, j, c, n) {
820 while (--n >= 0) {
821 var v = x * this[i++] + w[j] + c
822 c = Math.floor(v / 0x4000000)
823 w[j++] = v & 0x3ffffff
3af2954a 824 }
ab78acc6
IC
825 return c
826}
827// am2 avoids a big mult-and-extract completely.
828// Max digit bits should be <= 30 because we do bitwise ops
829// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
830function am2(i, x, w, j, c, n) {
831 var xl = x & 0x7fff,
832 xh = x >> 15
833 while (--n >= 0) {
834 var l = this[i] & 0x7fff
835 var h = this[i++] >> 15
836 var m = xh * l + h * xl
837 l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)
838 c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)
839 w[j++] = l & 0x3fffffff
840 }
841 return c
842}
843// Alternately, set max digit bits to 28 since some
844// browsers slow down when dealing with 32-bit numbers.
845function am3(i, x, w, j, c, n) {
846 var xl = x & 0x3fff,
847 xh = x >> 14
848 while (--n >= 0) {
849 var l = this[i] & 0x3fff
850 var h = this[i++] >> 14
851 var m = xh * l + h * xl
852 l = xl * l + ((m & 0x3fff) << 14) + w[j] + c
853 c = (l >> 28) + (m >> 14) + xh * h
854 w[j++] = l & 0xfffffff
3af2954a 855 }
ab78acc6
IC
856 return c
857}
3af2954a 858
ab78acc6
IC
859// wtf?
860BigInteger.prototype.am = am1
861dbits = 26
3af2954a 862
ab78acc6
IC
863BigInteger.prototype.DB = dbits
864BigInteger.prototype.DM = ((1 << dbits) - 1)
865var DV = BigInteger.prototype.DV = (1 << dbits)
3af2954a 866
ab78acc6
IC
867var BI_FP = 52
868BigInteger.prototype.FV = Math.pow(2, BI_FP)
869BigInteger.prototype.F1 = BI_FP - dbits
870BigInteger.prototype.F2 = 2 * dbits - BI_FP
3af2954a 871
ab78acc6
IC
872// Digit conversions
873var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"
874var BI_RC = new Array()
875var rr, vv
876rr = "0".charCodeAt(0)
877for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv
878rr = "a".charCodeAt(0)
879for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
880rr = "A".charCodeAt(0)
881for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
3af2954a 882
ab78acc6
IC
883function int2char(n) {
884 return BI_RM.charAt(n)
885}
3af2954a 886
ab78acc6
IC
887function intAt(s, i) {
888 var c = BI_RC[s.charCodeAt(i)]
889 return (c == null) ? -1 : c
890}
3af2954a 891
ab78acc6
IC
892// (protected) copy this to r
893function bnpCopyTo(r) {
894 for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]
895 r.t = this.t
896 r.s = this.s
897}
3af2954a 898
ab78acc6
IC
899// (protected) set from integer value x, -DV <= x < DV
900function bnpFromInt(x) {
901 this.t = 1
902 this.s = (x < 0) ? -1 : 0
903 if (x > 0) this[0] = x
904 else if (x < -1) this[0] = x + DV
905 else this.t = 0
906}
3af2954a 907
ab78acc6
IC
908// return bigint initialized to value
909function nbv(i) {
910 var r = new BigInteger()
911 r.fromInt(i)
912 return r
913}
3af2954a 914
ab78acc6
IC
915// (protected) set from string and radix
916function bnpFromString(s, b) {
917 var self = this
3af2954a 918
ab78acc6
IC
919 var k
920 if (b == 16) k = 4
921 else if (b == 8) k = 3
922 else if (b == 256) k = 8; // byte array
923 else if (b == 2) k = 1
924 else if (b == 32) k = 5
925 else if (b == 4) k = 2
926 else {
927 self.fromRadix(s, b)
928 return
929 }
930 self.t = 0
931 self.s = 0
932 var i = s.length,
933 mi = false,
934 sh = 0
935 while (--i >= 0) {
936 var x = (k == 8) ? s[i] & 0xff : intAt(s, i)
937 if (x < 0) {
938 if (s.charAt(i) == "-") mi = true
939 continue
940 }
941 mi = false
942 if (sh == 0)
943 self[self.t++] = x
944 else if (sh + k > self.DB) {
945 self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh
946 self[self.t++] = (x >> (self.DB - sh))
947 } else
948 self[self.t - 1] |= x << sh
949 sh += k
950 if (sh >= self.DB) sh -= self.DB
951 }
952 if (k == 8 && (s[0] & 0x80) != 0) {
953 self.s = -1
954 if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh
955 }
956 self.clamp()
957 if (mi) BigInteger.ZERO.subTo(self, self)
958}
3af2954a 959
ab78acc6
IC
960// (protected) clamp off excess high words
961function bnpClamp() {
962 var c = this.s & this.DM
963 while (this.t > 0 && this[this.t - 1] == c)--this.t
964}
3af2954a 965
ab78acc6
IC
966// (public) return string representation in given radix
967function bnToString(b) {
968 var self = this
969 if (self.s < 0) return "-" + self.negate()
970 .toString(b)
971 var k
972 if (b == 16) k = 4
973 else if (b == 8) k = 3
974 else if (b == 2) k = 1
975 else if (b == 32) k = 5
976 else if (b == 4) k = 2
977 else return self.toRadix(b)
978 var km = (1 << k) - 1,
979 d, m = false,
980 r = "",
981 i = self.t
982 var p = self.DB - (i * self.DB) % k
983 if (i-- > 0) {
984 if (p < self.DB && (d = self[i] >> p) > 0) {
985 m = true
986 r = int2char(d)
987 }
988 while (i >= 0) {
989 if (p < k) {
990 d = (self[i] & ((1 << p) - 1)) << (k - p)
991 d |= self[--i] >> (p += self.DB - k)
992 } else {
993 d = (self[i] >> (p -= k)) & km
994 if (p <= 0) {
995 p += self.DB
996 --i
997 }
998 }
999 if (d > 0) m = true
1000 if (m) r += int2char(d)
3af2954a 1001 }
3af2954a 1002 }
ab78acc6
IC
1003 return m ? r : "0"
1004}
3af2954a 1005
ab78acc6
IC
1006// (public) -this
1007function bnNegate() {
1008 var r = new BigInteger()
1009 BigInteger.ZERO.subTo(this, r)
1010 return r
1011}
3af2954a 1012
ab78acc6
IC
1013// (public) |this|
1014function bnAbs() {
1015 return (this.s < 0) ? this.negate() : this
1016}
3af2954a 1017
ab78acc6
IC
1018// (public) return + if this > a, - if this < a, 0 if equal
1019function bnCompareTo(a) {
1020 var r = this.s - a.s
1021 if (r != 0) return r
1022 var i = this.t
1023 r = i - a.t
1024 if (r != 0) return (this.s < 0) ? -r : r
1025 while (--i >= 0)
1026 if ((r = this[i] - a[i]) != 0) return r
1027 return 0
1028}
3af2954a 1029
ab78acc6
IC
1030// returns bit length of the integer x
1031function nbits(x) {
1032 var r = 1,
1033 t
1034 if ((t = x >>> 16) != 0) {
1035 x = t
1036 r += 16
1037 }
1038 if ((t = x >> 8) != 0) {
1039 x = t
1040 r += 8
1041 }
1042 if ((t = x >> 4) != 0) {
1043 x = t
1044 r += 4
1045 }
1046 if ((t = x >> 2) != 0) {
1047 x = t
1048 r += 2
3af2954a 1049 }
ab78acc6
IC
1050 if ((t = x >> 1) != 0) {
1051 x = t
1052 r += 1
1053 }
1054 return r
1055}
1056
1057// (public) return the number of bits in "this"
1058function bnBitLength() {
1059 if (this.t <= 0) return 0
1060 return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
1061}
3af2954a 1062
ab78acc6
IC
1063// (public) return the number of bytes in "this"
1064function bnByteLength() {
1065 return this.bitLength() >> 3
1066}
3af2954a 1067
ab78acc6
IC
1068// (protected) r = this << n*DB
1069function bnpDLShiftTo(n, r) {
1070 var i
1071 for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]
1072 for (i = n - 1; i >= 0; --i) r[i] = 0
1073 r.t = this.t + n
1074 r.s = this.s
1075}
3af2954a 1076
ab78acc6
IC
1077// (protected) r = this >> n*DB
1078function bnpDRShiftTo(n, r) {
1079 for (var i = n; i < this.t; ++i) r[i - n] = this[i]
1080 r.t = Math.max(this.t - n, 0)
1081 r.s = this.s
1082}
3af2954a 1083
ab78acc6
IC
1084// (protected) r = this << n
1085function bnpLShiftTo(n, r) {
1086 var self = this
1087 var bs = n % self.DB
1088 var cbs = self.DB - bs
1089 var bm = (1 << cbs) - 1
1090 var ds = Math.floor(n / self.DB),
1091 c = (self.s << bs) & self.DM,
1092 i
1093 for (i = self.t - 1; i >= 0; --i) {
1094 r[i + ds + 1] = (self[i] >> cbs) | c
1095 c = (self[i] & bm) << bs
1096 }
1097 for (i = ds - 1; i >= 0; --i) r[i] = 0
1098 r[ds] = c
1099 r.t = self.t + ds + 1
1100 r.s = self.s
1101 r.clamp()
1102}
3af2954a 1103
ab78acc6
IC
1104// (protected) r = this >> n
1105function bnpRShiftTo(n, r) {
1106 var self = this
1107 r.s = self.s
1108 var ds = Math.floor(n / self.DB)
1109 if (ds >= self.t) {
1110 r.t = 0
1111 return
3af2954a 1112 }
ab78acc6
IC
1113 var bs = n % self.DB
1114 var cbs = self.DB - bs
1115 var bm = (1 << bs) - 1
1116 r[0] = self[ds] >> bs
1117 for (var i = ds + 1; i < self.t; ++i) {
1118 r[i - ds - 1] |= (self[i] & bm) << cbs
1119 r[i - ds] = self[i] >> bs
1120 }
1121 if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs
1122 r.t = self.t - ds
1123 r.clamp()
1124}
3af2954a 1125
ab78acc6
IC
1126// (protected) r = this - a
1127function bnpSubTo(a, r) {
1128 var self = this
1129 var i = 0,
1130 c = 0,
1131 m = Math.min(a.t, self.t)
1132 while (i < m) {
1133 c += self[i] - a[i]
1134 r[i++] = c & self.DM
1135 c >>= self.DB
1136 }
1137 if (a.t < self.t) {
1138 c -= a.s
1139 while (i < self.t) {
1140 c += self[i]
1141 r[i++] = c & self.DM
1142 c >>= self.DB
1143 }
1144 c += self.s
1145 } else {
1146 c += self.s
1147 while (i < a.t) {
1148 c -= a[i]
1149 r[i++] = c & self.DM
1150 c >>= self.DB
1151 }
1152 c -= a.s
1153 }
1154 r.s = (c < 0) ? -1 : 0
1155 if (c < -1) r[i++] = self.DV + c
1156 else if (c > 0) r[i++] = c
1157 r.t = i
1158 r.clamp()
1159}
3af2954a 1160
ab78acc6
IC
1161// (protected) r = this * a, r != this,a (HAC 14.12)
1162// "this" should be the larger one if appropriate.
1163function bnpMultiplyTo(a, r) {
1164 var x = this.abs(),
1165 y = a.abs()
1166 var i = x.t
1167 r.t = i + y.t
1168 while (--i >= 0) r[i] = 0
1169 for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)
1170 r.s = 0
1171 r.clamp()
1172 if (this.s != a.s) BigInteger.ZERO.subTo(r, r)
1173}
3af2954a 1174
ab78acc6
IC
1175// (protected) r = this^2, r != this (HAC 14.16)
1176function bnpSquareTo(r) {
1177 var x = this.abs()
1178 var i = r.t = 2 * x.t
1179 while (--i >= 0) r[i] = 0
1180 for (i = 0; i < x.t - 1; ++i) {
1181 var c = x.am(i, x[i], r, 2 * i, 0, 1)
1182 if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
1183 r[i + x.t] -= x.DV
1184 r[i + x.t + 1] = 1
1185 }
1186 }
1187 if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)
1188 r.s = 0
1189 r.clamp()
1190}
3af2954a 1191
ab78acc6
IC
1192// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
1193// r != q, this != m. q or r may be null.
1194function bnpDivRemTo(m, q, r) {
1195 var self = this
1196 var pm = m.abs()
1197 if (pm.t <= 0) return
1198 var pt = self.abs()
1199 if (pt.t < pm.t) {
1200 if (q != null) q.fromInt(0)
1201 if (r != null) self.copyTo(r)
1202 return
1203 }
1204 if (r == null) r = new BigInteger()
1205 var y = new BigInteger(),
1206 ts = self.s,
1207 ms = m.s
1208 var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus
1209 if (nsh > 0) {
1210 pm.lShiftTo(nsh, y)
1211 pt.lShiftTo(nsh, r)
1212 } else {
1213 pm.copyTo(y)
1214 pt.copyTo(r)
1215 }
1216 var ys = y.t
1217 var y0 = y[ys - 1]
1218 if (y0 == 0) return
1219 var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)
1220 var d1 = self.FV / yt,
1221 d2 = (1 << self.F1) / yt,
1222 e = 1 << self.F2
1223 var i = r.t,
1224 j = i - ys,
1225 t = (q == null) ? new BigInteger() : q
1226 y.dlShiftTo(j, t)
1227 if (r.compareTo(t) >= 0) {
1228 r[r.t++] = 1
1229 r.subTo(t, r)
1230 }
1231 BigInteger.ONE.dlShiftTo(ys, t)
1232 t.subTo(y, y); // "negative" y so we can replace sub with am later
1233 while (y.t < ys) y[y.t++] = 0
1234 while (--j >= 0) {
1235 // Estimate quotient digit
1236 var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)
1237 if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
1238 y.dlShiftTo(j, t)
1239 r.subTo(t, r)
1240 while (r[i] < --qd) r.subTo(t, r)
3af2954a 1241 }
ab78acc6
IC
1242 }
1243 if (q != null) {
1244 r.drShiftTo(ys, q)
1245 if (ts != ms) BigInteger.ZERO.subTo(q, q)
1246 }
1247 r.t = ys
1248 r.clamp()
1249 if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
1250 if (ts < 0) BigInteger.ZERO.subTo(r, r)
1251}
3af2954a 1252
ab78acc6
IC
1253// (public) this mod a
1254function bnMod(a) {
1255 var r = new BigInteger()
1256 this.abs()
1257 .divRemTo(a, null, r)
1258 if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)
1259 return r
1260}
3af2954a 1261
ab78acc6
IC
1262// Modular reduction using "classic" algorithm
1263function Classic(m) {
1264 this.m = m
1265}
3af2954a 1266
ab78acc6
IC
1267function cConvert(x) {
1268 if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)
1269 else return x
1270}
1271
1272function cRevert(x) {
1273 return x
1274}
3af2954a 1275
ab78acc6
IC
1276function cReduce(x) {
1277 x.divRemTo(this.m, null, x)
1278}
3af2954a 1279
ab78acc6
IC
1280function cMulTo(x, y, r) {
1281 x.multiplyTo(y, r)
1282 this.reduce(r)
1283}
3af2954a 1284
ab78acc6
IC
1285function cSqrTo(x, r) {
1286 x.squareTo(r)
1287 this.reduce(r)
1288}
3af2954a 1289
ab78acc6
IC
1290Classic.prototype.convert = cConvert
1291Classic.prototype.revert = cRevert
1292Classic.prototype.reduce = cReduce
1293Classic.prototype.mulTo = cMulTo
1294Classic.prototype.sqrTo = cSqrTo
3af2954a 1295
ab78acc6
IC
1296// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1297// justification:
1298// xy == 1 (mod m)
1299// xy = 1+km
1300// xy(2-xy) = (1+km)(1-km)
1301// x[y(2-xy)] = 1-k^2m^2
1302// x[y(2-xy)] == 1 (mod m^2)
1303// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1304// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1305// JS multiply "overflows" differently from C/C++, so care is needed here.
1306function bnpInvDigit() {
1307 if (this.t < 1) return 0
1308 var x = this[0]
1309 if ((x & 1) == 0) return 0
1310 var y = x & 3; // y == 1/x mod 2^2
1311 y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1312 y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1313 y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1314 // last step - calculate inverse mod DV directly
1315 // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1316 y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1317 // we really want the negative inverse, and -DV < y < DV
1318 return (y > 0) ? this.DV - y : -y
1319}
3af2954a 1320
ab78acc6
IC
1321// Montgomery reduction
1322function Montgomery(m) {
1323 this.m = m
1324 this.mp = m.invDigit()
1325 this.mpl = this.mp & 0x7fff
1326 this.mph = this.mp >> 15
1327 this.um = (1 << (m.DB - 15)) - 1
1328 this.mt2 = 2 * m.t
1329}
3af2954a 1330
ab78acc6
IC
1331// xR mod m
1332function montConvert(x) {
1333 var r = new BigInteger()
1334 x.abs()
1335 .dlShiftTo(this.m.t, r)
1336 r.divRemTo(this.m, null, r)
1337 if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)
1338 return r
1339}
3af2954a 1340
ab78acc6
IC
1341// x/R mod m
1342function montRevert(x) {
1343 var r = new BigInteger()
1344 x.copyTo(r)
1345 this.reduce(r)
1346 return r
1347}
3af2954a 1348
ab78acc6
IC
1349// x = x/R mod m (HAC 14.32)
1350function montReduce(x) {
1351 while (x.t <= this.mt2) // pad x so am has enough room later
1352 x[x.t++] = 0
1353 for (var i = 0; i < this.m.t; ++i) {
1354 // faster way of calculating u0 = x[i]*mp mod DV
1355 var j = x[i] & 0x7fff
1356 var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM
1357 // use am to combine the multiply-shift-add into one call
1358 j = i + this.m.t
1359 x[j] += this.m.am(0, u0, x, i, 0, this.m.t)
1360 // propagate carry
1361 while (x[j] >= x.DV) {
1362 x[j] -= x.DV
1363 x[++j]++
1364 }
1365 }
1366 x.clamp()
1367 x.drShiftTo(this.m.t, x)
1368 if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)
1369}
3af2954a 1370
ab78acc6
IC
1371// r = "x^2/R mod m"; x != r
1372function montSqrTo(x, r) {
1373 x.squareTo(r)
1374 this.reduce(r)
1375}
3af2954a 1376
ab78acc6
IC
1377// r = "xy/R mod m"; x,y != r
1378function montMulTo(x, y, r) {
1379 x.multiplyTo(y, r)
1380 this.reduce(r)
1381}
3af2954a 1382
ab78acc6
IC
1383Montgomery.prototype.convert = montConvert
1384Montgomery.prototype.revert = montRevert
1385Montgomery.prototype.reduce = montReduce
1386Montgomery.prototype.mulTo = montMulTo
1387Montgomery.prototype.sqrTo = montSqrTo
3af2954a 1388
ab78acc6
IC
1389// (protected) true iff this is even
1390function bnpIsEven() {
1391 return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
1392}
3af2954a 1393
ab78acc6
IC
1394// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1395function bnpExp(e, z) {
1396 if (e > 0xffffffff || e < 1) return BigInteger.ONE
1397 var r = new BigInteger(),
1398 r2 = new BigInteger(),
1399 g = z.convert(this),
1400 i = nbits(e) - 1
1401 g.copyTo(r)
1402 while (--i >= 0) {
1403 z.sqrTo(r, r2)
1404 if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)
1405 else {
1406 var t = r
1407 r = r2
1408 r2 = t
3af2954a 1409 }
3af2954a 1410 }
ab78acc6
IC
1411 return z.revert(r)
1412}
3af2954a 1413
ab78acc6
IC
1414// (public) this^e % m, 0 <= e < 2^32
1415function bnModPowInt(e, m) {
1416 var z
1417 if (e < 256 || m.isEven()) z = new Classic(m)
1418 else z = new Montgomery(m)
1419 return this.exp(e, z)
1420}
3af2954a 1421
ab78acc6
IC
1422// protected
1423proto.copyTo = bnpCopyTo
1424proto.fromInt = bnpFromInt
1425proto.fromString = bnpFromString
1426proto.clamp = bnpClamp
1427proto.dlShiftTo = bnpDLShiftTo
1428proto.drShiftTo = bnpDRShiftTo
1429proto.lShiftTo = bnpLShiftTo
1430proto.rShiftTo = bnpRShiftTo
1431proto.subTo = bnpSubTo
1432proto.multiplyTo = bnpMultiplyTo
1433proto.squareTo = bnpSquareTo
1434proto.divRemTo = bnpDivRemTo
1435proto.invDigit = bnpInvDigit
1436proto.isEven = bnpIsEven
1437proto.exp = bnpExp
3af2954a 1438
ab78acc6
IC
1439// public
1440proto.toString = bnToString
1441proto.negate = bnNegate
1442proto.abs = bnAbs
1443proto.compareTo = bnCompareTo
1444proto.bitLength = bnBitLength
1445proto.byteLength = bnByteLength
1446proto.mod = bnMod
1447proto.modPowInt = bnModPowInt
3af2954a 1448
ab78acc6
IC
1449// (public)
1450function bnClone() {
1451 var r = new BigInteger()
1452 this.copyTo(r)
1453 return r
1454}
3af2954a 1455
ab78acc6
IC
1456// (public) return value as integer
1457function bnIntValue() {
1458 if (this.s < 0) {
1459 if (this.t == 1) return this[0] - this.DV
1460 else if (this.t == 0) return -1
1461 } else if (this.t == 1) return this[0]
1462 else if (this.t == 0) return 0
1463 // assumes 16 < DB < 32
1464 return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]
1465}
3af2954a 1466
ab78acc6
IC
1467// (public) return value as byte
1468function bnByteValue() {
1469 return (this.t == 0) ? this.s : (this[0] << 24) >> 24
1470}
3af2954a 1471
ab78acc6
IC
1472// (public) return value as short (assumes DB>=16)
1473function bnShortValue() {
1474 return (this.t == 0) ? this.s : (this[0] << 16) >> 16
1475}
3af2954a 1476
ab78acc6
IC
1477// (protected) return x s.t. r^x < DV
1478function bnpChunkSize(r) {
1479 return Math.floor(Math.LN2 * this.DB / Math.log(r))
1480}
3af2954a 1481
ab78acc6
IC
1482// (public) 0 if this == 0, 1 if this > 0
1483function bnSigNum() {
1484 if (this.s < 0) return -1
1485 else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0
1486 else return 1
1487}
3af2954a 1488
ab78acc6
IC
1489// (protected) convert to radix string
1490function bnpToRadix(b) {
1491 if (b == null) b = 10
1492 if (this.signum() == 0 || b < 2 || b > 36) return "0"
1493 var cs = this.chunkSize(b)
1494 var a = Math.pow(b, cs)
1495 var d = nbv(a),
1496 y = new BigInteger(),
1497 z = new BigInteger(),
1498 r = ""
1499 this.divRemTo(d, y, z)
1500 while (y.signum() > 0) {
1501 r = (a + z.intValue())
1502 .toString(b)
1503 .substr(1) + r
1504 y.divRemTo(d, y, z)
1505 }
1506 return z.intValue()
1507 .toString(b) + r
1508}
3af2954a 1509
ab78acc6
IC
1510// (protected) convert from radix string
1511function bnpFromRadix(s, b) {
1512 var self = this
1513 self.fromInt(0)
1514 if (b == null) b = 10
1515 var cs = self.chunkSize(b)
1516 var d = Math.pow(b, cs),
1517 mi = false,
1518 j = 0,
1519 w = 0
1520 for (var i = 0; i < s.length; ++i) {
1521 var x = intAt(s, i)
1522 if (x < 0) {
1523 if (s.charAt(i) == "-" && self.signum() == 0) mi = true
1524 continue
1525 }
1526 w = b * w + x
1527 if (++j >= cs) {
1528 self.dMultiply(d)
1529 self.dAddOffset(w, 0)
1530 j = 0
1531 w = 0
1532 }
1533 }
1534 if (j > 0) {
1535 self.dMultiply(Math.pow(b, j))
1536 self.dAddOffset(w, 0)
1537 }
1538 if (mi) BigInteger.ZERO.subTo(self, self)
1539}
3af2954a 1540
ab78acc6
IC
1541// (protected) alternate constructor
1542function bnpFromNumber(a, b, c) {
1543 var self = this
1544 if ("number" == typeof b) {
1545 // new BigInteger(int,int,RNG)
1546 if (a < 2) self.fromInt(1)
1547 else {
1548 self.fromNumber(a, c)
1549 if (!self.testBit(a - 1)) // force MSB set
1550 self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)
1551 if (self.isEven()) self.dAddOffset(1, 0); // force odd
1552 while (!self.isProbablePrime(b)) {
1553 self.dAddOffset(2, 0)
1554 if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)
1555 }
1556 }
1557 } else {
1558 // new BigInteger(int,RNG)
1559 var x = new Array(),
1560 t = a & 7
1561 x.length = (a >> 3) + 1
1562 b.nextBytes(x)
1563 if (t > 0) x[0] &= ((1 << t) - 1)
1564 else x[0] = 0
1565 self.fromString(x, 256)
3af2954a 1566 }
ab78acc6 1567}
3af2954a 1568
ab78acc6
IC
1569// (public) convert to bigendian byte array
1570function bnToByteArray() {
1571 var self = this
1572 var i = self.t,
1573 r = new Array()
1574 r[0] = self.s
1575 var p = self.DB - (i * self.DB) % 8,
1576 d, k = 0
1577 if (i-- > 0) {
1578 if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)
1579 r[k++] = d | (self.s << (self.DB - p))
1580 while (i >= 0) {
1581 if (p < 8) {
1582 d = (self[i] & ((1 << p) - 1)) << (8 - p)
1583 d |= self[--i] >> (p += self.DB - 8)
1584 } else {
1585 d = (self[i] >> (p -= 8)) & 0xff
1586 if (p <= 0) {
1587 p += self.DB
1588 --i
1589 }
1590 }
1591 if ((d & 0x80) != 0) d |= -256
1592 if (k === 0 && (self.s & 0x80) != (d & 0x80))++k
1593 if (k > 0 || d != self.s) r[k++] = d
3af2954a 1594 }
3af2954a 1595 }
ab78acc6
IC
1596 return r
1597}
3af2954a 1598
ab78acc6
IC
1599function bnEquals(a) {
1600 return (this.compareTo(a) == 0)
1601}
3af2954a 1602
ab78acc6
IC
1603function bnMin(a) {
1604 return (this.compareTo(a) < 0) ? this : a
1605}
3af2954a 1606
ab78acc6
IC
1607function bnMax(a) {
1608 return (this.compareTo(a) > 0) ? this : a
1609}
3af2954a 1610
ab78acc6
IC
1611// (protected) r = this op a (bitwise)
1612function bnpBitwiseTo(a, op, r) {
1613 var self = this
1614 var i, f, m = Math.min(a.t, self.t)
1615 for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])
1616 if (a.t < self.t) {
1617 f = a.s & self.DM
1618 for (i = m; i < self.t; ++i) r[i] = op(self[i], f)
1619 r.t = self.t
1620 } else {
1621 f = self.s & self.DM
1622 for (i = m; i < a.t; ++i) r[i] = op(f, a[i])
1623 r.t = a.t
3af2954a 1624 }
ab78acc6
IC
1625 r.s = op(self.s, a.s)
1626 r.clamp()
1627}
3af2954a 1628
ab78acc6
IC
1629// (public) this & a
1630function op_and(x, y) {
1631 return x & y
1632}
3af2954a 1633
ab78acc6
IC
1634function bnAnd(a) {
1635 var r = new BigInteger()
1636 this.bitwiseTo(a, op_and, r)
1637 return r
1638}
3af2954a 1639
ab78acc6
IC
1640// (public) this | a
1641function op_or(x, y) {
1642 return x | y
1643}
3af2954a 1644
ab78acc6
IC
1645function bnOr(a) {
1646 var r = new BigInteger()
1647 this.bitwiseTo(a, op_or, r)
1648 return r
1649}
3af2954a 1650
ab78acc6
IC
1651// (public) this ^ a
1652function op_xor(x, y) {
1653 return x ^ y
1654}
3af2954a 1655
ab78acc6
IC
1656function bnXor(a) {
1657 var r = new BigInteger()
1658 this.bitwiseTo(a, op_xor, r)
1659 return r
1660}
3af2954a 1661
ab78acc6
IC
1662// (public) this & ~a
1663function op_andnot(x, y) {
1664 return x & ~y
1665}
3af2954a 1666
ab78acc6
IC
1667function bnAndNot(a) {
1668 var r = new BigInteger()
1669 this.bitwiseTo(a, op_andnot, r)
1670 return r
1671}
3af2954a 1672
ab78acc6
IC
1673// (public) ~this
1674function bnNot() {
1675 var r = new BigInteger()
1676 for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]
1677 r.t = this.t
1678 r.s = ~this.s
1679 return r
1680}
3af2954a 1681
ab78acc6
IC
1682// (public) this << n
1683function bnShiftLeft(n) {
1684 var r = new BigInteger()
1685 if (n < 0) this.rShiftTo(-n, r)
1686 else this.lShiftTo(n, r)
1687 return r
1688}
3af2954a 1689
ab78acc6
IC
1690// (public) this >> n
1691function bnShiftRight(n) {
1692 var r = new BigInteger()
1693 if (n < 0) this.lShiftTo(-n, r)
1694 else this.rShiftTo(n, r)
1695 return r
1696}
3af2954a 1697
ab78acc6
IC
1698// return index of lowest 1-bit in x, x < 2^31
1699function lbit(x) {
1700 if (x == 0) return -1
1701 var r = 0
1702 if ((x & 0xffff) == 0) {
1703 x >>= 16
1704 r += 16
3af2954a 1705 }
ab78acc6
IC
1706 if ((x & 0xff) == 0) {
1707 x >>= 8
1708 r += 8
1709 }
1710 if ((x & 0xf) == 0) {
1711 x >>= 4
1712 r += 4
1713 }
1714 if ((x & 3) == 0) {
1715 x >>= 2
1716 r += 2
1717 }
1718 if ((x & 1) == 0)++r
1719 return r
1720}
3af2954a 1721
ab78acc6
IC
1722// (public) returns index of lowest 1-bit (or -1 if none)
1723function bnGetLowestSetBit() {
1724 for (var i = 0; i < this.t; ++i)
1725 if (this[i] != 0) return i * this.DB + lbit(this[i])
1726 if (this.s < 0) return this.t * this.DB
1727 return -1
1728}
3af2954a 1729
ab78acc6
IC
1730// return number of 1 bits in x
1731function cbit(x) {
1732 var r = 0
1733 while (x != 0) {
1734 x &= x - 1
1735 ++r
3af2954a 1736 }
ab78acc6
IC
1737 return r
1738}
3af2954a 1739
ab78acc6
IC
1740// (public) return number of set bits
1741function bnBitCount() {
1742 var r = 0,
1743 x = this.s & this.DM
1744 for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)
1745 return r
1746}
1747
1748// (public) true iff nth bit is set
1749function bnTestBit(n) {
1750 var j = Math.floor(n / this.DB)
1751 if (j >= this.t) return (this.s != 0)
1752 return ((this[j] & (1 << (n % this.DB))) != 0)
1753}
3af2954a 1754
ab78acc6
IC
1755// (protected) this op (1<<n)
1756function bnpChangeBit(n, op) {
1757 var r = BigInteger.ONE.shiftLeft(n)
1758 this.bitwiseTo(r, op, r)
1759 return r
1760}
3af2954a 1761
ab78acc6
IC
1762// (public) this | (1<<n)
1763function bnSetBit(n) {
1764 return this.changeBit(n, op_or)
1765}
3af2954a 1766
ab78acc6
IC
1767// (public) this & ~(1<<n)
1768function bnClearBit(n) {
1769 return this.changeBit(n, op_andnot)
1770}
3af2954a 1771
ab78acc6
IC
1772// (public) this ^ (1<<n)
1773function bnFlipBit(n) {
1774 return this.changeBit(n, op_xor)
1775}
3af2954a 1776
ab78acc6
IC
1777// (protected) r = this + a
1778function bnpAddTo(a, r) {
1779 var self = this
3af2954a 1780
ab78acc6
IC
1781 var i = 0,
1782 c = 0,
1783 m = Math.min(a.t, self.t)
1784 while (i < m) {
1785 c += self[i] + a[i]
1786 r[i++] = c & self.DM
1787 c >>= self.DB
1788 }
1789 if (a.t < self.t) {
1790 c += a.s
1791 while (i < self.t) {
1792 c += self[i]
1793 r[i++] = c & self.DM
1794 c >>= self.DB
1795 }
1796 c += self.s
1797 } else {
1798 c += self.s
1799 while (i < a.t) {
1800 c += a[i]
1801 r[i++] = c & self.DM
1802 c >>= self.DB
1803 }
1804 c += a.s
1805 }
1806 r.s = (c < 0) ? -1 : 0
1807 if (c > 0) r[i++] = c
1808 else if (c < -1) r[i++] = self.DV + c
1809 r.t = i
1810 r.clamp()
1811}
3af2954a 1812
ab78acc6
IC
1813// (public) this + a
1814function bnAdd(a) {
1815 var r = new BigInteger()
1816 this.addTo(a, r)
1817 return r
1818}
3af2954a 1819
ab78acc6
IC
1820// (public) this - a
1821function bnSubtract(a) {
1822 var r = new BigInteger()
1823 this.subTo(a, r)
1824 return r
1825}
3af2954a 1826
ab78acc6
IC
1827// (public) this * a
1828function bnMultiply(a) {
1829 var r = new BigInteger()
1830 this.multiplyTo(a, r)
1831 return r
1832}
3af2954a 1833
ab78acc6
IC
1834// (public) this^2
1835function bnSquare() {
1836 var r = new BigInteger()
1837 this.squareTo(r)
1838 return r
1839}
3af2954a 1840
ab78acc6
IC
1841// (public) this / a
1842function bnDivide(a) {
1843 var r = new BigInteger()
1844 this.divRemTo(a, r, null)
1845 return r
1846}
3af2954a 1847
ab78acc6
IC
1848// (public) this % a
1849function bnRemainder(a) {
1850 var r = new BigInteger()
1851 this.divRemTo(a, null, r)
1852 return r
1853}
3af2954a 1854
ab78acc6
IC
1855// (public) [this/a,this%a]
1856function bnDivideAndRemainder(a) {
1857 var q = new BigInteger(),
1858 r = new BigInteger()
1859 this.divRemTo(a, q, r)
1860 return new Array(q, r)
1861}
3af2954a 1862
ab78acc6
IC
1863// (protected) this *= n, this >= 0, 1 < n < DV
1864function bnpDMultiply(n) {
1865 this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)
1866 ++this.t
1867 this.clamp()
1868}
3af2954a 1869
ab78acc6
IC
1870// (protected) this += n << w words, this >= 0
1871function bnpDAddOffset(n, w) {
1872 if (n == 0) return
1873 while (this.t <= w) this[this.t++] = 0
1874 this[w] += n
1875 while (this[w] >= this.DV) {
1876 this[w] -= this.DV
1877 if (++w >= this.t) this[this.t++] = 0
1878 ++this[w]
3af2954a 1879 }
ab78acc6 1880}
3af2954a 1881
ab78acc6
IC
1882// A "null" reducer
1883function NullExp() {}
3af2954a 1884
ab78acc6
IC
1885function nNop(x) {
1886 return x
1887}
3af2954a 1888
ab78acc6
IC
1889function nMulTo(x, y, r) {
1890 x.multiplyTo(y, r)
1891}
3af2954a 1892
ab78acc6
IC
1893function nSqrTo(x, r) {
1894 x.squareTo(r)
1895}
3af2954a 1896
ab78acc6
IC
1897NullExp.prototype.convert = nNop
1898NullExp.prototype.revert = nNop
1899NullExp.prototype.mulTo = nMulTo
1900NullExp.prototype.sqrTo = nSqrTo
3af2954a 1901
ab78acc6
IC
1902// (public) this^e
1903function bnPow(e) {
1904 return this.exp(e, new NullExp())
1905}
3af2954a 1906
ab78acc6
IC
1907// (protected) r = lower n words of "this * a", a.t <= n
1908// "this" should be the larger one if appropriate.
1909function bnpMultiplyLowerTo(a, n, r) {
1910 var i = Math.min(this.t + a.t, n)
1911 r.s = 0; // assumes a,this >= 0
1912 r.t = i
1913 while (i > 0) r[--i] = 0
1914 var j
1915 for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)
1916 for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)
1917 r.clamp()
1918}
3af2954a 1919
ab78acc6
IC
1920// (protected) r = "this * a" without lower n words, n > 0
1921// "this" should be the larger one if appropriate.
1922function bnpMultiplyUpperTo(a, n, r) {
1923 --n
1924 var i = r.t = this.t + a.t - n
1925 r.s = 0; // assumes a,this >= 0
1926 while (--i >= 0) r[i] = 0
1927 for (i = Math.max(n - this.t, 0); i < a.t; ++i)
1928 r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)
1929 r.clamp()
1930 r.drShiftTo(1, r)
1931}
3af2954a 1932
ab78acc6
IC
1933// Barrett modular reduction
1934function Barrett(m) {
1935 // setup Barrett
1936 this.r2 = new BigInteger()
1937 this.q3 = new BigInteger()
1938 BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)
1939 this.mu = this.r2.divide(m)
1940 this.m = m
1941}
3af2954a 1942
ab78acc6
IC
1943function barrettConvert(x) {
1944 if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)
1945 else if (x.compareTo(this.m) < 0) return x
1946 else {
1947 var r = new BigInteger()
1948 x.copyTo(r)
1949 this.reduce(r)
1950 return r
3af2954a 1951 }
ab78acc6 1952}
3af2954a 1953
ab78acc6
IC
1954function barrettRevert(x) {
1955 return x
1956}
3af2954a 1957
ab78acc6
IC
1958// x = x mod m (HAC 14.42)
1959function barrettReduce(x) {
1960 var self = this
1961 x.drShiftTo(self.m.t - 1, self.r2)
1962 if (x.t > self.m.t + 1) {
1963 x.t = self.m.t + 1
1964 x.clamp()
3af2954a 1965 }
ab78acc6
IC
1966 self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)
1967 self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)
1968 while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)
1969 x.subTo(self.r2, x)
1970 while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)
1971}
3af2954a 1972
ab78acc6
IC
1973// r = x^2 mod m; x != r
1974function barrettSqrTo(x, r) {
1975 x.squareTo(r)
1976 this.reduce(r)
1977}
3af2954a 1978
ab78acc6
IC
1979// r = x*y mod m; x,y != r
1980function barrettMulTo(x, y, r) {
1981 x.multiplyTo(y, r)
1982 this.reduce(r)
1983}
3af2954a 1984
ab78acc6
IC
1985Barrett.prototype.convert = barrettConvert
1986Barrett.prototype.revert = barrettRevert
1987Barrett.prototype.reduce = barrettReduce
1988Barrett.prototype.mulTo = barrettMulTo
1989Barrett.prototype.sqrTo = barrettSqrTo
3af2954a 1990
ab78acc6
IC
1991// (public) this^e % m (HAC 14.85)
1992function bnModPow(e, m) {
1993 var i = e.bitLength(),
1994 k, r = nbv(1),
1995 z
1996 if (i <= 0) return r
1997 else if (i < 18) k = 1
1998 else if (i < 48) k = 3
1999 else if (i < 144) k = 4
2000 else if (i < 768) k = 5
2001 else k = 6
2002 if (i < 8)
2003 z = new Classic(m)
2004 else if (m.isEven())
2005 z = new Barrett(m)
2006 else
2007 z = new Montgomery(m)
3af2954a 2008
ab78acc6
IC
2009 // precomputation
2010 var g = new Array(),
2011 n = 3,
2012 k1 = k - 1,
2013 km = (1 << k) - 1
2014 g[1] = z.convert(this)
2015 if (k > 1) {
2016 var g2 = new BigInteger()
2017 z.sqrTo(g[1], g2)
2018 while (n <= km) {
2019 g[n] = new BigInteger()
2020 z.mulTo(g2, g[n - 2], g[n])
2021 n += 2
2022 }
2023 }
2024
2025 var j = e.t - 1,
2026 w, is1 = true,
2027 r2 = new BigInteger(),
2028 t
2029 i = nbits(e[j]) - 1
2030 while (j >= 0) {
2031 if (i >= k1) w = (e[j] >> (i - k1)) & km
2032 else {
2033 w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)
2034 if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)
2035 }
3af2954a 2036
ab78acc6
IC
2037 n = k
2038 while ((w & 1) == 0) {
2039 w >>= 1
2040 --n
2041 }
2042 if ((i -= n) < 0) {
2043 i += this.DB
2044 --j
2045 }
2046 if (is1) { // ret == 1, don't bother squaring or multiplying it
2047 g[w].copyTo(r)
2048 is1 = false
2049 } else {
2050 while (n > 1) {
2051 z.sqrTo(r, r2)
2052 z.sqrTo(r2, r)
2053 n -= 2
2054 }
2055 if (n > 0) z.sqrTo(r, r2)
2056 else {
2057 t = r
2058 r = r2
2059 r2 = t
2060 }
2061 z.mulTo(r2, g[w], r)
2062 }
3af2954a 2063
ab78acc6
IC
2064 while (j >= 0 && (e[j] & (1 << i)) == 0) {
2065 z.sqrTo(r, r2)
2066 t = r
2067 r = r2
2068 r2 = t
2069 if (--i < 0) {
2070 i = this.DB - 1
2071 --j
3af2954a 2072 }
3af2954a
IC
2073 }
2074 }
ab78acc6
IC
2075 return z.revert(r)
2076}
3af2954a 2077
ab78acc6
IC
2078// (public) gcd(this,a) (HAC 14.54)
2079function bnGCD(a) {
2080 var x = (this.s < 0) ? this.negate() : this.clone()
2081 var y = (a.s < 0) ? a.negate() : a.clone()
2082 if (x.compareTo(y) < 0) {
2083 var t = x
2084 x = y
2085 y = t
2086 }
2087 var i = x.getLowestSetBit(),
2088 g = y.getLowestSetBit()
2089 if (g < 0) return x
2090 if (i < g) g = i
2091 if (g > 0) {
2092 x.rShiftTo(g, x)
2093 y.rShiftTo(g, y)
2094 }
2095 while (x.signum() > 0) {
2096 if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)
2097 if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)
2098 if (x.compareTo(y) >= 0) {
2099 x.subTo(y, x)
2100 x.rShiftTo(1, x)
2101 } else {
2102 y.subTo(x, y)
2103 y.rShiftTo(1, y)
2104 }
3af2954a 2105 }
ab78acc6
IC
2106 if (g > 0) y.lShiftTo(g, y)
2107 return y
2108}
3af2954a 2109
ab78acc6
IC
2110// (protected) this % n, n < 2^26
2111function bnpModInt(n) {
2112 if (n <= 0) return 0
2113 var d = this.DV % n,
2114 r = (this.s < 0) ? n - 1 : 0
2115 if (this.t > 0)
2116 if (d == 0) r = this[0] % n
2117 else
2118 for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n
2119 return r
2120}
3af2954a 2121
ab78acc6
IC
2122// (public) 1/this % m (HAC 14.61)
2123function bnModInverse(m) {
2124 var ac = m.isEven()
2125 if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO
2126 var u = m.clone(),
2127 v = this.clone()
2128 var a = nbv(1),
2129 b = nbv(0),
2130 c = nbv(0),
2131 d = nbv(1)
2132 while (u.signum() != 0) {
2133 while (u.isEven()) {
2134 u.rShiftTo(1, u)
2135 if (ac) {
2136 if (!a.isEven() || !b.isEven()) {
2137 a.addTo(this, a)
2138 b.subTo(m, b)
2139 }
2140 a.rShiftTo(1, a)
2141 } else if (!b.isEven()) b.subTo(m, b)
2142 b.rShiftTo(1, b)
2143 }
2144 while (v.isEven()) {
2145 v.rShiftTo(1, v)
2146 if (ac) {
2147 if (!c.isEven() || !d.isEven()) {
2148 c.addTo(this, c)
2149 d.subTo(m, d)
2150 }
2151 c.rShiftTo(1, c)
2152 } else if (!d.isEven()) d.subTo(m, d)
2153 d.rShiftTo(1, d)
2154 }
2155 if (u.compareTo(v) >= 0) {
2156 u.subTo(v, u)
2157 if (ac) a.subTo(c, a)
2158 b.subTo(d, b)
2159 } else {
2160 v.subTo(u, v)
2161 if (ac) c.subTo(a, c)
2162 d.subTo(b, d)
2163 }
2164 }
2165 if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO
2166 if (d.compareTo(m) >= 0) return d.subtract(m)
2167 if (d.signum() < 0) d.addTo(m, d)
2168 else return d
2169 if (d.signum() < 0) return d.add(m)
2170 else return d
2171}
2172
2173var lowprimes = [
2174 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
2175 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
2176 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
2177 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
2178 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
2179 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
2180 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
2181 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
2182 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
2183 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
2184 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
2185]
2186
2187var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]
2188
2189// (public) test primality with certainty >= 1-.5^t
2190function bnIsProbablePrime(t) {
2191 var i, x = this.abs()
2192 if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
2193 for (i = 0; i < lowprimes.length; ++i)
2194 if (x[0] == lowprimes[i]) return true
2195 return false
3af2954a 2196 }
ab78acc6
IC
2197 if (x.isEven()) return false
2198 i = 1
2199 while (i < lowprimes.length) {
2200 var m = lowprimes[i],
2201 j = i + 1
2202 while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]
2203 m = x.modInt(m)
2204 while (i < j) if (m % lowprimes[i++] == 0) return false
2205 }
2206 return x.millerRabin(t)
2207}
2208
2209// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
2210function bnpMillerRabin(t) {
2211 var n1 = this.subtract(BigInteger.ONE)
2212 var k = n1.getLowestSetBit()
2213 if (k <= 0) return false
2214 var r = n1.shiftRight(k)
2215 t = (t + 1) >> 1
2216 if (t > lowprimes.length) t = lowprimes.length
2217 var a = new BigInteger(null)
2218 var j, bases = []
2219 for (var i = 0; i < t; ++i) {
2220 for (;;) {
2221 j = lowprimes[Math.floor(Math.random() * lowprimes.length)]
2222 if (bases.indexOf(j) == -1) break
2223 }
2224 bases.push(j)
2225 a.fromInt(j)
2226 var y = a.modPow(r, this)
2227 if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
2228 var j = 1
2229 while (j++ < k && y.compareTo(n1) != 0) {
2230 y = y.modPowInt(2, this)
2231 if (y.compareTo(BigInteger.ONE) == 0) return false
2232 }
2233 if (y.compareTo(n1) != 0) return false
2234 }
3af2954a 2235 }
ab78acc6
IC
2236 return true
2237}
3af2954a 2238
ab78acc6
IC
2239// protected
2240proto.chunkSize = bnpChunkSize
2241proto.toRadix = bnpToRadix
2242proto.fromRadix = bnpFromRadix
2243proto.fromNumber = bnpFromNumber
2244proto.bitwiseTo = bnpBitwiseTo
2245proto.changeBit = bnpChangeBit
2246proto.addTo = bnpAddTo
2247proto.dMultiply = bnpDMultiply
2248proto.dAddOffset = bnpDAddOffset
2249proto.multiplyLowerTo = bnpMultiplyLowerTo
2250proto.multiplyUpperTo = bnpMultiplyUpperTo
2251proto.modInt = bnpModInt
2252proto.millerRabin = bnpMillerRabin
3af2954a 2253
ab78acc6
IC
2254// public
2255proto.clone = bnClone
2256proto.intValue = bnIntValue
2257proto.byteValue = bnByteValue
2258proto.shortValue = bnShortValue
2259proto.signum = bnSigNum
2260proto.toByteArray = bnToByteArray
2261proto.equals = bnEquals
2262proto.min = bnMin
2263proto.max = bnMax
2264proto.and = bnAnd
2265proto.or = bnOr
2266proto.xor = bnXor
2267proto.andNot = bnAndNot
2268proto.not = bnNot
2269proto.shiftLeft = bnShiftLeft
2270proto.shiftRight = bnShiftRight
2271proto.getLowestSetBit = bnGetLowestSetBit
2272proto.bitCount = bnBitCount
2273proto.testBit = bnTestBit
2274proto.setBit = bnSetBit
2275proto.clearBit = bnClearBit
2276proto.flipBit = bnFlipBit
2277proto.add = bnAdd
2278proto.subtract = bnSubtract
2279proto.multiply = bnMultiply
2280proto.divide = bnDivide
2281proto.remainder = bnRemainder
2282proto.divideAndRemainder = bnDivideAndRemainder
2283proto.modPow = bnModPow
2284proto.modInverse = bnModInverse
2285proto.pow = bnPow
2286proto.gcd = bnGCD
2287proto.isProbablePrime = bnIsProbablePrime
3af2954a 2288
ab78acc6
IC
2289// JSBN-specific extension
2290proto.square = bnSquare
3af2954a 2291
ab78acc6
IC
2292// constants
2293BigInteger.ZERO = nbv(0)
2294BigInteger.ONE = nbv(1)
2295BigInteger.valueOf = nbv
3af2954a 2296
ab78acc6 2297module.exports = BigInteger
3af2954a 2298
ab78acc6
IC
2299},{"../package.json":4}],2:[function(require,module,exports){
2300(function (Buffer){
2301// FIXME: Kind of a weird way to throw exceptions, consider removing
2302var assert = require('assert')
2303var BigInteger = require('./bigi')
3af2954a 2304
ab78acc6
IC
2305/**
2306 * Turns a byte array into a big integer.
2307 *
2308 * This function will interpret a byte array as a big integer in big
2309 * endian notation.
2310 */
2311BigInteger.fromByteArrayUnsigned = function(byteArray) {
2312 // BigInteger expects a DER integer conformant byte array
2313 if (byteArray[0] & 0x80) {
2314 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2315 }
2316
ab78acc6
IC
2317 return new BigInteger(byteArray)
2318}
3af2954a 2319
ab78acc6
IC
2320/**
2321 * Returns a byte array representation of the big integer.
2322 *
2323 * This returns the absolute of the contained value in big endian
2324 * form. A value of zero results in an empty array.
2325 */
2326BigInteger.prototype.toByteArrayUnsigned = function() {
2327 var byteArray = this.toByteArray()
2328 return byteArray[0] === 0 ? byteArray.slice(1) : byteArray
2329}
3af2954a 2330
ab78acc6
IC
2331BigInteger.fromDERInteger = function(byteArray) {
2332 return new BigInteger(byteArray)
2333}
3af2954a 2334
ab78acc6
IC
2335/*
2336 * Converts BigInteger to a DER integer representation.
2337 *
2338 * The format for this value uses the most significant bit as a sign
2339 * bit. If the most significant bit is already set and the integer is
2340 * positive, a 0x00 is prepended.
2341 *
2342 * Examples:
2343 *
2344 * 0 => 0x00
2345 * 1 => 0x01
2346 * -1 => 0xff
2347 * 127 => 0x7f
2348 * -127 => 0x81
2349 * 128 => 0x0080
2350 * -128 => 0x80
2351 * 255 => 0x00ff
2352 * -255 => 0xff01
2353 * 16300 => 0x3fac
2354 * -16300 => 0xc054
2355 * 62300 => 0x00f35c
2356 * -62300 => 0xff0ca4
2357*/
2358BigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray
3af2954a 2359
ab78acc6
IC
2360BigInteger.fromBuffer = function(buffer) {
2361 // BigInteger expects a DER integer conformant byte array
2362 if (buffer[0] & 0x80) {
2363 var byteArray = Array.prototype.slice.call(buffer)
3af2954a 2364
ab78acc6 2365 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2366 }
2367
ab78acc6
IC
2368 return new BigInteger(buffer)
2369}
3af2954a 2370
ab78acc6
IC
2371BigInteger.fromHex = function(hex) {
2372 if (hex === '') return BigInteger.ZERO
3af2954a 2373
ab78acc6
IC
2374 assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')
2375 assert.equal(hex.length % 2, 0, 'Incomplete hex')
2376 return new BigInteger(hex, 16)
2377}
3af2954a 2378
ab78acc6
IC
2379BigInteger.prototype.toBuffer = function(size) {
2380 var byteArray = this.toByteArrayUnsigned()
2381 var zeros = []
3af2954a 2382
ab78acc6
IC
2383 var padding = size - byteArray.length
2384 while (zeros.length < padding) zeros.push(0)
3af2954a 2385
ab78acc6
IC
2386 return new Buffer(zeros.concat(byteArray))
2387}
3af2954a 2388
ab78acc6
IC
2389BigInteger.prototype.toHex = function(size) {
2390 return this.toBuffer(size).toString('hex')
2391}
3af2954a 2392
ab78acc6
IC
2393}).call(this,require("buffer").Buffer)
2394},{"./bigi":1,"assert":5,"buffer":7}],3:[function(require,module,exports){
2395var BigInteger = require('./bigi')
3af2954a 2396
ab78acc6
IC
2397//addons
2398require('./convert')
3af2954a 2399
ab78acc6
IC
2400module.exports = BigInteger
2401},{"./bigi":1,"./convert":2}],4:[function(require,module,exports){
2402module.exports={
2403 "name": "bigi",
2404 "version": "1.4.0",
2405 "description": "Big integers.",
2406 "keywords": [
2407 "cryptography",
2408 "math",
2409 "bitcoin",
2410 "arbitrary",
2411 "precision",
2412 "arithmetic",
2413 "big",
2414 "integer",
2415 "int",
2416 "number",
2417 "biginteger",
2418 "bigint",
2419 "bignumber",
2420 "decimal",
2421 "float"
2422 ],
2423 "devDependencies": {
2424 "mocha": "^1.20.1",
2425 "jshint": "^2.5.1",
2426 "coveralls": "^2.10.0",
2427 "istanbul": "^0.2.11"
2428 },
2429 "repository": {
2430 "url": "https://github.com/cryptocoinjs/bigi",
2431 "type": "git"
2432 },
2433 "main": "./lib/index.js",
2434 "scripts": {
2435 "test": "_mocha -- test/*.js",
2436 "jshint": "jshint --config jshint.json lib/*.js ; true",
2437 "unit": "mocha",
2438 "coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",
2439 "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"
2440 },
2441 "dependencies": {},
2442 "testling": {
2443 "files": "test/*.js",
2444 "harness": "mocha",
2445 "browsers": [
2446 "ie/9..latest",
2447 "firefox/latest",
2448 "chrome/latest",
2449 "safari/6.0..latest",
2450 "iphone/6.0..latest",
2451 "android-browser/4.2..latest"
2452 ]
2453 },
2454 "bugs": {
2455 "url": "https://github.com/cryptocoinjs/bigi/issues"
2456 },
2457 "homepage": "https://github.com/cryptocoinjs/bigi",
2458 "_id": "bigi@1.4.0",
2459 "dist": {
2460 "shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2461 "tarball": "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2462 },
2463 "_from": "bigi@^1.4.0",
2464 "_npmVersion": "1.4.3",
2465 "_npmUser": {
2466 "name": "jp",
2467 "email": "jprichardson@gmail.com"
2468 },
2469 "maintainers": [
2470 {
2471 "name": "jp",
2472 "email": "jprichardson@gmail.com"
2473 },
2474 {
2475 "name": "midnightlightning",
2476 "email": "boydb@midnightdesign.ws"
2477 },
2478 {
2479 "name": "sidazhang",
2480 "email": "sidazhang89@gmail.com"
2481 },
2482 {
2483 "name": "nadav",
2484 "email": "npm@shesek.info"
3af2954a 2485 }
ab78acc6
IC
2486 ],
2487 "directories": {},
2488 "_shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2489 "_resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2490}
3af2954a 2491
ab78acc6
IC
2492},{}],5:[function(require,module,exports){
2493// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
2494//
2495// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
2496//
2497// Originally from narwhal.js (http://narwhaljs.org)
2498// Copyright (c) 2009 Thomas Robinson <280north.com>
2499//
2500// Permission is hereby granted, free of charge, to any person obtaining a copy
2501// of this software and associated documentation files (the 'Software'), to
2502// deal in the Software without restriction, including without limitation the
2503// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2504// sell copies of the Software, and to permit persons to whom the Software is
2505// furnished to do so, subject to the following conditions:
2506//
2507// The above copyright notice and this permission notice shall be included in
2508// all copies or substantial portions of the Software.
2509//
2510// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2511// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2512// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2513// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
2514// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2515// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3af2954a 2516
ab78acc6
IC
2517// when used in node, this will actually load the util module we depend on
2518// versus loading the builtin util module as happens otherwise
2519// this is a bug in node module loading as far as I am concerned
2520var util = require('util/');
3af2954a 2521
ab78acc6
IC
2522var pSlice = Array.prototype.slice;
2523var hasOwn = Object.prototype.hasOwnProperty;
3af2954a 2524
ab78acc6
IC
2525// 1. The assert module provides functions that throw
2526// AssertionError's when particular conditions are not met. The
2527// assert module must conform to the following interface.
3af2954a 2528
ab78acc6 2529var assert = module.exports = ok;
3af2954a 2530
ab78acc6
IC
2531// 2. The AssertionError is defined in assert.
2532// new assert.AssertionError({ message: message,
2533// actual: actual,
2534// expected: expected })
3af2954a 2535
ab78acc6
IC
2536assert.AssertionError = function AssertionError(options) {
2537 this.name = 'AssertionError';
2538 this.actual = options.actual;
2539 this.expected = options.expected;
2540 this.operator = options.operator;
2541 if (options.message) {
2542 this.message = options.message;
2543 this.generatedMessage = false;
2544 } else {
2545 this.message = getMessage(this);
2546 this.generatedMessage = true;
2547 }
2548 var stackStartFunction = options.stackStartFunction || fail;
3af2954a 2549
ab78acc6
IC
2550 if (Error.captureStackTrace) {
2551 Error.captureStackTrace(this, stackStartFunction);
3af2954a 2552 }
ab78acc6
IC
2553 else {
2554 // non v8 browsers so we can have a stacktrace
2555 var err = new Error();
2556 if (err.stack) {
2557 var out = err.stack;
3af2954a 2558
ab78acc6
IC
2559 // try to strip useless frames
2560 var fn_name = stackStartFunction.name;
2561 var idx = out.indexOf('\n' + fn_name);
2562 if (idx >= 0) {
2563 // once we have located the function frame
2564 // we need to strip out everything before it (and its line)
2565 var next_line = out.indexOf('\n', idx + 1);
2566 out = out.substring(next_line + 1);
2567 }
3af2954a 2568
ab78acc6 2569 this.stack = out;
3af2954a 2570 }
3af2954a 2571 }
ab78acc6 2572};
3af2954a 2573
ab78acc6
IC
2574// assert.AssertionError instanceof Error
2575util.inherits(assert.AssertionError, Error);
3af2954a 2576
ab78acc6
IC
2577function replacer(key, value) {
2578 if (util.isUndefined(value)) {
2579 return '' + value;
2580 }
2581 if (util.isNumber(value) && !isFinite(value)) {
2582 return value.toString();
2583 }
2584 if (util.isFunction(value) || util.isRegExp(value)) {
2585 return value.toString();
2586 }
2587 return value;
2588}
3af2954a 2589
ab78acc6
IC
2590function truncate(s, n) {
2591 if (util.isString(s)) {
2592 return s.length < n ? s : s.slice(0, n);
2593 } else {
2594 return s;
2595 }
2596}
3af2954a 2597
ab78acc6
IC
2598function getMessage(self) {
2599 return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
2600 self.operator + ' ' +
2601 truncate(JSON.stringify(self.expected, replacer), 128);
2602}
3af2954a 2603
ab78acc6
IC
2604// At present only the three keys mentioned above are used and
2605// understood by the spec. Implementations or sub modules can pass
2606// other keys to the AssertionError's constructor - they will be
2607// ignored.
3af2954a 2608
ab78acc6
IC
2609// 3. All of the following functions must throw an AssertionError
2610// when a corresponding condition is not met, with a message that
2611// may be undefined if not provided. All assertion methods provide
2612// both the actual and expected values to the assertion error for
2613// display purposes.
3af2954a 2614
ab78acc6
IC
2615function fail(actual, expected, message, operator, stackStartFunction) {
2616 throw new assert.AssertionError({
2617 message: message,
2618 actual: actual,
2619 expected: expected,
2620 operator: operator,
2621 stackStartFunction: stackStartFunction
2622 });
2623}
3af2954a 2624
ab78acc6
IC
2625// EXTENSION! allows for well behaved errors defined elsewhere.
2626assert.fail = fail;
ebd8d4e8 2627
ab78acc6
IC
2628// 4. Pure assertion tests whether a value is truthy, as determined
2629// by !!guard.
2630// assert.ok(guard, message_opt);
2631// This statement is equivalent to assert.equal(true, !!guard,
2632// message_opt);. To test strictly for the value true, use
2633// assert.strictEqual(true, guard, message_opt);.
3af2954a 2634
ab78acc6
IC
2635function ok(value, message) {
2636 if (!value) fail(value, true, message, '==', assert.ok);
2637}
2638assert.ok = ok;
3af2954a 2639
ab78acc6
IC
2640// 5. The equality assertion tests shallow, coercive equality with
2641// ==.
2642// assert.equal(actual, expected, message_opt);
3af2954a 2643
ab78acc6
IC
2644assert.equal = function equal(actual, expected, message) {
2645 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
2646};
3af2954a 2647
ab78acc6
IC
2648// 6. The non-equality assertion tests for whether two objects are not equal
2649// with != assert.notEqual(actual, expected, message_opt);
3af2954a 2650
ab78acc6
IC
2651assert.notEqual = function notEqual(actual, expected, message) {
2652 if (actual == expected) {
2653 fail(actual, expected, message, '!=', assert.notEqual);
3af2954a 2654 }
ab78acc6 2655};
3af2954a 2656
ab78acc6
IC
2657// 7. The equivalence assertion tests a deep equality relation.
2658// assert.deepEqual(actual, expected, message_opt);
3af2954a 2659
ab78acc6
IC
2660assert.deepEqual = function deepEqual(actual, expected, message) {
2661 if (!_deepEqual(actual, expected)) {
2662 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
2663 }
2664};
3af2954a 2665
ab78acc6
IC
2666function _deepEqual(actual, expected) {
2667 // 7.1. All identical values are equivalent, as determined by ===.
2668 if (actual === expected) {
2669 return true;
3af2954a 2670
ab78acc6
IC
2671 } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
2672 if (actual.length != expected.length) return false;
3af2954a 2673
ab78acc6
IC
2674 for (var i = 0; i < actual.length; i++) {
2675 if (actual[i] !== expected[i]) return false;
3af2954a
IC
2676 }
2677
ab78acc6 2678 return true;
3af2954a 2679
ab78acc6
IC
2680 // 7.2. If the expected value is a Date object, the actual value is
2681 // equivalent if it is also a Date object that refers to the same time.
2682 } else if (util.isDate(actual) && util.isDate(expected)) {
2683 return actual.getTime() === expected.getTime();
3af2954a 2684
ab78acc6
IC
2685 // 7.3 If the expected value is a RegExp object, the actual value is
2686 // equivalent if it is also a RegExp object with the same source and
2687 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
2688 } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
2689 return actual.source === expected.source &&
2690 actual.global === expected.global &&
2691 actual.multiline === expected.multiline &&
2692 actual.lastIndex === expected.lastIndex &&
2693 actual.ignoreCase === expected.ignoreCase;
3af2954a 2694
ab78acc6
IC
2695 // 7.4. Other pairs that do not both pass typeof value == 'object',
2696 // equivalence is determined by ==.
2697 } else if (!util.isObject(actual) && !util.isObject(expected)) {
2698 return actual == expected;
3af2954a 2699
ab78acc6
IC
2700 // 7.5 For all other Object pairs, including Array objects, equivalence is
2701 // determined by having the same number of owned properties (as verified
2702 // with Object.prototype.hasOwnProperty.call), the same set of keys
2703 // (although not necessarily the same order), equivalent values for every
2704 // corresponding key, and an identical 'prototype' property. Note: this
2705 // accounts for both named and indexed properties on Arrays.
2706 } else {
2707 return objEquiv(actual, expected);
3af2954a 2708 }
ab78acc6 2709}
3af2954a 2710
ab78acc6
IC
2711function isArguments(object) {
2712 return Object.prototype.toString.call(object) == '[object Arguments]';
2713}
3af2954a 2714
ab78acc6
IC
2715function objEquiv(a, b) {
2716 if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
2717 return false;
2718 // an identical 'prototype' property.
2719 if (a.prototype !== b.prototype) return false;
2720 // if one is a primitive, the other must be same
2721 if (util.isPrimitive(a) || util.isPrimitive(b)) {
2722 return a === b;
3af2954a 2723 }
ab78acc6
IC
2724 var aIsArgs = isArguments(a),
2725 bIsArgs = isArguments(b);
2726 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
2727 return false;
2728 if (aIsArgs) {
2729 a = pSlice.call(a);
2730 b = pSlice.call(b);
2731 return _deepEqual(a, b);
3af2954a 2732 }
ab78acc6
IC
2733 var ka = objectKeys(a),
2734 kb = objectKeys(b),
2735 key, i;
2736 // having the same number of owned properties (keys incorporates
2737 // hasOwnProperty)
2738 if (ka.length != kb.length)
2739 return false;
2740 //the same set of keys (although not necessarily the same order),
2741 ka.sort();
2742 kb.sort();
2743 //~~~cheap key test
2744 for (i = ka.length - 1; i >= 0; i--) {
2745 if (ka[i] != kb[i])
2746 return false;
3af2954a 2747 }
ab78acc6
IC
2748 //equivalent values for every corresponding key, and
2749 //~~~possibly expensive deep test
2750 for (i = ka.length - 1; i >= 0; i--) {
2751 key = ka[i];
2752 if (!_deepEqual(a[key], b[key])) return false;
3af2954a 2753 }
ab78acc6
IC
2754 return true;
2755}
2756
2757// 8. The non-equivalence assertion tests for any deep inequality.
2758// assert.notDeepEqual(actual, expected, message_opt);
3af2954a 2759
ab78acc6
IC
2760assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
2761 if (_deepEqual(actual, expected)) {
2762 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
3af2954a 2763 }
ab78acc6 2764};
3af2954a 2765
ab78acc6
IC
2766// 9. The strict equality assertion tests strict equality, as determined by ===.
2767// assert.strictEqual(actual, expected, message_opt);
3af2954a 2768
ab78acc6
IC
2769assert.strictEqual = function strictEqual(actual, expected, message) {
2770 if (actual !== expected) {
2771 fail(actual, expected, message, '===', assert.strictEqual);
3af2954a 2772 }
ab78acc6 2773};
3af2954a 2774
ab78acc6
IC
2775// 10. The strict non-equality assertion tests for strict inequality, as
2776// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
3af2954a 2777
ab78acc6
IC
2778assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
2779 if (actual === expected) {
2780 fail(actual, expected, message, '!==', assert.notStrictEqual);
2781 }
2782};
3af2954a 2783
ab78acc6
IC
2784function expectedException(actual, expected) {
2785 if (!actual || !expected) {
2786 return false;
2787 }
3af2954a 2788
ab78acc6
IC
2789 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
2790 return expected.test(actual);
2791 } else if (actual instanceof expected) {
2792 return true;
2793 } else if (expected.call({}, actual) === true) {
2794 return true;
3af2954a
IC
2795 }
2796
ab78acc6
IC
2797 return false;
2798}
3af2954a 2799
ab78acc6
IC
2800function _throws(shouldThrow, block, expected, message) {
2801 var actual;
3af2954a 2802
ab78acc6
IC
2803 if (util.isString(expected)) {
2804 message = expected;
2805 expected = null;
3af2954a
IC
2806 }
2807
ab78acc6
IC
2808 try {
2809 block();
2810 } catch (e) {
2811 actual = e;
3af2954a
IC
2812 }
2813
ab78acc6
IC
2814 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
2815 (message ? ' ' + message : '.');
3af2954a 2816
ab78acc6
IC
2817 if (shouldThrow && !actual) {
2818 fail(actual, expected, 'Missing expected exception' + message);
3af2954a
IC
2819 }
2820
ab78acc6
IC
2821 if (!shouldThrow && expectedException(actual, expected)) {
2822 fail(actual, expected, 'Got unwanted exception' + message);
3af2954a
IC
2823 }
2824
ab78acc6
IC
2825 if ((shouldThrow && actual && expected &&
2826 !expectedException(actual, expected)) || (!shouldThrow && actual)) {
2827 throw actual;
3af2954a 2828 }
ab78acc6 2829}
3af2954a 2830
ab78acc6
IC
2831// 11. Expected to throw an error:
2832// assert.throws(block, Error_opt, message_opt);
3af2954a 2833
ab78acc6
IC
2834assert.throws = function(block, /*optional*/error, /*optional*/message) {
2835 _throws.apply(this, [true].concat(pSlice.call(arguments)));
2836};
3af2954a 2837
ab78acc6
IC
2838// EXTENSION! This is annoying to write outside this module.
2839assert.doesNotThrow = function(block, /*optional*/message) {
2840 _throws.apply(this, [false].concat(pSlice.call(arguments)));
2841};
3af2954a 2842
ab78acc6 2843assert.ifError = function(err) { if (err) {throw err;}};
3af2954a 2844
ab78acc6
IC
2845var objectKeys = Object.keys || function (obj) {
2846 var keys = [];
2847 for (var key in obj) {
2848 if (hasOwn.call(obj, key)) keys.push(key);
3af2954a 2849 }
ab78acc6
IC
2850 return keys;
2851};
3af2954a 2852
ab78acc6 2853},{"util/":29}],6:[function(require,module,exports){
3af2954a 2854
ab78acc6
IC
2855},{}],7:[function(require,module,exports){
2856/*!
2857 * The buffer module from node.js, for the browser.
2858 *
2859 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
2860 * @license MIT
2861 */
3af2954a 2862
ab78acc6
IC
2863var base64 = require('base64-js')
2864var ieee754 = require('ieee754')
2865var isArray = require('is-array')
3af2954a 2866
ab78acc6
IC
2867exports.Buffer = Buffer
2868exports.SlowBuffer = SlowBuffer
2869exports.INSPECT_MAX_BYTES = 50
2870Buffer.poolSize = 8192 // not used by this implementation
3af2954a 2871
ab78acc6 2872var rootParent = {}
3af2954a 2873
ab78acc6
IC
2874/**
2875 * If `Buffer.TYPED_ARRAY_SUPPORT`:
2876 * === true Use Uint8Array implementation (fastest)
2877 * === false Use Object implementation (most compatible, even IE6)
2878 *
2879 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
2880 * Opera 11.6+, iOS 4.2+.
2881 *
2882 * Due to various browser bugs, sometimes the Object implementation will be used even
2883 * when the browser supports typed arrays.
2884 *
2885 * Note:
2886 *
2887 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
2888 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
2889 *
2890 * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
2891 * on objects.
2892 *
2893 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
2894 *
2895 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
2896 * incorrect length in some situations.
3af2954a 2897
ab78acc6
IC
2898 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
2899 * get the Object implementation, which is slower but behaves correctly.
2900 */
2901Buffer.TYPED_ARRAY_SUPPORT = (function () {
2902 function Bar () {}
2903 try {
2904 var arr = new Uint8Array(1)
2905 arr.foo = function () { return 42 }
2906 arr.constructor = Bar
2907 return arr.foo() === 42 && // typed array instances can be augmented
2908 arr.constructor === Bar && // constructor can be set
2909 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
2910 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
2911 } catch (e) {
2912 return false
2913 }
2914})()
3af2954a 2915
ab78acc6
IC
2916function kMaxLength () {
2917 return Buffer.TYPED_ARRAY_SUPPORT
2918 ? 0x7fffffff
2919 : 0x3fffffff
2920}
3af2954a 2921
ab78acc6
IC
2922/**
2923 * Class: Buffer
2924 * =============
2925 *
2926 * The Buffer constructor returns instances of `Uint8Array` that are augmented
2927 * with function properties for all the node `Buffer` API functions. We use
2928 * `Uint8Array` so that square bracket notation works as expected -- it returns
2929 * a single octet.
2930 *
2931 * By augmenting the instances, we can avoid modifying the `Uint8Array`
2932 * prototype.
2933 */
2934function Buffer (arg) {
2935 if (!(this instanceof Buffer)) {
2936 // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
2937 if (arguments.length > 1) return new Buffer(arg, arguments[1])
2938 return new Buffer(arg)
3af2954a
IC
2939 }
2940
ab78acc6
IC
2941 this.length = 0
2942 this.parent = undefined
3af2954a 2943
ab78acc6
IC
2944 // Common case.
2945 if (typeof arg === 'number') {
2946 return fromNumber(this, arg)
2947 }
3af2954a 2948
ab78acc6
IC
2949 // Slightly less common case.
2950 if (typeof arg === 'string') {
2951 return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
2952 }
3af2954a 2953
ab78acc6
IC
2954 // Unusual.
2955 return fromObject(this, arg)
2956}
3af2954a 2957
ab78acc6
IC
2958function fromNumber (that, length) {
2959 that = allocate(that, length < 0 ? 0 : checked(length) | 0)
2960 if (!Buffer.TYPED_ARRAY_SUPPORT) {
2961 for (var i = 0; i < length; i++) {
2962 that[i] = 0
2963 }
3af2954a 2964 }
ab78acc6
IC
2965 return that
2966}
3af2954a 2967
ab78acc6
IC
2968function fromString (that, string, encoding) {
2969 if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
3af2954a 2970
ab78acc6
IC
2971 // Assumption: byteLength() return value is always < kMaxLength.
2972 var length = byteLength(string, encoding) | 0
2973 that = allocate(that, length)
3af2954a 2974
ab78acc6
IC
2975 that.write(string, encoding)
2976 return that
2977}
3af2954a 2978
ab78acc6
IC
2979function fromObject (that, object) {
2980 if (Buffer.isBuffer(object)) return fromBuffer(that, object)
3af2954a 2981
ab78acc6 2982 if (isArray(object)) return fromArray(that, object)
3af2954a 2983
ab78acc6
IC
2984 if (object == null) {
2985 throw new TypeError('must start with number, buffer, array or string')
2986 }
3af2954a 2987
ab78acc6
IC
2988 if (typeof ArrayBuffer !== 'undefined') {
2989 if (object.buffer instanceof ArrayBuffer) {
2990 return fromTypedArray(that, object)
2991 }
2992 if (object instanceof ArrayBuffer) {
2993 return fromArrayBuffer(that, object)
2994 }
3af2954a
IC
2995 }
2996
ab78acc6 2997 if (object.length) return fromArrayLike(that, object)
3af2954a 2998
ab78acc6
IC
2999 return fromJsonObject(that, object)
3000}
3af2954a 3001
ab78acc6
IC
3002function fromBuffer (that, buffer) {
3003 var length = checked(buffer.length) | 0
3004 that = allocate(that, length)
3005 buffer.copy(that, 0, 0, length)
3006 return that
3007}
3af2954a 3008
ab78acc6
IC
3009function fromArray (that, array) {
3010 var length = checked(array.length) | 0
3011 that = allocate(that, length)
3012 for (var i = 0; i < length; i += 1) {
3013 that[i] = array[i] & 255
3af2954a 3014 }
ab78acc6
IC
3015 return that
3016}
3af2954a 3017
ab78acc6
IC
3018// Duplicate of fromArray() to keep fromArray() monomorphic.
3019function fromTypedArray (that, array) {
3020 var length = checked(array.length) | 0
3021 that = allocate(that, length)
3022 // Truncating the elements is probably not what people expect from typed
3023 // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
3024 // of the old Buffer constructor.
3025 for (var i = 0; i < length; i += 1) {
3026 that[i] = array[i] & 255
3af2954a 3027 }
ab78acc6
IC
3028 return that
3029}
3af2954a 3030
ab78acc6
IC
3031function fromArrayBuffer (that, array) {
3032 if (Buffer.TYPED_ARRAY_SUPPORT) {
3033 // Return an augmented `Uint8Array` instance, for best performance
3034 array.byteLength
3035 that = Buffer._augment(new Uint8Array(array))
3036 } else {
3037 // Fallback: Return an object instance of the Buffer class
3038 that = fromTypedArray(that, new Uint8Array(array))
3039 }
3040 return that
3041}
3af2954a 3042
ab78acc6
IC
3043function fromArrayLike (that, array) {
3044 var length = checked(array.length) | 0
3045 that = allocate(that, length)
3046 for (var i = 0; i < length; i += 1) {
3047 that[i] = array[i] & 255
3af2954a 3048 }
ab78acc6
IC
3049 return that
3050}
3af2954a 3051
ab78acc6
IC
3052// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
3053// Returns a zero-length buffer for inputs that don't conform to the spec.
3054function fromJsonObject (that, object) {
3055 var array
3056 var length = 0
3057
3058 if (object.type === 'Buffer' && isArray(object.data)) {
3059 array = object.data
3060 length = checked(array.length) | 0
3af2954a 3061 }
ab78acc6 3062 that = allocate(that, length)
3af2954a 3063
ab78acc6
IC
3064 for (var i = 0; i < length; i += 1) {
3065 that[i] = array[i] & 255
3af2954a 3066 }
ab78acc6
IC
3067 return that
3068}
3af2954a 3069
ab78acc6
IC
3070function allocate (that, length) {
3071 if (Buffer.TYPED_ARRAY_SUPPORT) {
3072 // Return an augmented `Uint8Array` instance, for best performance
3073 that = Buffer._augment(new Uint8Array(length))
3074 } else {
3075 // Fallback: Return an object instance of the Buffer class
3076 that.length = length
3077 that._isBuffer = true
3078 }
3af2954a 3079
ab78acc6
IC
3080 var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
3081 if (fromPool) that.parent = rootParent
3af2954a 3082
ab78acc6
IC
3083 return that
3084}
3af2954a 3085
ab78acc6
IC
3086function checked (length) {
3087 // Note: cannot use `length < kMaxLength` here because that fails when
3088 // length is NaN (which is otherwise coerced to zero.)
3089 if (length >= kMaxLength()) {
3090 throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
3091 'size: 0x' + kMaxLength().toString(16) + ' bytes')
3af2954a 3092 }
ab78acc6
IC
3093 return length | 0
3094}
3af2954a 3095
ab78acc6
IC
3096function SlowBuffer (subject, encoding) {
3097 if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
3af2954a 3098
ab78acc6
IC
3099 var buf = new Buffer(subject, encoding)
3100 delete buf.parent
3101 return buf
3102}
3af2954a 3103
ab78acc6
IC
3104Buffer.isBuffer = function isBuffer (b) {
3105 return !!(b != null && b._isBuffer)
3106}
3af2954a 3107
ab78acc6
IC
3108Buffer.compare = function compare (a, b) {
3109 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
3110 throw new TypeError('Arguments must be Buffers')
3af2954a
IC
3111 }
3112
ab78acc6 3113 if (a === b) return 0
3af2954a 3114
ab78acc6
IC
3115 var x = a.length
3116 var y = b.length
3af2954a 3117
ab78acc6
IC
3118 var i = 0
3119 var len = Math.min(x, y)
3120 while (i < len) {
3121 if (a[i] !== b[i]) break
3af2954a 3122
ab78acc6
IC
3123 ++i
3124 }
3af2954a 3125
ab78acc6
IC
3126 if (i !== len) {
3127 x = a[i]
3128 y = b[i]
3129 }
3af2954a 3130
ab78acc6
IC
3131 if (x < y) return -1
3132 if (y < x) return 1
3133 return 0
3134}
3af2954a 3135
ab78acc6
IC
3136Buffer.isEncoding = function isEncoding (encoding) {
3137 switch (String(encoding).toLowerCase()) {
3138 case 'hex':
3139 case 'utf8':
3140 case 'utf-8':
3141 case 'ascii':
3142 case 'binary':
3143 case 'base64':
3144 case 'raw':
3145 case 'ucs2':
3146 case 'ucs-2':
3147 case 'utf16le':
3148 case 'utf-16le':
3149 return true
3150 default:
3151 return false
3af2954a 3152 }
ab78acc6 3153}
3af2954a 3154
ab78acc6
IC
3155Buffer.concat = function concat (list, length) {
3156 if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
3af2954a 3157
ab78acc6
IC
3158 if (list.length === 0) {
3159 return new Buffer(0)
3af2954a
IC
3160 }
3161
ab78acc6
IC
3162 var i
3163 if (length === undefined) {
3164 length = 0
3165 for (i = 0; i < list.length; i++) {
3166 length += list[i].length
3167 }
3af2954a
IC
3168 }
3169
ab78acc6
IC
3170 var buf = new Buffer(length)
3171 var pos = 0
3172 for (i = 0; i < list.length; i++) {
3173 var item = list[i]
3174 item.copy(buf, pos)
3175 pos += item.length
3176 }
3177 return buf
3178}
3af2954a 3179
ab78acc6
IC
3180function byteLength (string, encoding) {
3181 if (typeof string !== 'string') string = '' + string
3182
3183 var len = string.length
3184 if (len === 0) return 0
3185
3186 // Use a for loop to avoid recursion
3187 var loweredCase = false
3188 for (;;) {
3189 switch (encoding) {
3190 case 'ascii':
3191 case 'binary':
3192 // Deprecated
3193 case 'raw':
3194 case 'raws':
3195 return len
3196 case 'utf8':
3197 case 'utf-8':
3198 return utf8ToBytes(string).length
3199 case 'ucs2':
3200 case 'ucs-2':
3201 case 'utf16le':
3202 case 'utf-16le':
3203 return len * 2
3204 case 'hex':
3205 return len >>> 1
3206 case 'base64':
3207 return base64ToBytes(string).length
3208 default:
3209 if (loweredCase) return utf8ToBytes(string).length // assume utf8
3210 encoding = ('' + encoding).toLowerCase()
3211 loweredCase = true
3af2954a 3212 }
3af2954a 3213 }
ab78acc6
IC
3214}
3215Buffer.byteLength = byteLength
3af2954a 3216
ab78acc6
IC
3217// pre-set for values that may exist in the future
3218Buffer.prototype.length = undefined
3219Buffer.prototype.parent = undefined
3af2954a 3220
ab78acc6
IC
3221function slowToString (encoding, start, end) {
3222 var loweredCase = false
3af2954a 3223
ab78acc6
IC
3224 start = start | 0
3225 end = end === undefined || end === Infinity ? this.length : end | 0
3af2954a 3226
ab78acc6
IC
3227 if (!encoding) encoding = 'utf8'
3228 if (start < 0) start = 0
3229 if (end > this.length) end = this.length
3230 if (end <= start) return ''
3af2954a 3231
ab78acc6
IC
3232 while (true) {
3233 switch (encoding) {
3234 case 'hex':
3235 return hexSlice(this, start, end)
3af2954a 3236
ab78acc6
IC
3237 case 'utf8':
3238 case 'utf-8':
3239 return utf8Slice(this, start, end)
3af2954a 3240
ab78acc6
IC
3241 case 'ascii':
3242 return asciiSlice(this, start, end)
3af2954a 3243
ab78acc6
IC
3244 case 'binary':
3245 return binarySlice(this, start, end)
3af2954a 3246
ab78acc6
IC
3247 case 'base64':
3248 return base64Slice(this, start, end)
3af2954a 3249
ab78acc6
IC
3250 case 'ucs2':
3251 case 'ucs-2':
3252 case 'utf16le':
3253 case 'utf-16le':
3254 return utf16leSlice(this, start, end)
3af2954a 3255
ab78acc6
IC
3256 default:
3257 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3258 encoding = (encoding + '').toLowerCase()
3259 loweredCase = true
3260 }
3af2954a 3261 }
ab78acc6 3262}
3af2954a 3263
ab78acc6
IC
3264Buffer.prototype.toString = function toString () {
3265 var length = this.length | 0
3266 if (length === 0) return ''
3267 if (arguments.length === 0) return utf8Slice(this, 0, length)
3268 return slowToString.apply(this, arguments)
3269}
3af2954a 3270
ab78acc6
IC
3271Buffer.prototype.equals = function equals (b) {
3272 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3273 if (this === b) return true
3274 return Buffer.compare(this, b) === 0
3275}
3af2954a 3276
ab78acc6
IC
3277Buffer.prototype.inspect = function inspect () {
3278 var str = ''
3279 var max = exports.INSPECT_MAX_BYTES
3280 if (this.length > 0) {
3281 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
3282 if (this.length > max) str += ' ... '
3af2954a 3283 }
ab78acc6
IC
3284 return '<Buffer ' + str + '>'
3285}
3af2954a 3286
ab78acc6
IC
3287Buffer.prototype.compare = function compare (b) {
3288 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3289 if (this === b) return 0
3290 return Buffer.compare(this, b)
3291}
3af2954a 3292
ab78acc6
IC
3293Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
3294 if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
3295 else if (byteOffset < -0x80000000) byteOffset = -0x80000000
3296 byteOffset >>= 0
3af2954a 3297
ab78acc6
IC
3298 if (this.length === 0) return -1
3299 if (byteOffset >= this.length) return -1
3af2954a 3300
ab78acc6
IC
3301 // Negative offsets start from the end of the buffer
3302 if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
3af2954a 3303
ab78acc6
IC
3304 if (typeof val === 'string') {
3305 if (val.length === 0) return -1 // special case: looking for empty string always fails
3306 return String.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3307 }
ab78acc6
IC
3308 if (Buffer.isBuffer(val)) {
3309 return arrayIndexOf(this, val, byteOffset)
3af2954a 3310 }
ab78acc6
IC
3311 if (typeof val === 'number') {
3312 if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
3313 return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3314 }
ab78acc6 3315 return arrayIndexOf(this, [ val ], byteOffset)
3af2954a
IC
3316 }
3317
ab78acc6
IC
3318 function arrayIndexOf (arr, val, byteOffset) {
3319 var foundIndex = -1
3320 for (var i = 0; byteOffset + i < arr.length; i++) {
3321 if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
3322 if (foundIndex === -1) foundIndex = i
3323 if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
3af2954a 3324 } else {
ab78acc6 3325 foundIndex = -1
3af2954a 3326 }
3af2954a 3327 }
ab78acc6
IC
3328 return -1
3329 }
3af2954a 3330
ab78acc6
IC
3331 throw new TypeError('val must be string, number or Buffer')
3332}
3af2954a 3333
ab78acc6
IC
3334// `get` is deprecated
3335Buffer.prototype.get = function get (offset) {
3336 console.log('.get() is deprecated. Access using array indexes instead.')
3337 return this.readUInt8(offset)
3338}
3af2954a 3339
ab78acc6
IC
3340// `set` is deprecated
3341Buffer.prototype.set = function set (v, offset) {
3342 console.log('.set() is deprecated. Access using array indexes instead.')
3343 return this.writeUInt8(v, offset)
3344}
3af2954a 3345
ab78acc6
IC
3346function hexWrite (buf, string, offset, length) {
3347 offset = Number(offset) || 0
3348 var remaining = buf.length - offset
3349 if (!length) {
3350 length = remaining
3351 } else {
3352 length = Number(length)
3353 if (length > remaining) {
3354 length = remaining
3355 }
3356 }
3af2954a 3357
ab78acc6
IC
3358 // must be an even number of digits
3359 var strLen = string.length
3360 if (strLen % 2 !== 0) throw new Error('Invalid hex string')
3af2954a 3361
ab78acc6
IC
3362 if (length > strLen / 2) {
3363 length = strLen / 2
3364 }
3365 for (var i = 0; i < length; i++) {
3366 var parsed = parseInt(string.substr(i * 2, 2), 16)
3367 if (isNaN(parsed)) throw new Error('Invalid hex string')
3368 buf[offset + i] = parsed
3af2954a 3369 }
ab78acc6
IC
3370 return i
3371}
3372
3373function utf8Write (buf, string, offset, length) {
3374 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
3375}
3af2954a 3376
ab78acc6
IC
3377function asciiWrite (buf, string, offset, length) {
3378 return blitBuffer(asciiToBytes(string), buf, offset, length)
3379}
3af2954a 3380
ab78acc6
IC
3381function binaryWrite (buf, string, offset, length) {
3382 return asciiWrite(buf, string, offset, length)
3383}
3af2954a 3384
ab78acc6
IC
3385function base64Write (buf, string, offset, length) {
3386 return blitBuffer(base64ToBytes(string), buf, offset, length)
3387}
3af2954a 3388
ab78acc6
IC
3389function ucs2Write (buf, string, offset, length) {
3390 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
3391}
3af2954a 3392
ab78acc6
IC
3393Buffer.prototype.write = function write (string, offset, length, encoding) {
3394 // Buffer#write(string)
3395 if (offset === undefined) {
3396 encoding = 'utf8'
3397 length = this.length
3398 offset = 0
3399 // Buffer#write(string, encoding)
3400 } else if (length === undefined && typeof offset === 'string') {
3401 encoding = offset
3402 length = this.length
3403 offset = 0
3404 // Buffer#write(string, offset[, length][, encoding])
3405 } else if (isFinite(offset)) {
3406 offset = offset | 0
3407 if (isFinite(length)) {
3408 length = length | 0
3409 if (encoding === undefined) encoding = 'utf8'
3410 } else {
3411 encoding = length
3412 length = undefined
3413 }
3414 // legacy write(string, encoding, offset, length) - remove in v0.13
3415 } else {
3416 var swap = encoding
3417 encoding = offset
3418 offset = length | 0
3419 length = swap
3af2954a
IC
3420 }
3421
ab78acc6
IC
3422 var remaining = this.length - offset
3423 if (length === undefined || length > remaining) length = remaining
3af2954a 3424
ab78acc6
IC
3425 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
3426 throw new RangeError('attempt to write outside buffer bounds')
3427 }
3af2954a 3428
ab78acc6 3429 if (!encoding) encoding = 'utf8'
3af2954a 3430
ab78acc6
IC
3431 var loweredCase = false
3432 for (;;) {
3433 switch (encoding) {
3434 case 'hex':
3435 return hexWrite(this, string, offset, length)
ebd8d4e8 3436
ab78acc6
IC
3437 case 'utf8':
3438 case 'utf-8':
3439 return utf8Write(this, string, offset, length)
ebd8d4e8 3440
ab78acc6
IC
3441 case 'ascii':
3442 return asciiWrite(this, string, offset, length)
ebd8d4e8 3443
ab78acc6
IC
3444 case 'binary':
3445 return binaryWrite(this, string, offset, length)
ebd8d4e8 3446
ab78acc6
IC
3447 case 'base64':
3448 // Warning: maxLength not taken into account in base64Write
3449 return base64Write(this, string, offset, length)
ebd8d4e8 3450
ab78acc6
IC
3451 case 'ucs2':
3452 case 'ucs-2':
3453 case 'utf16le':
3454 case 'utf-16le':
3455 return ucs2Write(this, string, offset, length)
ebd8d4e8 3456
ab78acc6
IC
3457 default:
3458 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3459 encoding = ('' + encoding).toLowerCase()
3460 loweredCase = true
3461 }
3462 }
3463}
212b1b46 3464
ab78acc6
IC
3465Buffer.prototype.toJSON = function toJSON () {
3466 return {
3467 type: 'Buffer',
3468 data: Array.prototype.slice.call(this._arr || this, 0)
3469 }
3470}
212b1b46 3471
ab78acc6
IC
3472function base64Slice (buf, start, end) {
3473 if (start === 0 && end === buf.length) {
3474 return base64.fromByteArray(buf)
3475 } else {
3476 return base64.fromByteArray(buf.slice(start, end))
3af2954a 3477 }
ab78acc6
IC
3478}
3479
3480function utf8Slice (buf, start, end) {
3481 end = Math.min(buf.length, end)
3482 var firstByte
3483 var secondByte
3484 var thirdByte
3485 var fourthByte
3486 var bytesPerSequence
3487 var tempCodePoint
3488 var codePoint
3489 var res = []
3490 var i = start
3491
3492 for (; i < end; i += bytesPerSequence) {
3493 firstByte = buf[i]
3494 codePoint = 0xFFFD
3495
3496 if (firstByte > 0xEF) {
3497 bytesPerSequence = 4
3498 } else if (firstByte > 0xDF) {
3499 bytesPerSequence = 3
3500 } else if (firstByte > 0xBF) {
3501 bytesPerSequence = 2
3502 } else {
3503 bytesPerSequence = 1
3504 }
212b1b46 3505
ab78acc6
IC
3506 if (i + bytesPerSequence <= end) {
3507 switch (bytesPerSequence) {
3508 case 1:
3509 if (firstByte < 0x80) {
3510 codePoint = firstByte
3511 }
3512 break
3513 case 2:
3514 secondByte = buf[i + 1]
3515 if ((secondByte & 0xC0) === 0x80) {
3516 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
3517 if (tempCodePoint > 0x7F) {
3518 codePoint = tempCodePoint
3519 }
3520 }
3521 break
3522 case 3:
3523 secondByte = buf[i + 1]
3524 thirdByte = buf[i + 2]
3525 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
3526 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
3527 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
3528 codePoint = tempCodePoint
3529 }
3530 }
3531 break
3532 case 4:
3533 secondByte = buf[i + 1]
3534 thirdByte = buf[i + 2]
3535 fourthByte = buf[i + 3]
3536 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
3537 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
3538 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
3539 codePoint = tempCodePoint
3540 }
3541 }
3542 }
3543 }
212b1b46 3544
ab78acc6
IC
3545 if (codePoint === 0xFFFD) {
3546 // we generated an invalid codePoint so make sure to only advance by 1 byte
3547 bytesPerSequence = 1
3548 } else if (codePoint > 0xFFFF) {
3549 // encode to utf16 (surrogate pair dance)
3550 codePoint -= 0x10000
3551 res.push(codePoint >>> 10 & 0x3FF | 0xD800)
3552 codePoint = 0xDC00 | codePoint & 0x3FF
3553 }
212b1b46 3554
ab78acc6 3555 res.push(codePoint)
3af2954a 3556 }
212b1b46 3557
ab78acc6
IC
3558 return String.fromCharCode.apply(String, res)
3559}
212b1b46 3560
ab78acc6
IC
3561function asciiSlice (buf, start, end) {
3562 var ret = ''
3563 end = Math.min(buf.length, end)
3564
3565 for (var i = start; i < end; i++) {
3566 ret += String.fromCharCode(buf[i] & 0x7F)
3af2954a 3567 }
ab78acc6
IC
3568 return ret
3569}
212b1b46 3570
ab78acc6
IC
3571function binarySlice (buf, start, end) {
3572 var ret = ''
3573 end = Math.min(buf.length, end)
212b1b46 3574
ab78acc6
IC
3575 for (var i = start; i < end; i++) {
3576 ret += String.fromCharCode(buf[i])
3577 }
3578 return ret
3579}
212b1b46 3580
ab78acc6
IC
3581function hexSlice (buf, start, end) {
3582 var len = buf.length
212b1b46 3583
ab78acc6
IC
3584 if (!start || start < 0) start = 0
3585 if (!end || end < 0 || end > len) end = len
212b1b46 3586
ab78acc6
IC
3587 var out = ''
3588 for (var i = start; i < end; i++) {
3589 out += toHex(buf[i])
3590 }
3591 return out
3592}
212b1b46 3593
ab78acc6
IC
3594function utf16leSlice (buf, start, end) {
3595 var bytes = buf.slice(start, end)
3596 var res = ''
3597 for (var i = 0; i < bytes.length; i += 2) {
3598 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
3599 }
3600 return res
3601}
212b1b46 3602
ab78acc6
IC
3603Buffer.prototype.slice = function slice (start, end) {
3604 var len = this.length
3605 start = ~~start
3606 end = end === undefined ? len : ~~end
212b1b46 3607
ab78acc6
IC
3608 if (start < 0) {
3609 start += len
3610 if (start < 0) start = 0
3611 } else if (start > len) {
3612 start = len
3613 }
212b1b46 3614
ab78acc6
IC
3615 if (end < 0) {
3616 end += len
3617 if (end < 0) end = 0
3618 } else if (end > len) {
3619 end = len
3620 }
212b1b46 3621
ab78acc6 3622 if (end < start) end = start
212b1b46 3623
ab78acc6
IC
3624 var newBuf
3625 if (Buffer.TYPED_ARRAY_SUPPORT) {
3626 newBuf = Buffer._augment(this.subarray(start, end))
3627 } else {
3628 var sliceLen = end - start
3629 newBuf = new Buffer(sliceLen, undefined)
3630 for (var i = 0; i < sliceLen; i++) {
3631 newBuf[i] = this[i + start]
3af2954a
IC
3632 }
3633 }
212b1b46 3634
ab78acc6 3635 if (newBuf.length) newBuf.parent = this.parent || this
ebd8d4e8 3636
ab78acc6
IC
3637 return newBuf
3638}
ebd8d4e8 3639
ab78acc6
IC
3640/*
3641 * Need to make sure that buffer isn't trying to write out of bounds.
3642 */
3643function checkOffset (offset, ext, length) {
3644 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
3645 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
3646}
ebd8d4e8 3647
ab78acc6
IC
3648Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
3649 offset = offset | 0
3650 byteLength = byteLength | 0
3651 if (!noAssert) checkOffset(offset, byteLength, this.length)
3af2954a 3652
ab78acc6
IC
3653 var val = this[offset]
3654 var mul = 1
3655 var i = 0
3656 while (++i < byteLength && (mul *= 0x100)) {
3657 val += this[offset + i] * mul
3658 }
3af2954a 3659
ab78acc6
IC
3660 return val
3661}
3af2954a 3662
ab78acc6
IC
3663Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
3664 offset = offset | 0
3665 byteLength = byteLength | 0
3666 if (!noAssert) {
3667 checkOffset(offset, byteLength, this.length)
3668 }
3af2954a 3669
ab78acc6
IC
3670 var val = this[offset + --byteLength]
3671 var mul = 1
3672 while (byteLength > 0 && (mul *= 0x100)) {
3673 val += this[offset + --byteLength] * mul
3af2954a
IC
3674 }
3675
ab78acc6
IC
3676 return val
3677}
3af2954a 3678
ab78acc6
IC
3679Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
3680 if (!noAssert) checkOffset(offset, 1, this.length)
3681 return this[offset]
3682}
3af2954a 3683
ab78acc6
IC
3684Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
3685 if (!noAssert) checkOffset(offset, 2, this.length)
3686 return this[offset] | (this[offset + 1] << 8)
3687}
3af2954a 3688
ab78acc6
IC
3689Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
3690 if (!noAssert) checkOffset(offset, 2, this.length)
3691 return (this[offset] << 8) | this[offset + 1]
3692}
ebd8d4e8 3693
ab78acc6
IC
3694Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
3695 if (!noAssert) checkOffset(offset, 4, this.length)
3af2954a 3696
ab78acc6
IC
3697 return ((this[offset]) |
3698 (this[offset + 1] << 8) |
3699 (this[offset + 2] << 16)) +
3700 (this[offset + 3] * 0x1000000)
3701}
3af2954a 3702
ab78acc6
IC
3703Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
3704 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3705
ab78acc6
IC
3706 return (this[offset] * 0x1000000) +
3707 ((this[offset + 1] << 16) |
3708 (this[offset + 2] << 8) |
3709 this[offset + 3])
3710}
ebd8d4e8 3711
ab78acc6
IC
3712Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
3713 offset = offset | 0
3714 byteLength = byteLength | 0
3715 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3716
ab78acc6
IC
3717 var val = this[offset]
3718 var mul = 1
3719 var i = 0
3720 while (++i < byteLength && (mul *= 0x100)) {
3721 val += this[offset + i] * mul
ebd8d4e8 3722 }
ab78acc6 3723 mul *= 0x80
ebd8d4e8 3724
ab78acc6
IC
3725 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
3726
3727 return val
ebd8d4e8
IC
3728}
3729
ab78acc6
IC
3730Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
3731 offset = offset | 0
3732 byteLength = byteLength | 0
3733 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3734
ab78acc6
IC
3735 var i = byteLength
3736 var mul = 1
3737 var val = this[offset + --i]
3738 while (i > 0 && (mul *= 0x100)) {
3739 val += this[offset + --i] * mul
3740 }
3741 mul *= 0x80
ebd8d4e8 3742
ab78acc6 3743 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
ebd8d4e8 3744
ab78acc6
IC
3745 return val
3746}
ebd8d4e8 3747
ab78acc6
IC
3748Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
3749 if (!noAssert) checkOffset(offset, 1, this.length)
3750 if (!(this[offset] & 0x80)) return (this[offset])
3751 return ((0xff - this[offset] + 1) * -1)
ebd8d4e8 3752}
ab78acc6
IC
3753
3754Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
3755 if (!noAssert) checkOffset(offset, 2, this.length)
3756 var val = this[offset] | (this[offset + 1] << 8)
3757 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8 3758}
ab78acc6
IC
3759
3760Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
3761 if (!noAssert) checkOffset(offset, 2, this.length)
3762 var val = this[offset + 1] | (this[offset] << 8)
3763 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8
IC
3764}
3765
ab78acc6
IC
3766Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
3767 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3768
ab78acc6
IC
3769 return (this[offset]) |
3770 (this[offset + 1] << 8) |
3771 (this[offset + 2] << 16) |
3772 (this[offset + 3] << 24)
ebd8d4e8 3773}
ebd8d4e8 3774
ab78acc6
IC
3775Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
3776 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3777
ab78acc6
IC
3778 return (this[offset] << 24) |
3779 (this[offset + 1] << 16) |
3780 (this[offset + 2] << 8) |
3781 (this[offset + 3])
ebd8d4e8
IC
3782}
3783
ab78acc6
IC
3784Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
3785 if (!noAssert) checkOffset(offset, 4, this.length)
3786 return ieee754.read(this, offset, true, 23, 4)
ebd8d4e8
IC
3787}
3788
ab78acc6
IC
3789Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
3790 if (!noAssert) checkOffset(offset, 4, this.length)
3791 return ieee754.read(this, offset, false, 23, 4)
ebd8d4e8
IC
3792}
3793
ab78acc6
IC
3794Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
3795 if (!noAssert) checkOffset(offset, 8, this.length)
3796 return ieee754.read(this, offset, true, 52, 8)
ebd8d4e8
IC
3797}
3798
ab78acc6
IC
3799Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
3800 if (!noAssert) checkOffset(offset, 8, this.length)
3801 return ieee754.read(this, offset, false, 52, 8)
ebd8d4e8
IC
3802}
3803
ab78acc6
IC
3804function checkInt (buf, value, offset, ext, max, min) {
3805 if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
3806 if (value > max || value < min) throw new RangeError('value is out of bounds')
3807 if (offset + ext > buf.length) throw new RangeError('index out of range')
ebd8d4e8
IC
3808}
3809
ab78acc6
IC
3810Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
3811 value = +value
3812 offset = offset | 0
3813 byteLength = byteLength | 0
3814 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3815
ab78acc6
IC
3816 var mul = 1
3817 var i = 0
3818 this[offset] = value & 0xFF
3819 while (++i < byteLength && (mul *= 0x100)) {
3820 this[offset + i] = (value / mul) & 0xFF
3821 }
ebd8d4e8 3822
ab78acc6 3823 return offset + byteLength
ebd8d4e8
IC
3824}
3825
ab78acc6
IC
3826Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
3827 value = +value
3828 offset = offset | 0
3829 byteLength = byteLength | 0
3830 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3831
ab78acc6
IC
3832 var i = byteLength - 1
3833 var mul = 1
3834 this[offset + i] = value & 0xFF
3835 while (--i >= 0 && (mul *= 0x100)) {
3836 this[offset + i] = (value / mul) & 0xFF
3837 }
ebd8d4e8 3838
ab78acc6 3839 return offset + byteLength
ebd8d4e8
IC
3840}
3841
ab78acc6
IC
3842Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
3843 value = +value
3844 offset = offset | 0
3845 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
3846 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3847 this[offset] = value
3848 return offset + 1
ebd8d4e8
IC
3849}
3850
ab78acc6
IC
3851function objectWriteUInt16 (buf, value, offset, littleEndian) {
3852 if (value < 0) value = 0xffff + value + 1
3853 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
3854 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
3855 (littleEndian ? i : 1 - i) * 8
ebd8d4e8 3856 }
ebd8d4e8
IC
3857}
3858
ab78acc6
IC
3859Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
3860 value = +value
3861 offset = offset | 0
3862 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3863 if (Buffer.TYPED_ARRAY_SUPPORT) {
3864 this[offset] = value
3865 this[offset + 1] = (value >>> 8)
3866 } else {
3867 objectWriteUInt16(this, value, offset, true)
3868 }
3869 return offset + 2
ebd8d4e8
IC
3870}
3871
ab78acc6
IC
3872Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
3873 value = +value
3874 offset = offset | 0
3875 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3876 if (Buffer.TYPED_ARRAY_SUPPORT) {
3877 this[offset] = (value >>> 8)
3878 this[offset + 1] = value
3879 } else {
3880 objectWriteUInt16(this, value, offset, false)
ebd8d4e8 3881 }
ab78acc6 3882 return offset + 2
ebd8d4e8
IC
3883}
3884
ab78acc6
IC
3885function objectWriteUInt32 (buf, value, offset, littleEndian) {
3886 if (value < 0) value = 0xffffffff + value + 1
3887 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
3888 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
3889 }
ebd8d4e8
IC
3890}
3891
ab78acc6
IC
3892Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
3893 value = +value
3894 offset = offset | 0
3895 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3896 if (Buffer.TYPED_ARRAY_SUPPORT) {
3897 this[offset + 3] = (value >>> 24)
3898 this[offset + 2] = (value >>> 16)
3899 this[offset + 1] = (value >>> 8)
3900 this[offset] = value
3901 } else {
3902 objectWriteUInt32(this, value, offset, true)
ebd8d4e8 3903 }
ab78acc6 3904 return offset + 4
ebd8d4e8
IC
3905}
3906
ab78acc6
IC
3907Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
3908 value = +value
3909 offset = offset | 0
3910 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3911 if (Buffer.TYPED_ARRAY_SUPPORT) {
3912 this[offset] = (value >>> 24)
3913 this[offset + 1] = (value >>> 16)
3914 this[offset + 2] = (value >>> 8)
3915 this[offset + 3] = value
3916 } else {
3917 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 3918 }
ab78acc6
IC
3919 return offset + 4
3920}
3921
3922Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
3923 value = +value
3924 offset = offset | 0
3925 if (!noAssert) {
3926 var limit = Math.pow(2, 8 * byteLength - 1)
3927
3928 checkInt(this, value, offset, byteLength, limit - 1, -limit)
ebd8d4e8 3929 }
ab78acc6
IC
3930
3931 var i = 0
3932 var mul = 1
3933 var sub = value < 0 ? 1 : 0
3934 this[offset] = value & 0xFF
3935 while (++i < byteLength && (mul *= 0x100)) {
3936 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
ebd8d4e8 3937 }
ebd8d4e8 3938
ab78acc6 3939 return offset + byteLength
ebd8d4e8
IC
3940}
3941
ab78acc6
IC
3942Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
3943 value = +value
3944 offset = offset | 0
3945 if (!noAssert) {
3946 var limit = Math.pow(2, 8 * byteLength - 1)
ebd8d4e8 3947
ab78acc6
IC
3948 checkInt(this, value, offset, byteLength, limit - 1, -limit)
3949 }
ebd8d4e8 3950
ab78acc6
IC
3951 var i = byteLength - 1
3952 var mul = 1
3953 var sub = value < 0 ? 1 : 0
3954 this[offset + i] = value & 0xFF
3955 while (--i >= 0 && (mul *= 0x100)) {
3956 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
3957 }
3958
3959 return offset + byteLength
ebd8d4e8
IC
3960}
3961
ab78acc6
IC
3962Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
3963 value = +value
3964 offset = offset | 0
3965 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
3966 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3967 if (value < 0) value = 0xff + value + 1
3968 this[offset] = value
3969 return offset + 1
ebd8d4e8
IC
3970}
3971
ab78acc6
IC
3972Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
3973 value = +value
3974 offset = offset | 0
3975 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
3976 if (Buffer.TYPED_ARRAY_SUPPORT) {
3977 this[offset] = value
3978 this[offset + 1] = (value >>> 8)
3979 } else {
3980 objectWriteUInt16(this, value, offset, true)
3981 }
3982 return offset + 2
ebd8d4e8
IC
3983}
3984
ab78acc6
IC
3985Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
3986 value = +value
3987 offset = offset | 0
3988 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
3989 if (Buffer.TYPED_ARRAY_SUPPORT) {
3990 this[offset] = (value >>> 8)
3991 this[offset + 1] = value
3992 } else {
3993 objectWriteUInt16(this, value, offset, false)
3994 }
3995 return offset + 2
ebd8d4e8
IC
3996}
3997
ab78acc6
IC
3998Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
3999 value = +value
4000 offset = offset | 0
4001 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4002 if (Buffer.TYPED_ARRAY_SUPPORT) {
4003 this[offset] = value
4004 this[offset + 1] = (value >>> 8)
4005 this[offset + 2] = (value >>> 16)
4006 this[offset + 3] = (value >>> 24)
4007 } else {
4008 objectWriteUInt32(this, value, offset, true)
4009 }
4010 return offset + 4
4011}
4012
4013Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
4014 value = +value
4015 offset = offset | 0
4016 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4017 if (value < 0) value = 0xffffffff + value + 1
4018 if (Buffer.TYPED_ARRAY_SUPPORT) {
4019 this[offset] = (value >>> 24)
4020 this[offset + 1] = (value >>> 16)
4021 this[offset + 2] = (value >>> 8)
4022 this[offset + 3] = value
4023 } else {
4024 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4025 }
ab78acc6 4026 return offset + 4
ebd8d4e8
IC
4027}
4028
ab78acc6
IC
4029function checkIEEE754 (buf, value, offset, ext, max, min) {
4030 if (value > max || value < min) throw new RangeError('value is out of bounds')
4031 if (offset + ext > buf.length) throw new RangeError('index out of range')
4032 if (offset < 0) throw new RangeError('index out of range')
4033}
ebd8d4e8 4034
ab78acc6
IC
4035function writeFloat (buf, value, offset, littleEndian, noAssert) {
4036 if (!noAssert) {
4037 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
4038 }
4039 ieee754.write(buf, value, offset, littleEndian, 23, 4)
4040 return offset + 4
4041}
ebd8d4e8 4042
ab78acc6
IC
4043Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
4044 return writeFloat(this, value, offset, true, noAssert)
4045}
ebd8d4e8 4046
ab78acc6
IC
4047Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
4048 return writeFloat(this, value, offset, false, noAssert)
4049}
ebd8d4e8 4050
ab78acc6
IC
4051function writeDouble (buf, value, offset, littleEndian, noAssert) {
4052 if (!noAssert) {
4053 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
ebd8d4e8 4054 }
ab78acc6
IC
4055 ieee754.write(buf, value, offset, littleEndian, 52, 8)
4056 return offset + 8
ebd8d4e8
IC
4057}
4058
ab78acc6
IC
4059Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
4060 return writeDouble(this, value, offset, true, noAssert)
ebd8d4e8
IC
4061}
4062
ab78acc6
IC
4063Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
4064 return writeDouble(this, value, offset, false, noAssert)
4065}
ebd8d4e8 4066
ab78acc6
IC
4067// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
4068Buffer.prototype.copy = function copy (target, targetStart, start, end) {
4069 if (!start) start = 0
4070 if (!end && end !== 0) end = this.length
4071 if (targetStart >= target.length) targetStart = target.length
4072 if (!targetStart) targetStart = 0
4073 if (end > 0 && end < start) end = start
4074
4075 // Copy 0 bytes; we're done
4076 if (end === start) return 0
4077 if (target.length === 0 || this.length === 0) return 0
ebd8d4e8 4078
ab78acc6
IC
4079 // Fatal error conditions
4080 if (targetStart < 0) {
4081 throw new RangeError('targetStart out of bounds')
4082 }
4083 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
4084 if (end < 0) throw new RangeError('sourceEnd out of bounds')
ebd8d4e8 4085
ab78acc6
IC
4086 // Are we oob?
4087 if (end > this.length) end = this.length
4088 if (target.length - targetStart < end - start) {
4089 end = target.length - targetStart + start
4090 }
ebd8d4e8 4091
ab78acc6
IC
4092 var len = end - start
4093 var i
ebd8d4e8 4094
ab78acc6
IC
4095 if (this === target && start < targetStart && targetStart < end) {
4096 // descending copy from end
4097 for (i = len - 1; i >= 0; i--) {
4098 target[i + targetStart] = this[i + start]
4099 }
4100 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
4101 // ascending copy from start
4102 for (i = 0; i < len; i++) {
4103 target[i + targetStart] = this[i + start]
4104 }
4105 } else {
4106 target._set(this.subarray(start, start + len), targetStart)
ebd8d4e8 4107 }
ebd8d4e8 4108
ab78acc6
IC
4109 return len
4110}
ebd8d4e8 4111
ab78acc6
IC
4112// fill(value, start=0, end=buffer.length)
4113Buffer.prototype.fill = function fill (value, start, end) {
4114 if (!value) value = 0
4115 if (!start) start = 0
4116 if (!end) end = this.length
ebd8d4e8 4117
ab78acc6 4118 if (end < start) throw new RangeError('end < start')
ebd8d4e8 4119
ab78acc6
IC
4120 // Fill 0 bytes; we're done
4121 if (end === start) return
4122 if (this.length === 0) return
ebd8d4e8 4123
ab78acc6
IC
4124 if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
4125 if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
ebd8d4e8 4126
ab78acc6
IC
4127 var i
4128 if (typeof value === 'number') {
4129 for (i = start; i < end; i++) {
4130 this[i] = value
ebd8d4e8 4131 }
ab78acc6
IC
4132 } else {
4133 var bytes = utf8ToBytes(value.toString())
4134 var len = bytes.length
4135 for (i = start; i < end; i++) {
4136 this[i] = bytes[i % len]
ebd8d4e8
IC
4137 }
4138 }
ebd8d4e8 4139
ab78acc6 4140 return this
ebd8d4e8
IC
4141}
4142
ab78acc6
IC
4143/**
4144 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
4145 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
4146 */
4147Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
4148 if (typeof Uint8Array !== 'undefined') {
4149 if (Buffer.TYPED_ARRAY_SUPPORT) {
4150 return (new Buffer(this)).buffer
4151 } else {
4152 var buf = new Uint8Array(this.length)
4153 for (var i = 0, len = buf.length; i < len; i += 1) {
4154 buf[i] = this[i]
ebd8d4e8 4155 }
ab78acc6 4156 return buf.buffer
ebd8d4e8 4157 }
ab78acc6
IC
4158 } else {
4159 throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
ebd8d4e8 4160 }
ebd8d4e8
IC
4161}
4162
ab78acc6
IC
4163// HELPER FUNCTIONS
4164// ================
ebd8d4e8 4165
ab78acc6 4166var BP = Buffer.prototype
ebd8d4e8 4167
ab78acc6
IC
4168/**
4169 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
4170 */
4171Buffer._augment = function _augment (arr) {
4172 arr.constructor = Buffer
4173 arr._isBuffer = true
ebd8d4e8 4174
ab78acc6
IC
4175 // save reference to original Uint8Array set method before overwriting
4176 arr._set = arr.set
ebd8d4e8 4177
ab78acc6
IC
4178 // deprecated
4179 arr.get = BP.get
4180 arr.set = BP.set
ebd8d4e8 4181
ab78acc6
IC
4182 arr.write = BP.write
4183 arr.toString = BP.toString
4184 arr.toLocaleString = BP.toString
4185 arr.toJSON = BP.toJSON
4186 arr.equals = BP.equals
4187 arr.compare = BP.compare
4188 arr.indexOf = BP.indexOf
4189 arr.copy = BP.copy
4190 arr.slice = BP.slice
4191 arr.readUIntLE = BP.readUIntLE
4192 arr.readUIntBE = BP.readUIntBE
4193 arr.readUInt8 = BP.readUInt8
4194 arr.readUInt16LE = BP.readUInt16LE
4195 arr.readUInt16BE = BP.readUInt16BE
4196 arr.readUInt32LE = BP.readUInt32LE
4197 arr.readUInt32BE = BP.readUInt32BE
4198 arr.readIntLE = BP.readIntLE
4199 arr.readIntBE = BP.readIntBE
4200 arr.readInt8 = BP.readInt8
4201 arr.readInt16LE = BP.readInt16LE
4202 arr.readInt16BE = BP.readInt16BE
4203 arr.readInt32LE = BP.readInt32LE
4204 arr.readInt32BE = BP.readInt32BE
4205 arr.readFloatLE = BP.readFloatLE
4206 arr.readFloatBE = BP.readFloatBE
4207 arr.readDoubleLE = BP.readDoubleLE
4208 arr.readDoubleBE = BP.readDoubleBE
4209 arr.writeUInt8 = BP.writeUInt8
4210 arr.writeUIntLE = BP.writeUIntLE
4211 arr.writeUIntBE = BP.writeUIntBE
4212 arr.writeUInt16LE = BP.writeUInt16LE
4213 arr.writeUInt16BE = BP.writeUInt16BE
4214 arr.writeUInt32LE = BP.writeUInt32LE
4215 arr.writeUInt32BE = BP.writeUInt32BE
4216 arr.writeIntLE = BP.writeIntLE
4217 arr.writeIntBE = BP.writeIntBE
4218 arr.writeInt8 = BP.writeInt8
4219 arr.writeInt16LE = BP.writeInt16LE
4220 arr.writeInt16BE = BP.writeInt16BE
4221 arr.writeInt32LE = BP.writeInt32LE
4222 arr.writeInt32BE = BP.writeInt32BE
4223 arr.writeFloatLE = BP.writeFloatLE
4224 arr.writeFloatBE = BP.writeFloatBE
4225 arr.writeDoubleLE = BP.writeDoubleLE
4226 arr.writeDoubleBE = BP.writeDoubleBE
4227 arr.fill = BP.fill
4228 arr.inspect = BP.inspect
4229 arr.toArrayBuffer = BP.toArrayBuffer
ebd8d4e8 4230
ab78acc6 4231 return arr
ebd8d4e8
IC
4232}
4233
ab78acc6 4234var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
ebd8d4e8 4235
ab78acc6
IC
4236function base64clean (str) {
4237 // Node strips out invalid characters like \n and \t from the string, base64-js does not
4238 str = stringtrim(str).replace(INVALID_BASE64_RE, '')
4239 // Node converts strings with length < 2 to ''
4240 if (str.length < 2) return ''
4241 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
4242 while (str.length % 4 !== 0) {
4243 str = str + '='
4244 }
4245 return str
ebd8d4e8
IC
4246}
4247
ab78acc6
IC
4248function stringtrim (str) {
4249 if (str.trim) return str.trim()
4250 return str.replace(/^\s+|\s+$/g, '')
ebd8d4e8
IC
4251}
4252
ab78acc6
IC
4253function toHex (n) {
4254 if (n < 16) return '0' + n.toString(16)
4255 return n.toString(16)
ebd8d4e8
IC
4256}
4257
ab78acc6
IC
4258function utf8ToBytes (string, units) {
4259 units = units || Infinity
4260 var codePoint
4261 var length = string.length
4262 var leadSurrogate = null
4263 var bytes = []
ebd8d4e8 4264
ab78acc6
IC
4265 for (var i = 0; i < length; i++) {
4266 codePoint = string.charCodeAt(i)
ebd8d4e8 4267
ab78acc6
IC
4268 // is surrogate component
4269 if (codePoint > 0xD7FF && codePoint < 0xE000) {
4270 // last char was a lead
4271 if (!leadSurrogate) {
4272 // no lead yet
4273 if (codePoint > 0xDBFF) {
4274 // unexpected trail
4275 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4276 continue
ebd8d4e8 4277
ab78acc6
IC
4278 } else if (i + 1 === length) {
4279 // unpaired lead
4280 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4281 continue
4282 }
ebd8d4e8 4283
ab78acc6
IC
4284 // valid lead
4285 leadSurrogate = codePoint
ebd8d4e8 4286
ab78acc6
IC
4287 continue
4288 }
ebd8d4e8 4289
ab78acc6
IC
4290 // 2 leads in a row
4291 if (codePoint < 0xDC00) {
4292 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4293 leadSurrogate = codePoint
4294 continue
4295 }
ebd8d4e8 4296
ab78acc6
IC
4297 // valid surrogate pair
4298 codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
4299
4300 } else if (leadSurrogate) {
4301 // valid bmp char, but last char was a lead
4302 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4303 }
4304
4305 leadSurrogate = null
4306
4307 // encode utf8
4308 if (codePoint < 0x80) {
4309 if ((units -= 1) < 0) break
4310 bytes.push(codePoint)
4311 } else if (codePoint < 0x800) {
4312 if ((units -= 2) < 0) break
4313 bytes.push(
4314 codePoint >> 0x6 | 0xC0,
4315 codePoint & 0x3F | 0x80
4316 )
4317 } else if (codePoint < 0x10000) {
4318 if ((units -= 3) < 0) break
4319 bytes.push(
4320 codePoint >> 0xC | 0xE0,
4321 codePoint >> 0x6 & 0x3F | 0x80,
4322 codePoint & 0x3F | 0x80
4323 )
4324 } else if (codePoint < 0x110000) {
4325 if ((units -= 4) < 0) break
4326 bytes.push(
4327 codePoint >> 0x12 | 0xF0,
4328 codePoint >> 0xC & 0x3F | 0x80,
4329 codePoint >> 0x6 & 0x3F | 0x80,
4330 codePoint & 0x3F | 0x80
4331 )
4332 } else {
4333 throw new Error('Invalid code point')
ebd8d4e8 4334 }
ebd8d4e8 4335 }
ab78acc6
IC
4336
4337 return bytes
4338}
4339
4340function asciiToBytes (str) {
4341 var byteArray = []
4342 for (var i = 0; i < str.length; i++) {
4343 // Node's code seems to be doing this and not & 0x7F..
4344 byteArray.push(str.charCodeAt(i) & 0xFF)
ebd8d4e8 4345 }
ab78acc6 4346 return byteArray
ebd8d4e8
IC
4347}
4348
ab78acc6
IC
4349function utf16leToBytes (str, units) {
4350 var c, hi, lo
4351 var byteArray = []
4352 for (var i = 0; i < str.length; i++) {
4353 if ((units -= 2) < 0) break
ebd8d4e8 4354
ab78acc6
IC
4355 c = str.charCodeAt(i)
4356 hi = c >> 8
4357 lo = c % 256
4358 byteArray.push(lo)
4359 byteArray.push(hi)
4360 }
ebd8d4e8 4361
ab78acc6
IC
4362 return byteArray
4363}
ebd8d4e8 4364
ab78acc6
IC
4365function base64ToBytes (str) {
4366 return base64.toByteArray(base64clean(str))
4367}
ebd8d4e8 4368
ab78acc6
IC
4369function blitBuffer (src, dst, offset, length) {
4370 for (var i = 0; i < length; i++) {
4371 if ((i + offset >= dst.length) || (i >= src.length)) break
4372 dst[i + offset] = src[i]
4373 }
4374 return i
4375}
4376
4377},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){
4378var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
4379
4380;(function (exports) {
4381 'use strict';
4382
4383 var Arr = (typeof Uint8Array !== 'undefined')
4384 ? Uint8Array
4385 : Array
ebd8d4e8 4386
ab78acc6
IC
4387 var PLUS = '+'.charCodeAt(0)
4388 var SLASH = '/'.charCodeAt(0)
4389 var NUMBER = '0'.charCodeAt(0)
4390 var LOWER = 'a'.charCodeAt(0)
4391 var UPPER = 'A'.charCodeAt(0)
4392 var PLUS_URL_SAFE = '-'.charCodeAt(0)
4393 var SLASH_URL_SAFE = '_'.charCodeAt(0)
ebd8d4e8 4394
ab78acc6
IC
4395 function decode (elt) {
4396 var code = elt.charCodeAt(0)
4397 if (code === PLUS ||
4398 code === PLUS_URL_SAFE)
4399 return 62 // '+'
4400 if (code === SLASH ||
4401 code === SLASH_URL_SAFE)
4402 return 63 // '/'
4403 if (code < NUMBER)
4404 return -1 //no match
4405 if (code < NUMBER + 10)
4406 return code - NUMBER + 26 + 26
4407 if (code < UPPER + 26)
4408 return code - UPPER
4409 if (code < LOWER + 26)
4410 return code - LOWER + 26
4411 }
ebd8d4e8 4412
ab78acc6
IC
4413 function b64ToByteArray (b64) {
4414 var i, j, l, tmp, placeHolders, arr
ebd8d4e8 4415
ab78acc6
IC
4416 if (b64.length % 4 > 0) {
4417 throw new Error('Invalid string. Length must be a multiple of 4')
4418 }
ebd8d4e8 4419
ab78acc6
IC
4420 // the number of equal signs (place holders)
4421 // if there are two placeholders, than the two characters before it
4422 // represent one byte
4423 // if there is only one, then the three characters before it represent 2 bytes
4424 // this is just a cheap hack to not do indexOf twice
4425 var len = b64.length
4426 placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
ebd8d4e8 4427
ab78acc6
IC
4428 // base64 is 4/3 + up to two characters of the original data
4429 arr = new Arr(b64.length * 3 / 4 - placeHolders)
ebd8d4e8 4430
ab78acc6
IC
4431 // if there are placeholders, only get up to the last complete 4 chars
4432 l = placeHolders > 0 ? b64.length - 4 : b64.length
ebd8d4e8 4433
ab78acc6 4434 var L = 0
ebd8d4e8 4435
ab78acc6
IC
4436 function push (v) {
4437 arr[L++] = v
4438 }
ebd8d4e8 4439
ab78acc6
IC
4440 for (i = 0, j = 0; i < l; i += 4, j += 3) {
4441 tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
4442 push((tmp & 0xFF0000) >> 16)
4443 push((tmp & 0xFF00) >> 8)
4444 push(tmp & 0xFF)
4445 }
ebd8d4e8 4446
ab78acc6
IC
4447 if (placeHolders === 2) {
4448 tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
4449 push(tmp & 0xFF)
4450 } else if (placeHolders === 1) {
4451 tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
4452 push((tmp >> 8) & 0xFF)
4453 push(tmp & 0xFF)
4454 }
ebd8d4e8 4455
ab78acc6
IC
4456 return arr
4457 }
ebd8d4e8 4458
ab78acc6
IC
4459 function uint8ToBase64 (uint8) {
4460 var i,
4461 extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
4462 output = "",
4463 temp, length
ebd8d4e8 4464
ab78acc6
IC
4465 function encode (num) {
4466 return lookup.charAt(num)
4467 }
ebd8d4e8 4468
ab78acc6
IC
4469 function tripletToBase64 (num) {
4470 return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
4471 }
ebd8d4e8 4472
ab78acc6
IC
4473 // go through the array every three bytes, we'll deal with trailing stuff later
4474 for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
4475 temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
4476 output += tripletToBase64(temp)
4477 }
ebd8d4e8 4478
ab78acc6
IC
4479 // pad the end with zeros, but make sure to not forget the extra bytes
4480 switch (extraBytes) {
4481 case 1:
4482 temp = uint8[uint8.length - 1]
4483 output += encode(temp >> 2)
4484 output += encode((temp << 4) & 0x3F)
4485 output += '=='
4486 break
4487 case 2:
4488 temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
4489 output += encode(temp >> 10)
4490 output += encode((temp >> 4) & 0x3F)
4491 output += encode((temp << 2) & 0x3F)
4492 output += '='
4493 break
4494 }
ebd8d4e8 4495
ab78acc6
IC
4496 return output
4497 }
ebd8d4e8 4498
ab78acc6
IC
4499 exports.toByteArray = b64ToByteArray
4500 exports.fromByteArray = uint8ToBase64
4501}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
ebd8d4e8 4502
ab78acc6
IC
4503},{}],9:[function(require,module,exports){
4504exports.read = function (buffer, offset, isLE, mLen, nBytes) {
4505 var e, m
4506 var eLen = nBytes * 8 - mLen - 1
4507 var eMax = (1 << eLen) - 1
4508 var eBias = eMax >> 1
4509 var nBits = -7
4510 var i = isLE ? (nBytes - 1) : 0
4511 var d = isLE ? -1 : 1
4512 var s = buffer[offset + i]
4513
4514 i += d
4515
4516 e = s & ((1 << (-nBits)) - 1)
4517 s >>= (-nBits)
4518 nBits += eLen
4519 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
4520
4521 m = e & ((1 << (-nBits)) - 1)
4522 e >>= (-nBits)
4523 nBits += mLen
4524 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
ebd8d4e8 4525
ab78acc6
IC
4526 if (e === 0) {
4527 e = 1 - eBias
4528 } else if (e === eMax) {
4529 return m ? NaN : ((s ? -1 : 1) * Infinity)
4530 } else {
4531 m = m + Math.pow(2, mLen)
4532 e = e - eBias
ebd8d4e8 4533 }
ab78acc6 4534 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
ebd8d4e8
IC
4535}
4536
ab78acc6
IC
4537exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
4538 var e, m, c
4539 var eLen = nBytes * 8 - mLen - 1
4540 var eMax = (1 << eLen) - 1
4541 var eBias = eMax >> 1
4542 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
4543 var i = isLE ? 0 : (nBytes - 1)
4544 var d = isLE ? 1 : -1
4545 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
ebd8d4e8 4546
ab78acc6 4547 value = Math.abs(value)
ebd8d4e8 4548
ab78acc6
IC
4549 if (isNaN(value) || value === Infinity) {
4550 m = isNaN(value) ? 1 : 0
4551 e = eMax
4552 } else {
4553 e = Math.floor(Math.log(value) / Math.LN2)
4554 if (value * (c = Math.pow(2, -e)) < 1) {
4555 e--
4556 c *= 2
ebd8d4e8 4557 }
ab78acc6
IC
4558 if (e + eBias >= 1) {
4559 value += rt / c
4560 } else {
4561 value += rt * Math.pow(2, 1 - eBias)
ebd8d4e8 4562 }
ab78acc6
IC
4563 if (value * c >= 2) {
4564 e++
4565 c /= 2
ebd8d4e8 4566 }
ab78acc6
IC
4567
4568 if (e + eBias >= eMax) {
4569 m = 0
4570 e = eMax
4571 } else if (e + eBias >= 1) {
4572 m = (value * c - 1) * Math.pow(2, mLen)
4573 e = e + eBias
4574 } else {
4575 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
4576 e = 0
ebd8d4e8
IC
4577 }
4578 }
ebd8d4e8 4579
ab78acc6 4580 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
ebd8d4e8 4581
ab78acc6
IC
4582 e = (e << mLen) | m
4583 eLen += mLen
4584 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
ebd8d4e8 4585
ab78acc6
IC
4586 buffer[offset + i - d] |= s * 128
4587}
ebd8d4e8 4588
ab78acc6 4589},{}],10:[function(require,module,exports){
ebd8d4e8 4590
ab78acc6
IC
4591/**
4592 * isArray
4593 */
ebd8d4e8 4594
ab78acc6 4595var isArray = Array.isArray;
ebd8d4e8
IC
4596
4597/**
ab78acc6 4598 * toString
ebd8d4e8 4599 */
ebd8d4e8 4600
ab78acc6 4601var str = Object.prototype.toString;
ebd8d4e8
IC
4602
4603/**
ab78acc6
IC
4604 * Whether or not the given `val`
4605 * is an array.
ebd8d4e8 4606 *
ab78acc6
IC
4607 * example:
4608 *
4609 * isArray([]);
4610 * // > true
4611 * isArray(arguments);
4612 * // > false
4613 * isArray('');
4614 * // > false
4615 *
4616 * @param {mixed} val
4617 * @return {bool}
ebd8d4e8 4618 */
ebd8d4e8 4619
ab78acc6
IC
4620module.exports = isArray || function (val) {
4621 return !! val && '[object Array]' == str.call(val);
4622};
4623
4624},{}],11:[function(require,module,exports){
4625// Copyright Joyent, Inc. and other Node contributors.
4626//
4627// Permission is hereby granted, free of charge, to any person obtaining a
4628// copy of this software and associated documentation files (the
4629// "Software"), to deal in the Software without restriction, including
4630// without limitation the rights to use, copy, modify, merge, publish,
4631// distribute, sublicense, and/or sell copies of the Software, and to permit
4632// persons to whom the Software is furnished to do so, subject to the
4633// following conditions:
4634//
4635// The above copyright notice and this permission notice shall be included
4636// in all copies or substantial portions of the Software.
4637//
4638// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4639// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4640// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
4641// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4642// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4643// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
4644// USE OR OTHER DEALINGS IN THE SOFTWARE.
4645
4646function EventEmitter() {
4647 this._events = this._events || {};
4648 this._maxListeners = this._maxListeners || undefined;
ebd8d4e8 4649}
ab78acc6 4650module.exports = EventEmitter;
ebd8d4e8 4651
ab78acc6
IC
4652// Backwards-compat with node 0.10.x
4653EventEmitter.EventEmitter = EventEmitter;
ebd8d4e8 4654
ab78acc6
IC
4655EventEmitter.prototype._events = undefined;
4656EventEmitter.prototype._maxListeners = undefined;
4657
4658// By default EventEmitters will print a warning if more than 10 listeners are
4659// added to it. This is a useful default which helps finding memory leaks.
4660EventEmitter.defaultMaxListeners = 10;
4661
4662// Obviously not all Emitters should be limited to 10. This function allows
4663// that to be increased. Set to zero for unlimited.
4664EventEmitter.prototype.setMaxListeners = function(n) {
4665 if (!isNumber(n) || n < 0 || isNaN(n))
4666 throw TypeError('n must be a positive number');
4667 this._maxListeners = n;
4668 return this;
4669};
4670
4671EventEmitter.prototype.emit = function(type) {
4672 var er, handler, len, args, i, listeners;
4673
4674 if (!this._events)
4675 this._events = {};
4676
4677 // If there is no 'error' event listener then throw.
4678 if (type === 'error') {
4679 if (!this._events.error ||
4680 (isObject(this._events.error) && !this._events.error.length)) {
4681 er = arguments[1];
4682 if (er instanceof Error) {
4683 throw er; // Unhandled 'error' event
4684 }
4685 throw TypeError('Uncaught, unspecified "error" event.');
4686 }
4687 }
4688
4689 handler = this._events[type];
4690
4691 if (isUndefined(handler))
4692 return false;
4693
4694 if (isFunction(handler)) {
4695 switch (arguments.length) {
4696 // fast cases
4697 case 1:
4698 handler.call(this);
4699 break;
4700 case 2:
4701 handler.call(this, arguments[1]);
4702 break;
4703 case 3:
4704 handler.call(this, arguments[1], arguments[2]);
4705 break;
4706 // slower
4707 default:
4708 len = arguments.length;
4709 args = new Array(len - 1);
4710 for (i = 1; i < len; i++)
4711 args[i - 1] = arguments[i];
4712 handler.apply(this, args);
4713 }
4714 } else if (isObject(handler)) {
4715 len = arguments.length;
4716 args = new Array(len - 1);
4717 for (i = 1; i < len; i++)
4718 args[i - 1] = arguments[i];
ebd8d4e8 4719
ab78acc6
IC
4720 listeners = handler.slice();
4721 len = listeners.length;
4722 for (i = 0; i < len; i++)
4723 listeners[i].apply(this, args);
ebd8d4e8
IC
4724 }
4725
ab78acc6
IC
4726 return true;
4727};
ebd8d4e8 4728
ab78acc6
IC
4729EventEmitter.prototype.addListener = function(type, listener) {
4730 var m;
ebd8d4e8 4731
ab78acc6
IC
4732 if (!isFunction(listener))
4733 throw TypeError('listener must be a function');
ebd8d4e8 4734
ab78acc6
IC
4735 if (!this._events)
4736 this._events = {};
ebd8d4e8 4737
ab78acc6
IC
4738 // To avoid recursion in the case that type === "newListener"! Before
4739 // adding it to the listeners, first emit "newListener".
4740 if (this._events.newListener)
4741 this.emit('newListener', type,
4742 isFunction(listener.listener) ?
4743 listener.listener : listener);
ebd8d4e8 4744
ab78acc6
IC
4745 if (!this._events[type])
4746 // Optimize the case of one listener. Don't need the extra array object.
4747 this._events[type] = listener;
4748 else if (isObject(this._events[type]))
4749 // If we've already got an array, just append.
4750 this._events[type].push(listener);
4751 else
4752 // Adding the second element, need to change to array.
4753 this._events[type] = [this._events[type], listener];
4754
4755 // Check for listener leak
4756 if (isObject(this._events[type]) && !this._events[type].warned) {
4757 var m;
4758 if (!isUndefined(this._maxListeners)) {
4759 m = this._maxListeners;
4760 } else {
4761 m = EventEmitter.defaultMaxListeners;
4762 }
4763
4764 if (m && m > 0 && this._events[type].length > m) {
4765 this._events[type].warned = true;
4766 console.error('(node) warning: possible EventEmitter memory ' +
4767 'leak detected. %d listeners added. ' +
4768 'Use emitter.setMaxListeners() to increase limit.',
4769 this._events[type].length);
4770 if (typeof console.trace === 'function') {
4771 // not supported in IE 10
4772 console.trace();
4773 }
4774 }
4775 }
ebd8d4e8 4776
ab78acc6
IC
4777 return this;
4778};
ebd8d4e8 4779
ab78acc6 4780EventEmitter.prototype.on = EventEmitter.prototype.addListener;
ebd8d4e8 4781
ab78acc6
IC
4782EventEmitter.prototype.once = function(type, listener) {
4783 if (!isFunction(listener))
4784 throw TypeError('listener must be a function');
ebd8d4e8 4785
ab78acc6 4786 var fired = false;
ebd8d4e8 4787
ab78acc6
IC
4788 function g() {
4789 this.removeListener(type, g);
ebd8d4e8 4790
ab78acc6
IC
4791 if (!fired) {
4792 fired = true;
4793 listener.apply(this, arguments);
4794 }
4795 }
ebd8d4e8 4796
ab78acc6
IC
4797 g.listener = listener;
4798 this.on(type, g);
ebd8d4e8 4799
ab78acc6
IC
4800 return this;
4801};
ebd8d4e8 4802
ab78acc6
IC
4803// emits a 'removeListener' event iff the listener was removed
4804EventEmitter.prototype.removeListener = function(type, listener) {
4805 var list, position, length, i;
ebd8d4e8 4806
ab78acc6
IC
4807 if (!isFunction(listener))
4808 throw TypeError('listener must be a function');
ebd8d4e8 4809
ab78acc6
IC
4810 if (!this._events || !this._events[type])
4811 return this;
ebd8d4e8 4812
ab78acc6
IC
4813 list = this._events[type];
4814 length = list.length;
4815 position = -1;
4816
4817 if (list === listener ||
4818 (isFunction(list.listener) && list.listener === listener)) {
4819 delete this._events[type];
4820 if (this._events.removeListener)
4821 this.emit('removeListener', type, listener);
4822
4823 } else if (isObject(list)) {
4824 for (i = length; i-- > 0;) {
4825 if (list[i] === listener ||
4826 (list[i].listener && list[i].listener === listener)) {
4827 position = i;
4828 break;
ebd8d4e8 4829 }
ab78acc6 4830 }
ebd8d4e8 4831
ab78acc6
IC
4832 if (position < 0)
4833 return this;
4834
4835 if (list.length === 1) {
4836 list.length = 0;
4837 delete this._events[type];
4838 } else {
4839 list.splice(position, 1);
ebd8d4e8 4840 }
ab78acc6
IC
4841
4842 if (this._events.removeListener)
4843 this.emit('removeListener', type, listener);
ebd8d4e8 4844 }
ab78acc6
IC
4845
4846 return this;
ebd8d4e8
IC
4847};
4848
ab78acc6
IC
4849EventEmitter.prototype.removeAllListeners = function(type) {
4850 var key, listeners;
ebd8d4e8 4851
ab78acc6
IC
4852 if (!this._events)
4853 return this;
4854
4855 // not listening for removeListener, no need to emit
4856 if (!this._events.removeListener) {
4857 if (arguments.length === 0)
4858 this._events = {};
4859 else if (this._events[type])
4860 delete this._events[type];
4861 return this;
ebd8d4e8 4862 }
ab78acc6
IC
4863
4864 // emit removeListener for all listeners on all events
4865 if (arguments.length === 0) {
4866 for (key in this._events) {
4867 if (key === 'removeListener') continue;
4868 this.removeAllListeners(key);
4869 }
4870 this.removeAllListeners('removeListener');
4871 this._events = {};
4872 return this;
ebd8d4e8 4873 }
ebd8d4e8 4874
ab78acc6
IC
4875 listeners = this._events[type];
4876
4877 if (isFunction(listeners)) {
4878 this.removeListener(type, listeners);
ebd8d4e8 4879 } else {
ab78acc6
IC
4880 // LIFO order
4881 while (listeners.length)
4882 this.removeListener(type, listeners[listeners.length - 1]);
ebd8d4e8 4883 }
ab78acc6 4884 delete this._events[type];
ebd8d4e8 4885
ab78acc6
IC
4886 return this;
4887};
ebd8d4e8 4888
ab78acc6
IC
4889EventEmitter.prototype.listeners = function(type) {
4890 var ret;
4891 if (!this._events || !this._events[type])
4892 ret = [];
4893 else if (isFunction(this._events[type]))
4894 ret = [this._events[type]];
4895 else
4896 ret = this._events[type].slice();
4897 return ret;
4898};
ebd8d4e8 4899
ab78acc6
IC
4900EventEmitter.listenerCount = function(emitter, type) {
4901 var ret;
4902 if (!emitter._events || !emitter._events[type])
4903 ret = 0;
4904 else if (isFunction(emitter._events[type]))
4905 ret = 1;
4906 else
4907 ret = emitter._events[type].length;
4908 return ret;
4909};
ebd8d4e8 4910
ab78acc6
IC
4911function isFunction(arg) {
4912 return typeof arg === 'function';
ebd8d4e8
IC
4913}
4914
ab78acc6
IC
4915function isNumber(arg) {
4916 return typeof arg === 'number';
4917}
ebd8d4e8 4918
ab78acc6
IC
4919function isObject(arg) {
4920 return typeof arg === 'object' && arg !== null;
4921}
ebd8d4e8 4922
ab78acc6
IC
4923function isUndefined(arg) {
4924 return arg === void 0;
ebd8d4e8 4925}
ebd8d4e8 4926
ab78acc6
IC
4927},{}],12:[function(require,module,exports){
4928if (typeof Object.create === 'function') {
4929 // implementation from standard node.js 'util' module
4930 module.exports = function inherits(ctor, superCtor) {
4931 ctor.super_ = superCtor
4932 ctor.prototype = Object.create(superCtor.prototype, {
4933 constructor: {
4934 value: ctor,
4935 enumerable: false,
4936 writable: true,
4937 configurable: true
4938 }
4939 });
4940 };
4941} else {
4942 // old school shim for old browsers
4943 module.exports = function inherits(ctor, superCtor) {
4944 ctor.super_ = superCtor
4945 var TempCtor = function () {}
4946 TempCtor.prototype = superCtor.prototype
4947 ctor.prototype = new TempCtor()
4948 ctor.prototype.constructor = ctor
4949 }
4950}
ebd8d4e8 4951
ab78acc6
IC
4952},{}],13:[function(require,module,exports){
4953module.exports = Array.isArray || function (arr) {
4954 return Object.prototype.toString.call(arr) == '[object Array]';
ebd8d4e8
IC
4955};
4956
ab78acc6
IC
4957},{}],14:[function(require,module,exports){
4958// shim for using process in browser
ebd8d4e8 4959
ab78acc6
IC
4960var process = module.exports = {};
4961var queue = [];
4962var draining = false;
4963var currentQueue;
4964var queueIndex = -1;
4965
4966function cleanUpNextTick() {
4967 draining = false;
4968 if (currentQueue.length) {
4969 queue = currentQueue.concat(queue);
4970 } else {
4971 queueIndex = -1;
4972 }
4973 if (queue.length) {
4974 drainQueue();
4975 }
4976}
ebd8d4e8 4977
ab78acc6
IC
4978function drainQueue() {
4979 if (draining) {
4980 return;
4981 }
4982 var timeout = setTimeout(cleanUpNextTick);
4983 draining = true;
ebd8d4e8 4984
ab78acc6
IC
4985 var len = queue.length;
4986 while(len) {
4987 currentQueue = queue;
4988 queue = [];
4989 while (++queueIndex < len) {
4990 currentQueue[queueIndex].run();
4991 }
4992 queueIndex = -1;
4993 len = queue.length;
4994 }
4995 currentQueue = null;
4996 draining = false;
4997 clearTimeout(timeout);
4998}
4999
5000process.nextTick = function (fun) {
5001 var args = new Array(arguments.length - 1);
5002 if (arguments.length > 1) {
5003 for (var i = 1; i < arguments.length; i++) {
5004 args[i - 1] = arguments[i];
5005 }
5006 }
5007 queue.push(new Item(fun, args));
5008 if (queue.length === 1 && !draining) {
5009 setTimeout(drainQueue, 0);
5010 }
ebd8d4e8
IC
5011};
5012
ab78acc6
IC
5013// v8 likes predictible objects
5014function Item(fun, array) {
5015 this.fun = fun;
5016 this.array = array;
5017}
5018Item.prototype.run = function () {
5019 this.fun.apply(null, this.array);
5020};
5021process.title = 'browser';
5022process.browser = true;
5023process.env = {};
5024process.argv = [];
5025process.version = ''; // empty string to avoid regexp issues
5026process.versions = {};
ebd8d4e8 5027
ab78acc6
IC
5028function noop() {}
5029
5030process.on = noop;
5031process.addListener = noop;
5032process.once = noop;
5033process.off = noop;
5034process.removeListener = noop;
5035process.removeAllListeners = noop;
5036process.emit = noop;
5037
5038process.binding = function (name) {
5039 throw new Error('process.binding is not supported');
5040};
ebd8d4e8 5041
ab78acc6
IC
5042// TODO(shtylman)
5043process.cwd = function () { return '/' };
5044process.chdir = function (dir) {
5045 throw new Error('process.chdir is not supported');
5046};
5047process.umask = function() { return 0; };
ebd8d4e8 5048
ab78acc6
IC
5049},{}],15:[function(require,module,exports){
5050module.exports = require("./lib/_stream_duplex.js")
ebd8d4e8 5051
ab78acc6
IC
5052},{"./lib/_stream_duplex.js":16}],16:[function(require,module,exports){
5053(function (process){
5054// Copyright Joyent, Inc. and other Node contributors.
5055//
5056// Permission is hereby granted, free of charge, to any person obtaining a
5057// copy of this software and associated documentation files (the
5058// "Software"), to deal in the Software without restriction, including
5059// without limitation the rights to use, copy, modify, merge, publish,
5060// distribute, sublicense, and/or sell copies of the Software, and to permit
5061// persons to whom the Software is furnished to do so, subject to the
5062// following conditions:
5063//
5064// The above copyright notice and this permission notice shall be included
5065// in all copies or substantial portions of the Software.
5066//
5067// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5068// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5069// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5070// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5071// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5072// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5073// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5074
ab78acc6
IC
5075// a duplex stream is just a stream that is both readable and writable.
5076// Since JS doesn't have multiple prototypal inheritance, this class
5077// prototypally inherits from Readable, and then parasitically from
5078// Writable.
ebd8d4e8 5079
ab78acc6 5080module.exports = Duplex;
ebd8d4e8 5081
ab78acc6
IC
5082/*<replacement>*/
5083var objectKeys = Object.keys || function (obj) {
5084 var keys = [];
5085 for (var key in obj) keys.push(key);
5086 return keys;
ebd8d4e8 5087}
ab78acc6 5088/*</replacement>*/
ebd8d4e8 5089
ebd8d4e8 5090
ab78acc6
IC
5091/*<replacement>*/
5092var util = require('core-util-is');
5093util.inherits = require('inherits');
5094/*</replacement>*/
ebd8d4e8 5095
ab78acc6
IC
5096var Readable = require('./_stream_readable');
5097var Writable = require('./_stream_writable');
ebd8d4e8 5098
ab78acc6 5099util.inherits(Duplex, Readable);
ebd8d4e8 5100
ab78acc6
IC
5101forEach(objectKeys(Writable.prototype), function(method) {
5102 if (!Duplex.prototype[method])
5103 Duplex.prototype[method] = Writable.prototype[method];
5104});
ebd8d4e8 5105
ab78acc6
IC
5106function Duplex(options) {
5107 if (!(this instanceof Duplex))
5108 return new Duplex(options);
ebd8d4e8 5109
ab78acc6
IC
5110 Readable.call(this, options);
5111 Writable.call(this, options);
ebd8d4e8 5112
ab78acc6
IC
5113 if (options && options.readable === false)
5114 this.readable = false;
ebd8d4e8 5115
ab78acc6
IC
5116 if (options && options.writable === false)
5117 this.writable = false;
ebd8d4e8 5118
ab78acc6
IC
5119 this.allowHalfOpen = true;
5120 if (options && options.allowHalfOpen === false)
5121 this.allowHalfOpen = false;
ebd8d4e8 5122
ab78acc6 5123 this.once('end', onend);
ebd8d4e8
IC
5124}
5125
ab78acc6
IC
5126// the no-half-open enforcer
5127function onend() {
5128 // if we allow half-open state, or if the writable side ended,
5129 // then we're ok.
5130 if (this.allowHalfOpen || this._writableState.ended)
5131 return;
ebd8d4e8 5132
ab78acc6
IC
5133 // no more data can be written.
5134 // But allow more writes to happen in this tick.
5135 process.nextTick(this.end.bind(this));
5136}
ebd8d4e8 5137
ab78acc6
IC
5138function forEach (xs, f) {
5139 for (var i = 0, l = xs.length; i < l; i++) {
5140 f(xs[i], i);
ebd8d4e8 5141 }
ab78acc6 5142}
ebd8d4e8 5143
ab78acc6
IC
5144}).call(this,require('_process'))
5145},{"./_stream_readable":18,"./_stream_writable":20,"_process":14,"core-util-is":21,"inherits":12}],17:[function(require,module,exports){
5146// Copyright Joyent, Inc. and other Node contributors.
5147//
5148// Permission is hereby granted, free of charge, to any person obtaining a
5149// copy of this software and associated documentation files (the
5150// "Software"), to deal in the Software without restriction, including
5151// without limitation the rights to use, copy, modify, merge, publish,
5152// distribute, sublicense, and/or sell copies of the Software, and to permit
5153// persons to whom the Software is furnished to do so, subject to the
5154// following conditions:
5155//
5156// The above copyright notice and this permission notice shall be included
5157// in all copies or substantial portions of the Software.
5158//
5159// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5160// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5161// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5162// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5163// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5164// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5165// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5166
ab78acc6
IC
5167// a passthrough stream.
5168// basically just the most minimal sort of Transform stream.
5169// Every written chunk gets output as-is.
ebd8d4e8 5170
ab78acc6 5171module.exports = PassThrough;
ebd8d4e8 5172
ab78acc6 5173var Transform = require('./_stream_transform');
ebd8d4e8 5174
ab78acc6
IC
5175/*<replacement>*/
5176var util = require('core-util-is');
5177util.inherits = require('inherits');
5178/*</replacement>*/
ebd8d4e8 5179
ab78acc6 5180util.inherits(PassThrough, Transform);
ebd8d4e8 5181
ab78acc6
IC
5182function PassThrough(options) {
5183 if (!(this instanceof PassThrough))
5184 return new PassThrough(options);
ebd8d4e8 5185
ab78acc6
IC
5186 Transform.call(this, options);
5187}
ebd8d4e8 5188
ab78acc6
IC
5189PassThrough.prototype._transform = function(chunk, encoding, cb) {
5190 cb(null, chunk);
ebd8d4e8
IC
5191};
5192
ab78acc6
IC
5193},{"./_stream_transform":19,"core-util-is":21,"inherits":12}],18:[function(require,module,exports){
5194(function (process){
ebd8d4e8
IC
5195// Copyright Joyent, Inc. and other Node contributors.
5196//
5197// Permission is hereby granted, free of charge, to any person obtaining a
5198// copy of this software and associated documentation files (the
5199// "Software"), to deal in the Software without restriction, including
5200// without limitation the rights to use, copy, modify, merge, publish,
5201// distribute, sublicense, and/or sell copies of the Software, and to permit
5202// persons to whom the Software is furnished to do so, subject to the
5203// following conditions:
5204//
5205// The above copyright notice and this permission notice shall be included
5206// in all copies or substantial portions of the Software.
5207//
5208// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5209// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5210// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5211// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5212// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5213// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5214// USE OR OTHER DEALINGS IN THE SOFTWARE.
5215
ab78acc6 5216module.exports = Readable;
ebd8d4e8 5217
ab78acc6
IC
5218/*<replacement>*/
5219var isArray = require('isarray');
5220/*</replacement>*/
5221
5222
5223/*<replacement>*/
5224var Buffer = require('buffer').Buffer;
5225/*</replacement>*/
5226
5227Readable.ReadableState = ReadableState;
5228
5229var EE = require('events').EventEmitter;
5230
5231/*<replacement>*/
5232if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
5233 return emitter.listeners(type).length;
ebd8d4e8 5234};
ab78acc6
IC
5235/*</replacement>*/
5236
5237var Stream = require('stream');
5238
5239/*<replacement>*/
5240var util = require('core-util-is');
5241util.inherits = require('inherits');
5242/*</replacement>*/
5243
5244var StringDecoder;
5245
5246
5247/*<replacement>*/
5248var debug = require('util');
5249if (debug && debug.debuglog) {
5250 debug = debug.debuglog('stream');
5251} else {
5252 debug = function () {};
5253}
5254/*</replacement>*/
5255
5256
5257util.inherits(Readable, Stream);
5258
5259function ReadableState(options, stream) {
5260 var Duplex = require('./_stream_duplex');
5261
5262 options = options || {};
5263
5264 // the point at which it stops calling _read() to fill the buffer
5265 // Note: 0 is a valid value, means "don't call _read preemptively ever"
5266 var hwm = options.highWaterMark;
5267 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
5268 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
5269
5270 // cast to ints.
5271 this.highWaterMark = ~~this.highWaterMark;
5272
5273 this.buffer = [];
5274 this.length = 0;
5275 this.pipes = null;
5276 this.pipesCount = 0;
5277 this.flowing = null;
5278 this.ended = false;
5279 this.endEmitted = false;
5280 this.reading = false;
ebd8d4e8 5281
ab78acc6
IC
5282 // a flag to be able to tell if the onwrite cb is called immediately,
5283 // or on a later tick. We set this to true at first, because any
5284 // actions that shouldn't happen until "later" should generally also
5285 // not happen before the first write call.
5286 this.sync = true;
ebd8d4e8 5287
ab78acc6
IC
5288 // whenever we return null, then we set a flag to say
5289 // that we're awaiting a 'readable' event emission.
5290 this.needReadable = false;
5291 this.emittedReadable = false;
5292 this.readableListening = false;
ebd8d4e8 5293
ab78acc6
IC
5294
5295 // object stream flag. Used to make read(n) ignore n and to
5296 // make all the buffer merging and length checks go away
5297 this.objectMode = !!options.objectMode;
5298
5299 if (stream instanceof Duplex)
5300 this.objectMode = this.objectMode || !!options.readableObjectMode;
5301
5302 // Crypto is kind of old and crusty. Historically, its default string
5303 // encoding is 'binary' so we have to make this configurable.
5304 // Everything else in the universe uses 'utf8', though.
5305 this.defaultEncoding = options.defaultEncoding || 'utf8';
5306
5307 // when piping, we only care about 'readable' events that happen
5308 // after read()ing all the bytes and not getting any pushback.
5309 this.ranOut = false;
5310
5311 // the number of writers that are awaiting a drain event in .pipe()s
5312 this.awaitDrain = 0;
5313
5314 // if true, a maybeReadMore has been scheduled
5315 this.readingMore = false;
5316
5317 this.decoder = null;
5318 this.encoding = null;
5319 if (options.encoding) {
5320 if (!StringDecoder)
5321 StringDecoder = require('string_decoder/').StringDecoder;
5322 this.decoder = new StringDecoder(options.encoding);
5323 this.encoding = options.encoding;
ebd8d4e8 5324 }
ab78acc6 5325}
ebd8d4e8 5326
ab78acc6
IC
5327function Readable(options) {
5328 var Duplex = require('./_stream_duplex');
5329
5330 if (!(this instanceof Readable))
5331 return new Readable(options);
5332
5333 this._readableState = new ReadableState(options, this);
5334
5335 // legacy
5336 this.readable = true;
5337
5338 Stream.call(this);
5339}
5340
5341// Manually shove something into the read() buffer.
5342// This returns true if the highWaterMark has not been hit yet,
5343// similar to how Writable.write() returns true if you should
5344// write() some more.
5345Readable.prototype.push = function(chunk, encoding) {
5346 var state = this._readableState;
5347
5348 if (util.isString(chunk) && !state.objectMode) {
5349 encoding = encoding || state.defaultEncoding;
5350 if (encoding !== state.encoding) {
5351 chunk = new Buffer(chunk, encoding);
5352 encoding = '';
ebd8d4e8 5353 }
ebd8d4e8
IC
5354 }
5355
ab78acc6 5356 return readableAddChunk(this, state, chunk, encoding, false);
ebd8d4e8
IC
5357};
5358
ab78acc6
IC
5359// Unshift should *always* be something directly out of read()
5360Readable.prototype.unshift = function(chunk) {
5361 var state = this._readableState;
5362 return readableAddChunk(this, state, chunk, '', true);
5363};
ebd8d4e8 5364
ab78acc6
IC
5365function readableAddChunk(stream, state, chunk, encoding, addToFront) {
5366 var er = chunkInvalid(state, chunk);
5367 if (er) {
5368 stream.emit('error', er);
5369 } else if (util.isNullOrUndefined(chunk)) {
5370 state.reading = false;
5371 if (!state.ended)
5372 onEofChunk(stream, state);
5373 } else if (state.objectMode || chunk && chunk.length > 0) {
5374 if (state.ended && !addToFront) {
5375 var e = new Error('stream.push() after EOF');
5376 stream.emit('error', e);
5377 } else if (state.endEmitted && addToFront) {
5378 var e = new Error('stream.unshift() after end event');
5379 stream.emit('error', e);
ebd8d4e8 5380 } else {
ab78acc6
IC
5381 if (state.decoder && !addToFront && !encoding)
5382 chunk = state.decoder.write(chunk);
5383
5384 if (!addToFront)
5385 state.reading = false;
5386
5387 // if we want the data now, just emit it.
5388 if (state.flowing && state.length === 0 && !state.sync) {
5389 stream.emit('data', chunk);
5390 stream.read(0);
5391 } else {
5392 // update the buffer info.
5393 state.length += state.objectMode ? 1 : chunk.length;
5394 if (addToFront)
5395 state.buffer.unshift(chunk);
5396 else
5397 state.buffer.push(chunk);
5398
5399 if (state.needReadable)
5400 emitReadable(stream);
5401 }
5402
5403 maybeReadMore(stream, state);
ebd8d4e8 5404 }
ab78acc6
IC
5405 } else if (!addToFront) {
5406 state.reading = false;
ebd8d4e8 5407 }
ebd8d4e8 5408
ab78acc6
IC
5409 return needMoreData(state);
5410}
ebd8d4e8 5411
ab78acc6
IC
5412
5413
5414// if it's past the high water mark, we can push in some more.
5415// Also, if we have no data yet, we can stand some
5416// more bytes. This is to work around cases where hwm=0,
5417// such as the repl. Also, if the push() triggered a
5418// readable event, and the user called read(largeNumber) such that
5419// needReadable was set, then we ought to push more, so that another
5420// 'readable' event will be triggered.
5421function needMoreData(state) {
5422 return !state.ended &&
5423 (state.needReadable ||
5424 state.length < state.highWaterMark ||
5425 state.length === 0);
5426}
5427
5428// backwards compatibility.
5429Readable.prototype.setEncoding = function(enc) {
5430 if (!StringDecoder)
5431 StringDecoder = require('string_decoder/').StringDecoder;
5432 this._readableState.decoder = new StringDecoder(enc);
5433 this._readableState.encoding = enc;
5434 return this;
5435};
5436
5437// Don't raise the hwm > 128MB
5438var MAX_HWM = 0x800000;
5439function roundUpToNextPowerOf2(n) {
5440 if (n >= MAX_HWM) {
5441 n = MAX_HWM;
5442 } else {
5443 // Get the next highest power of 2
5444 n--;
5445 for (var p = 1; p < 32; p <<= 1) n |= n >> p;
5446 n++;
ebd8d4e8 5447 }
ab78acc6 5448 return n;
ebd8d4e8 5449}
ebd8d4e8 5450
ab78acc6
IC
5451function howMuchToRead(n, state) {
5452 if (state.length === 0 && state.ended)
5453 return 0;
ebd8d4e8 5454
ab78acc6
IC
5455 if (state.objectMode)
5456 return n === 0 ? 0 : 1;
ebd8d4e8 5457
ab78acc6
IC
5458 if (isNaN(n) || util.isNull(n)) {
5459 // only flow one buffer at a time
5460 if (state.flowing && state.buffer.length)
5461 return state.buffer[0].length;
5462 else
5463 return state.length;
5464 }
ebd8d4e8 5465
ab78acc6
IC
5466 if (n <= 0)
5467 return 0;
ebd8d4e8 5468
ab78acc6
IC
5469 // If we're asking for more than the target buffer level,
5470 // then raise the water mark. Bump up to the next highest
5471 // power of 2, to prevent increasing it excessively in tiny
5472 // amounts.
5473 if (n > state.highWaterMark)
5474 state.highWaterMark = roundUpToNextPowerOf2(n);
ebd8d4e8 5475
ab78acc6
IC
5476 // don't have that much. return null, unless we've ended.
5477 if (n > state.length) {
5478 if (!state.ended) {
5479 state.needReadable = true;
5480 return 0;
5481 } else
5482 return state.length;
ebd8d4e8 5483 }
ab78acc6
IC
5484
5485 return n;
ebd8d4e8
IC
5486}
5487
ab78acc6
IC
5488// you can override either this method, or the async _read(n) below.
5489Readable.prototype.read = function(n) {
5490 debug('read', n);
5491 var state = this._readableState;
5492 var nOrig = n;
ebd8d4e8 5493
ab78acc6
IC
5494 if (!util.isNumber(n) || n > 0)
5495 state.emittedReadable = false;
5496
5497 // if we're doing read(0) to trigger a readable event, but we
5498 // already have a bunch of data in the buffer, then just trigger
5499 // the 'readable' event and move on.
5500 if (n === 0 &&
5501 state.needReadable &&
5502 (state.length >= state.highWaterMark || state.ended)) {
5503 debug('read: emitReadable', state.length, state.ended);
5504 if (state.length === 0 && state.ended)
5505 endReadable(this);
5506 else
5507 emitReadable(this);
5508 return null;
5509 }
5510
5511 n = howMuchToRead(n, state);
5512
5513 // if we've ended, and we're now clear, then finish it up.
5514 if (n === 0 && state.ended) {
5515 if (state.length === 0)
5516 endReadable(this);
5517 return null;
5518 }
5519
5520 // All the actual chunk generation logic needs to be
5521 // *below* the call to _read. The reason is that in certain
5522 // synthetic stream cases, such as passthrough streams, _read
5523 // may be a completely synchronous operation which may change
5524 // the state of the read buffer, providing enough data when
5525 // before there was *not* enough.
5526 //
5527 // So, the steps are:
5528 // 1. Figure out what the state of things will be after we do
5529 // a read from the buffer.
5530 //
5531 // 2. If that resulting state will trigger a _read, then call _read.
5532 // Note that this may be asynchronous, or synchronous. Yes, it is
5533 // deeply ugly to write APIs this way, but that still doesn't mean
5534 // that the Readable class should behave improperly, as streams are
5535 // designed to be sync/async agnostic.
5536 // Take note if the _read call is sync or async (ie, if the read call
5537 // has returned yet), so that we know whether or not it's safe to emit
5538 // 'readable' etc.
5539 //
5540 // 3. Actually pull the requested chunks out of the buffer and return.
5541
5542 // if we need a readable event, then we need to do some reading.
5543 var doRead = state.needReadable;
5544 debug('need readable', doRead);
5545
5546 // if we currently have less than the highWaterMark, then also read some
5547 if (state.length === 0 || state.length - n < state.highWaterMark) {
5548 doRead = true;
5549 debug('length less than watermark', doRead);
5550 }
5551
5552 // however, if we've ended, then there's no point, and if we're already
5553 // reading, then it's unnecessary.
5554 if (state.ended || state.reading) {
5555 doRead = false;
5556 debug('reading or ended', doRead);
5557 }
5558
5559 if (doRead) {
5560 debug('do read');
5561 state.reading = true;
5562 state.sync = true;
5563 // if the length is currently zero, then we *need* a readable event.
5564 if (state.length === 0)
5565 state.needReadable = true;
5566 // call internal read method
5567 this._read(state.highWaterMark);
5568 state.sync = false;
5569 }
5570
5571 // If _read pushed data synchronously, then `reading` will be false,
5572 // and we need to re-evaluate how much data we can return to the user.
5573 if (doRead && !state.reading)
5574 n = howMuchToRead(nOrig, state);
5575
5576 var ret;
5577 if (n > 0)
5578 ret = fromList(n, state);
5579 else
5580 ret = null;
ebd8d4e8 5581
ab78acc6
IC
5582 if (util.isNull(ret)) {
5583 state.needReadable = true;
5584 n = 0;
5585 }
ebd8d4e8 5586
ab78acc6 5587 state.length -= n;
ebd8d4e8 5588
ab78acc6
IC
5589 // If we have nothing in the buffer, then we want to know
5590 // as soon as we *do* get something into the buffer.
5591 if (state.length === 0 && !state.ended)
5592 state.needReadable = true;
ebd8d4e8 5593
ab78acc6
IC
5594 // If we tried to read() past the EOF, then emit end on the next tick.
5595 if (nOrig !== n && state.ended && state.length === 0)
5596 endReadable(this);
5597
5598 if (!util.isNull(ret))
5599 this.emit('data', ret);
5600
5601 return ret;
5602};
5603
5604function chunkInvalid(state, chunk) {
5605 var er = null;
5606 if (!util.isBuffer(chunk) &&
5607 !util.isString(chunk) &&
5608 !util.isNullOrUndefined(chunk) &&
5609 !state.objectMode) {
5610 er = new TypeError('Invalid non-string/buffer chunk');
5611 }
5612 return er;
ebd8d4e8
IC
5613}
5614
5615
ab78acc6
IC
5616function onEofChunk(stream, state) {
5617 if (state.decoder && !state.ended) {
5618 var chunk = state.decoder.end();
5619 if (chunk && chunk.length) {
5620 state.buffer.push(chunk);
5621 state.length += state.objectMode ? 1 : chunk.length;
ebd8d4e8 5622 }
ebd8d4e8 5623 }
ab78acc6 5624 state.ended = true;
ebd8d4e8 5625
ab78acc6
IC
5626 // emit 'readable' now to make sure it gets picked up.
5627 emitReadable(stream);
5628}
5629
5630// Don't emit readable right away in sync mode, because this can trigger
5631// another read() call => stack overflow. This way, it might trigger
5632// a nextTick recursion warning, but that's not so bad.
5633function emitReadable(stream) {
5634 var state = stream._readableState;
5635 state.needReadable = false;
5636 if (!state.emittedReadable) {
5637 debug('emitReadable', state.flowing);
5638 state.emittedReadable = true;
5639 if (state.sync)
5640 process.nextTick(function() {
5641 emitReadable_(stream);
5642 });
5643 else
5644 emitReadable_(stream);
ebd8d4e8 5645 }
ab78acc6 5646}
ebd8d4e8 5647
ab78acc6
IC
5648function emitReadable_(stream) {
5649 debug('emit readable');
5650 stream.emit('readable');
5651 flow(stream);
5652}
ebd8d4e8 5653
ab78acc6
IC
5654
5655// at this point, the user has presumably seen the 'readable' event,
5656// and called read() to consume some data. that may have triggered
5657// in turn another _read(n) call, in which case reading = true if
5658// it's in progress.
5659// However, if we're not ended, or reading, and the length < hwm,
5660// then go ahead and try to read some more preemptively.
5661function maybeReadMore(stream, state) {
5662 if (!state.readingMore) {
5663 state.readingMore = true;
5664 process.nextTick(function() {
5665 maybeReadMore_(stream, state);
5666 });
ebd8d4e8 5667 }
ab78acc6 5668}
ebd8d4e8 5669
ab78acc6
IC
5670function maybeReadMore_(stream, state) {
5671 var len = state.length;
5672 while (!state.reading && !state.flowing && !state.ended &&
5673 state.length < state.highWaterMark) {
5674 debug('maybeReadMore read 0');
5675 stream.read(0);
5676 if (len === state.length)
5677 // didn't get any data, stop spinning.
5678 break;
5679 else
5680 len = state.length;
ebd8d4e8 5681 }
ab78acc6
IC
5682 state.readingMore = false;
5683}
ebd8d4e8 5684
ab78acc6
IC
5685// abstract method. to be overridden in specific implementation classes.
5686// call cb(er, data) where data is <= n in length.
5687// for virtual (non-string, non-buffer) streams, "length" is somewhat
5688// arbitrary, and perhaps not very meaningful.
5689Readable.prototype._read = function(n) {
5690 this.emit('error', new Error('not implemented'));
5691};
5692
5693Readable.prototype.pipe = function(dest, pipeOpts) {
5694 var src = this;
5695 var state = this._readableState;
5696
5697 switch (state.pipesCount) {
5698 case 0:
5699 state.pipes = dest;
5700 break;
5701 case 1:
5702 state.pipes = [state.pipes, dest];
5703 break;
5704 default:
5705 state.pipes.push(dest);
5706 break;
ebd8d4e8 5707 }
ab78acc6
IC
5708 state.pipesCount += 1;
5709 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
ebd8d4e8 5710
ab78acc6
IC
5711 var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
5712 dest !== process.stdout &&
5713 dest !== process.stderr;
ebd8d4e8 5714
ab78acc6
IC
5715 var endFn = doEnd ? onend : cleanup;
5716 if (state.endEmitted)
5717 process.nextTick(endFn);
5718 else
5719 src.once('end', endFn);
5720
5721 dest.on('unpipe', onunpipe);
5722 function onunpipe(readable) {
5723 debug('onunpipe');
5724 if (readable === src) {
5725 cleanup();
5726 }
5727 }
5728
5729 function onend() {
5730 debug('onend');
5731 dest.end();
5732 }
5733
5734 // when the dest drains, it reduces the awaitDrain counter
5735 // on the source. This would be more elegant with a .once()
5736 // handler in flow(), but adding and removing repeatedly is
5737 // too slow.
5738 var ondrain = pipeOnDrain(src);
5739 dest.on('drain', ondrain);
5740
5741 function cleanup() {
5742 debug('cleanup');
5743 // cleanup event handlers once the pipe is broken
5744 dest.removeListener('close', onclose);
5745 dest.removeListener('finish', onfinish);
5746 dest.removeListener('drain', ondrain);
5747 dest.removeListener('error', onerror);
5748 dest.removeListener('unpipe', onunpipe);
5749 src.removeListener('end', onend);
5750 src.removeListener('end', cleanup);
5751 src.removeListener('data', ondata);
5752
5753 // if the reader is waiting for a drain event from this
5754 // specific writer, then it would cause it to never start
5755 // flowing again.
5756 // So, if this is awaiting a drain, then we just call it now.
5757 // If we don't know, then assume that we are waiting for one.
5758 if (state.awaitDrain &&
5759 (!dest._writableState || dest._writableState.needDrain))
5760 ondrain();
5761 }
5762
5763 src.on('data', ondata);
5764 function ondata(chunk) {
5765 debug('ondata');
5766 var ret = dest.write(chunk);
5767 if (false === ret) {
5768 debug('false write response, pause',
5769 src._readableState.awaitDrain);
5770 src._readableState.awaitDrain++;
5771 src.pause();
5772 }
5773 }
5774
5775 // if the dest has an error, then stop piping into it.
5776 // however, don't suppress the throwing behavior for this.
5777 function onerror(er) {
5778 debug('onerror', er);
5779 unpipe();
5780 dest.removeListener('error', onerror);
5781 if (EE.listenerCount(dest, 'error') === 0)
5782 dest.emit('error', er);
5783 }
5784 // This is a brutally ugly hack to make sure that our error handler
5785 // is attached before any userland ones. NEVER DO THIS.
5786 if (!dest._events || !dest._events.error)
5787 dest.on('error', onerror);
5788 else if (isArray(dest._events.error))
5789 dest._events.error.unshift(onerror);
5790 else
5791 dest._events.error = [onerror, dest._events.error];
5792
5793
5794
5795 // Both close and finish should trigger unpipe, but only once.
5796 function onclose() {
5797 dest.removeListener('finish', onfinish);
5798 unpipe();
ebd8d4e8 5799 }
ab78acc6
IC
5800 dest.once('close', onclose);
5801 function onfinish() {
5802 debug('onfinish');
5803 dest.removeListener('close', onclose);
5804 unpipe();
5805 }
5806 dest.once('finish', onfinish);
ebd8d4e8 5807
ab78acc6
IC
5808 function unpipe() {
5809 debug('unpipe');
5810 src.unpipe(dest);
ebd8d4e8
IC
5811 }
5812
ab78acc6
IC
5813 // tell the dest that it's being piped to
5814 dest.emit('pipe', src);
5815
5816 // start the flow if it hasn't been started already.
5817 if (!state.flowing) {
5818 debug('pipe resume');
5819 src.resume();
ebd8d4e8
IC
5820 }
5821
ab78acc6
IC
5822 return dest;
5823};
5824
5825function pipeOnDrain(src) {
5826 return function() {
5827 var state = src._readableState;
5828 debug('pipeOnDrain', state.awaitDrain);
5829 if (state.awaitDrain)
5830 state.awaitDrain--;
5831 if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
5832 state.flowing = true;
5833 flow(src);
5834 }
5835 };
5836}
5837
5838
5839Readable.prototype.unpipe = function(dest) {
5840 var state = this._readableState;
5841
5842 // if we're not piping anywhere, then do nothing.
5843 if (state.pipesCount === 0)
5844 return this;
5845
5846 // just one destination. most common case.
5847 if (state.pipesCount === 1) {
5848 // passed in one, but it's not the right one.
5849 if (dest && dest !== state.pipes)
5850 return this;
5851
5852 if (!dest)
5853 dest = state.pipes;
5854
5855 // got a match.
5856 state.pipes = null;
5857 state.pipesCount = 0;
5858 state.flowing = false;
5859 if (dest)
5860 dest.emit('unpipe', this);
5861 return this;
ebd8d4e8
IC
5862 }
5863
ab78acc6
IC
5864 // slow case. multiple pipe destinations.
5865
5866 if (!dest) {
5867 // remove all.
5868 var dests = state.pipes;
5869 var len = state.pipesCount;
5870 state.pipes = null;
5871 state.pipesCount = 0;
5872 state.flowing = false;
5873
5874 for (var i = 0; i < len; i++)
5875 dests[i].emit('unpipe', this);
5876 return this;
ebd8d4e8
IC
5877 }
5878
ab78acc6
IC
5879 // try to find the right one.
5880 var i = indexOf(state.pipes, dest);
5881 if (i === -1)
5882 return this;
5883
5884 state.pipes.splice(i, 1);
5885 state.pipesCount -= 1;
5886 if (state.pipesCount === 1)
5887 state.pipes = state.pipes[0];
5888
5889 dest.emit('unpipe', this);
ebd8d4e8 5890
ab78acc6
IC
5891 return this;
5892};
5893
5894// set up data events if they are asked for
5895// Ensure readable listeners eventually get something
5896Readable.prototype.on = function(ev, fn) {
5897 var res = Stream.prototype.on.call(this, ev, fn);
5898
5899 // If listening to data, and it has not explicitly been paused,
5900 // then call resume to start the flow of data on the next tick.
5901 if (ev === 'data' && false !== this._readableState.flowing) {
5902 this.resume();
5903 }
5904
5905 if (ev === 'readable' && this.readable) {
5906 var state = this._readableState;
5907 if (!state.readableListening) {
5908 state.readableListening = true;
5909 state.emittedReadable = false;
5910 state.needReadable = true;
5911 if (!state.reading) {
5912 var self = this;
5913 process.nextTick(function() {
5914 debug('readable nexttick read 0');
5915 self.read(0);
5916 });
5917 } else if (state.length) {
5918 emitReadable(this, state);
5919 }
ebd8d4e8
IC
5920 }
5921 }
5922
ab78acc6
IC
5923 return res;
5924};
5925Readable.prototype.addListener = Readable.prototype.on;
5926
5927// pause() and resume() are remnants of the legacy readable stream API
5928// If the user uses them, then switch into old mode.
5929Readable.prototype.resume = function() {
5930 var state = this._readableState;
5931 if (!state.flowing) {
5932 debug('resume');
5933 state.flowing = true;
5934 if (!state.reading) {
5935 debug('resume read 0');
5936 this.read(0);
5937 }
5938 resume(this, state);
5939 }
5940 return this;
5941};
ebd8d4e8 5942
ab78acc6
IC
5943function resume(stream, state) {
5944 if (!state.resumeScheduled) {
5945 state.resumeScheduled = true;
5946 process.nextTick(function() {
5947 resume_(stream, state);
ebd8d4e8
IC
5948 });
5949 }
ebd8d4e8
IC
5950}
5951
ab78acc6
IC
5952function resume_(stream, state) {
5953 state.resumeScheduled = false;
5954 stream.emit('resume');
5955 flow(stream);
5956 if (state.flowing && !state.reading)
5957 stream.read(0);
ebd8d4e8
IC
5958}
5959
ab78acc6
IC
5960Readable.prototype.pause = function() {
5961 debug('call pause flowing=%j', this._readableState.flowing);
5962 if (false !== this._readableState.flowing) {
5963 debug('pause');
5964 this._readableState.flowing = false;
5965 this.emit('pause');
5966 }
5967 return this;
5968};
ebd8d4e8 5969
ab78acc6
IC
5970function flow(stream) {
5971 var state = stream._readableState;
5972 debug('flow', state.flowing);
5973 if (state.flowing) {
5974 do {
5975 var chunk = stream.read();
5976 } while (null !== chunk && state.flowing);
5977 }
ebd8d4e8
IC
5978}
5979
ab78acc6
IC
5980// wrap an old-style stream as the async data source.
5981// This is *not* part of the readable stream interface.
5982// It is an ugly unfortunate mess of history.
5983Readable.prototype.wrap = function(stream) {
5984 var state = this._readableState;
5985 var paused = false;
ebd8d4e8 5986
ab78acc6
IC
5987 var self = this;
5988 stream.on('end', function() {
5989 debug('wrapped end');
5990 if (state.decoder && !state.ended) {
5991 var chunk = state.decoder.end();
5992 if (chunk && chunk.length)
5993 self.push(chunk);
ebd8d4e8 5994 }
ab78acc6
IC
5995
5996 self.push(null);
ebd8d4e8 5997 });
ebd8d4e8 5998
ab78acc6
IC
5999 stream.on('data', function(chunk) {
6000 debug('wrapped data');
6001 if (state.decoder)
6002 chunk = state.decoder.write(chunk);
6003 if (!chunk || !state.objectMode && !chunk.length)
6004 return;
ebd8d4e8 6005
ab78acc6
IC
6006 var ret = self.push(chunk);
6007 if (!ret) {
6008 paused = true;
6009 stream.pause();
ebd8d4e8 6010 }
ab78acc6
IC
6011 });
6012
6013 // proxy all the other methods.
6014 // important when wrapping filters and duplexes.
6015 for (var i in stream) {
6016 if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
6017 this[i] = function(method) { return function() {
6018 return stream[method].apply(stream, arguments);
6019 }}(i);
ebd8d4e8
IC
6020 }
6021 }
ab78acc6
IC
6022
6023 // proxy certain important events.
6024 var events = ['error', 'close', 'destroy', 'pause', 'resume'];
6025 forEach(events, function(ev) {
6026 stream.on(ev, self.emit.bind(self, ev));
6027 });
6028
6029 // when we try to consume some more bytes, simply unpause the
6030 // underlying stream.
6031 self._read = function(n) {
6032 debug('wrapped _read', n);
6033 if (paused) {
6034 paused = false;
6035 stream.resume();
ebd8d4e8 6036 }
ab78acc6
IC
6037 };
6038
6039 return self;
6040};
6041
6042
6043
6044// exposed for testing purposes only.
6045Readable._fromList = fromList;
6046
6047// Pluck off n bytes from an array of buffers.
6048// Length is the combined lengths of all the buffers in the list.
6049function fromList(n, state) {
6050 var list = state.buffer;
6051 var length = state.length;
6052 var stringMode = !!state.decoder;
6053 var objectMode = !!state.objectMode;
6054 var ret;
6055
6056 // nothing in the list, definitely empty.
6057 if (list.length === 0)
6058 return null;
6059
6060 if (length === 0)
6061 ret = null;
6062 else if (objectMode)
6063 ret = list.shift();
6064 else if (!n || n >= length) {
6065 // read it all, truncate the array.
6066 if (stringMode)
6067 ret = list.join('');
6068 else
6069 ret = Buffer.concat(list, length);
6070 list.length = 0;
6071 } else {
6072 // read just some of it.
6073 if (n < list[0].length) {
6074 // just take a part of the first list item.
6075 // slice is the same for buffers and strings.
6076 var buf = list[0];
6077 ret = buf.slice(0, n);
6078 list[0] = buf.slice(n);
6079 } else if (n === list[0].length) {
6080 // first list is a perfect match
6081 ret = list.shift();
ebd8d4e8 6082 } else {
ab78acc6
IC
6083 // complex case.
6084 // we have enough to cover it, but it spans past the first buffer.
6085 if (stringMode)
6086 ret = '';
6087 else
6088 ret = new Buffer(n);
ebd8d4e8 6089
ab78acc6
IC
6090 var c = 0;
6091 for (var i = 0, l = list.length; i < l && c < n; i++) {
6092 var buf = list[0];
6093 var cpy = Math.min(n - c, buf.length);
ebd8d4e8 6094
ab78acc6
IC
6095 if (stringMode)
6096 ret += buf.slice(0, cpy);
6097 else
6098 buf.copy(ret, c, 0, cpy);
ebd8d4e8 6099
ab78acc6
IC
6100 if (cpy < buf.length)
6101 list[0] = buf.slice(cpy);
6102 else
6103 list.shift();
ebd8d4e8 6104
ab78acc6
IC
6105 c += cpy;
6106 }
6107 }
ebd8d4e8
IC
6108 }
6109
ab78acc6 6110 return ret;
ebd8d4e8
IC
6111}
6112
ab78acc6
IC
6113function endReadable(stream) {
6114 var state = stream._readableState;
ebd8d4e8 6115
ab78acc6
IC
6116 // If we get here before consuming all the bytes, then that is a
6117 // bug in node. Should never happen.
6118 if (state.length > 0)
6119 throw new Error('endReadable called on non-empty stream');
ebd8d4e8 6120
ab78acc6
IC
6121 if (!state.endEmitted) {
6122 state.ended = true;
6123 process.nextTick(function() {
6124 // Check that we didn't get one last unshift.
6125 if (!state.endEmitted && state.length === 0) {
6126 state.endEmitted = true;
6127 stream.readable = false;
6128 stream.emit('end');
6129 }
6130 });
6131 }
ebd8d4e8 6132}
ebd8d4e8 6133
ab78acc6
IC
6134function forEach (xs, f) {
6135 for (var i = 0, l = xs.length; i < l; i++) {
6136 f(xs[i], i);
6137 }
ebd8d4e8 6138}
ebd8d4e8 6139
ab78acc6
IC
6140function indexOf (xs, x) {
6141 for (var i = 0, l = xs.length; i < l; i++) {
6142 if (xs[i] === x) return i;
6143 }
6144 return -1;
ebd8d4e8 6145}
ebd8d4e8 6146
ab78acc6
IC
6147}).call(this,require('_process'))
6148},{"./_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){
6149// Copyright Joyent, Inc. and other Node contributors.
6150//
6151// Permission is hereby granted, free of charge, to any person obtaining a
6152// copy of this software and associated documentation files (the
6153// "Software"), to deal in the Software without restriction, including
6154// without limitation the rights to use, copy, modify, merge, publish,
6155// distribute, sublicense, and/or sell copies of the Software, and to permit
6156// persons to whom the Software is furnished to do so, subject to the
6157// following conditions:
6158//
6159// The above copyright notice and this permission notice shall be included
6160// in all copies or substantial portions of the Software.
6161//
6162// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6163// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6164// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6165// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6166// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6167// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6168// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6169
ebd8d4e8 6170
ab78acc6
IC
6171// a transform stream is a readable/writable stream where you do
6172// something with the data. Sometimes it's called a "filter",
6173// but that's not a great name for it, since that implies a thing where
6174// some bits pass through, and others are simply ignored. (That would
6175// be a valid example of a transform, of course.)
6176//
6177// While the output is causally related to the input, it's not a
6178// necessarily symmetric or synchronous transformation. For example,
6179// a zlib stream might take multiple plain-text writes(), and then
6180// emit a single compressed chunk some time in the future.
6181//
6182// Here's how this works:
6183//
6184// The Transform stream has all the aspects of the readable and writable
6185// stream classes. When you write(chunk), that calls _write(chunk,cb)
6186// internally, and returns false if there's a lot of pending writes
6187// buffered up. When you call read(), that calls _read(n) until
6188// there's enough pending readable data buffered up.
6189//
6190// In a transform stream, the written data is placed in a buffer. When
6191// _read(n) is called, it transforms the queued up data, calling the
6192// buffered _write cb's as it consumes chunks. If consuming a single
6193// written chunk would result in multiple output chunks, then the first
6194// outputted bit calls the readcb, and subsequent chunks just go into
6195// the read buffer, and will cause it to emit 'readable' if necessary.
6196//
6197// This way, back-pressure is actually determined by the reading side,
6198// since _read has to be called to start processing a new chunk. However,
6199// a pathological inflate type of transform can cause excessive buffering
6200// here. For example, imagine a stream where every byte of input is
6201// interpreted as an integer from 0-255, and then results in that many
6202// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
6203// 1kb of data being output. In this case, you could write a very small
6204// amount of input, and end up with a very large amount of output. In
6205// such a pathological inflating mechanism, there'd be no way to tell
6206// the system to stop doing the transform. A single 4MB write could
6207// cause the system to run out of memory.
6208//
6209// However, even in such a pathological case, only a single written chunk
6210// would be consumed, and then the rest would wait (un-transformed) until
6211// the results of the previous transformed chunk were consumed.
ebd8d4e8 6212
ab78acc6 6213module.exports = Transform;
ebd8d4e8 6214
ab78acc6 6215var Duplex = require('./_stream_duplex');
ebd8d4e8 6216
ab78acc6
IC
6217/*<replacement>*/
6218var util = require('core-util-is');
6219util.inherits = require('inherits');
6220/*</replacement>*/
6221
6222util.inherits(Transform, Duplex);
6223
6224
6225function TransformState(options, stream) {
6226 this.afterTransform = function(er, data) {
6227 return afterTransform(stream, er, data);
6228 };
6229
6230 this.needTransform = false;
6231 this.transforming = false;
6232 this.writecb = null;
6233 this.writechunk = null;
ebd8d4e8 6234}
ebd8d4e8 6235
ab78acc6
IC
6236function afterTransform(stream, er, data) {
6237 var ts = stream._transformState;
6238 ts.transforming = false;
6239
6240 var cb = ts.writecb;
6241
6242 if (!cb)
6243 return stream.emit('error', new Error('no writecb in Transform class'));
6244
6245 ts.writechunk = null;
6246 ts.writecb = null;
6247
6248 if (!util.isNullOrUndefined(data))
6249 stream.push(data);
6250
6251 if (cb)
6252 cb(er);
6253
6254 var rs = stream._readableState;
6255 rs.reading = false;
6256 if (rs.needReadable || rs.length < rs.highWaterMark) {
6257 stream._read(rs.highWaterMark);
6258 }
ebd8d4e8 6259}
ebd8d4e8 6260
ab78acc6
IC
6261
6262function Transform(options) {
6263 if (!(this instanceof Transform))
6264 return new Transform(options);
6265
6266 Duplex.call(this, options);
6267
6268 this._transformState = new TransformState(options, this);
6269
6270 // when the writable side finishes, then flush out anything remaining.
6271 var stream = this;
6272
6273 // start out asking for a readable event once data is transformed.
6274 this._readableState.needReadable = true;
6275
6276 // we have implemented the _read method, and done the other things
6277 // that Readable wants before the first _read call, so unset the
6278 // sync guard flag.
6279 this._readableState.sync = false;
6280
6281 this.once('prefinish', function() {
6282 if (util.isFunction(this._flush))
6283 this._flush(function(er) {
6284 done(stream, er);
6285 });
6286 else
6287 done(stream);
6288 });
ebd8d4e8 6289}
ebd8d4e8 6290
ab78acc6
IC
6291Transform.prototype.push = function(chunk, encoding) {
6292 this._transformState.needTransform = false;
6293 return Duplex.prototype.push.call(this, chunk, encoding);
6294};
6295
6296// This is the part where you do stuff!
6297// override this function in implementation classes.
6298// 'chunk' is an input chunk.
6299//
6300// Call `push(newChunk)` to pass along transformed output
6301// to the readable side. You may call 'push' zero or more times.
6302//
6303// Call `cb(err)` when you are done with this chunk. If you pass
6304// an error, then that'll put the hurt on the whole operation. If you
6305// never call cb(), then you'll never get another chunk.
6306Transform.prototype._transform = function(chunk, encoding, cb) {
6307 throw new Error('not implemented');
6308};
6309
6310Transform.prototype._write = function(chunk, encoding, cb) {
6311 var ts = this._transformState;
6312 ts.writecb = cb;
6313 ts.writechunk = chunk;
6314 ts.writeencoding = encoding;
6315 if (!ts.transforming) {
6316 var rs = this._readableState;
6317 if (ts.needTransform ||
6318 rs.needReadable ||
6319 rs.length < rs.highWaterMark)
6320 this._read(rs.highWaterMark);
6321 }
6322};
6323
6324// Doesn't matter what the args are here.
6325// _transform does all the work.
6326// That we got here means that the readable side wants more data.
6327Transform.prototype._read = function(n) {
6328 var ts = this._transformState;
ebd8d4e8 6329
ab78acc6
IC
6330 if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
6331 ts.transforming = true;
6332 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
6333 } else {
6334 // mark that we need a transform, so that any data that comes in
6335 // will get processed, now that we've asked for it.
6336 ts.needTransform = true;
6337 }
6338};
ebd8d4e8 6339
ebd8d4e8 6340
ab78acc6
IC
6341function done(stream, er) {
6342 if (er)
6343 return stream.emit('error', er);
ebd8d4e8 6344
ab78acc6
IC
6345 // if there's nothing in the write buffer, then that means
6346 // that nothing more will ever be provided
6347 var ws = stream._writableState;
6348 var ts = stream._transformState;
ebd8d4e8 6349
ab78acc6
IC
6350 if (ws.length)
6351 throw new Error('calling transform done when ws.length != 0');
6352
6353 if (ts.transforming)
6354 throw new Error('calling transform done when still transforming');
6355
6356 return stream.push(null);
ebd8d4e8
IC
6357}
6358
ab78acc6
IC
6359},{"./_stream_duplex":16,"core-util-is":21,"inherits":12}],20:[function(require,module,exports){
6360(function (process){
6361// Copyright Joyent, Inc. and other Node contributors.
6362//
6363// Permission is hereby granted, free of charge, to any person obtaining a
6364// copy of this software and associated documentation files (the
6365// "Software"), to deal in the Software without restriction, including
6366// without limitation the rights to use, copy, modify, merge, publish,
6367// distribute, sublicense, and/or sell copies of the Software, and to permit
6368// persons to whom the Software is furnished to do so, subject to the
6369// following conditions:
6370//
6371// The above copyright notice and this permission notice shall be included
6372// in all copies or substantial portions of the Software.
6373//
6374// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6375// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6376// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6377// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6378// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6379// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6380// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6381
ab78acc6
IC
6382// A bit simpler than readable streams.
6383// Implement an async ._write(chunk, cb), and it'll handle all
6384// the drain event emission and buffering.
ebd8d4e8 6385
ab78acc6 6386module.exports = Writable;
ebd8d4e8 6387
ab78acc6
IC
6388/*<replacement>*/
6389var Buffer = require('buffer').Buffer;
6390/*</replacement>*/
ebd8d4e8 6391
ab78acc6 6392Writable.WritableState = WritableState;
ebd8d4e8
IC
6393
6394
ab78acc6
IC
6395/*<replacement>*/
6396var util = require('core-util-is');
6397util.inherits = require('inherits');
6398/*</replacement>*/
ebd8d4e8 6399
ab78acc6 6400var Stream = require('stream');
ebd8d4e8 6401
ab78acc6 6402util.inherits(Writable, Stream);
ebd8d4e8 6403
ab78acc6
IC
6404function WriteReq(chunk, encoding, cb) {
6405 this.chunk = chunk;
6406 this.encoding = encoding;
6407 this.callback = cb;
ebd8d4e8
IC
6408}
6409
ab78acc6
IC
6410function WritableState(options, stream) {
6411 var Duplex = require('./_stream_duplex');
ebd8d4e8 6412
ab78acc6 6413 options = options || {};
ebd8d4e8 6414
ab78acc6
IC
6415 // the point at which write() starts returning false
6416 // Note: 0 is a valid value, means that we always return false if
6417 // the entire buffer is not flushed immediately on write()
6418 var hwm = options.highWaterMark;
6419 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
6420 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
ebd8d4e8 6421
ab78acc6
IC
6422 // object stream flag to indicate whether or not this stream
6423 // contains buffers or objects.
6424 this.objectMode = !!options.objectMode;
ebd8d4e8 6425
ab78acc6
IC
6426 if (stream instanceof Duplex)
6427 this.objectMode = this.objectMode || !!options.writableObjectMode;
ebd8d4e8 6428
ab78acc6
IC
6429 // cast to ints.
6430 this.highWaterMark = ~~this.highWaterMark;
ebd8d4e8 6431
ab78acc6
IC
6432 this.needDrain = false;
6433 // at the start of calling end()
6434 this.ending = false;
6435 // when end() has been called, and returned
6436 this.ended = false;
6437 // when 'finish' is emitted
6438 this.finished = false;
ebd8d4e8 6439
ab78acc6
IC
6440 // should we decode strings into buffers before passing to _write?
6441 // this is here so that some node-core streams can optimize string
6442 // handling at a lower level.
6443 var noDecode = options.decodeStrings === false;
6444 this.decodeStrings = !noDecode;
ebd8d4e8 6445
ab78acc6
IC
6446 // Crypto is kind of old and crusty. Historically, its default string
6447 // encoding is 'binary' so we have to make this configurable.
6448 // Everything else in the universe uses 'utf8', though.
6449 this.defaultEncoding = options.defaultEncoding || 'utf8';
ebd8d4e8 6450
ab78acc6
IC
6451 // not an actual buffer we keep track of, but a measurement
6452 // of how much we're waiting to get pushed to some underlying
6453 // socket or file.
6454 this.length = 0;
ebd8d4e8 6455
ab78acc6
IC
6456 // a flag to see when we're in the middle of a write.
6457 this.writing = false;
ebd8d4e8 6458
ab78acc6
IC
6459 // when true all writes will be buffered until .uncork() call
6460 this.corked = 0;
ebd8d4e8 6461
ab78acc6
IC
6462 // a flag to be able to tell if the onwrite cb is called immediately,
6463 // or on a later tick. We set this to true at first, because any
6464 // actions that shouldn't happen until "later" should generally also
6465 // not happen before the first write call.
6466 this.sync = true;
ebd8d4e8 6467
ab78acc6
IC
6468 // a flag to know if we're processing previously buffered items, which
6469 // may call the _write() callback in the same tick, so that we don't
6470 // end up in an overlapped onwrite situation.
6471 this.bufferProcessing = false;
ebd8d4e8 6472
ab78acc6
IC
6473 // the callback that's passed to _write(chunk,cb)
6474 this.onwrite = function(er) {
6475 onwrite(stream, er);
6476 };
ebd8d4e8 6477
ab78acc6
IC
6478 // the callback that the user supplies to write(chunk,encoding,cb)
6479 this.writecb = null;
ebd8d4e8 6480
ab78acc6
IC
6481 // the amount that is being written when _write is called.
6482 this.writelen = 0;
ebd8d4e8 6483
ab78acc6 6484 this.buffer = [];
ebd8d4e8 6485
ab78acc6
IC
6486 // number of pending user-supplied write callbacks
6487 // this must be 0 before 'finish' can be emitted
6488 this.pendingcb = 0;
ebd8d4e8 6489
ab78acc6
IC
6490 // emit prefinish if the only thing we're waiting for is _write cbs
6491 // This is relevant for synchronous Transform streams
6492 this.prefinished = false;
ebd8d4e8 6493
ab78acc6
IC
6494 // True if the error was already emitted and should not be thrown again
6495 this.errorEmitted = false;
ebd8d4e8
IC
6496}
6497
ab78acc6
IC
6498function Writable(options) {
6499 var Duplex = require('./_stream_duplex');
ebd8d4e8 6500
ab78acc6
IC
6501 // Writable ctor is applied to Duplexes, though they're not
6502 // instanceof Writable, they're instanceof Readable.
6503 if (!(this instanceof Writable) && !(this instanceof Duplex))
6504 return new Writable(options);
ebd8d4e8 6505
ab78acc6 6506 this._writableState = new WritableState(options, this);
ebd8d4e8 6507
ab78acc6
IC
6508 // legacy.
6509 this.writable = true;
ebd8d4e8 6510
ab78acc6 6511 Stream.call(this);
ebd8d4e8
IC
6512}
6513
ab78acc6
IC
6514// Otherwise people can pipe Writable streams, which is just wrong.
6515Writable.prototype.pipe = function() {
6516 this.emit('error', new Error('Cannot pipe. Not readable.'));
6517};
ebd8d4e8 6518
ebd8d4e8 6519
ab78acc6
IC
6520function writeAfterEnd(stream, state, cb) {
6521 var er = new Error('write after end');
6522 // TODO: defer error events consistently everywhere, not just the cb
6523 stream.emit('error', er);
6524 process.nextTick(function() {
6525 cb(er);
6526 });
ebd8d4e8
IC
6527}
6528
ab78acc6
IC
6529// If we get something that is not a buffer, string, null, or undefined,
6530// and we're not in objectMode, then that's an error.
6531// Otherwise stream chunks are all considered to be of length=1, and the
6532// watermarks determine how many objects to keep in the buffer, rather than
6533// how many bytes or characters.
6534function validChunk(stream, state, chunk, cb) {
6535 var valid = true;
6536 if (!util.isBuffer(chunk) &&
6537 !util.isString(chunk) &&
6538 !util.isNullOrUndefined(chunk) &&
6539 !state.objectMode) {
6540 var er = new TypeError('Invalid non-string/buffer chunk');
6541 stream.emit('error', er);
6542 process.nextTick(function() {
6543 cb(er);
6544 });
6545 valid = false;
6546 }
6547 return valid;
ebd8d4e8
IC
6548}
6549
ab78acc6
IC
6550Writable.prototype.write = function(chunk, encoding, cb) {
6551 var state = this._writableState;
6552 var ret = false;
ebd8d4e8 6553
ab78acc6
IC
6554 if (util.isFunction(encoding)) {
6555 cb = encoding;
6556 encoding = null;
ebd8d4e8 6557 }
ebd8d4e8 6558
ab78acc6
IC
6559 if (util.isBuffer(chunk))
6560 encoding = 'buffer';
6561 else if (!encoding)
6562 encoding = state.defaultEncoding;
6563
6564 if (!util.isFunction(cb))
6565 cb = function() {};
6566
6567 if (state.ended)
6568 writeAfterEnd(this, state, cb);
6569 else if (validChunk(this, state, chunk, cb)) {
6570 state.pendingcb++;
6571 ret = writeOrBuffer(this, state, chunk, encoding, cb);
ebd8d4e8 6572 }
ebd8d4e8 6573
ab78acc6
IC
6574 return ret;
6575};
6576
6577Writable.prototype.cork = function() {
6578 var state = this._writableState;
6579
6580 state.corked++;
6581};
ebd8d4e8 6582
ab78acc6
IC
6583Writable.prototype.uncork = function() {
6584 var state = this._writableState;
ebd8d4e8 6585
ab78acc6
IC
6586 if (state.corked) {
6587 state.corked--;
ebd8d4e8 6588
ab78acc6
IC
6589 if (!state.writing &&
6590 !state.corked &&
6591 !state.finished &&
6592 !state.bufferProcessing &&
6593 state.buffer.length)
6594 clearBuffer(this, state);
ebd8d4e8 6595 }
ab78acc6 6596};
ebd8d4e8 6597
ab78acc6
IC
6598function decodeChunk(state, chunk, encoding) {
6599 if (!state.objectMode &&
6600 state.decodeStrings !== false &&
6601 util.isString(chunk)) {
6602 chunk = new Buffer(chunk, encoding);
ebd8d4e8 6603 }
ab78acc6 6604 return chunk;
ebd8d4e8
IC
6605}
6606
ab78acc6
IC
6607// if we're already writing something, then just put this
6608// in the queue, and wait our turn. Otherwise, call _write
6609// If we return false, then we need a drain event, so set that flag.
6610function writeOrBuffer(stream, state, chunk, encoding, cb) {
6611 chunk = decodeChunk(state, chunk, encoding);
6612 if (util.isBuffer(chunk))
6613 encoding = 'buffer';
6614 var len = state.objectMode ? 1 : chunk.length;
6615
6616 state.length += len;
6617
6618 var ret = state.length < state.highWaterMark;
6619 // we must ensure that previous needDrain will not be reset to false.
6620 if (!ret)
6621 state.needDrain = true;
6622
6623 if (state.writing || state.corked)
6624 state.buffer.push(new WriteReq(chunk, encoding, cb));
6625 else
6626 doWrite(stream, state, false, len, chunk, encoding, cb);
6627
6628 return ret;
ebd8d4e8
IC
6629}
6630
ab78acc6
IC
6631function doWrite(stream, state, writev, len, chunk, encoding, cb) {
6632 state.writelen = len;
6633 state.writecb = cb;
6634 state.writing = true;
6635 state.sync = true;
6636 if (writev)
6637 stream._writev(chunk, state.onwrite);
6638 else
6639 stream._write(chunk, encoding, state.onwrite);
6640 state.sync = false;
ebd8d4e8
IC
6641}
6642
ab78acc6
IC
6643function onwriteError(stream, state, sync, er, cb) {
6644 if (sync)
6645 process.nextTick(function() {
6646 state.pendingcb--;
6647 cb(er);
6648 });
6649 else {
6650 state.pendingcb--;
6651 cb(er);
6652 }
ebd8d4e8 6653
ab78acc6
IC
6654 stream._writableState.errorEmitted = true;
6655 stream.emit('error', er);
6656}
ebd8d4e8 6657
ab78acc6
IC
6658function onwriteStateUpdate(state) {
6659 state.writing = false;
6660 state.writecb = null;
6661 state.length -= state.writelen;
6662 state.writelen = 0;
6663}
ebd8d4e8 6664
ab78acc6
IC
6665function onwrite(stream, er) {
6666 var state = stream._writableState;
6667 var sync = state.sync;
6668 var cb = state.writecb;
ebd8d4e8 6669
ab78acc6 6670 onwriteStateUpdate(state);
ebd8d4e8 6671
ab78acc6
IC
6672 if (er)
6673 onwriteError(stream, state, sync, er, cb);
6674 else {
6675 // Check if we're actually ready to finish, but don't emit yet
6676 var finished = needFinish(stream, state);
ebd8d4e8 6677
ab78acc6
IC
6678 if (!finished &&
6679 !state.corked &&
6680 !state.bufferProcessing &&
6681 state.buffer.length) {
6682 clearBuffer(stream, state);
6683 }
6684
6685 if (sync) {
6686 process.nextTick(function() {
6687 afterWrite(stream, state, finished, cb);
6688 });
6689 } else {
6690 afterWrite(stream, state, finished, cb);
ebd8d4e8 6691 }
ebd8d4e8
IC
6692 }
6693}
6694
ab78acc6
IC
6695function afterWrite(stream, state, finished, cb) {
6696 if (!finished)
6697 onwriteDrain(stream, state);
6698 state.pendingcb--;
6699 cb();
6700 finishMaybe(stream, state);
6701}
6702
6703// Must force callback to be called on nextTick, so that we don't
6704// emit 'drain' before the write() consumer gets the 'false' return
6705// value, and has a chance to attach a 'drain' listener.
6706function onwriteDrain(stream, state) {
6707 if (state.length === 0 && state.needDrain) {
6708 state.needDrain = false;
6709 stream.emit('drain');
ebd8d4e8
IC
6710 }
6711}
6712
ebd8d4e8 6713
ab78acc6
IC
6714// if there's something in the buffer waiting, then process it
6715function clearBuffer(stream, state) {
6716 state.bufferProcessing = true;
6717
6718 if (stream._writev && state.buffer.length > 1) {
6719 // Fast case, write everything using _writev()
6720 var cbs = [];
6721 for (var c = 0; c < state.buffer.length; c++)
6722 cbs.push(state.buffer[c].callback);
6723
6724 // count the one we are adding, as well.
6725 // TODO(isaacs) clean this up
6726 state.pendingcb++;
6727 doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
6728 for (var i = 0; i < cbs.length; i++) {
6729 state.pendingcb--;
6730 cbs[i](err);
6731 }
6732 });
6733
6734 // Clear buffer
6735 state.buffer = [];
6736 } else {
6737 // Slow case, write chunks one-by-one
6738 for (var c = 0; c < state.buffer.length; c++) {
6739 var entry = state.buffer[c];
6740 var chunk = entry.chunk;
6741 var encoding = entry.encoding;
6742 var cb = entry.callback;
6743 var len = state.objectMode ? 1 : chunk.length;
6744
6745 doWrite(stream, state, false, len, chunk, encoding, cb);
6746
6747 // if we didn't call the onwrite immediately, then
6748 // it means that we need to wait until it does.
6749 // also, that means that the chunk and cb are currently
6750 // being processed, so move the buffer counter past them.
6751 if (state.writing) {
6752 c++;
6753 break;
6754 }
ebd8d4e8 6755 }
ab78acc6
IC
6756
6757 if (c < state.buffer.length)
6758 state.buffer = state.buffer.slice(c);
6759 else
6760 state.buffer.length = 0;
ebd8d4e8
IC
6761 }
6762
ab78acc6 6763 state.bufferProcessing = false;
ebd8d4e8
IC
6764}
6765
ab78acc6
IC
6766Writable.prototype._write = function(chunk, encoding, cb) {
6767 cb(new Error('not implemented'));
ebd8d4e8 6768
ab78acc6 6769};
ebd8d4e8 6770
ab78acc6 6771Writable.prototype._writev = null;
ebd8d4e8 6772
ab78acc6
IC
6773Writable.prototype.end = function(chunk, encoding, cb) {
6774 var state = this._writableState;
ebd8d4e8 6775
ab78acc6
IC
6776 if (util.isFunction(chunk)) {
6777 cb = chunk;
6778 chunk = null;
6779 encoding = null;
6780 } else if (util.isFunction(encoding)) {
6781 cb = encoding;
6782 encoding = null;
6783 }
ebd8d4e8 6784
ab78acc6
IC
6785 if (!util.isNullOrUndefined(chunk))
6786 this.write(chunk, encoding);
6787
6788 // .end() fully uncorks
6789 if (state.corked) {
6790 state.corked = 1;
6791 this.uncork();
ebd8d4e8 6792 }
ab78acc6
IC
6793
6794 // ignore unnecessary end() calls.
6795 if (!state.ending && !state.finished)
6796 endWritable(this, state, cb);
6797};
6798
6799
6800function needFinish(stream, state) {
6801 return (state.ending &&
6802 state.length === 0 &&
6803 !state.finished &&
6804 !state.writing);
ebd8d4e8
IC
6805}
6806
ab78acc6
IC
6807function prefinish(stream, state) {
6808 if (!state.prefinished) {
6809 state.prefinished = true;
6810 stream.emit('prefinish');
ebd8d4e8 6811 }
ebd8d4e8
IC
6812}
6813
ab78acc6
IC
6814function finishMaybe(stream, state) {
6815 var need = needFinish(stream, state);
6816 if (need) {
6817 if (state.pendingcb === 0) {
6818 prefinish(stream, state);
6819 state.finished = true;
6820 stream.emit('finish');
6821 } else
6822 prefinish(stream, state);
6823 }
6824 return need;
6825}
ebd8d4e8 6826
ab78acc6
IC
6827function endWritable(stream, state, cb) {
6828 state.ending = true;
6829 finishMaybe(stream, state);
6830 if (cb) {
6831 if (state.finished)
6832 process.nextTick(cb);
6833 else
6834 stream.once('finish', cb);
ebd8d4e8 6835 }
ab78acc6 6836 state.ended = true;
ebd8d4e8
IC
6837}
6838
ab78acc6
IC
6839}).call(this,require('_process'))
6840},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"inherits":12,"stream":26}],21:[function(require,module,exports){
6841(function (Buffer){
6842// Copyright Joyent, Inc. and other Node contributors.
6843//
6844// Permission is hereby granted, free of charge, to any person obtaining a
6845// copy of this software and associated documentation files (the
6846// "Software"), to deal in the Software without restriction, including
6847// without limitation the rights to use, copy, modify, merge, publish,
6848// distribute, sublicense, and/or sell copies of the Software, and to permit
6849// persons to whom the Software is furnished to do so, subject to the
6850// following conditions:
6851//
6852// The above copyright notice and this permission notice shall be included
6853// in all copies or substantial portions of the Software.
6854//
6855// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6856// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6857// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6858// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6859// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6860// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6861// USE OR OTHER DEALINGS IN THE SOFTWARE.
6862
6863// NOTE: These type checking functions intentionally don't use `instanceof`
6864// because it is fragile and can be easily faked with `Object.create()`.
6865function isArray(ar) {
6866 return Array.isArray(ar);
ebd8d4e8 6867}
ab78acc6 6868exports.isArray = isArray;
ebd8d4e8 6869
ab78acc6
IC
6870function isBoolean(arg) {
6871 return typeof arg === 'boolean';
ebd8d4e8 6872}
ab78acc6 6873exports.isBoolean = isBoolean;
ebd8d4e8 6874
ab78acc6
IC
6875function isNull(arg) {
6876 return arg === null;
6877}
6878exports.isNull = isNull;
ebd8d4e8 6879
ab78acc6
IC
6880function isNullOrUndefined(arg) {
6881 return arg == null;
6882}
6883exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 6884
ab78acc6
IC
6885function isNumber(arg) {
6886 return typeof arg === 'number';
ebd8d4e8 6887}
ab78acc6 6888exports.isNumber = isNumber;
ebd8d4e8 6889
ab78acc6
IC
6890function isString(arg) {
6891 return typeof arg === 'string';
6892}
6893exports.isString = isString;
ebd8d4e8 6894
ab78acc6
IC
6895function isSymbol(arg) {
6896 return typeof arg === 'symbol';
6897}
6898exports.isSymbol = isSymbol;
ebd8d4e8 6899
ab78acc6
IC
6900function isUndefined(arg) {
6901 return arg === void 0;
ebd8d4e8 6902}
ab78acc6 6903exports.isUndefined = isUndefined;
ebd8d4e8 6904
ab78acc6
IC
6905function isRegExp(re) {
6906 return isObject(re) && objectToString(re) === '[object RegExp]';
ebd8d4e8 6907}
ab78acc6 6908exports.isRegExp = isRegExp;
ebd8d4e8 6909
ab78acc6
IC
6910function isObject(arg) {
6911 return typeof arg === 'object' && arg !== null;
ebd8d4e8 6912}
ab78acc6 6913exports.isObject = isObject;
ebd8d4e8 6914
ab78acc6
IC
6915function isDate(d) {
6916 return isObject(d) && objectToString(d) === '[object Date]';
6917}
6918exports.isDate = isDate;
ebd8d4e8 6919
ab78acc6
IC
6920function isError(e) {
6921 return isObject(e) &&
6922 (objectToString(e) === '[object Error]' || e instanceof Error);
6923}
6924exports.isError = isError;
ebd8d4e8 6925
ab78acc6
IC
6926function isFunction(arg) {
6927 return typeof arg === 'function';
6928}
6929exports.isFunction = isFunction;
6930
6931function isPrimitive(arg) {
6932 return arg === null ||
6933 typeof arg === 'boolean' ||
6934 typeof arg === 'number' ||
6935 typeof arg === 'string' ||
6936 typeof arg === 'symbol' || // ES6 symbol
6937 typeof arg === 'undefined';
ebd8d4e8 6938}
ab78acc6 6939exports.isPrimitive = isPrimitive;
ebd8d4e8 6940
ab78acc6
IC
6941function isBuffer(arg) {
6942 return Buffer.isBuffer(arg);
ebd8d4e8 6943}
ab78acc6 6944exports.isBuffer = isBuffer;
ebd8d4e8 6945
ab78acc6
IC
6946function objectToString(o) {
6947 return Object.prototype.toString.call(o);
ebd8d4e8 6948}
ab78acc6
IC
6949}).call(this,require("buffer").Buffer)
6950},{"buffer":7}],22:[function(require,module,exports){
6951module.exports = require("./lib/_stream_passthrough.js")
ebd8d4e8 6952
ab78acc6
IC
6953},{"./lib/_stream_passthrough.js":17}],23:[function(require,module,exports){
6954exports = module.exports = require('./lib/_stream_readable.js');
6955exports.Stream = require('stream');
6956exports.Readable = exports;
6957exports.Writable = require('./lib/_stream_writable.js');
6958exports.Duplex = require('./lib/_stream_duplex.js');
6959exports.Transform = require('./lib/_stream_transform.js');
6960exports.PassThrough = require('./lib/_stream_passthrough.js');
ebd8d4e8 6961
ab78acc6
IC
6962},{"./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){
6963module.exports = require("./lib/_stream_transform.js")
ebd8d4e8 6964
ab78acc6
IC
6965},{"./lib/_stream_transform.js":19}],25:[function(require,module,exports){
6966module.exports = require("./lib/_stream_writable.js")
6967
6968},{"./lib/_stream_writable.js":20}],26:[function(require,module,exports){
6969// Copyright Joyent, Inc. and other Node contributors.
6970//
6971// Permission is hereby granted, free of charge, to any person obtaining a
6972// copy of this software and associated documentation files (the
6973// "Software"), to deal in the Software without restriction, including
6974// without limitation the rights to use, copy, modify, merge, publish,
6975// distribute, sublicense, and/or sell copies of the Software, and to permit
6976// persons to whom the Software is furnished to do so, subject to the
6977// following conditions:
6978//
6979// The above copyright notice and this permission notice shall be included
6980// in all copies or substantial portions of the Software.
6981//
6982// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6983// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6984// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6985// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6986// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6987// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6988// USE OR OTHER DEALINGS IN THE SOFTWARE.
6989
6990module.exports = Stream;
6991
6992var EE = require('events').EventEmitter;
6993var inherits = require('inherits');
6994
6995inherits(Stream, EE);
6996Stream.Readable = require('readable-stream/readable.js');
6997Stream.Writable = require('readable-stream/writable.js');
6998Stream.Duplex = require('readable-stream/duplex.js');
6999Stream.Transform = require('readable-stream/transform.js');
7000Stream.PassThrough = require('readable-stream/passthrough.js');
7001
7002// Backwards-compat with node 0.4.x
7003Stream.Stream = Stream;
7004
7005
7006
7007// old-style streams. Note that the pipe method (the only relevant
7008// part of this class) is overridden in the Readable class.
7009
7010function Stream() {
7011 EE.call(this);
ebd8d4e8
IC
7012}
7013
ab78acc6
IC
7014Stream.prototype.pipe = function(dest, options) {
7015 var source = this;
ebd8d4e8 7016
ab78acc6
IC
7017 function ondata(chunk) {
7018 if (dest.writable) {
7019 if (false === dest.write(chunk) && source.pause) {
7020 source.pause();
7021 }
7022 }
7023 }
ebd8d4e8 7024
ab78acc6 7025 source.on('data', ondata);
ebd8d4e8 7026
ab78acc6
IC
7027 function ondrain() {
7028 if (source.readable && source.resume) {
7029 source.resume();
7030 }
7031 }
ebd8d4e8 7032
ab78acc6 7033 dest.on('drain', ondrain);
ebd8d4e8 7034
ab78acc6
IC
7035 // If the 'end' option is not supplied, dest.end() will be called when
7036 // source gets the 'end' or 'close' events. Only dest.end() once.
7037 if (!dest._isStdio && (!options || options.end !== false)) {
7038 source.on('end', onend);
7039 source.on('close', onclose);
ebd8d4e8
IC
7040 }
7041
ab78acc6
IC
7042 var didOnEnd = false;
7043 function onend() {
7044 if (didOnEnd) return;
7045 didOnEnd = true;
ebd8d4e8 7046
ab78acc6
IC
7047 dest.end();
7048 }
ebd8d4e8 7049
ebd8d4e8 7050
ab78acc6
IC
7051 function onclose() {
7052 if (didOnEnd) return;
7053 didOnEnd = true;
ebd8d4e8 7054
ab78acc6 7055 if (typeof dest.destroy === 'function') dest.destroy();
ebd8d4e8
IC
7056 }
7057
ab78acc6
IC
7058 // don't leave dangling pipes when there are errors.
7059 function onerror(er) {
7060 cleanup();
7061 if (EE.listenerCount(this, 'error') === 0) {
7062 throw er; // Unhandled stream error in pipe.
7063 }
7064 }
ebd8d4e8 7065
ab78acc6
IC
7066 source.on('error', onerror);
7067 dest.on('error', onerror);
ebd8d4e8 7068
ab78acc6
IC
7069 // remove all the event listeners that were added.
7070 function cleanup() {
7071 source.removeListener('data', ondata);
7072 dest.removeListener('drain', ondrain);
ebd8d4e8 7073
ab78acc6
IC
7074 source.removeListener('end', onend);
7075 source.removeListener('close', onclose);
7076
7077 source.removeListener('error', onerror);
7078 dest.removeListener('error', onerror);
7079
7080 source.removeListener('end', cleanup);
7081 source.removeListener('close', cleanup);
7082
7083 dest.removeListener('close', cleanup);
ebd8d4e8
IC
7084 }
7085
ab78acc6
IC
7086 source.on('end', cleanup);
7087 source.on('close', cleanup);
ebd8d4e8 7088
ab78acc6 7089 dest.on('close', cleanup);
ebd8d4e8 7090
ab78acc6 7091 dest.emit('pipe', source);
ebd8d4e8 7092
ab78acc6
IC
7093 // Allow for unix-like usage: A.pipe(B).pipe(C)
7094 return dest;
7095};
ebd8d4e8 7096
ab78acc6
IC
7097},{"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){
7098// Copyright Joyent, Inc. and other Node contributors.
7099//
7100// Permission is hereby granted, free of charge, to any person obtaining a
7101// copy of this software and associated documentation files (the
7102// "Software"), to deal in the Software without restriction, including
7103// without limitation the rights to use, copy, modify, merge, publish,
7104// distribute, sublicense, and/or sell copies of the Software, and to permit
7105// persons to whom the Software is furnished to do so, subject to the
7106// following conditions:
7107//
7108// The above copyright notice and this permission notice shall be included
7109// in all copies or substantial portions of the Software.
7110//
7111// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7112// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7113// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7114// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7115// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7116// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7117// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7118
ab78acc6 7119var Buffer = require('buffer').Buffer;
ebd8d4e8 7120
ab78acc6
IC
7121var isBufferEncoding = Buffer.isEncoding
7122 || function(encoding) {
7123 switch (encoding && encoding.toLowerCase()) {
7124 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;
7125 default: return false;
7126 }
7127 }
ebd8d4e8 7128
ebd8d4e8 7129
ab78acc6
IC
7130function assertEncoding(encoding) {
7131 if (encoding && !isBufferEncoding(encoding)) {
7132 throw new Error('Unknown encoding: ' + encoding);
ebd8d4e8 7133 }
ebd8d4e8
IC
7134}
7135
ab78acc6
IC
7136// StringDecoder provides an interface for efficiently splitting a series of
7137// buffers into a series of JS strings without breaking apart multi-byte
7138// characters. CESU-8 is handled as part of the UTF-8 encoding.
7139//
7140// @TODO Handling all encodings inside a single object makes it very difficult
7141// to reason about this code, so it should be split up in the future.
7142// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
7143// points as used by CESU-8.
7144var StringDecoder = exports.StringDecoder = function(encoding) {
7145 this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
7146 assertEncoding(encoding);
7147 switch (this.encoding) {
7148 case 'utf8':
7149 // CESU-8 represents each of Surrogate Pair by 3-bytes
7150 this.surrogateSize = 3;
7151 break;
7152 case 'ucs2':
7153 case 'utf16le':
7154 // UTF-16 represents each of Surrogate Pair by 2-bytes
7155 this.surrogateSize = 2;
7156 this.detectIncompleteChar = utf16DetectIncompleteChar;
7157 break;
7158 case 'base64':
7159 // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
7160 this.surrogateSize = 3;
7161 this.detectIncompleteChar = base64DetectIncompleteChar;
7162 break;
7163 default:
7164 this.write = passThroughWrite;
7165 return;
7166 }
ebd8d4e8 7167
ab78acc6
IC
7168 // Enough space to store all bytes of a single character. UTF-8 needs 4
7169 // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
7170 this.charBuffer = new Buffer(6);
7171 // Number of bytes received for the current incomplete multi-byte character.
7172 this.charReceived = 0;
7173 // Number of bytes expected for the current incomplete multi-byte character.
7174 this.charLength = 0;
7175};
ebd8d4e8 7176
ebd8d4e8 7177
ab78acc6
IC
7178// write decodes the given buffer and returns it as JS string that is
7179// guaranteed to not contain any partial multi-byte characters. Any partial
7180// character found at the end of the buffer is buffered up, and will be
7181// returned when calling write again with the remaining bytes.
7182//
7183// Note: Converting a Buffer containing an orphan surrogate to a String
7184// currently works, but converting a String to a Buffer (via `new Buffer`, or
7185// Buffer#write) will replace incomplete surrogates with the unicode
7186// replacement character. See https://codereview.chromium.org/121173009/ .
7187StringDecoder.prototype.write = function(buffer) {
7188 var charStr = '';
7189 // if our last write ended with an incomplete multibyte character
7190 while (this.charLength) {
7191 // determine how many remaining bytes this buffer has to offer for this char
7192 var available = (buffer.length >= this.charLength - this.charReceived) ?
7193 this.charLength - this.charReceived :
7194 buffer.length;
7195
7196 // add the new bytes to the char buffer
7197 buffer.copy(this.charBuffer, this.charReceived, 0, available);
7198 this.charReceived += available;
7199
7200 if (this.charReceived < this.charLength) {
7201 // still not enough chars in this buffer? wait for more ...
7202 return '';
7203 }
7204
7205 // remove bytes belonging to the current character from the buffer
7206 buffer = buffer.slice(available, buffer.length);
7207
7208 // get the character that was split
7209 charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
7210
7211 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7212 var charCode = charStr.charCodeAt(charStr.length - 1);
7213 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7214 this.charLength += this.surrogateSize;
7215 charStr = '';
7216 continue;
7217 }
7218 this.charReceived = this.charLength = 0;
ebd8d4e8 7219
ab78acc6
IC
7220 // if there are no more bytes in this buffer, just emit our char
7221 if (buffer.length === 0) {
7222 return charStr;
7223 }
7224 break;
ebd8d4e8 7225 }
ebd8d4e8 7226
ab78acc6
IC
7227 // determine and set charLength / charReceived
7228 this.detectIncompleteChar(buffer);
ebd8d4e8 7229
ab78acc6
IC
7230 var end = buffer.length;
7231 if (this.charLength) {
7232 // buffer the incomplete character bytes we got
7233 buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
7234 end -= this.charReceived;
ebd8d4e8
IC
7235 }
7236
ab78acc6 7237 charStr += buffer.toString(this.encoding, 0, end);
ebd8d4e8 7238
ab78acc6
IC
7239 var end = charStr.length - 1;
7240 var charCode = charStr.charCodeAt(end);
7241 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7242 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7243 var size = this.surrogateSize;
7244 this.charLength += size;
7245 this.charReceived += size;
7246 this.charBuffer.copy(this.charBuffer, size, 0, size);
7247 buffer.copy(this.charBuffer, 0, 0, size);
7248 return charStr.substring(0, end);
ebd8d4e8
IC
7249 }
7250
ab78acc6
IC
7251 // or just emit the charStr
7252 return charStr;
7253};
ebd8d4e8 7254
ab78acc6
IC
7255// detectIncompleteChar determines if there is an incomplete UTF-8 character at
7256// the end of the given buffer. If so, it sets this.charLength to the byte
7257// length that character, and sets this.charReceived to the number of bytes
7258// that are available for this character.
7259StringDecoder.prototype.detectIncompleteChar = function(buffer) {
7260 // determine how many bytes we have to check at the end of this buffer
7261 var i = (buffer.length >= 3) ? 3 : buffer.length;
ebd8d4e8 7262
ab78acc6
IC
7263 // Figure out if one of the last i bytes of our buffer announces an
7264 // incomplete char.
7265 for (; i > 0; i--) {
7266 var c = buffer[buffer.length - i];
ebd8d4e8 7267
ab78acc6 7268 // See http://en.wikipedia.org/wiki/UTF-8#Description
ebd8d4e8 7269
ab78acc6
IC
7270 // 110XXXXX
7271 if (i == 1 && c >> 5 == 0x06) {
7272 this.charLength = 2;
7273 break;
7274 }
ebd8d4e8 7275
ab78acc6
IC
7276 // 1110XXXX
7277 if (i <= 2 && c >> 4 == 0x0E) {
7278 this.charLength = 3;
7279 break;
7280 }
ebd8d4e8 7281
ab78acc6
IC
7282 // 11110XXX
7283 if (i <= 3 && c >> 3 == 0x1E) {
7284 this.charLength = 4;
7285 break;
7286 }
7287 }
7288 this.charReceived = i;
7289};
ebd8d4e8 7290
ab78acc6
IC
7291StringDecoder.prototype.end = function(buffer) {
7292 var res = '';
7293 if (buffer && buffer.length)
7294 res = this.write(buffer);
ebd8d4e8 7295
ab78acc6
IC
7296 if (this.charReceived) {
7297 var cr = this.charReceived;
7298 var buf = this.charBuffer;
7299 var enc = this.encoding;
7300 res += buf.slice(0, cr).toString(enc);
ebd8d4e8
IC
7301 }
7302
ab78acc6
IC
7303 return res;
7304};
ebd8d4e8 7305
ab78acc6
IC
7306function passThroughWrite(buffer) {
7307 return buffer.toString(this.encoding);
ebd8d4e8
IC
7308}
7309
ab78acc6
IC
7310function utf16DetectIncompleteChar(buffer) {
7311 this.charReceived = buffer.length % 2;
7312 this.charLength = this.charReceived ? 2 : 0;
ebd8d4e8
IC
7313}
7314
ab78acc6
IC
7315function base64DetectIncompleteChar(buffer) {
7316 this.charReceived = buffer.length % 3;
7317 this.charLength = this.charReceived ? 3 : 0;
ebd8d4e8
IC
7318}
7319
ab78acc6
IC
7320},{"buffer":7}],28:[function(require,module,exports){
7321module.exports = function isBuffer(arg) {
7322 return arg && typeof arg === 'object'
7323 && typeof arg.copy === 'function'
7324 && typeof arg.fill === 'function'
7325 && typeof arg.readUInt8 === 'function';
7326}
7327},{}],29:[function(require,module,exports){
7328(function (process,global){
7329// Copyright Joyent, Inc. and other Node contributors.
7330//
7331// Permission is hereby granted, free of charge, to any person obtaining a
7332// copy of this software and associated documentation files (the
7333// "Software"), to deal in the Software without restriction, including
7334// without limitation the rights to use, copy, modify, merge, publish,
7335// distribute, sublicense, and/or sell copies of the Software, and to permit
7336// persons to whom the Software is furnished to do so, subject to the
7337// following conditions:
7338//
7339// The above copyright notice and this permission notice shall be included
7340// in all copies or substantial portions of the Software.
7341//
7342// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7343// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7344// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7345// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7346// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7347// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7348// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7349
ab78acc6
IC
7350var formatRegExp = /%[sdj%]/g;
7351exports.format = function(f) {
7352 if (!isString(f)) {
7353 var objects = [];
7354 for (var i = 0; i < arguments.length; i++) {
7355 objects.push(inspect(arguments[i]));
7356 }
7357 return objects.join(' ');
7358 }
ebd8d4e8 7359
ab78acc6
IC
7360 var i = 1;
7361 var args = arguments;
7362 var len = args.length;
7363 var str = String(f).replace(formatRegExp, function(x) {
7364 if (x === '%%') return '%';
7365 if (i >= len) return x;
7366 switch (x) {
7367 case '%s': return String(args[i++]);
7368 case '%d': return Number(args[i++]);
7369 case '%j':
7370 try {
7371 return JSON.stringify(args[i++]);
7372 } catch (_) {
7373 return '[Circular]';
7374 }
7375 default:
7376 return x;
7377 }
7378 });
7379 for (var x = args[i]; i < len; x = args[++i]) {
7380 if (isNull(x) || !isObject(x)) {
7381 str += ' ' + x;
7382 } else {
7383 str += ' ' + inspect(x);
7384 }
7385 }
7386 return str;
7387};
ebd8d4e8 7388
ebd8d4e8 7389
ab78acc6
IC
7390// Mark that a method should not be used.
7391// Returns a modified function which warns once by default.
7392// If --no-deprecation is set, then it is a no-op.
7393exports.deprecate = function(fn, msg) {
7394 // Allow for deprecating things in the process of starting up.
7395 if (isUndefined(global.process)) {
7396 return function() {
7397 return exports.deprecate(fn, msg).apply(this, arguments);
7398 };
7399 }
ebd8d4e8 7400
ab78acc6
IC
7401 if (process.noDeprecation === true) {
7402 return fn;
7403 }
ebd8d4e8 7404
ab78acc6
IC
7405 var warned = false;
7406 function deprecated() {
7407 if (!warned) {
7408 if (process.throwDeprecation) {
7409 throw new Error(msg);
7410 } else if (process.traceDeprecation) {
7411 console.trace(msg);
7412 } else {
7413 console.error(msg);
7414 }
7415 warned = true;
7416 }
7417 return fn.apply(this, arguments);
7418 }
ebd8d4e8 7419
ab78acc6
IC
7420 return deprecated;
7421};
ebd8d4e8 7422
ebd8d4e8 7423
ab78acc6
IC
7424var debugs = {};
7425var debugEnviron;
7426exports.debuglog = function(set) {
7427 if (isUndefined(debugEnviron))
7428 debugEnviron = process.env.NODE_DEBUG || '';
7429 set = set.toUpperCase();
7430 if (!debugs[set]) {
7431 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
7432 var pid = process.pid;
7433 debugs[set] = function() {
7434 var msg = exports.format.apply(exports, arguments);
7435 console.error('%s %d: %s', set, pid, msg);
7436 };
7437 } else {
7438 debugs[set] = function() {};
ebd8d4e8
IC
7439 }
7440 }
ab78acc6
IC
7441 return debugs[set];
7442};
ebd8d4e8 7443
ebd8d4e8
IC
7444
7445/**
ab78acc6
IC
7446 * Echos the value of a value. Trys to print the value out
7447 * in the best way possible given the different types.
7448 *
7449 * @param {Object} obj The object to print out.
7450 * @param {Object} opts Optional options object that alters the output.
ebd8d4e8 7451 */
ab78acc6
IC
7452/* legacy: obj, showHidden, depth, colors*/
7453function inspect(obj, opts) {
7454 // default options
7455 var ctx = {
7456 seen: [],
7457 stylize: stylizeNoColor
7458 };
7459 // legacy...
7460 if (arguments.length >= 3) ctx.depth = arguments[2];
7461 if (arguments.length >= 4) ctx.colors = arguments[3];
7462 if (isBoolean(opts)) {
7463 // legacy...
7464 ctx.showHidden = opts;
7465 } else if (opts) {
7466 // got an "options" object
7467 exports._extend(ctx, opts);
ebd8d4e8 7468 }
ab78acc6
IC
7469 // set default options
7470 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
7471 if (isUndefined(ctx.depth)) ctx.depth = 2;
7472 if (isUndefined(ctx.colors)) ctx.colors = false;
7473 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
7474 if (ctx.colors) ctx.stylize = stylizeWithColor;
7475 return formatValue(ctx, obj, ctx.depth);
ebd8d4e8 7476}
ab78acc6 7477exports.inspect = inspect;
ebd8d4e8 7478
ebd8d4e8 7479
ab78acc6
IC
7480// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
7481inspect.colors = {
7482 'bold' : [1, 22],
7483 'italic' : [3, 23],
7484 'underline' : [4, 24],
7485 'inverse' : [7, 27],
7486 'white' : [37, 39],
7487 'grey' : [90, 39],
7488 'black' : [30, 39],
7489 'blue' : [34, 39],
7490 'cyan' : [36, 39],
7491 'green' : [32, 39],
7492 'magenta' : [35, 39],
7493 'red' : [31, 39],
7494 'yellow' : [33, 39]
7495};
ebd8d4e8 7496
ab78acc6
IC
7497// Don't use 'blue' not visible on cmd.exe
7498inspect.styles = {
7499 'special': 'cyan',
7500 'number': 'yellow',
7501 'boolean': 'yellow',
7502 'undefined': 'grey',
7503 'null': 'bold',
7504 'string': 'green',
7505 'date': 'magenta',
7506 // "name": intentionally not styling
7507 'regexp': 'red'
7508};
ebd8d4e8 7509
ebd8d4e8 7510
ab78acc6
IC
7511function stylizeWithColor(str, styleType) {
7512 var style = inspect.styles[styleType];
ebd8d4e8 7513
ab78acc6
IC
7514 if (style) {
7515 return '\u001b[' + inspect.colors[style][0] + 'm' + str +
7516 '\u001b[' + inspect.colors[style][1] + 'm';
7517 } else {
7518 return str;
ebd8d4e8 7519 }
ebd8d4e8
IC
7520}
7521
ebd8d4e8 7522
ab78acc6
IC
7523function stylizeNoColor(str, styleType) {
7524 return str;
ebd8d4e8
IC
7525}
7526
ebd8d4e8 7527
ab78acc6
IC
7528function arrayToHash(array) {
7529 var hash = {};
ebd8d4e8 7530
ab78acc6
IC
7531 array.forEach(function(val, idx) {
7532 hash[val] = true;
7533 });
ebd8d4e8 7534
ab78acc6 7535 return hash;
ebd8d4e8
IC
7536}
7537
ebd8d4e8 7538
ab78acc6
IC
7539function formatValue(ctx, value, recurseTimes) {
7540 // Provide a hook for user-specified inspect functions.
7541 // Check that value is an object with an inspect function on it
7542 if (ctx.customInspect &&
7543 value &&
7544 isFunction(value.inspect) &&
7545 // Filter out the util module, it's inspect function is special
7546 value.inspect !== exports.inspect &&
7547 // Also filter out any prototype objects using the circular check.
7548 !(value.constructor && value.constructor.prototype === value)) {
7549 var ret = value.inspect(recurseTimes, ctx);
7550 if (!isString(ret)) {
7551 ret = formatValue(ctx, ret, recurseTimes);
7552 }
7553 return ret;
ebd8d4e8 7554 }
ebd8d4e8 7555
ab78acc6
IC
7556 // Primitive types cannot have properties
7557 var primitive = formatPrimitive(ctx, value);
7558 if (primitive) {
7559 return primitive;
ebd8d4e8
IC
7560 }
7561
ab78acc6
IC
7562 // Look up the keys of the object.
7563 var keys = Object.keys(value);
7564 var visibleKeys = arrayToHash(keys);
ebd8d4e8 7565
ab78acc6
IC
7566 if (ctx.showHidden) {
7567 keys = Object.getOwnPropertyNames(value);
7568 }
ebd8d4e8 7569
ab78acc6
IC
7570 // IE doesn't make error fields non-enumerable
7571 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
7572 if (isError(value)
7573 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
7574 return formatError(value);
ebd8d4e8 7575 }
ebd8d4e8 7576
ab78acc6
IC
7577 // Some type of object without properties can be shortcutted.
7578 if (keys.length === 0) {
7579 if (isFunction(value)) {
7580 var name = value.name ? ': ' + value.name : '';
7581 return ctx.stylize('[Function' + name + ']', 'special');
7582 }
7583 if (isRegExp(value)) {
7584 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7585 }
7586 if (isDate(value)) {
7587 return ctx.stylize(Date.prototype.toString.call(value), 'date');
7588 }
7589 if (isError(value)) {
7590 return formatError(value);
7591 }
ebd8d4e8 7592 }
ebd8d4e8 7593
ab78acc6 7594 var base = '', array = false, braces = ['{', '}'];
ebd8d4e8 7595
ab78acc6
IC
7596 // Make Array say that they are Array
7597 if (isArray(value)) {
7598 array = true;
7599 braces = ['[', ']'];
7600 }
ebd8d4e8 7601
ab78acc6
IC
7602 // Make functions say that they are functions
7603 if (isFunction(value)) {
7604 var n = value.name ? ': ' + value.name : '';
7605 base = ' [Function' + n + ']';
7606 }
ebd8d4e8 7607
ab78acc6
IC
7608 // Make RegExps say that they are RegExps
7609 if (isRegExp(value)) {
7610 base = ' ' + RegExp.prototype.toString.call(value);
7611 }
ebd8d4e8 7612
ab78acc6
IC
7613 // Make dates with properties first say the date
7614 if (isDate(value)) {
7615 base = ' ' + Date.prototype.toUTCString.call(value);
7616 }
ebd8d4e8 7617
ab78acc6
IC
7618 // Make error with message first say the error
7619 if (isError(value)) {
7620 base = ' ' + formatError(value);
7621 }
ebd8d4e8 7622
ab78acc6
IC
7623 if (keys.length === 0 && (!array || value.length == 0)) {
7624 return braces[0] + base + braces[1];
7625 }
ebd8d4e8 7626
ab78acc6
IC
7627 if (recurseTimes < 0) {
7628 if (isRegExp(value)) {
7629 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7630 } else {
7631 return ctx.stylize('[Object]', 'special');
7632 }
7633 }
ebd8d4e8 7634
ab78acc6 7635 ctx.seen.push(value);
ebd8d4e8 7636
ab78acc6
IC
7637 var output;
7638 if (array) {
7639 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
7640 } else {
7641 output = keys.map(function(key) {
7642 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
7643 });
7644 }
ebd8d4e8 7645
ab78acc6 7646 ctx.seen.pop();
ebd8d4e8 7647
ab78acc6
IC
7648 return reduceToSingleString(output, base, braces);
7649}
ebd8d4e8 7650
ebd8d4e8 7651
ab78acc6
IC
7652function formatPrimitive(ctx, value) {
7653 if (isUndefined(value))
7654 return ctx.stylize('undefined', 'undefined');
7655 if (isString(value)) {
7656 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
7657 .replace(/'/g, "\\'")
7658 .replace(/\\"/g, '"') + '\'';
7659 return ctx.stylize(simple, 'string');
7660 }
7661 if (isNumber(value))
7662 return ctx.stylize('' + value, 'number');
7663 if (isBoolean(value))
7664 return ctx.stylize('' + value, 'boolean');
7665 // For some reason typeof null is "object", so special case here.
7666 if (isNull(value))
7667 return ctx.stylize('null', 'null');
7668}
ebd8d4e8 7669
ebd8d4e8 7670
ab78acc6
IC
7671function formatError(value) {
7672 return '[' + Error.prototype.toString.call(value) + ']';
7673}
ebd8d4e8 7674
ebd8d4e8 7675
ab78acc6
IC
7676function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
7677 var output = [];
7678 for (var i = 0, l = value.length; i < l; ++i) {
7679 if (hasOwnProperty(value, String(i))) {
7680 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7681 String(i), true));
7682 } else {
7683 output.push('');
7684 }
7685 }
7686 keys.forEach(function(key) {
7687 if (!key.match(/^\d+$/)) {
7688 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7689 key, true));
7690 }
7691 });
7692 return output;
7693}
ebd8d4e8 7694
ebd8d4e8 7695
ab78acc6
IC
7696function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
7697 var name, str, desc;
7698 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
7699 if (desc.get) {
7700 if (desc.set) {
7701 str = ctx.stylize('[Getter/Setter]', 'special');
7702 } else {
7703 str = ctx.stylize('[Getter]', 'special');
7704 }
7705 } else {
7706 if (desc.set) {
7707 str = ctx.stylize('[Setter]', 'special');
7708 }
7709 }
7710 if (!hasOwnProperty(visibleKeys, key)) {
7711 name = '[' + key + ']';
7712 }
7713 if (!str) {
7714 if (ctx.seen.indexOf(desc.value) < 0) {
7715 if (isNull(recurseTimes)) {
7716 str = formatValue(ctx, desc.value, null);
7717 } else {
7718 str = formatValue(ctx, desc.value, recurseTimes - 1);
7719 }
7720 if (str.indexOf('\n') > -1) {
7721 if (array) {
7722 str = str.split('\n').map(function(line) {
7723 return ' ' + line;
7724 }).join('\n').substr(2);
7725 } else {
7726 str = '\n' + str.split('\n').map(function(line) {
7727 return ' ' + line;
7728 }).join('\n');
7729 }
7730 }
7731 } else {
7732 str = ctx.stylize('[Circular]', 'special');
7733 }
7734 }
7735 if (isUndefined(name)) {
7736 if (array && key.match(/^\d+$/)) {
7737 return str;
7738 }
7739 name = JSON.stringify('' + key);
7740 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
7741 name = name.substr(1, name.length - 2);
7742 name = ctx.stylize(name, 'name');
7743 } else {
7744 name = name.replace(/'/g, "\\'")
7745 .replace(/\\"/g, '"')
7746 .replace(/(^"|"$)/g, "'");
7747 name = ctx.stylize(name, 'string');
7748 }
7749 }
ebd8d4e8 7750
ab78acc6
IC
7751 return name + ': ' + str;
7752}
ebd8d4e8 7753
ebd8d4e8 7754
ab78acc6
IC
7755function reduceToSingleString(output, base, braces) {
7756 var numLinesEst = 0;
7757 var length = output.reduce(function(prev, cur) {
7758 numLinesEst++;
7759 if (cur.indexOf('\n') >= 0) numLinesEst++;
7760 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
7761 }, 0);
ebd8d4e8 7762
ab78acc6
IC
7763 if (length > 60) {
7764 return braces[0] +
7765 (base === '' ? '' : base + '\n ') +
7766 ' ' +
7767 output.join(',\n ') +
7768 ' ' +
7769 braces[1];
7770 }
ebd8d4e8 7771
ab78acc6
IC
7772 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
7773}
ebd8d4e8 7774
ebd8d4e8 7775
ab78acc6
IC
7776// NOTE: These type checking functions intentionally don't use `instanceof`
7777// because it is fragile and can be easily faked with `Object.create()`.
7778function isArray(ar) {
7779 return Array.isArray(ar);
7780}
7781exports.isArray = isArray;
ebd8d4e8 7782
ab78acc6
IC
7783function isBoolean(arg) {
7784 return typeof arg === 'boolean';
7785}
7786exports.isBoolean = isBoolean;
ebd8d4e8 7787
ab78acc6
IC
7788function isNull(arg) {
7789 return arg === null;
7790}
7791exports.isNull = isNull;
ebd8d4e8 7792
ab78acc6
IC
7793function isNullOrUndefined(arg) {
7794 return arg == null;
7795}
7796exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7797
ab78acc6
IC
7798function isNumber(arg) {
7799 return typeof arg === 'number';
7800}
7801exports.isNumber = isNumber;
ebd8d4e8 7802
ab78acc6
IC
7803function isString(arg) {
7804 return typeof arg === 'string';
7805}
7806exports.isString = isString;
ebd8d4e8 7807
ab78acc6
IC
7808function isSymbol(arg) {
7809 return typeof arg === 'symbol';
7810}
7811exports.isSymbol = isSymbol;
ebd8d4e8 7812
ab78acc6
IC
7813function isUndefined(arg) {
7814 return arg === void 0;
7815}
7816exports.isUndefined = isUndefined;
ebd8d4e8 7817
ab78acc6
IC
7818function isRegExp(re) {
7819 return isObject(re) && objectToString(re) === '[object RegExp]';
7820}
7821exports.isRegExp = isRegExp;
ebd8d4e8 7822
ab78acc6
IC
7823function isObject(arg) {
7824 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7825}
ab78acc6 7826exports.isObject = isObject;
ebd8d4e8 7827
ab78acc6
IC
7828function isDate(d) {
7829 return isObject(d) && objectToString(d) === '[object Date]';
7830}
7831exports.isDate = isDate;
ebd8d4e8 7832
ab78acc6
IC
7833function isError(e) {
7834 return isObject(e) &&
7835 (objectToString(e) === '[object Error]' || e instanceof Error);
7836}
7837exports.isError = isError;
ebd8d4e8 7838
ab78acc6
IC
7839function isFunction(arg) {
7840 return typeof arg === 'function';
7841}
7842exports.isFunction = isFunction;
ebd8d4e8 7843
ab78acc6
IC
7844function isPrimitive(arg) {
7845 return arg === null ||
7846 typeof arg === 'boolean' ||
7847 typeof arg === 'number' ||
7848 typeof arg === 'string' ||
7849 typeof arg === 'symbol' || // ES6 symbol
7850 typeof arg === 'undefined';
7851}
7852exports.isPrimitive = isPrimitive;
ebd8d4e8 7853
ab78acc6 7854exports.isBuffer = require('./support/isBuffer');
ebd8d4e8 7855
ab78acc6
IC
7856function objectToString(o) {
7857 return Object.prototype.toString.call(o);
7858}
ebd8d4e8 7859
ebd8d4e8 7860
ab78acc6
IC
7861function pad(n) {
7862 return n < 10 ? '0' + n.toString(10) : n.toString(10);
7863}
ebd8d4e8 7864
ebd8d4e8 7865
ab78acc6
IC
7866var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
7867 'Oct', 'Nov', 'Dec'];
ebd8d4e8 7868
ab78acc6
IC
7869// 26 Feb 16:19:34
7870function timestamp() {
7871 var d = new Date();
7872 var time = [pad(d.getHours()),
7873 pad(d.getMinutes()),
7874 pad(d.getSeconds())].join(':');
7875 return [d.getDate(), months[d.getMonth()], time].join(' ');
ebd8d4e8
IC
7876}
7877
ab78acc6
IC
7878
7879// log is just a thin wrapper to console.log that prepends a timestamp
7880exports.log = function() {
7881 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
ebd8d4e8
IC
7882};
7883
ab78acc6
IC
7884
7885/**
7886 * Inherit the prototype methods from one constructor into another.
7887 *
7888 * The Function.prototype.inherits from lang.js rewritten as a standalone
7889 * function (not on Function.prototype). NOTE: If this file is to be loaded
7890 * during bootstrapping this function needs to be rewritten using some native
7891 * functions as prototype setup using normal JavaScript does not work as
7892 * expected during bootstrapping (see mirror.js in r114903).
7893 *
7894 * @param {function} ctor Constructor function which needs to inherit the
7895 * prototype.
7896 * @param {function} superCtor Constructor function to inherit prototype from.
7897 */
7898exports.inherits = require('inherits');
7899
7900exports._extend = function(origin, add) {
7901 // Don't do anything if add isn't an object
7902 if (!add || !isObject(add)) return origin;
7903
7904 var keys = Object.keys(add);
7905 var i = keys.length;
7906 while (i--) {
7907 origin[keys[i]] = add[keys[i]];
7908 }
7909 return origin;
7910};
7911
7912function hasOwnProperty(obj, prop) {
7913 return Object.prototype.hasOwnProperty.call(obj, prop);
7914}
7915
7916}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
7917},{"./support/isBuffer":28,"_process":14,"inherits":12}],30:[function(require,module,exports){
ebd8d4e8
IC
7918// Base58 encoding/decoding
7919// Originally written by Mike Hearn for BitcoinJ
7920// Copyright (c) 2011 Google Inc
7921// Ported to JavaScript by Stefan Thomas
7922// Merged Buffer refactorings from base58-native by Stephen Pair
7923// Copyright (c) 2013 BitPay Inc
7924
ebd8d4e8 7925var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
ebd8d4e8
IC
7926var ALPHABET_MAP = {}
7927for(var i = 0; i < ALPHABET.length; i++) {
ab78acc6 7928 ALPHABET_MAP[ALPHABET.charAt(i)] = i
ebd8d4e8 7929}
ab78acc6 7930var BASE = 58
ebd8d4e8
IC
7931
7932function encode(buffer) {
ab78acc6
IC
7933 if (buffer.length === 0) return ''
7934
7935 var i, j, digits = [0]
7936 for (i = 0; i < buffer.length; i++) {
7937 for (j = 0; j < digits.length; j++) digits[j] <<= 8
7938
7939 digits[0] += buffer[i]
ebd8d4e8 7940
ab78acc6
IC
7941 var carry = 0
7942 for (j = 0; j < digits.length; ++j) {
7943 digits[j] += carry
ebd8d4e8 7944
ab78acc6
IC
7945 carry = (digits[j] / BASE) | 0
7946 digits[j] %= BASE
7947 }
7948
7949 while (carry) {
7950 digits.push(carry % BASE)
7951
7952 carry = (carry / BASE) | 0
7953 }
ebd8d4e8
IC
7954 }
7955
7956 // deal with leading zeros
ab78acc6 7957 for (i = 0; buffer[i] === 0 && i < buffer.length - 1; i++) digits.push(0)
ebd8d4e8 7958
ab78acc6
IC
7959 // convert digits to a string
7960 var stringOutput = ""
7961 for (var i = digits.length - 1; i >= 0; i--) {
7962 stringOutput = stringOutput + ALPHABET[digits[i]]
7963 }
7964 return stringOutput
ebd8d4e8
IC
7965}
7966
7967function decode(string) {
ab78acc6 7968 if (string.length === 0) return []
ebd8d4e8 7969
ab78acc6
IC
7970 var i, j, bytes = [0]
7971 for (i = 0; i < string.length; i++) {
7972 var c = string[i]
7973 if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character')
ebd8d4e8 7974
ab78acc6
IC
7975 for (j = 0; j < bytes.length; j++) bytes[j] *= BASE
7976 bytes[0] += ALPHABET_MAP[c]
ebd8d4e8 7977
ab78acc6
IC
7978 var carry = 0
7979 for (j = 0; j < bytes.length; ++j) {
7980 bytes[j] += carry
ebd8d4e8 7981
ab78acc6
IC
7982 carry = bytes[j] >> 8
7983 bytes[j] &= 0xff
7984 }
ebd8d4e8 7985
ab78acc6
IC
7986 while (carry) {
7987 bytes.push(carry & 0xff)
7988
7989 carry >>= 8
7990 }
ebd8d4e8
IC
7991 }
7992
ab78acc6
IC
7993 // deal with leading zeros
7994 for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)
ebd8d4e8 7995
ab78acc6 7996 return bytes.reverse()
ebd8d4e8
IC
7997}
7998
7999module.exports = {
8000 encode: encode,
8001 decode: decode
8002}
8003
ab78acc6 8004},{}],31:[function(require,module,exports){
ebd8d4e8 8005(function (Buffer){
ab78acc6
IC
8006'use strict'
8007
8008var base58 = require('bs58')
8009var createHash = require('create-hash')
8010
8011// SHA256(SHA256(buffer))
8012function sha256x2 (buffer) {
8013 buffer = createHash('sha256').update(buffer).digest()
8014 return createHash('sha256').update(buffer).digest()
8015}
8016
8017// Encode a buffer as a base58-check encoded string
8018function encode (payload) {
8019 var checksum = sha256x2(payload).slice(0, 4)
8020
8021 return base58.encode(Buffer.concat([
8022 payload,
8023 checksum
8024 ]))
8025}
8026
8027// Decode a base58-check encoded string to a buffer
8028function decode (string) {
8029 var buffer = new Buffer(base58.decode(string))
8030
8031 var payload = buffer.slice(0, -4)
8032 var checksum = buffer.slice(-4)
8033 var newChecksum = sha256x2(payload).slice(0, 4)
8034
8035 for (var i = 0; i < newChecksum.length; ++i) {
8036 if (newChecksum[i] === checksum[i]) continue
8037
8038 throw new Error('Invalid checksum')
ebd8d4e8 8039 }
ab78acc6
IC
8040
8041 return payload
ebd8d4e8
IC
8042}
8043
ab78acc6
IC
8044module.exports = {
8045 encode: encode,
8046 decode: decode
ebd8d4e8
IC
8047}
8048
ab78acc6
IC
8049}).call(this,require("buffer").Buffer)
8050},{"bs58":30,"buffer":7,"create-hash":32}],32:[function(require,module,exports){
ebd8d4e8 8051(function (Buffer){
ab78acc6
IC
8052'use strict';
8053var inherits = require('inherits')
8054var md5 = require('./md5')
8055var rmd160 = require('ripemd160')
8056var sha = require('sha.js')
ebd8d4e8 8057
ab78acc6 8058var Transform = require('stream').Transform
ebd8d4e8 8059
ab78acc6
IC
8060function HashNoConstructor(hash) {
8061 Transform.call(this)
ebd8d4e8 8062
ab78acc6
IC
8063 this._hash = hash
8064 this.buffers = []
8065}
ebd8d4e8 8066
ab78acc6 8067inherits(HashNoConstructor, Transform)
ebd8d4e8 8068
ab78acc6
IC
8069HashNoConstructor.prototype._transform = function (data, _, next) {
8070 this.buffers.push(data)
ebd8d4e8 8071
ab78acc6
IC
8072 next()
8073}
ebd8d4e8 8074
ab78acc6
IC
8075HashNoConstructor.prototype._flush = function (next) {
8076 this.push(this.digest())
8077 next()
8078}
8079
8080HashNoConstructor.prototype.update = function (data, enc) {
8081 if (typeof data === 'string') {
8082 data = new Buffer(data, enc)
ebd8d4e8
IC
8083 }
8084
ab78acc6
IC
8085 this.buffers.push(data)
8086 return this
8087}
8088
8089HashNoConstructor.prototype.digest = function (enc) {
8090 var buf = Buffer.concat(this.buffers)
8091 var r = this._hash(buf)
8092 this.buffers = null
8093
8094 return enc ? r.toString(enc) : r
8095}
8096
8097function Hash(hash) {
8098 Transform.call(this)
8099
8100 this._hash = hash
8101}
8102
8103inherits(Hash, Transform)
8104
8105Hash.prototype._transform = function (data, enc, next) {
8106 if (enc) data = new Buffer(data, enc)
8107
8108 this._hash.update(data)
8109
8110 next()
ebd8d4e8
IC
8111}
8112
ab78acc6
IC
8113Hash.prototype._flush = function (next) {
8114 this.push(this._hash.digest())
8115 this._hash = null
8116
8117 next()
8118}
8119
8120Hash.prototype.update = function (data, enc) {
8121 if (typeof data === 'string') {
8122 data = new Buffer(data, enc)
8123 }
8124
8125 this._hash.update(data)
ebd8d4e8
IC
8126 return this
8127}
8128
ab78acc6
IC
8129Hash.prototype.digest = function (enc) {
8130 var outData = this._hash.digest()
8131
8132 return enc ? outData.toString(enc) : outData
ebd8d4e8
IC
8133}
8134
ab78acc6
IC
8135module.exports = function createHash (alg) {
8136 if ('md5' === alg) return new HashNoConstructor(md5)
8137 if ('rmd160' === alg) return new HashNoConstructor(rmd160)
8138
8139 return new Hash(sha(alg))
8140}
ebd8d4e8 8141
ab78acc6
IC
8142}).call(this,require("buffer").Buffer)
8143},{"./md5":34,"buffer":7,"inherits":35,"ripemd160":36,"sha.js":38,"stream":26}],33:[function(require,module,exports){
ebd8d4e8 8144(function (Buffer){
ab78acc6 8145'use strict';
ebd8d4e8
IC
8146var intSize = 4;
8147var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
8148var chrsz = 8;
8149
8150function toArray(buf, bigEndian) {
8151 if ((buf.length % intSize) !== 0) {
8152 var len = buf.length + (intSize - (buf.length % intSize));
8153 buf = Buffer.concat([buf, zeroBuffer], len);
8154 }
8155
8156 var arr = [];
8157 var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
8158 for (var i = 0; i < buf.length; i += intSize) {
8159 arr.push(fn.call(buf, i));
8160 }
8161 return arr;
8162}
8163
8164function toBuffer(arr, size, bigEndian) {
8165 var buf = new Buffer(size);
8166 var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
8167 for (var i = 0; i < arr.length; i++) {
8168 fn.call(buf, arr[i], i * 4, true);
8169 }
8170 return buf;
8171}
8172
8173function hash(buf, fn, hashSize, bigEndian) {
8174 if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
8175 var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
8176 return toBuffer(arr, hashSize, bigEndian);
8177}
ab78acc6
IC
8178exports.hash = hash;
8179}).call(this,require("buffer").Buffer)
8180},{"buffer":7}],34:[function(require,module,exports){
8181'use strict';
ebd8d4e8
IC
8182/*
8183 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
8184 * Digest Algorithm, as defined in RFC 1321.
8185 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
8186 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8187 * Distributed under the BSD License
8188 * See http://pajhome.org.uk/crypt/md5 for more info.
8189 */
8190
ab78acc6 8191var helpers = require('./helpers');
ebd8d4e8
IC
8192
8193/*
8194 * Calculate the MD5 of an array of little-endian words, and a bit length
8195 */
8196function core_md5(x, len)
8197{
8198 /* append padding */
8199 x[len >> 5] |= 0x80 << ((len) % 32);
8200 x[(((len + 64) >>> 9) << 4) + 14] = len;
8201
8202 var a = 1732584193;
8203 var b = -271733879;
8204 var c = -1732584194;
8205 var d = 271733878;
8206
8207 for(var i = 0; i < x.length; i += 16)
8208 {
8209 var olda = a;
8210 var oldb = b;
8211 var oldc = c;
8212 var oldd = d;
8213
8214 a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
8215 d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
8216 c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
8217 b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
8218 a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
8219 d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
8220 c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
8221 b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
8222 a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
8223 d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
8224 c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
8225 b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
8226 a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
8227 d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
8228 c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
8229 b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
8230
8231 a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
8232 d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
8233 c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
8234 b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
8235 a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
8236 d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
8237 c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
8238 b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
8239 a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
8240 d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
8241 c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
8242 b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
8243 a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
8244 d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
8245 c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
8246 b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
8247
8248 a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
8249 d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
8250 c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
8251 b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
8252 a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
8253 d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
8254 c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
8255 b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
8256 a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
8257 d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
8258 c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
8259 b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
8260 a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
8261 d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
8262 c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
8263 b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
8264
8265 a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
8266 d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
8267 c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
8268 b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
8269 a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
8270 d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
8271 c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
8272 b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
8273 a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
8274 d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
8275 c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
8276 b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
8277 a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
8278 d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
8279 c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
8280 b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
8281
8282 a = safe_add(a, olda);
8283 b = safe_add(b, oldb);
8284 c = safe_add(c, oldc);
8285 d = safe_add(d, oldd);
8286 }
8287 return Array(a, b, c, d);
8288
8289}
8290
8291/*
8292 * These functions implement the four basic operations the algorithm uses.
8293 */
8294function md5_cmn(q, a, b, x, s, t)
8295{
8296 return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
8297}
8298function md5_ff(a, b, c, d, x, s, t)
8299{
8300 return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
8301}
8302function md5_gg(a, b, c, d, x, s, t)
8303{
8304 return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
8305}
8306function md5_hh(a, b, c, d, x, s, t)
8307{
8308 return md5_cmn(b ^ c ^ d, a, b, x, s, t);
8309}
8310function md5_ii(a, b, c, d, x, s, t)
8311{
8312 return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
8313}
8314
8315/*
8316 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
8317 * to work around bugs in some JS interpreters.
8318 */
8319function safe_add(x, y)
8320{
8321 var lsw = (x & 0xFFFF) + (y & 0xFFFF);
8322 var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
8323 return (msw << 16) | (lsw & 0xFFFF);
8324}
8325
8326/*
8327 * Bitwise rotate a 32-bit number to the left.
8328 */
8329function bit_rol(num, cnt)
8330{
8331 return (num << cnt) | (num >>> (32 - cnt));
8332}
8333
8334module.exports = function md5(buf) {
8335 return helpers.hash(buf, core_md5, 16);
8336};
ab78acc6
IC
8337},{"./helpers":33}],35:[function(require,module,exports){
8338arguments[4][12][0].apply(exports,arguments)
8339},{"dup":12}],36:[function(require,module,exports){
ebd8d4e8 8340(function (Buffer){
ebd8d4e8
IC
8341/*
8342CryptoJS v3.1.2
8343code.google.com/p/crypto-js
8344(c) 2009-2013 by Jeff Mott. All rights reserved.
8345code.google.com/p/crypto-js/wiki/License
8346*/
8347/** @preserve
8348(c) 2012 by Cédric Mesnil. All rights reserved.
8349
8350Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8351
8352 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8353 - 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.
8354
8355THIS 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.
8356*/
8357
ab78acc6 8358// constants table
ebd8d4e8 8359var zl = [
ab78acc6
IC
8360 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8361 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
8362 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
8363 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
8364 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
8365]
8366
ebd8d4e8 8367var zr = [
ab78acc6
IC
8368 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
8369 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
8370 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8371 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
8372 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
8373]
8374
ebd8d4e8 8375var sl = [
ab78acc6
IC
8376 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
8377 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
8378 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
8379 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
8380 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
8381]
8382
ebd8d4e8 8383var sr = [
ab78acc6
IC
8384 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
8385 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
8386 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
8387 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8388 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
8389]
ebd8d4e8 8390
ab78acc6
IC
8391var hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]
8392var hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]
ebd8d4e8 8393
ab78acc6
IC
8394function bytesToWords (bytes) {
8395 var words = []
ebd8d4e8 8396 for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
ab78acc6 8397 words[b >>> 5] |= bytes[i] << (24 - b % 32)
ebd8d4e8 8398 }
ab78acc6
IC
8399 return words
8400}
ebd8d4e8 8401
ab78acc6
IC
8402function wordsToBytes (words) {
8403 var bytes = []
ebd8d4e8 8404 for (var b = 0; b < words.length * 32; b += 8) {
ab78acc6 8405 bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)
ebd8d4e8 8406 }
ab78acc6
IC
8407 return bytes
8408}
ebd8d4e8 8409
ab78acc6
IC
8410function processBlock (H, M, offset) {
8411 // swap endian
ebd8d4e8 8412 for (var i = 0; i < 16; i++) {
ab78acc6
IC
8413 var offset_i = offset + i
8414 var M_offset_i = M[offset_i]
ebd8d4e8
IC
8415
8416 // Swap
8417 M[offset_i] = (
ab78acc6
IC
8418 (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
8419 (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
8420 )
ebd8d4e8
IC
8421 }
8422
8423 // Working variables
ab78acc6
IC
8424 var al, bl, cl, dl, el
8425 var ar, br, cr, dr, er
8426
8427 ar = al = H[0]
8428 br = bl = H[1]
8429 cr = cl = H[2]
8430 dr = dl = H[3]
8431 er = el = H[4]
8432
8433 // computation
8434 var t
8435 for (i = 0; i < 80; i += 1) {
8436 t = (al + M[offset + zl[i]]) | 0
8437 if (i < 16) {
8438 t += f1(bl, cl, dl) + hl[0]
8439 } else if (i < 32) {
8440 t += f2(bl, cl, dl) + hl[1]
8441 } else if (i < 48) {
8442 t += f3(bl, cl, dl) + hl[2]
8443 } else if (i < 64) {
8444 t += f4(bl, cl, dl) + hl[3]
ebd8d4e8 8445 } else {// if (i<80) {
ab78acc6
IC
8446 t += f5(bl, cl, dl) + hl[4]
8447 }
8448 t = t | 0
8449 t = rotl(t, sl[i])
8450 t = (t + el) | 0
8451 al = el
8452 el = dl
8453 dl = rotl(cl, 10)
8454 cl = bl
8455 bl = t
8456
8457 t = (ar + M[offset + zr[i]]) | 0
8458 if (i < 16) {
8459 t += f5(br, cr, dr) + hr[0]
8460 } else if (i < 32) {
8461 t += f4(br, cr, dr) + hr[1]
8462 } else if (i < 48) {
8463 t += f3(br, cr, dr) + hr[2]
8464 } else if (i < 64) {
8465 t += f2(br, cr, dr) + hr[3]
ebd8d4e8 8466 } else {// if (i<80) {
ab78acc6 8467 t += f1(br, cr, dr) + hr[4]
ebd8d4e8 8468 }
ebd8d4e8 8469
ab78acc6
IC
8470 t = t | 0
8471 t = rotl(t, sr[i])
8472 t = (t + er) | 0
8473 ar = er
8474 er = dr
8475 dr = rotl(cr, 10)
8476 cr = br
8477 br = t
8478 }
8479
8480 // intermediate hash value
8481 t = (H[1] + cl + dr) | 0
8482 H[1] = (H[2] + dl + er) | 0
8483 H[2] = (H[3] + el + ar) | 0
8484 H[3] = (H[4] + al + br) | 0
8485 H[4] = (H[0] + bl + cr) | 0
8486 H[0] = t
ebd8d4e8
IC
8487}
8488
ab78acc6
IC
8489function f1 (x, y, z) {
8490 return ((x) ^ (y) ^ (z))
ebd8d4e8
IC
8491}
8492
ab78acc6
IC
8493function f2 (x, y, z) {
8494 return (((x) & (y)) | ((~x) & (z)))
ebd8d4e8
IC
8495}
8496
ab78acc6
IC
8497function f3 (x, y, z) {
8498 return (((x) | (~(y))) ^ (z))
ebd8d4e8
IC
8499}
8500
ab78acc6
IC
8501function f4 (x, y, z) {
8502 return (((x) & (z)) | ((y) & (~(z))))
ebd8d4e8
IC
8503}
8504
ab78acc6
IC
8505function f5 (x, y, z) {
8506 return ((x) ^ ((y) | (~(z))))
ebd8d4e8
IC
8507}
8508
ab78acc6
IC
8509function rotl (x, n) {
8510 return (x << n) | (x >>> (32 - n))
8511}
8512
8513function ripemd160 (message) {
8514 var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]
ebd8d4e8 8515
ab78acc6
IC
8516 if (typeof message === 'string') {
8517 message = new Buffer(message, 'utf8')
8518 }
ebd8d4e8 8519
ab78acc6 8520 var m = bytesToWords(message)
ebd8d4e8 8521
ab78acc6
IC
8522 var nBitsLeft = message.length * 8
8523 var nBitsTotal = message.length * 8
ebd8d4e8
IC
8524
8525 // Add padding
ab78acc6 8526 m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32)
ebd8d4e8 8527 m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
ab78acc6
IC
8528 (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
8529 (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
8530 )
ebd8d4e8 8531
ab78acc6
IC
8532 for (var i = 0; i < m.length; i += 16) {
8533 processBlock(H, m, i)
ebd8d4e8
IC
8534 }
8535
ab78acc6
IC
8536 // swap endian
8537 for (i = 0; i < 5; i++) {
8538 // shortcut
8539 var H_i = H[i]
ebd8d4e8
IC
8540
8541 // Swap
ab78acc6
IC
8542 H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
8543 (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00)
ebd8d4e8
IC
8544 }
8545
ab78acc6
IC
8546 var digestbytes = wordsToBytes(H)
8547 return new Buffer(digestbytes)
ebd8d4e8
IC
8548}
8549
ab78acc6
IC
8550module.exports = ripemd160
8551
8552}).call(this,require("buffer").Buffer)
8553},{"buffer":7}],37:[function(require,module,exports){
8554(function (Buffer){
8555// prototype class for hash functions
8556function Hash (blockSize, finalSize) {
8557 this._block = new Buffer(blockSize)
8558 this._finalSize = finalSize
8559 this._blockSize = blockSize
8560 this._len = 0
8561 this._s = 0
8562}
ebd8d4e8 8563
ab78acc6
IC
8564Hash.prototype.update = function (data, enc) {
8565 if (typeof data === 'string') {
8566 enc = enc || 'utf8'
8567 data = new Buffer(data, enc)
8568 }
ebd8d4e8 8569
ab78acc6
IC
8570 var l = this._len += data.length
8571 var s = this._s || 0
8572 var f = 0
8573 var buffer = this._block
ebd8d4e8 8574
ab78acc6
IC
8575 while (s < l) {
8576 var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
8577 var ch = (t - f)
ebd8d4e8 8578
ab78acc6
IC
8579 for (var i = 0; i < ch; i++) {
8580 buffer[(s % this._blockSize) + i] = data[i + f]
8581 }
8582
8583 s += ch
8584 f += ch
ebd8d4e8 8585
ab78acc6
IC
8586 if ((s % this._blockSize) === 0) {
8587 this._update(buffer)
8588 }
ebd8d4e8 8589 }
ab78acc6
IC
8590 this._s = s
8591
8592 return this
8593}
ebd8d4e8 8594
ab78acc6
IC
8595Hash.prototype.digest = function (enc) {
8596 // Suppose the length of the message M, in bits, is l
8597 var l = this._len * 8
8598
8599 // Append the bit 1 to the end of the message
8600 this._block[this._len % this._blockSize] = 0x80
8601
8602 // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
8603 this._block.fill(0, this._len % this._blockSize + 1)
8604
8605 if (l % (this._blockSize * 8) >= this._finalSize * 8) {
8606 this._update(this._block)
8607 this._block.fill(0)
ebd8d4e8
IC
8608 }
8609
ab78acc6
IC
8610 // to this append the block which is equal to the number l written in binary
8611 // TODO: handle case where l is > Math.pow(2, 29)
8612 this._block.writeInt32BE(l, this._blockSize - 4)
8613
8614 var hash = this._update(this._block) || this._hash()
ebd8d4e8 8615
ab78acc6
IC
8616 return enc ? hash.toString(enc) : hash
8617}
ebd8d4e8 8618
ab78acc6
IC
8619Hash.prototype._update = function () {
8620 throw new Error('_update must be implemented by subclass')
8621}
ebd8d4e8 8622
ab78acc6 8623module.exports = Hash
ebd8d4e8 8624
ab78acc6
IC
8625}).call(this,require("buffer").Buffer)
8626},{"buffer":7}],38:[function(require,module,exports){
8627var exports = module.exports = function SHA (algorithm) {
8628 algorithm = algorithm.toLowerCase()
ebd8d4e8 8629
ab78acc6
IC
8630 var Algorithm = exports[algorithm]
8631 if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
ebd8d4e8 8632
ab78acc6
IC
8633 return new Algorithm()
8634}
8635
8636exports.sha = require('./sha')
8637exports.sha1 = require('./sha1')
8638exports.sha224 = require('./sha224')
8639exports.sha256 = require('./sha256')
8640exports.sha384 = require('./sha384')
8641exports.sha512 = require('./sha512')
8642
8643},{"./sha":39,"./sha1":40,"./sha224":41,"./sha256":42,"./sha384":43,"./sha512":44}],39:[function(require,module,exports){
8644(function (Buffer){
8645/*
8646 * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
8647 * in FIPS PUB 180-1
8648 * This source code is derived from sha1.js of the same repository.
8649 * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
8650 * operation was added.
8651 */
ebd8d4e8 8652
ab78acc6
IC
8653var inherits = require('inherits')
8654var Hash = require('./hash')
ebd8d4e8 8655
ab78acc6 8656var W = new Array(80)
ebd8d4e8 8657
ab78acc6
IC
8658function Sha () {
8659 this.init()
8660 this._w = W
ebd8d4e8 8661
ab78acc6
IC
8662 Hash.call(this, 64, 56)
8663}
ebd8d4e8 8664
ab78acc6 8665inherits(Sha, Hash)
ebd8d4e8 8666
ab78acc6
IC
8667Sha.prototype.init = function () {
8668 this._a = 0x67452301 | 0
8669 this._b = 0xefcdab89 | 0
8670 this._c = 0x98badcfe | 0
8671 this._d = 0x10325476 | 0
8672 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8673
ab78acc6
IC
8674 return this
8675}
8676
8677/*
8678 * Bitwise rotate a 32-bit number to the left.
8679 */
8680function rol (num, cnt) {
8681 return (num << cnt) | (num >>> (32 - cnt))
8682}
8683
8684Sha.prototype._update = function (M) {
8685 var W = this._w
8686
8687 var a = this._a
8688 var b = this._b
8689 var c = this._c
8690 var d = this._d
8691 var e = this._e
ebd8d4e8 8692
ab78acc6
IC
8693 var j = 0, k
8694
8695 /*
8696 * SHA-1 has a bitwise rotate left operation. But, SHA is not
8697 * function calcW() { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8698 */
8699 function calcW () { return W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16] }
8700 function loop (w, f) {
8701 W[j] = w
8702
8703 var t = rol(a, 5) + f + e + w + k
8704
8705 e = d
8706 d = c
8707 c = rol(b, 30)
8708 b = a
8709 a = t
8710 j++
ebd8d4e8
IC
8711 }
8712
ab78acc6
IC
8713 k = 1518500249
8714 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8715 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8716 k = 1859775393
8717 while (j < 40) loop(calcW(), b ^ c ^ d)
8718 k = -1894007588
8719 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8720 k = -899497514
8721 while (j < 80) loop(calcW(), b ^ c ^ d)
8722
8723 this._a = (a + this._a) | 0
8724 this._b = (b + this._b) | 0
8725 this._c = (c + this._c) | 0
8726 this._d = (d + this._d) | 0
8727 this._e = (e + this._e) | 0
ebd8d4e8
IC
8728}
8729
ab78acc6
IC
8730Sha.prototype._hash = function () {
8731 var H = new Buffer(20)
8732
8733 H.writeInt32BE(this._a | 0, 0)
8734 H.writeInt32BE(this._b | 0, 4)
8735 H.writeInt32BE(this._c | 0, 8)
8736 H.writeInt32BE(this._d | 0, 12)
8737 H.writeInt32BE(this._e | 0, 16)
8738
8739 return H
ebd8d4e8
IC
8740}
8741
ab78acc6 8742module.exports = Sha
ebd8d4e8 8743
ebd8d4e8 8744
ab78acc6
IC
8745}).call(this,require("buffer").Buffer)
8746},{"./hash":37,"buffer":7,"inherits":35}],40:[function(require,module,exports){
8747(function (Buffer){
ebd8d4e8
IC
8748/*
8749 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
8750 * in FIPS PUB 180-1
8751 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
8752 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8753 * Distributed under the BSD License
8754 * See http://pajhome.org.uk/crypt/md5 for details.
8755 */
ebd8d4e8 8756
ab78acc6
IC
8757var inherits = require('inherits')
8758var Hash = require('./hash')
ebd8d4e8 8759
ab78acc6 8760var W = new Array(80)
ebd8d4e8 8761
ab78acc6
IC
8762function Sha1 () {
8763 this.init()
8764 this._w = W
ebd8d4e8 8765
ab78acc6
IC
8766 Hash.call(this, 64, 56)
8767}
ebd8d4e8 8768
ab78acc6 8769inherits(Sha1, Hash)
ebd8d4e8 8770
ab78acc6
IC
8771Sha1.prototype.init = function () {
8772 this._a = 0x67452301 | 0
8773 this._b = 0xefcdab89 | 0
8774 this._c = 0x98badcfe | 0
8775 this._d = 0x10325476 | 0
8776 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8777
ab78acc6
IC
8778 return this
8779}
ebd8d4e8 8780
ab78acc6
IC
8781/*
8782 * Bitwise rotate a 32-bit number to the left.
8783 */
8784function rol (num, cnt) {
8785 return (num << cnt) | (num >>> (32 - cnt))
8786}
ebd8d4e8 8787
ab78acc6
IC
8788Sha1.prototype._update = function (M) {
8789 var W = this._w
ebd8d4e8 8790
ab78acc6
IC
8791 var a = this._a
8792 var b = this._b
8793 var c = this._c
8794 var d = this._d
8795 var e = this._e
ebd8d4e8 8796
ab78acc6 8797 var j = 0, k
ebd8d4e8 8798
ab78acc6
IC
8799 function calcW () { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8800 function loop (w, f) {
8801 W[j] = w
ebd8d4e8 8802
ab78acc6 8803 var t = rol(a, 5) + f + e + w + k
ebd8d4e8 8804
ab78acc6
IC
8805 e = d
8806 d = c
8807 c = rol(b, 30)
8808 b = a
8809 a = t
8810 j++
ebd8d4e8
IC
8811 }
8812
ab78acc6
IC
8813 k = 1518500249
8814 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8815 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8816 k = 1859775393
8817 while (j < 40) loop(calcW(), b ^ c ^ d)
8818 k = -1894007588
8819 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8820 k = -899497514
8821 while (j < 80) loop(calcW(), b ^ c ^ d)
ebd8d4e8 8822
ab78acc6
IC
8823 this._a = (a + this._a) | 0
8824 this._b = (b + this._b) | 0
8825 this._c = (c + this._c) | 0
8826 this._d = (d + this._d) | 0
8827 this._e = (e + this._e) | 0
8828}
ebd8d4e8 8829
ab78acc6
IC
8830Sha1.prototype._hash = function () {
8831 var H = new Buffer(20)
ebd8d4e8 8832
ab78acc6
IC
8833 H.writeInt32BE(this._a | 0, 0)
8834 H.writeInt32BE(this._b | 0, 4)
8835 H.writeInt32BE(this._c | 0, 8)
8836 H.writeInt32BE(this._d | 0, 12)
8837 H.writeInt32BE(this._e | 0, 16)
ebd8d4e8 8838
ab78acc6
IC
8839 return H
8840}
ebd8d4e8 8841
ab78acc6 8842module.exports = Sha1
ebd8d4e8 8843
ab78acc6
IC
8844}).call(this,require("buffer").Buffer)
8845},{"./hash":37,"buffer":7,"inherits":35}],41:[function(require,module,exports){
8846(function (Buffer){
8847/**
8848 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8849 * in FIPS 180-2
8850 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8851 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8852 *
8853 */
ebd8d4e8 8854
ab78acc6
IC
8855var inherits = require('inherits')
8856var Sha256 = require('./sha256')
8857var Hash = require('./hash')
ebd8d4e8 8858
ab78acc6 8859var W = new Array(64)
ebd8d4e8 8860
ab78acc6
IC
8861function Sha224 () {
8862 this.init()
ebd8d4e8 8863
ab78acc6 8864 this._w = W // new Array(64)
ebd8d4e8 8865
ab78acc6
IC
8866 Hash.call(this, 64, 56)
8867}
ebd8d4e8 8868
ab78acc6 8869inherits(Sha224, Sha256)
ebd8d4e8 8870
ab78acc6
IC
8871Sha224.prototype.init = function () {
8872 this._a = 0xc1059ed8 | 0
8873 this._b = 0x367cd507 | 0
8874 this._c = 0x3070dd17 | 0
8875 this._d = 0xf70e5939 | 0
8876 this._e = 0xffc00b31 | 0
8877 this._f = 0x68581511 | 0
8878 this._g = 0x64f98fa7 | 0
8879 this._h = 0xbefa4fa4 | 0
8880
8881 return this
8882}
8883
8884Sha224.prototype._hash = function () {
8885 var H = new Buffer(28)
8886
8887 H.writeInt32BE(this._a, 0)
8888 H.writeInt32BE(this._b, 4)
8889 H.writeInt32BE(this._c, 8)
8890 H.writeInt32BE(this._d, 12)
8891 H.writeInt32BE(this._e, 16)
8892 H.writeInt32BE(this._f, 20)
8893 H.writeInt32BE(this._g, 24)
8894
8895 return H
ebd8d4e8
IC
8896}
8897
ab78acc6 8898module.exports = Sha224
ebd8d4e8 8899
ab78acc6
IC
8900}).call(this,require("buffer").Buffer)
8901},{"./hash":37,"./sha256":42,"buffer":7,"inherits":35}],42:[function(require,module,exports){
8902(function (Buffer){
ebd8d4e8
IC
8903/**
8904 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8905 * in FIPS 180-2
8906 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8907 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8908 *
8909 */
8910
ab78acc6
IC
8911var inherits = require('inherits')
8912var Hash = require('./hash')
8913
8914var K = [
8915 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
8916 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
8917 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
8918 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
8919 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
8920 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
8921 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
8922 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
8923 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
8924 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
8925 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
8926 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
8927 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
8928 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
8929 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
8930 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
8931]
8932
8933var W = new Array(64)
8934
8935function Sha256 () {
8936 this.init()
8937
8938 this._w = W // new Array(64)
8939
8940 Hash.call(this, 64, 56)
8941}
8942
8943inherits(Sha256, Hash)
8944
8945Sha256.prototype.init = function () {
8946 this._a = 0x6a09e667 | 0
8947 this._b = 0xbb67ae85 | 0
8948 this._c = 0x3c6ef372 | 0
8949 this._d = 0xa54ff53a | 0
8950 this._e = 0x510e527f | 0
8951 this._f = 0x9b05688c | 0
8952 this._g = 0x1f83d9ab | 0
8953 this._h = 0x5be0cd19 | 0
ebd8d4e8 8954
ab78acc6
IC
8955 return this
8956}
ebd8d4e8 8957
ab78acc6
IC
8958function S (X, n) {
8959 return (X >>> n) | (X << (32 - n))
8960}
ebd8d4e8 8961
ab78acc6
IC
8962function R (X, n) {
8963 return (X >>> n)
8964}
ebd8d4e8 8965
ab78acc6
IC
8966function Ch (x, y, z) {
8967 return ((x & y) ^ ((~x) & z))
8968}
ebd8d4e8 8969
ab78acc6
IC
8970function Maj (x, y, z) {
8971 return ((x & y) ^ (x & z) ^ (y & z))
8972}
ebd8d4e8 8973
ab78acc6
IC
8974function Sigma0256 (x) {
8975 return (S(x, 2) ^ S(x, 13) ^ S(x, 22))
8976}
ebd8d4e8 8977
ab78acc6
IC
8978function Sigma1256 (x) {
8979 return (S(x, 6) ^ S(x, 11) ^ S(x, 25))
8980}
ebd8d4e8 8981
ab78acc6
IC
8982function Gamma0256 (x) {
8983 return (S(x, 7) ^ S(x, 18) ^ R(x, 3))
8984}
ebd8d4e8 8985
ab78acc6
IC
8986function Gamma1256 (x) {
8987 return (S(x, 17) ^ S(x, 19) ^ R(x, 10))
8988}
ebd8d4e8 8989
ab78acc6
IC
8990Sha256.prototype._update = function (M) {
8991 var W = this._w
ebd8d4e8 8992
ab78acc6
IC
8993 var a = this._a | 0
8994 var b = this._b | 0
8995 var c = this._c | 0
8996 var d = this._d | 0
8997 var e = this._e | 0
8998 var f = this._f | 0
8999 var g = this._g | 0
9000 var h = this._h | 0
ebd8d4e8 9001
ab78acc6 9002 var j = 0
ebd8d4e8 9003
ab78acc6
IC
9004 function calcW () { return Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16] }
9005 function loop (w) {
9006 W[j] = w
ebd8d4e8 9007
ab78acc6
IC
9008 var T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w
9009 var T2 = Sigma0256(a) + Maj(a, b, c)
ebd8d4e8 9010
ab78acc6
IC
9011 h = g
9012 g = f
9013 f = e
9014 e = d + T1
9015 d = c
9016 c = b
9017 b = a
9018 a = T1 + T2
ebd8d4e8 9019
ab78acc6 9020 j++
ebd8d4e8
IC
9021 }
9022
ab78acc6
IC
9023 while (j < 16) loop(M.readInt32BE(j * 4))
9024 while (j < 64) loop(calcW())
ebd8d4e8 9025
ab78acc6
IC
9026 this._a = (a + this._a) | 0
9027 this._b = (b + this._b) | 0
9028 this._c = (c + this._c) | 0
9029 this._d = (d + this._d) | 0
9030 this._e = (e + this._e) | 0
9031 this._f = (f + this._f) | 0
9032 this._g = (g + this._g) | 0
9033 this._h = (h + this._h) | 0
9034}
ebd8d4e8 9035
ab78acc6
IC
9036Sha256.prototype._hash = function () {
9037 var H = new Buffer(32)
ebd8d4e8 9038
ab78acc6
IC
9039 H.writeInt32BE(this._a, 0)
9040 H.writeInt32BE(this._b, 4)
9041 H.writeInt32BE(this._c, 8)
9042 H.writeInt32BE(this._d, 12)
9043 H.writeInt32BE(this._e, 16)
9044 H.writeInt32BE(this._f, 20)
9045 H.writeInt32BE(this._g, 24)
9046 H.writeInt32BE(this._h, 28)
ebd8d4e8 9047
ab78acc6
IC
9048 return H
9049}
ebd8d4e8 9050
ab78acc6 9051module.exports = Sha256
ebd8d4e8 9052
ab78acc6
IC
9053}).call(this,require("buffer").Buffer)
9054},{"./hash":37,"buffer":7,"inherits":35}],43:[function(require,module,exports){
9055(function (Buffer){
9056var inherits = require('inherits')
9057var SHA512 = require('./sha512')
9058var Hash = require('./hash')
ebd8d4e8 9059
ab78acc6 9060var W = new Array(160)
ebd8d4e8 9061
ab78acc6
IC
9062function Sha384 () {
9063 this.init()
9064 this._w = W
ebd8d4e8 9065
ab78acc6
IC
9066 Hash.call(this, 128, 112)
9067}
ebd8d4e8 9068
ab78acc6 9069inherits(Sha384, SHA512)
ebd8d4e8 9070
ab78acc6
IC
9071Sha384.prototype.init = function () {
9072 this._a = 0xcbbb9d5d | 0
9073 this._b = 0x629a292a | 0
9074 this._c = 0x9159015a | 0
9075 this._d = 0x152fecd8 | 0
9076 this._e = 0x67332667 | 0
9077 this._f = 0x8eb44a87 | 0
9078 this._g = 0xdb0c2e0d | 0
9079 this._h = 0x47b5481d | 0
ebd8d4e8 9080
ab78acc6
IC
9081 this._al = 0xc1059ed8 | 0
9082 this._bl = 0x367cd507 | 0
9083 this._cl = 0x3070dd17 | 0
9084 this._dl = 0xf70e5939 | 0
9085 this._el = 0xffc00b31 | 0
9086 this._fl = 0x68581511 | 0
9087 this._gl = 0x64f98fa7 | 0
9088 this._hl = 0xbefa4fa4 | 0
ebd8d4e8 9089
ab78acc6 9090 return this
ebd8d4e8
IC
9091}
9092
ab78acc6
IC
9093Sha384.prototype._hash = function () {
9094 var H = new Buffer(48)
ebd8d4e8 9095
ab78acc6
IC
9096 function writeInt64BE (h, l, offset) {
9097 H.writeInt32BE(h, offset)
9098 H.writeInt32BE(l, offset + 4)
ebd8d4e8 9099 }
ebd8d4e8 9100
ab78acc6
IC
9101 writeInt64BE(this._a, this._al, 0)
9102 writeInt64BE(this._b, this._bl, 8)
9103 writeInt64BE(this._c, this._cl, 16)
9104 writeInt64BE(this._d, this._dl, 24)
9105 writeInt64BE(this._e, this._el, 32)
9106 writeInt64BE(this._f, this._fl, 40)
9107
9108 return H
ebd8d4e8
IC
9109}
9110
ab78acc6 9111module.exports = Sha384
ebd8d4e8 9112
ab78acc6
IC
9113}).call(this,require("buffer").Buffer)
9114},{"./hash":37,"./sha512":44,"buffer":7,"inherits":35}],44:[function(require,module,exports){
ebd8d4e8 9115(function (Buffer){
ab78acc6
IC
9116var inherits = require('inherits')
9117var Hash = require('./hash')
9118
9119var K = [
9120 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
9121 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
9122 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
9123 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
9124 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
9125 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
9126 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
9127 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
9128 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
9129 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
9130 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
9131 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
9132 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
9133 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
9134 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
9135 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
9136 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
9137 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
9138 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
9139 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
9140 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
9141 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
9142 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
9143 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
9144 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
9145 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
9146 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
9147 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
9148 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
9149 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
9150 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
9151 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
9152 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
9153 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
9154 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
9155 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
9156 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
9157 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
9158 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
9159 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
9160]
9161
9162var W = new Array(160)
9163
9164function Sha512 () {
9165 this.init()
9166 this._w = W
9167
9168 Hash.call(this, 128, 112)
9169}
9170
9171inherits(Sha512, Hash)
9172
9173Sha512.prototype.init = function () {
9174 this._a = 0x6a09e667 | 0
9175 this._b = 0xbb67ae85 | 0
9176 this._c = 0x3c6ef372 | 0
9177 this._d = 0xa54ff53a | 0
9178 this._e = 0x510e527f | 0
9179 this._f = 0x9b05688c | 0
9180 this._g = 0x1f83d9ab | 0
9181 this._h = 0x5be0cd19 | 0
9182
9183 this._al = 0xf3bcc908 | 0
9184 this._bl = 0x84caa73b | 0
9185 this._cl = 0xfe94f82b | 0
9186 this._dl = 0x5f1d36f1 | 0
9187 this._el = 0xade682d1 | 0
9188 this._fl = 0x2b3e6c1f | 0
9189 this._gl = 0xfb41bd6b | 0
9190 this._hl = 0x137e2179 | 0
ebd8d4e8 9191
ab78acc6 9192 return this
ebd8d4e8
IC
9193}
9194
ab78acc6
IC
9195function S (X, Xl, n) {
9196 return (X >>> n) | (Xl << (32 - n))
9197}
9198
9199function Ch (x, y, z) {
9200 return ((x & y) ^ ((~x) & z))
9201}
9202
9203function Maj (x, y, z) {
9204 return ((x & y) ^ (x & z) ^ (y & z))
9205}
9206
9207Sha512.prototype._update = function (M) {
9208 var W = this._w
9209
9210 var a = this._a | 0
9211 var b = this._b | 0
9212 var c = this._c | 0
9213 var d = this._d | 0
9214 var e = this._e | 0
9215 var f = this._f | 0
9216 var g = this._g | 0
9217 var h = this._h | 0
9218
9219 var al = this._al | 0
9220 var bl = this._bl | 0
9221 var cl = this._cl | 0
9222 var dl = this._dl | 0
9223 var el = this._el | 0
9224 var fl = this._fl | 0
9225 var gl = this._gl | 0
9226 var hl = this._hl | 0
9227
9228 var i = 0, j = 0
9229 var Wi, Wil
9230 function calcW () {
9231 var x = W[j - 15 * 2]
9232 var xl = W[j - 15 * 2 + 1]
9233 var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
9234 var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
9235
9236 x = W[j - 2 * 2]
9237 xl = W[j - 2 * 2 + 1]
9238 var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
9239 var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
9240
9241 // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
9242 var Wi7 = W[j - 7 * 2]
9243 var Wi7l = W[j - 7 * 2 + 1]
9244
9245 var Wi16 = W[j - 16 * 2]
9246 var Wi16l = W[j - 16 * 2 + 1]
ebd8d4e8 9247
ab78acc6
IC
9248 Wil = gamma0l + Wi7l
9249 Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
9250 Wil = Wil + gamma1l
9251 Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
9252 Wil = Wil + Wi16l
9253 Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
9254 }
9255
9256 function loop () {
9257 W[j] = Wi
9258 W[j + 1] = Wil
ebd8d4e8 9259
ab78acc6
IC
9260 var maj = Maj(a, b, c)
9261 var majl = Maj(al, bl, cl)
ebd8d4e8 9262
ab78acc6
IC
9263 var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
9264 var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
9265 var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
9266 var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)
ebd8d4e8 9267
ab78acc6
IC
9268 // t1 = h + sigma1 + ch + K[i] + W[i]
9269 var Ki = K[j]
9270 var Kil = K[j + 1]
ebd8d4e8 9271
ab78acc6
IC
9272 var ch = Ch(e, f, g)
9273 var chl = Ch(el, fl, gl)
ebd8d4e8 9274
ab78acc6
IC
9275 var t1l = hl + sigma1l
9276 var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
9277 t1l = t1l + chl
9278 t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
9279 t1l = t1l + Kil
9280 t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
9281 t1l = t1l + Wil
9282 t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)
ebd8d4e8 9283
ab78acc6
IC
9284 // t2 = sigma0 + maj
9285 var t2l = sigma0l + majl
9286 var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)
ebd8d4e8 9287
ab78acc6
IC
9288 h = g
9289 hl = gl
9290 g = f
9291 gl = fl
9292 f = e
9293 fl = el
9294 el = (dl + t1l) | 0
9295 e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9296 d = c
9297 dl = cl
9298 c = b
9299 cl = bl
9300 b = a
9301 bl = al
9302 al = (t1l + t2l) | 0
9303 a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
9304
9305 i++
9306 j += 2
9307 }
9308
9309 while (i < 16) {
9310 Wi = M.readInt32BE(j * 4)
9311 Wil = M.readInt32BE(j * 4 + 4)
9312
9313 loop()
9314 }
9315
9316 while (i < 80) {
9317 calcW()
9318 loop()
9319 }
9320
9321 this._al = (this._al + al) | 0
9322 this._bl = (this._bl + bl) | 0
9323 this._cl = (this._cl + cl) | 0
9324 this._dl = (this._dl + dl) | 0
9325 this._el = (this._el + el) | 0
9326 this._fl = (this._fl + fl) | 0
9327 this._gl = (this._gl + gl) | 0
9328 this._hl = (this._hl + hl) | 0
9329
9330 this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
9331 this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
9332 this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
9333 this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9334 this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
9335 this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
9336 this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
9337 this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
9338}
9339
9340Sha512.prototype._hash = function () {
9341 var H = new Buffer(64)
9342
9343 function writeInt64BE (h, l, offset) {
9344 H.writeInt32BE(h, offset)
9345 H.writeInt32BE(l, offset + 4)
9346 }
9347
9348 writeInt64BE(this._a, this._al, 0)
9349 writeInt64BE(this._b, this._bl, 8)
9350 writeInt64BE(this._c, this._cl, 16)
9351 writeInt64BE(this._d, this._dl, 24)
9352 writeInt64BE(this._e, this._el, 32)
9353 writeInt64BE(this._f, this._fl, 40)
9354 writeInt64BE(this._g, this._gl, 48)
9355 writeInt64BE(this._h, this._hl, 56)
9356
9357 return H
9358}
9359
9360module.exports = Sha512
9361
9362}).call(this,require("buffer").Buffer)
9363},{"./hash":37,"buffer":7,"inherits":35}],45:[function(require,module,exports){
9364(function (Buffer){
9365'use strict';
9366var createHash = require('create-hash/browser');
9367var inherits = require('inherits')
ebd8d4e8 9368
ab78acc6 9369var Transform = require('stream').Transform
ebd8d4e8 9370
ab78acc6
IC
9371var ZEROS = new Buffer(128)
9372ZEROS.fill(0)
ebd8d4e8 9373
ab78acc6
IC
9374function Hmac(alg, key) {
9375 Transform.call(this)
ebd8d4e8 9376
ab78acc6
IC
9377 if (typeof key === 'string') {
9378 key = new Buffer(key)
9379 }
ebd8d4e8 9380
ab78acc6 9381 var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
ebd8d4e8 9382
ab78acc6
IC
9383 this._alg = alg
9384 this._key = key
ebd8d4e8 9385
ab78acc6
IC
9386 if (key.length > blocksize) {
9387 key = createHash(alg).update(key).digest()
ebd8d4e8 9388
ab78acc6
IC
9389 } else if (key.length < blocksize) {
9390 key = Buffer.concat([key, ZEROS], blocksize)
9391 }
ebd8d4e8 9392
ab78acc6
IC
9393 var ipad = this._ipad = new Buffer(blocksize)
9394 var opad = this._opad = new Buffer(blocksize)
ebd8d4e8 9395
ab78acc6
IC
9396 for (var i = 0; i < blocksize; i++) {
9397 ipad[i] = key[i] ^ 0x36
9398 opad[i] = key[i] ^ 0x5C
9399 }
ebd8d4e8 9400
ab78acc6
IC
9401 this._hash = createHash(alg).update(ipad)
9402}
ebd8d4e8 9403
ab78acc6 9404inherits(Hmac, Transform)
ebd8d4e8 9405
ab78acc6
IC
9406Hmac.prototype.update = function (data, enc) {
9407 this._hash.update(data, enc)
ebd8d4e8 9408
ab78acc6
IC
9409 return this
9410}
ebd8d4e8 9411
ab78acc6
IC
9412Hmac.prototype._transform = function (data, _, next) {
9413 this._hash.update(data)
ebd8d4e8 9414
ab78acc6
IC
9415 next()
9416}
ebd8d4e8 9417
ab78acc6
IC
9418Hmac.prototype._flush = function (next) {
9419 this.push(this.digest())
ebd8d4e8 9420
ab78acc6
IC
9421 next()
9422}
ebd8d4e8 9423
ab78acc6
IC
9424Hmac.prototype.digest = function (enc) {
9425 var h = this._hash.digest()
ebd8d4e8 9426
ab78acc6
IC
9427 return createHash(this._alg).update(this._opad).update(h).digest(enc)
9428}
ebd8d4e8 9429
ab78acc6
IC
9430module.exports = function createHmac(alg, key) {
9431 return new Hmac(alg, key)
9432}
ebd8d4e8 9433
ab78acc6
IC
9434}).call(this,require("buffer").Buffer)
9435},{"buffer":7,"create-hash/browser":32,"inherits":46,"stream":26}],46:[function(require,module,exports){
9436arguments[4][12][0].apply(exports,arguments)
9437},{"dup":12}],47:[function(require,module,exports){
9438var assert = require('assert')
9439var BigInteger = require('bigi')
ebd8d4e8 9440
ab78acc6 9441var Point = require('./point')
ebd8d4e8
IC
9442
9443function Curve(p, a, b, Gx, Gy, n, h) {
9444 this.p = p
9445 this.a = a
9446 this.b = b
9447 this.G = Point.fromAffine(this, Gx, Gy)
9448 this.n = n
9449 this.h = h
9450
9451 this.infinity = new Point(this, null, null, BigInteger.ZERO)
9452
9453 // result caching
9454 this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)
9455}
9456
9457Curve.prototype.pointFromX = function(isOdd, x) {
9458 var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)
ab78acc6 9459 var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves
ebd8d4e8
IC
9460
9461 var y = beta
9462 if (beta.isEven() ^ !isOdd) {
9463 y = this.p.subtract(y) // -y % p
9464 }
9465
9466 return Point.fromAffine(this, x, y)
9467}
9468
9469Curve.prototype.isInfinity = function(Q) {
9470 if (Q === this.infinity) return true
9471
9472 return Q.z.signum() === 0 && Q.y.signum() !== 0
9473}
9474
9475Curve.prototype.isOnCurve = function(Q) {
9476 if (this.isInfinity(Q)) return true
9477
9478 var x = Q.affineX
9479 var y = Q.affineY
9480 var a = this.a
9481 var b = this.b
9482 var p = this.p
9483
9484 // Check that xQ and yQ are integers in the interval [0, p - 1]
9485 if (x.signum() < 0 || x.compareTo(p) >= 0) return false
9486 if (y.signum() < 0 || y.compareTo(p) >= 0) return false
9487
9488 // and check that y^2 = x^3 + ax + b (mod p)
9489 var lhs = y.square().mod(p)
9490 var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)
9491 return lhs.equals(rhs)
9492}
9493
9494/**
9495 * Validate an elliptic curve point.
9496 *
9497 * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive
9498 */
9499Curve.prototype.validate = function(Q) {
9500 // Check Q != O
9501 assert(!this.isInfinity(Q), 'Point is at infinity')
9502 assert(this.isOnCurve(Q), 'Point is not on the curve')
9503
9504 // Check nQ = O (where Q is a scalar multiple of G)
9505 var nQ = Q.multiply(this.n)
9506 assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')
9507
9508 return true
9509}
9510
9511module.exports = Curve
9512
ab78acc6 9513},{"./point":51,"assert":5,"bigi":3}],48:[function(require,module,exports){
ebd8d4e8
IC
9514module.exports={
9515 "secp128r1": {
9516 "p": "fffffffdffffffffffffffffffffffff",
9517 "a": "fffffffdfffffffffffffffffffffffc",
9518 "b": "e87579c11079f43dd824993c2cee5ed3",
9519 "n": "fffffffe0000000075a30d1b9038a115",
9520 "h": "01",
9521 "Gx": "161ff7528b899b2d0c28607ca52c5b86",
9522 "Gy": "cf5ac8395bafeb13c02da292dded7a83"
9523 },
9524 "secp160k1": {
9525 "p": "fffffffffffffffffffffffffffffffeffffac73",
9526 "a": "00",
9527 "b": "07",
9528 "n": "0100000000000000000001b8fa16dfab9aca16b6b3",
9529 "h": "01",
9530 "Gx": "3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
9531 "Gy": "938cf935318fdced6bc28286531733c3f03c4fee"
9532 },
9533 "secp160r1": {
9534 "p": "ffffffffffffffffffffffffffffffff7fffffff",
9535 "a": "ffffffffffffffffffffffffffffffff7ffffffc",
9536 "b": "1c97befc54bd7a8b65acf89f81d4d4adc565fa45",
9537 "n": "0100000000000000000001f4c8f927aed3ca752257",
9538 "h": "01",
9539 "Gx": "4a96b5688ef573284664698968c38bb913cbfc82",
9540 "Gy": "23a628553168947d59dcc912042351377ac5fb32"
9541 },
9542 "secp192k1": {
9543 "p": "fffffffffffffffffffffffffffffffffffffffeffffee37",
9544 "a": "00",
9545 "b": "03",
9546 "n": "fffffffffffffffffffffffe26f2fc170f69466a74defd8d",
9547 "h": "01",
9548 "Gx": "db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
9549 "Gy": "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
9550 },
9551 "secp192r1": {
9552 "p": "fffffffffffffffffffffffffffffffeffffffffffffffff",
9553 "a": "fffffffffffffffffffffffffffffffefffffffffffffffc",
9554 "b": "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
9555 "n": "ffffffffffffffffffffffff99def836146bc9b1b4d22831",
9556 "h": "01",
9557 "Gx": "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
9558 "Gy": "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"
9559 },
ebd8d4e8
IC
9560 "secp256k1": {
9561 "p": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
9562 "a": "00",
9563 "b": "07",
9564 "n": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
9565 "h": "01",
9566 "Gx": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
9567 "Gy": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
9568 },
9569 "secp256r1": {
9570 "p": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
9571 "a": "ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",
9572 "b": "5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
9573 "n": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
9574 "h": "01",
9575 "Gx": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
9576 "Gy": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
9577 }
9578}
9579
ab78acc6
IC
9580},{}],49:[function(require,module,exports){
9581var Point = require('./point')
9582var Curve = require('./curve')
ebd8d4e8 9583
ab78acc6 9584var getCurveByName = require('./names')
ebd8d4e8
IC
9585
9586module.exports = {
9587 Curve: Curve,
9588 Point: Point,
9589 getCurveByName: getCurveByName
9590}
9591
ab78acc6
IC
9592},{"./curve":47,"./names":50,"./point":51}],50:[function(require,module,exports){
9593var BigInteger = require('bigi')
ebd8d4e8 9594
ab78acc6
IC
9595var curves = require('./curves')
9596var Curve = require('./curve')
ebd8d4e8
IC
9597
9598function getCurveByName(name) {
9599 var curve = curves[name]
9600 if (!curve) return null
9601
9602 var p = new BigInteger(curve.p, 16)
9603 var a = new BigInteger(curve.a, 16)
9604 var b = new BigInteger(curve.b, 16)
9605 var n = new BigInteger(curve.n, 16)
9606 var h = new BigInteger(curve.h, 16)
9607 var Gx = new BigInteger(curve.Gx, 16)
9608 var Gy = new BigInteger(curve.Gy, 16)
9609
9610 return new Curve(p, a, b, Gx, Gy, n, h)
9611}
9612
9613module.exports = getCurveByName
9614
ab78acc6 9615},{"./curve":47,"./curves":48,"bigi":3}],51:[function(require,module,exports){
ebd8d4e8 9616(function (Buffer){
ab78acc6
IC
9617var assert = require('assert')
9618var BigInteger = require('bigi')
ebd8d4e8
IC
9619
9620var THREE = BigInteger.valueOf(3)
9621
9622function Point(curve, x, y, z) {
9623 assert.notStrictEqual(z, undefined, 'Missing Z coordinate')
9624
9625 this.curve = curve
9626 this.x = x
9627 this.y = y
9628 this.z = z
9629 this._zInv = null
9630
9631 this.compressed = true
9632}
9633
9634Object.defineProperty(Point.prototype, 'zInv', {
9635 get: function() {
9636 if (this._zInv === null) {
9637 this._zInv = this.z.modInverse(this.curve.p)
9638 }
9639
9640 return this._zInv
9641 }
9642})
9643
9644Object.defineProperty(Point.prototype, 'affineX', {
9645 get: function() {
9646 return this.x.multiply(this.zInv).mod(this.curve.p)
9647 }
9648})
9649
9650Object.defineProperty(Point.prototype, 'affineY', {
9651 get: function() {
9652 return this.y.multiply(this.zInv).mod(this.curve.p)
9653 }
9654})
9655
9656Point.fromAffine = function(curve, x, y) {
9657 return new Point(curve, x, y, BigInteger.ONE)
9658}
9659
9660Point.prototype.equals = function(other) {
9661 if (other === this) return true
9662 if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)
9663 if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)
9664
9665 // u = Y2 * Z1 - Y1 * Z2
9666 var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)
9667
9668 if (u.signum() !== 0) return false
9669
9670 // v = X2 * Z1 - X1 * Z2
9671 var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)
9672
9673 return v.signum() === 0
9674}
9675
9676Point.prototype.negate = function() {
9677 var y = this.curve.p.subtract(this.y)
9678
9679 return new Point(this.curve, this.x, y, this.z)
9680}
9681
9682Point.prototype.add = function(b) {
9683 if (this.curve.isInfinity(this)) return b
9684 if (this.curve.isInfinity(b)) return this
9685
9686 var x1 = this.x
9687 var y1 = this.y
9688 var x2 = b.x
9689 var y2 = b.y
9690
9691 // u = Y2 * Z1 - Y1 * Z2
9692 var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)
9693 // v = X2 * Z1 - X1 * Z2
9694 var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)
9695
9696 if (v.signum() === 0) {
9697 if (u.signum() === 0) {
9698 return this.twice() // this == b, so double
9699 }
9700
9701 return this.curve.infinity // this = -b, so infinity
9702 }
9703
9704 var v2 = v.square()
9705 var v3 = v2.multiply(v)
9706 var x1v2 = x1.multiply(v2)
9707 var zu2 = u.square().multiply(this.z)
9708
9709 // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
9710 var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)
9711 // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
9712 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)
9713 // z3 = v^3 * z1 * z2
9714 var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)
9715
9716 return new Point(this.curve, x3, y3, z3)
9717}
9718
9719Point.prototype.twice = function() {
9720 if (this.curve.isInfinity(this)) return this
9721 if (this.y.signum() === 0) return this.curve.infinity
9722
9723 var x1 = this.x
9724 var y1 = this.y
9725
9726 var y1z1 = y1.multiply(this.z)
9727 var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)
9728 var a = this.curve.a
9729
9730 // w = 3 * x1^2 + a * z1^2
9731 var w = x1.square().multiply(THREE)
9732
9733 if (a.signum() !== 0) {
9734 w = w.add(this.z.square().multiply(a))
9735 }
9736
9737 w = w.mod(this.curve.p)
9738 // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
9739 var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)
9740 // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
9741 var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)
9742 // z3 = 8 * (y1 * z1)^3
9743 var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)
9744
9745 return new Point(this.curve, x3, y3, z3)
9746}
9747
9748// Simple NAF (Non-Adjacent Form) multiplication algorithm
9749// TODO: modularize the multiplication algorithm
9750Point.prototype.multiply = function(k) {
9751 if (this.curve.isInfinity(this)) return this
9752 if (k.signum() === 0) return this.curve.infinity
9753
9754 var e = k
9755 var h = e.multiply(THREE)
9756
9757 var neg = this.negate()
9758 var R = this
9759
9760 for (var i = h.bitLength() - 2; i > 0; --i) {
9761 R = R.twice()
9762
9763 var hBit = h.testBit(i)
9764 var eBit = e.testBit(i)
9765
9766 if (hBit != eBit) {
9767 R = R.add(hBit ? this : neg)
9768 }
9769 }
9770
9771 return R
9772}
9773
9774// Compute this*j + x*k (simultaneous multiplication)
9775Point.prototype.multiplyTwo = function(j, x, k) {
9776 var i
9777
9778 if (j.bitLength() > k.bitLength())
9779 i = j.bitLength() - 1
9780 else
9781 i = k.bitLength() - 1
9782
9783 var R = this.curve.infinity
9784 var both = this.add(x)
9785
9786 while (i >= 0) {
9787 R = R.twice()
9788
9789 var jBit = j.testBit(i)
9790 var kBit = k.testBit(i)
9791
9792 if (jBit) {
9793 if (kBit) {
9794 R = R.add(both)
9795
9796 } else {
9797 R = R.add(this)
9798 }
9799
9800 } else {
9801 if (kBit) {
9802 R = R.add(x)
9803 }
9804 }
9805 --i
9806 }
9807
9808 return R
9809}
9810
9811Point.prototype.getEncoded = function(compressed) {
9812 if (compressed == undefined) compressed = this.compressed
9813 if (this.curve.isInfinity(this)) return new Buffer('00', 'hex') // Infinity point encoded is simply '00'
9814
9815 var x = this.affineX
9816 var y = this.affineY
9817
9818 var buffer
9819
9820 // Determine size of q in bytes
9821 var byteLength = Math.floor((this.curve.p.bitLength() + 7) / 8)
9822
9823 // 0x02/0x03 | X
9824 if (compressed) {
9825 buffer = new Buffer(1 + byteLength)
9826 buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)
9827
9828 // 0x04 | X | Y
9829 } else {
9830 buffer = new Buffer(1 + byteLength + byteLength)
9831 buffer.writeUInt8(0x04, 0)
9832
9833 y.toBuffer(byteLength).copy(buffer, 1 + byteLength)
9834 }
9835
9836 x.toBuffer(byteLength).copy(buffer, 1)
9837
9838 return buffer
9839}
9840
9841Point.decodeFrom = function(curve, buffer) {
9842 var type = buffer.readUInt8(0)
9843 var compressed = (type !== 4)
9844
ebd8d4e8 9845 var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)
ab78acc6 9846 var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))
ebd8d4e8
IC
9847
9848 var Q
9849 if (compressed) {
9850 assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')
9851 assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')
9852
9853 var isOdd = (type === 0x03)
9854 Q = curve.pointFromX(isOdd, x)
9855
9856 } else {
9857 assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')
9858
9859 var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))
9860 Q = Point.fromAffine(curve, x, y)
9861 }
9862
9863 Q.compressed = compressed
9864 return Q
9865}
9866
9867Point.prototype.toString = function () {
9868 if (this.curve.isInfinity(this)) return '(INFINITY)'
9869
9870 return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'
9871}
9872
9873module.exports = Point
9874
ab78acc6
IC
9875}).call(this,require("buffer").Buffer)
9876},{"assert":5,"bigi":3,"buffer":7}],52:[function(require,module,exports){
9877(function (process,global,Buffer){
9878'use strict';
ebd8d4e8 9879
ab78acc6
IC
9880var crypto = global.crypto || global.msCrypto
9881if(crypto && crypto.getRandomValues) {
9882 module.exports = randomBytes;
9883} else {
9884 module.exports = oldBrowser;
9885}
9886function randomBytes(size, cb) {
9887 var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
9888 /* This will not work in older browsers.
9889 * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
9890 */
9891
9892 crypto.getRandomValues(bytes);
9893 if (typeof cb === 'function') {
9894 return process.nextTick(function () {
9895 cb(null, bytes);
9896 });
ebd8d4e8 9897 }
ab78acc6
IC
9898 return bytes;
9899}
9900function oldBrowser() {
9901 throw new Error(
9902 'secure random number generation not supported by this browser\n'+
9903 'use chrome, FireFox or Internet Explorer 11'
9904 )
ebd8d4e8
IC
9905}
9906
ab78acc6
IC
9907}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
9908},{"_process":14,"buffer":7}],53:[function(require,module,exports){
9909(function (Buffer){
9910'use strict';
ebd8d4e8 9911
ab78acc6
IC
9912function getFunctionName(fn) {
9913 return fn.name || fn.toString().match(/function (.*?)\s*\(/)[1];
9914}
9915
9916function getTypeTypeName(type) {
9917 if (nativeTypes.Function(type)) {
9918 type = type.toJSON ? type.toJSON() : getFunctionName(type);
ebd8d4e8 9919 }
ab78acc6
IC
9920 if (nativeTypes.Object(type)) return JSON.stringify(type);
9921
9922 return type;
ebd8d4e8
IC
9923}
9924
ab78acc6
IC
9925function getValueTypeName(value) {
9926 if (nativeTypes.Null(value)) return '';
ebd8d4e8 9927
ab78acc6
IC
9928 return getFunctionName(value.constructor);
9929}
9930
9931function tfErrorString(type, value) {
9932 var typeTypeName = getTypeTypeName(type);
9933 var valueTypeName = getValueTypeName(value);
9934
9935 return 'Expected ' + typeTypeName + ', got ' + (valueTypeName && valueTypeName + ' ') + JSON.stringify(value);
9936}
9937
9938function tfPropertyErrorString(type, name, value) {
9939 return tfErrorString('property \"' + name + '\" of type ' + getTypeTypeName(type), value);
9940}
9941
9942var nativeTypes = {
9943 Array: (function (_Array) {
9944 function Array(_x) {
9945 return _Array.apply(this, arguments);
9946 }
9947
9948 Array.toString = function () {
9949 return _Array.toString();
9950 };
9951
9952 return Array;
9953 })(function (value) {
9954 return value !== null && value !== undefined && value.constructor === Array;
9955 }),
9956 Boolean: function Boolean(value) {
9957 return typeof value === 'boolean';
9958 },
9959 Buffer: (function (_Buffer) {
9960 function Buffer(_x2) {
9961 return _Buffer.apply(this, arguments);
9962 }
9963
9964 Buffer.toString = function () {
9965 return _Buffer.toString();
9966 };
9967
9968 return Buffer;
9969 })(function (value) {
9970 return Buffer.isBuffer(value);
9971 }),
9972 Function: function Function(value) {
9973 return typeof value === 'function';
9974 },
9975 Null: function Null(value) {
9976 return value === undefined || value === null;
9977 },
9978 Number: function Number(value) {
9979 return typeof value === 'number';
9980 },
9981 Object: function Object(value) {
9982 return typeof value === 'object';
9983 },
9984 String: function String(value) {
9985 return typeof value === 'string';
9986 },
9987 '': function _() {
9988 return true;
ebd8d4e8 9989 }
ab78acc6
IC
9990};
9991
9992function tJSON(type) {
9993 return type && type.toJSON ? type.toJSON() : type;
ebd8d4e8
IC
9994}
9995
ab78acc6
IC
9996function sJSON(type) {
9997 var json = tJSON(type);
9998 return nativeTypes.Object(json) ? JSON.stringify(json) : json;
ebd8d4e8
IC
9999}
10000
ab78acc6
IC
10001var otherTypes = {
10002 arrayOf: function arrayOf(type) {
10003 function arrayOf(value, strict) {
10004 try {
10005 return nativeTypes.Array(value) && value.every(function (x) {
10006 return typeforce(type, x, strict);
10007 });
10008 } catch (e) {
10009 return false;
10010 }
10011 }
10012 arrayOf.toJSON = function () {
10013 return [tJSON(type)];
10014 };
10015
10016 return arrayOf;
10017 },
10018
10019 maybe: function maybe(type) {
10020 function maybe(value, strict) {
10021 return nativeTypes.Null(value) || typeforce(type, value, strict);
10022 }
10023 maybe.toJSON = function () {
10024 return '?' + sJSON(type);
10025 };
10026
10027 return maybe;
10028 },
10029
10030 object: function object(type) {
10031 function object(value, strict) {
10032 typeforce(nativeTypes.Object, value, strict);
10033
10034 var propertyName, propertyType, propertyValue;
10035
10036 try {
10037 for (propertyName in type) {
10038 propertyType = type[propertyName];
10039 propertyValue = value[propertyName];
10040
10041 typeforce(propertyType, propertyValue, strict);
10042 }
10043 } catch (e) {
10044 throw new TypeError(tfPropertyErrorString(propertyType, propertyName, propertyValue));
10045 }
10046
10047 if (strict) {
10048 for (propertyName in value) {
10049 if (type[propertyName]) continue;
10050
10051 throw new TypeError('Unexpected property "' + propertyName + '"');
10052 }
10053 }
10054
10055 return true;
10056 }
10057 object.toJSON = function () {
10058 return type;
10059 };
10060
10061 return object;
10062 },
10063
10064 oneOf: function oneOf() {
10065 for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
10066 types[_key] = arguments[_key];
10067 }
10068
10069 function oneOf(value, strict) {
10070 return types.some(function (type) {
10071 try {
10072 return typeforce(type, value, strict);
10073 } catch (e) {
10074 return false;
10075 }
10076 });
10077 }
10078 oneOf.toJSON = function () {
10079 return types.map(sJSON).join('|');
10080 };
10081
10082 return oneOf;
10083 },
10084
10085 quacksLike: function quacksLike(type) {
10086 function quacksLike(value, strict) {
10087 return type === getValueTypeName(value);
10088 }
10089 quacksLike.toJSON = function () {
10090 return type;
10091 };
10092
10093 return quacksLike;
10094 },
10095
10096 tuple: function tuple() {
10097 for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10098 types[_key2] = arguments[_key2];
10099 }
10100
10101 function tuple(value, strict) {
10102 return types.every(function (type, i) {
10103 return typeforce(type, value[i], strict);
10104 });
10105 }
10106 tuple.toJSON = function () {
10107 return '(' + types.map(sJSON).join(', ') + ')';
10108 };
10109
10110 return tuple;
10111 },
10112
10113 value: function value(expected) {
10114 function value(actual) {
10115 return actual === expected;
10116 }
10117 value.toJSON = function () {
10118 return expected;
10119 };
10120
10121 return value;
10122 }
10123};
10124
10125function compile(type) {
10126 if (nativeTypes.String(type)) {
10127 if (type[0] === '?') return otherTypes.maybe(compile(type.slice(1)));
10128
10129 return nativeTypes[type] || otherTypes.quacksLike(type);
10130 } else if (type && nativeTypes.Object(type)) {
10131 if (nativeTypes.Array(type)) return otherTypes.arrayOf(compile(type[0]));
10132
10133 var compiled = {};
10134
10135 for (var propertyName in type) {
10136 compiled[propertyName] = compile(type[propertyName]);
10137 }
10138
10139 return otherTypes.object(compiled);
10140 } else if (nativeTypes.Function(type)) {
10141 return type;
10142 }
10143
10144 return otherTypes.value(type);
ebd8d4e8
IC
10145}
10146
ab78acc6
IC
10147function typeforce(_x3, _x4, _x5) {
10148 var _again = true;
10149
10150 _function: while (_again) {
10151 var type = _x3,
10152 value = _x4,
10153 strict = _x5;
10154 _again = false;
10155
10156 if (nativeTypes.Function(type)) {
10157 if (type(value, strict)) return true;
10158
10159 throw new TypeError(tfErrorString(type, value));
10160 }
10161
10162 // JIT
10163 _x3 = compile(type);
10164 _x4 = value;
10165 _x5 = strict;
10166 _again = true;
10167 continue _function;
10168 }
ebd8d4e8
IC
10169}
10170
ab78acc6
IC
10171// assign all types to typeforce function
10172var typeName;
10173Object.keys(nativeTypes).forEach(function (typeName) {
10174 var nativeType = nativeTypes[typeName];
10175 nativeType.toJSON = function () {
10176 return typeName;
10177 };
10178
10179 typeforce[typeName] = nativeType;
10180});
ebd8d4e8 10181
ab78acc6
IC
10182for (typeName in otherTypes) {
10183 typeforce[typeName] = otherTypes[typeName];
10184}
ebd8d4e8 10185
ab78acc6
IC
10186module.exports = typeforce;
10187module.exports.compile = compile;
10188}).call(this,require("buffer").Buffer)
10189},{"buffer":7}],54:[function(require,module,exports){
ebd8d4e8 10190(function (Buffer){
ab78acc6
IC
10191var assert = require('assert')
10192var base58check = require('bs58check')
10193var typeForce = require('typeforce')
10194var networks = require('./networks')
10195var scripts = require('./scripts')
ebd8d4e8 10196
ab78acc6 10197function findScriptTypeByVersion (version) {
ebd8d4e8
IC
10198 for (var networkName in networks) {
10199 var network = networks[networkName]
10200
10201 if (version === network.pubKeyHash) return 'pubkeyhash'
10202 if (version === network.scriptHash) return 'scripthash'
10203 }
10204}
10205
ab78acc6
IC
10206function Address (hash, version) {
10207 typeForce('Buffer', hash)
10208
ebd8d4e8
IC
10209 assert.strictEqual(hash.length, 20, 'Invalid hash length')
10210 assert.strictEqual(version & 0xff, version, 'Invalid version byte')
10211
10212 this.hash = hash
10213 this.version = version
10214}
10215
ab78acc6 10216Address.fromBase58Check = function (string) {
ebd8d4e8
IC
10217 var payload = base58check.decode(string)
10218 var version = payload.readUInt8(0)
10219 var hash = payload.slice(1)
10220
10221 return new Address(hash, version)
10222}
10223
ab78acc6 10224Address.fromOutputScript = function (script, network) {
ebd8d4e8
IC
10225 network = network || networks.bitcoin
10226
ab78acc6
IC
10227 if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash)
10228 if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash)
ebd8d4e8 10229
ab78acc6 10230 assert(false, script.toASM() + ' has no matching Address')
ebd8d4e8
IC
10231}
10232
ebd8d4e8
IC
10233Address.prototype.toBase58Check = function () {
10234 var payload = new Buffer(21)
10235 payload.writeUInt8(this.version, 0)
10236 this.hash.copy(payload, 1)
10237
10238 return base58check.encode(payload)
10239}
10240
ab78acc6 10241Address.prototype.toOutputScript = function () {
ebd8d4e8
IC
10242 var scriptType = findScriptTypeByVersion(this.version)
10243
10244 if (scriptType === 'pubkeyhash') return scripts.pubKeyHashOutput(this.hash)
10245 if (scriptType === 'scripthash') return scripts.scriptHashOutput(this.hash)
10246
ab78acc6
IC
10247 assert(false, this.toString() + ' has no matching Script')
10248}
10249
10250Address.prototype.toString = Address.prototype.toBase58Check
10251
10252module.exports = Address
10253
10254}).call(this,require("buffer").Buffer)
10255},{"./networks":66,"./scripts":69,"assert":5,"bs58check":31,"buffer":7,"typeforce":53}],55:[function(require,module,exports){
10256var bs58check = require('bs58check')
10257
10258function decode () {
10259 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10260
10261 return bs58check.decode.apply(undefined, arguments)
10262}
10263
10264function encode () {
10265 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10266
10267 return bs58check.encode.apply(undefined, arguments)
10268}
10269
10270module.exports = {
10271 decode: decode,
10272 encode: encode
10273}
10274
10275},{"bs58check":31}],56:[function(require,module,exports){
10276(function (Buffer){
10277var assert = require('assert')
10278var bufferutils = require('./bufferutils')
10279var crypto = require('./crypto')
10280
10281var Transaction = require('./transaction')
10282
10283function Block () {
10284 this.version = 1
10285 this.prevHash = null
10286 this.merkleRoot = null
10287 this.timestamp = 0
10288 this.bits = 0
10289 this.nonce = 0
10290}
10291
10292Block.fromBuffer = function (buffer) {
10293 assert(buffer.length >= 80, 'Buffer too small (< 80 bytes)')
10294
10295 var offset = 0
10296 function readSlice (n) {
10297 offset += n
10298 return buffer.slice(offset - n, offset)
10299 }
10300
10301 function readUInt32 () {
10302 var i = buffer.readUInt32LE(offset)
10303 offset += 4
10304 return i
10305 }
10306
10307 var block = new Block()
10308 block.version = readUInt32()
10309 block.prevHash = readSlice(32)
10310 block.merkleRoot = readSlice(32)
10311 block.timestamp = readUInt32()
10312 block.bits = readUInt32()
10313 block.nonce = readUInt32()
10314
10315 if (buffer.length === 80) return block
10316
10317 function readVarInt () {
10318 var vi = bufferutils.readVarInt(buffer, offset)
10319 offset += vi.size
10320 return vi.number
10321 }
10322
10323 // FIXME: poor performance
10324 function readTransaction () {
10325 var tx = Transaction.fromBuffer(buffer.slice(offset), true)
10326
10327 offset += tx.toBuffer().length
10328 return tx
10329 }
10330
10331 var nTransactions = readVarInt()
10332 block.transactions = []
10333
10334 for (var i = 0; i < nTransactions; ++i) {
10335 var tx = readTransaction()
10336 block.transactions.push(tx)
10337 }
10338
10339 return block
10340}
10341
10342Block.fromHex = function (hex) {
10343 return Block.fromBuffer(new Buffer(hex, 'hex'))
10344}
10345
10346Block.prototype.getHash = function () {
10347 return crypto.hash256(this.toBuffer(true))
10348}
10349
10350Block.prototype.getId = function () {
10351 return bufferutils.reverse(this.getHash()).toString('hex')
ebd8d4e8
IC
10352}
10353
ab78acc6
IC
10354Block.prototype.getUTCDate = function () {
10355 var date = new Date(0) // epoch
10356 date.setUTCSeconds(this.timestamp)
ebd8d4e8 10357
ab78acc6
IC
10358 return date
10359}
ebd8d4e8 10360
ab78acc6
IC
10361Block.prototype.toBuffer = function (headersOnly) {
10362 var buffer = new Buffer(80)
ebd8d4e8 10363
ab78acc6
IC
10364 var offset = 0
10365 function writeSlice (slice) {
10366 slice.copy(buffer, offset)
10367 offset += slice.length
10368 }
ebd8d4e8 10369
ab78acc6
IC
10370 function writeUInt32 (i) {
10371 buffer.writeUInt32LE(i, offset)
10372 offset += 4
10373 }
ebd8d4e8 10374
ab78acc6
IC
10375 writeUInt32(this.version)
10376 writeSlice(this.prevHash)
10377 writeSlice(this.merkleRoot)
10378 writeUInt32(this.timestamp)
10379 writeUInt32(this.bits)
10380 writeUInt32(this.nonce)
ebd8d4e8 10381
ab78acc6 10382 if (headersOnly || !this.transactions) return buffer
ebd8d4e8 10383
ab78acc6
IC
10384 var txLenBuffer = bufferutils.varIntBuffer(this.transactions.length)
10385 var txBuffers = this.transactions.map(function (tx) {
10386 return tx.toBuffer()
10387 })
ebd8d4e8 10388
ab78acc6 10389 return Buffer.concat([buffer, txLenBuffer].concat(txBuffers))
ebd8d4e8
IC
10390}
10391
ab78acc6
IC
10392Block.prototype.toHex = function (headersOnly) {
10393 return this.toBuffer(headersOnly).toString('hex')
ebd8d4e8
IC
10394}
10395
ab78acc6
IC
10396module.exports = Block
10397
10398}).call(this,require("buffer").Buffer)
10399},{"./bufferutils":57,"./crypto":58,"./transaction":70,"assert":5,"buffer":7}],57:[function(require,module,exports){
10400(function (Buffer){
10401var assert = require('assert')
10402var opcodes = require('./opcodes')
ebd8d4e8
IC
10403
10404// https://github.com/feross/buffer/blob/master/index.js#L1127
ab78acc6 10405function verifuint (value, max) {
ebd8d4e8
IC
10406 assert(typeof value === 'number', 'cannot write a non-number as a number')
10407 assert(value >= 0, 'specified a negative value for writing an unsigned value')
10408 assert(value <= max, 'value is larger than maximum value for type')
10409 assert(Math.floor(value) === value, 'value has a fractional component')
10410}
10411
ab78acc6 10412function pushDataSize (i) {
ebd8d4e8 10413 return i < opcodes.OP_PUSHDATA1 ? 1
ab78acc6
IC
10414 : i < 0xff ? 2
10415 : i < 0xffff ? 3
10416 : 5
ebd8d4e8
IC
10417}
10418
ab78acc6 10419function readPushDataInt (buffer, offset) {
ebd8d4e8
IC
10420 var opcode = buffer.readUInt8(offset)
10421 var number, size
10422
10423 // ~6 bit
10424 if (opcode < opcodes.OP_PUSHDATA1) {
10425 number = opcode
10426 size = 1
10427
10428 // 8 bit
10429 } else if (opcode === opcodes.OP_PUSHDATA1) {
ab78acc6 10430 if (offset + 2 > buffer.length) return null
ebd8d4e8
IC
10431 number = buffer.readUInt8(offset + 1)
10432 size = 2
10433
10434 // 16 bit
10435 } else if (opcode === opcodes.OP_PUSHDATA2) {
ab78acc6 10436 if (offset + 3 > buffer.length) return null
ebd8d4e8
IC
10437 number = buffer.readUInt16LE(offset + 1)
10438 size = 3
10439
10440 // 32 bit
10441 } else {
ab78acc6 10442 if (offset + 5 > buffer.length) return null
ebd8d4e8
IC
10443 assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
10444
10445 number = buffer.readUInt32LE(offset + 1)
10446 size = 5
ebd8d4e8
IC
10447 }
10448
10449 return {
10450 opcode: opcode,
10451 number: number,
10452 size: size
10453 }
10454}
10455
ab78acc6 10456function readUInt64LE (buffer, offset) {
ebd8d4e8
IC
10457 var a = buffer.readUInt32LE(offset)
10458 var b = buffer.readUInt32LE(offset + 4)
10459 b *= 0x100000000
10460
10461 verifuint(b + a, 0x001fffffffffffff)
10462
10463 return b + a
10464}
10465
ab78acc6 10466function readVarInt (buffer, offset) {
ebd8d4e8
IC
10467 var t = buffer.readUInt8(offset)
10468 var number, size
10469
10470 // 8 bit
10471 if (t < 253) {
10472 number = t
10473 size = 1
10474
10475 // 16 bit
10476 } else if (t < 254) {
10477 number = buffer.readUInt16LE(offset + 1)
10478 size = 3
10479
10480 // 32 bit
10481 } else if (t < 255) {
10482 number = buffer.readUInt32LE(offset + 1)
10483 size = 5
10484
10485 // 64 bit
10486 } else {
10487 number = readUInt64LE(buffer, offset + 1)
10488 size = 9
10489 }
10490
10491 return {
10492 number: number,
10493 size: size
10494 }
10495}
10496
ab78acc6 10497function writePushDataInt (buffer, number, offset) {
ebd8d4e8
IC
10498 var size = pushDataSize(number)
10499
10500 // ~6 bit
10501 if (size === 1) {
10502 buffer.writeUInt8(number, offset)
10503
10504 // 8 bit
10505 } else if (size === 2) {
10506 buffer.writeUInt8(opcodes.OP_PUSHDATA1, offset)
10507 buffer.writeUInt8(number, offset + 1)
10508
10509 // 16 bit
10510 } else if (size === 3) {
10511 buffer.writeUInt8(opcodes.OP_PUSHDATA2, offset)
10512 buffer.writeUInt16LE(number, offset + 1)
10513
10514 // 32 bit
10515 } else {
10516 buffer.writeUInt8(opcodes.OP_PUSHDATA4, offset)
10517 buffer.writeUInt32LE(number, offset + 1)
ebd8d4e8
IC
10518 }
10519
10520 return size
10521}
10522
ab78acc6 10523function writeUInt64LE (buffer, value, offset) {
ebd8d4e8
IC
10524 verifuint(value, 0x001fffffffffffff)
10525
10526 buffer.writeInt32LE(value & -1, offset)
10527 buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4)
10528}
10529
ab78acc6
IC
10530function varIntSize (i) {
10531 return i < 253 ? 1
10532 : i < 0x10000 ? 3
10533 : i < 0x100000000 ? 5
10534 : 9
ebd8d4e8
IC
10535}
10536
ab78acc6 10537function writeVarInt (buffer, number, offset) {
ebd8d4e8
IC
10538 var size = varIntSize(number)
10539
10540 // 8 bit
10541 if (size === 1) {
10542 buffer.writeUInt8(number, offset)
10543
10544 // 16 bit
10545 } else if (size === 3) {
10546 buffer.writeUInt8(253, offset)
10547 buffer.writeUInt16LE(number, offset + 1)
10548
10549 // 32 bit
10550 } else if (size === 5) {
10551 buffer.writeUInt8(254, offset)
10552 buffer.writeUInt32LE(number, offset + 1)
10553
10554 // 64 bit
10555 } else {
10556 buffer.writeUInt8(255, offset)
10557 writeUInt64LE(buffer, number, offset + 1)
10558 }
10559
10560 return size
10561}
10562
ab78acc6
IC
10563function varIntBuffer (i) {
10564 var size = varIntSize(i)
10565 var buffer = new Buffer(size)
10566 writeVarInt(buffer, i, 0)
10567
10568 return buffer
10569}
10570
10571function reverse (buffer) {
10572 var buffer2 = new Buffer(buffer)
10573 Array.prototype.reverse.call(buffer2)
10574 return buffer2
10575}
10576
ebd8d4e8
IC
10577module.exports = {
10578 pushDataSize: pushDataSize,
10579 readPushDataInt: readPushDataInt,
10580 readUInt64LE: readUInt64LE,
10581 readVarInt: readVarInt,
ab78acc6
IC
10582 reverse: reverse,
10583 varIntBuffer: varIntBuffer,
ebd8d4e8
IC
10584 varIntSize: varIntSize,
10585 writePushDataInt: writePushDataInt,
10586 writeUInt64LE: writeUInt64LE,
10587 writeVarInt: writeVarInt
10588}
10589
ab78acc6
IC
10590}).call(this,require("buffer").Buffer)
10591},{"./opcodes":67,"assert":5,"buffer":7}],58:[function(require,module,exports){
10592var createHash = require('create-hash')
ebd8d4e8 10593
ab78acc6 10594function hash160 (buffer) {
ebd8d4e8
IC
10595 return ripemd160(sha256(buffer))
10596}
10597
ab78acc6 10598function hash256 (buffer) {
ebd8d4e8
IC
10599 return sha256(sha256(buffer))
10600}
10601
ab78acc6
IC
10602function ripemd160 (buffer) {
10603 return createHash('rmd160').update(buffer).digest()
ebd8d4e8
IC
10604}
10605
ab78acc6
IC
10606function sha1 (buffer) {
10607 return createHash('sha1').update(buffer).digest()
ebd8d4e8
IC
10608}
10609
ab78acc6
IC
10610function sha256 (buffer) {
10611 return createHash('sha256').update(buffer).digest()
ebd8d4e8
IC
10612}
10613
10614// FIXME: Name not consistent with others
ab78acc6 10615var createHmac = require('create-hmac')
ebd8d4e8 10616
ab78acc6
IC
10617function HmacSHA256 (buffer, secret) {
10618 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10619 return createHmac('sha256', secret).update(buffer).digest()
10620}
ebd8d4e8 10621
ab78acc6
IC
10622function HmacSHA512 (buffer, secret) {
10623 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10624 return createHmac('sha512', secret).update(buffer).digest()
ebd8d4e8
IC
10625}
10626
10627module.exports = {
10628 ripemd160: ripemd160,
10629 sha1: sha1,
10630 sha256: sha256,
10631 hash160: hash160,
10632 hash256: hash256,
10633 HmacSHA256: HmacSHA256,
10634 HmacSHA512: HmacSHA512
10635}
10636
ab78acc6 10637},{"create-hash":32,"create-hmac":45}],59:[function(require,module,exports){
ebd8d4e8 10638(function (Buffer){
ab78acc6
IC
10639var assert = require('assert')
10640var createHmac = require('create-hmac')
10641var typeForce = require('typeforce')
ebd8d4e8 10642
ab78acc6
IC
10643var BigInteger = require('bigi')
10644var ECSignature = require('./ecsignature')
10645
10646var ZERO = new Buffer([0])
10647var ONE = new Buffer([1])
ebd8d4e8
IC
10648
10649// https://tools.ietf.org/html/rfc6979#section-3.2
ab78acc6
IC
10650function deterministicGenerateK (curve, hash, d, checkSig) {
10651 typeForce('Buffer', hash)
10652 typeForce('BigInteger', d)
10653
10654 // FIXME: remove/uncomment for 2.0.0
10655 // typeForce('Function', checkSig)
10656
10657 if (typeof checkSig !== 'function') {
10658 console.warn('deterministicGenerateK requires a checkSig callback in 2.0.0, see #337 for more information')
10659
10660 checkSig = function (k) {
10661 var G = curve.G
10662 var n = curve.n
10663 var e = BigInteger.fromBuffer(hash)
10664
10665 var Q = G.multiply(k)
10666
10667 if (curve.isInfinity(Q))
10668 return false
10669
10670 var r = Q.affineX.mod(n)
10671 if (r.signum() === 0)
10672 return false
10673
10674 var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10675 if (s.signum() === 0)
10676 return false
10677
10678 return true
10679 }
10680 }
10681
10682 // sanity check
ebd8d4e8 10683 assert.equal(hash.length, 32, 'Hash must be 256 bit')
ebd8d4e8
IC
10684
10685 var x = d.toBuffer(32)
10686 var k = new Buffer(32)
10687 var v = new Buffer(32)
10688
ab78acc6 10689 // Step A, ignored as hash already provided
ebd8d4e8
IC
10690 // Step B
10691 v.fill(1)
10692
10693 // Step C
10694 k.fill(0)
10695
10696 // Step D
ab78acc6
IC
10697 k = createHmac('sha256', k)
10698 .update(v)
10699 .update(ZERO)
10700 .update(x)
10701 .update(hash)
10702 .digest()
ebd8d4e8
IC
10703
10704 // Step E
ab78acc6 10705 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10706
10707 // Step F
ab78acc6
IC
10708 k = createHmac('sha256', k)
10709 .update(v)
10710 .update(ONE)
10711 .update(x)
10712 .update(hash)
10713 .digest()
ebd8d4e8
IC
10714
10715 // Step G
ab78acc6 10716 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10717
10718 // Step H1/H2a, ignored as tlen === qlen (256 bit)
10719 // Step H2b
ab78acc6 10720 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10721
10722 var T = BigInteger.fromBuffer(v)
10723
ab78acc6
IC
10724 // Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
10725 while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
10726 k = createHmac('sha256', k)
10727 .update(v)
10728 .update(ZERO)
10729 .digest()
10730
10731 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8 10732
ab78acc6
IC
10733 // Step H1/H2a, again, ignored as tlen === qlen (256 bit)
10734 // Step H2b again
10735 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10736 T = BigInteger.fromBuffer(v)
10737 }
10738
10739 return T
10740}
10741
ab78acc6
IC
10742function sign (curve, hash, d) {
10743 var r, s
ebd8d4e8 10744
ab78acc6 10745 var e = BigInteger.fromBuffer(hash)
ebd8d4e8
IC
10746 var n = curve.n
10747 var G = curve.G
ebd8d4e8 10748
ab78acc6
IC
10749 deterministicGenerateK(curve, hash, d, function (k) {
10750 var Q = G.multiply(k)
10751
10752 if (curve.isInfinity(Q))
10753 return false
10754
10755 r = Q.affineX.mod(n)
10756 if (r.signum() === 0)
10757 return false
10758
10759 s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10760 if (s.signum() === 0)
10761 return false
ebd8d4e8 10762
ab78acc6
IC
10763 return true
10764 })
ebd8d4e8
IC
10765
10766 var N_OVER_TWO = n.shiftRight(1)
10767
10768 // enforce low S values, see bip62: 'low s values in signatures'
10769 if (s.compareTo(N_OVER_TWO) > 0) {
10770 s = n.subtract(s)
10771 }
10772
10773 return new ECSignature(r, s)
10774}
10775
ab78acc6 10776function verifyRaw (curve, e, signature, Q) {
ebd8d4e8
IC
10777 var n = curve.n
10778 var G = curve.G
10779
10780 var r = signature.r
10781 var s = signature.s
10782
ab78acc6
IC
10783 // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]
10784 if (r.signum() <= 0 || r.compareTo(n) >= 0) return false
10785 if (s.signum() <= 0 || s.compareTo(n) >= 0) return false
ebd8d4e8 10786
ab78acc6 10787 // c = s^-1 mod n
ebd8d4e8
IC
10788 var c = s.modInverse(n)
10789
ab78acc6
IC
10790 // 1.4.4 Compute u1 = es^−1 mod n
10791 // u2 = rs^−1 mod n
ebd8d4e8
IC
10792 var u1 = e.multiply(c).mod(n)
10793 var u2 = r.multiply(c).mod(n)
10794
ab78acc6
IC
10795 // 1.4.5 Compute R = (xR, yR) = u1G + u2Q
10796 var R = G.multiplyTwo(u1, Q, u2)
10797 var v = R.affineX.mod(n)
ebd8d4e8 10798
ab78acc6
IC
10799 // 1.4.5 (cont.) Enforce R is not at infinity
10800 if (curve.isInfinity(R)) return false
10801
10802 // 1.4.8 If v = r, output "valid", and if v != r, output "invalid"
ebd8d4e8
IC
10803 return v.equals(r)
10804}
10805
ab78acc6
IC
10806function verify (curve, hash, signature, Q) {
10807 // 1.4.2 H = Hash(M), already done by the user
10808 // 1.4.3 e = H
10809 var e = BigInteger.fromBuffer(hash)
10810
10811 return verifyRaw(curve, e, signature, Q)
10812}
10813
ebd8d4e8
IC
10814/**
10815 * Recover a public key from a signature.
10816 *
10817 * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, "Public
10818 * Key Recovery Operation".
10819 *
10820 * http://www.secg.org/download/aid-780/sec1-v2.pdf
10821 */
ab78acc6 10822function recoverPubKey (curve, e, signature, i) {
ebd8d4e8
IC
10823 assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')
10824
ab78acc6
IC
10825 var n = curve.n
10826 var G = curve.G
10827
ebd8d4e8
IC
10828 var r = signature.r
10829 var s = signature.s
10830
ab78acc6
IC
10831 assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')
10832 assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')
10833
ebd8d4e8
IC
10834 // A set LSB signifies that the y-coordinate is odd
10835 var isYOdd = i & 1
10836
10837 // The more significant bit specifies whether we should use the
10838 // first or second candidate key.
10839 var isSecondKey = i >> 1
10840
ebd8d4e8
IC
10841 // 1.1 Let x = r + jn
10842 var x = isSecondKey ? r.add(n) : r
10843 var R = curve.pointFromX(isYOdd, x)
10844
10845 // 1.4 Check that nR is at infinity
10846 var nR = R.multiply(n)
10847 assert(curve.isInfinity(nR), 'nR is not a valid curve point')
10848
10849 // Compute -e from e
10850 var eNeg = e.negate().mod(n)
10851
10852 // 1.6.1 Compute Q = r^-1 (sR - eG)
10853 // Q = r^-1 (sR + -eG)
10854 var rInv = r.modInverse(n)
10855
10856 var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)
10857 curve.validate(Q)
10858
10859 return Q
10860}
10861
10862/**
10863 * Calculate pubkey extraction parameter.
10864 *
10865 * When extracting a pubkey from a signature, we have to
10866 * distinguish four different cases. Rather than putting this
10867 * burden on the verifier, Bitcoin includes a 2-bit value with the
10868 * signature.
10869 *
10870 * This function simply tries all four cases and returns the value
10871 * that resulted in a successful pubkey recovery.
10872 */
ab78acc6 10873function calcPubKeyRecoveryParam (curve, e, signature, Q) {
ebd8d4e8
IC
10874 for (var i = 0; i < 4; i++) {
10875 var Qprime = recoverPubKey(curve, e, signature, i)
10876
10877 // 1.6.2 Verify Q
10878 if (Qprime.equals(Q)) {
10879 return i
10880 }
10881 }
10882
10883 throw new Error('Unable to find valid recovery factor')
10884}
10885
10886module.exports = {
10887 calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,
10888 deterministicGenerateK: deterministicGenerateK,
10889 recoverPubKey: recoverPubKey,
10890 sign: sign,
10891 verify: verify,
10892 verifyRaw: verifyRaw
10893}
10894
ab78acc6
IC
10895}).call(this,require("buffer").Buffer)
10896},{"./ecsignature":62,"assert":5,"bigi":3,"buffer":7,"create-hmac":45,"typeforce":53}],60:[function(require,module,exports){
ebd8d4e8 10897(function (Buffer){
ab78acc6
IC
10898var assert = require('assert')
10899var base58check = require('bs58check')
10900var ecdsa = require('./ecdsa')
10901var networks = require('./networks')
10902var randomBytes = require('randombytes')
10903var typeForce = require('typeforce')
ebd8d4e8 10904
ab78acc6
IC
10905var BigInteger = require('bigi')
10906var ECPubKey = require('./ecpubkey')
ebd8d4e8 10907
ab78acc6
IC
10908var ecurve = require('ecurve')
10909var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 10910
ab78acc6 10911function ECKey (d, compressed) {
ebd8d4e8 10912 assert(d.signum() > 0, 'Private key must be greater than 0')
ab78acc6 10913 assert(d.compareTo(ECKey.curve.n) < 0, 'Private key must be less than the curve order')
ebd8d4e8 10914
ab78acc6 10915 var Q = ECKey.curve.G.multiply(d)
ebd8d4e8
IC
10916
10917 this.d = d
10918 this.pub = new ECPubKey(Q, compressed)
10919}
10920
ab78acc6
IC
10921// Constants
10922ECKey.curve = secp256k1
10923
ebd8d4e8 10924// Static constructors
ab78acc6 10925ECKey.fromWIF = function (string) {
ebd8d4e8
IC
10926 var payload = base58check.decode(string)
10927 var compressed = false
10928
10929 // Ignore the version byte
10930 payload = payload.slice(1)
10931
10932 if (payload.length === 33) {
10933 assert.strictEqual(payload[32], 0x01, 'Invalid compression flag')
10934
10935 // Truncate the compression flag
10936 payload = payload.slice(0, -1)
10937 compressed = true
10938 }
10939
10940 assert.equal(payload.length, 32, 'Invalid WIF payload length')
10941
10942 var d = BigInteger.fromBuffer(payload)
10943 return new ECKey(d, compressed)
10944}
10945
ab78acc6
IC
10946ECKey.makeRandom = function (compressed, rng) {
10947 rng = rng || randomBytes
ebd8d4e8
IC
10948
10949 var buffer = rng(32)
ab78acc6
IC
10950 typeForce('Buffer', buffer)
10951 assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
ebd8d4e8
IC
10952
10953 var d = BigInteger.fromBuffer(buffer)
ab78acc6 10954 d = d.mod(ECKey.curve.n)
ebd8d4e8
IC
10955
10956 return new ECKey(d, compressed)
10957}
10958
10959// Export functions
ab78acc6 10960ECKey.prototype.toWIF = function (network) {
ebd8d4e8
IC
10961 network = network || networks.bitcoin
10962
10963 var bufferLen = this.pub.compressed ? 34 : 33
10964 var buffer = new Buffer(bufferLen)
10965
10966 buffer.writeUInt8(network.wif, 0)
10967 this.d.toBuffer(32).copy(buffer, 1)
10968
10969 if (this.pub.compressed) {
10970 buffer.writeUInt8(0x01, 33)
10971 }
10972
10973 return base58check.encode(buffer)
10974}
10975
10976// Operations
ab78acc6
IC
10977ECKey.prototype.sign = function (hash) {
10978 return ecdsa.sign(ECKey.curve, hash, this.d)
ebd8d4e8
IC
10979}
10980
10981module.exports = ECKey
10982
ab78acc6
IC
10983}).call(this,require("buffer").Buffer)
10984},{"./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 10985(function (Buffer){
ab78acc6
IC
10986var crypto = require('./crypto')
10987var ecdsa = require('./ecdsa')
10988var typeForce = require('typeforce')
10989var networks = require('./networks')
ebd8d4e8 10990
ab78acc6 10991var Address = require('./address')
ebd8d4e8 10992
ab78acc6
IC
10993var ecurve = require('ecurve')
10994var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 10995
ab78acc6
IC
10996function ECPubKey (Q, compressed) {
10997 if (compressed === undefined) {
10998 compressed = true
10999 }
ebd8d4e8 11000
ab78acc6
IC
11001 typeForce('Point', Q)
11002 typeForce('Boolean', compressed)
ebd8d4e8
IC
11003
11004 this.compressed = compressed
11005 this.Q = Q
11006}
11007
ab78acc6
IC
11008// Constants
11009ECPubKey.curve = secp256k1
11010
ebd8d4e8 11011// Static constructors
ab78acc6
IC
11012ECPubKey.fromBuffer = function (buffer) {
11013 var Q = ecurve.Point.decodeFrom(ECPubKey.curve, buffer)
ebd8d4e8
IC
11014 return new ECPubKey(Q, Q.compressed)
11015}
11016
ab78acc6 11017ECPubKey.fromHex = function (hex) {
ebd8d4e8
IC
11018 return ECPubKey.fromBuffer(new Buffer(hex, 'hex'))
11019}
11020
11021// Operations
ab78acc6 11022ECPubKey.prototype.getAddress = function (network) {
ebd8d4e8
IC
11023 network = network || networks.bitcoin
11024
11025 return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash)
11026}
11027
ab78acc6
IC
11028ECPubKey.prototype.verify = function (hash, signature) {
11029 return ecdsa.verify(ECPubKey.curve, hash, signature, this.Q)
ebd8d4e8
IC
11030}
11031
11032// Export functions
ab78acc6 11033ECPubKey.prototype.toBuffer = function () {
ebd8d4e8
IC
11034 return this.Q.getEncoded(this.compressed)
11035}
11036
ab78acc6 11037ECPubKey.prototype.toHex = function () {
ebd8d4e8
IC
11038 return this.toBuffer().toString('hex')
11039}
11040
11041module.exports = ECPubKey
11042
ab78acc6
IC
11043}).call(this,require("buffer").Buffer)
11044},{"./address":54,"./crypto":58,"./ecdsa":59,"./networks":66,"buffer":7,"ecurve":49,"typeforce":53}],62:[function(require,module,exports){
ebd8d4e8 11045(function (Buffer){
ab78acc6
IC
11046var assert = require('assert')
11047var typeForce = require('typeforce')
11048
11049var BigInteger = require('bigi')
11050
11051function ECSignature (r, s) {
11052 typeForce('BigInteger', r)
11053 typeForce('BigInteger', s)
ebd8d4e8 11054
ebd8d4e8
IC
11055 this.r = r
11056 this.s = s
11057}
11058
ab78acc6 11059ECSignature.parseCompact = function (buffer) {
ebd8d4e8
IC
11060 assert.equal(buffer.length, 65, 'Invalid signature length')
11061 var i = buffer.readUInt8(0) - 27
11062
11063 // At most 3 bits
11064 assert.equal(i, i & 7, 'Invalid signature parameter')
11065 var compressed = !!(i & 4)
11066
11067 // Recovery param only
11068 i = i & 3
11069
11070 var r = BigInteger.fromBuffer(buffer.slice(1, 33))
11071 var s = BigInteger.fromBuffer(buffer.slice(33))
11072
11073 return {
11074 compressed: compressed,
11075 i: i,
11076 signature: new ECSignature(r, s)
11077 }
11078}
11079
ab78acc6 11080ECSignature.fromDER = function (buffer) {
ebd8d4e8
IC
11081 assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')
11082 assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')
11083 assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')
11084
11085 var rLen = buffer.readUInt8(3)
11086 assert(rLen > 0, 'R length is zero')
11087
11088 var offset = 4 + rLen
11089 assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')
11090
11091 var sLen = buffer.readUInt8(offset + 1)
11092 assert(sLen > 0, 'S length is zero')
11093
11094 var rB = buffer.slice(4, offset)
11095 var sB = buffer.slice(offset + 2)
11096 offset += 2 + sLen
11097
11098 if (rLen > 1 && rB.readUInt8(0) === 0x00) {
11099 assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')
11100 }
11101
11102 if (sLen > 1 && sB.readUInt8(0) === 0x00) {
11103 assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')
11104 }
11105
11106 assert.equal(offset, buffer.length, 'Invalid DER encoding')
11107 var r = BigInteger.fromDERInteger(rB)
11108 var s = BigInteger.fromDERInteger(sB)
11109
11110 assert(r.signum() >= 0, 'R value is negative')
11111 assert(s.signum() >= 0, 'S value is negative')
11112
11113 return new ECSignature(r, s)
11114}
11115
ab78acc6
IC
11116// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
11117ECSignature.parseScriptSignature = function (buffer) {
ebd8d4e8
IC
11118 var hashType = buffer.readUInt8(buffer.length - 1)
11119 var hashTypeMod = hashType & ~0x80
11120
ab78acc6 11121 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
ebd8d4e8
IC
11122
11123 return {
11124 signature: ECSignature.fromDER(buffer.slice(0, -1)),
11125 hashType: hashType
11126 }
11127}
11128
ab78acc6
IC
11129ECSignature.prototype.toCompact = function (i, compressed) {
11130 if (compressed) {
11131 i += 4
11132 }
11133
ebd8d4e8
IC
11134 i += 27
11135
11136 var buffer = new Buffer(65)
11137 buffer.writeUInt8(i, 0)
11138
11139 this.r.toBuffer(32).copy(buffer, 1)
11140 this.s.toBuffer(32).copy(buffer, 33)
11141
11142 return buffer
11143}
11144
ab78acc6 11145ECSignature.prototype.toDER = function () {
ebd8d4e8
IC
11146 var rBa = this.r.toDERInteger()
11147 var sBa = this.s.toDERInteger()
11148
11149 var sequence = []
ab78acc6
IC
11150
11151 // INTEGER
11152 sequence.push(0x02, rBa.length)
ebd8d4e8
IC
11153 sequence = sequence.concat(rBa)
11154
ab78acc6
IC
11155 // INTEGER
11156 sequence.push(0x02, sBa.length)
ebd8d4e8
IC
11157 sequence = sequence.concat(sBa)
11158
ab78acc6
IC
11159 // SEQUENCE
11160 sequence.unshift(0x30, sequence.length)
ebd8d4e8
IC
11161
11162 return new Buffer(sequence)
11163}
11164
ab78acc6
IC
11165ECSignature.prototype.toScriptSignature = function (hashType) {
11166 var hashTypeMod = hashType & ~0x80
11167 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
11168
ebd8d4e8
IC
11169 var hashTypeBuffer = new Buffer(1)
11170 hashTypeBuffer.writeUInt8(hashType, 0)
11171
11172 return Buffer.concat([this.toDER(), hashTypeBuffer])
11173}
11174
11175module.exports = ECSignature
11176
ab78acc6
IC
11177}).call(this,require("buffer").Buffer)
11178},{"assert":5,"bigi":3,"buffer":7,"typeforce":53}],63:[function(require,module,exports){
ebd8d4e8 11179(function (Buffer){
ab78acc6
IC
11180var assert = require('assert')
11181var base58check = require('bs58check')
11182var bcrypto = require('./crypto')
11183var createHmac = require('create-hmac')
11184var typeForce = require('typeforce')
11185var networks = require('./networks')
11186
11187var BigInteger = require('bigi')
11188var ECKey = require('./eckey')
11189var ECPubKey = require('./ecpubkey')
11190
11191var ecurve = require('ecurve')
ebd8d4e8
IC
11192var curve = ecurve.getCurveByName('secp256k1')
11193
ab78acc6 11194function findBIP32NetworkByVersion (version) {
ebd8d4e8
IC
11195 for (var name in networks) {
11196 var network = networks[name]
11197
ab78acc6
IC
11198 if (version === network.bip32.private || version === network.bip32.public) {
11199 return network
ebd8d4e8
IC
11200 }
11201 }
11202
ab78acc6 11203 assert(false, 'Could not find network for ' + version.toString(16))
ebd8d4e8
IC
11204}
11205
ab78acc6 11206function HDNode (K, chainCode, network) {
ebd8d4e8
IC
11207 network = network || networks.bitcoin
11208
ab78acc6
IC
11209 typeForce('Buffer', chainCode)
11210
11211 assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
ebd8d4e8
IC
11212 assert(network.bip32, 'Unknown BIP32 constants for network')
11213
11214 this.chainCode = chainCode
11215 this.depth = 0
11216 this.index = 0
ab78acc6 11217 this.parentFingerprint = 0x00000000
ebd8d4e8
IC
11218 this.network = network
11219
11220 if (K instanceof BigInteger) {
11221 this.privKey = new ECKey(K, true)
11222 this.pubKey = this.privKey.pub
ab78acc6
IC
11223 } else if (K instanceof ECKey) {
11224 assert(K.pub.compressed, 'ECKey must be compressed')
11225 this.privKey = K
11226 this.pubKey = K.pub
11227 } else if (K instanceof ECPubKey) {
11228 assert(K.compressed, 'ECPubKey must be compressed')
11229 this.pubKey = K
ebd8d4e8
IC
11230 } else {
11231 this.pubKey = new ECPubKey(K, true)
11232 }
11233}
11234
11235HDNode.MASTER_SECRET = new Buffer('Bitcoin seed')
11236HDNode.HIGHEST_BIT = 0x80000000
11237HDNode.LENGTH = 78
11238
ab78acc6
IC
11239HDNode.fromSeedBuffer = function (seed, network) {
11240 typeForce('Buffer', seed)
11241
11242 assert(seed.length >= 16, 'Seed should be at least 128 bits')
11243 assert(seed.length <= 64, 'Seed should be at most 512 bits')
11244
11245 var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
ebd8d4e8
IC
11246 var IL = I.slice(0, 32)
11247 var IR = I.slice(32)
11248
11249 // In case IL is 0 or >= n, the master key is invalid
11250 // This is handled by `new ECKey` in the HDNode constructor
11251 var pIL = BigInteger.fromBuffer(IL)
11252
11253 return new HDNode(pIL, IR, network)
11254}
11255
ab78acc6 11256HDNode.fromSeedHex = function (hex, network) {
ebd8d4e8
IC
11257 return HDNode.fromSeedBuffer(new Buffer(hex, 'hex'), network)
11258}
11259
ab78acc6
IC
11260HDNode.fromBase58 = function (string, network) {
11261 return HDNode.fromBuffer(base58check.decode(string), network, true)
ebd8d4e8
IC
11262}
11263
ab78acc6
IC
11264// FIXME: remove in 2.x.y
11265HDNode.fromBuffer = function (buffer, network, __ignoreDeprecation) {
11266 if (!__ignoreDeprecation) {
11267 console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead')
11268 }
11269
ebd8d4e8
IC
11270 assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length')
11271
11272 // 4 byte: version bytes
11273 var version = buffer.readUInt32BE(0)
ab78acc6
IC
11274
11275 if (network) {
11276 assert(version === network.bip32.private || version === network.bip32.public, "Network doesn't match")
11277
11278 // auto-detect
11279 } else {
11280 network = findBIP32NetworkByVersion(version)
11281 }
ebd8d4e8
IC
11282
11283 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
11284 var depth = buffer.readUInt8(4)
11285
11286 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
11287 var parentFingerprint = buffer.readUInt32BE(5)
11288 if (depth === 0) {
11289 assert.strictEqual(parentFingerprint, 0x00000000, 'Invalid parent fingerprint')
11290 }
11291
11292 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11293 // This is encoded in MSB order. (0x00000000 if master key)
11294 var index = buffer.readUInt32BE(9)
11295 assert(depth > 0 || index === 0, 'Invalid index')
11296
11297 // 32 bytes: the chain code
11298 var chainCode = buffer.slice(13, 45)
ab78acc6 11299 var data, hd
ebd8d4e8
IC
11300
11301 // 33 bytes: private key data (0x00 + k)
ab78acc6 11302 if (version === network.bip32.private) {
ebd8d4e8 11303 assert.strictEqual(buffer.readUInt8(45), 0x00, 'Invalid private key')
ab78acc6 11304 data = buffer.slice(46, 78)
ebd8d4e8 11305 var d = BigInteger.fromBuffer(data)
ab78acc6 11306 hd = new HDNode(d, chainCode, network)
ebd8d4e8
IC
11307
11308 // 33 bytes: public key data (0x02 + X or 0x03 + X)
11309 } else {
ab78acc6 11310 data = buffer.slice(45, 78)
ebd8d4e8
IC
11311 var Q = ecurve.Point.decodeFrom(curve, data)
11312 assert.equal(Q.compressed, true, 'Invalid public key')
11313
11314 // Verify that the X coordinate in the public point corresponds to a point on the curve.
11315 // If not, the extended public key is invalid.
11316 curve.validate(Q)
11317
ab78acc6 11318 hd = new HDNode(Q, chainCode, network)
ebd8d4e8
IC
11319 }
11320
11321 hd.depth = depth
11322 hd.index = index
11323 hd.parentFingerprint = parentFingerprint
11324
11325 return hd
11326}
11327
ab78acc6
IC
11328// FIXME: remove in 2.x.y
11329HDNode.fromHex = function (hex, network) {
11330 return HDNode.fromBuffer(new Buffer(hex, 'hex'), network)
ebd8d4e8
IC
11331}
11332
ab78acc6
IC
11333HDNode.prototype.getIdentifier = function () {
11334 return bcrypto.hash160(this.pubKey.toBuffer())
ebd8d4e8
IC
11335}
11336
ab78acc6 11337HDNode.prototype.getFingerprint = function () {
ebd8d4e8
IC
11338 return this.getIdentifier().slice(0, 4)
11339}
11340
ab78acc6 11341HDNode.prototype.getAddress = function () {
ebd8d4e8
IC
11342 return this.pubKey.getAddress(this.network)
11343}
11344
ab78acc6
IC
11345HDNode.prototype.neutered = function () {
11346 var neutered = new HDNode(this.pubKey.Q, this.chainCode, this.network)
11347 neutered.depth = this.depth
11348 neutered.index = this.index
11349 neutered.parentFingerprint = this.parentFingerprint
11350
11351 return neutered
11352}
11353
11354HDNode.prototype.toBase58 = function (isPrivate) {
11355 return base58check.encode(this.toBuffer(isPrivate, true))
ebd8d4e8
IC
11356}
11357
ab78acc6
IC
11358// FIXME: remove in 2.x.y
11359HDNode.prototype.toBuffer = function (isPrivate, __ignoreDeprecation) {
11360 if (isPrivate === undefined) {
11361 isPrivate = !!this.privKey
11362
11363 // FIXME: remove in 2.x.y
11364 } else {
11365 console.warn('isPrivate flag is deprecated, please use the .neutered() method instead')
11366 }
11367
11368 if (!__ignoreDeprecation) {
11369 console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead')
11370 }
ebd8d4e8
IC
11371
11372 // Version
11373 var version = isPrivate ? this.network.bip32.private : this.network.bip32.public
11374 var buffer = new Buffer(HDNode.LENGTH)
11375
11376 // 4 bytes: version bytes
11377 buffer.writeUInt32BE(version, 0)
11378
11379 // Depth
11380 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
11381 buffer.writeUInt8(this.depth, 4)
11382
11383 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
ab78acc6 11384 buffer.writeUInt32BE(this.parentFingerprint, 5)
ebd8d4e8
IC
11385
11386 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11387 // This is encoded in Big endian. (0x00000000 if master key)
11388 buffer.writeUInt32BE(this.index, 9)
11389
11390 // 32 bytes: the chain code
11391 this.chainCode.copy(buffer, 13)
11392
11393 // 33 bytes: the public key or private key data
11394 if (isPrivate) {
ab78acc6 11395 // FIXME: remove in 2.x.y
ebd8d4e8
IC
11396 assert(this.privKey, 'Missing private key')
11397
11398 // 0x00 + k for private keys
11399 buffer.writeUInt8(0, 45)
11400 this.privKey.d.toBuffer(32).copy(buffer, 46)
11401 } else {
ebd8d4e8
IC
11402 // X9.62 encoding for public keys
11403 this.pubKey.toBuffer().copy(buffer, 45)
11404 }
11405
11406 return buffer
11407}
11408
ab78acc6
IC
11409// FIXME: remove in 2.x.y
11410HDNode.prototype.toHex = function (isPrivate) {
ebd8d4e8
IC
11411 return this.toBuffer(isPrivate).toString('hex')
11412}
11413
11414// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
ab78acc6 11415HDNode.prototype.derive = function (index) {
ebd8d4e8
IC
11416 var isHardened = index >= HDNode.HIGHEST_BIT
11417 var indexBuffer = new Buffer(4)
11418 indexBuffer.writeUInt32BE(index, 0)
11419
11420 var data
11421
11422 // Hardened child
11423 if (isHardened) {
11424 assert(this.privKey, 'Could not derive hardened child key')
11425
11426 // data = 0x00 || ser256(kpar) || ser32(index)
11427 data = Buffer.concat([
11428 this.privKey.d.toBuffer(33),
11429 indexBuffer
11430 ])
11431
11432 // Normal child
11433 } else {
11434 // data = serP(point(kpar)) || ser32(index)
11435 // = serP(Kpar) || ser32(index)
11436 data = Buffer.concat([
11437 this.pubKey.toBuffer(),
11438 indexBuffer
11439 ])
11440 }
11441
ab78acc6 11442 var I = createHmac('sha512', this.chainCode).update(data).digest()
ebd8d4e8
IC
11443 var IL = I.slice(0, 32)
11444 var IR = I.slice(32)
11445
11446 var pIL = BigInteger.fromBuffer(IL)
11447
11448 // In case parse256(IL) >= n, proceed with the next value for i
11449 if (pIL.compareTo(curve.n) >= 0) {
11450 return this.derive(index + 1)
11451 }
11452
11453 // Private parent key -> private child key
11454 var hd
11455 if (this.privKey) {
11456 // ki = parse256(IL) + kpar (mod n)
11457 var ki = pIL.add(this.privKey.d).mod(curve.n)
11458
11459 // In case ki == 0, proceed with the next value for i
11460 if (ki.signum() === 0) {
11461 return this.derive(index + 1)
11462 }
11463
11464 hd = new HDNode(ki, IR, this.network)
11465
11466 // Public parent key -> public child key
11467 } else {
11468 // Ki = point(parse256(IL)) + Kpar
11469 // = G*IL + Kpar
11470 var Ki = curve.G.multiply(pIL).add(this.pubKey.Q)
11471
11472 // In case Ki is the point at infinity, proceed with the next value for i
11473 if (curve.isInfinity(Ki)) {
11474 return this.derive(index + 1)
11475 }
11476
11477 hd = new HDNode(Ki, IR, this.network)
11478 }
11479
11480 hd.depth = this.depth + 1
11481 hd.index = index
11482 hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
11483
11484 return hd
11485}
11486
ab78acc6 11487HDNode.prototype.deriveHardened = function (index) {
ebd8d4e8
IC
11488 // Only derives hardened private keys by default
11489 return this.derive(index + HDNode.HIGHEST_BIT)
11490}
11491
11492HDNode.prototype.toString = HDNode.prototype.toBase58
11493
11494module.exports = HDNode
11495
ab78acc6
IC
11496}).call(this,require("buffer").Buffer)
11497},{"./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 11498module.exports = {
ab78acc6
IC
11499 Address: require('./address'),
11500 base58check: require('./base58check'),
11501 Block: require('./block'),
11502 bufferutils: require('./bufferutils'),
11503 crypto: require('./crypto'),
11504 ecdsa: require('./ecdsa'),
11505 ECKey: require('./eckey'),
11506 ECPubKey: require('./ecpubkey'),
11507 ECSignature: require('./ecsignature'),
11508 Message: require('./message'),
11509 opcodes: require('./opcodes'),
11510 HDNode: require('./hdnode'),
11511 Script: require('./script'),
11512 scripts: require('./scripts'),
11513 Transaction: require('./transaction'),
11514 TransactionBuilder: require('./transaction_builder'),
11515 networks: require('./networks'),
11516 Wallet: require('./wallet')
11517}
11518
11519},{"./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 11520(function (Buffer){
ab78acc6
IC
11521var bufferutils = require('./bufferutils')
11522var crypto = require('./crypto')
11523var ecdsa = require('./ecdsa')
11524var networks = require('./networks')
11525
11526var BigInteger = require('bigi')
11527var ECPubKey = require('./ecpubkey')
11528var ECSignature = require('./ecsignature')
11529
11530var ecurve = require('ecurve')
ebd8d4e8
IC
11531var ecparams = ecurve.getCurveByName('secp256k1')
11532
ab78acc6 11533function magicHash (message, network) {
ebd8d4e8
IC
11534 var magicPrefix = new Buffer(network.magicPrefix)
11535 var messageBuffer = new Buffer(message)
ab78acc6 11536 var lengthBuffer = bufferutils.varIntBuffer(messageBuffer.length)
ebd8d4e8
IC
11537
11538 var buffer = Buffer.concat([magicPrefix, lengthBuffer, messageBuffer])
11539 return crypto.hash256(buffer)
11540}
11541
ab78acc6 11542function sign (privKey, message, network) {
ebd8d4e8
IC
11543 network = network || networks.bitcoin
11544
11545 var hash = magicHash(message, network)
11546 var signature = privKey.sign(hash)
11547 var e = BigInteger.fromBuffer(hash)
11548 var i = ecdsa.calcPubKeyRecoveryParam(ecparams, e, signature, privKey.pub.Q)
11549
11550 return signature.toCompact(i, privKey.pub.compressed)
11551}
11552
11553// TODO: network could be implied from address
ab78acc6
IC
11554function verify (address, signature, message, network) {
11555 if (!Buffer.isBuffer(signature)) {
11556 signature = new Buffer(signature, 'base64')
ebd8d4e8 11557 }
ab78acc6 11558
ebd8d4e8
IC
11559 network = network || networks.bitcoin
11560
11561 var hash = magicHash(message, network)
ab78acc6 11562 var parsed = ECSignature.parseCompact(signature)
ebd8d4e8
IC
11563 var e = BigInteger.fromBuffer(hash)
11564 var Q = ecdsa.recoverPubKey(ecparams, e, parsed.signature, parsed.i)
11565
11566 var pubKey = new ECPubKey(Q, parsed.compressed)
ab78acc6 11567 return pubKey.getAddress(network).toString() === address.toString()
ebd8d4e8
IC
11568}
11569
11570module.exports = {
11571 magicHash: magicHash,
11572 sign: sign,
11573 verify: verify
11574}
11575
ab78acc6
IC
11576}).call(this,require("buffer").Buffer)
11577},{"./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
11578// https://en.bitcoin.it/wiki/List_of_address_prefixes
11579// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
11580
11581var networks = {
11582 bitcoin: {
11583 magicPrefix: '\x18Bitcoin Signed Message:\n',
11584 bip32: {
11585 public: 0x0488b21e,
11586 private: 0x0488ade4
11587 },
11588 pubKeyHash: 0x00,
11589 scriptHash: 0x05,
11590 wif: 0x80,
11591 dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162
11592 feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53
11593 estimateFee: estimateFee('bitcoin')
a9385c1b 11594 },
ab78acc6
IC
11595 testnet: {
11596 magicPrefix: '\x18Bitcoin Signed Message:\n',
a9385c1b 11597 bip32: {
ab78acc6
IC
11598 public: 0x043587cf,
11599 private: 0x04358394
a9385c1b 11600 },
ab78acc6
IC
11601 pubKeyHash: 0x6f,
11602 scriptHash: 0xc4,
11603 wif: 0xef,
11604 dustThreshold: 546,
cb325c58 11605 feePerKb: 10000,
ab78acc6 11606 estimateFee: estimateFee('testnet')
a9385c1b 11607 },
ab78acc6
IC
11608 litecoin: {
11609 magicPrefix: '\x19Litecoin Signed Message:\n',
a9385c1b 11610 bip32: {
ab78acc6
IC
11611 public: 0x019da462,
11612 private: 0x019d9cfe
a9385c1b 11613 },
ab78acc6
IC
11614 pubKeyHash: 0x30,
11615 scriptHash: 0x05,
11616 wif: 0xb0,
11617 dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365
11618 dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53
11619 feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56
11620 estimateFee: estimateFee('litecoin')
ebd8d4e8
IC
11621 },
11622 dogecoin: {
11623 magicPrefix: '\x19Dogecoin Signed Message:\n',
11624 bip32: {
11625 public: 0x02facafd,
11626 private: 0x02fac398
11627 },
11628 pubKeyHash: 0x1e,
11629 scriptHash: 0x16,
11630 wif: 0x9e,
11631 dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160
11632 dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62
11633 feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58
11634 estimateFee: estimateFee('dogecoin')
11635 },
ab78acc6
IC
11636 viacoin: {
11637 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8 11638 bip32: {
ab78acc6
IC
11639 public: 0x0488b21e,
11640 private: 0x0488ade4
ebd8d4e8 11641 },
ab78acc6
IC
11642 pubKeyHash: 0x47,
11643 scriptHash: 0x21,
11644 wif: 0xc7,
11645 dustThreshold: 560,
11646 dustSoftThreshold: 100000,
11647 feePerKb: 100000, //
11648 estimateFee: estimateFee('viacoin')
ebd8d4e8 11649 },
ab78acc6
IC
11650 viacointestnet: {
11651 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8
IC
11652 bip32: {
11653 public: 0x043587cf,
11654 private: 0x04358394
11655 },
ab78acc6 11656 pubKeyHash: 0x7f,
ebd8d4e8 11657 scriptHash: 0xc4,
ab78acc6
IC
11658 wif: 0xff,
11659 dustThreshold: 560,
11660 dustSoftThreshold: 100000,
11661 feePerKb: 100000,
11662 estimateFee: estimateFee('viacointestnet')
11663 },
11664 gamerscoin: {
11665 magicPrefix: '\x19Gamerscoin Signed Message:\n',
11666 bip32: {
11667 public: 0x019da462,
11668 private: 0x019d9cfe
11669 },
11670 pubKeyHash: 0x26,
11671 scriptHash: 0x05,
11672 wif: 0xA6,
11673 dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363
11674 dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51
11675 feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54
11676 estimateFee: estimateFee('gamerscoin')
11677 },
11678 jumbucks: {
11679 magicPrefix: '\x19Jumbucks Signed Message:\n',
11680 bip32: {
11681 public: 0x037a689a,
11682 private: 0x037a6460
11683 },
11684 pubKeyHash: 0x2b,
11685 scriptHash: 0x05,
11686 wif: 0xab,
11687 dustThreshold: 0,
11688 dustSoftThreshold: 10000,
ebd8d4e8 11689 feePerKb: 10000,
ab78acc6
IC
11690 estimateFee: estimateFee('jumbucks')
11691 },
11692 zetacoin: {
11693 magicPrefix: '\x18Zetacoin Signed Message:\n',
11694 bip32: {
11695 public: 0x0488b21e,
11696 private: 0x0488ade4
11697 },
11698 pubKeyHash: 0x50,
11699 scriptHash: 0x09,
11700 wif: 0xe0,
11701 dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159
11702 feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54
11703 estimateFee: estimateFee('zetacoin')
ebd8d4e8
IC
11704 }
11705}
11706
ab78acc6
IC
11707function estimateFee (type) {
11708 return function (tx) {
ebd8d4e8
IC
11709 var network = networks[type]
11710 var baseFee = network.feePerKb
11711 var byteSize = tx.toBuffer().length
11712
11713 var fee = baseFee * Math.ceil(byteSize / 1000)
ab78acc6 11714 if (network.dustSoftThreshold === undefined) return fee
ebd8d4e8 11715
ab78acc6 11716 tx.outs.forEach(function (e) {
ebd8d4e8
IC
11717 if (e.value < network.dustSoftThreshold) {
11718 fee += baseFee
11719 }
11720 })
11721
11722 return fee
11723 }
11724}
11725
11726module.exports = networks
11727
ab78acc6 11728},{}],67:[function(require,module,exports){
ebd8d4e8
IC
11729module.exports = {
11730 // push value
ab78acc6
IC
11731 OP_FALSE: 0,
11732 OP_0: 0,
11733 OP_PUSHDATA1: 76,
11734 OP_PUSHDATA2: 77,
11735 OP_PUSHDATA4: 78,
11736 OP_1NEGATE: 79,
11737 OP_RESERVED: 80,
11738 OP_1: 81,
11739 OP_TRUE: 81,
11740 OP_2: 82,
11741 OP_3: 83,
11742 OP_4: 84,
11743 OP_5: 85,
11744 OP_6: 86,
11745 OP_7: 87,
11746 OP_8: 88,
11747 OP_9: 89,
11748 OP_10: 90,
11749 OP_11: 91,
11750 OP_12: 92,
11751 OP_13: 93,
11752 OP_14: 94,
11753 OP_15: 95,
11754 OP_16: 96,
ebd8d4e8
IC
11755
11756 // control
ab78acc6
IC
11757 OP_NOP: 97,
11758 OP_VER: 98,
11759 OP_IF: 99,
11760 OP_NOTIF: 100,
11761 OP_VERIF: 101,
11762 OP_VERNOTIF: 102,
11763 OP_ELSE: 103,
11764 OP_ENDIF: 104,
11765 OP_VERIFY: 105,
11766 OP_RETURN: 106,
ebd8d4e8
IC
11767
11768 // stack ops
ab78acc6
IC
11769 OP_TOALTSTACK: 107,
11770 OP_FROMALTSTACK: 108,
11771 OP_2DROP: 109,
11772 OP_2DUP: 110,
11773 OP_3DUP: 111,
11774 OP_2OVER: 112,
11775 OP_2ROT: 113,
11776 OP_2SWAP: 114,
11777 OP_IFDUP: 115,
11778 OP_DEPTH: 116,
11779 OP_DROP: 117,
11780 OP_DUP: 118,
11781 OP_NIP: 119,
11782 OP_OVER: 120,
11783 OP_PICK: 121,
11784 OP_ROLL: 122,
11785 OP_ROT: 123,
11786 OP_SWAP: 124,
11787 OP_TUCK: 125,
ebd8d4e8
IC
11788
11789 // splice ops
ab78acc6
IC
11790 OP_CAT: 126,
11791 OP_SUBSTR: 127,
11792 OP_LEFT: 128,
11793 OP_RIGHT: 129,
11794 OP_SIZE: 130,
ebd8d4e8
IC
11795
11796 // bit logic
ab78acc6
IC
11797 OP_INVERT: 131,
11798 OP_AND: 132,
11799 OP_OR: 133,
11800 OP_XOR: 134,
11801 OP_EQUAL: 135,
11802 OP_EQUALVERIFY: 136,
11803 OP_RESERVED1: 137,
11804 OP_RESERVED2: 138,
ebd8d4e8
IC
11805
11806 // numeric
ab78acc6
IC
11807 OP_1ADD: 139,
11808 OP_1SUB: 140,
11809 OP_2MUL: 141,
11810 OP_2DIV: 142,
11811 OP_NEGATE: 143,
11812 OP_ABS: 144,
11813 OP_NOT: 145,
11814 OP_0NOTEQUAL: 146,
11815
11816 OP_ADD: 147,
11817 OP_SUB: 148,
11818 OP_MUL: 149,
11819 OP_DIV: 150,
11820 OP_MOD: 151,
11821 OP_LSHIFT: 152,
11822 OP_RSHIFT: 153,
11823
11824 OP_BOOLAND: 154,
11825 OP_BOOLOR: 155,
11826 OP_NUMEQUAL: 156,
11827 OP_NUMEQUALVERIFY: 157,
11828 OP_NUMNOTEQUAL: 158,
11829 OP_LESSTHAN: 159,
11830 OP_GREATERTHAN: 160,
11831 OP_LESSTHANOREQUAL: 161,
11832 OP_GREATERTHANOREQUAL: 162,
11833 OP_MIN: 163,
11834 OP_MAX: 164,
11835
11836 OP_WITHIN: 165,
ebd8d4e8
IC
11837
11838 // crypto
ab78acc6
IC
11839 OP_RIPEMD160: 166,
11840 OP_SHA1: 167,
11841 OP_SHA256: 168,
11842 OP_HASH160: 169,
11843 OP_HASH256: 170,
11844 OP_CODESEPARATOR: 171,
11845 OP_CHECKSIG: 172,
11846 OP_CHECKSIGVERIFY: 173,
11847 OP_CHECKMULTISIG: 174,
11848 OP_CHECKMULTISIGVERIFY: 175,
ebd8d4e8
IC
11849
11850 // expansion
ab78acc6
IC
11851 OP_NOP1: 176,
11852 OP_NOP2: 177,
11853 OP_NOP3: 178,
11854 OP_NOP4: 179,
11855 OP_NOP5: 180,
11856 OP_NOP6: 181,
11857 OP_NOP7: 182,
11858 OP_NOP8: 183,
11859 OP_NOP9: 184,
11860 OP_NOP10: 185,
ebd8d4e8
IC
11861
11862 // template matching params
ab78acc6
IC
11863 OP_PUBKEYHASH: 253,
11864 OP_PUBKEY: 254,
11865 OP_INVALIDOPCODE: 255
ebd8d4e8
IC
11866}
11867
ab78acc6 11868},{}],68:[function(require,module,exports){
ebd8d4e8 11869(function (Buffer){
ab78acc6
IC
11870var assert = require('assert')
11871var bufferutils = require('./bufferutils')
11872var crypto = require('./crypto')
11873var typeForce = require('typeforce')
11874var opcodes = require('./opcodes')
ebd8d4e8 11875
ab78acc6
IC
11876function Script (buffer, chunks) {
11877 typeForce('Buffer', buffer)
11878 typeForce('Array', chunks)
ebd8d4e8
IC
11879
11880 this.buffer = buffer
11881 this.chunks = chunks
11882}
11883
ab78acc6 11884Script.fromASM = function (asm) {
ebd8d4e8 11885 var strChunks = asm.split(' ')
ab78acc6
IC
11886 var chunks = strChunks.map(function (strChunk) {
11887 // opcode
ebd8d4e8
IC
11888 if (strChunk in opcodes) {
11889 return opcodes[strChunk]
11890
ab78acc6 11891 // data chunk
ebd8d4e8
IC
11892 } else {
11893 return new Buffer(strChunk, 'hex')
11894 }
11895 })
11896
11897 return Script.fromChunks(chunks)
11898}
11899
ab78acc6 11900Script.fromBuffer = function (buffer) {
ebd8d4e8 11901 var chunks = []
ebd8d4e8
IC
11902 var i = 0
11903
11904 while (i < buffer.length) {
11905 var opcode = buffer.readUInt8(i)
11906
ab78acc6 11907 // data chunk
ebd8d4e8
IC
11908 if ((opcode > opcodes.OP_0) && (opcode <= opcodes.OP_PUSHDATA4)) {
11909 var d = bufferutils.readPushDataInt(buffer, i)
ab78acc6
IC
11910
11911 // did reading a pushDataInt fail? return non-chunked script
11912 if (d === null) return new Script(buffer, [])
ebd8d4e8
IC
11913 i += d.size
11914
ab78acc6
IC
11915 // attempt to read too much data?
11916 if (i + d.number > buffer.length) return new Script(buffer, [])
11917
ebd8d4e8
IC
11918 var data = buffer.slice(i, i + d.number)
11919 i += d.number
11920
11921 chunks.push(data)
11922
ab78acc6 11923 // opcode
ebd8d4e8
IC
11924 } else {
11925 chunks.push(opcode)
11926
11927 i += 1
11928 }
11929 }
11930
11931 return new Script(buffer, chunks)
11932}
11933
ab78acc6
IC
11934Script.fromChunks = function (chunks) {
11935 typeForce('Array', chunks)
ebd8d4e8 11936
ab78acc6
IC
11937 var bufferSize = chunks.reduce(function (accum, chunk) {
11938 // data chunk
ebd8d4e8
IC
11939 if (Buffer.isBuffer(chunk)) {
11940 return accum + bufferutils.pushDataSize(chunk.length) + chunk.length
11941 }
11942
ab78acc6 11943 // opcode
ebd8d4e8
IC
11944 return accum + 1
11945 }, 0.0)
11946
11947 var buffer = new Buffer(bufferSize)
11948 var offset = 0
11949
ab78acc6
IC
11950 chunks.forEach(function (chunk) {
11951 // data chunk
ebd8d4e8
IC
11952 if (Buffer.isBuffer(chunk)) {
11953 offset += bufferutils.writePushDataInt(buffer, chunk.length, offset)
11954
11955 chunk.copy(buffer, offset)
11956 offset += chunk.length
11957
ab78acc6 11958 // opcode
ebd8d4e8
IC
11959 } else {
11960 buffer.writeUInt8(chunk, offset)
11961 offset += 1
11962 }
11963 })
11964
11965 assert.equal(offset, buffer.length, 'Could not decode chunks')
11966 return new Script(buffer, chunks)
11967}
11968
ab78acc6 11969Script.fromHex = function (hex) {
ebd8d4e8
IC
11970 return Script.fromBuffer(new Buffer(hex, 'hex'))
11971}
11972
ebd8d4e8
IC
11973Script.EMPTY = Script.fromChunks([])
11974
ab78acc6 11975Script.prototype.getHash = function () {
ebd8d4e8
IC
11976 return crypto.hash160(this.buffer)
11977}
11978
11979// FIXME: doesn't work for data chunks, maybe time to use buffertools.compare...
ab78acc6
IC
11980Script.prototype.without = function (needle) {
11981 return Script.fromChunks(this.chunks.filter(function (op) {
ebd8d4e8
IC
11982 return op !== needle
11983 }))
11984}
11985
ebd8d4e8
IC
11986var reverseOps = []
11987for (var op in opcodes) {
11988 var code = opcodes[op]
11989 reverseOps[code] = op
11990}
11991
ab78acc6
IC
11992Script.prototype.toASM = function () {
11993 return this.chunks.map(function (chunk) {
11994 // data chunk
ebd8d4e8
IC
11995 if (Buffer.isBuffer(chunk)) {
11996 return chunk.toString('hex')
11997
ab78acc6 11998 // opcode
ebd8d4e8
IC
11999 } else {
12000 return reverseOps[chunk]
12001 }
12002 }).join(' ')
12003}
12004
ab78acc6 12005Script.prototype.toBuffer = function () {
ebd8d4e8
IC
12006 return this.buffer
12007}
12008
ab78acc6 12009Script.prototype.toHex = function () {
ebd8d4e8
IC
12010 return this.toBuffer().toString('hex')
12011}
12012
12013module.exports = Script
12014
ab78acc6
IC
12015}).call(this,require("buffer").Buffer)
12016},{"./bufferutils":57,"./crypto":58,"./opcodes":67,"assert":5,"buffer":7,"typeforce":53}],69:[function(require,module,exports){
ebd8d4e8 12017(function (Buffer){
ab78acc6
IC
12018var assert = require('assert')
12019var ops = require('./opcodes')
12020var typeForce = require('typeforce')
ebd8d4e8 12021
ab78acc6 12022var ecurve = require('ecurve')
ebd8d4e8
IC
12023var curve = ecurve.getCurveByName('secp256k1')
12024
ab78acc6
IC
12025var ECSignature = require('./ecsignature')
12026var Script = require('./script')
ebd8d4e8 12027
ab78acc6 12028function isCanonicalPubKey (buffer) {
ebd8d4e8
IC
12029 if (!Buffer.isBuffer(buffer)) return false
12030
12031 try {
ebd8d4e8
IC
12032 ecurve.Point.decodeFrom(curve, buffer)
12033 } catch (e) {
ab78acc6
IC
12034 if (!(e.message.match(/Invalid sequence (length|tag)/)))
12035 throw e
ebd8d4e8
IC
12036
12037 return false
12038 }
12039
12040 return true
12041}
12042
ab78acc6 12043function isCanonicalSignature (buffer) {
ebd8d4e8
IC
12044 if (!Buffer.isBuffer(buffer)) return false
12045
12046 try {
12047 ECSignature.parseScriptSignature(buffer)
ab78acc6
IC
12048 } catch (e) {
12049 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/))) {
12050 throw e
12051 }
ebd8d4e8
IC
12052
12053 return false
12054 }
12055
12056 return true
12057}
12058
ab78acc6
IC
12059function isPubKeyHashInput (script) {
12060 return script.chunks.length === 2 &&
12061 isCanonicalSignature(script.chunks[0]) &&
12062 isCanonicalPubKey(script.chunks[1])
ebd8d4e8
IC
12063}
12064
ab78acc6
IC
12065function isPubKeyHashOutput (script) {
12066 return script.chunks.length === 5 &&
12067 script.chunks[0] === ops.OP_DUP &&
12068 script.chunks[1] === ops.OP_HASH160 &&
12069 Buffer.isBuffer(script.chunks[2]) &&
12070 script.chunks[2].length === 20 &&
12071 script.chunks[3] === ops.OP_EQUALVERIFY &&
12072 script.chunks[4] === ops.OP_CHECKSIG
ebd8d4e8
IC
12073}
12074
ab78acc6
IC
12075function isPubKeyInput (script) {
12076 return script.chunks.length === 1 &&
12077 isCanonicalSignature(script.chunks[0])
ebd8d4e8
IC
12078}
12079
ab78acc6
IC
12080function isPubKeyOutput (script) {
12081 return script.chunks.length === 2 &&
12082 isCanonicalPubKey(script.chunks[0]) &&
12083 script.chunks[1] === ops.OP_CHECKSIG
ebd8d4e8
IC
12084}
12085
ab78acc6
IC
12086function isScriptHashInput (script, allowIncomplete) {
12087 if (script.chunks.length < 2) return false
ebd8d4e8 12088
ab78acc6 12089 var lastChunk = script.chunks[script.chunks.length - 1]
ebd8d4e8
IC
12090 if (!Buffer.isBuffer(lastChunk)) return false
12091
ab78acc6
IC
12092 var scriptSig = Script.fromChunks(script.chunks.slice(0, -1))
12093 var redeemScript = Script.fromBuffer(lastChunk)
ebd8d4e8 12094
ab78acc6
IC
12095 // is redeemScript a valid script?
12096 if (redeemScript.chunks.length === 0) return false
12097
12098 return classifyInput(scriptSig, allowIncomplete) === classifyOutput(redeemScript)
ebd8d4e8
IC
12099}
12100
ab78acc6
IC
12101function isScriptHashOutput (script) {
12102 return script.chunks.length === 3 &&
12103 script.chunks[0] === ops.OP_HASH160 &&
12104 Buffer.isBuffer(script.chunks[1]) &&
12105 script.chunks[1].length === 20 &&
12106 script.chunks[2] === ops.OP_EQUAL
ebd8d4e8
IC
12107}
12108
ab78acc6
IC
12109// allowIncomplete is to account for combining signatures
12110// See https://github.com/bitcoin/bitcoin/blob/f425050546644a36b0b8e0eb2f6934a3e0f6f80f/src/script/sign.cpp#L195-L197
12111function isMultisigInput (script, allowIncomplete) {
12112 if (script.chunks.length < 2) return false
12113 if (script.chunks[0] !== ops.OP_0) return false
12114
12115 if (allowIncomplete) {
12116 return script.chunks.slice(1).every(function (chunk) {
12117 return chunk === ops.OP_0 || isCanonicalSignature(chunk)
12118 })
12119 }
12120
12121 return script.chunks.slice(1).every(isCanonicalSignature)
ebd8d4e8
IC
12122}
12123
ab78acc6
IC
12124function isMultisigOutput (script) {
12125 if (script.chunks.length < 4) return false
12126 if (script.chunks[script.chunks.length - 1] !== ops.OP_CHECKMULTISIG) return false
ebd8d4e8 12127
ab78acc6
IC
12128 var mOp = script.chunks[0]
12129 if (mOp === ops.OP_0) return false
12130 if (mOp < ops.OP_1) return false
12131 if (mOp > ops.OP_16) return false
ebd8d4e8 12132
ab78acc6
IC
12133 var nOp = script.chunks[script.chunks.length - 2]
12134 if (nOp === ops.OP_0) return false
12135 if (nOp < ops.OP_1) return false
12136 if (nOp > ops.OP_16) return false
ebd8d4e8 12137
ab78acc6
IC
12138 var m = mOp - (ops.OP_1 - 1)
12139 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8
IC
12140 if (n < m) return false
12141
ab78acc6 12142 var pubKeys = script.chunks.slice(1, -2)
ebd8d4e8
IC
12143 if (n < pubKeys.length) return false
12144
12145 return pubKeys.every(isCanonicalPubKey)
12146}
12147
ab78acc6
IC
12148function isNullDataOutput (script) {
12149 return script.chunks[0] === ops.OP_RETURN
12150}
12151
12152function classifyOutput (script) {
12153 typeForce('Script', script)
12154
12155 if (isPubKeyHashOutput(script)) {
12156 return 'pubkeyhash'
12157 } else if (isScriptHashOutput(script)) {
12158 return 'scripthash'
12159 } else if (isMultisigOutput(script)) {
12160 return 'multisig'
12161 } else if (isPubKeyOutput(script)) {
12162 return 'pubkey'
12163 } else if (isNullDataOutput(script)) {
12164 return 'nulldata'
12165 }
12166
12167 return 'nonstandard'
12168}
12169
12170function classifyInput (script, allowIncomplete) {
12171 typeForce('Script', script)
12172
12173 if (isPubKeyHashInput(script)) {
12174 return 'pubkeyhash'
12175 } else if (isMultisigInput(script, allowIncomplete)) {
12176 return 'multisig'
12177 } else if (isScriptHashInput(script, allowIncomplete)) {
12178 return 'scripthash'
12179 } else if (isPubKeyInput(script)) {
12180 return 'pubkey'
12181 }
12182
12183 return 'nonstandard'
ebd8d4e8
IC
12184}
12185
12186// Standard Script Templates
12187// {pubKey} OP_CHECKSIG
ab78acc6 12188function pubKeyOutput (pubKey) {
ebd8d4e8
IC
12189 return Script.fromChunks([
12190 pubKey.toBuffer(),
ab78acc6 12191 ops.OP_CHECKSIG
ebd8d4e8
IC
12192 ])
12193}
12194
12195// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
ab78acc6
IC
12196function pubKeyHashOutput (hash) {
12197 typeForce('Buffer', hash)
ebd8d4e8
IC
12198
12199 return Script.fromChunks([
ab78acc6
IC
12200 ops.OP_DUP,
12201 ops.OP_HASH160,
ebd8d4e8 12202 hash,
ab78acc6
IC
12203 ops.OP_EQUALVERIFY,
12204 ops.OP_CHECKSIG
ebd8d4e8
IC
12205 ])
12206}
12207
12208// OP_HASH160 {scriptHash} OP_EQUAL
ab78acc6
IC
12209function scriptHashOutput (hash) {
12210 typeForce('Buffer', hash)
ebd8d4e8
IC
12211
12212 return Script.fromChunks([
ab78acc6 12213 ops.OP_HASH160,
ebd8d4e8 12214 hash,
ab78acc6 12215 ops.OP_EQUAL
ebd8d4e8
IC
12216 ])
12217}
12218
12219// m [pubKeys ...] n OP_CHECKMULTISIG
ab78acc6
IC
12220function multisigOutput (m, pubKeys) {
12221 typeForce(['ECPubKey'], pubKeys)
12222
ebd8d4e8
IC
12223 assert(pubKeys.length >= m, 'Not enough pubKeys provided')
12224
ab78acc6 12225 var pubKeyBuffers = pubKeys.map(function (pubKey) {
ebd8d4e8
IC
12226 return pubKey.toBuffer()
12227 })
12228 var n = pubKeys.length
12229
12230 return Script.fromChunks([].concat(
ab78acc6 12231 (ops.OP_1 - 1) + m,
ebd8d4e8 12232 pubKeyBuffers,
ab78acc6
IC
12233 (ops.OP_1 - 1) + n,
12234 ops.OP_CHECKMULTISIG
ebd8d4e8
IC
12235 ))
12236}
12237
12238// {signature}
ab78acc6
IC
12239function pubKeyInput (signature) {
12240 typeForce('Buffer', signature)
ebd8d4e8
IC
12241
12242 return Script.fromChunks([signature])
12243}
12244
12245// {signature} {pubKey}
ab78acc6
IC
12246function pubKeyHashInput (signature, pubKey) {
12247 typeForce('Buffer', signature)
ebd8d4e8
IC
12248
12249 return Script.fromChunks([signature, pubKey.toBuffer()])
12250}
12251
12252// <scriptSig> {serialized scriptPubKey script}
ab78acc6 12253function scriptHashInput (scriptSig, scriptPubKey) {
ebd8d4e8
IC
12254 return Script.fromChunks([].concat(
12255 scriptSig.chunks,
12256 scriptPubKey.toBuffer()
12257 ))
12258}
12259
12260// OP_0 [signatures ...]
ab78acc6 12261function multisigInput (signatures, scriptPubKey) {
ebd8d4e8 12262 if (scriptPubKey) {
ab78acc6
IC
12263 assert(isMultisigOutput(scriptPubKey))
12264
12265 var mOp = scriptPubKey.chunks[0]
12266 var nOp = scriptPubKey.chunks[scriptPubKey.chunks.length - 2]
12267 var m = mOp - (ops.OP_1 - 1)
12268 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8 12269
ab78acc6
IC
12270 assert(signatures.length >= m, 'Not enough signatures provided')
12271 assert(signatures.length <= n, 'Too many signatures provided')
ebd8d4e8
IC
12272 }
12273
ab78acc6
IC
12274 return Script.fromChunks([].concat(ops.OP_0, signatures))
12275}
12276
12277function nullDataOutput (data) {
12278 return Script.fromChunks([ops.OP_RETURN, data])
ebd8d4e8
IC
12279}
12280
12281module.exports = {
ab78acc6
IC
12282 isCanonicalPubKey: isCanonicalPubKey,
12283 isCanonicalSignature: isCanonicalSignature,
12284 isPubKeyHashInput: isPubKeyHashInput,
12285 isPubKeyHashOutput: isPubKeyHashOutput,
12286 isPubKeyInput: isPubKeyInput,
12287 isPubKeyOutput: isPubKeyOutput,
12288 isScriptHashInput: isScriptHashInput,
12289 isScriptHashOutput: isScriptHashOutput,
12290 isMultisigInput: isMultisigInput,
12291 isMultisigOutput: isMultisigOutput,
12292 isNullDataOutput: isNullDataOutput,
ebd8d4e8 12293 classifyOutput: classifyOutput,
ab78acc6
IC
12294 classifyInput: classifyInput,
12295 pubKeyOutput: pubKeyOutput,
ebd8d4e8 12296 pubKeyHashOutput: pubKeyHashOutput,
ab78acc6
IC
12297 scriptHashOutput: scriptHashOutput,
12298 multisigOutput: multisigOutput,
ebd8d4e8 12299 pubKeyInput: pubKeyInput,
ab78acc6 12300 pubKeyHashInput: pubKeyHashInput,
ebd8d4e8 12301 scriptHashInput: scriptHashInput,
ab78acc6
IC
12302 multisigInput: multisigInput,
12303 dataOutput: function (data) {
12304 console.warn('dataOutput is deprecated, use nullDataOutput by 2.0.0')
12305 return nullDataOutput(data)
12306 },
12307 nullDataOutput: nullDataOutput
ebd8d4e8
IC
12308}
12309
ab78acc6
IC
12310}).call(this,require("buffer").Buffer)
12311},{"./ecsignature":62,"./opcodes":67,"./script":68,"assert":5,"buffer":7,"ecurve":49,"typeforce":53}],70:[function(require,module,exports){
ebd8d4e8 12312(function (Buffer){
ab78acc6
IC
12313var assert = require('assert')
12314var bufferutils = require('./bufferutils')
12315var crypto = require('./crypto')
12316var typeForce = require('typeforce')
12317var opcodes = require('./opcodes')
12318var scripts = require('./scripts')
12319
12320var Address = require('./address')
12321var ECSignature = require('./ecsignature')
12322var Script = require('./script')
12323
12324function Transaction () {
12325 this.version = 1
12326 this.locktime = 0
12327 this.ins = []
12328 this.outs = []
12329}
ebd8d4e8
IC
12330
12331Transaction.DEFAULT_SEQUENCE = 0xffffffff
12332Transaction.SIGHASH_ALL = 0x01
12333Transaction.SIGHASH_NONE = 0x02
12334Transaction.SIGHASH_SINGLE = 0x03
12335Transaction.SIGHASH_ANYONECANPAY = 0x80
12336
ab78acc6
IC
12337Transaction.fromBuffer = function (buffer, __disableAssert) {
12338 var offset = 0
12339 function readSlice (n) {
12340 offset += n
12341 return buffer.slice(offset - n, offset)
12342 }
12343
12344 function readUInt32 () {
12345 var i = buffer.readUInt32LE(offset)
12346 offset += 4
12347 return i
12348 }
12349
12350 function readUInt64 () {
12351 var i = bufferutils.readUInt64LE(buffer, offset)
12352 offset += 8
12353 return i
12354 }
12355
12356 function readVarInt () {
12357 var vi = bufferutils.readVarInt(buffer, offset)
12358 offset += vi.size
12359 return vi.number
12360 }
12361
12362 function readScript () {
12363 return Script.fromBuffer(readSlice(readVarInt()))
12364 }
12365
12366 function readGenerationScript () {
12367 return new Script(readSlice(readVarInt()), [])
12368 }
12369
12370 var tx = new Transaction()
12371 tx.version = readUInt32()
12372
12373 var vinLen = readVarInt()
12374 for (var i = 0; i < vinLen; ++i) {
12375 var hash = readSlice(32)
12376
12377 if (Transaction.isCoinbaseHash(hash)) {
12378 tx.ins.push({
12379 hash: hash,
12380 index: readUInt32(),
12381 script: readGenerationScript(),
12382 sequence: readUInt32()
12383 })
12384 } else {
12385 tx.ins.push({
12386 hash: hash,
12387 index: readUInt32(),
12388 script: readScript(),
12389 sequence: readUInt32()
12390 })
12391 }
12392 }
12393
12394 var voutLen = readVarInt()
12395 for (i = 0; i < voutLen; ++i) {
12396 tx.outs.push({
12397 value: readUInt64(),
12398 script: readScript()
12399 })
12400 }
12401
12402 tx.locktime = readUInt32()
12403
12404 if (!__disableAssert) {
12405 assert.equal(offset, buffer.length, 'Transaction has unexpected data')
12406 }
12407
12408 return tx
12409}
12410
12411Transaction.fromHex = function (hex) {
12412 return Transaction.fromBuffer(new Buffer(hex, 'hex'))
12413}
12414
12415Transaction.isCoinbaseHash = function (buffer) {
12416 return Array.prototype.every.call(buffer, function (x) {
12417 return x === 0
12418 })
ebd8d4e8
IC
12419}
12420
12421/**
ab78acc6 12422 * Create a new txIn.
ebd8d4e8
IC
12423 *
12424 * Can be called with any of:
12425 *
12426 * - A transaction and an index
12427 * - A transaction hash and an index
12428 *
12429 * Note that this method does not sign the created input.
12430 */
ab78acc6
IC
12431Transaction.prototype.addInput = function (hash, index, sequence, script) {
12432 if (sequence === undefined || sequence === null) {
12433 sequence = Transaction.DEFAULT_SEQUENCE
12434 }
ebd8d4e8 12435
ab78acc6 12436 script = script || Script.EMPTY
ebd8d4e8 12437
ab78acc6 12438 if (typeof hash === 'string') {
ebd8d4e8 12439 // TxId hex is big-endian, we need little-endian
ab78acc6
IC
12440 hash = bufferutils.reverse(new Buffer(hash, 'hex'))
12441 } else if (hash instanceof Transaction) {
12442 hash = hash.getHash()
ebd8d4e8
IC
12443 }
12444
ab78acc6
IC
12445 typeForce('Buffer', hash)
12446 typeForce('Number', index)
12447 typeForce('Number', sequence)
12448 typeForce('Script', script)
12449
ebd8d4e8 12450 assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
ebd8d4e8 12451
ab78acc6 12452 // Add the input and return the input's index
ebd8d4e8
IC
12453 return (this.ins.push({
12454 hash: hash,
12455 index: index,
ab78acc6 12456 script: script,
ebd8d4e8
IC
12457 sequence: sequence
12458 }) - 1)
12459}
12460
12461/**
ab78acc6 12462 * Create a new txOut.
ebd8d4e8
IC
12463 *
12464 * Can be called with:
12465 *
12466 * - A base58 address string and a value
12467 * - An Address object and a value
12468 * - A scriptPubKey Script and a value
12469 */
ab78acc6 12470Transaction.prototype.addOutput = function (scriptPubKey, value) {
ebd8d4e8
IC
12471 // Attempt to get a valid address if it's a base58 address string
12472 if (typeof scriptPubKey === 'string') {
12473 scriptPubKey = Address.fromBase58Check(scriptPubKey)
12474 }
12475
12476 // Attempt to get a valid script if it's an Address object
12477 if (scriptPubKey instanceof Address) {
ab78acc6 12478 scriptPubKey = scriptPubKey.toOutputScript()
ebd8d4e8
IC
12479 }
12480
ab78acc6
IC
12481 typeForce('Script', scriptPubKey)
12482 typeForce('Number', value)
12483
12484 // Add the output and return the output's index
ebd8d4e8
IC
12485 return (this.outs.push({
12486 script: scriptPubKey,
ab78acc6 12487 value: value
ebd8d4e8
IC
12488 }) - 1)
12489}
12490
ab78acc6
IC
12491Transaction.prototype.clone = function () {
12492 var newTx = new Transaction()
12493 newTx.version = this.version
12494 newTx.locktime = this.locktime
12495
12496 newTx.ins = this.ins.map(function (txIn) {
12497 return {
12498 hash: txIn.hash,
12499 index: txIn.index,
12500 script: txIn.script,
12501 sequence: txIn.sequence
12502 }
12503 })
12504
12505 newTx.outs = this.outs.map(function (txOut) {
12506 return {
12507 script: txOut.script,
12508 value: txOut.value
12509 }
12510 })
12511
12512 return newTx
12513}
12514
12515/**
12516 * Hash transaction for signing a specific input.
12517 *
12518 * Bitcoin uses a different hash for each signed transaction input. This
12519 * method copies the transaction, makes the necessary changes based on the
12520 * hashType, serializes and finally hashes the result. This hash can then be
12521 * used to sign the transaction input in question.
12522 */
12523Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
12524 // FIXME: remove in 2.x.y
12525 if (arguments[0] instanceof Script) {
12526 console.warn('hashForSignature(prevOutScript, inIndex, ...) has been deprecated. Use hashForSignature(inIndex, prevOutScript, ...)')
12527
12528 // swap the arguments (must be stored in tmp, arguments is special)
12529 var tmp = arguments[0]
12530 inIndex = arguments[1]
12531 prevOutScript = tmp
12532 }
12533
12534 typeForce('Number', inIndex)
12535 typeForce('Script', prevOutScript)
12536 typeForce('Number', hashType)
12537
12538 assert(inIndex >= 0, 'Invalid vin index')
12539 assert(inIndex < this.ins.length, 'Invalid vin index')
12540
12541 var txTmp = this.clone()
12542 var hashScript = prevOutScript.without(opcodes.OP_CODESEPARATOR)
12543
12544 // Blank out other inputs' signatures
12545 txTmp.ins.forEach(function (txIn) {
12546 txIn.script = Script.EMPTY
12547 })
12548 txTmp.ins[inIndex].script = hashScript
12549
12550 var hashTypeModifier = hashType & 0x1f
12551
12552 if (hashTypeModifier === Transaction.SIGHASH_NONE) {
12553 assert(false, 'SIGHASH_NONE not yet supported')
12554 } else if (hashTypeModifier === Transaction.SIGHASH_SINGLE) {
12555 assert(false, 'SIGHASH_SINGLE not yet supported')
12556 }
12557
12558 if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
12559 assert(false, 'SIGHASH_ANYONECANPAY not yet supported')
12560 }
12561
12562 var hashTypeBuffer = new Buffer(4)
12563 hashTypeBuffer.writeInt32LE(hashType, 0)
12564
12565 var buffer = Buffer.concat([txTmp.toBuffer(), hashTypeBuffer])
12566 return crypto.hash256(buffer)
12567}
12568
12569Transaction.prototype.getHash = function () {
12570 return crypto.hash256(this.toBuffer())
12571}
12572
12573Transaction.prototype.getId = function () {
12574 // TxHash is little-endian, we need big-endian
12575 return bufferutils.reverse(this.getHash()).toString('hex')
12576}
12577
ebd8d4e8 12578Transaction.prototype.toBuffer = function () {
ab78acc6
IC
12579 function scriptSize (script) {
12580 var length = script.buffer.length
ebd8d4e8 12581
ab78acc6
IC
12582 return bufferutils.varIntSize(length) + length
12583 }
ebd8d4e8
IC
12584
12585 var buffer = new Buffer(
12586 8 +
12587 bufferutils.varIntSize(this.ins.length) +
12588 bufferutils.varIntSize(this.outs.length) +
ab78acc6
IC
12589 this.ins.reduce(function (sum, input) { return sum + 40 + scriptSize(input.script) }, 0) +
12590 this.outs.reduce(function (sum, output) { return sum + 8 + scriptSize(output.script) }, 0)
ebd8d4e8
IC
12591 )
12592
12593 var offset = 0
ab78acc6 12594 function writeSlice (slice) {
ebd8d4e8
IC
12595 slice.copy(buffer, offset)
12596 offset += slice.length
12597 }
ab78acc6
IC
12598
12599 function writeUInt32 (i) {
ebd8d4e8
IC
12600 buffer.writeUInt32LE(i, offset)
12601 offset += 4
12602 }
ab78acc6
IC
12603
12604 function writeUInt64 (i) {
ebd8d4e8
IC
12605 bufferutils.writeUInt64LE(buffer, i, offset)
12606 offset += 8
12607 }
ab78acc6
IC
12608
12609 function writeVarInt (i) {
ebd8d4e8
IC
12610 var n = bufferutils.writeVarInt(buffer, i, offset)
12611 offset += n
12612 }
12613
12614 writeUInt32(this.version)
12615 writeVarInt(this.ins.length)
12616
ab78acc6
IC
12617 this.ins.forEach(function (txIn) {
12618 writeSlice(txIn.hash)
12619 writeUInt32(txIn.index)
12620 writeVarInt(txIn.script.buffer.length)
12621 writeSlice(txIn.script.buffer)
12622 writeUInt32(txIn.sequence)
ebd8d4e8
IC
12623 })
12624
12625 writeVarInt(this.outs.length)
ab78acc6
IC
12626 this.outs.forEach(function (txOut) {
12627 writeUInt64(txOut.value)
12628 writeVarInt(txOut.script.buffer.length)
12629 writeSlice(txOut.script.buffer)
ebd8d4e8
IC
12630 })
12631
12632 writeUInt32(this.locktime)
12633
12634 return buffer
12635}
12636
ab78acc6 12637Transaction.prototype.toHex = function () {
ebd8d4e8
IC
12638 return this.toBuffer().toString('hex')
12639}
12640
ab78acc6
IC
12641Transaction.prototype.setInputScript = function (index, script) {
12642 typeForce('Number', index)
12643 typeForce('Script', script)
12644
12645 this.ins[index].script = script
12646}
12647
12648// FIXME: remove in 2.x.y
12649Transaction.prototype.sign = function (index, privKey, hashType) {
12650 console.warn('Transaction.prototype.sign is deprecated. Use TransactionBuilder instead.')
12651
12652 var prevOutScript = privKey.pub.getAddress().toOutputScript()
12653 var signature = this.signInput(index, prevOutScript, privKey, hashType)
12654
12655 var scriptSig = scripts.pubKeyHashInput(signature, privKey.pub)
12656 this.setInputScript(index, scriptSig)
12657}
12658
12659// FIXME: remove in 2.x.y
12660Transaction.prototype.signInput = function (index, prevOutScript, privKey, hashType) {
12661 console.warn('Transaction.prototype.signInput is deprecated. Use TransactionBuilder instead.')
12662
12663 hashType = hashType || Transaction.SIGHASH_ALL
12664
12665 var hash = this.hashForSignature(index, prevOutScript, hashType)
12666 var signature = privKey.sign(hash)
12667
12668 return signature.toScriptSignature(hashType)
12669}
12670
12671// FIXME: remove in 2.x.y
12672Transaction.prototype.validateInput = function (index, prevOutScript, pubKey, buffer) {
12673 console.warn('Transaction.prototype.validateInput is deprecated. Use TransactionBuilder instead.')
12674
12675 var parsed = ECSignature.parseScriptSignature(buffer)
12676 var hash = this.hashForSignature(index, prevOutScript, parsed.hashType)
12677
12678 return pubKey.verify(hash, parsed.signature)
12679}
12680
12681module.exports = Transaction
12682
12683}).call(this,require("buffer").Buffer)
12684},{"./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){
12685(function (Buffer){
12686var assert = require('assert')
12687var ops = require('./opcodes')
12688var scripts = require('./scripts')
12689
12690var ECPubKey = require('./ecpubkey')
12691var ECSignature = require('./ecsignature')
12692var Script = require('./script')
12693var Transaction = require('./transaction')
12694
12695function extractInput (txIn) {
12696 var redeemScript
12697 var scriptSig = txIn.script
12698 var prevOutScript
12699 var prevOutType = scripts.classifyInput(scriptSig, true)
12700 var scriptType
12701
12702 // Re-classify if scriptHash
12703 if (prevOutType === 'scripthash') {
12704 redeemScript = Script.fromBuffer(scriptSig.chunks.slice(-1)[0])
12705 prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
12706
12707 scriptSig = Script.fromChunks(scriptSig.chunks.slice(0, -1))
12708 scriptType = scripts.classifyInput(scriptSig, true)
12709 } else {
12710 scriptType = prevOutType
12711 }
12712
12713 // Extract hashType, pubKeys and signatures
12714 var hashType, parsed, pubKeys, signatures
12715
12716 switch (scriptType) {
12717 case 'pubkeyhash': {
12718 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12719 hashType = parsed.hashType
12720 pubKeys = [ECPubKey.fromBuffer(scriptSig.chunks[1])]
12721 signatures = [parsed.signature]
12722 prevOutScript = pubKeys[0].getAddress().toOutputScript()
12723
12724 break
12725 }
12726
12727 case 'pubkey': {
12728 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12729 hashType = parsed.hashType
12730 signatures = [parsed.signature]
12731
12732 if (redeemScript) {
12733 pubKeys = [ECPubKey.fromBuffer(redeemScript.chunks[0])]
12734 }
12735
12736 break
12737 }
12738
12739 case 'multisig': {
12740 signatures = scriptSig.chunks.slice(1).map(function (chunk) {
12741 if (chunk === ops.OP_0) return chunk
12742
12743 var parsed = ECSignature.parseScriptSignature(chunk)
12744 hashType = parsed.hashType
12745
12746 return parsed.signature
12747 })
12748
12749 if (redeemScript) {
12750 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12751 }
12752
12753 break
12754 }
12755 }
12756
12757 return {
12758 hashType: hashType,
12759 prevOutScript: prevOutScript,
12760 prevOutType: prevOutType,
12761 pubKeys: pubKeys,
12762 redeemScript: redeemScript,
12763 scriptType: scriptType,
12764 signatures: signatures
12765 }
12766}
12767
12768function TransactionBuilder () {
12769 this.prevTxMap = {}
12770 this.prevOutScripts = {}
12771 this.prevOutTypes = {}
12772
12773 this.inputs = []
12774 this.tx = new Transaction()
12775}
12776
12777TransactionBuilder.fromTransaction = function (transaction) {
12778 var txb = new TransactionBuilder()
12779
12780 // Copy other transaction fields
12781 txb.tx.version = transaction.version
12782 txb.tx.locktime = transaction.locktime
12783
12784 // Extract/add inputs
12785 transaction.ins.forEach(function (txIn) {
12786 txb.addInput(txIn.hash, txIn.index, txIn.sequence)
12787 })
12788
12789 // Extract/add outputs
12790 transaction.outs.forEach(function (txOut) {
12791 txb.addOutput(txOut.script, txOut.value)
12792 })
12793
12794 // Extract/add signatures
12795 txb.inputs = transaction.ins.map(function (txIn) {
12796 // TODO: remove me after testcase added
12797 assert(!Transaction.isCoinbaseHash(txIn.hash), 'coinbase inputs not supported')
12798
12799 // Ignore empty scripts
12800 if (txIn.script.buffer.length === 0) return {}
12801
12802 return extractInput(txIn)
12803 })
12804
12805 return txb
12806}
12807
12808TransactionBuilder.prototype.addInput = function (prevTx, index, sequence, prevOutScript) {
12809 var prevOutHash
12810
12811 // txId
12812 if (typeof prevTx === 'string') {
12813 prevOutHash = new Buffer(prevTx, 'hex')
12814
12815 // TxId hex is big-endian, we want little-endian hash
12816 Array.prototype.reverse.call(prevOutHash)
12817
12818 // Transaction
12819 } else if (prevTx instanceof Transaction) {
12820 prevOutHash = prevTx.getHash()
12821 prevOutScript = prevTx.outs[index].script
12822
12823 // txHash
12824 } else {
12825 prevOutHash = prevTx
12826 }
12827
12828 var input = {}
12829 if (prevOutScript) {
12830 var prevOutType = scripts.classifyOutput(prevOutScript)
12831
12832 // if we can, extract pubKey information
12833 switch (prevOutType) {
12834 case 'multisig': {
12835 input.pubKeys = prevOutScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12836 break
12837 }
12838
12839 case 'pubkey': {
12840 input.pubKeys = prevOutScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
12841 break
12842 }
12843 }
12844
12845 if (prevOutType !== 'scripthash') {
12846 input.scriptType = prevOutType
12847 }
12848
12849 input.prevOutScript = prevOutScript
12850 input.prevOutType = prevOutType
12851 }
12852
12853 assert(this.inputs.every(function (input2) {
12854 if (input2.hashType === undefined) return true
12855
12856 return input2.hashType & Transaction.SIGHASH_ANYONECANPAY
12857 }), 'No, this would invalidate signatures')
12858
12859 var prevOut = prevOutHash.toString('hex') + ':' + index
12860 assert(!(prevOut in this.prevTxMap), 'Transaction is already an input')
12861
12862 var vin = this.tx.addInput(prevOutHash, index, sequence)
12863 this.inputs[vin] = input
12864 this.prevTxMap[prevOut] = vin
12865
12866 return vin
12867}
12868
12869TransactionBuilder.prototype.addOutput = function (scriptPubKey, value) {
12870 assert(this.inputs.every(function (input) {
12871 if (input.hashType === undefined) return true
ebd8d4e8 12872
ab78acc6
IC
12873 return (input.hashType & 0x1f) === Transaction.SIGHASH_SINGLE
12874 }), 'No, this would invalidate signatures')
ebd8d4e8 12875
ab78acc6
IC
12876 return this.tx.addOutput(scriptPubKey, value)
12877}
ebd8d4e8 12878
ab78acc6
IC
12879TransactionBuilder.prototype.build = function () {
12880 return this.__build(false)
12881}
12882TransactionBuilder.prototype.buildIncomplete = function () {
12883 return this.__build(true)
12884}
ebd8d4e8 12885
ab78acc6
IC
12886var canSignTypes = {
12887 'pubkeyhash': true,
12888 'multisig': true,
12889 'pubkey': true
12890}
ebd8d4e8 12891
ab78acc6
IC
12892TransactionBuilder.prototype.__build = function (allowIncomplete) {
12893 if (!allowIncomplete) {
12894 assert(this.tx.ins.length > 0, 'Transaction has no inputs')
12895 assert(this.tx.outs.length > 0, 'Transaction has no outputs')
ebd8d4e8
IC
12896 }
12897
ab78acc6 12898 var tx = this.tx.clone()
ebd8d4e8 12899
ab78acc6
IC
12900 // Create script signatures from signature meta-data
12901 this.inputs.forEach(function (input, index) {
12902 var scriptType = input.scriptType
12903 var scriptSig
ebd8d4e8 12904
ab78acc6
IC
12905 if (!allowIncomplete) {
12906 assert(!!scriptType, 'Transaction is not complete')
12907 assert(scriptType in canSignTypes, scriptType + ' not supported')
12908 assert(input.signatures, 'Transaction is missing signatures')
12909 }
ebd8d4e8 12910
ab78acc6
IC
12911 if (input.signatures) {
12912 switch (scriptType) {
12913 case 'pubkeyhash': {
12914 var pkhSignature = input.signatures[0].toScriptSignature(input.hashType)
12915 scriptSig = scripts.pubKeyHashInput(pkhSignature, input.pubKeys[0])
12916 break
12917 }
ebd8d4e8 12918
ab78acc6
IC
12919 case 'multisig': {
12920 // Array.prototype.map is sparse-compatible
12921 var msSignatures = input.signatures.map(function (signature) {
12922 return signature && signature.toScriptSignature(input.hashType)
12923 })
ebd8d4e8 12924
ab78acc6
IC
12925 // fill in blanks with OP_0
12926 if (allowIncomplete) {
12927 for (var i = 0; i < msSignatures.length; ++i) {
12928 if (msSignatures[i]) continue
ebd8d4e8 12929
ab78acc6
IC
12930 msSignatures[i] = ops.OP_0
12931 }
12932 } else {
12933 // Array.prototype.filter returns non-sparse array
12934 msSignatures = msSignatures.filter(function (x) { return x })
12935 }
ebd8d4e8 12936
ab78acc6
IC
12937 var redeemScript = allowIncomplete ? undefined : input.redeemScript
12938 scriptSig = scripts.multisigInput(msSignatures, redeemScript)
12939 break
12940 }
ebd8d4e8 12941
ab78acc6
IC
12942 case 'pubkey': {
12943 var pkSignature = input.signatures[0].toScriptSignature(input.hashType)
12944 scriptSig = scripts.pubKeyInput(pkSignature)
12945 break
12946 }
12947 }
ebd8d4e8 12948 }
ebd8d4e8 12949
ab78acc6
IC
12950 // did we build a scriptSig?
12951 if (scriptSig) {
12952 // wrap as scriptHash if necessary
12953 if (input.prevOutType === 'scripthash') {
12954 scriptSig = scripts.scriptHashInput(scriptSig, input.redeemScript)
12955 }
12956
12957 tx.setInputScript(index, scriptSig)
ebd8d4e8
IC
12958 }
12959 })
12960
ab78acc6 12961 return tx
ebd8d4e8
IC
12962}
12963
ab78acc6
IC
12964TransactionBuilder.prototype.sign = function (index, privKey, redeemScript, hashType) {
12965 assert(index in this.inputs, 'No input at index: ' + index)
12966 hashType = hashType || Transaction.SIGHASH_ALL
ebd8d4e8 12967
ab78acc6
IC
12968 var input = this.inputs[index]
12969 var canSign = input.hashType &&
12970 input.prevOutScript &&
12971 input.prevOutType &&
12972 input.pubKeys &&
12973 input.scriptType &&
12974 input.signatures
ebd8d4e8 12975
ab78acc6
IC
12976 // are we almost ready to sign?
12977 if (canSign) {
12978 // if redeemScript was provided, enforce consistency
12979 if (redeemScript) {
12980 assert.deepEqual(input.redeemScript, redeemScript, 'Inconsistent redeemScript')
12981 }
ebd8d4e8 12982
ab78acc6 12983 assert.equal(input.hashType, hashType, 'Inconsistent hashType')
ebd8d4e8 12984
ab78acc6
IC
12985 // no? prepare
12986 } else {
12987 // must be pay-to-scriptHash?
12988 if (redeemScript) {
12989 // if we have a prevOutScript, enforce scriptHash equality to the redeemScript
12990 if (input.prevOutScript) {
12991 assert.equal(input.prevOutType, 'scripthash', 'PrevOutScript must be P2SH')
12992
12993 var scriptHash = input.prevOutScript.chunks[1]
12994 assert.deepEqual(scriptHash, redeemScript.getHash(), 'RedeemScript does not match ' + scriptHash.toString('hex'))
12995 }
ebd8d4e8 12996
ab78acc6
IC
12997 var scriptType = scripts.classifyOutput(redeemScript)
12998 assert(scriptType in canSignTypes, 'RedeemScript not supported (' + scriptType + ')')
ebd8d4e8 12999
ab78acc6
IC
13000 var pubKeys = []
13001 switch (scriptType) {
13002 case 'multisig': {
13003 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
13004 break
13005 }
ebd8d4e8 13006
ab78acc6
IC
13007 case 'pubkeyhash': {
13008 var pkh1 = redeemScript.chunks[2]
13009 var pkh2 = privKey.pub.getAddress().hash
ebd8d4e8 13010
ab78acc6
IC
13011 assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
13012 pubKeys = [privKey.pub]
13013 break
13014 }
ebd8d4e8 13015
ab78acc6
IC
13016 case 'pubkey': {
13017 pubKeys = redeemScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
13018 break
13019 }
13020 }
ebd8d4e8 13021
ab78acc6
IC
13022 if (!input.prevOutScript) {
13023 input.prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
13024 input.prevOutType = 'scripthash'
13025 }
ebd8d4e8 13026
ab78acc6
IC
13027 input.pubKeys = pubKeys
13028 input.redeemScript = redeemScript
13029 input.scriptType = scriptType
ebd8d4e8 13030
ab78acc6
IC
13031 // cannot be pay-to-scriptHash
13032 } else {
13033 assert.notEqual(input.prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript')
ebd8d4e8 13034
ab78acc6
IC
13035 // can we otherwise sign this?
13036 if (input.scriptType) {
13037 assert(input.pubKeys, input.scriptType + ' not supported')
ebd8d4e8 13038
ab78acc6
IC
13039 // we know nothin' Jon Snow, assume pubKeyHash
13040 } else {
13041 input.prevOutScript = privKey.pub.getAddress().toOutputScript()
13042 input.prevOutType = 'pubkeyhash'
13043 input.pubKeys = [privKey.pub]
13044 input.scriptType = input.prevOutType
13045 }
13046 }
ebd8d4e8 13047
ab78acc6
IC
13048 input.hashType = hashType
13049 input.signatures = input.signatures || []
13050 }
13051
13052 var signatureScript = input.redeemScript || input.prevOutScript
13053 var signatureHash = this.tx.hashForSignature(index, signatureScript, hashType)
13054
13055 // enforce signature order matches public keys
13056 if (input.scriptType === 'multisig' && input.redeemScript && input.signatures.length !== input.pubKeys.length) {
13057 // maintain a local copy of unmatched signatures
13058 var unmatched = input.signatures.slice()
13059
13060 input.signatures = input.pubKeys.map(function (pubKey) {
13061 var match
13062
13063 // check for any matching signatures
13064 unmatched.some(function (signature, i) {
13065 if (!pubKey.verify(signatureHash, signature)) return false
13066 match = signature
13067
13068 // remove matched signature from unmatched
13069 unmatched.splice(i, 1)
13070
13071 return true
13072 })
13073
13074 return match || undefined
13075 })
13076 }
13077
13078 // enforce in order signing of public keys
13079 assert(input.pubKeys.some(function (pubKey, i) {
13080 if (!privKey.pub.Q.equals(pubKey.Q)) return false
13081
13082 assert(!input.signatures[i], 'Signature already exists')
13083 var signature = privKey.sign(signatureHash)
13084 input.signatures[i] = signature
13085
13086 return true
13087 }, this), 'privateKey cannot sign for this input')
ebd8d4e8
IC
13088}
13089
ab78acc6 13090module.exports = TransactionBuilder
ebd8d4e8 13091
ab78acc6
IC
13092}).call(this,require("buffer").Buffer)
13093},{"./ecpubkey":61,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"assert":5,"buffer":7}],72:[function(require,module,exports){
ebd8d4e8 13094(function (Buffer){
ab78acc6
IC
13095var assert = require('assert')
13096var bufferutils = require('./bufferutils')
13097var typeForce = require('typeforce')
13098var networks = require('./networks')
13099var randomBytes = require('randombytes')
ebd8d4e8 13100
ab78acc6
IC
13101var Address = require('./address')
13102var HDNode = require('./hdnode')
13103var TransactionBuilder = require('./transaction_builder')
13104var Script = require('./script')
ebd8d4e8 13105
ab78acc6
IC
13106function Wallet (seed, network) {
13107 console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296')
13108
13109 seed = seed || randomBytes(32)
ebd8d4e8
IC
13110 network = network || networks.bitcoin
13111
13112 // Stored in a closure to make accidental serialization less likely
ab78acc6
IC
13113 var masterKey = HDNode.fromSeedBuffer(seed, network)
13114
13115 // HD first-level child derivation method should be hardened
13116 // See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
13117 var accountZero = masterKey.deriveHardened(0)
13118 var externalAccount = accountZero.derive(0)
13119 var internalAccount = accountZero.derive(1)
ebd8d4e8 13120
ebd8d4e8
IC
13121 this.addresses = []
13122 this.changeAddresses = []
ab78acc6
IC
13123 this.network = network
13124 this.unspents = []
ebd8d4e8 13125
ab78acc6
IC
13126 // FIXME: remove in 2.0.0
13127 this.unspentMap = {}
ebd8d4e8 13128
ab78acc6
IC
13129 // FIXME: remove in 2.0.0
13130 var me = this
13131 this.newMasterKey = function (seed) {
13132 console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
13133
13134 seed = seed || randomBytes(32)
13135 masterKey = HDNode.fromSeedBuffer(seed, network)
ebd8d4e8 13136
ab78acc6 13137 accountZero = masterKey.deriveHardened(0)
ebd8d4e8
IC
13138 externalAccount = accountZero.derive(0)
13139 internalAccount = accountZero.derive(1)
13140
13141 me.addresses = []
13142 me.changeAddresses = []
13143
ab78acc6
IC
13144 me.unspents = []
13145 me.unspentMap = {}
ebd8d4e8
IC
13146 }
13147
ab78acc6
IC
13148 this.getMasterKey = function () {
13149 return masterKey
ebd8d4e8 13150 }
ab78acc6
IC
13151 this.getAccountZero = function () {
13152 return accountZero
ebd8d4e8 13153 }
ab78acc6
IC
13154 this.getExternalAccount = function () {
13155 return externalAccount
13156 }
13157 this.getInternalAccount = function () {
13158 return internalAccount
ebd8d4e8 13159 }
ab78acc6 13160}
ebd8d4e8 13161
ab78acc6
IC
13162Wallet.prototype.createTransaction = function (to, value, options) {
13163 // FIXME: remove in 2.0.0
13164 if (typeof options !== 'object') {
13165 if (options !== undefined) {
13166 console.warn('Non options object parameters are deprecated, use options object instead')
ebd8d4e8 13167
ab78acc6
IC
13168 options = {
13169 fixedFee: arguments[2],
13170 changeAddress: arguments[3]
13171 }
ebd8d4e8 13172 }
ebd8d4e8
IC
13173 }
13174
ab78acc6 13175 options = options || {}
ebd8d4e8 13176
ab78acc6 13177 assert(value > this.network.dustThreshold, value + ' must be above dust threshold (' + this.network.dustThreshold + ' Satoshis)')
ebd8d4e8 13178
ab78acc6
IC
13179 var changeAddress = options.changeAddress
13180 var fixedFee = options.fixedFee
13181 var minConf = options.minConf === undefined ? 0 : options.minConf // FIXME: change minConf:1 by default in 2.0.0
ebd8d4e8 13182
ab78acc6
IC
13183 // filter by minConf, then pending and sort by descending value
13184 var unspents = this.unspents.filter(function (unspent) {
13185 return unspent.confirmations >= minConf
13186 }).filter(function (unspent) {
13187 return !unspent.pending
13188 }).sort(function (o1, o2) {
13189 return o2.value - o1.value
13190 })
ebd8d4e8 13191
ab78acc6
IC
13192 var accum = 0
13193 var addresses = []
13194 var subTotal = value
ebd8d4e8 13195
ab78acc6
IC
13196 var txb = new TransactionBuilder()
13197 txb.addOutput(to, value)
ebd8d4e8 13198
ab78acc6
IC
13199 for (var i = 0; i < unspents.length; ++i) {
13200 var unspent = unspents[i]
13201 addresses.push(unspent.address)
ebd8d4e8 13202
ab78acc6
IC
13203 txb.addInput(unspent.txHash, unspent.index)
13204
13205 var fee = fixedFee === undefined ? estimatePaddedFee(txb.buildIncomplete(), this.network) : fixedFee
ebd8d4e8 13206
ab78acc6
IC
13207 accum += unspent.value
13208 subTotal = value + fee
13209
13210 if (accum >= subTotal) {
13211 var change = accum - subTotal
13212
13213 if (change > this.network.dustThreshold) {
13214 txb.addOutput(changeAddress || this.getChangeAddress(), change)
ebd8d4e8 13215 }
ebd8d4e8 13216
ab78acc6 13217 break
ebd8d4e8
IC
13218 }
13219 }
13220
ab78acc6 13221 assert(accum >= subTotal, 'Not enough funds (incl. fee): ' + accum + ' < ' + subTotal)
ebd8d4e8 13222
ab78acc6
IC
13223 return this.signWith(txb, addresses).build()
13224}
ebd8d4e8 13225
ab78acc6
IC
13226// FIXME: remove in 2.0.0
13227Wallet.prototype.processPendingTx = function (tx) {
13228 this.__processTx(tx, true)
13229}
ebd8d4e8 13230
ab78acc6
IC
13231// FIXME: remove in 2.0.0
13232Wallet.prototype.processConfirmedTx = function (tx) {
13233 this.__processTx(tx, false)
13234}
ebd8d4e8 13235
ab78acc6
IC
13236// FIXME: remove in 2.0.0
13237Wallet.prototype.__processTx = function (tx, isPending) {
13238 console.warn('processTransaction is considered harmful, see issue #260 for more information')
ebd8d4e8 13239
ab78acc6
IC
13240 var txId = tx.getId()
13241 var txHash = tx.getHash()
ebd8d4e8 13242
ab78acc6
IC
13243 tx.outs.forEach(function (txOut, i) {
13244 var address
ebd8d4e8 13245
ab78acc6
IC
13246 try {
13247 address = Address.fromOutputScript(txOut.script, this.network).toString()
13248 } catch (e) {
13249 if (!(e.message.match(/has no matching Address/)))
13250 throw e
13251 }
13252
13253 var myAddresses = this.addresses.concat(this.changeAddresses)
13254 if (myAddresses.indexOf(address) > -1) {
13255 var lookup = txId + ':' + i
13256 if (lookup in this.unspentMap) return
13257
13258 // its unique, add it
13259 var unspent = {
13260 address: address,
13261 confirmations: 0, // no way to determine this without more information
13262 index: i,
13263 txHash: txHash,
13264 txId: txId,
13265 value: txOut.value,
13266 pending: isPending
ebd8d4e8 13267 }
ebd8d4e8 13268
ab78acc6
IC
13269 this.unspentMap[lookup] = unspent
13270 this.unspents.push(unspent)
13271 }
13272 }, this)
ebd8d4e8 13273
ab78acc6
IC
13274 tx.ins.forEach(function (txIn) {
13275 // copy and convert to big-endian hex
13276 var txInId = bufferutils.reverse(txIn.hash).toString('hex')
ebd8d4e8 13277
ab78acc6
IC
13278 var lookup = txInId + ':' + txIn.index
13279 if (!(lookup in this.unspentMap)) return
ebd8d4e8 13280
ab78acc6 13281 var unspent = this.unspentMap[lookup]
ebd8d4e8 13282
ab78acc6
IC
13283 if (isPending) {
13284 unspent.pending = true
13285 unspent.spent = true
13286 } else {
13287 delete this.unspentMap[lookup]
ebd8d4e8 13288
ab78acc6
IC
13289 this.unspents = this.unspents.filter(function (unspent2) {
13290 return unspent !== unspent2
13291 })
13292 }
13293 }, this)
13294}
ebd8d4e8 13295
ab78acc6
IC
13296Wallet.prototype.generateAddress = function () {
13297 var k = this.addresses.length
13298 var address = this.getExternalAccount().derive(k).getAddress()
ebd8d4e8 13299
ab78acc6 13300 this.addresses.push(address.toString())
ebd8d4e8 13301
ab78acc6
IC
13302 return this.getReceiveAddress()
13303}
ebd8d4e8 13304
ab78acc6
IC
13305Wallet.prototype.generateChangeAddress = function () {
13306 var k = this.changeAddresses.length
13307 var address = this.getInternalAccount().derive(k).getAddress()
ebd8d4e8 13308
ab78acc6 13309 this.changeAddresses.push(address.toString())
ebd8d4e8 13310
ab78acc6
IC
13311 return this.getChangeAddress()
13312}
ebd8d4e8 13313
ab78acc6
IC
13314Wallet.prototype.getAddress = function () {
13315 if (this.addresses.length === 0) {
13316 this.generateAddress()
ebd8d4e8
IC
13317 }
13318
ab78acc6
IC
13319 return this.addresses[this.addresses.length - 1]
13320}
ebd8d4e8 13321
ab78acc6
IC
13322Wallet.prototype.getBalance = function (minConf) {
13323 minConf = minConf || 0
ebd8d4e8 13324
ab78acc6
IC
13325 return this.unspents.filter(function (unspent) {
13326 return unspent.confirmations >= minConf
13327
13328 // FIXME: remove spent filter in 2.0.0
13329 }).filter(function (unspent) {
13330 return !unspent.spent
13331 }).reduce(function (accum, unspent) {
13332 return accum + unspent.value
13333 }, 0)
13334}
ebd8d4e8 13335
ab78acc6
IC
13336Wallet.prototype.getChangeAddress = function () {
13337 if (this.changeAddresses.length === 0) {
13338 this.generateChangeAddress()
ebd8d4e8
IC
13339 }
13340
ab78acc6
IC
13341 return this.changeAddresses[this.changeAddresses.length - 1]
13342}
13343
13344Wallet.prototype.getInternalPrivateKey = function (index) {
13345 return this.getInternalAccount().derive(index).privKey
13346}
13347
13348Wallet.prototype.getPrivateKey = function (index) {
13349 return this.getExternalAccount().derive(index).privKey
13350}
13351
13352Wallet.prototype.getPrivateKeyForAddress = function (address) {
13353 var index
ebd8d4e8 13354
ab78acc6
IC
13355 if ((index = this.addresses.indexOf(address)) > -1) {
13356 return this.getPrivateKey(index)
ebd8d4e8
IC
13357 }
13358
ab78acc6
IC
13359 if ((index = this.changeAddresses.indexOf(address)) > -1) {
13360 return this.getInternalPrivateKey(index)
ebd8d4e8
IC
13361 }
13362
ab78acc6
IC
13363 assert(false, 'Unknown address. Make sure the address is from the keychain and has been generated')
13364}
ebd8d4e8 13365
ab78acc6
IC
13366Wallet.prototype.getUnspentOutputs = function (minConf) {
13367 minConf = minConf || 0
ebd8d4e8 13368
ab78acc6
IC
13369 return this.unspents.filter(function (unspent) {
13370 return unspent.confirmations >= minConf
ebd8d4e8 13371
ab78acc6
IC
13372 // FIXME: remove spent filter in 2.0.0
13373 }).filter(function (unspent) {
13374 return !unspent.spent
13375 }).map(function (unspent) {
13376 return {
13377 address: unspent.address,
13378 confirmations: unspent.confirmations,
13379 index: unspent.index,
13380 txId: unspent.txId,
13381 value: unspent.value,
13382
13383 // FIXME: remove in 2.0.0
13384 hash: unspent.txId,
13385 pending: unspent.pending
13386 }
13387 })
13388}
ebd8d4e8 13389
ab78acc6
IC
13390Wallet.prototype.setUnspentOutputs = function (unspents) {
13391 this.unspentMap = {}
13392 this.unspents = unspents.map(function (unspent) {
13393 // FIXME: remove unspent.hash in 2.0.0
13394 var txId = unspent.txId || unspent.hash
13395 var index = unspent.index
ebd8d4e8 13396
ab78acc6
IC
13397 // FIXME: remove in 2.0.0
13398 if (unspent.hash !== undefined) {
13399 console.warn('unspent.hash is deprecated, use unspent.txId instead')
13400 }
ebd8d4e8 13401
ab78acc6
IC
13402 // FIXME: remove in 2.0.0
13403 if (index === undefined) {
13404 console.warn('unspent.outputIndex is deprecated, use unspent.index instead')
13405 index = unspent.outputIndex
13406 }
ebd8d4e8 13407
ab78acc6
IC
13408 typeForce('String', txId)
13409 typeForce('Number', index)
13410 typeForce('Number', unspent.value)
13411
13412 assert.equal(txId.length, 64, 'Expected valid txId, got ' + txId)
13413 assert.doesNotThrow(function () {
13414 Address.fromBase58Check(unspent.address)
13415 }, 'Expected Base58 Address, got ' + unspent.address)
13416 assert(isFinite(index), 'Expected finite index, got ' + index)
13417
13418 // FIXME: remove branch in 2.0.0
13419 if (unspent.confirmations !== undefined) {
13420 typeForce('Number', unspent.confirmations)
ebd8d4e8 13421 }
ebd8d4e8 13422
ab78acc6 13423 var txHash = bufferutils.reverse(new Buffer(txId, 'hex'))
ebd8d4e8 13424
ab78acc6
IC
13425 unspent = {
13426 address: unspent.address,
13427 confirmations: unspent.confirmations || 0,
13428 index: index,
13429 txHash: txHash,
13430 txId: txId,
13431 value: unspent.value,
ebd8d4e8 13432
ab78acc6
IC
13433 // FIXME: remove in 2.0.0
13434 pending: unspent.pending || false
13435 }
13436
13437 // FIXME: remove in 2.0.0
13438 this.unspentMap[txId + ':' + index] = unspent
13439
13440 return unspent
13441 }, this)
13442}
13443
13444Wallet.prototype.signWith = function (tx, addresses) {
13445 addresses.forEach(function (address, i) {
13446 var privKey = this.getPrivateKeyForAddress(address)
13447
13448 tx.sign(i, privKey)
13449 }, this)
13450
13451 return tx
13452}
13453
13454function estimatePaddedFee (tx, network) {
13455 var tmpTx = tx.clone()
13456 tmpTx.addOutput(Script.EMPTY, network.dustSoftThreshold || 0)
13457
13458 return network.estimateFee(tmpTx)
ebd8d4e8
IC
13459}
13460
ab78acc6
IC
13461// FIXME: 1.0.0 shims, remove in 2.0.0
13462Wallet.prototype.getReceiveAddress = Wallet.prototype.getAddress
13463Wallet.prototype.createTx = Wallet.prototype.createTransaction
13464
ebd8d4e8
IC
13465module.exports = Wallet
13466
ab78acc6
IC
13467}).call(this,require("buffer").Buffer)
13468},{"./address":54,"./bufferutils":57,"./hdnode":63,"./networks":66,"./script":68,"./transaction_builder":71,"assert":5,"buffer":7,"randombytes":52,"typeforce":53}]},{},[64])(64)
13469});</script>
d5dc92fd
IC
13470 <script>bitcoin.networks.shadow = {
13471 magicPrefix: '\x19ShadowCash Signed Message:\n',
13472 bip32: {
13473 public: 0xEE80286A,
13474 private: 0xEE8031E8
13475 },
13476 pubKeyHash: 0x3f,
13477 scriptHash: 0x7d,
13478 wif: 0xbf,
13479 dustThreshold: 0,
13480 feePerKb: 1000,
13481 estimateFee: function() { return "unused in this app" },
13482};
13483
13484bitcoin.networks.shadowtn = {
13485 magicPrefix: '\x19ShadowCash Signed Message:\n',
13486 bip32: {
13487 public: 0x76C0FDFB,
13488 private: 0x76C1077A
13489 },
13490 pubKeyHash: 0x7f,
13491 scriptHash: 0xc4,
13492 wif: 0xff,
13493 dustThreshold: 0,
13494 feePerKb: 1000,
13495 estimateFee: function() { return "unused in this app" },
13496};
5c434a8a
CM
13497
13498bitcoin.networks.clam = {
13499 bip32: {
13500 public: 0xa8c26d64,
13501 private: 0xa8c17826
13502 },
13503 pubKeyHash: 0x89,
13504 wif: 0x85,
13505};
5493efc3 13506
13507bitcoin.networks.dash = {
13508 bip32: {
13509 public: 0x0488b21e,
13510 private: 0x0488ade4
13511 },
68151a47 13512 pubKeyHash: 0x4c,
5493efc3 13513 scriptHash: 0x10,
13514 wif: 0xcc,
13515};
13516
07ac4350 13517bitcoin.networks.namecoin = {
13518 bip32: {
13519 public: 0x0488b21e,
13520 private: 0x0488ade4
13521 },
13522 pubKeyHash: 0x34,
13523 //scriptHash: 0x10,
13524 wif: 0x80,
13525};
13526
13527bitcoin.networks.peercoin = {
13528 bip32: {
13529 public: 0x0488b21e,
13530 private: 0x0488ade4
13531 },
13532 pubKeyHash: 0x37,
13533 //scriptHash: 0x10,
13534 wif: 0xb7,
13535};
13536
d5dc92fd 13537</script>
ab78acc6 13538 <script>// Select components from sjcl to suit the crypto operations bip39 requires.
80c4dd2a
IC
13539
13540//// base.js
13541
13542/** @fileOverview Javascript cryptography implementation.
13543 *
13544 * Crush to remove comments, shorten variable names and
13545 * generally reduce transmission size.
13546 *
13547 * @author Emily Stark
13548 * @author Mike Hamburg
13549 * @author Dan Boneh
13550 */
13551
13552"use strict";
13553/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */
13554/*global document, window, escape, unescape, module, require, Uint32Array */
13555
13556/** @namespace The Stanford Javascript Crypto Library, top-level namespace. */
13557var sjcl = {
13558 /** @namespace Symmetric ciphers. */
13559 cipher: {},
13560
13561 /** @namespace Hash functions. Right now only SHA256 is implemented. */
13562 hash: {},
13563
13564 /** @namespace Key exchange functions. Right now only SRP is implemented. */
13565 keyexchange: {},
13566
13567 /** @namespace Block cipher modes of operation. */
13568 mode: {},
13569
13570 /** @namespace Miscellaneous. HMAC and PBKDF2. */
13571 misc: {},
13572
13573 /**
13574 * @namespace Bit array encoders and decoders.
13575 *
13576 * @description
13577 * The members of this namespace are functions which translate between
13578 * SJCL's bitArrays and other objects (usually strings). Because it
13579 * isn't always clear which direction is encoding and which is decoding,
13580 * the method names are "fromBits" and "toBits".
13581 */
13582 codec: {},
13583
13584 /** @namespace Exceptions. */
13585 exception: {
13586 /** @constructor Ciphertext is corrupt. */
13587 corrupt: function(message) {
13588 this.toString = function() { return "CORRUPT: "+this.message; };
13589 this.message = message;
13590 },
13591
13592 /** @constructor Invalid parameter. */
13593 invalid: function(message) {
13594 this.toString = function() { return "INVALID: "+this.message; };
13595 this.message = message;
13596 },
13597
13598 /** @constructor Bug or missing feature in SJCL. @constructor */
13599 bug: function(message) {
13600 this.toString = function() { return "BUG: "+this.message; };
13601 this.message = message;
13602 },
13603
13604 /** @constructor Something isn't ready. */
13605 notReady: function(message) {
13606 this.toString = function() { return "NOT READY: "+this.message; };
13607 this.message = message;
ebd8d4e8 13608 }
80c4dd2a
IC
13609 }
13610};
13611
13612if(typeof module !== 'undefined' && module.exports){
13613 module.exports = sjcl;
13614}
13615if (typeof define === "function") {
13616 define([], function () {
13617 return sjcl;
13618 });
13619}
13620
13621
13622//// bitArray.js
13623
13624/** @fileOverview Arrays of bits, encoded as arrays of Numbers.
13625 *
13626 * @author Emily Stark
13627 * @author Mike Hamburg
13628 * @author Dan Boneh
13629 */
13630
13631/** @namespace Arrays of bits, encoded as arrays of Numbers.
13632 *
13633 * @description
13634 * <p>
13635 * These objects are the currency accepted by SJCL's crypto functions.
13636 * </p>
13637 *
13638 * <p>
13639 * Most of our crypto primitives operate on arrays of 4-byte words internally,
13640 * but many of them can take arguments that are not a multiple of 4 bytes.
13641 * This library encodes arrays of bits (whose size need not be a multiple of 8
13642 * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an
13643 * array of words, 32 bits at a time. Since the words are double-precision
13644 * floating point numbers, they fit some extra data. We use this (in a private,
13645 * possibly-changing manner) to encode the number of bits actually present
13646 * in the last word of the array.
13647 * </p>
13648 *
13649 * <p>
13650 * Because bitwise ops clear this out-of-band data, these arrays can be passed
13651 * to ciphers like AES which want arrays of words.
13652 * </p>
13653 */
13654sjcl.bitArray = {
13655 /**
13656 * Array slices in units of bits.
13657 * @param {bitArray} a The array to slice.
13658 * @param {Number} bstart The offset to the start of the slice, in bits.
13659 * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
13660 * slice until the end of the array.
13661 * @return {bitArray} The requested slice.
13662 */
13663 bitSlice: function (a, bstart, bend) {
13664 a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);
13665 return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);
13666 },
13667
13668 /**
13669 * Extract a number packed into a bit array.
13670 * @param {bitArray} a The array to slice.
13671 * @param {Number} bstart The offset to the start of the slice, in bits.
13672 * @param {Number} length The length of the number to extract.
13673 * @return {Number} The requested slice.
13674 */
13675 extract: function(a, bstart, blength) {
13676 // FIXME: this Math.floor is not necessary at all, but for some reason
13677 // seems to suppress a bug in the Chromium JIT.
13678 var x, sh = Math.floor((-bstart-blength) & 31);
13679 if ((bstart + blength - 1 ^ bstart) & -32) {
13680 // it crosses a boundary
13681 x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);
13682 } else {
13683 // within a single word
13684 x = a[bstart/32|0] >>> sh;
ebd8d4e8 13685 }
80c4dd2a
IC
13686 return x & ((1<<blength) - 1);
13687 },
13688
13689 /**
13690 * Concatenate two bit arrays.
13691 * @param {bitArray} a1 The first array.
13692 * @param {bitArray} a2 The second array.
13693 * @return {bitArray} The concatenation of a1 and a2.
13694 */
13695 concat: function (a1, a2) {
13696 if (a1.length === 0 || a2.length === 0) {
13697 return a1.concat(a2);
13698 }
13699
13700 var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);
13701 if (shift === 32) {
13702 return a1.concat(a2);
13703 } else {
13704 return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));
ebd8d4e8 13705 }
80c4dd2a
IC
13706 },
13707
13708 /**
13709 * Find the length of an array of bits.
13710 * @param {bitArray} a The array.
13711 * @return {Number} The length of a, in bits.
13712 */
13713 bitLength: function (a) {
13714 var l = a.length, x;
13715 if (l === 0) { return 0; }
13716 x = a[l - 1];
13717 return (l-1) * 32 + sjcl.bitArray.getPartial(x);
13718 },
13719
13720 /**
13721 * Truncate an array.
13722 * @param {bitArray} a The array.
13723 * @param {Number} len The length to truncate to, in bits.
13724 * @return {bitArray} A new array, truncated to len bits.
13725 */
13726 clamp: function (a, len) {
13727 if (a.length * 32 < len) { return a; }
13728 a = a.slice(0, Math.ceil(len / 32));
13729 var l = a.length;
13730 len = len & 31;
13731 if (l > 0 && len) {
13732 a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);
13733 }
13734 return a;
13735 },
13736
13737 /**
13738 * Make a partial word for a bit array.
13739 * @param {Number} len The number of bits in the word.
13740 * @param {Number} x The bits.
13741 * @param {Number} [0] _end Pass 1 if x has already been shifted to the high side.
13742 * @return {Number} The partial word.
13743 */
13744 partial: function (len, x, _end) {
13745 if (len === 32) { return x; }
13746 return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;
13747 },
13748
13749 /**
13750 * Get the number of bits used by a partial word.
13751 * @param {Number} x The partial word.
13752 * @return {Number} The number of bits used by the partial word.
13753 */
13754 getPartial: function (x) {
13755 return Math.round(x/0x10000000000) || 32;
13756 },
13757
13758 /**
13759 * Compare two arrays for equality in a predictable amount of time.
13760 * @param {bitArray} a The first array.
13761 * @param {bitArray} b The second array.
13762 * @return {boolean} true if a == b; false otherwise.
13763 */
13764 equal: function (a, b) {
13765 if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {
13766 return false;
ebd8d4e8 13767 }
80c4dd2a
IC
13768 var x = 0, i;
13769 for (i=0; i<a.length; i++) {
13770 x |= a[i]^b[i];
ebd8d4e8 13771 }
80c4dd2a
IC
13772 return (x === 0);
13773 },
13774
13775 /** Shift an array right.
13776 * @param {bitArray} a The array to shift.
13777 * @param {Number} shift The number of bits to shift.
13778 * @param {Number} [carry=0] A byte to carry in
13779 * @param {bitArray} [out=[]] An array to prepend to the output.
13780 * @private
13781 */
13782 _shiftRight: function (a, shift, carry, out) {
13783 var i, last2=0, shift2;
13784 if (out === undefined) { out = []; }
13785
13786 for (; shift >= 32; shift -= 32) {
13787 out.push(carry);
13788 carry = 0;
13789 }
13790 if (shift === 0) {
13791 return out.concat(a);
13792 }
13793
13794 for (i=0; i<a.length; i++) {
13795 out.push(carry | a[i]>>>shift);
13796 carry = a[i] << (32-shift);
13797 }
13798 last2 = a.length ? a[a.length-1] : 0;
13799 shift2 = sjcl.bitArray.getPartial(last2);
13800 out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));
13801 return out;
13802 },
13803
13804 /** xor a block of 4 words together.
13805 * @private
13806 */
13807 _xor4: function(x,y) {
13808 return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];
13809 },
13810
13811 /** byteswap a word array inplace.
13812 * (does not handle partial words)
13813 * @param {sjcl.bitArray} a word array
13814 * @return {sjcl.bitArray} byteswapped array
13815 */
13816 byteswapM: function(a) {
13817 var i, v, m = 0xff00;
13818 for (i = 0; i < a.length; ++i) {
13819 v = a[i];
13820 a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);
ebd8d4e8 13821 }
80c4dd2a
IC
13822 return a;
13823 }
13824};
13825
13826
13827//// codecString.js
13828
13829/** @fileOverview Bit array codec implementations.
13830 *
13831 * @author Emily Stark
13832 * @author Mike Hamburg
13833 * @author Dan Boneh
13834 */
13835
13836/** @namespace UTF-8 strings */
13837sjcl.codec.utf8String = {
13838 /** Convert from a bitArray to a UTF-8 string. */
13839 fromBits: function (arr) {
13840 var out = "", bl = sjcl.bitArray.bitLength(arr), i, tmp;
13841 for (i=0; i<bl/8; i++) {
13842 if ((i&3) === 0) {
13843 tmp = arr[i/4];
13844 }
13845 out += String.fromCharCode(tmp >>> 24);
13846 tmp <<= 8;
ebd8d4e8 13847 }
80c4dd2a
IC
13848 return decodeURIComponent(escape(out));
13849 },
13850
13851 /** Convert from a UTF-8 string to a bitArray. */
13852 toBits: function (str) {
13853 str = unescape(encodeURIComponent(str));
13854 var out = [], i, tmp=0;
13855 for (i=0; i<str.length; i++) {
13856 tmp = tmp << 8 | str.charCodeAt(i);
13857 if ((i&3) === 3) {
13858 out.push(tmp);
13859 tmp = 0;
13860 }
ebd8d4e8 13861 }
80c4dd2a
IC
13862 if (i&3) {
13863 out.push(sjcl.bitArray.partial(8*(i&3), tmp));
ebd8d4e8 13864 }
80c4dd2a
IC
13865 return out;
13866 }
13867};
13868
13869
13870//// codecHex.js
13871
13872/** @fileOverview Bit array codec implementations.
13873 *
13874 * @author Emily Stark
13875 * @author Mike Hamburg
13876 * @author Dan Boneh
13877 */
13878
13879/** @namespace Hexadecimal */
13880sjcl.codec.hex = {
13881 /** Convert from a bitArray to a hex string. */
13882 fromBits: function (arr) {
13883 var out = "", i;
13884 for (i=0; i<arr.length; i++) {
13885 out += ((arr[i]|0)+0xF00000000000).toString(16).substr(4);
ebd8d4e8 13886 }
80c4dd2a
IC
13887 return out.substr(0, sjcl.bitArray.bitLength(arr)/4);//.replace(/(.{8})/g, "$1 ");
13888 },
13889 /** Convert from a hex string to a bitArray. */
13890 toBits: function (str) {
13891 var i, out=[], len;
13892 str = str.replace(/\s|0x/g, "");
13893 len = str.length;
13894 str = str + "00000000";
13895 for (i=0; i<str.length; i+=8) {
13896 out.push(parseInt(str.substr(i,8),16)^0);
ebd8d4e8 13897 }
80c4dd2a
IC
13898 return sjcl.bitArray.clamp(out, len*4);
13899 }
13900};
13901
13902
13903//// sha512.js
13904
13905/** @fileOverview Javascript SHA-512 implementation.
13906 *
13907 * This implementation was written for CryptoJS by Jeff Mott and adapted for
13908 * SJCL by Stefan Thomas.
13909 *
13910 * CryptoJS (c) 2009–2012 by Jeff Mott. All rights reserved.
13911 * Released with New BSD License
13912 *
13913 * @author Emily Stark
13914 * @author Mike Hamburg
13915 * @author Dan Boneh
13916 * @author Jeff Mott
13917 * @author Stefan Thomas
13918 */
13919
13920/**
13921 * Context for a SHA-512 operation in progress.
13922 * @constructor
13923 * @class Secure Hash Algorithm, 512 bits.
13924 */
13925sjcl.hash.sha512 = function (hash) {
13926 if (!this._key[0]) { this._precompute(); }
13927 if (hash) {
13928 this._h = hash._h.slice(0);
13929 this._buffer = hash._buffer.slice(0);
13930 this._length = hash._length;
13931 } else {
13932 this.reset();
13933 }
13934};
13935
13936/**
13937 * Hash a string or an array of words.
13938 * @static
13939 * @param {bitArray|String} data the data to hash.
13940 * @return {bitArray} The hash value, an array of 16 big-endian words.
13941 */
13942sjcl.hash.sha512.hash = function (data) {
13943 return (new sjcl.hash.sha512()).update(data).finalize();
13944};
13945
13946sjcl.hash.sha512.prototype = {
13947 /**
13948 * The hash's block size, in bits.
13949 * @constant
13950 */
13951 blockSize: 1024,
13952
13953 /**
13954 * Reset the hash state.
13955 * @return this
13956 */
13957 reset:function () {
13958 this._h = this._init.slice(0);
13959 this._buffer = [];
13960 this._length = 0;
13961 return this;
13962 },
13963
13964 /**
13965 * Input several words to the hash.
13966 * @param {bitArray|String} data the data to hash.
13967 * @return this
13968 */
13969 update: function (data) {
13970 if (typeof data === "string") {
13971 data = sjcl.codec.utf8String.toBits(data);
ebd8d4e8 13972 }
80c4dd2a
IC
13973 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
13974 ol = this._length,
13975 nl = this._length = ol + sjcl.bitArray.bitLength(data);
13976 for (i = 1024+ol & -1024; i <= nl; i+= 1024) {
13977 this._block(b.splice(0,32));
ebd8d4e8 13978 }
80c4dd2a
IC
13979 return this;
13980 },
13981
13982 /**
13983 * Complete hashing and output the hash value.
13984 * @return {bitArray} The hash value, an array of 16 big-endian words.
13985 */
13986 finalize:function () {
13987 var i, b = this._buffer, h = this._h;
13988
13989 // Round out and push the buffer
13990 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
13991
13992 // Round out the buffer to a multiple of 32 words, less the 4 length words.
13993 for (i = b.length + 4; i & 31; i++) {
13994 b.push(0);
ebd8d4e8 13995 }
80c4dd2a
IC
13996
13997 // append the length
13998 b.push(0);
13999 b.push(0);
14000 b.push(Math.floor(this._length / 0x100000000));
14001 b.push(this._length | 0);
14002
14003 while (b.length) {
14004 this._block(b.splice(0,32));
ebd8d4e8 14005 }
80c4dd2a
IC
14006
14007 this.reset();
14008 return h;
14009 },
14010
14011 /**
14012 * The SHA-512 initialization vector, to be precomputed.
14013 * @private
14014 */
14015 _init:[],
14016
14017 /**
14018 * Least significant 24 bits of SHA512 initialization values.
14019 *
14020 * Javascript only has 53 bits of precision, so we compute the 40 most
14021 * significant bits and add the remaining 24 bits as constants.
14022 *
14023 * @private
14024 */
14025 _initr: [ 0xbcc908, 0xcaa73b, 0x94f82b, 0x1d36f1, 0xe682d1, 0x3e6c1f, 0x41bd6b, 0x7e2179 ],
14026
14027 /*
14028 _init:
14029 [0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
14030 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179],
14031 */
14032
14033 /**
14034 * The SHA-512 hash key, to be precomputed.
14035 * @private
14036 */
14037 _key:[],
14038
14039 /**
14040 * Least significant 24 bits of SHA512 key values.
14041 * @private
14042 */
14043 _keyr:
14044 [0x28ae22, 0xef65cd, 0x4d3b2f, 0x89dbbc, 0x48b538, 0x05d019, 0x194f9b, 0x6d8118,
14045 0x030242, 0x706fbe, 0xe4b28c, 0xffb4e2, 0x7b896f, 0x1696b1, 0xc71235, 0x692694,
14046 0xf14ad2, 0x4f25e3, 0x8cd5b5, 0xac9c65, 0x2b0275, 0xa6e483, 0x41fbd4, 0x1153b5,
14047 0x66dfab, 0xb43210, 0xfb213f, 0xef0ee4, 0xa88fc2, 0x0aa725, 0x03826f, 0x0e6e70,
14048 0xd22ffc, 0x26c926, 0xc42aed, 0x95b3df, 0xaf63de, 0x77b2a8, 0xedaee6, 0x82353b,
14049 0xf10364, 0x423001, 0xf89791, 0x54be30, 0xef5218, 0x65a910, 0x71202a, 0xbbd1b8,
14050 0xd2d0c8, 0x41ab53, 0x8eeb99, 0x9b48a8, 0xc95a63, 0x418acb, 0x63e373, 0xb2b8a3,
14051 0xefb2fc, 0x172f60, 0xf0ab72, 0x6439ec, 0x631e28, 0x82bde9, 0xc67915, 0x72532b,
14052 0x26619c, 0xc0c207, 0xe0eb1e, 0x6ed178, 0x176fba, 0xc898a6, 0xf90dae, 0x1c471b,
14053 0x047d84, 0xc72493, 0xc9bebc, 0x100d4c, 0x3e42b6, 0x657e2a, 0xd6faec, 0x475817],
14054
14055 /*
14056 _key:
14057 [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
14058 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
14059 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
14060 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
14061 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
14062 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
14063 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
14064 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
14065 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
14066 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
14067 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
14068 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
14069 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
14070 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
14071 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
14072 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
14073 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
14074 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
14075 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
14076 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817],
14077 */
14078
14079 /**
14080 * Function to precompute _init and _key.
14081 * @private
14082 */
14083 _precompute: function () {
14084 // XXX: This code is for precomputing the SHA256 constants, change for
14085 // SHA512 and re-enable.
14086 var i = 0, prime = 2, factor;
14087
14088 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14089 function frac2(x) { return (x-Math.floor(x)) * 0x10000000000 & 0xff; }
14090
14091 outer: for (; i<80; prime++) {
14092 for (factor=2; factor*factor <= prime; factor++) {
14093 if (prime % factor === 0) {
14094 // not a prime
14095 continue outer;
ebd8d4e8 14096 }
80c4dd2a
IC
14097 }
14098
14099 if (i<8) {
14100 this._init[i*2] = frac(Math.pow(prime, 1/2));
14101 this._init[i*2+1] = (frac2(Math.pow(prime, 1/2)) << 24) | this._initr[i];
14102 }
14103 this._key[i*2] = frac(Math.pow(prime, 1/3));
14104 this._key[i*2+1] = (frac2(Math.pow(prime, 1/3)) << 24) | this._keyr[i];
14105 i++;
ebd8d4e8 14106 }
80c4dd2a
IC
14107 },
14108
14109 /**
14110 * Perform one cycle of SHA-512.
14111 * @param {bitArray} words one block of words.
14112 * @private
14113 */
14114 _block:function (words) {
14115 var i, wrh, wrl,
14116 w = words.slice(0),
14117 h = this._h,
14118 k = this._key,
14119 h0h = h[ 0], h0l = h[ 1], h1h = h[ 2], h1l = h[ 3],
14120 h2h = h[ 4], h2l = h[ 5], h3h = h[ 6], h3l = h[ 7],
14121 h4h = h[ 8], h4l = h[ 9], h5h = h[10], h5l = h[11],
14122 h6h = h[12], h6l = h[13], h7h = h[14], h7l = h[15];
14123
14124 // Working variables
14125 var ah = h0h, al = h0l, bh = h1h, bl = h1l,
14126 ch = h2h, cl = h2l, dh = h3h, dl = h3l,
14127 eh = h4h, el = h4l, fh = h5h, fl = h5l,
14128 gh = h6h, gl = h6l, hh = h7h, hl = h7l;
14129
14130 for (i=0; i<80; i++) {
14131 // load up the input word for this round
14132 if (i<16) {
14133 wrh = w[i * 2];
14134 wrl = w[i * 2 + 1];
14135 } else {
14136 // Gamma0
14137 var gamma0xh = w[(i-15) * 2];
14138 var gamma0xl = w[(i-15) * 2 + 1];
14139 var gamma0h =
14140 ((gamma0xl << 31) | (gamma0xh >>> 1)) ^
14141 ((gamma0xl << 24) | (gamma0xh >>> 8)) ^
14142 (gamma0xh >>> 7);
14143 var gamma0l =
14144 ((gamma0xh << 31) | (gamma0xl >>> 1)) ^
14145 ((gamma0xh << 24) | (gamma0xl >>> 8)) ^
14146 ((gamma0xh << 25) | (gamma0xl >>> 7));
14147
14148 // Gamma1
14149 var gamma1xh = w[(i-2) * 2];
14150 var gamma1xl = w[(i-2) * 2 + 1];
14151 var gamma1h =
14152 ((gamma1xl << 13) | (gamma1xh >>> 19)) ^
14153 ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
14154 (gamma1xh >>> 6);
14155 var gamma1l =
14156 ((gamma1xh << 13) | (gamma1xl >>> 19)) ^
14157 ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
14158 ((gamma1xh << 26) | (gamma1xl >>> 6));
14159
14160 // Shortcuts
14161 var wr7h = w[(i-7) * 2];
14162 var wr7l = w[(i-7) * 2 + 1];
14163
14164 var wr16h = w[(i-16) * 2];
14165 var wr16l = w[(i-16) * 2 + 1];
14166
14167 // W(round) = gamma0 + W(round - 7) + gamma1 + W(round - 16)
14168 wrl = gamma0l + wr7l;
14169 wrh = gamma0h + wr7h + ((wrl >>> 0) < (gamma0l >>> 0) ? 1 : 0);
14170 wrl += gamma1l;
14171 wrh += gamma1h + ((wrl >>> 0) < (gamma1l >>> 0) ? 1 : 0);
14172 wrl += wr16l;
14173 wrh += wr16h + ((wrl >>> 0) < (wr16l >>> 0) ? 1 : 0);
14174 }
14175
14176 w[i*2] = wrh |= 0;
14177 w[i*2 + 1] = wrl |= 0;
14178
14179 // Ch
14180 var chh = (eh & fh) ^ (~eh & gh);
14181 var chl = (el & fl) ^ (~el & gl);
14182
14183 // Maj
14184 var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
14185 var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
14186
14187 // Sigma0
14188 var sigma0h = ((al << 4) | (ah >>> 28)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
14189 var sigma0l = ((ah << 4) | (al >>> 28)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
14190
14191 // Sigma1
14192 var sigma1h = ((el << 18) | (eh >>> 14)) ^ ((el << 14) | (eh >>> 18)) ^ ((eh << 23) | (el >>> 9));
14193 var sigma1l = ((eh << 18) | (el >>> 14)) ^ ((eh << 14) | (el >>> 18)) ^ ((el << 23) | (eh >>> 9));
14194
14195 // K(round)
14196 var krh = k[i*2];
14197 var krl = k[i*2+1];
14198
14199 // t1 = h + sigma1 + ch + K(round) + W(round)
14200 var t1l = hl + sigma1l;
14201 var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
14202 t1l += chl;
14203 t1h += chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
14204 t1l += krl;
14205 t1h += krh + ((t1l >>> 0) < (krl >>> 0) ? 1 : 0);
14206 t1l = t1l + wrl|0; // FF32..FF34 perf issue https://bugzilla.mozilla.org/show_bug.cgi?id=1054972
14207 t1h += wrh + ((t1l >>> 0) < (wrl >>> 0) ? 1 : 0);
14208
14209 // t2 = sigma0 + maj
14210 var t2l = sigma0l + majl;
14211 var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
14212
14213 // Update working variables
14214 hh = gh;
14215 hl = gl;
14216 gh = fh;
14217 gl = fl;
14218 fh = eh;
14219 fl = el;
14220 el = (dl + t1l) | 0;
14221 eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14222 dh = ch;
14223 dl = cl;
14224 ch = bh;
14225 cl = bl;
14226 bh = ah;
14227 bl = al;
14228 al = (t1l + t2l) | 0;
14229 ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
14230 }
14231
14232 // Intermediate hash
14233 h0l = h[1] = (h0l + al) | 0;
14234 h[0] = (h0h + ah + ((h0l >>> 0) < (al >>> 0) ? 1 : 0)) | 0;
14235 h1l = h[3] = (h1l + bl) | 0;
14236 h[2] = (h1h + bh + ((h1l >>> 0) < (bl >>> 0) ? 1 : 0)) | 0;
14237 h2l = h[5] = (h2l + cl) | 0;
14238 h[4] = (h2h + ch + ((h2l >>> 0) < (cl >>> 0) ? 1 : 0)) | 0;
14239 h3l = h[7] = (h3l + dl) | 0;
14240 h[6] = (h3h + dh + ((h3l >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14241 h4l = h[9] = (h4l + el) | 0;
14242 h[8] = (h4h + eh + ((h4l >>> 0) < (el >>> 0) ? 1 : 0)) | 0;
14243 h5l = h[11] = (h5l + fl) | 0;
14244 h[10] = (h5h + fh + ((h5l >>> 0) < (fl >>> 0) ? 1 : 0)) | 0;
14245 h6l = h[13] = (h6l + gl) | 0;
14246 h[12] = (h6h + gh + ((h6l >>> 0) < (gl >>> 0) ? 1 : 0)) | 0;
14247 h7l = h[15] = (h7l + hl) | 0;
14248 h[14] = (h7h + hh + ((h7l >>> 0) < (hl >>> 0) ? 1 : 0)) | 0;
14249 }
14250};
14251
14252
14253//// hmac.js
14254
14255/** @fileOverview HMAC implementation.
14256 *
14257 * @author Emily Stark
14258 * @author Mike Hamburg
14259 * @author Dan Boneh
14260 */
14261
14262/** HMAC with the specified hash function.
14263 * @constructor
14264 * @param {bitArray} key the key for HMAC.
14265 * @param {Object} [hash=sjcl.hash.sha256] The hash function to use.
14266 */
14267sjcl.misc.hmac = function (key, Hash) {
14268 this._hash = Hash = Hash || sjcl.hash.sha256;
14269 var exKey = [[],[]], i,
14270 bs = Hash.prototype.blockSize / 32;
14271 this._baseHash = [new Hash(), new Hash()];
14272
14273 if (key.length > bs) {
14274 key = Hash.hash(key);
14275 }
14276
14277 for (i=0; i<bs; i++) {
14278 exKey[0][i] = key[i]^0x36363636;
14279 exKey[1][i] = key[i]^0x5C5C5C5C;
14280 }
14281
14282 this._baseHash[0].update(exKey[0]);
14283 this._baseHash[1].update(exKey[1]);
14284 this._resultHash = new Hash(this._baseHash[0]);
14285};
14286
14287/** HMAC with the specified hash function. Also called encrypt since it's a prf.
14288 * @param {bitArray|String} data The data to mac.
14289 */
14290sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function (data) {
14291 if (!this._updated) {
14292 this.update(data);
14293 return this.digest(data);
14294 } else {
14295 throw new sjcl.exception.invalid("encrypt on already updated hmac called!");
14296 }
14297};
14298
14299sjcl.misc.hmac.prototype.reset = function () {
14300 this._resultHash = new this._hash(this._baseHash[0]);
14301 this._updated = false;
14302};
14303
14304sjcl.misc.hmac.prototype.update = function (data) {
14305 this._updated = true;
14306 this._resultHash.update(data);
14307};
14308
14309sjcl.misc.hmac.prototype.digest = function () {
14310 var w = this._resultHash.finalize(), result = new (this._hash)(this._baseHash[1]).update(w).finalize();
14311
14312 this.reset();
14313
14314 return result;
14315};
14316
14317
14318//// pbkdf2.js
14319
14320
14321/** @fileOverview Password-based key-derivation function, version 2.0.
14322 *
14323 * @author Emily Stark
14324 * @author Mike Hamburg
14325 * @author Dan Boneh
14326 */
14327
14328/** Password-Based Key-Derivation Function, version 2.0.
14329 *
14330 * Generate keys from passwords using PBKDF2-HMAC-SHA256.
14331 *
14332 * This is the method specified by RSA's PKCS #5 standard.
14333 *
14334 * @param {bitArray|String} password The password.
14335 * @param {bitArray|String} salt The salt. Should have lots of entropy.
14336 * @param {Number} [count=1000] The number of iterations. Higher numbers make the function slower but more secure.
14337 * @param {Number} [length] The length of the derived key. Defaults to the
14338 output size of the hash function.
14339 * @param {Object} [Prff=sjcl.misc.hmac] The pseudorandom function family.
14340 * @return {bitArray} the derived key.
14341 */
14342sjcl.misc.pbkdf2 = function (password, salt, count, length, Prff) {
14343 count = count || 1000;
14344
14345 if (length < 0 || count < 0) {
14346 throw sjcl.exception.invalid("invalid params to pbkdf2");
14347 }
14348
14349 if (typeof password === "string") {
14350 password = sjcl.codec.utf8String.toBits(password);
14351 }
14352
14353 if (typeof salt === "string") {
14354 salt = sjcl.codec.utf8String.toBits(salt);
14355 }
14356
14357 Prff = Prff || sjcl.misc.hmac;
14358
14359 var prf = new Prff(password),
14360 u, ui, i, j, k, out = [], b = sjcl.bitArray;
14361
14362 for (k = 1; 32 * out.length < (length || 1); k++) {
14363 u = ui = prf.encrypt(b.concat(salt,[k]));
14364
14365 for (i=1; i<count; i++) {
14366 ui = prf.encrypt(ui);
14367 for (j=0; j<ui.length; j++) {
14368 u[j] ^= ui[j];
14369 }
ebd8d4e8 14370 }
80c4dd2a
IC
14371
14372 out = out.concat(u);
14373 }
14374
14375 if (length) { out = b.clamp(out, length); }
14376
14377 return out;
14378};
14379
14380
14381//// sha256.js
14382
14383/** @fileOverview Javascript SHA-256 implementation.
14384 *
14385 * An older version of this implementation is available in the public
14386 * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
14387 * Stanford University 2008-2010 and BSD-licensed for liability
14388 * reasons.
14389 *
14390 * Special thanks to Aldo Cortesi for pointing out several bugs in
14391 * this code.
14392 *
14393 * @author Emily Stark
14394 * @author Mike Hamburg
14395 * @author Dan Boneh
14396 */
14397
14398/**
14399 * Context for a SHA-256 operation in progress.
14400 * @constructor
14401 * @class Secure Hash Algorithm, 256 bits.
14402 */
14403sjcl.hash.sha256 = function (hash) {
14404 if (!this._key[0]) { this._precompute(); }
14405 if (hash) {
14406 this._h = hash._h.slice(0);
14407 this._buffer = hash._buffer.slice(0);
14408 this._length = hash._length;
14409 } else {
14410 this.reset();
14411 }
14412};
14413
14414/**
14415 * Hash a string or an array of words.
14416 * @static
14417 * @param {bitArray|String} data the data to hash.
14418 * @return {bitArray} The hash value, an array of 16 big-endian words.
14419 */
14420sjcl.hash.sha256.hash = function (data) {
14421 return (new sjcl.hash.sha256()).update(data).finalize();
14422};
14423
14424sjcl.hash.sha256.prototype = {
14425 /**
14426 * The hash's block size, in bits.
14427 * @constant
14428 */
14429 blockSize: 512,
14430
14431 /**
14432 * Reset the hash state.
14433 * @return this
14434 */
14435 reset:function () {
14436 this._h = this._init.slice(0);
14437 this._buffer = [];
14438 this._length = 0;
14439 return this;
14440 },
14441
14442 /**
14443 * Input several words to the hash.
14444 * @param {bitArray|String} data the data to hash.
14445 * @return this
14446 */
14447 update: function (data) {
14448 if (typeof data === "string") {
14449 data = sjcl.codec.utf8String.toBits(data);
14450 }
14451 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14452 ol = this._length,
14453 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14454 for (i = 512+ol & -512; i <= nl; i+= 512) {
14455 this._block(b.splice(0,16));
ebd8d4e8 14456 }
3af2954a 14457 return this;
80c4dd2a
IC
14458 },
14459
14460 /**
14461 * Complete hashing and output the hash value.
14462 * @return {bitArray} The hash value, an array of 8 big-endian words.
14463 */
14464 finalize:function () {
14465 var i, b = this._buffer, h = this._h;
14466
14467 // Round out and push the buffer
14468 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14469
14470 // Round out the buffer to a multiple of 16 words, less the 2 length words.
14471 for (i = b.length + 2; i & 15; i++) {
14472 b.push(0);
14473 }
14474
14475 // append the length
14476 b.push(Math.floor(this._length / 0x100000000));
14477 b.push(this._length | 0);
14478
14479 while (b.length) {
14480 this._block(b.splice(0,16));
14481 }
14482
14483 this.reset();
14484 return h;
14485 },
14486
14487 /**
14488 * The SHA-256 initialization vector, to be precomputed.
14489 * @private
14490 */
14491 _init:[],
14492 /*
14493 _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],
14494 */
14495
14496 /**
14497 * The SHA-256 hash key, to be precomputed.
14498 * @private
14499 */
14500 _key:[],
14501 /*
14502 _key:
14503 [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
14504 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
14505 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
14506 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
14507 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
14508 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
14509 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
14510 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],
14511 */
14512
14513
14514 /**
14515 * Function to precompute _init and _key.
14516 * @private
14517 */
14518 _precompute: function () {
14519 var i = 0, prime = 2, factor;
14520
14521 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14522
14523 outer: for (; i<64; prime++) {
14524 for (factor=2; factor*factor <= prime; factor++) {
14525 if (prime % factor === 0) {
14526 // not a prime
14527 continue outer;
ebd8d4e8 14528 }
80c4dd2a
IC
14529 }
14530
14531 if (i<8) {
14532 this._init[i] = frac(Math.pow(prime, 1/2));
14533 }
14534 this._key[i] = frac(Math.pow(prime, 1/3));
14535 i++;
ebd8d4e8 14536 }
80c4dd2a
IC
14537 },
14538
14539 /**
14540 * Perform one cycle of SHA-256.
14541 * @param {bitArray} words one block of words.
14542 * @private
14543 */
14544 _block:function (words) {
14545 var i, tmp, a, b,
14546 w = words.slice(0),
14547 h = this._h,
14548 k = this._key,
14549 h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],
14550 h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];
14551
14552 /* Rationale for placement of |0 :
14553 * If a value can overflow is original 32 bits by a factor of more than a few
14554 * million (2^23 ish), there is a possibility that it might overflow the
14555 * 53-bit mantissa and lose precision.
14556 *
14557 * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that
14558 * propagates around the loop, and on the hash state h[]. I don't believe
14559 * that the clamps on h4 and on h0 are strictly necessary, but it's close
14560 * (for h4 anyway), and better safe than sorry.
14561 *
14562 * The clamps on h[] are necessary for the output to be correct even in the
14563 * common case and for short inputs.
14564 */
14565 for (i=0; i<64; i++) {
14566 // load up the input word for this round
14567 if (i<16) {
14568 tmp = w[i];
14569 } else {
14570 a = w[(i+1 ) & 15];
14571 b = w[(i+14) & 15];
14572 tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) +
14573 (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +
14574 w[i&15] + w[(i+9) & 15]) | 0;
14575 }
14576
14577 tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;
14578
14579 // shift register
14580 h7 = h6; h6 = h5; h5 = h4;
14581 h4 = h3 + tmp | 0;
14582 h3 = h2; h2 = h1; h1 = h0;
14583
14584 h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;
14585 }
14586
14587 h[0] = h[0]+h0 | 0;
14588 h[1] = h[1]+h1 | 0;
14589 h[2] = h[2]+h2 | 0;
14590 h[3] = h[3]+h3 | 0;
14591 h[4] = h[4]+h4 | 0;
14592 h[5] = h[5]+h5 | 0;
14593 h[6] = h[6]+h6 | 0;
14594 h[7] = h[7]+h7 | 0;
14595 }
14596};
dc55c6b0 14597</script>
ab78acc6 14598 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
3af2954a 14599WORDLISTS["english"] = [
ebd8d4e8
IC
14600"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
14601"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
14602"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",
14603"adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent",
14604"agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert",
14605"alien","all","alley","allow","almost","alone","alpha","already","also","alter",
14606"always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger",
14607"angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique",
14608"anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic",
14609"area","arena","argue","arm","armed","armor","army","around","arrange","arrest",
14610"arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset",
14611"assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction",
14612"audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake",
14613"aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge",
14614"bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain",
14615"barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
14616"beef","before","begin","behave","behind","believe","below","belt","bench","benefit",
14617"best","betray","better","between","beyond","bicycle","bid","bike","bind","biology",
14618"bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless",
14619"blind","blood","blossom","blouse","blue","blur","blush","board","boat","body",
14620"boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
14621"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread",
14622"breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze",
14623"broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb",
14624"bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy",
14625"butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
14626"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas",
14627"canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry",
14628"cart","case","cash","casino","castle","casual","cat","catalog","catch","category",
14629"cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century",
14630"cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase",
14631"chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child",
14632"chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
14633"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk",
14634"clever","click","client","cliff","climb","clinic","clip","clock","clog","close",
14635"cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut",
14636"code","coffee","coil","coin","collect","color","column","combine","come","comfort",
14637"comic","common","company","concert","conduct","confirm","congress","connect","consider","control",
14638"convince","cook","cool","copper","copy","coral","core","corn","correct","cost",
14639"cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle",
14640"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek",
14641"crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial",
14642"cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup",
14643"cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad",
14644"damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
14645"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense",
14646"define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny",
14647"depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk",
14648"despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond",
14649"diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur",
14650"direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance",
14651"divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain",
14652"donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
14653"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop",
14654"drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf",
14655"dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo",
14656"ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow",
14657"elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
14658"embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless",
14659"endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough",
14660"enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip",
14661"era","erase","erode","erosion","error","erupt","escape","essay","essence","estate",
14662"eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange",
14663"excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
14664"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye",
14665"eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame",
14666"family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father",
14667"fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female",
14668"fence","festival","fetch","fever","few","fiber","fiction","field","figure","file",
14669"film","filter","final","find","fine","finger","finish","fire","firm","first",
14670"fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor",
14671"flee","flight","flip","float","flock","floor","flower","fluid","flush","fly",
14672"foam","focus","fog","foil","fold","follow","food","foot","force","forest",
14673"forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile",
14674"frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen",
14675"fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy",
14676"gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp",
14677"gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture",
14678"ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance",
14679"glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue",
14680"goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown",
14681"grab","grace","grain","grant","grape","grass","gravity","great","green","grid",
14682"grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt",
14683"guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy",
14684"harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health",
14685"heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden",
14686"high","hill","hint","hip","hire","history","hobby","hockey","hold","hole",
14687"holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital",
14688"host","hotel","hour","hover","hub","huge","human","humble","humor","hundred",
14689"hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea",
14690"identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune",
14691"impact","impose","improve","impulse","inch","include","income","increase","index","indicate",
14692"indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury",
14693"inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install",
14694"intact","interest","into","invest","invite","involve","iron","island","isolate","issue",
14695"item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel",
14696"job","join","joke","journey","joy","judge","juice","jump","jungle","junior",
14697"junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney",
14698"kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife",
14699"knock","know","lab","label","labor","ladder","lady","lake","lamp","language",
14700"laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit",
14701"layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal",
14702"legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level",
14703"liar","liberty","library","license","life","lift","light","like","limb","limit",
14704"link","lion","liquid","list","little","live","lizard","load","loan","lobster",
14705"local","lock","logic","lonely","long","loop","lottery","loud","lounge","love",
14706"loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad",
14707"magic","magnet","maid","mail","main","major","make","mammal","man","manage",
14708"mandate","mango","mansion","manual","maple","marble","march","margin","marine","market",
14709"marriage","mask","mass","master","match","material","math","matrix","matter","maximum",
14710"maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt",
14711"member","memory","mention","menu","mercy","merge","merit","merry","mesh","message",
14712"metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor",
14713"minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile",
14714"model","modify","mom","moment","monitor","monkey","monster","month","moon","moral",
14715"more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie",
14716"much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual",
14717"myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature",
14718"near","neck","need","negative","neglect","neither","nephew","nerve","nest","net",
14719"network","neutral","never","news","next","nice","night","noble","noise","nominee",
14720"noodle","normal","north","nose","notable","note","nothing","notice","novel","now",
14721"nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe",
14722"obtain","obvious","occur","ocean","october","odor","off","offer","office","often",
14723"oil","okay","old","olive","olympic","omit","once","one","onion","online",
14724"only","open","opera","opinion","oppose","option","orange","orbit","orchard","order",
14725"ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output",
14726"outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact",
14727"paddle","page","pair","palace","palm","panda","panel","panic","panther","paper",
14728"parade","parent","park","parrot","party","pass","patch","path","patient","patrol",
14729"pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen",
14730"penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo",
14731"phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot",
14732"pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate",
14733"play","please","pledge","pluck","plug","plunge","poem","poet","point","polar",
14734"pole","police","pond","pony","pool","popular","portion","position","possible","post",
14735"potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare",
14736"present","pretty","prevent","price","pride","primary","print","priority","prison","private",
14737"prize","problem","process","produce","profit","program","project","promote","proof","property",
14738"prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin",
14739"punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle",
14740"pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit",
14741"raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp",
14742"ranch","random","range","rapid","rare","rate","rather","raven","raw","razor",
14743"ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle",
14744"reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release",
14745"relief","rely","remain","remember","remind","remove","render","renew","rent","reopen",
14746"repair","repeat","replace","report","require","rescue","resemble","resist","resource","response",
14747"result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib",
14748"ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot",
14749"ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket",
14750"romance","roof","rookie","room","rose","rotate","rough","round","route","royal",
14751"rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness",
14752"safe","sail","salad","salmon","salon","salt","salute","same","sample","sand",
14753"satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter",
14754"scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script",
14755"scrub","sea","search","season","seat","second","secret","section","security","seed",
14756"seek","segment","select","sell","seminar","senior","sense","sentence","series","service",
14757"session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell",
14758"sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop",
14759"short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side",
14760"siege","sight","sign","silent","silk","silly","silver","similar","simple","since",
14761"sing","siren","sister","situate","six","size","skate","sketch","ski","skill",
14762"skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight",
14763"slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth",
14764"snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda",
14765"soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry",
14766"sort","soul","sound","soup","source","south","space","spare","spatial","spawn",
14767"speak","special","speed","spell","spend","sphere","spice","spider","spike","spin",
14768"spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring",
14769"spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp",
14770"stand","start","state","stay","steak","steel","stem","step","stereo","stick",
14771"still","sting","stock","stomach","stone","stool","story","stove","strategy","street",
14772"strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway",
14773"success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny",
14774"sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey",
14775"suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim",
14776"swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag",
14777"tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi",
14778"teach","team","tell","ten","tenant","tennis","tent","term","test","text",
14779"thank","that","theme","then","theory","there","they","thing","this","thought",
14780"three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber",
14781"time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler",
14782"toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool",
14783"tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist",
14784"toward","tower","town","toy","track","trade","traffic","tragic","train","transfer",
14785"trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick",
14786"trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust",
14787"truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle",
14788"twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella",
14789"unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform",
14790"unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade",
14791"uphold","upon","upper","upset","urban","urge","usage","use","used","useful",
14792"useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van",
14793"vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue",
14794"verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory",
14795"video","view","village","vintage","violin","virtual","virus","visa","visit","visual",
14796"vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage",
14797"wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash",
14798"wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather",
14799"web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat",
14800"wheel","when","where","whip","whisper","wide","width","wife","wild","will",
14801"win","window","wine","wing","wink","winner","winter","wire","wisdom","wise",
14802"wish","witness","wolf","woman","wonder","wood","wool","word","work","world",
14803"worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year",
14804"yellow","you","young","youth","zebra","zero","zone","zoo"]
0515eeec
IC
14805</script>
14806 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
14807WORDLISTS["japanese"] = [
14808"あいこくしん", "あいさつ", "あいだ", "あおぞら", "あかちゃん", "あきる", "あけがた", "あける", "あこがれる", "あさい",
14809"あさひ", "あしあと", "あじわう", "あずかる", "あずき", "あそぶ", "あたえる", "あたためる", "あたりまえ", "あたる",
14810"あつい", "あつかう", "あっしゅく", "あつまり", "あつめる", "あてな", "あてはまる", "あひる", "あぶら", "あぶる",
14811"あふれる", "あまい", "あまど", "あまやかす", "あまり", "あみもの", "あめりか", "あやまる", "あゆむ", "あらいぐま",
14812"あらし", "あらすじ", "あらためる", "あらゆる", "あらわす", "ありがとう", "あわせる", "あわてる", "あんい", "あんがい",
14813"あんこ", "あんぜん", "あんてい", "あんない", "あんまり", "いいだす", "いおん", "いがい", "いがく", "いきおい",
14814"いきなり", "いきもの", "いきる", "いくじ", "いくぶん", "いけばな", "いけん", "いこう", "いこく", "いこつ",
14815"いさましい", "いさん", "いしき", "いじゅう", "いじょう", "いじわる", "いずみ", "いずれ", "いせい", "いせえび",
14816"いせかい", "いせき", "いぜん", "いそうろう", "いそがしい", "いだい", "いだく", "いたずら", "いたみ", "いたりあ",
14817"いちおう", "いちじ", "いちど", "いちば", "いちぶ", "いちりゅう", "いつか", "いっしゅん", "いっせい", "いっそう",
14818"いったん", "いっち", "いってい", "いっぽう", "いてざ", "いてん", "いどう", "いとこ", "いない", "いなか",
14819"いねむり", "いのち", "いのる", "いはつ", "いばる", "いはん", "いびき", "いひん", "いふく", "いへん",
14820"いほう", "いみん", "いもうと", "いもたれ", "いもり", "いやがる", "いやす", "いよかん", "いよく", "いらい",
14821"いらすと", "いりぐち", "いりょう", "いれい", "いれもの", "いれる", "いろえんぴつ", "いわい", "いわう", "いわかん",
14822"いわば", "いわゆる", "いんげんまめ", "いんさつ", "いんしょう", "いんよう", "うえき", "うえる", "うおざ", "うがい",
14823"うかぶ", "うかべる", "うきわ", "うくらいな", "うくれれ", "うけたまわる", "うけつけ", "うけとる", "うけもつ", "うける",
14824"うごかす", "うごく", "うこん", "うさぎ", "うしなう", "うしろがみ", "うすい", "うすぎ", "うすぐらい", "うすめる",
14825"うせつ", "うちあわせ", "うちがわ", "うちき", "うちゅう", "うっかり", "うつくしい", "うったえる", "うつる", "うどん",
14826"うなぎ", "うなじ", "うなずく", "うなる", "うねる", "うのう", "うぶげ", "うぶごえ", "うまれる", "うめる",
14827"うもう", "うやまう", "うよく", "うらがえす", "うらぐち", "うらない", "うりあげ", "うりきれ", "うるさい", "うれしい",
14828"うれゆき", "うれる", "うろこ", "うわき", "うわさ", "うんこう", "うんちん", "うんてん", "うんどう", "えいえん",
14829"えいが", "えいきょう", "えいご", "えいせい", "えいぶん", "えいよう", "えいわ", "えおり", "えがお", "えがく",
14830"えきたい", "えくせる", "えしゃく", "えすて", "えつらん", "えのぐ", "えほうまき", "えほん", "えまき", "えもじ",
14831"えもの", "えらい", "えらぶ", "えりあ", "えんえん", "えんかい", "えんぎ", "えんげき", "えんしゅう", "えんぜつ",
14832"えんそく", "えんちょう", "えんとつ", "おいかける", "おいこす", "おいしい", "おいつく", "おうえん", "おうさま", "おうじ",
14833"おうせつ", "おうたい", "おうふく", "おうべい", "おうよう", "おえる", "おおい", "おおう", "おおどおり", "おおや",
14834"おおよそ", "おかえり", "おかず", "おがむ", "おかわり", "おぎなう", "おきる", "おくさま", "おくじょう", "おくりがな",
14835"おくる", "おくれる", "おこす", "おこなう", "おこる", "おさえる", "おさない", "おさめる", "おしいれ", "おしえる",
14836"おじぎ", "おじさん", "おしゃれ", "おそらく", "おそわる", "おたがい", "おたく", "おだやか", "おちつく", "おっと",
14837"おつり", "おでかけ", "おとしもの", "おとなしい", "おどり", "おどろかす", "おばさん", "おまいり", "おめでとう", "おもいで",
14838"おもう", "おもたい", "おもちゃ", "おやつ", "おやゆび", "およぼす", "おらんだ", "おろす", "おんがく", "おんけい",
14839"おんしゃ", "おんせん", "おんだん", "おんちゅう", "おんどけい", "かあつ", "かいが", "がいき", "がいけん", "がいこう",
14840"かいさつ", "かいしゃ", "かいすいよく", "かいぜん", "かいぞうど", "かいつう", "かいてん", "かいとう", "かいふく", "がいへき",
14841"かいほう", "かいよう", "がいらい", "かいわ", "かえる", "かおり", "かかえる", "かがく", "かがし", "かがみ",
14842"かくご", "かくとく", "かざる", "がぞう", "かたい", "かたち", "がちょう", "がっきゅう", "がっこう", "がっさん",
14843"がっしょう", "かなざわし", "かのう", "がはく", "かぶか", "かほう", "かほご", "かまう", "かまぼこ", "かめれおん",
14844"かゆい", "かようび", "からい", "かるい", "かろう", "かわく", "かわら", "がんか", "かんけい", "かんこう",
14845"かんしゃ", "かんそう", "かんたん", "かんち", "がんばる", "きあい", "きあつ", "きいろ", "ぎいん", "きうい",
14846"きうん", "きえる", "きおう", "きおく", "きおち", "きおん", "きかい", "きかく", "きかんしゃ", "ききて",
14847"きくばり", "きくらげ", "きけんせい", "きこう", "きこえる", "きこく", "きさい", "きさく", "きさま", "きさらぎ",
14848"ぎじかがく", "ぎしき", "ぎじたいけん", "ぎじにってい", "ぎじゅつしゃ", "きすう", "きせい", "きせき", "きせつ", "きそう",
14849"きぞく", "きぞん", "きたえる", "きちょう", "きつえん", "ぎっちり", "きつつき", "きつね", "きてい", "きどう",
14850"きどく", "きない", "きなが", "きなこ", "きぬごし", "きねん", "きのう", "きのした", "きはく", "きびしい",
14851"きひん", "きふく", "きぶん", "きぼう", "きほん", "きまる", "きみつ", "きむずかしい", "きめる", "きもだめし",
14852"きもち", "きもの", "きゃく", "きやく", "ぎゅうにく", "きよう", "きょうりゅう", "きらい", "きらく", "きりん",
14853"きれい", "きれつ", "きろく", "ぎろん", "きわめる", "ぎんいろ", "きんかくじ", "きんじょ", "きんようび", "ぐあい",
14854"くいず", "くうかん", "くうき", "くうぐん", "くうこう", "ぐうせい", "くうそう", "ぐうたら", "くうふく", "くうぼ",
14855"くかん", "くきょう", "くげん", "ぐこう", "くさい", "くさき", "くさばな", "くさる", "くしゃみ", "くしょう",
14856"くすのき", "くすりゆび", "くせげ", "くせん", "ぐたいてき", "くださる", "くたびれる", "くちこみ", "くちさき", "くつした",
14857"ぐっすり", "くつろぐ", "くとうてん", "くどく", "くなん", "くねくね", "くのう", "くふう", "くみあわせ", "くみたてる",
14858"くめる", "くやくしょ", "くらす", "くらべる", "くるま", "くれる", "くろう", "くわしい", "ぐんかん", "ぐんしょく",
14859"ぐんたい", "ぐんて", "けあな", "けいかく", "けいけん", "けいこ", "けいさつ", "げいじゅつ", "けいたい", "げいのうじん",
14860"けいれき", "けいろ", "けおとす", "けおりもの", "げきか", "げきげん", "げきだん", "げきちん", "げきとつ", "げきは",
14861"げきやく", "げこう", "げこくじょう", "げざい", "けさき", "げざん", "けしき", "けしごむ", "けしょう", "げすと",
14862"けたば", "けちゃっぷ", "けちらす", "けつあつ", "けつい", "けつえき", "けっこん", "けつじょ", "けっせき", "けってい",
14863"けつまつ", "げつようび", "げつれい", "けつろん", "げどく", "けとばす", "けとる", "けなげ", "けなす", "けなみ",
14864"けぬき", "げねつ", "けねん", "けはい", "げひん", "けぶかい", "げぼく", "けまり", "けみかる", "けむし",
14865"けむり", "けもの", "けらい", "けろけろ", "けわしい", "けんい", "けんえつ", "けんお", "けんか", "げんき",
14866"けんげん", "けんこう", "けんさく", "けんしゅう", "けんすう", "げんそう", "けんちく", "けんてい", "けんとう", "けんない",
14867"けんにん", "げんぶつ", "けんま", "けんみん", "けんめい", "けんらん", "けんり", "こあくま", "こいぬ", "こいびと",
14868"ごうい", "こうえん", "こうおん", "こうかん", "ごうきゅう", "ごうけい", "こうこう", "こうさい", "こうじ", "こうすい",
14869"ごうせい", "こうそく", "こうたい", "こうちゃ", "こうつう", "こうてい", "こうどう", "こうない", "こうはい", "ごうほう",
14870"ごうまん", "こうもく", "こうりつ", "こえる", "こおり", "ごかい", "ごがつ", "ごかん", "こくご", "こくさい",
14871"こくとう", "こくない", "こくはく", "こぐま", "こけい", "こける", "ここのか", "こころ", "こさめ", "こしつ",
14872"こすう", "こせい", "こせき", "こぜん", "こそだて", "こたい", "こたえる", "こたつ", "こちょう", "こっか",
14873"こつこつ", "こつばん", "こつぶ", "こてい", "こてん", "ことがら", "ことし", "ことば", "ことり", "こなごな",
14874"こねこね", "このまま", "このみ", "このよ", "ごはん", "こひつじ", "こふう", "こふん", "こぼれる", "ごまあぶら",
14875"こまかい", "ごますり", "こまつな", "こまる", "こむぎこ", "こもじ", "こもち", "こもの", "こもん", "こやく",
14876"こやま", "こゆう", "こゆび", "こよい", "こよう", "こりる", "これくしょん", "ころっけ", "こわもて", "こわれる",
14877"こんいん", "こんかい", "こんき", "こんしゅう", "こんすい", "こんだて", "こんとん", "こんなん", "こんびに", "こんぽん",
14878"こんまけ", "こんや", "こんれい", "こんわく", "ざいえき", "さいかい", "さいきん", "ざいげん", "ざいこ", "さいしょ",
14879"さいせい", "ざいたく", "ざいちゅう", "さいてき", "ざいりょう", "さうな", "さかいし", "さがす", "さかな", "さかみち",
14880"さがる", "さぎょう", "さくし", "さくひん", "さくら", "さこく", "さこつ", "さずかる", "ざせき", "さたん",
14881"さつえい", "ざつおん", "ざっか", "ざつがく", "さっきょく", "ざっし", "さつじん", "ざっそう", "さつたば", "さつまいも",
14882"さてい", "さといも", "さとう", "さとおや", "さとし", "さとる", "さのう", "さばく", "さびしい", "さべつ",
14883"さほう", "さほど", "さます", "さみしい", "さみだれ", "さむけ", "さめる", "さやえんどう", "さゆう", "さよう",
14884"さよく", "さらだ", "ざるそば", "さわやか", "さわる", "さんいん", "さんか", "さんきゃく", "さんこう", "さんさい",
14885"ざんしょ", "さんすう", "さんせい", "さんそ", "さんち", "さんま", "さんみ", "さんらん", "しあい", "しあげ",
14886"しあさって", "しあわせ", "しいく", "しいん", "しうち", "しえい", "しおけ", "しかい", "しかく", "じかん",
14887"しごと", "しすう", "じだい", "したうけ", "したぎ", "したて", "したみ", "しちょう", "しちりん", "しっかり",
14888"しつじ", "しつもん", "してい", "してき", "してつ", "じてん", "じどう", "しなぎれ", "しなもの", "しなん",
14889"しねま", "しねん", "しのぐ", "しのぶ", "しはい", "しばかり", "しはつ", "しはらい", "しはん", "しひょう",
14890"しふく", "じぶん", "しへい", "しほう", "しほん", "しまう", "しまる", "しみん", "しむける", "じむしょ",
14891"しめい", "しめる", "しもん", "しゃいん", "しゃうん", "しゃおん", "じゃがいも", "しやくしょ", "しゃくほう", "しゃけん",
14892"しゃこ", "しゃざい", "しゃしん", "しゃせん", "しゃそう", "しゃたい", "しゃちょう", "しゃっきん", "じゃま", "しゃりん",
14893"しゃれい", "じゆう", "じゅうしょ", "しゅくはく", "じゅしん", "しゅっせき", "しゅみ", "しゅらば", "じゅんばん", "しょうかい",
14894"しょくたく", "しょっけん", "しょどう", "しょもつ", "しらせる", "しらべる", "しんか", "しんこう", "じんじゃ", "しんせいじ",
14895"しんちく", "しんりん", "すあげ", "すあし", "すあな", "ずあん", "すいえい", "すいか", "すいとう", "ずいぶん",
14896"すいようび", "すうがく", "すうじつ", "すうせん", "すおどり", "すきま", "すくう", "すくない", "すける", "すごい",
14897"すこし", "ずさん", "すずしい", "すすむ", "すすめる", "すっかり", "ずっしり", "ずっと", "すてき", "すてる",
14898"すねる", "すのこ", "すはだ", "すばらしい", "ずひょう", "ずぶぬれ", "すぶり", "すふれ", "すべて", "すべる",
14899"ずほう", "すぼん", "すまい", "すめし", "すもう", "すやき", "すらすら", "するめ", "すれちがう", "すろっと",
14900"すわる", "すんぜん", "すんぽう", "せあぶら", "せいかつ", "せいげん", "せいじ", "せいよう", "せおう", "せかいかん",
14901"せきにん", "せきむ", "せきゆ", "せきらんうん", "せけん", "せこう", "せすじ", "せたい", "せたけ", "せっかく",
14902"せっきゃく", "ぜっく", "せっけん", "せっこつ", "せっさたくま", "せつぞく", "せつだん", "せつでん", "せっぱん", "せつび",
14903"せつぶん", "せつめい", "せつりつ", "せなか", "せのび", "せはば", "せびろ", "せぼね", "せまい", "せまる",
14904"せめる", "せもたれ", "せりふ", "ぜんあく", "せんい", "せんえい", "せんか", "せんきょ", "せんく", "せんげん",
14905"ぜんご", "せんさい", "せんしゅ", "せんすい", "せんせい", "せんぞ", "せんたく", "せんちょう", "せんてい", "せんとう",
14906"せんぬき", "せんねん", "せんぱい", "ぜんぶ", "ぜんぽう", "せんむ", "せんめんじょ", "せんもん", "せんやく", "せんゆう",
14907"せんよう", "ぜんら", "ぜんりゃく", "せんれい", "せんろ", "そあく", "そいとげる", "そいね", "そうがんきょう", "そうき",
14908"そうご", "そうしん", "そうだん", "そうなん", "そうび", "そうめん", "そうり", "そえもの", "そえん", "そがい",
14909"そげき", "そこう", "そこそこ", "そざい", "そしな", "そせい", "そせん", "そそぐ", "そだてる", "そつう",
14910"そつえん", "そっかん", "そつぎょう", "そっけつ", "そっこう", "そっせん", "そっと", "そとがわ", "そとづら", "そなえる",
14911"そなた", "そふぼ", "そぼく", "そぼろ", "そまつ", "そまる", "そむく", "そむりえ", "そめる", "そもそも",
14912"そよかぜ", "そらまめ", "そろう", "そんかい", "そんけい", "そんざい", "そんしつ", "そんぞく", "そんちょう", "ぞんび",
14913"ぞんぶん", "そんみん", "たあい", "たいいん", "たいうん", "たいえき", "たいおう", "だいがく", "たいき", "たいぐう",
14914"たいけん", "たいこ", "たいざい", "だいじょうぶ", "だいすき", "たいせつ", "たいそう", "だいたい", "たいちょう", "たいてい",
14915"だいどころ", "たいない", "たいねつ", "たいのう", "たいはん", "だいひょう", "たいふう", "たいへん", "たいほ", "たいまつばな",
14916"たいみんぐ", "たいむ", "たいめん", "たいやき", "たいよう", "たいら", "たいりょく", "たいる", "たいわん", "たうえ",
14917"たえる", "たおす", "たおる", "たおれる", "たかい", "たかね", "たきび", "たくさん", "たこく", "たこやき",
14918"たさい", "たしざん", "だじゃれ", "たすける", "たずさわる", "たそがれ", "たたかう", "たたく", "ただしい", "たたみ",
14919"たちばな", "だっかい", "だっきゃく", "だっこ", "だっしゅつ", "だったい", "たてる", "たとえる", "たなばた", "たにん",
14920"たぬき", "たのしみ", "たはつ", "たぶん", "たべる", "たぼう", "たまご", "たまる", "だむる", "ためいき",
14921"ためす", "ためる", "たもつ", "たやすい", "たよる", "たらす", "たりきほんがん", "たりょう", "たりる", "たると",
14922"たれる", "たれんと", "たろっと", "たわむれる", "だんあつ", "たんい", "たんおん", "たんか", "たんき", "たんけん",
14923"たんご", "たんさん", "たんじょうび", "だんせい", "たんそく", "たんたい", "だんち", "たんてい", "たんとう", "だんな",
14924"たんにん", "だんねつ", "たんのう", "たんぴん", "だんぼう", "たんまつ", "たんめい", "だんれつ", "だんろ", "だんわ",
14925"ちあい", "ちあん", "ちいき", "ちいさい", "ちえん", "ちかい", "ちから", "ちきゅう", "ちきん", "ちけいず",
14926"ちけん", "ちこく", "ちさい", "ちしき", "ちしりょう", "ちせい", "ちそう", "ちたい", "ちたん", "ちちおや",
14927"ちつじょ", "ちてき", "ちてん", "ちぬき", "ちぬり", "ちのう", "ちひょう", "ちへいせん", "ちほう", "ちまた",
14928"ちみつ", "ちみどろ", "ちめいど", "ちゃんこなべ", "ちゅうい", "ちゆりょく", "ちょうし", "ちょさくけん", "ちらし", "ちらみ",
14929"ちりがみ", "ちりょう", "ちるど", "ちわわ", "ちんたい", "ちんもく", "ついか", "ついたち", "つうか", "つうじょう",
14930"つうはん", "つうわ", "つかう", "つかれる", "つくね", "つくる", "つけね", "つける", "つごう", "つたえる",
14931"つづく", "つつじ", "つつむ", "つとめる", "つながる", "つなみ", "つねづね", "つのる", "つぶす", "つまらない",
14932"つまる", "つみき", "つめたい", "つもり", "つもる", "つよい", "つるぼ", "つるみく", "つわもの", "つわり",
14933"てあし", "てあて", "てあみ", "ていおん", "ていか", "ていき", "ていけい", "ていこく", "ていさつ", "ていし",
14934"ていせい", "ていたい", "ていど", "ていねい", "ていひょう", "ていへん", "ていぼう", "てうち", "ておくれ", "てきとう",
14935"てくび", "でこぼこ", "てさぎょう", "てさげ", "てすり", "てそう", "てちがい", "てちょう", "てつがく", "てつづき",
14936"でっぱ", "てつぼう", "てつや", "でぬかえ", "てぬき", "てぬぐい", "てのひら", "てはい", "てぶくろ", "てふだ",
14937"てほどき", "てほん", "てまえ", "てまきずし", "てみじか", "てみやげ", "てらす", "てれび", "てわけ", "てわたし",
14938"でんあつ", "てんいん", "てんかい", "てんき", "てんぐ", "てんけん", "てんごく", "てんさい", "てんし", "てんすう",
14939"でんち", "てんてき", "てんとう", "てんない", "てんぷら", "てんぼうだい", "てんめつ", "てんらんかい", "でんりょく", "でんわ",
14940"どあい", "といれ", "どうかん", "とうきゅう", "どうぐ", "とうし", "とうむぎ", "とおい", "とおか", "とおく",
14941"とおす", "とおる", "とかい", "とかす", "ときおり", "ときどき", "とくい", "とくしゅう", "とくてん", "とくに",
14942"とくべつ", "とけい", "とける", "とこや", "とさか", "としょかん", "とそう", "とたん", "とちゅう", "とっきゅう",
14943"とっくん", "とつぜん", "とつにゅう", "とどける", "ととのえる", "とない", "となえる", "となり", "とのさま", "とばす",
14944"どぶがわ", "とほう", "とまる", "とめる", "ともだち", "ともる", "どようび", "とらえる", "とんかつ", "どんぶり",
14945"ないかく", "ないこう", "ないしょ", "ないす", "ないせん", "ないそう", "なおす", "ながい", "なくす", "なげる",
14946"なこうど", "なさけ", "なたでここ", "なっとう", "なつやすみ", "ななおし", "なにごと", "なにもの", "なにわ", "なのか",
14947"なふだ", "なまいき", "なまえ", "なまみ", "なみだ", "なめらか", "なめる", "なやむ", "ならう", "ならび",
14948"ならぶ", "なれる", "なわとび", "なわばり", "にあう", "にいがた", "にうけ", "におい", "にかい", "にがて",
14949"にきび", "にくしみ", "にくまん", "にげる", "にさんかたんそ", "にしき", "にせもの", "にちじょう", "にちようび", "にっか",
14950"にっき", "にっけい", "にっこう", "にっさん", "にっしょく", "にっすう", "にっせき", "にってい", "になう", "にほん",
14951"にまめ", "にもつ", "にやり", "にゅういん", "にりんしゃ", "にわとり", "にんい", "にんか", "にんき", "にんげん",
14952"にんしき", "にんずう", "にんそう", "にんたい", "にんち", "にんてい", "にんにく", "にんぷ", "にんまり", "にんむ",
14953"にんめい", "にんよう", "ぬいくぎ", "ぬかす", "ぬぐいとる", "ぬぐう", "ぬくもり", "ぬすむ", "ぬまえび", "ぬめり",
14954"ぬらす", "ぬんちゃく", "ねあげ", "ねいき", "ねいる", "ねいろ", "ねぐせ", "ねくたい", "ねくら", "ねこぜ",
14955"ねこむ", "ねさげ", "ねすごす", "ねそべる", "ねだん", "ねつい", "ねっしん", "ねつぞう", "ねったいぎょ", "ねぶそく",
14956"ねふだ", "ねぼう", "ねほりはほり", "ねまき", "ねまわし", "ねみみ", "ねむい", "ねむたい", "ねもと", "ねらう",
14957"ねわざ", "ねんいり", "ねんおし", "ねんかん", "ねんきん", "ねんぐ", "ねんざ", "ねんし", "ねんちゃく", "ねんど",
14958"ねんぴ", "ねんぶつ", "ねんまつ", "ねんりょう", "ねんれい", "のいず", "のおづま", "のがす", "のきなみ", "のこぎり",
14959"のこす", "のこる", "のせる", "のぞく", "のぞむ", "のたまう", "のちほど", "のっく", "のばす", "のはら",
14960"のべる", "のぼる", "のみもの", "のやま", "のらいぬ", "のらねこ", "のりもの", "のりゆき", "のれん", "のんき",
14961"ばあい", "はあく", "ばあさん", "ばいか", "ばいく", "はいけん", "はいご", "はいしん", "はいすい", "はいせん",
14962"はいそう", "はいち", "ばいばい", "はいれつ", "はえる", "はおる", "はかい", "ばかり", "はかる", "はくしゅ",
14963"はけん", "はこぶ", "はさみ", "はさん", "はしご", "ばしょ", "はしる", "はせる", "ぱそこん", "はそん",
14964"はたん", "はちみつ", "はつおん", "はっかく", "はづき", "はっきり", "はっくつ", "はっけん", "はっこう", "はっさん",
14965"はっしん", "はったつ", "はっちゅう", "はってん", "はっぴょう", "はっぽう", "はなす", "はなび", "はにかむ", "はぶらし",
14966"はみがき", "はむかう", "はめつ", "はやい", "はやし", "はらう", "はろうぃん", "はわい", "はんい", "はんえい",
14967"はんおん", "はんかく", "はんきょう", "ばんぐみ", "はんこ", "はんしゃ", "はんすう", "はんだん", "ぱんち", "ぱんつ",
14968"はんてい", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい", "はんらん", "はんろん",
14969"ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかる", "ひかん", "ひくい", "ひけつ", "ひこうき",
14970"ひこく", "ひさい", "ひさしぶり", "ひさん", "びじゅつかん", "ひしょ", "ひそか", "ひそむ", "ひたむき", "ひだり",
14971"ひたる", "ひつぎ", "ひっこし", "ひっし", "ひつじゅひん", "ひっす", "ひつぜん", "ぴったり", "ぴっちり", "ひつよう",
14972"ひてい", "ひとごみ", "ひなまつり", "ひなん", "ひねる", "ひはん", "ひびく", "ひひょう", "ひほう", "ひまわり",
14973"ひまん", "ひみつ", "ひめい", "ひめじし", "ひやけ", "ひやす", "ひよう", "びょうき", "ひらがな", "ひらく",
14974"ひりつ", "ひりょう", "ひるま", "ひるやすみ", "ひれい", "ひろい", "ひろう", "ひろき", "ひろゆき", "ひんかく",
14975"ひんけつ", "ひんこん", "ひんしゅ", "ひんそう", "ぴんち", "ひんぱん", "びんぼう", "ふあん", "ふいうち", "ふうけい",
14976"ふうせん", "ぷうたろう", "ふうとう", "ふうふ", "ふえる", "ふおん", "ふかい", "ふきん", "ふくざつ", "ふくぶくろ",
14977"ふこう", "ふさい", "ふしぎ", "ふじみ", "ふすま", "ふせい", "ふせぐ", "ふそく", "ぶたにく", "ふたん",
14978"ふちょう", "ふつう", "ふつか", "ふっかつ", "ふっき", "ふっこく", "ぶどう", "ふとる", "ふとん", "ふのう",
14979"ふはい", "ふひょう", "ふへん", "ふまん", "ふみん", "ふめつ", "ふめん", "ふよう", "ふりこ", "ふりる",
14980"ふるい", "ふんいき", "ぶんがく", "ぶんぐ", "ふんしつ", "ぶんせき", "ふんそう", "ぶんぽう", "へいあん", "へいおん",
14981"へいがい", "へいき", "へいげん", "へいこう", "へいさ", "へいしゃ", "へいせつ", "へいそ", "へいたく", "へいてん",
14982"へいねつ", "へいわ", "へきが", "へこむ", "べにいろ", "べにしょうが", "へらす", "へんかん", "べんきょう", "べんごし",
14983"へんさい", "へんたい", "べんり", "ほあん", "ほいく", "ぼうぎょ", "ほうこく", "ほうそう", "ほうほう", "ほうもん",
14984"ほうりつ", "ほえる", "ほおん", "ほかん", "ほきょう", "ぼきん", "ほくろ", "ほけつ", "ほけん", "ほこう",
14985"ほこる", "ほしい", "ほしつ", "ほしゅ", "ほしょう", "ほせい", "ほそい", "ほそく", "ほたて", "ほたる",
14986"ぽちぶくろ", "ほっきょく", "ほっさ", "ほったん", "ほとんど", "ほめる", "ほんい", "ほんき", "ほんけ", "ほんしつ",
14987"ほんやく", "まいにち", "まかい", "まかせる", "まがる", "まける", "まこと", "まさつ", "まじめ", "ますく",
14988"まぜる", "まつり", "まとめ", "まなぶ", "まぬけ", "まねく", "まほう", "まもる", "まゆげ", "まよう",
14989"まろやか", "まわす", "まわり", "まわる", "まんが", "まんきつ", "まんぞく", "まんなか", "みいら", "みうち",
14990"みえる", "みがく", "みかた", "みかん", "みけん", "みこん", "みじかい", "みすい", "みすえる", "みせる",
14991"みっか", "みつかる", "みつける", "みてい", "みとめる", "みなと", "みなみかさい", "みねらる", "みのう", "みのがす",
14992"みほん", "みもと", "みやげ", "みらい", "みりょく", "みわく", "みんか", "みんぞく", "むいか", "むえき",
14993"むえん", "むかい", "むかう", "むかえ", "むかし", "むぎちゃ", "むける", "むげん", "むさぼる", "むしあつい",
14994"むしば", "むじゅん", "むしろ", "むすう", "むすこ", "むすぶ", "むすめ", "むせる", "むせん", "むちゅう",
14995"むなしい", "むのう", "むやみ", "むよう", "むらさき", "むりょう", "むろん", "めいあん", "めいうん", "めいえん",
14996"めいかく", "めいきょく", "めいさい", "めいし", "めいそう", "めいぶつ", "めいれい", "めいわく", "めぐまれる", "めざす",
14997"めした", "めずらしい", "めだつ", "めまい", "めやす", "めんきょ", "めんせき", "めんどう", "もうしあげる", "もうどうけん",
14998"もえる", "もくし", "もくてき", "もくようび", "もちろん", "もどる", "もらう", "もんく", "もんだい", "やおや",
14999"やける", "やさい", "やさしい", "やすい", "やすたろう", "やすみ", "やせる", "やそう", "やたい", "やちん",
15000"やっと", "やっぱり", "やぶる", "やめる", "ややこしい", "やよい", "やわらかい", "ゆうき", "ゆうびんきょく", "ゆうべ",
15001"ゆうめい", "ゆけつ", "ゆしゅつ", "ゆせん", "ゆそう", "ゆたか", "ゆちゃく", "ゆでる", "ゆにゅう", "ゆびわ",
15002"ゆらい", "ゆれる", "ようい", "ようか", "ようきゅう", "ようじ", "ようす", "ようちえん", "よかぜ", "よかん",
15003"よきん", "よくせい", "よくぼう", "よけい", "よごれる", "よさん", "よしゅう", "よそう", "よそく", "よっか",
15004"よてい", "よどがわく", "よねつ", "よやく", "よゆう", "よろこぶ", "よろしい", "らいう", "らくがき", "らくご",
15005"らくさつ", "らくだ", "らしんばん", "らせん", "らぞく", "らたい", "らっか", "られつ", "りえき", "りかい",
15006"りきさく", "りきせつ", "りくぐん", "りくつ", "りけん", "りこう", "りせい", "りそう", "りそく", "りてん",
15007"りねん", "りゆう", "りゅうがく", "りよう", "りょうり", "りょかん", "りょくちゃ", "りょこう", "りりく", "りれき",
15008"りろん", "りんご", "るいけい", "るいさい", "るいじ", "るいせき", "るすばん", "るりがわら", "れいかん", "れいぎ",
15009"れいせい", "れいぞうこ", "れいとう", "れいぼう", "れきし", "れきだい", "れんあい", "れんけい", "れんこん", "れんさい",
15010"れんしゅう", "れんぞく", "れんらく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろくが", "ろこつ", "ろじうら",
15011"ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わかす",
15012"わかめ", "わかやま", "わかれる", "わしつ", "わじまし", "わすれもの", "わらう", "われる"]
15013</script>
15014 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15015WORDLISTS["spanish"] = [
15016"ábaco", "abdomen", "abeja", "abierto", "abogado", "abono", "aborto", "abrazo", "abrir", "abuelo",
15017"abuso", "acabar", "academia", "acceso", "acción", "aceite", "acelga", "acento", "aceptar", "ácido",
15018"aclarar", "acné", "acoger", "acoso", "activo", "acto", "actriz", "actuar", "acudir", "acuerdo",
15019"acusar", "adicto", "admitir", "adoptar", "adorno", "aduana", "adulto", "aéreo", "afectar", "afición",
15020"afinar", "afirmar", "ágil", "agitar", "agonía", "agosto", "agotar", "agregar", "agrio", "agua",
15021"agudo", "águila", "aguja", "ahogo", "ahorro", "aire", "aislar", "ajedrez", "ajeno", "ajuste",
15022"alacrán", "alambre", "alarma", "alba", "álbum", "alcalde", "aldea", "alegre", "alejar", "alerta",
15023"aleta", "alfiler", "alga", "algodón", "aliado", "aliento", "alivio", "alma", "almeja", "almíbar",
15024"altar", "alteza", "altivo", "alto", "altura", "alumno", "alzar", "amable", "amante", "amapola",
15025"amargo", "amasar", "ámbar", "ámbito", "ameno", "amigo", "amistad", "amor", "amparo", "amplio",
15026"ancho", "anciano", "ancla", "andar", "andén", "anemia", "ángulo", "anillo", "ánimo", "anís",
15027"anotar", "antena", "antiguo", "antojo", "anual", "anular", "anuncio", "añadir", "añejo", "año",
15028"apagar", "aparato", "apetito", "apio", "aplicar", "apodo", "aporte", "apoyo", "aprender", "aprobar",
15029"apuesta", "apuro", "arado", "araña", "arar", "árbitro", "árbol", "arbusto", "archivo", "arco",
15030"arder", "ardilla", "arduo", "área", "árido", "aries", "armonía", "arnés", "aroma", "arpa",
15031"arpón", "arreglo", "arroz", "arruga", "arte", "artista", "asa", "asado", "asalto", "ascenso",
15032"asegurar", "aseo", "asesor", "asiento", "asilo", "asistir", "asno", "asombro", "áspero", "astilla",
15033"astro", "astuto", "asumir", "asunto", "atajo", "ataque", "atar", "atento", "ateo", "ático",
15034"atleta", "átomo", "atraer", "atroz", "atún", "audaz", "audio", "auge", "aula", "aumento",
15035"ausente", "autor", "aval", "avance", "avaro", "ave", "avellana", "avena", "avestruz", "avión",
15036"aviso", "ayer", "ayuda", "ayuno", "azafrán", "azar", "azote", "azúcar", "azufre", "azul",
15037"baba", "babor", "bache", "bahía", "baile", "bajar", "balanza", "balcón", "balde", "bambú",
15038"banco", "banda", "baño", "barba", "barco", "barniz", "barro", "báscula", "bastón", "basura",
15039"batalla", "batería", "batir", "batuta", "baúl", "bazar", "bebé", "bebida", "bello", "besar",
15040"beso", "bestia", "bicho", "bien", "bingo", "blanco", "bloque", "blusa", "boa", "bobina",
15041"bobo", "boca", "bocina", "boda", "bodega", "boina", "bola", "bolero", "bolsa", "bomba",
15042"bondad", "bonito", "bono", "bonsái", "borde", "borrar", "bosque", "bote", "botín", "bóveda",
15043"bozal", "bravo", "brazo", "brecha", "breve", "brillo", "brinco", "brisa", "broca", "broma",
15044"bronce", "brote", "bruja", "brusco", "bruto", "buceo", "bucle", "bueno", "buey", "bufanda",
15045"bufón", "búho", "buitre", "bulto", "burbuja", "burla", "burro", "buscar", "butaca", "buzón",
15046"caballo", "cabeza", "cabina", "cabra", "cacao", "cadáver", "cadena", "caer", "café", "caída",
15047"caimán", "caja", "cajón", "cal", "calamar", "calcio", "caldo", "calidad", "calle", "calma",
15048"calor", "calvo", "cama", "cambio", "camello", "camino", "campo", "cáncer", "candil", "canela",
15049"canguro", "canica", "canto", "caña", "cañón", "caoba", "caos", "capaz", "capitán", "capote",
15050"captar", "capucha", "cara", "carbón", "cárcel", "careta", "carga", "cariño", "carne", "carpeta",
15051"carro", "carta", "casa", "casco", "casero", "caspa", "castor", "catorce", "catre", "caudal",
15052"causa", "cazo", "cebolla", "ceder", "cedro", "celda", "célebre", "celoso", "célula", "cemento",
15053"ceniza", "centro", "cerca", "cerdo", "cereza", "cero", "cerrar", "certeza", "césped", "cetro",
15054"chacal", "chaleco", "champú", "chancla", "chapa", "charla", "chico", "chiste", "chivo", "choque",
15055"choza", "chuleta", "chupar", "ciclón", "ciego", "cielo", "cien", "cierto", "cifra", "cigarro",
15056"cima", "cinco", "cine", "cinta", "ciprés", "circo", "ciruela", "cisne", "cita", "ciudad",
15057"clamor", "clan", "claro", "clase", "clave", "cliente", "clima", "clínica", "cobre", "cocción",
15058"cochino", "cocina", "coco", "código", "codo", "cofre", "coger", "cohete", "cojín", "cojo",
15059"cola", "colcha", "colegio", "colgar", "colina", "collar", "colmo", "columna", "combate", "comer",
15060"comida", "cómodo", "compra", "conde", "conejo", "conga", "conocer", "consejo", "contar", "copa",
15061"copia", "corazón", "corbata", "corcho", "cordón", "corona", "correr", "coser", "cosmos", "costa",
15062"cráneo", "cráter", "crear", "crecer", "creído", "crema", "cría", "crimen", "cripta", "crisis",
15063"cromo", "crónica", "croqueta", "crudo", "cruz", "cuadro", "cuarto", "cuatro", "cubo", "cubrir",
15064"cuchara", "cuello", "cuento", "cuerda", "cuesta", "cueva", "cuidar", "culebra", "culpa", "culto",
15065"cumbre", "cumplir", "cuna", "cuneta", "cuota", "cupón", "cúpula", "curar", "curioso", "curso",
15066"curva", "cutis", "dama", "danza", "dar", "dardo", "dátil", "deber", "débil", "década",
15067"decir", "dedo", "defensa", "definir", "dejar", "delfín", "delgado", "delito", "demora", "denso",
15068"dental", "deporte", "derecho", "derrota", "desayuno", "deseo", "desfile", "desnudo", "destino", "desvío",
15069"detalle", "detener", "deuda", "día", "diablo", "diadema", "diamante", "diana", "diario", "dibujo",
15070"dictar", "diente", "dieta", "diez", "difícil", "digno", "dilema", "diluir", "dinero", "directo",
15071"dirigir", "disco", "diseño", "disfraz", "diva", "divino", "doble", "doce", "dolor", "domingo",
15072"don", "donar", "dorado", "dormir", "dorso", "dos", "dosis", "dragón", "droga", "ducha",
15073"duda", "duelo", "dueño", "dulce", "dúo", "duque", "durar", "dureza", "duro", "ébano",
15074"ebrio", "echar", "eco", "ecuador", "edad", "edición", "edificio", "editor", "educar", "efecto",
15075"eficaz", "eje", "ejemplo", "elefante", "elegir", "elemento", "elevar", "elipse", "élite", "elixir",
15076"elogio", "eludir", "embudo", "emitir", "emoción", "empate", "empeño", "empleo", "empresa", "enano",
15077"encargo", "enchufe", "encía", "enemigo", "enero", "enfado", "enfermo", "engaño", "enigma", "enlace",
15078"enorme", "enredo", "ensayo", "enseñar", "entero", "entrar", "envase", "envío", "época", "equipo",
15079"erizo", "escala", "escena", "escolar", "escribir", "escudo", "esencia", "esfera", "esfuerzo", "espada",
15080"espejo", "espía", "esposa", "espuma", "esquí", "estar", "este", "estilo", "estufa", "etapa",
15081"eterno", "ética", "etnia", "evadir", "evaluar", "evento", "evitar", "exacto", "examen", "exceso",
15082"excusa", "exento", "exigir", "exilio", "existir", "éxito", "experto", "explicar", "exponer", "extremo",
15083"fábrica", "fábula", "fachada", "fácil", "factor", "faena", "faja", "falda", "fallo", "falso",
15084"faltar", "fama", "familia", "famoso", "faraón", "farmacia", "farol", "farsa", "fase", "fatiga",
15085"fauna", "favor", "fax", "febrero", "fecha", "feliz", "feo", "feria", "feroz", "fértil",
15086"fervor", "festín", "fiable", "fianza", "fiar", "fibra", "ficción", "ficha", "fideo", "fiebre",
15087"fiel", "fiera", "fiesta", "figura", "fijar", "fijo", "fila", "filete", "filial", "filtro",
15088"fin", "finca", "fingir", "finito", "firma", "flaco", "flauta", "flecha", "flor", "flota",
15089"fluir", "flujo", "flúor", "fobia", "foca", "fogata", "fogón", "folio", "folleto", "fondo",
15090"forma", "forro", "fortuna", "forzar", "fosa", "foto", "fracaso", "frágil", "franja", "frase",
15091"fraude", "freír", "freno", "fresa", "frío", "frito", "fruta", "fuego", "fuente", "fuerza",
15092"fuga", "fumar", "función", "funda", "furgón", "furia", "fusil", "fútbol", "futuro", "gacela",
15093"gafas", "gaita", "gajo", "gala", "galería", "gallo", "gamba", "ganar", "gancho", "ganga",
15094"ganso", "garaje", "garza", "gasolina", "gastar", "gato", "gavilán", "gemelo", "gemir", "gen",
15095"género", "genio", "gente", "geranio", "gerente", "germen", "gesto", "gigante", "gimnasio", "girar",
15096"giro", "glaciar", "globo", "gloria", "gol", "golfo", "goloso", "golpe", "goma", "gordo",
15097"gorila", "gorra", "gota", "goteo", "gozar", "grada", "gráfico", "grano", "grasa", "gratis",
15098"grave", "grieta", "grillo", "gripe", "gris", "grito", "grosor", "grúa", "grueso", "grumo",
15099"grupo", "guante", "guapo", "guardia", "guerra", "guía", "guiño", "guion", "guiso", "guitarra",
15100"gusano", "gustar", "haber", "hábil", "hablar", "hacer", "hacha", "hada", "hallar", "hamaca",
15101"harina", "haz", "hazaña", "hebilla", "hebra", "hecho", "helado", "helio", "hembra", "herir",
15102"hermano", "héroe", "hervir", "hielo", "hierro", "hígado", "higiene", "hijo", "himno", "historia",
15103"hocico", "hogar", "hoguera", "hoja", "hombre", "hongo", "honor", "honra", "hora", "hormiga",
15104"horno", "hostil", "hoyo", "hueco", "huelga", "huerta", "hueso", "huevo", "huida", "huir",
15105"humano", "húmedo", "humilde", "humo", "hundir", "huracán", "hurto", "icono", "ideal", "idioma",
15106"ídolo", "iglesia", "iglú", "igual", "ilegal", "ilusión", "imagen", "imán", "imitar", "impar",
15107"imperio", "imponer", "impulso", "incapaz", "índice", "inerte", "infiel", "informe", "ingenio", "inicio",
15108"inmenso", "inmune", "innato", "insecto", "instante", "interés", "íntimo", "intuir", "inútil", "invierno",
15109"ira", "iris", "ironía", "isla", "islote", "jabalí", "jabón", "jamón", "jarabe", "jardín",
15110"jarra", "jaula", "jazmín", "jefe", "jeringa", "jinete", "jornada", "joroba", "joven", "joya",
15111"juerga", "jueves", "juez", "jugador", "jugo", "juguete", "juicio", "junco", "jungla", "junio",
15112"juntar", "júpiter", "jurar", "justo", "juvenil", "juzgar", "kilo", "koala", "labio", "lacio",
15113"lacra", "lado", "ladrón", "lagarto", "lágrima", "laguna", "laico", "lamer", "lámina", "lámpara",
15114"lana", "lancha", "langosta", "lanza", "lápiz", "largo", "larva", "lástima", "lata", "látex",
15115"latir", "laurel", "lavar", "lazo", "leal", "lección", "leche", "lector", "leer", "legión",
15116"legumbre", "lejano", "lengua", "lento", "leña", "león", "leopardo", "lesión", "letal", "letra",
15117"leve", "leyenda", "libertad", "libro", "licor", "líder", "lidiar", "lienzo", "liga", "ligero",
15118"lima", "límite", "limón", "limpio", "lince", "lindo", "línea", "lingote", "lino", "linterna",
15119"líquido", "liso", "lista", "litera", "litio", "litro", "llaga", "llama", "llanto", "llave",
15120"llegar", "llenar", "llevar", "llorar", "llover", "lluvia", "lobo", "loción", "loco", "locura",
15121"lógica", "logro", "lombriz", "lomo", "lonja", "lote", "lucha", "lucir", "lugar", "lujo",
15122"luna", "lunes", "lupa", "lustro", "luto", "luz", "maceta", "macho", "madera", "madre",
15123"maduro", "maestro", "mafia", "magia", "mago", "maíz", "maldad", "maleta", "malla", "malo",
15124"mamá", "mambo", "mamut", "manco", "mando", "manejar", "manga", "maniquí", "manjar", "mano",
15125"manso", "manta", "mañana", "mapa", "máquina", "mar", "marco", "marea", "marfil", "margen",
15126"marido", "mármol", "marrón", "martes", "marzo", "masa", "máscara", "masivo", "matar", "materia",
15127"matiz", "matriz", "máximo", "mayor", "mazorca", "mecha", "medalla", "medio", "médula", "mejilla",
15128"mejor", "melena", "melón", "memoria", "menor", "mensaje", "mente", "menú", "mercado", "merengue",
15129"mérito", "mes", "mesón", "meta", "meter", "método", "metro", "mezcla", "miedo", "miel",
15130"miembro", "miga", "mil", "milagro", "militar", "millón", "mimo", "mina", "minero", "mínimo",
15131"minuto", "miope", "mirar", "misa", "miseria", "misil", "mismo", "mitad", "mito", "mochila",
15132"moción", "moda", "modelo", "moho", "mojar", "molde", "moler", "molino", "momento", "momia",
15133"monarca", "moneda", "monja", "monto", "moño", "morada", "morder", "moreno", "morir", "morro",
15134"morsa", "mortal", "mosca", "mostrar", "motivo", "mover", "móvil", "mozo", "mucho", "mudar",
15135"mueble", "muela", "muerte", "muestra", "mugre", "mujer", "mula", "muleta", "multa", "mundo",
15136"muñeca", "mural", "muro", "músculo", "museo", "musgo", "música", "muslo", "nácar", "nación",
15137"nadar", "naipe", "naranja", "nariz", "narrar", "nasal", "natal", "nativo", "natural", "náusea",
15138"naval", "nave", "navidad", "necio", "néctar", "negar", "negocio", "negro", "neón", "nervio",
15139"neto", "neutro", "nevar", "nevera", "nicho", "nido", "niebla", "nieto", "niñez", "niño",
15140"nítido", "nivel", "nobleza", "noche", "nómina", "noria", "norma", "norte", "nota", "noticia",
15141"novato", "novela", "novio", "nube", "nuca", "núcleo", "nudillo", "nudo", "nuera", "nueve",
15142"nuez", "nulo", "número", "nutria", "oasis", "obeso", "obispo", "objeto", "obra", "obrero",
15143"observar", "obtener", "obvio", "oca", "ocaso", "océano", "ochenta", "ocho", "ocio", "ocre",
15144"octavo", "octubre", "oculto", "ocupar", "ocurrir", "odiar", "odio", "odisea", "oeste", "ofensa",
15145"oferta", "oficio", "ofrecer", "ogro", "oído", "oír", "ojo", "ola", "oleada", "olfato",
15146"olivo", "olla", "olmo", "olor", "olvido", "ombligo", "onda", "onza", "opaco", "opción",
15147"ópera", "opinar", "oponer", "optar", "óptica", "opuesto", "oración", "orador", "oral", "órbita",
15148"orca", "orden", "oreja", "órgano", "orgía", "orgullo", "oriente", "origen", "orilla", "oro",
15149"orquesta", "oruga", "osadía", "oscuro", "osezno", "oso", "ostra", "otoño", "otro", "oveja",
15150"óvulo", "óxido", "oxígeno", "oyente", "ozono", "pacto", "padre", "paella", "página", "pago",
15151"país", "pájaro", "palabra", "palco", "paleta", "pálido", "palma", "paloma", "palpar", "pan",
15152"panal", "pánico", "pantera", "pañuelo", "papá", "papel", "papilla", "paquete", "parar", "parcela",
15153"pared", "parir", "paro", "párpado", "parque", "párrafo", "parte", "pasar", "paseo", "pasión",
15154"paso", "pasta", "pata", "patio", "patria", "pausa", "pauta", "pavo", "payaso", "peatón",
15155"pecado", "pecera", "pecho", "pedal", "pedir", "pegar", "peine", "pelar", "peldaño", "pelea",
15156"peligro", "pellejo", "pelo", "peluca", "pena", "pensar", "peñón", "peón", "peor", "pepino",
15157"pequeño", "pera", "percha", "perder", "pereza", "perfil", "perico", "perla", "permiso", "perro",
15158"persona", "pesa", "pesca", "pésimo", "pestaña", "pétalo", "petróleo", "pez", "pezuña", "picar",
15159"pichón", "pie", "piedra", "pierna", "pieza", "pijama", "pilar", "piloto", "pimienta", "pino",
15160"pintor", "pinza", "piña", "piojo", "pipa", "pirata", "pisar", "piscina", "piso", "pista",
15161"pitón", "pizca", "placa", "plan", "plata", "playa", "plaza", "pleito", "pleno", "plomo",
15162"pluma", "plural", "pobre", "poco", "poder", "podio", "poema", "poesía", "poeta", "polen",
15163"policía", "pollo", "polvo", "pomada", "pomelo", "pomo", "pompa", "poner", "porción", "portal",
15164"posada", "poseer", "posible", "poste", "potencia", "potro", "pozo", "prado", "precoz", "pregunta",
15165"premio", "prensa", "preso", "previo", "primo", "príncipe", "prisión", "privar", "proa", "probar",
15166"proceso", "producto", "proeza", "profesor", "programa", "prole", "promesa", "pronto", "propio", "próximo",
15167"prueba", "público", "puchero", "pudor", "pueblo", "puerta", "puesto", "pulga", "pulir", "pulmón",
15168"pulpo", "pulso", "puma", "punto", "puñal", "puño", "pupa", "pupila", "puré", "quedar",
15169"queja", "quemar", "querer", "queso", "quieto", "química", "quince", "quitar", "rábano", "rabia",
15170"rabo", "ración", "radical", "raíz", "rama", "rampa", "rancho", "rango", "rapaz", "rápido",
15171"rapto", "rasgo", "raspa", "rato", "rayo", "raza", "razón", "reacción", "realidad", "rebaño",
15172"rebote", "recaer", "receta", "rechazo", "recoger", "recreo", "recto", "recurso", "red", "redondo",
15173"reducir", "reflejo", "reforma", "refrán", "refugio", "regalo", "regir", "regla", "regreso", "rehén",
15174"reino", "reír", "reja", "relato", "relevo", "relieve", "relleno", "reloj", "remar", "remedio",
15175"remo", "rencor", "rendir", "renta", "reparto", "repetir", "reposo", "reptil", "res", "rescate",
15176"resina", "respeto", "resto", "resumen", "retiro", "retorno", "retrato", "reunir", "revés", "revista",
15177"rey", "rezar", "rico", "riego", "rienda", "riesgo", "rifa", "rígido", "rigor", "rincón",
15178"riñón", "río", "riqueza", "risa", "ritmo", "rito", "rizo", "roble", "roce", "rociar",
15179"rodar", "rodeo", "rodilla", "roer", "rojizo", "rojo", "romero", "romper", "ron", "ronco",
15180"ronda", "ropa", "ropero", "rosa", "rosca", "rostro", "rotar", "rubí", "rubor", "rudo",
15181"rueda", "rugir", "ruido", "ruina", "ruleta", "rulo", "rumbo", "rumor", "ruptura", "ruta",
15182"rutina", "sábado", "saber", "sabio", "sable", "sacar", "sagaz", "sagrado", "sala", "saldo",
15183"salero", "salir", "salmón", "salón", "salsa", "salto", "salud", "salvar", "samba", "sanción",
15184"sandía", "sanear", "sangre", "sanidad", "sano", "santo", "sapo", "saque", "sardina", "sartén",
15185"sastre", "satán", "sauna", "saxofón", "sección", "seco", "secreto", "secta", "sed", "seguir",
15186"seis", "sello", "selva", "semana", "semilla", "senda", "sensor", "señal", "señor", "separar",
15187"sepia", "sequía", "ser", "serie", "sermón", "servir", "sesenta", "sesión", "seta", "setenta",
15188"severo", "sexo", "sexto", "sidra", "siesta", "siete", "siglo", "signo", "sílaba", "silbar",
15189"silencio", "silla", "símbolo", "simio", "sirena", "sistema", "sitio", "situar", "sobre", "socio",
15190"sodio", "sol", "solapa", "soldado", "soledad", "sólido", "soltar", "solución", "sombra", "sondeo",
15191"sonido", "sonoro", "sonrisa", "sopa", "soplar", "soporte", "sordo", "sorpresa", "sorteo", "sostén",
15192"sótano", "suave", "subir", "suceso", "sudor", "suegra", "suelo", "sueño", "suerte", "sufrir",
15193"sujeto", "sultán", "sumar", "superar", "suplir", "suponer", "supremo", "sur", "surco", "sureño",
15194"surgir", "susto", "sutil", "tabaco", "tabique", "tabla", "tabú", "taco", "tacto", "tajo",
15195"talar", "talco", "talento", "talla", "talón", "tamaño", "tambor", "tango", "tanque", "tapa",
15196"tapete", "tapia", "tapón", "taquilla", "tarde", "tarea", "tarifa", "tarjeta", "tarot", "tarro",
15197"tarta", "tatuaje", "tauro", "taza", "tazón", "teatro", "techo", "tecla", "técnica", "tejado",
15198"tejer", "tejido", "tela", "teléfono", "tema", "temor", "templo", "tenaz", "tender", "tener",
15199"tenis", "tenso", "teoría", "terapia", "terco", "término", "ternura", "terror", "tesis", "tesoro",
15200"testigo", "tetera", "texto", "tez", "tibio", "tiburón", "tiempo", "tienda", "tierra", "tieso",
15201"tigre", "tijera", "tilde", "timbre", "tímido", "timo", "tinta", "tío", "típico", "tipo",
15202"tira", "tirón", "titán", "títere", "título", "tiza", "toalla", "tobillo", "tocar", "tocino",
15203"todo", "toga", "toldo", "tomar", "tono", "tonto", "topar", "tope", "toque", "tórax",
15204"torero", "tormenta", "torneo", "toro", "torpedo", "torre", "torso", "tortuga", "tos", "tosco",
15205"toser", "tóxico", "trabajo", "tractor", "traer", "tráfico", "trago", "traje", "tramo", "trance",
15206"trato", "trauma", "trazar", "trébol", "tregua", "treinta", "tren", "trepar", "tres", "tribu",
15207"trigo", "tripa", "triste", "triunfo", "trofeo", "trompa", "tronco", "tropa", "trote", "trozo",
15208"truco", "trueno", "trufa", "tubería", "tubo", "tuerto", "tumba", "tumor", "túnel", "túnica",
15209"turbina", "turismo", "turno", "tutor", "ubicar", "úlcera", "umbral", "unidad", "unir", "universo",
15210"uno", "untar", "uña", "urbano", "urbe", "urgente", "urna", "usar", "usuario", "útil",
15211"utopía", "uva", "vaca", "vacío", "vacuna", "vagar", "vago", "vaina", "vajilla", "vale",
15212"válido", "valle", "valor", "válvula", "vampiro", "vara", "variar", "varón", "vaso", "vecino",
15213"vector", "vehículo", "veinte", "vejez", "vela", "velero", "veloz", "vena", "vencer", "venda",
15214"veneno", "vengar", "venir", "venta", "venus", "ver", "verano", "verbo", "verde", "vereda",
15215"verja", "verso", "verter", "vía", "viaje", "vibrar", "vicio", "víctima", "vida", "vídeo",
15216"vidrio", "viejo", "viernes", "vigor", "vil", "villa", "vinagre", "vino", "viñedo", "violín",
15217"viral", "virgo", "virtud", "visor", "víspera", "vista", "vitamina", "viudo", "vivaz", "vivero",
15218"vivir", "vivo", "volcán", "volumen", "volver", "voraz", "votar", "voto", "voz", "vuelo",
15219"vulgar", "yacer", "yate", "yegua", "yema", "yerno", "yeso", "yodo", "yoga", "yogur",
15220"zafiro", "zanja", "zapato", "zarza", "zona", "zorro", "zumo", "zurdo"]
15221</script>
15222 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15223WORDLISTS["chinese_simplified"] = [
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"醒", "狂", "锁", "淀", "恨", "牲", "霸", "爬", "赏", "逆",
15386"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鸭",
15387"趋", "凤", "晨", "畜", "辈", "秩", "卵", "署", "梯", "炎",
15388"滩", "棋", "驱", "筛", "峡", "冒", "啥", "寿", "译", "浸",
15389"泉", "帽", "迟", "硅", "疆", "贷", "漏", "稿", "冠", "嫩",
15390"胁", "芯", "牢", "叛", "蚀", "奥", "鸣", "岭", "羊", "凭",
15391"串", "塘", "绘", "酵", "融", "盆", "锡", "庙", "筹", "冻",
15392"辅", "摄", "袭", "筋", "拒", "僚", "旱", "钾", "鸟", "漆",
15393"沈", "眉", "疏", "添", "棒", "穗", "硝", "韩", "逼", "扭",
15394"侨", "凉", "挺", "碗", "栽", "炒", "杯", "患", "馏", "劝",
15395"豪", "辽", "勃", "鸿", "旦", "吏", "拜", "狗", "埋", "辊",
15396"掩", "饮", "搬", "骂", "辞", "勾", "扣", "估", "蒋", "绒",
15397"雾", "丈", "朵", "姆", "拟", "宇", "辑", "陕", "雕", "偿",
15398"蓄", "崇", "剪", "倡", "厅", "咬", "驶", "薯", "刷", "斥",
15399"番", "赋", "奉", "佛", "浇", "漫", "曼", "扇", "钙", "桃",
15400"扶", "仔", "返", "俗", "亏", "腔", "鞋", "棱", "覆", "框",
15401"悄", "叔", "撞", "骗", "勘", "旺", "沸", "孤", "吐", "孟",
15402"渠", "屈", "疾", "妙", "惜", "仰", "狠", "胀", "谐", "抛",
15403"霉", "桑", "岗", "嘛", "衰", "盗", "渗", "脏", "赖", "涌",
15404"甜", "曹", "阅", "肌", "哩", "厉", "烃", "纬", "毅", "昨",
15405"伪", "症", "煮", "叹", "钉", "搭", "茎", "笼", "酷", "偷",
15406"弓", "锥", "恒", "杰", "坑", "鼻", "翼", "纶", "叙", "狱",
15407"逮", "罐", "络", "棚", "抑", "膨", "蔬", "寺", "骤", "穆",
15408"冶", "枯", "册", "尸", "凸", "绅", "坯", "牺", "焰", "轰",
15409"欣", "晋", "瘦", "御", "锭", "锦", "丧", "旬", "锻", "垄",
15410"搜", "扑", "邀", "亭", "酯", "迈", "舒", "脆", "酶", "闲",
15411"忧", "酚", "顽", "羽", "涨", "卸", "仗", "陪", "辟", "惩",
15412"杭", "姚", "肚", "捉", "飘", "漂", "昆", "欺", "吾", "郎",
15413"烷", "汁", "呵", "饰", "萧", "雅", "邮", "迁", "燕", "撒",
15414"姻", "赴", "宴", "烦", "债", "帐", "斑", "铃", "旨", "醇",
15415"董", "饼", "雏", "姿", "拌", "傅", "腹", "妥", "揉", "贤",
15416"拆", "歪", "葡", "胺", "丢", "浩", "徽", "昂", "垫", "挡",
15417"览", "贪", "慰", "缴", "汪", "慌", "冯", "诺", "姜", "谊",
15418"凶", "劣", "诬", "耀", "昏", "躺", "盈", "骑", "乔", "溪",
15419"丛", "卢", "抹", "闷", "咨", "刮", "驾", "缆", "悟", "摘",
15420"铒", "掷", "颇", "幻", "柄", "惠", "惨", "佳", "仇", "腊",
15421"窝", "涤", "剑", "瞧", "堡", "泼", "葱", "罩", "霍", "捞",
15422"胎", "苍", "滨", "俩", "捅", "湘", "砍", "霞", "邵", "萄",
15423"疯", "淮", "遂", "熊", "粪", "烘", "宿", "档", "戈", "驳",
15424"嫂", "裕", "徙", "箭", "捐", "肠", "撑", "晒", "辨", "殿",
15425"莲", "摊", "搅", "酱", "屏", "疫", "哀", "蔡", "堵", "沫",
15426"皱", "畅", "叠", "阁", "莱", "敲", "辖", "钩", "痕", "坝",
15427"巷", "饿", "祸", "丘", "玄", "溜", "曰", "逻", "彭", "尝",
15428"卿", "妨", "艇", "吞", "韦", "怨", "矮", "歇" ]
15429</script>
15430 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15431WORDLISTS["chinese_traditional"] = [
15432"的", "一", "是", "在", "不", "了", "有", "和", "人", "這",
15433"中", "大", "為", "上", "個", "國", "我", "以", "要", "他",
15434"時", "來", "用", "們", "生", "到", "作", "地", "於", "出",
15435"就", "分", "對", "成", "會", "可", "主", "發", "年", "動",
15436"同", "工", "也", "能", "下", "過", "子", "說", "產", "種",
15437"面", "而", "方", "後", "多", "定", "行", "學", "法", "所",
15438"民", "得", "經", "十", "三", "之", "進", "著", "等", "部",
15439"度", "家", "電", "力", "裡", "如", "水", "化", "高", "自",
15440"二", "理", "起", "小", "物", "現", "實", "加", "量", "都",
15441"兩", "體", "制", "機", "當", "使", "點", "從", "業", "本",
15442"去", "把", "性", "好", "應", "開", "它", "合", "還", "因",
15443"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15444"那", "社", "義", "事", "平", "形", "相", "全", "表", "間",
15445"樣", "與", "關", "各", "重", "新", "線", "內", "數", "正",
15446"心", "反", "你", "明", "看", "原", "又", "麼", "利", "比",
15447"或", "但", "質", "氣", "第", "向", "道", "命", "此", "變",
15448"條", "只", "沒", "結", "解", "問", "意", "建", "月", "公",
15449"無", "系", "軍", "很", "情", "者", "最", "立", "代", "想",
15450"已", "通", "並", "提", "直", "題", "黨", "程", "展", "五",
15451"果", "料", "象", "員", "革", "位", "入", "常", "文", "總",
15452"次", "品", "式", "活", "設", "及", "管", "特", "件", "長",
15453"求", "老", "頭", "基", "資", "邊", "流", "路", "級", "少",
15454"圖", "山", "統", "接", "知", "較", "將", "組", "見", "計",
15455"別", "她", "手", "角", "期", "根", "論", "運", "農", "指",
15456"幾", "九", "區", "強", "放", "決", "西", "被", "幹", "做",
15457"必", "戰", "先", "回", "則", "任", "取", "據", "處", "隊",
15458"南", "給", "色", "光", "門", "即", "保", "治", "北", "造",
15459"百", "規", "熱", "領", "七", "海", "口", "東", "導", "器",
15460"壓", "志", "世", "金", "增", "爭", "濟", "階", "油", "思",
15461"術", "極", "交", "受", "聯", "什", "認", "六", "共", "權",
15462"收", "證", "改", "清", "美", "再", "採", "轉", "更", "單",
15463"風", "切", "打", "白", "教", "速", "花", "帶", "安", "場",
15464"身", "車", "例", "真", "務", "具", "萬", "每", "目", "至",
15465"達", "走", "積", "示", "議", "聲", "報", "鬥", "完", "類",
15466"八", "離", "華", "名", "確", "才", "科", "張", "信", "馬",
15467"節", "話", "米", "整", "空", "元", "況", "今", "集", "溫",
15468"傳", "土", "許", "步", "群", "廣", "石", "記", "需", "段",
15469"研", "界", "拉", "林", "律", "叫", "且", "究", "觀", "越",
15470"織", "裝", "影", "算", "低", "持", "音", "眾", "書", "布",
15471"复", "容", "兒", "須", "際", "商", "非", "驗", "連", "斷",
15472"深", "難", "近", "礦", "千", "週", "委", "素", "技", "備",
15473"半", "辦", "青", "省", "列", "習", "響", "約", "支", "般",
15474"史", "感", "勞", "便", "團", "往", "酸", "歷", "市", "克",
15475"何", "除", "消", "構", "府", "稱", "太", "準", "精", "值",
15476"號", "率", "族", "維", "劃", "選", "標", "寫", "存", "候",
15477"毛", "親", "快", "效", "斯", "院", "查", "江", "型", "眼",
15478"王", "按", "格", "養", "易", "置", "派", "層", "片", "始",
15479"卻", "專", "狀", "育", "廠", "京", "識", "適", "屬", "圓",
15480"包", "火", "住", "調", "滿", "縣", "局", "照", "參", "紅",
15481"細", "引", "聽", "該", "鐵", "價", "嚴", "首", "底", "液",
15482"官", "德", "隨", "病", "蘇", "失", "爾", "死", "講", "配",
15483"女", "黃", "推", "顯", "談", "罪", "神", "藝", "呢", "席",
15484"含", "企", "望", "密", "批", "營", "項", "防", "舉", "球",
15485"英", "氧", "勢", "告", "李", "台", "落", "木", "幫", "輪",
15486"破", "亞", "師", "圍", "注", "遠", "字", "材", "排", "供",
15487"河", "態", "封", "另", "施", "減", "樹", "溶", "怎", "止",
15488"案", "言", "士", "均", "武", "固", "葉", "魚", "波", "視",
15489"僅", "費", "緊", "愛", "左", "章", "早", "朝", "害", "續",
15490"輕", "服", "試", "食", "充", "兵", "源", "判", "護", "司",
15491"足", "某", "練", "差", "致", "板", "田", "降", "黑", "犯",
15492"負", "擊", "范", "繼", "興", "似", "餘", "堅", "曲", "輸",
15493"修", "故", "城", "夫", "夠", "送", "筆", "船", "佔", "右",
15494"財", "吃", "富", "春", "職", "覺", "漢", "畫", "功", "巴",
15495"跟", "雖", "雜", "飛", "檢", "吸", "助", "昇", "陽", "互",
15496"初", "創", "抗", "考", "投", "壞", "策", "古", "徑", "換",
15497"未", "跑", "留", "鋼", "曾", "端", "責", "站", "簡", "述",
15498"錢", "副", "盡", "帝", "射", "草", "衝", "承", "獨", "令",
15499"限", "阿", "宣", "環", "雙", "請", "超", "微", "讓", "控",
15500"州", "良", "軸", "找", "否", "紀", "益", "依", "優", "頂",
15501"礎", "載", "倒", "房", "突", "坐", "粉", "敵", "略", "客",
15502"袁", "冷", "勝", "絕", "析", "塊", "劑", "測", "絲", "協",
15503"訴", "念", "陳", "仍", "羅", "鹽", "友", "洋", "錯", "苦",
15504"夜", "刑", "移", "頻", "逐", "靠", "混", "母", "短", "皮",
15505"終", "聚", "汽", "村", "雲", "哪", "既", "距", "衛", "停",
15506"烈", "央", "察", "燒", "迅", "境", "若", "印", "洲", "刻",
15507"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15508"侵", "吧", "甲", "遊", "久", "菜", "味", "舊", "模", "湖",
15509"貨", "損", "預", "阻", "毫", "普", "穩", "乙", "媽", "植",
15510"息", "擴", "銀", "語", "揮", "酒", "守", "拿", "序", "紙",
15511"醫", "缺", "雨", "嗎", "針", "劉", "啊", "急", "唱", "誤",
15512"訓", "願", "審", "附", "獲", "茶", "鮮", "糧", "斤", "孩",
15513"脫", "硫", "肥", "善", "龍", "演", "父", "漸", "血", "歡",
15514"械", "掌", "歌", "沙", "剛", "攻", "謂", "盾", "討", "晚",
15515"粒", "亂", "燃", "矛", "乎", "殺", "藥", "寧", "魯", "貴",
15516"鐘", "煤", "讀", "班", "伯", "香", "介", "迫", "句", "豐",
15517"培", "握", "蘭", "擔", "弦", "蛋", "沉", "假", "穿", "執",
15518"答", "樂", "誰", "順", "煙", "縮", "徵", "臉", "喜", "松",
15519"腳", "困", "異", "免", "背", "星", "福", "買", "染", "井",
15520"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "靜", "補",
15521"評", "翻", "肉", "踐", "尼", "衣", "寬", "揚", "棉", "希",
15522"傷", "操", "垂", "秋", "宜", "氫", "套", "督", "振", "架",
15523"亮", "末", "憲", "慶", "編", "牛", "觸", "映", "雷", "銷",
15524"詩", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15525"綠", "晶", "厚", "盟", "衡", "雞", "孫", "延", "危", "膠",
15526"屋", "鄉", "臨", "陸", "顧", "掉", "呀", "燈", "歲", "措",
15527"束", "耐", "劇", "玉", "趙", "跳", "哥", "季", "課", "凱",
15528"胡", "額", "款", "紹", "卷", "齊", "偉", "蒸", "殖", "永",
15529"宗", "苗", "川", "爐", "岩", "弱", "零", "楊", "奏", "沿",
15530"露", "桿", "探", "滑", "鎮", "飯", "濃", "航", "懷", "趕",
15531"庫", "奪", "伊", "靈", "稅", "途", "滅", "賽", "歸", "召",
15532"鼓", "播", "盤", "裁", "險", "康", "唯", "錄", "菌", "純",
15533"借", "糖", "蓋", "橫", "符", "私", "努", "堂", "域", "槍",
15534"潤", "幅", "哈", "竟", "熟", "蟲", "澤", "腦", "壤", "碳",
15535"歐", "遍", "側", "寨", "敢", "徹", "慮", "斜", "薄", "庭",
15536"納", "彈", "飼", "伸", "折", "麥", "濕", "暗", "荷", "瓦",
15537"塞", "床", "築", "惡", "戶", "訪", "塔", "奇", "透", "梁",
15538"刀", "旋", "跡", "卡", "氯", "遇", "份", "毒", "泥", "退",
15539"洗", "擺", "灰", "彩", "賣", "耗", "夏", "擇", "忙", "銅",
15540"獻", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15541"陣", "陰", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15542"樓", "避", "謀", "噸", "野", "豬", "旗", "累", "偏", "典",
15543"館", "索", "秦", "脂", "潮", "爺", "豆", "忽", "托", "驚",
15544"塑", "遺", "愈", "朱", "替", "纖", "粗", "傾", "尚", "痛",
15545"楚", "謝", "奮", "購", "磨", "君", "池", "旁", "碎", "骨",
15546"監", "捕", "弟", "暴", "割", "貫", "殊", "釋", "詞", "亡",
15547"壁", "頓", "寶", "午", "塵", "聞", "揭", "炮", "殘", "冬",
15548"橋", "婦", "警", "綜", "招", "吳", "付", "浮", "遭", "徐",
15549"您", "搖", "谷", "贊", "箱", "隔", "訂", "男", "吹", "園",
15550"紛", "唐", "敗", "宋", "玻", "巨", "耕", "坦", "榮", "閉",
15551"灣", "鍵", "凡", "駐", "鍋", "救", "恩", "剝", "凝", "鹼",
15552"齒", "截", "煉", "麻", "紡", "禁", "廢", "盛", "版", "緩",
15553"淨", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15554"莊", "街", "藏", "姑", "貿", "腐", "奴", "啦", "慣", "乘",
15555"夥", "恢", "勻", "紗", "扎", "辯", "耳", "彪", "臣", "億",
15556"璃", "抵", "脈", "秀", "薩", "俄", "網", "舞", "店", "噴",
15557"縱", "寸", "汗", "掛", "洪", "賀", "閃", "柬", "爆", "烯",
15558"津", "稻", "牆", "軟", "勇", "像", "滾", "厘", "蒙", "芳",
15559"肯", "坡", "柱", "盪", "腿", "儀", "旅", "尾", "軋", "冰",
15560"貢", "登", "黎", "削", "鑽", "勒", "逃", "障", "氨", "郭",
15561"峰", "幣", "港", "伏", "軌", "畝", "畢", "擦", "莫", "刺",
15562"浪", "秘", "援", "株", "健", "售", "股", "島", "甘", "泡",
15563"睡", "童", "鑄", "湯", "閥", "休", "匯", "舍", "牧", "繞",
15564"炸", "哲", "磷", "績", "朋", "淡", "尖", "啟", "陷", "柴",
15565"呈", "徒", "顏", "淚", "稍", "忘", "泵", "藍", "拖", "洞",
15566"授", "鏡", "辛", "壯", "鋒", "貧", "虛", "彎", "摩", "泰",
15567"幼", "廷", "尊", "窗", "綱", "弄", "隸", "疑", "氏", "宮",
15568"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "違",
15569"夾", "腰", "緣", "珠", "窮", "森", "枝", "竹", "溝", "催",
15570"繩", "憶", "邦", "剩", "幸", "漿", "欄", "擁", "牙", "貯",
15571"禮", "濾", "鈉", "紋", "罷", "拍", "咱", "喊", "袖", "埃",
15572"勤", "罰", "焦", "潛", "伍", "墨", "欲", "縫", "姓", "刊",
15573"飽", "仿", "獎", "鋁", "鬼", "麗", "跨", "默", "挖", "鏈",
15574"掃", "喝", "袋", "炭", "污", "幕", "諸", "弧", "勵", "梅",
15575"奶", "潔", "災", "舟", "鑑", "苯", "訟", "抱", "毀", "懂",
15576"寒", "智", "埔", "寄", "屆", "躍", "渡", "挑", "丹", "艱",
15577"貝", "碰", "拔", "爹", "戴", "碼", "夢", "芽", "熔", "赤",
15578"漁", "哭", "敬", "顆", "奔", "鉛", "仲", "虎", "稀", "妹",
15579"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "倉", "魏",
15580"銳", "曉", "氮", "兼", "隱", "礙", "赫", "撥", "忠", "肅",
15581"缸", "牽", "搶", "博", "巧", "殼", "兄", "杜", "訊", "誠",
15582"碧", "祥", "柯", "頁", "巡", "矩", "悲", "灌", "齡", "倫",
15583"票", "尋", "桂", "鋪", "聖", "恐", "恰", "鄭", "趣", "抬",
15584"荒", "騰", "貼", "柔", "滴", "猛", "闊", "輛", "妻", "填",
15585"撤", "儲", "簽", "鬧", "擾", "紫", "砂", "遞", "戲", "吊",
15586"陶", "伐", "餵", "療", "瓶", "婆", "撫", "臂", "摸", "忍",
15587"蝦", "蠟", "鄰", "胸", "鞏", "擠", "偶", "棄", "槽", "勁",
15588"乳", "鄧", "吉", "仁", "爛", "磚", "租", "烏", "艦", "伴",
15589"瓜", "淺", "丙", "暫", "燥", "橡", "柳", "迷", "暖", "牌",
15590"秧", "膽", "詳", "簧", "踏", "瓷", "譜", "呆", "賓", "糊",
15591"洛", "輝", "憤", "競", "隙", "怒", "粘", "乃", "緒", "肩",
15592"籍", "敏", "塗", "熙", "皆", "偵", "懸", "掘", "享", "糾",
15593"醒", "狂", "鎖", "淀", "恨", "牲", "霸", "爬", "賞", "逆",
15594"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鴨",
15595"趨", "鳳", "晨", "畜", "輩", "秩", "卵", "署", "梯", "炎",
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</script>
15638 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15639WORDLISTS["french"] = [
15640"abaisser", "abandon", "abdiquer", "abeille", "abolir", "aborder", "aboutir", "aboyer", "abrasif", "abreuver",
15641"abriter", "abroger", "abrupt", "absence", "absolu", "absurde", "abusif", "abyssal", "académie", "acajou",
15642"acarien", "accabler", "accepter", "acclamer", "accolade", "accroche", "accuser", "acerbe", "achat", "acheter",
15643"aciduler", "acier", "acompte", "acquérir", "acronyme", "acteur", "actif", "actuel", "adepte", "adéquat",
15644"adhésif", "adjectif", "adjuger", "admettre", "admirer", "adopter", "adorer", "adoucir", "adresse", "adroit",
15645"adulte", "adverbe", "aérer", "aéronef", "affaire", "affecter", "affiche", "affreux", "affubler", "agacer",
15646"agencer", "agile", "agiter", "agrafer", "agréable", "agrume", "aider", "aiguille", "ailier", "aimable",
15647"aisance", "ajouter", "ajuster", "alarmer", "alchimie", "alerte", "algèbre", "algue", "aliéner", "aliment",
15648"alléger", "alliage", "allouer", "allumer", "alourdir", "alpaga", "altesse", "alvéole", "amateur", "ambigu",
15649"ambre", "aménager", "amertume", "amidon", "amiral", "amorcer", "amour", "amovible", "amphibie", "ampleur",
15650"amusant", "analyse", "anaphore", "anarchie", "anatomie", "ancien", "anéantir", "angle", "angoisse", "anguleux",
15651"animal", "annexer", "annonce", "annuel", "anodin", "anomalie", "anonyme", "anormal", "antenne", "antidote",
15652"anxieux", "apaiser", "apéritif", "aplanir", "apologie", "appareil", "appeler", "apporter", "appuyer", "aquarium",
15653"aqueduc", "arbitre", "arbuste", "ardeur", "ardoise", "argent", "arlequin", "armature", "armement", "armoire",
15654"armure", "arpenter", "arracher", "arriver", "arroser", "arsenic", "artériel", "article", "aspect", "asphalte",
15655"aspirer", "assaut", "asservir", "assiette", "associer", "assurer", "asticot", "astre", "astuce", "atelier",
15656"atome", "atrium", "atroce", "attaque", "attentif", "attirer", "attraper", "aubaine", "auberge", "audace",
15657"audible", "augurer", "aurore", "automne", "autruche", "avaler", "avancer", "avarice", "avenir", "averse",
15658"aveugle", "aviateur", "avide", "avion", "aviser", "avoine", "avouer", "avril", "axial", "axiome",
15659"badge", "bafouer", "bagage", "baguette", "baignade", "balancer", "balcon", "baleine", "balisage", "bambin",
15660"bancaire", "bandage", "banlieue", "bannière", "banquier", "barbier", "baril", "baron", "barque", "barrage",
15661"bassin", "bastion", "bataille", "bateau", "batterie", "baudrier", "bavarder", "belette", "bélier", "belote",
15662"bénéfice", "berceau", "berger", "berline", "bermuda", "besace", "besogne", "bétail", "beurre", "biberon",
15663"bicycle", "bidule", "bijou", "bilan", "bilingue", "billard", "binaire", "biologie", "biopsie", "biotype",
15664"biscuit", "bison", "bistouri", "bitume", "bizarre", "blafard", "blague", "blanchir", "blessant", "blinder",
15665"blond", "bloquer", "blouson", "bobard", "bobine", "boire", "boiser", "bolide", "bonbon", "bondir",
15666"bonheur", "bonifier", "bonus", "bordure", "borne", "botte", "boucle", "boueux", "bougie", "boulon",
15667"bouquin", "bourse", "boussole", "boutique", "boxeur", "branche", "brasier", "brave", "brebis", "brèche",
15668"breuvage", "bricoler", "brigade", "brillant", "brioche", "brique", "brochure", "broder", "bronzer", "brousse",
15669"broyeur", "brume", "brusque", "brutal", "bruyant", "buffle", "buisson", "bulletin", "bureau", "burin",
15670"bustier", "butiner", "butoir", "buvable", "buvette", "cabanon", "cabine", "cachette", "cadeau", "cadre",
15671"caféine", "caillou", "caisson", "calculer", "calepin", "calibre", "calmer", "calomnie", "calvaire", "camarade",
15672"caméra", "camion", "campagne", "canal", "caneton", "canon", "cantine", "canular", "capable", "caporal",
15673"caprice", "capsule", "capter", "capuche", "carabine", "carbone", "caresser", "caribou", "carnage", "carotte",
15674"carreau", "carton", "cascade", "casier", "casque", "cassure", "causer", "caution", "cavalier", "caverne",
15675"caviar", "cédille", "ceinture", "céleste", "cellule", "cendrier", "censurer", "central", "cercle", "cérébral",
15676"cerise", "cerner", "cerveau", "cesser", "chagrin", "chaise", "chaleur", "chambre", "chance", "chapitre",
15677"charbon", "chasseur", "chaton", "chausson", "chavirer", "chemise", "chenille", "chéquier", "chercher", "cheval",
15678"chien", "chiffre", "chignon", "chimère", "chiot", "chlorure", "chocolat", "choisir", "chose", "chouette",
15679"chrome", "chute", "cigare", "cigogne", "cimenter", "cinéma", "cintrer", "circuler", "cirer", "cirque",
15680"citerne", "citoyen", "citron", "civil", "clairon", "clameur", "claquer", "classe", "clavier", "client",
15681"cligner", "climat", "clivage", "cloche", "clonage", "cloporte", "cobalt", "cobra", "cocasse", "cocotier",
15682"coder", "codifier", "coffre", "cogner", "cohésion", "coiffer", "coincer", "colère", "colibri", "colline",
15683"colmater", "colonel", "combat", "comédie", "commande", "compact", "concert", "conduire", "confier", "congeler",
15684"connoter", "consonne", "contact", "convexe", "copain", "copie", "corail", "corbeau", "cordage", "corniche",
15685"corpus", "correct", "cortège", "cosmique", "costume", "coton", "coude", "coupure", "courage", "couteau",
15686"couvrir", "coyote", "crabe", "crainte", "cravate", "crayon", "créature", "créditer", "crémeux", "creuser",
15687"crevette", "cribler", "crier", "cristal", "critère", "croire", "croquer", "crotale", "crucial", "cruel",
15688"crypter", "cubique", "cueillir", "cuillère", "cuisine", "cuivre", "culminer", "cultiver", "cumuler", "cupide",
15689"curatif", "curseur", "cyanure", "cycle", "cylindre", "cynique", "daigner", "damier", "danger", "danseur",
15690"dauphin", "débattre", "débiter", "déborder", "débrider", "débutant", "décaler", "décembre", "déchirer", "décider",
15691"déclarer", "décorer", "décrire", "décupler", "dédale", "déductif", "déesse", "défensif", "défiler", "défrayer",
15692"dégager", "dégivrer", "déglutir", "dégrafer", "déjeuner", "délice", "déloger", "demander", "demeurer", "démolir",
15693"dénicher", "dénouer", "dentelle", "dénuder", "départ", "dépenser", "déphaser", "déplacer", "déposer", "déranger",
15694"dérober", "désastre", "descente", "désert", "désigner", "désobéir", "dessiner", "destrier", "détacher", "détester",
15695"détourer", "détresse", "devancer", "devenir", "deviner", "devoir", "diable", "dialogue", "diamant", "dicter",
15696"différer", "digérer", "digital", "digne", "diluer", "dimanche", "diminuer", "dioxyde", "directif", "diriger",
15697"discuter", "disposer", "dissiper", "distance", "divertir", "diviser", "docile", "docteur", "dogme", "doigt",
15698"domaine", "domicile", "dompter", "donateur", "donjon", "donner", "dopamine", "dortoir", "dorure", "dosage",
15699"doseur", "dossier", "dotation", "douanier", "double", "douceur", "douter", "doyen", "dragon", "draper",
15700"dresser", "dribbler", "droiture", "duperie", "duplexe", "durable", "durcir", "dynastie", "éblouir", "écarter",
15701"écharpe", "échelle", "éclairer", "éclipse", "éclore", "écluse", "école", "économie", "écorce", "écouter",
15702"écraser", "écrémer", "écrivain", "écrou", "écume", "écureuil", "édifier", "éduquer", "effacer", "effectif",
15703"effigie", "effort", "effrayer", "effusion", "égaliser", "égarer", "éjecter", "élaborer", "élargir", "électron",
15704"élégant", "éléphant", "élève", "éligible", "élitisme", "éloge", "élucider", "éluder", "emballer", "embellir",
15705"embryon", "émeraude", "émission", "emmener", "émotion", "émouvoir", "empereur", "employer", "emporter", "emprise",
15706"émulsion", "encadrer", "enchère", "enclave", "encoche", "endiguer", "endosser", "endroit", "enduire", "énergie",
15707"enfance", "enfermer", "enfouir", "engager", "engin", "englober", "énigme", "enjamber", "enjeu", "enlever",
15708"ennemi", "ennuyeux", "enrichir", "enrobage", "enseigne", "entasser", "entendre", "entier", "entourer", "entraver",
15709"énumérer", "envahir", "enviable", "envoyer", "enzyme", "éolien", "épaissir", "épargne", "épatant", "épaule",
15710"épicerie", "épidémie", "épier", "épilogue", "épine", "épisode", "épitaphe", "époque", "épreuve", "éprouver",
15711"épuisant", "équerre", "équipe", "ériger", "érosion", "erreur", "éruption", "escalier", "espadon", "espèce",
15712"espiègle", "espoir", "esprit", "esquiver", "essayer", "essence", "essieu", "essorer", "estime", "estomac",
15713"estrade", "étagère", "étaler", "étanche", "étatique", "éteindre", "étendoir", "éternel", "éthanol", "éthique",
15714"ethnie", "étirer", "étoffer", "étoile", "étonnant", "étourdir", "étrange", "étroit", "étude", "euphorie",
15715"évaluer", "évasion", "éventail", "évidence", "éviter", "évolutif", "évoquer", "exact", "exagérer", "exaucer",
15716"exceller", "excitant", "exclusif", "excuse", "exécuter", "exemple", "exercer", "exhaler", "exhorter", "exigence",
15717"exiler", "exister", "exotique", "expédier", "explorer", "exposer", "exprimer", "exquis", "extensif", "extraire",
15718"exulter", "fable", "fabuleux", "facette", "facile", "facture", "faiblir", "falaise", "fameux", "famille",
15719"farceur", "farfelu", "farine", "farouche", "fasciner", "fatal", "fatigue", "faucon", "fautif", "faveur",
15720"favori", "fébrile", "féconder", "fédérer", "félin", "femme", "fémur", "fendoir", "féodal", "fermer",
15721"féroce", "ferveur", "festival", "feuille", "feutre", "février", "fiasco", "ficeler", "fictif", "fidèle",
15722"figure", "filature", "filetage", "filière", "filleul", "filmer", "filou", "filtrer", "financer", "finir",
15723"fiole", "firme", "fissure", "fixer", "flairer", "flamme", "flasque", "flatteur", "fléau", "flèche",
15724"fleur", "flexion", "flocon", "flore", "fluctuer", "fluide", "fluvial", "folie", "fonderie", "fongible",
15725"fontaine", "forcer", "forgeron", "formuler", "fortune", "fossile", "foudre", "fougère", "fouiller", "foulure",
15726"fourmi", "fragile", "fraise", "franchir", "frapper", "frayeur", "frégate", "freiner", "frelon", "frémir",
15727"frénésie", "frère", "friable", "friction", "frisson", "frivole", "froid", "fromage", "frontal", "frotter",
15728"fruit", "fugitif", "fuite", "fureur", "furieux", "furtif", "fusion", "futur", "gagner", "galaxie",
15729"galerie", "gambader", "garantir", "gardien", "garnir", "garrigue", "gazelle", "gazon", "géant", "gélatine",
15730"gélule", "gendarme", "général", "génie", "genou", "gentil", "géologie", "géomètre", "géranium", "germe",
15731"gestuel", "geyser", "gibier", "gicler", "girafe", "givre", "glace", "glaive", "glisser", "globe",
15732"gloire", "glorieux", "golfeur", "gomme", "gonfler", "gorge", "gorille", "goudron", "gouffre", "goulot",
15733"goupille", "gourmand", "goutte", "graduel", "graffiti", "graine", "grand", "grappin", "gratuit", "gravir",
15734"grenat", "griffure", "griller", "grimper", "grogner", "gronder", "grotte", "groupe", "gruger", "grutier",
15735"gruyère", "guépard", "guerrier", "guide", "guimauve", "guitare", "gustatif", "gymnaste", "gyrostat", "habitude",
15736"hachoir", "halte", "hameau", "hangar", "hanneton", "haricot", "harmonie", "harpon", "hasard", "hélium",
15737"hématome", "herbe", "hérisson", "hermine", "héron", "hésiter", "heureux", "hiberner", "hibou", "hilarant",
15738"histoire", "hiver", "homard", "hommage", "homogène", "honneur", "honorer", "honteux", "horde", "horizon",
15739"horloge", "hormone", "horrible", "houleux", "housse", "hublot", "huileux", "humain", "humble", "humide",
15740"humour", "hurler", "hydromel", "hygiène", "hymne", "hypnose", "idylle", "ignorer", "iguane", "illicite",
15741"illusion", "image", "imbiber", "imiter", "immense", "immobile", "immuable", "impact", "impérial", "implorer",
15742"imposer", "imprimer", "imputer", "incarner", "incendie", "incident", "incliner", "incolore", "indexer", "indice",
15743"inductif", "inédit", "ineptie", "inexact", "infini", "infliger", "informer", "infusion", "ingérer", "inhaler",
15744"inhiber", "injecter", "injure", "innocent", "inoculer", "inonder", "inscrire", "insecte", "insigne", "insolite",
15745"inspirer", "instinct", "insulter", "intact", "intense", "intime", "intrigue", "intuitif", "inutile", "invasion",
15746"inventer", "inviter", "invoquer", "ironique", "irradier", "irréel", "irriter", "isoler", "ivoire", "ivresse",
15747"jaguar", "jaillir", "jambe", "janvier", "jardin", "jauger", "jaune", "javelot", "jetable", "jeton",
15748"jeudi", "jeunesse", "joindre", "joncher", "jongler", "joueur", "jouissif", "journal", "jovial", "joyau",
15749"joyeux", "jubiler", "jugement", "junior", "jupon", "juriste", "justice", "juteux", "juvénile", "kayak",
15750"kimono", "kiosque", "label", "labial", "labourer", "lacérer", "lactose", "lagune", "laine", "laisser",
15751"laitier", "lambeau", "lamelle", "lampe", "lanceur", "langage", "lanterne", "lapin", "largeur", "larme",
15752"laurier", "lavabo", "lavoir", "lecture", "légal", "léger", "légume", "lessive", "lettre", "levier",
15753"lexique", "lézard", "liasse", "libérer", "libre", "licence", "licorne", "liège", "lièvre", "ligature",
15754"ligoter", "ligue", "limer", "limite", "limonade", "limpide", "linéaire", "lingot", "lionceau", "liquide",
15755"lisière", "lister", "lithium", "litige", "littoral", "livreur", "logique", "lointain", "loisir", "lombric",
15756"loterie", "louer", "lourd", "loutre", "louve", "loyal", "lubie", "lucide", "lucratif", "lueur",
15757"lugubre", "luisant", "lumière", "lunaire", "lundi", "luron", "lutter", "luxueux", "machine", "magasin",
15758"magenta", "magique", "maigre", "maillon", "maintien", "mairie", "maison", "majorer", "malaxer", "maléfice",
15759"malheur", "malice", "mallette", "mammouth", "mandater", "maniable", "manquant", "manteau", "manuel", "marathon",
15760"marbre", "marchand", "mardi", "maritime", "marqueur", "marron", "marteler", "mascotte", "massif", "matériel",
15761"matière", "matraque", "maudire", "maussade", "mauve", "maximal", "méchant", "méconnu", "médaille", "médecin",
15762"méditer", "méduse", "meilleur", "mélange", "mélodie", "membre", "mémoire", "menacer", "mener", "menhir",
15763"mensonge", "mentor", "mercredi", "mérite", "merle", "messager", "mesure", "métal", "météore", "méthode",
15764"métier", "meuble", "miauler", "microbe", "miette", "mignon", "migrer", "milieu", "million", "mimique",
15765"mince", "minéral", "minimal", "minorer", "minute", "miracle", "miroiter", "missile", "mixte", "mobile",
15766"moderne", "moelleux", "mondial", "moniteur", "monnaie", "monotone", "monstre", "montagne", "monument", "moqueur",
15767"morceau", "morsure", "mortier", "moteur", "motif", "mouche", "moufle", "moulin", "mousson", "mouton",
15768"mouvant", "multiple", "munition", "muraille", "murène", "murmure", "muscle", "muséum", "musicien", "mutation",
15769"muter", "mutuel", "myriade", "myrtille", "mystère", "mythique", "nageur", "nappe", "narquois", "narrer",
15770"natation", "nation", "nature", "naufrage", "nautique", "navire", "nébuleux", "nectar", "néfaste", "négation",
15771"négliger", "négocier", "neige", "nerveux", "nettoyer", "neurone", "neutron", "neveu", "niche", "nickel",
15772"nitrate", "niveau", "noble", "nocif", "nocturne", "noirceur", "noisette", "nomade", "nombreux", "nommer",
15773"normatif", "notable", "notifier", "notoire", "nourrir", "nouveau", "novateur", "novembre", "novice", "nuage",
15774"nuancer", "nuire", "nuisible", "numéro", "nuptial", "nuque", "nutritif", "obéir", "objectif", "obliger",
15775"obscur", "observer", "obstacle", "obtenir", "obturer", "occasion", "occuper", "océan", "octobre", "octroyer",
15776"octupler", "oculaire", "odeur", "odorant", "offenser", "officier", "offrir", "ogive", "oiseau", "oisillon",
15777"olfactif", "olivier", "ombrage", "omettre", "onctueux", "onduler", "onéreux", "onirique", "opale", "opaque",
15778"opérer", "opinion", "opportun", "opprimer", "opter", "optique", "orageux", "orange", "orbite", "ordonner",
15779"oreille", "organe", "orgueil", "orifice", "ornement", "orque", "ortie", "osciller", "osmose", "ossature",
15780"otarie", "ouragan", "ourson", "outil", "outrager", "ouvrage", "ovation", "oxyde", "oxygène", "ozone",
15781"paisible", "palace", "palmarès", "palourde", "palper", "panache", "panda", "pangolin", "paniquer", "panneau",
15782"panorama", "pantalon", "papaye", "papier", "papoter", "papyrus", "paradoxe", "parcelle", "paresse", "parfumer",
15783"parler", "parole", "parrain", "parsemer", "partager", "parure", "parvenir", "passion", "pastèque", "paternel",
15784"patience", "patron", "pavillon", "pavoiser", "payer", "paysage", "peigne", "peintre", "pelage", "pélican",
15785"pelle", "pelouse", "peluche", "pendule", "pénétrer", "pénible", "pensif", "pénurie", "pépite", "péplum",
15786"perdrix", "perforer", "période", "permuter", "perplexe", "persil", "perte", "peser", "pétale", "petit",
15787"pétrir", "peuple", "pharaon", "phobie", "phoque", "photon", "phrase", "physique", "piano", "pictural",
15788"pièce", "pierre", "pieuvre", "pilote", "pinceau", "pipette", "piquer", "pirogue", "piscine", "piston",
15789"pivoter", "pixel", "pizza", "placard", "plafond", "plaisir", "planer", "plaque", "plastron", "plateau",
15790"pleurer", "plexus", "pliage", "plomb", "plonger", "pluie", "plumage", "pochette", "poésie", "poète",
15791"pointe", "poirier", "poisson", "poivre", "polaire", "policier", "pollen", "polygone", "pommade", "pompier",
15792"ponctuel", "pondérer", "poney", "portique", "position", "posséder", "posture", "potager", "poteau", "potion",
15793"pouce", "poulain", "poumon", "pourpre", "poussin", "pouvoir", "prairie", "pratique", "précieux", "prédire",
15794"préfixe", "prélude", "prénom", "présence", "prétexte", "prévoir", "primitif", "prince", "prison", "priver",
15795"problème", "procéder", "prodige", "profond", "progrès", "proie", "projeter", "prologue", "promener", "propre",
15796"prospère", "protéger", "prouesse", "proverbe", "prudence", "pruneau", "psychose", "public", "puceron", "puiser",
15797"pulpe", "pulsar", "punaise", "punitif", "pupitre", "purifier", "puzzle", "pyramide", "quasar", "querelle",
15798"question", "quiétude", "quitter", "quotient", "racine", "raconter", "radieux", "ragondin", "raideur", "raisin",
15799"ralentir", "rallonge", "ramasser", "rapide", "rasage", "ratisser", "ravager", "ravin", "rayonner", "réactif",
15800"réagir", "réaliser", "réanimer", "recevoir", "réciter", "réclamer", "récolter", "recruter", "reculer", "recycler",
15801"rédiger", "redouter", "refaire", "réflexe", "réformer", "refrain", "refuge", "régalien", "région", "réglage",
15802"régulier", "réitérer", "rejeter", "rejouer", "relatif", "relever", "relief", "remarque", "remède", "remise",
15803"remonter", "remplir", "remuer", "renard", "renfort", "renifler", "renoncer", "rentrer", "renvoi", "replier",
15804"reporter", "reprise", "reptile", "requin", "réserve", "résineux", "résoudre", "respect", "rester", "résultat",
15805"rétablir", "retenir", "réticule", "retomber", "retracer", "réunion", "réussir", "revanche", "revivre", "révolte",
15806"révulsif", "richesse", "rideau", "rieur", "rigide", "rigoler", "rincer", "riposter", "risible", "risque",
15807"rituel", "rival", "rivière", "rocheux", "romance", "rompre", "ronce", "rondin", "roseau", "rosier",
15808"rotatif", "rotor", "rotule", "rouge", "rouille", "rouleau", "routine", "royaume", "ruban", "rubis",
15809"ruche", "ruelle", "rugueux", "ruiner", "ruisseau", "ruser", "rustique", "rythme", "sabler", "saboter",
15810"sabre", "sacoche", "safari", "sagesse", "saisir", "salade", "salive", "salon", "saluer", "samedi",
15811"sanction", "sanglier", "sarcasme", "sardine", "saturer", "saugrenu", "saumon", "sauter", "sauvage", "savant",
15812"savonner", "scalpel", "scandale", "scélérat", "scénario", "sceptre", "schéma", "science", "scinder", "score",
15813"scrutin", "sculpter", "séance", "sécable", "sécher", "secouer", "sécréter", "sédatif", "séduire", "seigneur",
15814"séjour", "sélectif", "semaine", "sembler", "semence", "séminal", "sénateur", "sensible", "sentence", "séparer",
15815"séquence", "serein", "sergent", "sérieux", "serrure", "sérum", "service", "sésame", "sévir", "sevrage",
15816"sextuple", "sidéral", "siècle", "siéger", "siffler", "sigle", "signal", "silence", "silicium", "simple",
15817"sincère", "sinistre", "siphon", "sirop", "sismique", "situer", "skier", "social", "socle", "sodium",
15818"soigneux", "soldat", "soleil", "solitude", "soluble", "sombre", "sommeil", "somnoler", "sonde", "songeur",
15819"sonnette", "sonore", "sorcier", "sortir", "sosie", "sottise", "soucieux", "soudure", "souffle", "soulever",
15820"soupape", "source", "soutirer", "souvenir", "spacieux", "spatial", "spécial", "sphère", "spiral", "stable",
15821"station", "sternum", "stimulus", "stipuler", "strict", "studieux", "stupeur", "styliste", "sublime", "substrat",
15822"subtil", "subvenir", "succès", "sucre", "suffixe", "suggérer", "suiveur", "sulfate", "superbe", "supplier",
15823"surface", "suricate", "surmener", "surprise", "sursaut", "survie", "suspect", "syllabe", "symbole", "symétrie",
15824"synapse", "syntaxe", "système", "tabac", "tablier", "tactile", "tailler", "talent", "talisman", "talonner",
15825"tambour", "tamiser", "tangible", "tapis", "taquiner", "tarder", "tarif", "tartine", "tasse", "tatami",
15826"tatouage", "taupe", "taureau", "taxer", "témoin", "temporel", "tenaille", "tendre", "teneur", "tenir",
15827"tension", "terminer", "terne", "terrible", "tétine", "texte", "thème", "théorie", "thérapie", "thorax",
15828"tibia", "tiède", "timide", "tirelire", "tiroir", "tissu", "titane", "titre", "tituber", "toboggan",
15829"tolérant", "tomate", "tonique", "tonneau", "toponyme", "torche", "tordre", "tornade", "torpille", "torrent",
15830"torse", "tortue", "totem", "toucher", "tournage", "tousser", "toxine", "traction", "trafic", "tragique",
15831"trahir", "train", "trancher", "travail", "trèfle", "tremper", "trésor", "treuil", "triage", "tribunal",
15832"tricoter", "trilogie", "triomphe", "tripler", "triturer", "trivial", "trombone", "tronc", "tropical", "troupeau",
15833"tuile", "tulipe", "tumulte", "tunnel", "turbine", "tuteur", "tutoyer", "tuyau", "tympan", "typhon",
15834"typique", "tyran", "ubuesque", "ultime", "ultrason", "unanime", "unifier", "union", "unique", "unitaire",
15835"univers", "uranium", "urbain", "urticant", "usage", "usine", "usuel", "usure", "utile", "utopie",
15836"vacarme", "vaccin", "vagabond", "vague", "vaillant", "vaincre", "vaisseau", "valable", "valise", "vallon",
15837"valve", "vampire", "vanille", "vapeur", "varier", "vaseux", "vassal", "vaste", "vecteur", "vedette",
15838"végétal", "véhicule", "veinard", "véloce", "vendredi", "vénérer", "venger", "venimeux", "ventouse", "verdure",
15839"vérin", "vernir", "verrou", "verser", "vertu", "veston", "vétéran", "vétuste", "vexant", "vexer",
15840"viaduc", "viande", "victoire", "vidange", "vidéo", "vignette", "vigueur", "vilain", "village", "vinaigre",
15841"violon", "vipère", "virement", "virtuose", "virus", "visage", "viseur", "vision", "visqueux", "visuel",
15842"vital", "vitesse", "viticole", "vitrine", "vivace", "vivipare", "vocation", "voguer", "voile", "voisin",
15843"voiture", "volaille", "volcan", "voltiger", "volume", "vorace", "vortex", "voter", "vouloir", "voyage",
15844"voyelle", "wagon", "xénon", "yacht", "zèbre", "zénith", "zeste", "zoologie"]
15845</script>
15846 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15847WORDLISTS["italian"] = [
15848"abaco", "abbaglio", "abbinato", "abete", "abisso", "abolire", "abrasivo", "abrogato", "accadere", "accenno",
15849"accusato", "acetone", "achille", "acido", "acqua", "acre", "acrilico", "acrobata", "acuto", "adagio",
15850"addebito", "addome", "adeguato", "aderire", "adipe", "adottare", "adulare", "affabile", "affetto", "affisso",
15851"affranto", "aforisma", "afoso", "africano", "agave", "agente", "agevole", "aggancio", "agire", "agitare",
15852"agonismo", "agricolo", "agrumeto", "aguzzo", "alabarda", "alato", "albatro", "alberato", "albo", "albume",
15853"alce", "alcolico", "alettone", "alfa", "algebra", "aliante", "alibi", "alimento", "allagato", "allegro",
15854"allievo", "allodola", "allusivo", "almeno", "alogeno", "alpaca", "alpestre", "altalena", "alterno", "alticcio",
15855"altrove", "alunno", "alveolo", "alzare", "amalgama", "amanita", "amarena", "ambito", "ambrato", "ameba",
15856"america", "ametista", "amico", "ammasso", "ammenda", "ammirare", "ammonito", "amore", "ampio", "ampliare",
15857"amuleto", "anacardo", "anagrafe", "analista", "anarchia", "anatra", "anca", "ancella", "ancora", "andare",
15858"andrea", "anello", "angelo", "angolare", "angusto", "anima", "annegare", "annidato", "anno", "annuncio",
15859"anonimo", "anticipo", "anzi", "apatico", "apertura", "apode", "apparire", "appetito", "appoggio", "approdo",
15860"appunto", "aprile", "arabica", "arachide", "aragosta", "araldica", "arancio", "aratura", "arazzo", "arbitro",
15861"archivio", "ardito", "arenile", "argento", "argine", "arguto", "aria", "armonia", "arnese", "arredato",
15862"arringa", "arrosto", "arsenico", "arso", "artefice", "arzillo", "asciutto", "ascolto", "asepsi", "asettico",
15863"asfalto", "asino", "asola", "aspirato", "aspro", "assaggio", "asse", "assoluto", "assurdo", "asta",
15864"astenuto", "astice", "astratto", "atavico", "ateismo", "atomico", "atono", "attesa", "attivare", "attorno",
15865"attrito", "attuale", "ausilio", "austria", "autista", "autonomo", "autunno", "avanzato", "avere", "avvenire",
15866"avviso", "avvolgere", "azione", "azoto", "azzimo", "azzurro", "babele", "baccano", "bacino", "baco",
15867"badessa", "badilata", "bagnato", "baita", "balcone", "baldo", "balena", "ballata", "balzano", "bambino",
15868"bandire", "baraonda", "barbaro", "barca", "baritono", "barlume", "barocco", "basilico", "basso", "batosta",
15869"battuto", "baule", "bava", "bavosa", "becco", "beffa", "belgio", "belva", "benda", "benevole",
15870"benigno", "benzina", "bere", "berlina", "beta", "bibita", "bici", "bidone", "bifido", "biga",
15871"bilancia", "bimbo", "binocolo", "biologo", "bipede", "bipolare", "birbante", "birra", "biscotto", "bisesto",
15872"bisnonno", "bisonte", "bisturi", "bizzarro", "blando", "blatta", "bollito", "bonifico", "bordo", "bosco",
15873"botanico", "bottino", "bozzolo", "braccio", "bradipo", "brama", "branca", "bravura", "bretella", "brevetto",
15874"brezza", "briglia", "brillante", "brindare", "broccolo", "brodo", "bronzina", "brullo", "bruno", "bubbone",
15875"buca", "budino", "buffone", "buio", "bulbo", "buono", "burlone", "burrasca", "bussola", "busta",
15876"cadetto", "caduco", "calamaro", "calcolo", "calesse", "calibro", "calmo", "caloria", "cambusa", "camerata",
15877"camicia", "cammino", "camola", "campale", "canapa", "candela", "cane", "canino", "canotto", "cantina",
15878"capace", "capello", "capitolo", "capogiro", "cappero", "capra", "capsula", "carapace", "carcassa", "cardo",
15879"carisma", "carovana", "carretto", "cartolina", "casaccio", "cascata", "caserma", "caso", "cassone", "castello",
15880"casuale", "catasta", "catena", "catrame", "cauto", "cavillo", "cedibile", "cedrata", "cefalo", "celebre",
15881"cellulare", "cena", "cenone", "centesimo", "ceramica", "cercare", "certo", "cerume", "cervello", "cesoia",
15882"cespo", "ceto", "chela", "chiaro", "chicca", "chiedere", "chimera", "china", "chirurgo", "chitarra",
15883"ciao", "ciclismo", "cifrare", "cigno", "cilindro", "ciottolo", "circa", "cirrosi", "citrico", "cittadino",
15884"ciuffo", "civetta", "civile", "classico", "clinica", "cloro", "cocco", "codardo", "codice", "coerente",
15885"cognome", "collare", "colmato", "colore", "colposo", "coltivato", "colza", "coma", "cometa", "commando",
15886"comodo", "computer", "comune", "conciso", "condurre", "conferma", "congelare", "coniuge", "connesso", "conoscere",
15887"consumo", "continuo", "convegno", "coperto", "copione", "coppia", "copricapo", "corazza", "cordata", "coricato",
15888"cornice", "corolla", "corpo", "corredo", "corsia", "cortese", "cosmico", "costante", "cottura", "covato",
15889"cratere", "cravatta", "creato", "credere", "cremoso", "crescita", "creta", "criceto", "crinale", "crisi",
15890"critico", "croce", "cronaca", "crostata", "cruciale", "crusca", "cucire", "cuculo", "cugino", "cullato",
15891"cupola", "curatore", "cursore", "curvo", "cuscino", "custode", "dado", "daino", "dalmata", "damerino",
15892"daniela", "dannoso", "danzare", "datato", "davanti", "davvero", "debutto", "decennio", "deciso", "declino",
15893"decollo", "decreto", "dedicato", "definito", "deforme", "degno", "delegare", "delfino", "delirio", "delta",
15894"demenza", "denotato", "dentro", "deposito", "derapata", "derivare", "deroga", "descritto", "deserto", "desiderio",
15895"desumere", "detersivo", "devoto", "diametro", "dicembre", "diedro", "difeso", "diffuso", "digerire", "digitale",
15896"diluvio", "dinamico", "dinnanzi", "dipinto", "diploma", "dipolo", "diradare", "dire", "dirotto", "dirupo",
15897"disagio", "discreto", "disfare", "disgelo", "disposto", "distanza", "disumano", "dito", "divano", "divelto",
15898"dividere", "divorato", "doblone", "docente", "doganale", "dogma", "dolce", "domato", "domenica", "dominare",
15899"dondolo", "dono", "dormire", "dote", "dottore", "dovuto", "dozzina", "drago", "druido", "dubbio",
15900"dubitare", "ducale", "duna", "duomo", "duplice", "duraturo", "ebano", "eccesso", "ecco", "eclissi",
15901"economia", "edera", "edicola", "edile", "editoria", "educare", "egemonia", "egli", "egoismo", "egregio",
15902"elaborato", "elargire", "elegante", "elencato", "eletto", "elevare", "elfico", "elica", "elmo", "elsa",
15903"eluso", "emanato", "emblema", "emesso", "emiro", "emotivo", "emozione", "empirico", "emulo", "endemico",
15904"enduro", "energia", "enfasi", "enoteca", "entrare", "enzima", "epatite", "epilogo", "episodio", "epocale",
15905"eppure", "equatore", "erario", "erba", "erboso", "erede", "eremita", "erigere", "ermetico", "eroe",
15906"erosivo", "errante", "esagono", "esame", "esanime", "esaudire", "esca", "esempio", "esercito", "esibito",
15907"esigente", "esistere", "esito", "esofago", "esortato", "esoso", "espanso", "espresso", "essenza", "esso",
15908"esteso", "estimare", "estonia", "estroso", "esultare", "etilico", "etnico", "etrusco", "etto", "euclideo",
15909"europa", "evaso", "evidenza", "evitato", "evoluto", "evviva", "fabbrica", "faccenda", "fachiro", "falco",
15910"famiglia", "fanale", "fanfara", "fango", "fantasma", "fare", "farfalla", "farinoso", "farmaco", "fascia",
15911"fastoso", "fasullo", "faticare", "fato", "favoloso", "febbre", "fecola", "fede", "fegato", "felpa",
15912"feltro", "femmina", "fendere", "fenomeno", "fermento", "ferro", "fertile", "fessura", "festivo", "fetta",
15913"feudo", "fiaba", "fiducia", "fifa", "figurato", "filo", "finanza", "finestra", "finire", "fiore",
15914"fiscale", "fisico", "fiume", "flacone", "flamenco", "flebo", "flemma", "florido", "fluente", "fluoro",
15915"fobico", "focaccia", "focoso", "foderato", "foglio", "folata", "folclore", "folgore", "fondente", "fonetico",
15916"fonia", "fontana", "forbito", "forchetta", "foresta", "formica", "fornaio", "foro", "fortezza", "forzare",
15917"fosfato", "fosso", "fracasso", "frana", "frassino", "fratello", "freccetta", "frenata", "fresco", "frigo",
15918"frollino", "fronde", "frugale", "frutta", "fucilata", "fucsia", "fuggente", "fulmine", "fulvo", "fumante",
15919"fumetto", "fumoso", "fune", "funzione", "fuoco", "furbo", "furgone", "furore", "fuso", "futile",
15920"gabbiano", "gaffe", "galateo", "gallina", "galoppo", "gambero", "gamma", "garanzia", "garbo", "garofano",
15921"garzone", "gasdotto", "gasolio", "gastrico", "gatto", "gaudio", "gazebo", "gazzella", "geco", "gelatina",
15922"gelso", "gemello", "gemmato", "gene", "genitore", "gennaio", "genotipo", "gergo", "ghepardo", "ghiaccio",
15923"ghisa", "giallo", "gilda", "ginepro", "giocare", "gioiello", "giorno", "giove", "girato", "girone",
15924"gittata", "giudizio", "giurato", "giusto", "globulo", "glutine", "gnomo", "gobba", "golf", "gomito",
15925"gommone", "gonfio", "gonna", "governo", "gracile", "grado", "grafico", "grammo", "grande", "grattare",
15926"gravoso", "grazia", "greca", "gregge", "grifone", "grigio", "grinza", "grotta", "gruppo", "guadagno",
15927"guaio", "guanto", "guardare", "gufo", "guidare", "ibernato", "icona", "identico", "idillio", "idolo",
15928"idra", "idrico", "idrogeno", "igiene", "ignaro", "ignorato", "ilare", "illeso", "illogico", "illudere",
15929"imballo", "imbevuto", "imbocco", "imbuto", "immane", "immerso", "immolato", "impacco", "impeto", "impiego",
15930"importo", "impronta", "inalare", "inarcare", "inattivo", "incanto", "incendio", "inchino", "incisivo", "incluso",
15931"incontro", "incrocio", "incubo", "indagine", "india", "indole", "inedito", "infatti", "infilare", "inflitto",
15932"ingaggio", "ingegno", "inglese", "ingordo", "ingrosso", "innesco", "inodore", "inoltrare", "inondato", "insano",
15933"insetto", "insieme", "insonnia", "insulina", "intasato", "intero", "intonaco", "intuito", "inumidire", "invalido",
15934"invece", "invito", "iperbole", "ipnotico", "ipotesi", "ippica", "iride", "irlanda", "ironico", "irrigato",
15935"irrorare", "isolato", "isotopo", "isterico", "istituto", "istrice", "italia", "iterare", "labbro", "labirinto",
15936"lacca", "lacerato", "lacrima", "lacuna", "laddove", "lago", "lampo", "lancetta", "lanterna", "lardoso",
15937"larga", "laringe", "lastra", "latenza", "latino", "lattuga", "lavagna", "lavoro", "legale", "leggero",
15938"lembo", "lentezza", "lenza", "leone", "lepre", "lesivo", "lessato", "lesto", "letterale", "leva",
15939"levigato", "libero", "lido", "lievito", "lilla", "limatura", "limitare", "limpido", "lineare", "lingua",
15940"liquido", "lira", "lirica", "lisca", "lite", "litigio", "livrea", "locanda", "lode", "logica",
15941"lombare", "londra", "longevo", "loquace", "lorenzo", "loto", "lotteria", "luce", "lucidato", "lumaca",
15942"luminoso", "lungo", "lupo", "luppolo", "lusinga", "lusso", "lutto", "macabro", "macchina", "macero",
15943"macinato", "madama", "magico", "maglia", "magnete", "magro", "maiolica", "malafede", "malgrado", "malinteso",
15944"malsano", "malto", "malumore", "mana", "mancia", "mandorla", "mangiare", "manifesto", "mannaro", "manovra",
15945"mansarda", "mantide", "manubrio", "mappa", "maratona", "marcire", "maretta", "marmo", "marsupio", "maschera",
15946"massaia", "mastino", "materasso", "matricola", "mattone", "maturo", "mazurca", "meandro", "meccanico", "mecenate",
15947"medesimo", "meditare", "mega", "melassa", "melis", "melodia", "meninge", "meno", "mensola", "mercurio",
15948"merenda", "merlo", "meschino", "mese", "messere", "mestolo", "metallo", "metodo", "mettere", "miagolare",
15949"mica", "micelio", "michele", "microbo", "midollo", "miele", "migliore", "milano", "milite", "mimosa",
15950"minerale", "mini", "minore", "mirino", "mirtillo", "miscela", "missiva", "misto", "misurare", "mitezza",
15951"mitigare", "mitra", "mittente", "mnemonico", "modello", "modifica", "modulo", "mogano", "mogio", "mole",
15952"molosso", "monastero", "monco", "mondina", "monetario", "monile", "monotono", "monsone", "montato", "monviso",
15953"mora", "mordere", "morsicato", "mostro", "motivato", "motosega", "motto", "movenza", "movimento", "mozzo",
15954"mucca", "mucosa", "muffa", "mughetto", "mugnaio", "mulatto", "mulinello", "multiplo", "mummia", "munto",
15955"muovere", "murale", "musa", "muscolo", "musica", "mutevole", "muto", "nababbo", "nafta", "nanometro",
15956"narciso", "narice", "narrato", "nascere", "nastrare", "naturale", "nautica", "naviglio", "nebulosa", "necrosi",
15957"negativo", "negozio", "nemmeno", "neofita", "neretto", "nervo", "nessuno", "nettuno", "neutrale", "neve",
15958"nevrotico", "nicchia", "ninfa", "nitido", "nobile", "nocivo", "nodo", "nome", "nomina", "nordico",
15959"normale", "norvegese", "nostrano", "notare", "notizia", "notturno", "novella", "nucleo", "nulla", "numero",
15960"nuovo", "nutrire", "nuvola", "nuziale", "oasi", "obbedire", "obbligo", "obelisco", "oblio", "obolo",
15961"obsoleto", "occasione", "occhio", "occidente", "occorrere", "occultare", "ocra", "oculato", "odierno", "odorare",
15962"offerta", "offrire", "offuscato", "oggetto", "oggi", "ognuno", "olandese", "olfatto", "oliato", "oliva",
15963"ologramma", "oltre", "omaggio", "ombelico", "ombra", "omega", "omissione", "ondoso", "onere", "onice",
15964"onnivoro", "onorevole", "onta", "operato", "opinione", "opposto", "oracolo", "orafo", "ordine", "orecchino",
15965"orefice", "orfano", "organico", "origine", "orizzonte", "orma", "ormeggio", "ornativo", "orologio", "orrendo",
15966"orribile", "ortensia", "ortica", "orzata", "orzo", "osare", "oscurare", "osmosi", "ospedale", "ospite",
15967"ossa", "ossidare", "ostacolo", "oste", "otite", "otre", "ottagono", "ottimo", "ottobre", "ovale",
15968"ovest", "ovino", "oviparo", "ovocito", "ovunque", "ovviare", "ozio", "pacchetto", "pace", "pacifico",
15969"padella", "padrone", "paese", "paga", "pagina", "palazzina", "palesare", "pallido", "palo", "palude",
15970"pandoro", "pannello", "paolo", "paonazzo", "paprica", "parabola", "parcella", "parere", "pargolo", "pari",
15971"parlato", "parola", "partire", "parvenza", "parziale", "passivo", "pasticca", "patacca", "patologia", "pattume",
15972"pavone", "peccato", "pedalare", "pedonale", "peggio", "peloso", "penare", "pendice", "penisola", "pennuto",
15973"penombra", "pensare", "pentola", "pepe", "pepita", "perbene", "percorso", "perdonato", "perforare", "pergamena",
15974"periodo", "permesso", "perno", "perplesso", "persuaso", "pertugio", "pervaso", "pesatore", "pesista", "peso",
15975"pestifero", "petalo", "pettine", "petulante", "pezzo", "piacere", "pianta", "piattino", "piccino", "picozza",
15976"piega", "pietra", "piffero", "pigiama", "pigolio", "pigro", "pila", "pilifero", "pillola", "pilota",
15977"pimpante", "pineta", "pinna", "pinolo", "pioggia", "piombo", "piramide", "piretico", "pirite", "pirolisi",
15978"pitone", "pizzico", "placebo", "planare", "plasma", "platano", "plenario", "pochezza", "poderoso", "podismo",
15979"poesia", "poggiare", "polenta", "poligono", "pollice", "polmonite", "polpetta", "polso", "poltrona", "polvere",
15980"pomice", "pomodoro", "ponte", "popoloso", "porfido", "poroso", "porpora", "porre", "portata", "posa",
15981"positivo", "possesso", "postulato", "potassio", "potere", "pranzo", "prassi", "pratica", "precluso", "predica",
15982"prefisso", "pregiato", "prelievo", "premere", "prenotare", "preparato", "presenza", "pretesto", "prevalso", "prima",
15983"principe", "privato", "problema", "procura", "produrre", "profumo", "progetto", "prolunga", "promessa", "pronome",
15984"proposta", "proroga", "proteso", "prova", "prudente", "prugna", "prurito", "psiche", "pubblico", "pudica",
15985"pugilato", "pugno", "pulce", "pulito", "pulsante", "puntare", "pupazzo", "pupilla", "puro", "quadro",
15986"qualcosa", "quasi", "querela", "quota", "raccolto", "raddoppio", "radicale", "radunato", "raffica", "ragazzo",
15987"ragione", "ragno", "ramarro", "ramingo", "ramo", "randagio", "rantolare", "rapato", "rapina", "rappreso",
15988"rasatura", "raschiato", "rasente", "rassegna", "rastrello", "rata", "ravveduto", "reale", "recepire", "recinto",
15989"recluta", "recondito", "recupero", "reddito", "redimere", "regalato", "registro", "regola", "regresso", "relazione",
15990"remare", "remoto", "renna", "replica", "reprimere", "reputare", "resa", "residente", "responso", "restauro",
15991"rete", "retina", "retorica", "rettifica", "revocato", "riassunto", "ribadire", "ribelle", "ribrezzo", "ricarica",
15992"ricco", "ricevere", "riciclato", "ricordo", "ricreduto", "ridicolo", "ridurre", "rifasare", "riflesso", "riforma",
15993"rifugio", "rigare", "rigettato", "righello", "rilassato", "rilevato", "rimanere", "rimbalzo", "rimedio", "rimorchio",
15994"rinascita", "rincaro", "rinforzo", "rinnovo", "rinomato", "rinsavito", "rintocco", "rinuncia", "rinvenire", "riparato",
15995"ripetuto", "ripieno", "riportare", "ripresa", "ripulire", "risata", "rischio", "riserva", "risibile", "riso",
15996"rispetto", "ristoro", "risultato", "risvolto", "ritardo", "ritegno", "ritmico", "ritrovo", "riunione", "riva",
15997"riverso", "rivincita", "rivolto", "rizoma", "roba", "robotico", "robusto", "roccia", "roco", "rodaggio",
15998"rodere", "roditore", "rogito", "rollio", "romantico", "rompere", "ronzio", "rosolare", "rospo", "rotante",
15999"rotondo", "rotula", "rovescio", "rubizzo", "rubrica", "ruga", "rullino", "rumine", "rumoroso", "ruolo",
16000"rupe", "russare", "rustico", "sabato", "sabbiare", "sabotato", "sagoma", "salasso", "saldatura", "salgemma",
16001"salivare", "salmone", "salone", "saltare", "saluto", "salvo", "sapere", "sapido", "saporito", "saraceno",
16002"sarcasmo", "sarto", "sassoso", "satellite", "satira", "satollo", "saturno", "savana", "savio", "saziato",
16003"sbadiglio", "sbalzo", "sbancato", "sbarra", "sbattere", "sbavare", "sbendare", "sbirciare", "sbloccato", "sbocciato",
16004"sbrinare", "sbruffone", "sbuffare", "scabroso", "scadenza", "scala", "scambiare", "scandalo", "scapola", "scarso",
16005"scatenare", "scavato", "scelto", "scenico", "scettro", "scheda", "schiena", "sciarpa", "scienza", "scindere",
16006"scippo", "sciroppo", "scivolo", "sclerare", "scodella", "scolpito", "scomparto", "sconforto", "scoprire", "scorta",
16007"scossone", "scozzese", "scriba", "scrollare", "scrutinio", "scuderia", "scultore", "scuola", "scuro", "scusare",
16008"sdebitare", "sdoganare", "seccatura", "secondo", "sedano", "seggiola", "segnalato", "segregato", "seguito", "selciato",
16009"selettivo", "sella", "selvaggio", "semaforo", "sembrare", "seme", "seminato", "sempre", "senso", "sentire",
16010"sepolto", "sequenza", "serata", "serbato", "sereno", "serio", "serpente", "serraglio", "servire", "sestina",
16011"setola", "settimana", "sfacelo", "sfaldare", "sfamato", "sfarzoso", "sfaticato", "sfera", "sfida", "sfilato",
16012"sfinge", "sfocato", "sfoderare", "sfogo", "sfoltire", "sforzato", "sfratto", "sfruttato", "sfuggito", "sfumare",
16013"sfuso", "sgabello", "sgarbato", "sgonfiare", "sgorbio", "sgrassato", "sguardo", "sibilo", "siccome", "sierra",
16014"sigla", "signore", "silenzio", "sillaba", "simbolo", "simpatico", "simulato", "sinfonia", "singolo", "sinistro",
16015"sino", "sintesi", "sinusoide", "sipario", "sisma", "sistole", "situato", "slitta", "slogatura", "sloveno",
16016"smarrito", "smemorato", "smentito", "smeraldo", "smilzo", "smontare", "smottato", "smussato", "snellire", "snervato",
16017"snodo", "sobbalzo", "sobrio", "soccorso", "sociale", "sodale", "soffitto", "sogno", "soldato", "solenne",
16018"solido", "sollazzo", "solo", "solubile", "solvente", "somatico", "somma", "sonda", "sonetto", "sonnifero",
16019"sopire", "soppeso", "sopra", "sorgere", "sorpasso", "sorriso", "sorso", "sorteggio", "sorvolato", "sospiro",
16020"sosta", "sottile", "spada", "spalla", "spargere", "spatola", "spavento", "spazzola", "specie", "spedire",
16021"spegnere", "spelatura", "speranza", "spessore", "spettrale", "spezzato", "spia", "spigoloso", "spillato", "spinoso",
16022"spirale", "splendido", "sportivo", "sposo", "spranga", "sprecare", "spronato", "spruzzo", "spuntino", "squillo",
16023"sradicare", "srotolato", "stabile", "stacco", "staffa", "stagnare", "stampato", "stantio", "starnuto", "stasera",
16024"statuto", "stelo", "steppa", "sterzo", "stiletto", "stima", "stirpe", "stivale", "stizzoso", "stonato",
16025"storico", "strappo", "stregato", "stridulo", "strozzare", "strutto", "stuccare", "stufo", "stupendo", "subentro",
16026"succoso", "sudore", "suggerito", "sugo", "sultano", "suonare", "superbo", "supporto", "surgelato", "surrogato",
16027"sussurro", "sutura", "svagare", "svedese", "sveglio", "svelare", "svenuto", "svezia", "sviluppo", "svista",
16028"svizzera", "svolta", "svuotare", "tabacco", "tabulato", "tacciare", "taciturno", "tale", "talismano", "tampone",
16029"tannino", "tara", "tardivo", "targato", "tariffa", "tarpare", "tartaruga", "tasto", "tattico", "taverna",
16030"tavolata", "tazza", "teca", "tecnico", "telefono", "temerario", "tempo", "temuto", "tendone", "tenero",
16031"tensione", "tentacolo", "teorema", "terme", "terrazzo", "terzetto", "tesi", "tesserato", "testato", "tetro",
16032"tettoia", "tifare", "tigella", "timbro", "tinto", "tipico", "tipografo", "tiraggio", "tiro", "titanio",
16033"titolo", "titubante", "tizio", "tizzone", "toccare", "tollerare", "tolto", "tombola", "tomo", "tonfo",
16034"tonsilla", "topazio", "topologia", "toppa", "torba", "tornare", "torrone", "tortora", "toscano", "tossire",
16035"tostatura", "totano", "trabocco", "trachea", "trafila", "tragedia", "tralcio", "tramonto", "transito", "trapano",
16036"trarre", "trasloco", "trattato", "trave", "treccia", "tremolio", "trespolo", "tributo", "tricheco", "trifoglio",
16037"trillo", "trincea", "trio", "tristezza", "triturato", "trivella", "tromba", "trono", "troppo", "trottola",
16038"trovare", "truccato", "tubatura", "tuffato", "tulipano", "tumulto", "tunisia", "turbare", "turchino", "tuta",
16039"tutela", "ubicato", "uccello", "uccisore", "udire", "uditivo", "uffa", "ufficio", "uguale", "ulisse",
16040"ultimato", "umano", "umile", "umorismo", "uncinetto", "ungere", "ungherese", "unicorno", "unificato", "unisono",
16041"unitario", "unte", "uovo", "upupa", "uragano", "urgenza", "urlo", "usanza", "usato", "uscito",
16042"usignolo", "usuraio", "utensile", "utilizzo", "utopia", "vacante", "vaccinato", "vagabondo", "vagliato", "valanga",
16043"valgo", "valico", "valletta", "valoroso", "valutare", "valvola", "vampata", "vangare", "vanitoso", "vano",
16044"vantaggio", "vanvera", "vapore", "varano", "varcato", "variante", "vasca", "vedetta", "vedova", "veduto",
16045"vegetale", "veicolo", "velcro", "velina", "velluto", "veloce", "venato", "vendemmia", "vento", "verace",
16046"verbale", "vergogna", "verifica", "vero", "verruca", "verticale", "vescica", "vessillo", "vestale", "veterano",
16047"vetrina", "vetusto", "viandante", "vibrante", "vicenda", "vichingo", "vicinanza", "vidimare", "vigilia", "vigneto",
16048"vigore", "vile", "villano", "vimini", "vincitore", "viola", "vipera", "virgola", "virologo", "virulento",
16049"viscoso", "visione", "vispo", "vissuto", "visura", "vita", "vitello", "vittima", "vivanda", "vivido",
16050"viziare", "voce", "voga", "volatile", "volere", "volpe", "voragine", "vulcano", "zampogna", "zanna",
16051"zappato", "zattera", "zavorra", "zefiro", "zelante", "zelo", "zenzero", "zerbino", "zibetto", "zinco",
16052"zircone", "zitto", "zolla", "zotico", "zucchero", "zufolo", "zulu", "zuppa"]
dc55c6b0 16053</script>
ab78acc6 16054 <script>/*
3af2954a
IC
16055 * Copyright (c) 2013 Pavol Rusnak
16056 *
16057 * Permission is hereby granted, free of charge, to any person obtaining a copy of
16058 * this software and associated documentation files (the "Software"), to deal in
16059 * the Software without restriction, including without limitation the rights to
16060 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16061 * of the Software, and to permit persons to whom the Software is furnished to do
16062 * so, subject to the following conditions:
16063 *
16064 * The above copyright notice and this permission notice shall be included in all
16065 * copies or substantial portions of the Software.
16066 *
16067 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16068 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16069 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16070 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16071 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16072 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16073 */
16074
16075/*
16076 * Javascript port from python by Ian Coleman
16077 *
80c4dd2a
IC
16078 * Requires code from sjcl
16079 * https://github.com/bitwiseshiftleft/sjcl
3af2954a
IC
16080 */
16081
16082var Mnemonic = function(language) {
16083
16084 var PBKDF2_ROUNDS = 2048;
16085 var RADIX = 2048;
16086
16087 var self = this;
16088 var wordlist = [];
16089
80c4dd2a
IC
16090 var hmacSHA512 = function(key) {
16091 var hasher = new sjcl.misc.hmac(key, sjcl.hash.sha512);
16092 this.encrypt = function() {
16093 return hasher.encrypt.apply(hasher, arguments);
16094 };
16095 };
16096
3af2954a
IC
16097 function init() {
16098 wordlist = WORDLISTS[language];
16099 if (wordlist.length != RADIX) {
16100 err = 'Wordlist should contain ' + RADIX + ' words, but it contains ' + wordlist.length + ' words.';
16101 throw err;
16102 }
16103 }
16104
16105 self.generate = function(strength) {
16106 strength = strength || 128;
16107 var r = strength % 32;
16108 if (r > 0) {
16109 throw 'Strength should be divisible by 32, but it is not (' + r + ').';
16110 }
16111 var hasStrongCrypto = 'crypto' in window && window['crypto'] !== null;
16112 if (!hasStrongCrypto) {
16113 throw 'Mnemonic should be generated with strong randomness, but crypto.getRandomValues is unavailable';
16114 }
16115 var buffer = new Uint8Array(strength / 8);
16116 var data = crypto.getRandomValues(buffer);
16117 return self.toMnemonic(data);
16118 }
16119
80c4dd2a
IC
16120 self.toMnemonic = function(byteArray) {
16121 if (byteArray.length % 4 > 0) {
16122 throw 'Data length in bits should be divisible by 32, but it is not (' + byteArray.length + ' bytes = ' + byteArray.length*8 + ' bits).'
3af2954a
IC
16123 }
16124
16125 //h = hashlib.sha256(data).hexdigest()
80c4dd2a
IC
16126 var data = byteArrayToWordArray(byteArray);
16127 var hash = sjcl.hash.sha256.hash(data);
16128 var h = sjcl.codec.hex.fromBits(hash);
3af2954a
IC
16129
16130 // b is a binary string, eg '00111010101100...'
16131 //b = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8) + \
16132 // bin(int(h, 16))[2:].zfill(256)[:len(data) * 8 / 32]
16133 //
16134 // a = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8)
16135 // c = bin(int(h, 16))[2:].zfill(256)
16136 // d = c[:len(data) * 8 / 32]
80c4dd2a
IC
16137 var a = byteArrayToBinaryString(byteArray);
16138 var c = zfill(hexStringToBinaryString(h), 256);
16139 var d = c.substring(0, byteArray.length * 8 / 32);
3af2954a
IC
16140 // b = line1 + line2
16141 var b = a + d;
16142
16143 var result = [];
16144 var blen = b.length / 11;
16145 for (var i=0; i<blen; i++) {
16146 var idx = parseInt(b.substring(i * 11, (i + 1) * 11), 2);
16147 result.push(wordlist[idx]);
16148 }
0515eeec 16149 return self.joinWords(result);
3af2954a
IC
16150 }
16151
16152 self.check = function(mnemonic) {
0515eeec 16153 var mnemonic = self.splitWords(mnemonic);
18abe53b 16154 if (mnemonic.length == 0 || mnemonic.length % 3 > 0) {
3af2954a
IC
16155 return false
16156 }
16157 // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic)
16158 var idx = [];
16159 for (var i=0; i<mnemonic.length; i++) {
16160 var word = mnemonic[i];
16161 var wordIndex = wordlist.indexOf(word);
16162 if (wordIndex == -1) {
16163 return false;
16164 }
16165 var binaryIndex = zfill(wordIndex.toString(2), 11);
16166 idx.push(binaryIndex);
16167 }
16168 var b = idx.join('');
16169 var l = b.length;
16170 //d = b[:l / 33 * 32]
16171 //h = b[-l / 33:]
16172 var d = b.substring(0, l / 33 * 32);
16173 var h = b.substring(l - l / 33, l);
16174 //nd = binascii.unhexlify(hex(int(d, 2))[2:].rstrip('L').zfill(l / 33 * 8))
80c4dd2a 16175 var nd = binaryStringToWordArray(d);
3af2954a 16176 //nh = bin(int(hashlib.sha256(nd).hexdigest(), 16))[2:].zfill(256)[:l / 33]
80c4dd2a
IC
16177 var ndHash = sjcl.hash.sha256.hash(nd);
16178 var ndHex = sjcl.codec.hex.fromBits(ndHash);
16179 var ndBstr = zfill(hexStringToBinaryString(ndHex), 256);
3af2954a
IC
16180 var nh = ndBstr.substring(0,l/33);
16181 return h == nh;
16182 }
16183
16184 self.toSeed = function(mnemonic, passphrase) {
16185 passphrase = passphrase || '';
0515eeec 16186 mnemonic = self.joinWords(self.splitWords(self.normalizeString(mnemonic))); // removes blanks
3af2954a
IC
16187 passphrase = self.normalizeString(passphrase)
16188 passphrase = "mnemonic" + passphrase;
80c4dd2a
IC
16189 var mnemonicBits = sjcl.codec.utf8String.toBits(mnemonic);
16190 var passphraseBits = sjcl.codec.utf8String.toBits(passphrase);
16191 var result = sjcl.misc.pbkdf2(mnemonicBits, passphraseBits, PBKDF2_ROUNDS, 512, hmacSHA512);
16192 var hashHex = sjcl.codec.hex.fromBits(result);
16193 return hashHex;
3af2954a
IC
16194 }
16195
0515eeec
IC
16196 self.splitWords = function(mnemonic) {
16197 return mnemonic.split(/\s/g).filter(function(x) { return x.length; });
16198 }
16199
16200 self.joinWords = function(words) {
16201 // Set space correctly depending on the language
16202 // see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
16203 var space = " ";
16204 if (language == "japanese") {
16205 space = "\u3000"; // ideographic space
16206 }
16207 return words.join(space);
16208 }
16209
3af2954a
IC
16210 self.normalizeString = function(str) {
16211 if (typeof str.normalize == "function") {
16212 return str.normalize("NFKD");
16213 }
16214 else {
16215 // TODO decide how to handle this in the future.
16216 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
16217 return str;
16218 }
16219 }
16220
80c4dd2a
IC
16221 function byteArrayToWordArray(data) {
16222 var a = [];
16223 for (var i=0; i<data.length/4; i++) {
16224 v = 0;
16225 v += data[i*4 + 0] << 8 * 3;
16226 v += data[i*4 + 1] << 8 * 2;
16227 v += data[i*4 + 2] << 8 * 1;
16228 v += data[i*4 + 3] << 8 * 0;
16229 a.push(v);
16230 }
16231 return a;
16232 }
16233
3af2954a
IC
16234 function byteArrayToBinaryString(data) {
16235 var bin = "";
16236 for (var i=0; i<data.length; i++) {
16237 bin += zfill(data[i].toString(2), 8);
16238 }
16239 return bin;
16240 }
16241
80c4dd2a
IC
16242 function hexStringToBinaryString(hexString) {
16243 binaryString = "";
16244 for (var i=0; i<hexString.length; i++) {
16245 binaryString += zfill(parseInt(hexString[i], 16).toString(2),4);
16246 }
16247 return binaryString;
16248 }
16249
16250 function binaryStringToWordArray(binary) {
16251 var aLen = binary.length / 32;
16252 var a = [];
16253 for (var i=0; i<aLen; i++) {
16254 var valueStr = binary.substring(0,32);
3af2954a 16255 var value = parseInt(valueStr, 2);
80c4dd2a
IC
16256 a.push(value);
16257 binary = binary.slice(32);
3af2954a 16258 }
80c4dd2a 16259 return a;
3af2954a
IC
16260 }
16261
16262 // Pad a numeric string on the left with zero digits until the given width
16263 // is reached.
16264 // Note this differs to the python implementation because it does not
16265 // handle numbers starting with a sign.
16266 function zfill(source, length) {
16267 source = source.toString();
16268 while (source.length < length) {
16269 source = '0' + source;
16270 }
16271 return source;
16272 }
16273
16274 init();
ebd8d4e8 16275
3af2954a 16276}
dc55c6b0 16277</script>
18abe53b
IC
16278 <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){
16279var 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;
16280
16281},{}],2:[function(require,module,exports){
16282var 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;
c6624d51 16283
18abe53b
IC
16284},{"./scoring":6}],3:[function(require,module,exports){
16285var 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(","),
16286english_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(","),
16287female_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(","),
16288us_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(","),
16289male_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;
16290
16291},{}],4:[function(require,module,exports){
16292var 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;
16293
16294},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){
16295var 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;
16296
16297},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){
16298var 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;
16299
16300},{"./adjacency_graphs":1}],7:[function(require,module,exports){
16301var 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;
16302
16303},{}]},{},[4])(4)
16304});
16305//# sourceMappingURL=zxcvbn.js.map
16306</script>
16307 <script>/*
16308 * Detects entropy from a string.
16309 *
16310 * Formats include:
16311 * binary [0-1]
16312 * base 6 [0-5]
16313 * dice 6 [1-6]
16314 * decimal [0-9]
16315 * hexadecimal [0-9A-F]
16316 *
16317 * Automatically uses lowest entropy to avoid issues such as interpretting 0101
16318 * as hexadecimal which would be 16 bits when really it's only 4 bits of binary
16319 * entropy.
16320 */
16321
16322window.Entropy = new (function() {
16323
16324 // matchers returns an array of the matched events for each type of entropy.
16325 // eg
16326 // matchers.binary("010") returns ["0", "1", "0"]
16327 // matchers.binary("a10") returns ["1", "0"]
16328 // matchers.hex("a10") returns ["a", "1", "0"]
c6624d51 16329 var matchers = {
18abe53b
IC
16330 binary: function(str) {
16331 return str.match(/[0-1]/gi) || [];
16332 },
16333 base6: function(str) {
16334 return str.match(/[0-5]/gi) || [];
16335 },
16336 dice: function(str) {
16337 return str.match(/[1-6]/gi) || []; // ie dice numbers
16338 },
16339 base10: function(str) {
16340 return str.match(/[0-9]/gi) || [];
16341 },
16342 hex: function(str) {
16343 return str.match(/[0-9A-F]/gi) || [];
16344 },
16345 card: function(str) {
16346 // Format is NumberSuit, eg
16347 // AH ace of hearts
16348 // 8C eight of clubs
16349 // TD ten of diamonds
16350 // JS jack of spades
16351 // QH queen of hearts
16352 // KC king of clubs
16353 return str.match(/([A2-9TJQK][CDHS])/gi) || [];
16354 }
16355 }
16356
16357 // Convert array of cards from ["ac", "4d", "ks"]
16358 // to numbers between 0 and 51 [0, 16, 51]
16359 function convertCardsToInts(cards) {
16360 var ints = [];
16361 var values = "a23456789tjqk";
16362 var suits = "cdhs";
16363 for (var i=0; i<cards.length; i++) {
16364 var card = cards[i].toLowerCase();
16365 var value = card[0];
16366 var suit = card[1];
16367 var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
16368 ints.push(asInt);
16369 }
16370 return ints;
c6624d51
IC
16371 }
16372
16373 this.fromString = function(rawEntropyStr) {
16374 // Find type of entropy being used (binary, hex, dice etc)
16375 var base = getBase(rawEntropyStr);
16376 // Convert dice to base6 entropy (ie 1-6 to 0-5)
18abe53b 16377 // This is done by changing all 6s to 0s
c6624d51 16378 if (base.str == "dice") {
18abe53b
IC
16379 var newParts = [];
16380 var newInts = [];
16381 for (var i=0; i<base.parts.length; i++) {
16382 var c = base.parts[i];
16383 if ("12345".indexOf(c) > -1) {
16384 newParts[i] = base.parts[i];
16385 newInts[i] = base.ints[i];
c6624d51
IC
16386 }
16387 else {
18abe53b
IC
16388 newParts[i] = "0";
16389 newInts[i] = 0;
c6624d51
IC
16390 }
16391 }
c6624d51 16392 base.str = "base 6 (dice)";
18abe53b
IC
16393 base.ints = newInts;
16394 base.parts = newParts;
c6624d51 16395 base.matcher = matchers.base6;
54563907 16396 }
c6624d51 16397 // Detect empty entropy
18abe53b 16398 if (base.parts.length == 0) {
c6624d51
IC
16399 return {
16400 binaryStr: "",
c6624d51 16401 cleanStr: "",
2a6dd137 16402 cleanHtml: "",
c6624d51
IC
16403 base: base,
16404 };
54563907 16405 }
18abe53b
IC
16406 // Convert base.ints to BigInteger.
16407 // Due to using unusual bases, eg cards of base52, this is not as simple as
16408 // using BigInteger.parse()
16409 var entropyInt = BigInteger.ZERO;
16410 for (var i=base.ints.length-1; i>=0; i--) {
16411 var thisInt = BigInteger.parse(base.ints[i]);
16412 var power = (base.ints.length - 1) - i;
16413 var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
16414 entropyInt = entropyInt.add(additionalEntropy);
ebd8d4e8 16415 }
18abe53b
IC
16416 // Convert entropy to binary
16417 var entropyBin = entropyInt.toString(2);
16418 // If the first integer is small, it must be padded with zeros.
16419 // Otherwise the chance of the first bit being 1 is 100%, which is
16420 // obviously incorrect.
16421 // This is not perfect for non-2^n bases.
16422 var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
16423 while (entropyBin.length < expectedBits) {
16424 entropyBin = "0" + entropyBin;
efe41586 16425 }
18abe53b
IC
16426 // Supply a 'filtered' entropy string for display purposes
16427 var entropyClean = base.parts.join("");
2a6dd137 16428 var entropyHtml = base.parts.join("");
18abe53b
IC
16429 if (base.asInt == 52) {
16430 entropyClean = base.parts.join(" ").toUpperCase();
16431 entropyClean = entropyClean.replace(/C/g, "\u2663");
16432 entropyClean = entropyClean.replace(/D/g, "\u2666");
16433 entropyClean = entropyClean.replace(/H/g, "\u2665");
16434 entropyClean = entropyClean.replace(/S/g, "\u2660");
2a6dd137
IC
16435 entropyHtml = base.parts.join(" ").toUpperCase();
16436 entropyHtml = entropyHtml.replace(/C/g, "<span class='card-suit club'>\u2663</span>");
16437 entropyHtml = entropyHtml.replace(/D/g, "<span class='card-suit diamond'>\u2666</span>");
16438 entropyHtml = entropyHtml.replace(/H/g, "<span class='card-suit heart'>\u2665</span>");
16439 entropyHtml = entropyHtml.replace(/S/g, "<span class='card-suit spade'>\u2660</span>");
efe41586 16440 }
c6624d51
IC
16441 var e = {
16442 binaryStr: entropyBin,
c6624d51 16443 cleanStr: entropyClean,
2a6dd137 16444 cleanHtml: entropyHtml,
c6624d51 16445 base: base,
efe41586 16446 }
c6624d51
IC
16447 return e;
16448 }
16449
16450 function getBase(str) {
16451 // Need to get the lowest base for the supplied entropy.
16452 // This prevents interpreting, say, dice rolls as hexadecimal.
18abe53b
IC
16453 var binaryMatches = matchers.binary(str);
16454 var hexMatches = matchers.hex(str);
c6624d51 16455 // Find the lowest base that can be used, whilst ignoring any irrelevant chars
18abe53b
IC
16456 if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
16457 var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
c6624d51 16458 return {
18abe53b
IC
16459 ints: ints,
16460 parts: binaryMatches,
c6624d51
IC
16461 matcher: matchers.binary,
16462 asInt: 2,
16463 str: "binary",
16464 }
ebd8d4e8 16465 }
18abe53b
IC
16466 var cardMatches = matchers.card(str);
16467 if (cardMatches.length >= hexMatches.length / 2) {
16468 var ints = convertCardsToInts(cardMatches);
c6624d51 16469 return {
18abe53b
IC
16470 ints: ints,
16471 parts: cardMatches,
16472 matcher: matchers.card,
16473 asInt: 52,
16474 str: "card",
16475 }
16476 }
16477 var diceMatches = matchers.dice(str);
16478 if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
16479 var ints = diceMatches.map(function(i) { return parseInt(i) });
16480 return {
16481 ints: ints,
16482 parts: diceMatches,
c6624d51
IC
16483 matcher: matchers.dice,
16484 asInt: 6,
16485 str: "dice",
ebd8d4e8 16486 }
c6624d51 16487 }
18abe53b
IC
16488 var base6Matches = matchers.base6(str);
16489 if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
16490 var ints = base6Matches.map(function(i) { return parseInt(i) });
c6624d51 16491 return {
18abe53b
IC
16492 ints: ints,
16493 parts: base6Matches,
c6624d51
IC
16494 matcher: matchers.base6,
16495 asInt: 6,
16496 str: "base 6",
0515eeec 16497 }
c6624d51 16498 }
18abe53b
IC
16499 var base10Matches = matchers.base10(str);
16500 if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
16501 var ints = base10Matches.map(function(i) { return parseInt(i) });
c6624d51 16502 return {
18abe53b
IC
16503 ints: ints,
16504 parts: base10Matches,
c6624d51
IC
16505 matcher: matchers.base10,
16506 asInt: 10,
16507 str: "base 10",
0515eeec 16508 }
c6624d51 16509 }
18abe53b 16510 var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
c6624d51 16511 return {
18abe53b
IC
16512 ints: ints,
16513 parts: hexMatches,
c6624d51
IC
16514 matcher: matchers.hex,
16515 asInt: 16,
16516 str: "hexadecimal",
16517 }
0515eeec
IC
16518 }
16519
c6624d51
IC
16520 // Polyfill for Math.log2
16521 // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
16522 Math.log2 = Math.log2 || function(x) {
18abe53b
IC
16523 // The polyfill isn't good enough because of the poor accuracy of
16524 // Math.LOG2E
16525 // log2(8) gave 2.9999999999999996 which when floored causes issues.
16526 // So instead use the BigInteger library to get it right.
16527 return BigInteger.log(x) / BigInteger.log(2);
c6624d51 16528 };
ebd8d4e8 16529
c6624d51 16530})();
ebd8d4e8 16531
1b12b2f5 16532
c6624d51
IC
16533// BigInteger library included here because
16534// only the entropy library depends on it
16535// so if entropy detection is removed so is the dependency
ebd8d4e8 16536
ebd8d4e8 16537
c6624d51
IC
16538/*
16539 JavaScript BigInteger library version 0.9.1
16540 http://silentmatt.com/biginteger/
ebd8d4e8 16541
c6624d51
IC
16542 Copyright (c) 2009 Matthew Crumley <email@matthewcrumley.com>
16543 Copyright (c) 2010,2011 by John Tobey <John.Tobey@gmail.com>
16544 Licensed under the MIT license.
efe41586 16545
c6624d51
IC
16546 Support for arbitrary internal representation base was added by
16547 Vitaly Magerya.
16548*/
efe41586 16549
c6624d51
IC
16550/*
16551 File: biginteger.js
16552
16553 Exports:
16554
16555 <BigInteger>
16556*/
16557(function(exports) {
16558"use strict";
16559/*
16560 Class: BigInteger
16561 An arbitrarily-large integer.
16562
16563 <BigInteger> objects should be considered immutable. None of the "built-in"
16564 methods modify *this* or their arguments. All properties should be
16565 considered private.
16566
16567 All the methods of <BigInteger> instances can be called "statically". The
16568 static versions are convenient if you don't already have a <BigInteger>
16569 object.
16570
16571 As an example, these calls are equivalent.
16572
16573 > BigInteger(4).multiply(5); // returns BigInteger(20);
16574 > BigInteger.multiply(4, 5); // returns BigInteger(20);
16575
16576 > var a = 42;
16577 > var a = BigInteger.toJSValue("0b101010"); // Not completely useless...
16578*/
16579
16580var CONSTRUCT = {}; // Unique token to call "private" version of constructor
16581
16582/*
16583 Constructor: BigInteger()
16584 Convert a value to a <BigInteger>.
16585
16586 Although <BigInteger()> is the constructor for <BigInteger> objects, it is
16587 best not to call it as a constructor. If *n* is a <BigInteger> object, it is
16588 simply returned as-is. Otherwise, <BigInteger()> is equivalent to <parse>
16589 without a radix argument.
16590
16591 > var n0 = BigInteger(); // Same as <BigInteger.ZERO>
16592 > var n1 = BigInteger("123"); // Create a new <BigInteger> with value 123
16593 > var n2 = BigInteger(123); // Create a new <BigInteger> with value 123
16594 > var n3 = BigInteger(n2); // Return n2, unchanged
16595
16596 The constructor form only takes an array and a sign. *n* must be an
16597 array of numbers in little-endian order, where each digit is between 0
16598 and BigInteger.base. The second parameter sets the sign: -1 for
16599 negative, +1 for positive, or 0 for zero. The array is *not copied and
16600 may be modified*. If the array contains only zeros, the sign parameter
16601 is ignored and is forced to zero.
16602
16603 > new BigInteger([5], -1): create a new BigInteger with value -5
16604
16605 Parameters:
16606
16607 n - Value to convert to a <BigInteger>.
16608
16609 Returns:
16610
16611 A <BigInteger> value.
16612
16613 See Also:
16614
16615 <parse>, <BigInteger>
16616*/
16617function BigInteger(n, s, token) {
16618 if (token !== CONSTRUCT) {
16619 if (n instanceof BigInteger) {
16620 return n;
16621 }
16622 else if (typeof n === "undefined") {
16623 return ZERO;
16624 }
16625 return BigInteger.parse(n);
16626 }
16627
16628 n = n || []; // Provide the nullary constructor for subclasses.
16629 while (n.length && !n[n.length - 1]) {
16630 --n.length;
16631 }
16632 this._d = n;
16633 this._s = n.length ? (s || 1) : 0;
16634}
16635
16636BigInteger._construct = function(n, s) {
16637 return new BigInteger(n, s, CONSTRUCT);
16638};
16639
16640// Base-10 speedup hacks in parse, toString, exp10 and log functions
16641// require base to be a power of 10. 10^7 is the largest such power
16642// that won't cause a precision loss when digits are multiplied.
16643var BigInteger_base = 10000000;
16644var BigInteger_base_log10 = 7;
16645
16646BigInteger.base = BigInteger_base;
16647BigInteger.base_log10 = BigInteger_base_log10;
16648
16649var ZERO = new BigInteger([], 0, CONSTRUCT);
16650// Constant: ZERO
16651// <BigInteger> 0.
16652BigInteger.ZERO = ZERO;
16653
16654var ONE = new BigInteger([1], 1, CONSTRUCT);
16655// Constant: ONE
16656// <BigInteger> 1.
16657BigInteger.ONE = ONE;
16658
16659var M_ONE = new BigInteger(ONE._d, -1, CONSTRUCT);
16660// Constant: M_ONE
16661// <BigInteger> -1.
16662BigInteger.M_ONE = M_ONE;
16663
16664// Constant: _0
16665// Shortcut for <ZERO>.
16666BigInteger._0 = ZERO;
16667
16668// Constant: _1
16669// Shortcut for <ONE>.
16670BigInteger._1 = ONE;
16671
16672/*
16673 Constant: small
16674 Array of <BigIntegers> from 0 to 36.
16675
16676 These are used internally for parsing, but useful when you need a "small"
16677 <BigInteger>.
16678
16679 See Also:
16680
16681 <ZERO>, <ONE>, <_0>, <_1>
16682*/
16683BigInteger.small = [
16684 ZERO,
16685 ONE,
16686 /* Assuming BigInteger_base > 36 */
16687 new BigInteger( [2], 1, CONSTRUCT),
16688 new BigInteger( [3], 1, CONSTRUCT),
16689 new BigInteger( [4], 1, CONSTRUCT),
16690 new BigInteger( [5], 1, CONSTRUCT),
16691 new BigInteger( [6], 1, CONSTRUCT),
16692 new BigInteger( [7], 1, CONSTRUCT),
16693 new BigInteger( [8], 1, CONSTRUCT),
16694 new BigInteger( [9], 1, CONSTRUCT),
16695 new BigInteger([10], 1, CONSTRUCT),
16696 new BigInteger([11], 1, CONSTRUCT),
16697 new BigInteger([12], 1, CONSTRUCT),
16698 new BigInteger([13], 1, CONSTRUCT),
16699 new BigInteger([14], 1, CONSTRUCT),
16700 new BigInteger([15], 1, CONSTRUCT),
16701 new BigInteger([16], 1, CONSTRUCT),
16702 new BigInteger([17], 1, CONSTRUCT),
16703 new BigInteger([18], 1, CONSTRUCT),
16704 new BigInteger([19], 1, CONSTRUCT),
16705 new BigInteger([20], 1, CONSTRUCT),
16706 new BigInteger([21], 1, CONSTRUCT),
16707 new BigInteger([22], 1, CONSTRUCT),
16708 new BigInteger([23], 1, CONSTRUCT),
16709 new BigInteger([24], 1, CONSTRUCT),
16710 new BigInteger([25], 1, CONSTRUCT),
16711 new BigInteger([26], 1, CONSTRUCT),
16712 new BigInteger([27], 1, CONSTRUCT),
16713 new BigInteger([28], 1, CONSTRUCT),
16714 new BigInteger([29], 1, CONSTRUCT),
16715 new BigInteger([30], 1, CONSTRUCT),
16716 new BigInteger([31], 1, CONSTRUCT),
16717 new BigInteger([32], 1, CONSTRUCT),
16718 new BigInteger([33], 1, CONSTRUCT),
16719 new BigInteger([34], 1, CONSTRUCT),
16720 new BigInteger([35], 1, CONSTRUCT),
16721 new BigInteger([36], 1, CONSTRUCT)
16722];
16723
16724// Used for parsing/radix conversion
16725BigInteger.digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
16726
16727/*
16728 Method: toString
16729 Convert a <BigInteger> to a string.
16730
16731 When *base* is greater than 10, letters are upper case.
16732
16733 Parameters:
16734
16735 base - Optional base to represent the number in (default is base 10).
16736 Must be between 2 and 36 inclusive, or an Error will be thrown.
16737
16738 Returns:
16739
16740 The string representation of the <BigInteger>.
16741*/
16742BigInteger.prototype.toString = function(base) {
16743 base = +base || 10;
16744 if (base < 2 || base > 36) {
16745 throw new Error("illegal radix " + base + ".");
16746 }
16747 if (this._s === 0) {
16748 return "0";
16749 }
16750 if (base === 10) {
16751 var str = this._s < 0 ? "-" : "";
16752 str += this._d[this._d.length - 1].toString();
16753 for (var i = this._d.length - 2; i >= 0; i--) {
16754 var group = this._d[i].toString();
16755 while (group.length < BigInteger_base_log10) group = '0' + group;
16756 str += group;
16757 }
16758 return str;
16759 }
16760 else {
16761 var numerals = BigInteger.digits;
16762 base = BigInteger.small[base];
16763 var sign = this._s;
16764
16765 var n = this.abs();
16766 var digits = [];
16767 var digit;
16768
16769 while (n._s !== 0) {
16770 var divmod = n.divRem(base);
16771 n = divmod[0];
16772 digit = divmod[1];
16773 // TODO: This could be changed to unshift instead of reversing at the end.
16774 // Benchmark both to compare speeds.
16775 digits.push(numerals[digit.valueOf()]);
16776 }
16777 return (sign < 0 ? "-" : "") + digits.reverse().join("");
16778 }
16779};
16780
16781// Verify strings for parsing
16782BigInteger.radixRegex = [
16783 /^$/,
16784 /^$/,
16785 /^[01]*$/,
16786 /^[012]*$/,
16787 /^[0-3]*$/,
16788 /^[0-4]*$/,
16789 /^[0-5]*$/,
16790 /^[0-6]*$/,
16791 /^[0-7]*$/,
16792 /^[0-8]*$/,
16793 /^[0-9]*$/,
16794 /^[0-9aA]*$/,
16795 /^[0-9abAB]*$/,
16796 /^[0-9abcABC]*$/,
16797 /^[0-9a-dA-D]*$/,
16798 /^[0-9a-eA-E]*$/,
16799 /^[0-9a-fA-F]*$/,
16800 /^[0-9a-gA-G]*$/,
16801 /^[0-9a-hA-H]*$/,
16802 /^[0-9a-iA-I]*$/,
16803 /^[0-9a-jA-J]*$/,
16804 /^[0-9a-kA-K]*$/,
16805 /^[0-9a-lA-L]*$/,
16806 /^[0-9a-mA-M]*$/,
16807 /^[0-9a-nA-N]*$/,
16808 /^[0-9a-oA-O]*$/,
16809 /^[0-9a-pA-P]*$/,
16810 /^[0-9a-qA-Q]*$/,
16811 /^[0-9a-rA-R]*$/,
16812 /^[0-9a-sA-S]*$/,
16813 /^[0-9a-tA-T]*$/,
16814 /^[0-9a-uA-U]*$/,
16815 /^[0-9a-vA-V]*$/,
16816 /^[0-9a-wA-W]*$/,
16817 /^[0-9a-xA-X]*$/,
16818 /^[0-9a-yA-Y]*$/,
16819 /^[0-9a-zA-Z]*$/
16820];
16821
16822/*
16823 Function: parse
16824 Parse a string into a <BigInteger>.
16825
16826 *base* is optional but, if provided, must be from 2 to 36 inclusive. If
16827 *base* is not provided, it will be guessed based on the leading characters
16828 of *s* as follows:
16829
16830 - "0x" or "0X": *base* = 16
16831 - "0c" or "0C": *base* = 8
16832 - "0b" or "0B": *base* = 2
16833 - else: *base* = 10
16834
16835 If no base is provided, or *base* is 10, the number can be in exponential
16836 form. For example, these are all valid:
16837
16838 > BigInteger.parse("1e9"); // Same as "1000000000"
16839 > BigInteger.parse("1.234*10^3"); // Same as 1234
16840 > BigInteger.parse("56789 * 10 ** -2"); // Same as 567
16841
16842 If any characters fall outside the range defined by the radix, an exception
16843 will be thrown.
16844
16845 Parameters:
16846
16847 s - The string to parse.
16848 base - Optional radix (default is to guess based on *s*).
16849
16850 Returns:
16851
16852 a <BigInteger> instance.
16853*/
16854BigInteger.parse = function(s, base) {
16855 // Expands a number in exponential form to decimal form.
16856 // expandExponential("-13.441*10^5") === "1344100";
16857 // expandExponential("1.12300e-1") === "0.112300";
16858 // expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
16859 function expandExponential(str) {
16860 str = str.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/, "e");
16861
16862 return str.replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/, function(x, s, n, f, c) {
16863 c = +c;
16864 var l = c < 0;
16865 var i = n.length + c;
16866 x = (l ? n : f).length;
16867 c = ((c = Math.abs(c)) >= x ? c - x + l : 0);
16868 var z = (new Array(c + 1)).join("0");
16869 var r = n + f;
16870 return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
16871 });
16872 }
16873
16874 s = s.toString();
16875 if (typeof base === "undefined" || +base === 10) {
16876 s = expandExponential(s);
16877 }
16878
16879 var prefixRE;
16880 if (typeof base === "undefined") {
16881 prefixRE = '0[xcb]';
16882 }
16883 else if (base == 16) {
16884 prefixRE = '0x';
16885 }
16886 else if (base == 8) {
16887 prefixRE = '0c';
16888 }
16889 else if (base == 2) {
16890 prefixRE = '0b';
16891 }
16892 else {
16893 prefixRE = '';
16894 }
16895 var parts = new RegExp('^([+\\-]?)(' + prefixRE + ')?([0-9a-z]*)(?:\\.\\d*)?$', 'i').exec(s);
16896 if (parts) {
16897 var sign = parts[1] || "+";
16898 var baseSection = parts[2] || "";
16899 var digits = parts[3] || "";
16900
16901 if (typeof base === "undefined") {
16902 // Guess base
16903 if (baseSection === "0x" || baseSection === "0X") { // Hex
16904 base = 16;
16905 }
16906 else if (baseSection === "0c" || baseSection === "0C") { // Octal
16907 base = 8;
16908 }
16909 else if (baseSection === "0b" || baseSection === "0B") { // Binary
16910 base = 2;
16911 }
16912 else {
16913 base = 10;
16914 }
16915 }
16916 else if (base < 2 || base > 36) {
16917 throw new Error("Illegal radix " + base + ".");
16918 }
16919
16920 base = +base;
16921
16922 // Check for digits outside the range
16923 if (!(BigInteger.radixRegex[base].test(digits))) {
16924 throw new Error("Bad digit for radix " + base);
16925 }
16926
16927 // Strip leading zeros, and convert to array
16928 digits = digits.replace(/^0+/, "").split("");
16929 if (digits.length === 0) {
16930 return ZERO;
16931 }
16932
16933 // Get the sign (we know it's not zero)
16934 sign = (sign === "-") ? -1 : 1;
16935
16936 // Optimize 10
16937 if (base == 10) {
16938 var d = [];
16939 while (digits.length >= BigInteger_base_log10) {
16940 d.push(parseInt(digits.splice(digits.length-BigInteger.base_log10, BigInteger.base_log10).join(''), 10));
16941 }
16942 d.push(parseInt(digits.join(''), 10));
16943 return new BigInteger(d, sign, CONSTRUCT);
16944 }
16945
16946 // Do the conversion
16947 var d = ZERO;
16948 base = BigInteger.small[base];
16949 var small = BigInteger.small;
16950 for (var i = 0; i < digits.length; i++) {
16951 d = d.multiply(base).add(small[parseInt(digits[i], 36)]);
16952 }
16953 return new BigInteger(d._d, sign, CONSTRUCT);
16954 }
16955 else {
16956 throw new Error("Invalid BigInteger format: " + s);
16957 }
16958};
16959
16960/*
16961 Function: add
16962 Add two <BigIntegers>.
16963
16964 Parameters:
16965
16966 n - The number to add to *this*. Will be converted to a <BigInteger>.
16967
16968 Returns:
16969
16970 The numbers added together.
16971
16972 See Also:
16973
16974 <subtract>, <multiply>, <quotient>, <next>
16975*/
16976BigInteger.prototype.add = function(n) {
16977 if (this._s === 0) {
16978 return BigInteger(n);
16979 }
16980
16981 n = BigInteger(n);
16982 if (n._s === 0) {
16983 return this;
16984 }
16985 if (this._s !== n._s) {
16986 n = n.negate();
16987 return this.subtract(n);
16988 }
16989
16990 var a = this._d;
16991 var b = n._d;
16992 var al = a.length;
16993 var bl = b.length;
16994 var sum = new Array(Math.max(al, bl) + 1);
16995 var size = Math.min(al, bl);
16996 var carry = 0;
16997 var digit;
16998
16999 for (var i = 0; i < size; i++) {
17000 digit = a[i] + b[i] + carry;
17001 sum[i] = digit % BigInteger_base;
17002 carry = (digit / BigInteger_base) | 0;
17003 }
17004 if (bl > al) {
17005 a = b;
17006 al = bl;
17007 }
17008 for (i = size; carry && i < al; i++) {
17009 digit = a[i] + carry;
17010 sum[i] = digit % BigInteger_base;
17011 carry = (digit / BigInteger_base) | 0;
17012 }
17013 if (carry) {
17014 sum[i] = carry;
17015 }
17016
17017 for ( ; i < al; i++) {
17018 sum[i] = a[i];
17019 }
17020
17021 return new BigInteger(sum, this._s, CONSTRUCT);
17022};
17023
17024/*
17025 Function: negate
17026 Get the additive inverse of a <BigInteger>.
17027
17028 Returns:
17029
17030 A <BigInteger> with the same magnatude, but with the opposite sign.
17031
17032 See Also:
17033
17034 <abs>
17035*/
17036BigInteger.prototype.negate = function() {
17037 return new BigInteger(this._d, (-this._s) | 0, CONSTRUCT);
17038};
17039
17040/*
17041 Function: abs
17042 Get the absolute value of a <BigInteger>.
17043
17044 Returns:
17045
17046 A <BigInteger> with the same magnatude, but always positive (or zero).
17047
17048 See Also:
17049
17050 <negate>
17051*/
17052BigInteger.prototype.abs = function() {
17053 return (this._s < 0) ? this.negate() : this;
17054};
17055
17056/*
17057 Function: subtract
17058 Subtract two <BigIntegers>.
17059
17060 Parameters:
17061
17062 n - The number to subtract from *this*. Will be converted to a <BigInteger>.
17063
17064 Returns:
17065
17066 The *n* subtracted from *this*.
17067
17068 See Also:
17069
17070 <add>, <multiply>, <quotient>, <prev>
17071*/
17072BigInteger.prototype.subtract = function(n) {
17073 if (this._s === 0) {
17074 return BigInteger(n).negate();
17075 }
17076
17077 n = BigInteger(n);
17078 if (n._s === 0) {
17079 return this;
17080 }
17081 if (this._s !== n._s) {
17082 n = n.negate();
17083 return this.add(n);
17084 }
17085
17086 var m = this;
17087 // negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
17088 if (this._s < 0) {
17089 m = new BigInteger(n._d, 1, CONSTRUCT);
17090 n = new BigInteger(this._d, 1, CONSTRUCT);
17091 }
17092
17093 // Both are positive => a - b
17094 var sign = m.compareAbs(n);
17095 if (sign === 0) {
17096 return ZERO;
17097 }
17098 else if (sign < 0) {
17099 // swap m and n
17100 var t = n;
17101 n = m;
17102 m = t;
17103 }
17104
17105 // a > b
17106 var a = m._d;
17107 var b = n._d;
17108 var al = a.length;
17109 var bl = b.length;
17110 var diff = new Array(al); // al >= bl since a > b
17111 var borrow = 0;
17112 var i;
17113 var digit;
17114
17115 for (i = 0; i < bl; i++) {
17116 digit = a[i] - borrow - b[i];
17117 if (digit < 0) {
17118 digit += BigInteger_base;
17119 borrow = 1;
17120 }
17121 else {
17122 borrow = 0;
17123 }
17124 diff[i] = digit;
17125 }
17126 for (i = bl; i < al; i++) {
17127 digit = a[i] - borrow;
17128 if (digit < 0) {
17129 digit += BigInteger_base;
17130 }
17131 else {
17132 diff[i++] = digit;
17133 break;
17134 }
17135 diff[i] = digit;
17136 }
17137 for ( ; i < al; i++) {
17138 diff[i] = a[i];
17139 }
17140
17141 return new BigInteger(diff, sign, CONSTRUCT);
17142};
17143
17144(function() {
17145 function addOne(n, sign) {
17146 var a = n._d;
17147 var sum = a.slice();
17148 var carry = true;
17149 var i = 0;
17150
17151 while (true) {
17152 var digit = (a[i] || 0) + 1;
17153 sum[i] = digit % BigInteger_base;
17154 if (digit <= BigInteger_base - 1) {
17155 break;
17156 }
17157 ++i;
17158 }
17159
17160 return new BigInteger(sum, sign, CONSTRUCT);
17161 }
17162
17163 function subtractOne(n, sign) {
17164 var a = n._d;
17165 var sum = a.slice();
17166 var borrow = true;
17167 var i = 0;
17168
17169 while (true) {
17170 var digit = (a[i] || 0) - 1;
17171 if (digit < 0) {
17172 sum[i] = digit + BigInteger_base;
17173 }
17174 else {
17175 sum[i] = digit;
17176 break;
17177 }
17178 ++i;
17179 }
17180
17181 return new BigInteger(sum, sign, CONSTRUCT);
17182 }
17183
17184 /*
17185 Function: next
17186 Get the next <BigInteger> (add one).
17187
17188 Returns:
17189
17190 *this* + 1.
17191
17192 See Also:
17193
17194 <add>, <prev>
17195 */
17196 BigInteger.prototype.next = function() {
17197 switch (this._s) {
17198 case 0:
17199 return ONE;
17200 case -1:
17201 return subtractOne(this, -1);
17202 // case 1:
17203 default:
17204 return addOne(this, 1);
17205 }
17206 };
17207
17208 /*
17209 Function: prev
17210 Get the previous <BigInteger> (subtract one).
17211
17212 Returns:
17213
17214 *this* - 1.
17215
17216 See Also:
17217
17218 <next>, <subtract>
17219 */
17220 BigInteger.prototype.prev = function() {
17221 switch (this._s) {
17222 case 0:
17223 return M_ONE;
17224 case -1:
17225 return addOne(this, -1);
17226 // case 1:
17227 default:
17228 return subtractOne(this, 1);
17229 }
17230 };
17231})();
17232
17233/*
17234 Function: compareAbs
17235 Compare the absolute value of two <BigIntegers>.
17236
17237 Calling <compareAbs> is faster than calling <abs> twice, then <compare>.
17238
17239 Parameters:
17240
17241 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17242
17243 Returns:
17244
17245 -1, 0, or +1 if *|this|* is less than, equal to, or greater than *|n|*.
17246
17247 See Also:
17248
17249 <compare>, <abs>
17250*/
17251BigInteger.prototype.compareAbs = function(n) {
17252 if (this === n) {
17253 return 0;
17254 }
17255
17256 if (!(n instanceof BigInteger)) {
17257 if (!isFinite(n)) {
17258 return(isNaN(n) ? n : -1);
17259 }
17260 n = BigInteger(n);
17261 }
17262
17263 if (this._s === 0) {
17264 return (n._s !== 0) ? -1 : 0;
17265 }
17266 if (n._s === 0) {
17267 return 1;
17268 }
17269
17270 var l = this._d.length;
17271 var nl = n._d.length;
17272 if (l < nl) {
17273 return -1;
17274 }
17275 else if (l > nl) {
17276 return 1;
17277 }
17278
17279 var a = this._d;
17280 var b = n._d;
17281 for (var i = l-1; i >= 0; i--) {
17282 if (a[i] !== b[i]) {
17283 return a[i] < b[i] ? -1 : 1;
17284 }
17285 }
17286
17287 return 0;
17288};
17289
17290/*
17291 Function: compare
17292 Compare two <BigIntegers>.
17293
17294 Parameters:
17295
17296 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17297
17298 Returns:
17299
17300 -1, 0, or +1 if *this* is less than, equal to, or greater than *n*.
17301
17302 See Also:
17303
17304 <compareAbs>, <isPositive>, <isNegative>, <isUnit>
17305*/
17306BigInteger.prototype.compare = function(n) {
17307 if (this === n) {
17308 return 0;
17309 }
17310
17311 n = BigInteger(n);
17312
17313 if (this._s === 0) {
17314 return -n._s;
17315 }
17316
17317 if (this._s === n._s) { // both positive or both negative
17318 var cmp = this.compareAbs(n);
17319 return cmp * this._s;
17320 }
17321 else {
17322 return this._s;
17323 }
17324};
17325
17326/*
17327 Function: isUnit
17328 Return true iff *this* is either 1 or -1.
17329
17330 Returns:
17331
17332 true if *this* compares equal to <BigInteger.ONE> or <BigInteger.M_ONE>.
17333
17334 See Also:
17335
17336 <isZero>, <isNegative>, <isPositive>, <compareAbs>, <compare>,
17337 <BigInteger.ONE>, <BigInteger.M_ONE>
17338*/
17339BigInteger.prototype.isUnit = function() {
17340 return this === ONE ||
17341 this === M_ONE ||
17342 (this._d.length === 1 && this._d[0] === 1);
17343};
17344
17345/*
17346 Function: multiply
17347 Multiply two <BigIntegers>.
17348
17349 Parameters:
17350
17351 n - The number to multiply *this* by. Will be converted to a
17352 <BigInteger>.
17353
17354 Returns:
17355
17356 The numbers multiplied together.
17357
17358 See Also:
17359
17360 <add>, <subtract>, <quotient>, <square>
17361*/
17362BigInteger.prototype.multiply = function(n) {
17363 // TODO: Consider adding Karatsuba multiplication for large numbers
17364 if (this._s === 0) {
17365 return ZERO;
17366 }
17367
17368 n = BigInteger(n);
17369 if (n._s === 0) {
17370 return ZERO;
17371 }
17372 if (this.isUnit()) {
17373 if (this._s < 0) {
17374 return n.negate();
17375 }
17376 return n;
17377 }
17378 if (n.isUnit()) {
17379 if (n._s < 0) {
17380 return this.negate();
17381 }
17382 return this;
17383 }
17384 if (this === n) {
17385 return this.square();
17386 }
17387
17388 var r = (this._d.length >= n._d.length);
17389 var a = (r ? this : n)._d; // a will be longer than b
17390 var b = (r ? n : this)._d;
17391 var al = a.length;
17392 var bl = b.length;
17393
17394 var pl = al + bl;
17395 var partial = new Array(pl);
17396 var i;
17397 for (i = 0; i < pl; i++) {
17398 partial[i] = 0;
17399 }
17400
17401 for (i = 0; i < bl; i++) {
17402 var carry = 0;
17403 var bi = b[i];
17404 var jlimit = al + i;
17405 var digit;
17406 for (var j = i; j < jlimit; j++) {
17407 digit = partial[j] + bi * a[j - i] + carry;
17408 carry = (digit / BigInteger_base) | 0;
17409 partial[j] = (digit % BigInteger_base) | 0;
17410 }
17411 if (carry) {
17412 digit = partial[j] + carry;
17413 carry = (digit / BigInteger_base) | 0;
17414 partial[j] = digit % BigInteger_base;
17415 }
17416 }
17417 return new BigInteger(partial, this._s * n._s, CONSTRUCT);
17418};
17419
17420// Multiply a BigInteger by a single-digit native number
17421// Assumes that this and n are >= 0
17422// This is not really intended to be used outside the library itself
17423BigInteger.prototype.multiplySingleDigit = function(n) {
17424 if (n === 0 || this._s === 0) {
17425 return ZERO;
17426 }
17427 if (n === 1) {
17428 return this;
17429 }
17430
17431 var digit;
17432 if (this._d.length === 1) {
17433 digit = this._d[0] * n;
17434 if (digit >= BigInteger_base) {
17435 return new BigInteger([(digit % BigInteger_base)|0,
17436 (digit / BigInteger_base)|0], 1, CONSTRUCT);
17437 }
17438 return new BigInteger([digit], 1, CONSTRUCT);
17439 }
17440
17441 if (n === 2) {
17442 return this.add(this);
17443 }
17444 if (this.isUnit()) {
17445 return new BigInteger([n], 1, CONSTRUCT);
17446 }
17447
17448 var a = this._d;
17449 var al = a.length;
17450
17451 var pl = al + 1;
17452 var partial = new Array(pl);
17453 for (var i = 0; i < pl; i++) {
17454 partial[i] = 0;
17455 }
17456
17457 var carry = 0;
17458 for (var j = 0; j < al; j++) {
17459 digit = n * a[j] + carry;
17460 carry = (digit / BigInteger_base) | 0;
17461 partial[j] = (digit % BigInteger_base) | 0;
17462 }
17463 if (carry) {
17464 partial[j] = carry;
17465 }
17466
17467 return new BigInteger(partial, 1, CONSTRUCT);
17468};
17469
17470/*
17471 Function: square
17472 Multiply a <BigInteger> by itself.
17473
17474 This is slightly faster than regular multiplication, since it removes the
17475 duplicated multiplcations.
17476
17477 Returns:
17478
17479 > this.multiply(this)
17480
17481 See Also:
17482 <multiply>
17483*/
17484BigInteger.prototype.square = function() {
17485 // Normally, squaring a 10-digit number would take 100 multiplications.
17486 // Of these 10 are unique diagonals, of the remaining 90 (100-10), 45 are repeated.
17487 // This procedure saves (N*(N-1))/2 multiplications, (e.g., 45 of 100 multiplies).
17488 // Based on code by Gary Darby, Intellitech Systems Inc., www.DelphiForFun.org
17489
17490 if (this._s === 0) {
17491 return ZERO;
17492 }
17493 if (this.isUnit()) {
17494 return ONE;
17495 }
17496
17497 var digits = this._d;
17498 var length = digits.length;
17499 var imult1 = new Array(length + length + 1);
17500 var product, carry, k;
17501 var i;
17502
17503 // Calculate diagonal
17504 for (i = 0; i < length; i++) {
17505 k = i * 2;
17506 product = digits[i] * digits[i];
17507 carry = (product / BigInteger_base) | 0;
17508 imult1[k] = product % BigInteger_base;
17509 imult1[k + 1] = carry;
17510 }
17511
17512 // Calculate repeating part
17513 for (i = 0; i < length; i++) {
17514 carry = 0;
17515 k = i * 2 + 1;
17516 for (var j = i + 1; j < length; j++, k++) {
17517 product = digits[j] * digits[i] * 2 + imult1[k] + carry;
17518 carry = (product / BigInteger_base) | 0;
17519 imult1[k] = product % BigInteger_base;
17520 }
17521 k = length + i;
17522 var digit = carry + imult1[k];
17523 carry = (digit / BigInteger_base) | 0;
17524 imult1[k] = digit % BigInteger_base;
17525 imult1[k + 1] += carry;
17526 }
17527
17528 return new BigInteger(imult1, 1, CONSTRUCT);
17529};
17530
17531/*
17532 Function: quotient
17533 Divide two <BigIntegers> and truncate towards zero.
17534
17535 <quotient> throws an exception if *n* is zero.
17536
17537 Parameters:
17538
17539 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17540
17541 Returns:
17542
17543 The *this* / *n*, truncated to an integer.
17544
17545 See Also:
17546
17547 <add>, <subtract>, <multiply>, <divRem>, <remainder>
17548*/
17549BigInteger.prototype.quotient = function(n) {
17550 return this.divRem(n)[0];
17551};
17552
17553/*
17554 Function: divide
17555 Deprecated synonym for <quotient>.
17556*/
17557BigInteger.prototype.divide = BigInteger.prototype.quotient;
17558
17559/*
17560 Function: remainder
17561 Calculate the remainder of two <BigIntegers>.
17562
17563 <remainder> throws an exception if *n* is zero.
17564
17565 Parameters:
17566
17567 n - The remainder after *this* is divided *this* by *n*. Will be
17568 converted to a <BigInteger>.
17569
17570 Returns:
17571
17572 *this* % *n*.
17573
17574 See Also:
17575
17576 <divRem>, <quotient>
17577*/
17578BigInteger.prototype.remainder = function(n) {
17579 return this.divRem(n)[1];
17580};
17581
17582/*
17583 Function: divRem
17584 Calculate the integer quotient and remainder of two <BigIntegers>.
17585
17586 <divRem> throws an exception if *n* is zero.
17587
17588 Parameters:
17589
17590 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17591
17592 Returns:
17593
17594 A two-element array containing the quotient and the remainder.
17595
17596 > a.divRem(b)
17597
17598 is exactly equivalent to
17599
17600 > [a.quotient(b), a.remainder(b)]
17601
17602 except it is faster, because they are calculated at the same time.
17603
17604 See Also:
17605
17606 <quotient>, <remainder>
17607*/
17608BigInteger.prototype.divRem = function(n) {
17609 n = BigInteger(n);
17610 if (n._s === 0) {
17611 throw new Error("Divide by zero");
17612 }
17613 if (this._s === 0) {
17614 return [ZERO, ZERO];
17615 }
17616 if (n._d.length === 1) {
17617 return this.divRemSmall(n._s * n._d[0]);
17618 }
17619
17620 // Test for easy cases -- |n1| <= |n2|
17621 switch (this.compareAbs(n)) {
17622 case 0: // n1 == n2
17623 return [this._s === n._s ? ONE : M_ONE, ZERO];
17624 case -1: // |n1| < |n2|
17625 return [ZERO, this];
17626 }
17627
17628 var sign = this._s * n._s;
17629 var a = n.abs();
17630 var b_digits = this._d;
17631 var b_index = b_digits.length;
17632 var digits = n._d.length;
17633 var quot = [];
17634 var guess;
17635
17636 var part = new BigInteger([], 0, CONSTRUCT);
17637
17638 while (b_index) {
17639 part._d.unshift(b_digits[--b_index]);
17640 part = new BigInteger(part._d, 1, CONSTRUCT);
17641
17642 if (part.compareAbs(n) < 0) {
17643 quot.push(0);
17644 continue;
17645 }
17646 if (part._s === 0) {
17647 guess = 0;
17648 }
17649 else {
17650 var xlen = part._d.length, ylen = a._d.length;
17651 var highx = part._d[xlen-1]*BigInteger_base + part._d[xlen-2];
17652 var highy = a._d[ylen-1]*BigInteger_base + a._d[ylen-2];
17653 if (part._d.length > a._d.length) {
17654 // The length of part._d can either match a._d length,
17655 // or exceed it by one.
17656 highx = (highx+1)*BigInteger_base;
17657 }
17658 guess = Math.ceil(highx/highy);
17659 }
17660 do {
17661 var check = a.multiplySingleDigit(guess);
17662 if (check.compareAbs(part) <= 0) {
17663 break;
17664 }
17665 guess--;
17666 } while (guess);
17667
17668 quot.push(guess);
17669 if (!guess) {
17670 continue;
17671 }
17672 var diff = part.subtract(check);
17673 part._d = diff._d.slice();
17674 }
17675
17676 return [new BigInteger(quot.reverse(), sign, CONSTRUCT),
17677 new BigInteger(part._d, this._s, CONSTRUCT)];
17678};
17679
17680// Throws an exception if n is outside of (-BigInteger.base, -1] or
17681// [1, BigInteger.base). It's not necessary to call this, since the
17682// other division functions will call it if they are able to.
17683BigInteger.prototype.divRemSmall = function(n) {
17684 var r;
17685 n = +n;
17686 if (n === 0) {
17687 throw new Error("Divide by zero");
17688 }
17689
17690 var n_s = n < 0 ? -1 : 1;
17691 var sign = this._s * n_s;
17692 n = Math.abs(n);
17693
17694 if (n < 1 || n >= BigInteger_base) {
17695 throw new Error("Argument out of range");
17696 }
17697
17698 if (this._s === 0) {
17699 return [ZERO, ZERO];
17700 }
17701
17702 if (n === 1 || n === -1) {
17703 return [(sign === 1) ? this.abs() : new BigInteger(this._d, sign, CONSTRUCT), ZERO];
17704 }
17705
17706 // 2 <= n < BigInteger_base
17707
17708 // divide a single digit by a single digit
17709 if (this._d.length === 1) {
17710 var q = new BigInteger([(this._d[0] / n) | 0], 1, CONSTRUCT);
17711 r = new BigInteger([(this._d[0] % n) | 0], 1, CONSTRUCT);
17712 if (sign < 0) {
17713 q = q.negate();
17714 }
17715 if (this._s < 0) {
17716 r = r.negate();
17717 }
17718 return [q, r];
17719 }
17720
17721 var digits = this._d.slice();
17722 var quot = new Array(digits.length);
17723 var part = 0;
17724 var diff = 0;
17725 var i = 0;
17726 var guess;
17727
17728 while (digits.length) {
17729 part = part * BigInteger_base + digits[digits.length - 1];
17730 if (part < n) {
17731 quot[i++] = 0;
17732 digits.pop();
17733 diff = BigInteger_base * diff + part;
17734 continue;
17735 }
17736 if (part === 0) {
17737 guess = 0;
17738 }
17739 else {
17740 guess = (part / n) | 0;
17741 }
17742
17743 var check = n * guess;
17744 diff = part - check;
17745 quot[i++] = guess;
17746 if (!guess) {
17747 digits.pop();
17748 continue;
17749 }
17750
17751 digits.pop();
17752 part = diff;
17753 }
17754
17755 r = new BigInteger([diff], 1, CONSTRUCT);
17756 if (this._s < 0) {
17757 r = r.negate();
17758 }
17759 return [new BigInteger(quot.reverse(), sign, CONSTRUCT), r];
17760};
17761
17762/*
17763 Function: isEven
17764 Return true iff *this* is divisible by two.
17765
17766 Note that <BigInteger.ZERO> is even.
17767
17768 Returns:
17769
17770 true if *this* is even, false otherwise.
17771
17772 See Also:
17773
17774 <isOdd>
17775*/
17776BigInteger.prototype.isEven = function() {
17777 var digits = this._d;
17778 return this._s === 0 || digits.length === 0 || (digits[0] % 2) === 0;
17779};
17780
17781/*
17782 Function: isOdd
17783 Return true iff *this* is not divisible by two.
17784
17785 Returns:
17786
17787 true if *this* is odd, false otherwise.
17788
17789 See Also:
17790
17791 <isEven>
17792*/
17793BigInteger.prototype.isOdd = function() {
17794 return !this.isEven();
17795};
17796
17797/*
17798 Function: sign
17799 Get the sign of a <BigInteger>.
17800
17801 Returns:
17802
17803 * -1 if *this* < 0
17804 * 0 if *this* == 0
17805 * +1 if *this* > 0
17806
17807 See Also:
17808
17809 <isZero>, <isPositive>, <isNegative>, <compare>, <BigInteger.ZERO>
17810*/
17811BigInteger.prototype.sign = function() {
17812 return this._s;
17813};
17814
17815/*
17816 Function: isPositive
17817 Return true iff *this* > 0.
17818
17819 Returns:
17820
17821 true if *this*.compare(<BigInteger.ZERO>) == 1.
17822
17823 See Also:
17824
17825 <sign>, <isZero>, <isNegative>, <isUnit>, <compare>, <BigInteger.ZERO>
17826*/
17827BigInteger.prototype.isPositive = function() {
17828 return this._s > 0;
17829};
17830
17831/*
17832 Function: isNegative
17833 Return true iff *this* < 0.
17834
17835 Returns:
17836
17837 true if *this*.compare(<BigInteger.ZERO>) == -1.
17838
17839 See Also:
17840
17841 <sign>, <isPositive>, <isZero>, <isUnit>, <compare>, <BigInteger.ZERO>
17842*/
17843BigInteger.prototype.isNegative = function() {
17844 return this._s < 0;
17845};
17846
17847/*
17848 Function: isZero
17849 Return true iff *this* == 0.
17850
17851 Returns:
17852
17853 true if *this*.compare(<BigInteger.ZERO>) == 0.
17854
17855 See Also:
17856
17857 <sign>, <isPositive>, <isNegative>, <isUnit>, <BigInteger.ZERO>
17858*/
17859BigInteger.prototype.isZero = function() {
17860 return this._s === 0;
17861};
17862
17863/*
17864 Function: exp10
17865 Multiply a <BigInteger> by a power of 10.
17866
17867 This is equivalent to, but faster than
17868
17869 > if (n >= 0) {
17870 > return this.multiply(BigInteger("1e" + n));
17871 > }
17872 > else { // n <= 0
17873 > return this.quotient(BigInteger("1e" + -n));
17874 > }
17875
17876 Parameters:
17877
17878 n - The power of 10 to multiply *this* by. *n* is converted to a
17879 javascipt number and must be no greater than <BigInteger.MAX_EXP>
17880 (0x7FFFFFFF), or an exception will be thrown.
17881
17882 Returns:
17883
17884 *this* * (10 ** *n*), truncated to an integer if necessary.
17885
17886 See Also:
17887
17888 <pow>, <multiply>
17889*/
17890BigInteger.prototype.exp10 = function(n) {
17891 n = +n;
17892 if (n === 0) {
17893 return this;
17894 }
17895 if (Math.abs(n) > Number(MAX_EXP)) {
17896 throw new Error("exponent too large in BigInteger.exp10");
17897 }
17898 // Optimization for this == 0. This also keeps us from having to trim zeros in the positive n case
17899 if (this._s === 0) {
17900 return ZERO;
17901 }
17902 if (n > 0) {
17903 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17904
17905 for (; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17906 k._d.unshift(0);
17907 }
17908 if (n == 0)
17909 return k;
17910 k._s = 1;
17911 k = k.multiplySingleDigit(Math.pow(10, n));
17912 return (this._s < 0 ? k.negate() : k);
17913 } else if (-n >= this._d.length*BigInteger_base_log10) {
17914 return ZERO;
17915 } else {
17916 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17917
17918 for (n = -n; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17919 k._d.shift();
17920 }
17921 return (n == 0) ? k : k.divRemSmall(Math.pow(10, n))[0];
17922 }
17923};
17924
17925/*
17926 Function: pow
17927 Raise a <BigInteger> to a power.
17928
17929 In this implementation, 0**0 is 1.
17930
17931 Parameters:
17932
17933 n - The exponent to raise *this* by. *n* must be no greater than
17934 <BigInteger.MAX_EXP> (0x7FFFFFFF), or an exception will be thrown.
17935
17936 Returns:
17937
17938 *this* raised to the *nth* power.
17939
17940 See Also:
17941
17942 <modPow>
17943*/
17944BigInteger.prototype.pow = function(n) {
17945 if (this.isUnit()) {
17946 if (this._s > 0) {
17947 return this;
17948 }
17949 else {
17950 return BigInteger(n).isOdd() ? this : this.negate();
17951 }
17952 }
17953
17954 n = BigInteger(n);
17955 if (n._s === 0) {
17956 return ONE;
17957 }
17958 else if (n._s < 0) {
17959 if (this._s === 0) {
17960 throw new Error("Divide by zero");
17961 }
17962 else {
17963 return ZERO;
17964 }
17965 }
17966 if (this._s === 0) {
17967 return ZERO;
17968 }
17969 if (n.isUnit()) {
17970 return this;
17971 }
17972
17973 if (n.compareAbs(MAX_EXP) > 0) {
17974 throw new Error("exponent too large in BigInteger.pow");
17975 }
17976 var x = this;
17977 var aux = ONE;
17978 var two = BigInteger.small[2];
17979
17980 while (n.isPositive()) {
17981 if (n.isOdd()) {
17982 aux = aux.multiply(x);
17983 if (n.isUnit()) {
17984 return aux;
17985 }
17986 }
17987 x = x.square();
17988 n = n.quotient(two);
17989 }
17990
17991 return aux;
17992};
17993
17994/*
17995 Function: modPow
17996 Raise a <BigInteger> to a power (mod m).
17997
17998 Because it is reduced by a modulus, <modPow> is not limited by
17999 <BigInteger.MAX_EXP> like <pow>.
18000
18001 Parameters:
18002
18003 exponent - The exponent to raise *this* by. Must be positive.
18004 modulus - The modulus.
18005
18006 Returns:
18007
18008 *this* ^ *exponent* (mod *modulus*).
18009
18010 See Also:
18011
18012 <pow>, <mod>
18013*/
18014BigInteger.prototype.modPow = function(exponent, modulus) {
18015 var result = ONE;
18016 var base = this;
18017
18018 while (exponent.isPositive()) {
18019 if (exponent.isOdd()) {
18020 result = result.multiply(base).remainder(modulus);
18021 }
18022
18023 exponent = exponent.quotient(BigInteger.small[2]);
18024 if (exponent.isPositive()) {
18025 base = base.square().remainder(modulus);
18026 }
18027 }
18028
18029 return result;
18030};
18031
18032/*
18033 Function: log
18034 Get the natural logarithm of a <BigInteger> as a native JavaScript number.
18035
18036 This is equivalent to
18037
18038 > Math.log(this.toJSValue())
18039
18040 but handles values outside of the native number range.
18041
18042 Returns:
18043
18044 log( *this* )
18045
18046 See Also:
18047
18048 <toJSValue>
18049*/
18050BigInteger.prototype.log = function() {
18051 switch (this._s) {
18052 case 0: return -Infinity;
18053 case -1: return NaN;
18054 default: // Fall through.
18055 }
18056
18057 var l = this._d.length;
18058
18059 if (l*BigInteger_base_log10 < 30) {
18060 return Math.log(this.valueOf());
18061 }
18062
18063 var N = Math.ceil(30/BigInteger_base_log10);
18064 var firstNdigits = this._d.slice(l - N);
18065 return Math.log((new BigInteger(firstNdigits, 1, CONSTRUCT)).valueOf()) + (l - N) * Math.log(BigInteger_base);
18066};
18067
18068/*
18069 Function: valueOf
18070 Convert a <BigInteger> to a native JavaScript integer.
18071
18072 This is called automatically by JavaScipt to convert a <BigInteger> to a
18073 native value.
18074
18075 Returns:
18076
18077 > parseInt(this.toString(), 10)
18078
18079 See Also:
18080
18081 <toString>, <toJSValue>
18082*/
18083BigInteger.prototype.valueOf = function() {
18084 return parseInt(this.toString(), 10);
18085};
18086
18087/*
18088 Function: toJSValue
18089 Convert a <BigInteger> to a native JavaScript integer.
18090
18091 This is the same as valueOf, but more explicitly named.
18092
18093 Returns:
18094
18095 > parseInt(this.toString(), 10)
18096
18097 See Also:
18098
18099 <toString>, <valueOf>
18100*/
18101BigInteger.prototype.toJSValue = function() {
18102 return parseInt(this.toString(), 10);
18103};
18104
18105var MAX_EXP = BigInteger(0x7FFFFFFF);
18106// Constant: MAX_EXP
18107// The largest exponent allowed in <pow> and <exp10> (0x7FFFFFFF or 2147483647).
18108BigInteger.MAX_EXP = MAX_EXP;
18109
18110(function() {
18111 function makeUnary(fn) {
18112 return function(a) {
18113 return fn.call(BigInteger(a));
18114 };
18115 }
18116
18117 function makeBinary(fn) {
18118 return function(a, b) {
18119 return fn.call(BigInteger(a), BigInteger(b));
18120 };
18121 }
18122
18123 function makeTrinary(fn) {
18124 return function(a, b, c) {
18125 return fn.call(BigInteger(a), BigInteger(b), BigInteger(c));
18126 };
18127 }
18128
18129 (function() {
18130 var i, fn;
18131 var unary = "toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(",");
18132 var binary = "compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(",");
18133 var trinary = ["modPow"];
18134
18135 for (i = 0; i < unary.length; i++) {
18136 fn = unary[i];
18137 BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
18138 }
18139
18140 for (i = 0; i < binary.length; i++) {
18141 fn = binary[i];
18142 BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
18143 }
18144
18145 for (i = 0; i < trinary.length; i++) {
18146 fn = trinary[i];
18147 BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
18148 }
18149
18150 BigInteger.exp10 = function(x, n) {
18151 return BigInteger(x).exp10(n);
18152 };
18153 })();
18154})();
18155
18156exports.BigInteger = BigInteger;
18157})(typeof exports !== 'undefined' ? exports : this);
18158</script>
18159 <script>(function() {
18160
18161 // mnemonics is populated as required by getLanguage
18162 var mnemonics = { "english": new Mnemonic("english") };
18163 var mnemonic = mnemonics["english"];
18164 var seed = null
18165 var bip32RootKey = null;
18166 var bip32ExtendedKey = null;
18167 var network = bitcoin.networks.bitcoin;
18168 var addressRowTemplate = $("#address-row-template");
18169
18170 var showIndex = true;
18171 var showAddress = true;
18172 var showPubKey = true;
18173 var showPrivKey = true;
18174
18175 var entropyChangeTimeoutEvent = null;
18176 var phraseChangeTimeoutEvent = null;
18177 var rootKeyChangedTimeoutEvent = null;
18178
18179 var DOM = {};
18180 DOM.network = $(".network");
18181 DOM.phraseNetwork = $("#network-phrase");
18182 DOM.useEntropy = $(".use-entropy");
18183 DOM.entropyContainer = $(".entropy-container");
18184 DOM.entropy = $(".entropy");
2a6dd137
IC
18185 DOM.entropyFiltered = DOM.entropyContainer.find(".filtered");
18186 DOM.entropyType = DOM.entropyContainer.find(".type");
18187 DOM.entropyStrength = DOM.entropyContainer.find(".strength");
18188 DOM.entropyEventCount = DOM.entropyContainer.find(".event-count");
18189 DOM.entropyBits = DOM.entropyContainer.find(".bits");
18190 DOM.entropyBitsPerEvent = DOM.entropyContainer.find(".bits-per-event");
18191 DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
18192 DOM.entropyBinary = DOM.entropyContainer.find(".binary");
18193 DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
c6624d51
IC
18194 DOM.phrase = $(".phrase");
18195 DOM.passphrase = $(".passphrase");
18196 DOM.generateContainer = $(".generate-container");
18197 DOM.generate = $(".generate");
18198 DOM.seed = $(".seed");
18199 DOM.rootKey = $(".root-key");
18200 DOM.extendedPrivKey = $(".extended-priv-key");
18201 DOM.extendedPubKey = $(".extended-pub-key");
18202 DOM.bip32tab = $("#bip32-tab");
18203 DOM.bip44tab = $("#bip44-tab");
18204 DOM.bip32panel = $("#bip32");
18205 DOM.bip44panel = $("#bip44");
18206 DOM.bip32path = $("#bip32-path");
18207 DOM.bip44path = $("#bip44-path");
18208 DOM.bip44purpose = $("#bip44 .purpose");
18209 DOM.bip44coin = $("#bip44 .coin");
18210 DOM.bip44account = $("#bip44 .account");
18211 DOM.bip44change = $("#bip44 .change");
18abe53b 18212 DOM.generatedStrength = $(".generate-container .strength");
c6624d51
IC
18213 DOM.hardenedAddresses = $(".hardened-addresses");
18214 DOM.addresses = $(".addresses");
18215 DOM.rowsToAdd = $(".rows-to-add");
18216 DOM.more = $(".more");
18217 DOM.feedback = $(".feedback");
18218 DOM.tab = $(".derivation-type a");
18219 DOM.indexToggle = $(".index-toggle");
18220 DOM.addressToggle = $(".address-toggle");
18221 DOM.publicKeyToggle = $(".public-key-toggle");
18222 DOM.privateKeyToggle = $(".private-key-toggle");
18223 DOM.languages = $(".languages a");
18224
18225 function init() {
18226 // Events
18227 DOM.network.on("change", networkChanged);
18228 DOM.useEntropy.on("change", setEntropyVisibility);
18229 DOM.entropy.on("input", delayedEntropyChanged);
18abe53b 18230 DOM.entropyMnemonicLength.on("change", entropyChanged);
c6624d51
IC
18231 DOM.phrase.on("input", delayedPhraseChanged);
18232 DOM.passphrase.on("input", delayedPhraseChanged);
18233 DOM.generate.on("click", generateClicked);
18234 DOM.more.on("click", showMore);
18235 DOM.rootKey.on("input", delayedRootKeyChanged);
18236 DOM.bip32path.on("input", calcForDerivationPath);
18237 DOM.bip44purpose.on("input", calcForDerivationPath);
18238 DOM.bip44coin.on("input", calcForDerivationPath);
18239 DOM.bip44account.on("input", calcForDerivationPath);
18240 DOM.bip44change.on("input", calcForDerivationPath);
18241 DOM.tab.on("shown.bs.tab", calcForDerivationPath);
18242 DOM.hardenedAddresses.on("change", calcForDerivationPath);
18243 DOM.indexToggle.on("click", toggleIndexes);
18244 DOM.addressToggle.on("click", toggleAddresses);
18245 DOM.publicKeyToggle.on("click", togglePublicKeys);
18246 DOM.privateKeyToggle.on("click", togglePrivateKeys);
18247 DOM.languages.on("click", languageChanged);
18248 disableForms();
18249 hidePending();
18250 hideValidationError();
18251 populateNetworkSelect();
18252 }
18253
18254 // Event handlers
18255
18256 function networkChanged(e) {
18257 var networkIndex = e.target.value;
18258 networks[networkIndex].onSelect();
18259 if (seed != null) {
18260 phraseChanged();
18261 }
18262 else {
18263 rootKeyChanged();
18264 }
18265 }
18266
18267 function setEntropyVisibility() {
18268 if (isUsingOwnEntropy()) {
18269 DOM.entropyContainer.removeClass("hidden");
18270 DOM.generateContainer.addClass("hidden");
18271 DOM.phrase.prop("readonly", true);
18272 DOM.entropy.focus();
18273 entropyChanged();
18274 }
18275 else {
18276 DOM.entropyContainer.addClass("hidden");
18277 DOM.generateContainer.removeClass("hidden");
18278 DOM.phrase.prop("readonly", false);
18abe53b 18279 hidePending();
c6624d51
IC
18280 }
18281 }
18282
18283 function delayedPhraseChanged() {
18284 hideValidationError();
18285 showPending();
18286 if (phraseChangeTimeoutEvent != null) {
18287 clearTimeout(phraseChangeTimeoutEvent);
18288 }
18289 phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400);
18290 }
18291
18292 function phraseChanged() {
18293 showPending();
18294 hideValidationError();
18295 setMnemonicLanguage();
18296 // Get the mnemonic phrase
18297 var phrase = DOM.phrase.val();
18298 var errorText = findPhraseErrors(phrase);
18299 if (errorText) {
18300 showValidationError(errorText);
18301 return;
18302 }
18303 // Calculate and display
18304 var passphrase = DOM.passphrase.val();
18305 calcBip32RootKeyFromSeed(phrase, passphrase);
18306 calcForDerivationPath();
18307 hidePending();
18308 }
18309
18310 function delayedEntropyChanged() {
18311 hideValidationError();
18312 showPending();
18313 if (entropyChangeTimeoutEvent != null) {
18314 clearTimeout(entropyChangeTimeoutEvent);
18315 }
18316 entropyChangeTimeoutEvent = setTimeout(entropyChanged, 400);
18317 }
18318
18319 function entropyChanged() {
18abe53b
IC
18320 // If blank entropy, clear mnemonic, addresses, errors
18321 if (DOM.entropy.val().trim().length == 0) {
18322 clearDisplay();
2a6dd137 18323 clearEntropyFeedback();
18abe53b
IC
18324 DOM.phrase.val("");
18325 showValidationError("Blank entropy");
18326 return;
18327 }
18328 // Get the current phrase to detect changes
18329 var phrase = DOM.phrase.val();
18330 // Set the phrase from the entropy
c6624d51 18331 setMnemonicFromEntropy();
18abe53b
IC
18332 // Recalc addresses if the phrase has changed
18333 var newPhrase = DOM.phrase.val();
18334 if (newPhrase != phrase) {
18335 if (newPhrase.length == 0) {
18336 clearDisplay();
18337 }
18338 else {
18339 phraseChanged();
18340 }
18341 }
18342 else {
18343 hidePending();
18344 }
c6624d51
IC
18345 }
18346
18347 function delayedRootKeyChanged() {
18348 // Warn if there is an existing mnemonic or passphrase.
18349 if (DOM.phrase.val().length > 0 || DOM.passphrase.val().length > 0) {
18350 if (!confirm("This will clear existing mnemonic and passphrase")) {
18351 DOM.rootKey.val(bip32RootKey);
18352 return
18353 }
18354 }
18355 hideValidationError();
18356 showPending();
18357 // Clear existing mnemonic and passphrase
18358 DOM.phrase.val("");
18359 DOM.passphrase.val("");
18360 seed = null;
18361 if (rootKeyChangedTimeoutEvent != null) {
18362 clearTimeout(rootKeyChangedTimeoutEvent);
18363 }
18364 rootKeyChangedTimeoutEvent = setTimeout(rootKeyChanged, 400);
18365 }
18366
18367 function rootKeyChanged() {
18368 showPending();
18369 hideValidationError();
18370 // Validate the root key TODO
18371 var rootKeyBase58 = DOM.rootKey.val();
18372 var errorText = validateRootKey(rootKeyBase58);
18373 if (errorText) {
18374 showValidationError(errorText);
18375 return;
18376 }
18377 // Calculate and display
18378 calcBip32RootKeyFromBase58(rootKeyBase58);
18379 calcForDerivationPath();
18380 hidePending();
18381 }
18382
18383 function calcForDerivationPath() {
18384 showPending();
18385 hideValidationError();
18386 // Get the derivation path
18387 var derivationPath = getDerivationPath();
18388 var errorText = findDerivationPathErrors(derivationPath);
18389 if (errorText) {
18390 showValidationError(errorText);
18391 return;
18392 }
18393 calcBip32ExtendedKey(derivationPath);
18394 displayBip32Info();
18395 hidePending();
18396 }
18397
18398 function generateClicked() {
18399 if (isUsingOwnEntropy()) {
18400 return;
18401 }
18402 clearDisplay();
18403 showPending();
18404 setTimeout(function() {
18405 setMnemonicLanguage();
18406 var phrase = generateRandomPhrase();
18407 if (!phrase) {
18408 return;
18409 }
18410 phraseChanged();
18411 }, 50);
18412 }
18413
18414 function languageChanged() {
18415 setTimeout(function() {
18416 setMnemonicLanguage();
18417 if (DOM.phrase.val().length > 0) {
18418 var newPhrase = convertPhraseToNewLanguage();
18419 DOM.phrase.val(newPhrase);
18420 phraseChanged();
18421 }
18422 else {
18423 DOM.generate.trigger("click");
18424 }
18425 }, 50);
18426 }
18427
18428 function toggleIndexes() {
18429 showIndex = !showIndex;
18430 $("td.index span").toggleClass("invisible");
18431 }
18432
18433 function toggleAddresses() {
18434 showAddress = !showAddress;
18435 $("td.address span").toggleClass("invisible");
18436 }
18437
18438 function togglePublicKeys() {
18439 showPubKey = !showPubKey;
18440 $("td.pubkey span").toggleClass("invisible");
18441 }
18442
18443 function togglePrivateKeys() {
18444 showPrivKey = !showPrivKey;
18445 $("td.privkey span").toggleClass("invisible");
18446 }
18447
18448 // Private methods
18449
18450 function generateRandomPhrase() {
18451 if (!hasStrongRandom()) {
18452 var errorText = "This browser does not support strong randomness";
18453 showValidationError(errorText);
18454 return;
18455 }
18abe53b 18456 var numWords = parseInt(DOM.generatedStrength.val());
c6624d51
IC
18457 var strength = numWords / 3 * 32;
18458 var words = mnemonic.generate(strength);
18459 DOM.phrase.val(words);
18460 return words;
18461 }
18462
18463 function calcBip32RootKeyFromSeed(phrase, passphrase) {
18464 seed = mnemonic.toSeed(phrase, passphrase);
18465 bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
18466 }
18467
18468 function calcBip32RootKeyFromBase58(rootKeyBase58) {
18469 bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
18470 }
18471
18472 function calcBip32ExtendedKey(path) {
18473 bip32ExtendedKey = bip32RootKey;
18474 // Derive the key from the path
18475 var pathBits = path.split("/");
ebd8d4e8
IC
18476 for (var i=0; i<pathBits.length; i++) {
18477 var bit = pathBits[i];
18478 var index = parseInt(bit);
18479 if (isNaN(index)) {
18480 continue;
18481 }
18482 var hardened = bit[bit.length-1] == "'";
18483 if (hardened) {
18484 bip32ExtendedKey = bip32ExtendedKey.deriveHardened(index);
18485 }
18486 else {
18487 bip32ExtendedKey = bip32ExtendedKey.derive(index);
18488 }
18489 }
18490 }
18491
18492 function showValidationError(errorText) {
18493 DOM.feedback
18494 .text(errorText)
18495 .show();
18496 }
18497
18498 function hideValidationError() {
18499 DOM.feedback
18500 .text("")
18501 .hide();
18502 }
18503
18504 function findPhraseErrors(phrase) {
ebd8d4e8 18505 // Preprocess the words
783981de 18506 phrase = mnemonic.normalizeString(phrase);
0515eeec 18507 var words = phraseToWordArray(phrase);
18abe53b
IC
18508 // Detect blank phrase
18509 if (words.length == 0) {
18510 return "Blank mnemonic";
18511 }
563e401a 18512 // Check each word
0515eeec
IC
18513 for (var i=0; i<words.length; i++) {
18514 var word = words[i];
18515 var language = getLanguage();
18516 if (WORDLISTS[language].indexOf(word) == -1) {
563e401a
IC
18517 console.log("Finding closest match to " + word);
18518 var nearestWord = findNearestWord(word);
18519 return word + " not in wordlist, did you mean " + nearestWord + "?";
18520 }
18521 }
ebd8d4e8 18522 // Check the words are valid
0515eeec 18523 var properPhrase = wordArrayToPhrase(words);
ebd8d4e8
IC
18524 var isValid = mnemonic.check(properPhrase);
18525 if (!isValid) {
18526 return "Invalid mnemonic";
18527 }
18528 return false;
18529 }
18530
efe41586
IC
18531 function validateRootKey(rootKeyBase58) {
18532 try {
18533 bitcoin.HDNode.fromBase58(rootKeyBase58);
18534 }
18535 catch (e) {
18536 return "Invalid root key";
18537 }
18538 return "";
18539 }
18540
38523d36
IC
18541 function getDerivationPath() {
18542 if (DOM.bip44tab.hasClass("active")) {
18543 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
18544 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
18545 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
18546 var change = parseIntNoNaN(DOM.bip44change.val(), 0);
18547 var path = "m/";
18548 path += purpose + "'/";
18549 path += coin + "'/";
18550 path += account + "'/";
18551 path += change;
18552 DOM.bip44path.val(path);
18553 var derivationPath = DOM.bip44path.val();
18554 console.log("Using derivation path from BIP44 tab: " + derivationPath);
18555 return derivationPath;
18556 }
18557 else if (DOM.bip32tab.hasClass("active")) {
18558 var derivationPath = DOM.bip32path.val();
18559 console.log("Using derivation path from BIP32 tab: " + derivationPath);
18560 return derivationPath;
18561 }
18562 else {
18563 console.log("Unknown derivation path");
18564 }
18565 }
18566
ebd8d4e8 18567 function findDerivationPathErrors(path) {
30c9e79d
IC
18568 // TODO is not perfect but is better than nothing
18569 // Inspired by
18570 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vectors
18571 // and
18572 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys
18573 var maxDepth = 255; // TODO verify this!!
18574 var maxIndexValue = Math.pow(2, 31); // TODO verify this!!
18575 if (path[0] != "m") {
18576 return "First character must be 'm'";
18577 }
18578 if (path.length > 1) {
18579 if (path[1] != "/") {
18580 return "Separator must be '/'";
18581 }
18582 var indexes = path.split("/");
18583 if (indexes.length > maxDepth) {
18584 return "Derivation depth is " + indexes.length + ", must be less than " + maxDepth;
18585 }
18586 for (var depth = 1; depth<indexes.length; depth++) {
18587 var index = indexes[depth];
18588 var invalidChars = index.replace(/^[0-9]+'?$/g, "")
18589 if (invalidChars.length > 0) {
18590 return "Invalid characters " + invalidChars + " found at depth " + depth;
18591 }
18592 var indexValue = parseInt(index.replace("'", ""));
18593 if (isNaN(depth)) {
18594 return "Invalid number at depth " + depth;
18595 }
18596 if (indexValue > maxIndexValue) {
18597 return "Value of " + indexValue + " at depth " + depth + " must be less than " + maxIndexValue;
18598 }
18599 }
18600 }
ebd8d4e8
IC
18601 return false;
18602 }
18603
18604 function displayBip32Info() {
18605 // Display the key
73161a92 18606 DOM.seed.val(seed);
ebd8d4e8
IC
18607 var rootKey = bip32RootKey.toBase58();
18608 DOM.rootKey.val(rootKey);
18609 var extendedPrivKey = bip32ExtendedKey.toBase58();
18610 DOM.extendedPrivKey.val(extendedPrivKey);
18611 var extendedPubKey = bip32ExtendedKey.toBase58(false);
18612 DOM.extendedPubKey.val(extendedPubKey);
18613 // Display the addresses and privkeys
18614 clearAddressesList();
18615 displayAddresses(0, 20);
18616 }
18617
18618 function displayAddresses(start, total) {
18619 for (var i=0; i<total; i++) {
80c4dd2a
IC
18620 var index = i + start;
18621 new TableRow(index);
18622 }
18623 }
18624
18625 function TableRow(index) {
18626
1975bfbc
IC
18627 var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
18628
80c4dd2a
IC
18629 function init() {
18630 calculateValues();
18631 }
18632
18633 function calculateValues() {
18634 setTimeout(function() {
1975bfbc
IC
18635 var key = "";
18636 if (useHardenedAddresses) {
18637 key = bip32ExtendedKey.deriveHardened(index);
18638 }
18639 else {
18640 key = bip32ExtendedKey.derive(index);
18641 }
80c4dd2a
IC
18642 var address = key.getAddress().toString();
18643 var privkey = key.privKey.toWIF(network);
1b12b2f5 18644 var pubkey = key.pubKey.toHex();
38523d36 18645 var indexText = getDerivationPath() + "/" + index;
1975bfbc
IC
18646 if (useHardenedAddresses) {
18647 indexText = indexText + "'";
18648 }
1b12b2f5 18649 addAddressToList(indexText, address, pubkey, privkey);
80c4dd2a 18650 }, 50)
ebd8d4e8 18651 }
80c4dd2a
IC
18652
18653 init();
18654
ebd8d4e8
IC
18655 }
18656
18657 function showMore() {
18658 var start = DOM.addresses.children().length;
18659 var rowsToAdd = parseInt(DOM.rowsToAdd.val());
18660 if (isNaN(rowsToAdd)) {
18661 rowsToAdd = 20;
18662 DOM.rowsToAdd.val("20");
18663 }
18664 if (rowsToAdd > 200) {
18665 var msg = "Generating " + rowsToAdd + " rows could take a while. ";
18666 msg += "Do you want to continue?";
18667 if (!confirm(msg)) {
18668 return;
18669 }
18670 }
ebd8d4e8 18671 displayAddresses(start, rowsToAdd);
ebd8d4e8
IC
18672 }
18673
18674 function clearDisplay() {
18675 clearAddressesList();
18676 clearKey();
18677 hideValidationError();
18678 }
18679
18680 function clearAddressesList() {
18681 DOM.addresses.empty();
18682 }
18683
18684 function clearKey() {
18685 DOM.rootKey.val("");
18686 DOM.extendedPrivKey.val("");
18687 DOM.extendedPubKey.val("");
18688 }
18689
1b12b2f5 18690 function addAddressToList(indexText, address, pubkey, privkey) {
ebd8d4e8 18691 var row = $(addressRowTemplate.html());
80c4dd2a
IC
18692 // Elements
18693 var indexCell = row.find(".index span");
18694 var addressCell = row.find(".address span");
1b12b2f5 18695 var pubkeyCell = row.find(".pubkey span");
80c4dd2a
IC
18696 var privkeyCell = row.find(".privkey span");
18697 // Content
ae30fed8 18698 indexCell.text(indexText);
80c4dd2a 18699 addressCell.text(address);
1b12b2f5 18700 pubkeyCell.text(pubkey);
80c4dd2a
IC
18701 privkeyCell.text(privkey);
18702 // Visibility
18703 if (!showIndex) {
18704 indexCell.addClass("invisible");
18705 }
18706 if (!showAddress) {
18707 addressCell.addClass("invisible");
18708 }
1b12b2f5
IC
18709 if (!showPubKey) {
18710 pubkeyCell.addClass("invisible");
18711 }
80c4dd2a 18712 if (!showPrivKey) {
6d628db7 18713 privkeyCell.addClass("invisible");
80c4dd2a 18714 }
ebd8d4e8
IC
18715 DOM.addresses.append(row);
18716 }
18717
18718 function hasStrongRandom() {
18719 return 'crypto' in window && window['crypto'] !== null;
18720 }
18721
18722 function disableForms() {
18723 $("form").on("submit", function(e) {
18724 e.preventDefault();
18725 });
18726 }
18727
ebd8d4e8
IC
18728 function parseIntNoNaN(val, defaultVal) {
18729 var v = parseInt(val);
18730 if (isNaN(v)) {
18731 return defaultVal;
18732 }
18733 return v;
18734 }
18735
18736 function showPending() {
18737 DOM.feedback
18738 .text("Calculating...")
18739 .show();
18740 }
18741
563e401a 18742 function findNearestWord(word) {
0515eeec
IC
18743 var language = getLanguage();
18744 var words = WORDLISTS[language];
563e401a
IC
18745 var minDistance = 99;
18746 var closestWord = words[0];
18747 for (var i=0; i<words.length; i++) {
18748 var comparedTo = words[i];
18749 var distance = Levenshtein.get(word, comparedTo);
18750 if (distance < minDistance) {
18751 closestWord = comparedTo;
18752 minDistance = distance;
18753 }
18754 }
18755 return closestWord;
18756 }
18757
ebd8d4e8
IC
18758 function hidePending() {
18759 DOM.feedback
18760 .text("")
18761 .hide();
18762 }
18763
ab78acc6
IC
18764 function populateNetworkSelect() {
18765 for (var i=0; i<networks.length; i++) {
18766 var network = networks[i];
18767 var option = $("<option>");
18768 option.attr("value", i);
18769 option.text(network.name);
18770 DOM.phraseNetwork.append(option);
18771 }
18772 }
18773
0515eeec
IC
18774 function getLanguage() {
18775 var defaultLanguage = "english";
18776 // Try to get from existing phrase
18777 var language = getLanguageFromPhrase();
18778 // Try to get from url if not from phrase
18779 if (language.length == 0) {
18780 language = getLanguageFromUrl();
18781 }
18782 // Default to English if no other option
18783 if (language.length == 0) {
18784 language = defaultLanguage;
18785 }
18786 return language;
18787 }
18788
18789 function getLanguageFromPhrase(phrase) {
18790 // Check if how many words from existing phrase match a language.
18791 var language = "";
18792 if (!phrase) {
18793 phrase = DOM.phrase.val();
18794 }
18795 if (phrase.length > 0) {
18796 var words = phraseToWordArray(phrase);
18797 var languageMatches = {};
18798 for (l in WORDLISTS) {
18799 // Track how many words match in this language
18800 languageMatches[l] = 0;
18801 for (var i=0; i<words.length; i++) {
18802 var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
18803 if (wordInLanguage) {
18804 languageMatches[l]++;
18805 }
18806 }
18807 // Find languages with most word matches.
18808 // This is made difficult due to commonalities between Chinese
18809 // simplified vs traditional.
18810 var mostMatches = 0;
18811 var mostMatchedLanguages = [];
18812 for (var l in languageMatches) {
18813 var numMatches = languageMatches[l];
18814 if (numMatches > mostMatches) {
18815 mostMatches = numMatches;
18816 mostMatchedLanguages = [l];
18817 }
18818 else if (numMatches == mostMatches) {
18819 mostMatchedLanguages.push(l);
18820 }
18821 }
18822 }
18823 if (mostMatchedLanguages.length > 0) {
18824 // Use first language and warn if multiple detected
18825 language = mostMatchedLanguages[0];
18826 if (mostMatchedLanguages.length > 1) {
18827 console.warn("Multiple possible languages");
18828 console.warn(mostMatchedLanguages);
18829 }
18830 }
18831 }
18832 return language;
18833 }
18834
18835 function getLanguageFromUrl() {
c6624d51
IC
18836 for (var language in WORDLISTS) {
18837 if (window.location.hash.indexOf(language) > -1) {
18838 return language;
18839 }
18840 }
18841 return "";
0515eeec
IC
18842 }
18843
18844 function setMnemonicLanguage() {
18845 var language = getLanguage();
18846 // Load the bip39 mnemonic generator for this language if required
18847 if (!(language in mnemonics)) {
18848 mnemonics[language] = new Mnemonic(language);
18849 }
18850 mnemonic = mnemonics[language];
18851 }
18852
18853 function convertPhraseToNewLanguage() {
18854 var oldLanguage = getLanguageFromPhrase();
18855 var newLanguage = getLanguageFromUrl();
18856 var oldPhrase = DOM.phrase.val();
18857 var oldWords = phraseToWordArray(oldPhrase);
18858 var newWords = [];
18859 for (var i=0; i<oldWords.length; i++) {
18860 var oldWord = oldWords[i];
18861 var index = WORDLISTS[oldLanguage].indexOf(oldWord);
18862 var newWord = WORDLISTS[newLanguage][index];
18863 newWords.push(newWord);
18864 }
18865 newPhrase = wordArrayToPhrase(newWords);
18866 return newPhrase;
18867 }
18868
18869 // TODO look at jsbip39 - mnemonic.splitWords
18870 function phraseToWordArray(phrase) {
18871 var words = phrase.split(/\s/g);
18872 var noBlanks = [];
18873 for (var i=0; i<words.length; i++) {
18874 var word = words[i];
18875 if (word.length > 0) {
18876 noBlanks.push(word);
18877 }
18878 }
18879 return noBlanks;
18880 }
18881
18882 // TODO look at jsbip39 - mnemonic.joinWords
18883 function wordArrayToPhrase(words) {
18884 var phrase = words.join(" ");
18885 var language = getLanguageFromPhrase(phrase);
18886 if (language == "japanese") {
18887 phrase = words.join("\u3000");
18888 }
18889 return phrase;
18890 }
18891
c6624d51
IC
18892 function isUsingOwnEntropy() {
18893 return DOM.useEntropy.prop("checked");
18894 }
18895
18896 function setMnemonicFromEntropy() {
2a6dd137 18897 clearEntropyFeedback();
18abe53b 18898 // Get entropy value
c6624d51 18899 var entropyStr = DOM.entropy.val();
18abe53b 18900 // Work out minimum base for entropy
c6624d51 18901 var entropy = Entropy.fromString(entropyStr);
18abe53b 18902 if (entropy.binaryStr.length == 0) {
c6624d51
IC
18903 return;
18904 }
18905 // Show entropy details
18abe53b
IC
18906 showEntropyFeedback(entropy);
18907 // Use entropy hash if not using raw entropy
18908 var bits = entropy.binaryStr;
18909 var mnemonicLength = DOM.entropyMnemonicLength.val();
18910 if (mnemonicLength != "raw") {
18911 // Get bits by hashing entropy with SHA256
18912 var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
18913 var hex = sjcl.codec.hex.fromBits(hash);
18914 bits = BigInteger.parse(hex, 16).toString(2);
18915 for (var i=0; i<256-bits.length; i++) {
18916 bits = "0" + bits;
18917 }
18918 // Truncate hash to suit number of words
18919 mnemonicLength = parseInt(mnemonicLength);
18920 var numberOfBits = 32 * mnemonicLength / 3;
18921 bits = bits.substring(0, numberOfBits);
c6624d51 18922 }
c6624d51 18923 // Discard trailing entropy
18abe53b 18924 var bitsToUse = Math.floor(bits.length / 32) * 32;
2a6dd137
IC
18925 var start = bits.length - bitsToUse;
18926 var binaryStr = bits.substring(start);
c6624d51
IC
18927 // Convert entropy string to numeric array
18928 var entropyArr = [];
18abe53b
IC
18929 for (var i=0; i<binaryStr.length / 8; i++) {
18930 var byteAsBits = binaryStr.substring(i*8, i*8+8);
18931 var entropyByte = parseInt(byteAsBits, 2);
c6624d51
IC
18932 entropyArr.push(entropyByte)
18933 }
18934 // Convert entropy array to mnemonic
18935 var phrase = mnemonic.toMnemonic(entropyArr);
18936 // Set the mnemonic in the UI
18937 DOM.phrase.val(phrase);
18938 }
18939
2a6dd137
IC
18940 function clearEntropyFeedback() {
18941 DOM.entropyStrength.text("...");
18abe53b 18942 DOM.entropyType.text("");
2a6dd137
IC
18943 DOM.entropyWordCount.text("0");
18944 DOM.entropyEventCount.text("0");
18945 DOM.entropyBitsPerEvent.text("0");
18946 DOM.entropyBits.text("0");
18947 DOM.entropyFiltered.html("&nbsp;");
18948 DOM.entropyBinary.html("&nbsp;");
c6624d51
IC
18949 }
18950
18abe53b
IC
18951 function showEntropyFeedback(entropy) {
18952 var strength = "extremely weak";
18953 if (entropy.binaryStr.length >= 64) {
18954 strength = "very weak";
18955 }
18956 if (entropy.binaryStr.length >= 96) {
18957 strength = "weak";
18958 }
18959 if (entropy.binaryStr.length >= 128) {
18960 strength = "strong";
18961 }
18962 if (entropy.binaryStr.length >= 160) {
18963 strength = "very strong";
18964 }
18965 if (entropy.binaryStr.length >= 192) {
18966 strength = "extremely strong";
18967 }
18968 // If time to crack is less than one day, and password is considered
18969 // strong or better based on the number of bits, rename strength to
18970 // 'easily cracked'.
18971 var z = zxcvbn(entropy.cleanStr);
18972 var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second;
18973 if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) {
18974 strength = "easily cracked";
18975 if (z.feedback.warning != "") {
18976 strength = strength + " - " + z.feedback.warning;
18977 };
18978 }
18979 var bitsStr = entropy.binaryStr.length;
2a6dd137
IC
18980 var wordCount = Math.floor(entropy.binaryStr.length / 32) * 3;
18981 DOM.entropyFiltered.html(entropy.cleanHtml);
18abe53b
IC
18982 DOM.entropyType.text(entropy.base.str);
18983 DOM.entropyStrength.text(strength);
18984 DOM.entropyEventCount.text(entropy.base.ints.length);
18985 DOM.entropyBits.text(bitsStr);
2a6dd137
IC
18986 DOM.entropyWordCount.text(wordCount);
18987 DOM.entropyBinary.text(entropy.binaryStr);
18abe53b 18988 DOM.entropyBitsPerEvent.text(Math.log2(entropy.base.asInt).toFixed(2));
c6624d51
IC
18989 }
18990
ab78acc6
IC
18991 var networks = [
18992 {
18993 name: "Bitcoin",
18994 onSelect: function() {
18995 network = bitcoin.networks.bitcoin;
18996 DOM.bip44coin.val(0);
ab78acc6
IC
18997 },
18998 },
18999 {
19000 name: "Bitcoin Testnet",
19001 onSelect: function() {
19002 network = bitcoin.networks.testnet;
19003 DOM.bip44coin.val(1);
ab78acc6
IC
19004 },
19005 },
19006 {
19007 name: "Litecoin",
19008 onSelect: function() {
19009 network = bitcoin.networks.litecoin;
19010 DOM.bip44coin.val(2);
19011 },
19012 },
19013 {
19014 name: "Dogecoin",
19015 onSelect: function() {
19016 network = bitcoin.networks.dogecoin;
19017 DOM.bip44coin.val(3);
19018 },
19019 },
d5dc92fd
IC
19020 {
19021 name: "ShadowCash",
19022 onSelect: function() {
19023 network = bitcoin.networks.shadow;
19024 DOM.bip44coin.val(35);
19025 },
19026 },
19027 {
19028 name: "ShadowCash Testnet",
19029 onSelect: function() {
19030 network = bitcoin.networks.shadowtn;
19031 DOM.bip44coin.val(1);
19032 },
19033 },
a3baa26e
IC
19034 {
19035 name: "Viacoin",
19036 onSelect: function() {
19037 network = bitcoin.networks.viacoin;
19038 DOM.bip44coin.val(14);
19039 },
19040 },
19041 {
19042 name: "Viacoin Testnet",
19043 onSelect: function() {
19044 network = bitcoin.networks.viacointestnet;
19045 DOM.bip44coin.val(1);
19046 },
19047 },
19048 {
19049 name: "Jumbucks",
19050 onSelect: function() {
19051 network = bitcoin.networks.jumbucks;
19052 DOM.bip44coin.val(26);
19053 },
19054 },
5c434a8a
CM
19055 {
19056 name: "CLAM",
19057 onSelect: function() {
19058 network = bitcoin.networks.clam;
19059 DOM.bip44coin.val(23);
19060 },
19061 },
5493efc3 19062 {
19063 name: "DASH",
19064 onSelect: function() {
19065 network = bitcoin.networks.dash;
19066 DOM.bip44coin.val(5);
19067 },
19068 },
07ac4350 19069 {
19070 name: "Namecoin",
19071 onSelect: function() {
19072 network = bitcoin.networks.namecoin;
19073 DOM.bip44coin.val(7);
19074 },
19075 },
19076 {
19077 name: "Peercoin",
19078 onSelect: function() {
19079 network = bitcoin.networks.peercoin;
19080 DOM.bip44coin.val(6);
19081 },
19082 },
ab78acc6
IC
19083 ]
19084
ebd8d4e8
IC
19085 init();
19086
19087})();
dc55c6b0 19088</script>
ebd8d4e8
IC
19089 </body>
19090</html>