]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - bip39-standalone.html
Entropy defaults to generating a 15 word mnemonic
[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>
95f04905
IC
137 <div class="row">
138 <label class="col-sm-3 control-label">Strength</label>
139 <div class="strength col-sm-3 form-control-static"></div>
140 <label class="col-sm-3 control-label">Event Count</label>
141 <div class="event-count col-sm-3 form-control-static"></div>
142 </div>
143 <div class="row">
144 <label class="col-sm-3 control-label">Entropy Type</label>
145 <div class="type col-sm-3 form-control-static"></div>
146 <label class="col-sm-3 control-label">Bits Per Event</label>
147 <div class="bits-per-event col-sm-3 form-control-static"></div>
148 </div>
149 <div class="row">
150 <label class="col-sm-3 control-label">Word Count</label>
151 <div class="word-count col-sm-3 form-control-static"></div>
152 <label class="col-sm-3 control-label">Total Bits</label>
153 <div class="bits col-sm-3 form-control-static"></div>
154 </div>
2a6dd137
IC
155 <label class="col-sm-3 control-label">Filtered Entropy</label>
156 <div class="filtered col-sm-9 form-control-static"></div>
157 <label class="col-sm-3 control-label">Raw Binary</label>
158 <div class="binary col-sm-9 form-control-static"></div>
159 <label class="col-sm-3 control-label">Mnemonic Length</label>
160 <div class="col-sm-9">
18abe53b
IC
161 <select class="mnemonic-length form-control">
162 <option value="raw">From entropy length (3 words per 32 bits)</option>
163 <option value="12">12 Words</option>
164 <option value="15">15 Words</option>
165 <option value="18">18 Words</option>
166 <option value="21">21 Words</option>
167 <option value="24">24 Words</option>
168 </select>
c6624d51 169 </div>
18abe53b 170 </div>
2a6dd137
IC
171 <div class="col-sm-3">
172 <p>Valid entropy values include:</p>
173 <ul>
174 <li><strong>Binary</strong> [0-1]<br>101010011</li>
175 <li><strong>Base 6</strong> [0-5]<br>123434014</li>
176 <li><strong>Dice</strong> [1-6]<br>62535634</li>
177 <li><strong>Base 10</strong> [0-9]<br>90834528</li>
178 <li><strong>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
179 <li><strong>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
180 </ul>
181 </div>
c6624d51
IC
182 </div>
183 </div>
184 <div class="form-group">
185 <div class="col-sm-2"></div>
186 <div class="col-sm-10 checkbox">
187 <label>
188 <input type="checkbox" class="use-entropy">
189 Supply my own source of entropy
190 </label>
191 </div>
192 </div>
193 <div class="form-group">
0515eeec
IC
194 <label class="col-sm-2 control-label"></label>
195 <div class="col-sm-10 languages">
196 <a href="#english">English</a>
197 <a href="#japanese" title="Japanese">日本語</a>
0515eeec
IC
198 <a href="#spanish" title="Spanish">Español</a>
199 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
200 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
201 <a href="#french" title="French">Français</a>
202 <a href="#italian" title="Italian">Italiano</a>
203 </div>
ab78acc6
IC
204 </div>
205 <div class="form-group">
b0818b31 206 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
ab78acc6 207 <div class="col-sm-10">
b0818b31 208 <textarea id="phrase" class="phrase form-control"></textarea>
ab78acc6
IC
209 </div>
210 </div>
211 <div class="form-group">
212 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
213 <div class="col-sm-10">
214 <textarea id="passphrase" class="passphrase form-control"></textarea>
215 </div>
216 </div>
73161a92
IC
217 <div class="form-group">
218 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
219 <div class="col-sm-10">
220 <textarea id="seed" class="seed form-control" readonly="readonly"></textarea>
221 </div>
222 </div>
ab78acc6
IC
223 <div class="form-group">
224 <label for="network-phrase" class="col-sm-2 control-label">Coin</label>
225 <div class="col-sm-10">
226 <select id="network-phrase" class="network form-control">
227 <!-- populated by javascript -->
228 </select>
229 </div>
230 </div>
231 <div class="form-group">
232 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
233 <div class="col-sm-10">
efe41586 234 <textarea id="root-key" class="root-key form-control"></textarea>
ab78acc6
IC
235 </div>
236 </div>
237 </form>
238 </div>
239 </div>
3af2954a 240
ab78acc6 241 <hr>
3af2954a 242
ab78acc6
IC
243 <div class="row">
244 <div class="col-md-12">
245 <h2>Derivation Path</h2>
246 <ul class="derivation-type nav nav-tabs" role="tablist">
d5dc92fd 247 <li id="bip44-tab" class="active">
ab78acc6
IC
248 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
249 </li>
250 <li id="bip32-tab">
251 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
252 </li>
253 </ul>
254 <div class="derivation-type tab-content">
d5dc92fd 255 <div id="bip44" class="tab-pane active">
ab78acc6
IC
256 <form class="form-horizontal" role="form">
257 <br>
258 <div class="col-sm-2"></div>
259 <div class="col-sm-10">
260 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a></p>
261 </div>
262 <div class="form-group">
263 <label for="purpose" class="col-sm-2 control-label">
264 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
265 </label>
266 <div class="col-sm-10">
267 <input id="purpose" type="text" class="purpose form-control" value="44">
268 </div>
269 </div>
270 <div class="form-group">
271 <label for="coin" class="col-sm-2 control-label">
272 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
273 </label>
274 <div class="col-sm-10">
275 <input id="coin" type="text" class="coin form-control" value="0">
276 </div>
277 </div>
278 <div class="form-group">
279 <label for="account" class="col-sm-2 control-label">
280 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
281 </label>
282 <div class="col-sm-10">
283 <input id="account" type="text" class="account form-control" value="0">
284 </div>
285 </div>
286 <div class="form-group">
287 <label for="change" class="col-sm-2 control-label">
288 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
289 </label>
290 <div class="col-sm-10">
291 <input id="change" type="text" class="change form-control" value="0">
292 </div>
293 </div>
294 <div class="form-group">
295 <label for="bip44-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
296 <div class="col-sm-10">
297 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
298 </div>
299 </div>
300 </form>
301 </div>
302 <div id="bip32" class="tab-pane">
303 <form class="form-horizontal" role="form">
304 <br>
305 <div class="col-sm-2"></div>
306 <div class="col-sm-10">
307 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a></p>
308 </div>
309 <div class="form-group">
310 <label for="bip32-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
311 <div class="col-sm-10">
312 <input id="bip32-path" type="text" class="path form-control" value="m/0">
313 </div>
314 </div>
1975bfbc
IC
315 <div class="form-group">
316 <div class="col-sm-2"></div>
317 <label class="col-sm-10">
318 <input class="hardened-addresses" type="checkbox">
319 Use hardened addresses
320 </label>
321 </div>
d5dc92fd
IC
322 <div class="form-group">
323 <label class="col-sm-2 control-label">Hive Wallet</label>
324 <div class="col-sm-10">
325 <p class="form-control no-border">
326 Use path <code>m/0'/0</code>.
327 For more info see the <a href="https://www.hivewallet.com/" target="_blank">Hive Wallet homepage</a>
328 </p>
329 </div>
330 </div>
331 <div class="form-group">
332 <label for="mycelium-path" class="col-sm-2 control-label">Mycelium Wallet</label>
333 <div class="col-sm-10">
334 <p class="form-control no-border">
335 Use path <code>m/44'/0'/0'/0</code>.
336 For more info see the <a href="http://www.mycelium.com/" target="_blank">Mycelium Wallet homepage</a>
337 </p>
338 </div>
339 </div>
1975bfbc
IC
340 <div class="form-group">
341 <label for="core-path" class="col-sm-2 control-label">Bitcoin Core</label>
342 <div class="col-sm-10">
343 <p class="form-control no-border">
344 Use path <code>m/0'/0'</code> with hardened addresses.
345 For more info see the <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
346 </p>
347 </div>
348 </div>
aa51da11
IC
349 <div class="form-group">
350 <label class="col-sm-2 control-label">Block Explorers</label>
351 <div class="col-sm-10">
352 <p class="form-control no-border">
353 Use path <code>m/44'/0'/0'</code>.
354 Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xpriv</code> key.
355 </p>
356 </div>
357 </div>
ab78acc6
IC
358 </form>
359 </div>
360 </div>
361 <form class="form-horizontal" role="form">
362 <div class="form-group">
363 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Key</label>
364 <div class="col-sm-10">
365 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly"></textarea>
366 </div>
367 </div>
368 <div class="form-group">
369 <label for="extended-pub-key" class="col-sm-2 control-label">BIP32 Extended Key (addresses only)</label>
370 <div class="col-sm-10">
371 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly"></textarea>
372 </div>
373 </div>
374 </form>
375 </div>
376 </div>
3af2954a 377
ab78acc6 378 <hr>
3af2954a 379
ab78acc6
IC
380 <div class="row">
381 <div class="col-md-12">
382 <h2>Derived Addresses</h2>
383 <p>Note these addreses are derived from the <strong>BIP32 Extended Key</strong></p>
384 <table class="table table-striped">
385 <thead>
386 <th>
387 <div class="input-group">
ae30fed8 388 Path&nbsp;&nbsp;
ab78acc6
IC
389 <button class="index-toggle">Toggle</button>
390 </div>
391 </th>
392 <th>
393 <div class="input-group">
394 Address&nbsp;&nbsp;
395 <button class="address-toggle">Toggle</button>
396 </div>
397 </th>
1b12b2f5
IC
398 <th>
399 <div class="input-group">
400 Public Key&nbsp;&nbsp;
401 <button class="public-key-toggle">Toggle</button>
402 </div>
403 </th>
ab78acc6
IC
404 <th>
405 <div class="input-group">
406 Private Key&nbsp;&nbsp;
407 <button class="private-key-toggle">Toggle</button>
408 </div>
409 </th>
410 </thead>
d737abf6 411 <tbody class="addresses monospace">
ab78acc6
IC
412 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
413 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
414 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
415 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
416 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
417 </tbody>
418 </table>
419 </div>
420 </div>
421 <span>Show next </button>
422 <input type="number" class="rows-to-add" value="20">
423 <button class="more">Show</button>
3af2954a 424
ab78acc6 425 <hr>
3af2954a 426
ab78acc6
IC
427 <div class="row">
428 <div class="col-md-12">
429 <h2>More info</h2>
430 <h3>BIP39 <span class="small">Mnemonic code for generating deterministic keys</span></h3>
431 <p>
432 Read more at the
433 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
434 </p>
435 <h3>BIP32 <span class="small">Hierarchical Deterministic Wallets</span></h3>
436 <p>
437 Read more at the
438 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
439 and see the demo at
440 <a href="http://bip32.org/" target="_blank">bip32.org</a>
441 </p>
442 <h3>BIP44 <span class="small">Multi-Account Hierarchy for Deterministic Wallets</span></h3>
443 <p>
444 Read more at the
445 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
446 </p>
447 <h3>Private Keys</h3>
448 <p>
449 Use private keys at
450 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>,
451 but be careful - it can be easy to make mistakes if you
452 don't know what you're doing
453 </p>
c6624d51
IC
454 <h3 id="entropy-notes">Entropy</h3>
455 <p>
456 Entropy values must be sourced from a
457 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
458 This means flipping a fair coin, rolling a fair dice, noise measurements etc. Do <strong>NOT</strong> use
459 phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i>
460 is random, because chances are <em>overwhelming</em> that it isn't random enough for the needs of this tool.
461 </p>
462 <p>
463 The random mnemonic generator on this page uses a
464 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>,
465 and can generally be trusted more than your own intuition about randomness.
466 If cryptographic randomness isn't available in your browser, this page will show a warning and <i>will not generate
467 random mnemonics</i>.
468 </p>
469 <p>
470 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank">You are not a good source of entropy.</a>
471 </p>
ab78acc6
IC
472 </div>
473 </div>
3af2954a 474
ab78acc6 475 <hr>
3af2954a 476
ab78acc6
IC
477 <div class="row">
478 <div class="col-md-12">
3af2954a 479
ab78acc6 480 <h2>Offline Usage</h2>
3af2954a 481
ab78acc6
IC
482 <p>
483 You can use this tool without having to be online.
484 </p>
485 <p>
486 In your browser, select file save-as, and save this page
487 as a file.
488 </p>
489 <p>
490 Double-click that file to open it in a browser
491 on any offline computer.
492 </p>
493 <p>
494 Alternatively, download it from
b630f83d
IC
495 <a href="https://github.com/iancoleman/bip39">
496 https://github.com/iancoleman/bip39
ab78acc6 497 </a>
3af2954a 498
ab78acc6
IC
499 </div>
500 </div>
3af2954a 501
ab78acc6 502 <hr>
3af2954a 503
ab78acc6
IC
504 <div class="row">
505 <div class="col-md-12">
3af2954a 506
ab78acc6 507 <h2>This project is 100% open-source code</h2>
3af2954a 508
ab78acc6
IC
509 <p>
510 <span>Get the source code at - </span>
b630f83d
IC
511 <a href="https://github.com/iancoleman/bip39" target="_blank">
512 https://github.com/iancoleman/bip39
ab78acc6
IC
513 </a>
514 </p>
3af2954a 515
ab78acc6 516 <h3>Libraries</h3>
3af2954a 517
ab78acc6
IC
518 <p>
519 <span>BitcoinJS - </span>
520 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
521 https://github.com/bitcoinjs/bitcoinjs-lib
522 </a>
523 </p>
3af2954a 524
ab78acc6
IC
525 <p>
526 <span>jsBIP39 - </span>
527 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
528 https://github.com/iancoleman/jsbip39
529 </a>
530 </p>
3af2954a 531
ab78acc6
IC
532 <p>
533 <span>sjcl - </span>
534 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
535 https://github.com/bitwiseshiftleft/sjcl
536 </a>
537 </p>
3af2954a 538
ab78acc6
IC
539 <p>
540 <span>jQuery - </span>
541 <a href="https://jquery.com/" target="_blank">
542 https://jquery.com/
543 </a>
544 </p>
3af2954a 545
ab78acc6
IC
546 <p>
547 <span>Twitter Bootstrap - </span>
548 <a href="http://getbootstrap.com/" target="_blank">
549 http://getbootstrap.com/
550 </a>
551 </p>
3af2954a 552
ab78acc6
IC
553 </div>
554 </div>
3af2954a 555
ab78acc6 556 </div>
3af2954a 557
ab78acc6
IC
558 <div class="feedback-container">
559 <div class="feedback">Loading...</div>
560 </div>
3af2954a 561
ab78acc6
IC
562 <script type="text/template" id="address-row-template">
563 <tr>
564 <td class="index"><span></span></td>
565 <td class="address"><span></span></td>
1b12b2f5 566 <td class="pubkey"><span></span></td>
ab78acc6
IC
567 <td class="privkey"><span></span></td>
568 </tr>
569 </script>
570 <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
571!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)
572},_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))
573},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});
574</script>
575 <script>/*!
576 * Bootstrap v3.2.0 (http://getbootstrap.com)
3af2954a
IC
577 * Copyright 2011-2014 Twitter, Inc.
578 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
579 */
580if("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
581 <script>(function() {
582 'use strict';
583
584 /**
585 * Extend an Object with another Object's properties.
586 *
587 * The source objects are specified as additional arguments.
588 *
589 * @param dst Object the object to extend.
590 *
591 * @return Object the final object.
592 */
593 var _extend = function(dst) {
594 var sources = Array.prototype.slice.call(arguments, 1);
595 for (var i=0; i<sources.length; ++i) {
596 var src = sources[i];
597 for (var p in src) {
598 if (src.hasOwnProperty(p)) dst[p] = src[p];
599 }
600 }
601 return dst;
602 };
603
604
605 /**
606 * Defer execution of given function.
607 * @param {Function} func
608 */
609 var _defer = function(func) {
610 if (typeof setImmediate === 'function') {
611 return setImmediate(func);
612 } else {
613 return setTimeout(func, 0);
614 }
615 };
616
617 /**
618 * Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
619 */
620 var Levenshtein = {
621 /**
622 * Calculate levenshtein distance of the two strings.
623 *
624 * @param str1 String the first string.
625 * @param str2 String the second string.
626 * @return Integer the levenshtein distance (0 and above).
627 */
628 get: function(str1, str2) {
629 // base cases
630 if (str1 === str2) return 0;
631 if (str1.length === 0) return str2.length;
632 if (str2.length === 0) return str1.length;
633
634 // two rows
635 var prevRow = new Array(str2.length + 1),
636 curCol, nextCol, i, j, tmp;
637
638 // initialise previous row
639 for (i=0; i<prevRow.length; ++i) {
640 prevRow[i] = i;
641 }
642
643 // calculate current row distance from previous row
644 for (i=0; i<str1.length; ++i) {
645 nextCol = i + 1;
646
647 for (j=0; j<str2.length; ++j) {
648 curCol = nextCol;
649
650 // substution
651 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
652 // insertion
653 tmp = curCol + 1;
654 if (nextCol > tmp) {
655 nextCol = tmp;
656 }
657 // deletion
658 tmp = prevRow[j + 1] + 1;
659 if (nextCol > tmp) {
660 nextCol = tmp;
661 }
662
663 // copy current col value into previous (in preparation for next iteration)
664 prevRow[j] = curCol;
665 }
666
667 // copy last col value into previous (in preparation for next iteration)
668 prevRow[j] = nextCol;
669 }
670
671 return nextCol;
672 },
673
674 /**
675 * Asynchronously calculate levenshtein distance of the two strings.
676 *
677 * @param str1 String the first string.
678 * @param str2 String the second string.
679 * @param cb Function callback function with signature: function(Error err, int distance)
680 * @param [options] Object additional options.
681 * @param [options.progress] Function progress callback with signature: function(percentComplete)
682 */
683 getAsync: function(str1, str2, cb, options) {
684 options = _extend({}, {
685 progress: null
686 }, options);
687
688 // base cases
689 if (str1 === str2) return cb(null, 0);
690 if (str1.length === 0) return cb(null, str2.length);
691 if (str2.length === 0) return cb(null, str1.length);
692
693 // two rows
694 var prevRow = new Array(str2.length + 1),
695 curCol, nextCol,
696 i, j, tmp,
697 startTime, currentTime;
698
699 // initialise previous row
700 for (i=0; i<prevRow.length; ++i) {
701 prevRow[i] = i;
702 }
703
704 nextCol = 1;
705 i = 0;
706 j = -1;
707
708 var __calculate = function() {
709 // reset timer
710 startTime = new Date().valueOf();
711 currentTime = startTime;
712
713 // keep going until one second has elapsed
714 while (currentTime - startTime < 1000) {
715 // reached end of current row?
716 if (str2.length <= (++j)) {
717 // copy current into previous (in preparation for next iteration)
718 prevRow[j] = nextCol;
719
720 // if already done all chars
721 if (str1.length <= (++i)) {
722 return cb(null, nextCol);
723 }
724 // else if we have more left to do
725 else {
726 nextCol = i + 1;
727 j = 0;
728 }
729 }
730
731 // calculation
732 curCol = nextCol;
733
734 // substution
735 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
736 // insertion
737 tmp = curCol + 1;
738 if (nextCol > tmp) {
739 nextCol = tmp;
740 }
741 // deletion
742 tmp = prevRow[j + 1] + 1;
743 if (nextCol > tmp) {
744 nextCol = tmp;
745 }
746
747 // copy current into previous (in preparation for next iteration)
748 prevRow[j] = curCol;
749
750 // get current time
751 currentTime = new Date().valueOf();
752 }
753
754 // send a progress update?
755 if (null !== options.progress) {
756 try {
757 options.progress.call(null, (i * 100.0/ str1.length));
758 } catch (err) {
759 return cb('Progress callback: ' + err.toString());
760 }
761 }
762
763 // next iteration
764 _defer(__calculate);
765 };
766
767 __calculate();
768 }
769
770 };
771
772 // amd
773 if (typeof define !== "undefined" && define !== null && define.amd) {
774 define(function() {
775 return Levenshtein;
776 });
777 }
778 // commonjs
779 else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
780 module.exports = Levenshtein;
781 }
782 // web worker
783 else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
784 self.Levenshtein = Levenshtein;
785 }
786 // browser main thread
787 else if (typeof window !== "undefined" && window !== null) {
788 window.Levenshtein = Levenshtein;
789 }
790}());
791
792</script>
ab78acc6
IC
793 <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){
794// (public) Constructor
795function BigInteger(a, b, c) {
796 if (!(this instanceof BigInteger))
797 return new BigInteger(a, b, c)
3af2954a 798
ab78acc6
IC
799 if (a != null) {
800 if ("number" == typeof a) this.fromNumber(a, b, c)
801 else if (b == null && "string" != typeof a) this.fromString(a, 256)
802 else this.fromString(a, b)
803 }
804}
3af2954a 805
ab78acc6 806var proto = BigInteger.prototype
3af2954a 807
ab78acc6
IC
808// duck-typed isBigInteger
809proto.__bigi = require('../package.json').version
810BigInteger.isBigInteger = function (obj, check_ver) {
811 return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)
812}
3af2954a 813
ab78acc6
IC
814// Bits per digit
815var dbits
3af2954a 816
ab78acc6
IC
817// am: Compute w_j += (x*this_i), propagate carries,
818// c is initial carry, returns final carry.
819// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
820// We need to select the fastest one that works in this environment.
3af2954a 821
ab78acc6
IC
822// am1: use a single mult and divide to get the high bits,
823// max digit bits should be 26 because
824// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
825function am1(i, x, w, j, c, n) {
826 while (--n >= 0) {
827 var v = x * this[i++] + w[j] + c
828 c = Math.floor(v / 0x4000000)
829 w[j++] = v & 0x3ffffff
3af2954a 830 }
ab78acc6
IC
831 return c
832}
833// am2 avoids a big mult-and-extract completely.
834// Max digit bits should be <= 30 because we do bitwise ops
835// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
836function am2(i, x, w, j, c, n) {
837 var xl = x & 0x7fff,
838 xh = x >> 15
839 while (--n >= 0) {
840 var l = this[i] & 0x7fff
841 var h = this[i++] >> 15
842 var m = xh * l + h * xl
843 l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)
844 c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)
845 w[j++] = l & 0x3fffffff
846 }
847 return c
848}
849// Alternately, set max digit bits to 28 since some
850// browsers slow down when dealing with 32-bit numbers.
851function am3(i, x, w, j, c, n) {
852 var xl = x & 0x3fff,
853 xh = x >> 14
854 while (--n >= 0) {
855 var l = this[i] & 0x3fff
856 var h = this[i++] >> 14
857 var m = xh * l + h * xl
858 l = xl * l + ((m & 0x3fff) << 14) + w[j] + c
859 c = (l >> 28) + (m >> 14) + xh * h
860 w[j++] = l & 0xfffffff
3af2954a 861 }
ab78acc6
IC
862 return c
863}
3af2954a 864
ab78acc6
IC
865// wtf?
866BigInteger.prototype.am = am1
867dbits = 26
3af2954a 868
ab78acc6
IC
869BigInteger.prototype.DB = dbits
870BigInteger.prototype.DM = ((1 << dbits) - 1)
871var DV = BigInteger.prototype.DV = (1 << dbits)
3af2954a 872
ab78acc6
IC
873var BI_FP = 52
874BigInteger.prototype.FV = Math.pow(2, BI_FP)
875BigInteger.prototype.F1 = BI_FP - dbits
876BigInteger.prototype.F2 = 2 * dbits - BI_FP
3af2954a 877
ab78acc6
IC
878// Digit conversions
879var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"
880var BI_RC = new Array()
881var rr, vv
882rr = "0".charCodeAt(0)
883for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv
884rr = "a".charCodeAt(0)
885for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
886rr = "A".charCodeAt(0)
887for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
3af2954a 888
ab78acc6
IC
889function int2char(n) {
890 return BI_RM.charAt(n)
891}
3af2954a 892
ab78acc6
IC
893function intAt(s, i) {
894 var c = BI_RC[s.charCodeAt(i)]
895 return (c == null) ? -1 : c
896}
3af2954a 897
ab78acc6
IC
898// (protected) copy this to r
899function bnpCopyTo(r) {
900 for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]
901 r.t = this.t
902 r.s = this.s
903}
3af2954a 904
ab78acc6
IC
905// (protected) set from integer value x, -DV <= x < DV
906function bnpFromInt(x) {
907 this.t = 1
908 this.s = (x < 0) ? -1 : 0
909 if (x > 0) this[0] = x
910 else if (x < -1) this[0] = x + DV
911 else this.t = 0
912}
3af2954a 913
ab78acc6
IC
914// return bigint initialized to value
915function nbv(i) {
916 var r = new BigInteger()
917 r.fromInt(i)
918 return r
919}
3af2954a 920
ab78acc6
IC
921// (protected) set from string and radix
922function bnpFromString(s, b) {
923 var self = this
3af2954a 924
ab78acc6
IC
925 var k
926 if (b == 16) k = 4
927 else if (b == 8) k = 3
928 else if (b == 256) k = 8; // byte array
929 else if (b == 2) k = 1
930 else if (b == 32) k = 5
931 else if (b == 4) k = 2
932 else {
933 self.fromRadix(s, b)
934 return
935 }
936 self.t = 0
937 self.s = 0
938 var i = s.length,
939 mi = false,
940 sh = 0
941 while (--i >= 0) {
942 var x = (k == 8) ? s[i] & 0xff : intAt(s, i)
943 if (x < 0) {
944 if (s.charAt(i) == "-") mi = true
945 continue
946 }
947 mi = false
948 if (sh == 0)
949 self[self.t++] = x
950 else if (sh + k > self.DB) {
951 self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh
952 self[self.t++] = (x >> (self.DB - sh))
953 } else
954 self[self.t - 1] |= x << sh
955 sh += k
956 if (sh >= self.DB) sh -= self.DB
957 }
958 if (k == 8 && (s[0] & 0x80) != 0) {
959 self.s = -1
960 if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh
961 }
962 self.clamp()
963 if (mi) BigInteger.ZERO.subTo(self, self)
964}
3af2954a 965
ab78acc6
IC
966// (protected) clamp off excess high words
967function bnpClamp() {
968 var c = this.s & this.DM
969 while (this.t > 0 && this[this.t - 1] == c)--this.t
970}
3af2954a 971
ab78acc6
IC
972// (public) return string representation in given radix
973function bnToString(b) {
974 var self = this
975 if (self.s < 0) return "-" + self.negate()
976 .toString(b)
977 var k
978 if (b == 16) k = 4
979 else if (b == 8) k = 3
980 else if (b == 2) k = 1
981 else if (b == 32) k = 5
982 else if (b == 4) k = 2
983 else return self.toRadix(b)
984 var km = (1 << k) - 1,
985 d, m = false,
986 r = "",
987 i = self.t
988 var p = self.DB - (i * self.DB) % k
989 if (i-- > 0) {
990 if (p < self.DB && (d = self[i] >> p) > 0) {
991 m = true
992 r = int2char(d)
993 }
994 while (i >= 0) {
995 if (p < k) {
996 d = (self[i] & ((1 << p) - 1)) << (k - p)
997 d |= self[--i] >> (p += self.DB - k)
998 } else {
999 d = (self[i] >> (p -= k)) & km
1000 if (p <= 0) {
1001 p += self.DB
1002 --i
1003 }
1004 }
1005 if (d > 0) m = true
1006 if (m) r += int2char(d)
3af2954a 1007 }
3af2954a 1008 }
ab78acc6
IC
1009 return m ? r : "0"
1010}
3af2954a 1011
ab78acc6
IC
1012// (public) -this
1013function bnNegate() {
1014 var r = new BigInteger()
1015 BigInteger.ZERO.subTo(this, r)
1016 return r
1017}
3af2954a 1018
ab78acc6
IC
1019// (public) |this|
1020function bnAbs() {
1021 return (this.s < 0) ? this.negate() : this
1022}
3af2954a 1023
ab78acc6
IC
1024// (public) return + if this > a, - if this < a, 0 if equal
1025function bnCompareTo(a) {
1026 var r = this.s - a.s
1027 if (r != 0) return r
1028 var i = this.t
1029 r = i - a.t
1030 if (r != 0) return (this.s < 0) ? -r : r
1031 while (--i >= 0)
1032 if ((r = this[i] - a[i]) != 0) return r
1033 return 0
1034}
3af2954a 1035
ab78acc6
IC
1036// returns bit length of the integer x
1037function nbits(x) {
1038 var r = 1,
1039 t
1040 if ((t = x >>> 16) != 0) {
1041 x = t
1042 r += 16
1043 }
1044 if ((t = x >> 8) != 0) {
1045 x = t
1046 r += 8
1047 }
1048 if ((t = x >> 4) != 0) {
1049 x = t
1050 r += 4
1051 }
1052 if ((t = x >> 2) != 0) {
1053 x = t
1054 r += 2
3af2954a 1055 }
ab78acc6
IC
1056 if ((t = x >> 1) != 0) {
1057 x = t
1058 r += 1
1059 }
1060 return r
1061}
1062
1063// (public) return the number of bits in "this"
1064function bnBitLength() {
1065 if (this.t <= 0) return 0
1066 return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
1067}
3af2954a 1068
ab78acc6
IC
1069// (public) return the number of bytes in "this"
1070function bnByteLength() {
1071 return this.bitLength() >> 3
1072}
3af2954a 1073
ab78acc6
IC
1074// (protected) r = this << n*DB
1075function bnpDLShiftTo(n, r) {
1076 var i
1077 for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]
1078 for (i = n - 1; i >= 0; --i) r[i] = 0
1079 r.t = this.t + n
1080 r.s = this.s
1081}
3af2954a 1082
ab78acc6
IC
1083// (protected) r = this >> n*DB
1084function bnpDRShiftTo(n, r) {
1085 for (var i = n; i < this.t; ++i) r[i - n] = this[i]
1086 r.t = Math.max(this.t - n, 0)
1087 r.s = this.s
1088}
3af2954a 1089
ab78acc6
IC
1090// (protected) r = this << n
1091function bnpLShiftTo(n, r) {
1092 var self = this
1093 var bs = n % self.DB
1094 var cbs = self.DB - bs
1095 var bm = (1 << cbs) - 1
1096 var ds = Math.floor(n / self.DB),
1097 c = (self.s << bs) & self.DM,
1098 i
1099 for (i = self.t - 1; i >= 0; --i) {
1100 r[i + ds + 1] = (self[i] >> cbs) | c
1101 c = (self[i] & bm) << bs
1102 }
1103 for (i = ds - 1; i >= 0; --i) r[i] = 0
1104 r[ds] = c
1105 r.t = self.t + ds + 1
1106 r.s = self.s
1107 r.clamp()
1108}
3af2954a 1109
ab78acc6
IC
1110// (protected) r = this >> n
1111function bnpRShiftTo(n, r) {
1112 var self = this
1113 r.s = self.s
1114 var ds = Math.floor(n / self.DB)
1115 if (ds >= self.t) {
1116 r.t = 0
1117 return
3af2954a 1118 }
ab78acc6
IC
1119 var bs = n % self.DB
1120 var cbs = self.DB - bs
1121 var bm = (1 << bs) - 1
1122 r[0] = self[ds] >> bs
1123 for (var i = ds + 1; i < self.t; ++i) {
1124 r[i - ds - 1] |= (self[i] & bm) << cbs
1125 r[i - ds] = self[i] >> bs
1126 }
1127 if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs
1128 r.t = self.t - ds
1129 r.clamp()
1130}
3af2954a 1131
ab78acc6
IC
1132// (protected) r = this - a
1133function bnpSubTo(a, r) {
1134 var self = this
1135 var i = 0,
1136 c = 0,
1137 m = Math.min(a.t, self.t)
1138 while (i < m) {
1139 c += self[i] - a[i]
1140 r[i++] = c & self.DM
1141 c >>= self.DB
1142 }
1143 if (a.t < self.t) {
1144 c -= a.s
1145 while (i < self.t) {
1146 c += self[i]
1147 r[i++] = c & self.DM
1148 c >>= self.DB
1149 }
1150 c += self.s
1151 } else {
1152 c += self.s
1153 while (i < a.t) {
1154 c -= a[i]
1155 r[i++] = c & self.DM
1156 c >>= self.DB
1157 }
1158 c -= a.s
1159 }
1160 r.s = (c < 0) ? -1 : 0
1161 if (c < -1) r[i++] = self.DV + c
1162 else if (c > 0) r[i++] = c
1163 r.t = i
1164 r.clamp()
1165}
3af2954a 1166
ab78acc6
IC
1167// (protected) r = this * a, r != this,a (HAC 14.12)
1168// "this" should be the larger one if appropriate.
1169function bnpMultiplyTo(a, r) {
1170 var x = this.abs(),
1171 y = a.abs()
1172 var i = x.t
1173 r.t = i + y.t
1174 while (--i >= 0) r[i] = 0
1175 for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)
1176 r.s = 0
1177 r.clamp()
1178 if (this.s != a.s) BigInteger.ZERO.subTo(r, r)
1179}
3af2954a 1180
ab78acc6
IC
1181// (protected) r = this^2, r != this (HAC 14.16)
1182function bnpSquareTo(r) {
1183 var x = this.abs()
1184 var i = r.t = 2 * x.t
1185 while (--i >= 0) r[i] = 0
1186 for (i = 0; i < x.t - 1; ++i) {
1187 var c = x.am(i, x[i], r, 2 * i, 0, 1)
1188 if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
1189 r[i + x.t] -= x.DV
1190 r[i + x.t + 1] = 1
1191 }
1192 }
1193 if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)
1194 r.s = 0
1195 r.clamp()
1196}
3af2954a 1197
ab78acc6
IC
1198// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
1199// r != q, this != m. q or r may be null.
1200function bnpDivRemTo(m, q, r) {
1201 var self = this
1202 var pm = m.abs()
1203 if (pm.t <= 0) return
1204 var pt = self.abs()
1205 if (pt.t < pm.t) {
1206 if (q != null) q.fromInt(0)
1207 if (r != null) self.copyTo(r)
1208 return
1209 }
1210 if (r == null) r = new BigInteger()
1211 var y = new BigInteger(),
1212 ts = self.s,
1213 ms = m.s
1214 var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus
1215 if (nsh > 0) {
1216 pm.lShiftTo(nsh, y)
1217 pt.lShiftTo(nsh, r)
1218 } else {
1219 pm.copyTo(y)
1220 pt.copyTo(r)
1221 }
1222 var ys = y.t
1223 var y0 = y[ys - 1]
1224 if (y0 == 0) return
1225 var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)
1226 var d1 = self.FV / yt,
1227 d2 = (1 << self.F1) / yt,
1228 e = 1 << self.F2
1229 var i = r.t,
1230 j = i - ys,
1231 t = (q == null) ? new BigInteger() : q
1232 y.dlShiftTo(j, t)
1233 if (r.compareTo(t) >= 0) {
1234 r[r.t++] = 1
1235 r.subTo(t, r)
1236 }
1237 BigInteger.ONE.dlShiftTo(ys, t)
1238 t.subTo(y, y); // "negative" y so we can replace sub with am later
1239 while (y.t < ys) y[y.t++] = 0
1240 while (--j >= 0) {
1241 // Estimate quotient digit
1242 var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)
1243 if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
1244 y.dlShiftTo(j, t)
1245 r.subTo(t, r)
1246 while (r[i] < --qd) r.subTo(t, r)
3af2954a 1247 }
ab78acc6
IC
1248 }
1249 if (q != null) {
1250 r.drShiftTo(ys, q)
1251 if (ts != ms) BigInteger.ZERO.subTo(q, q)
1252 }
1253 r.t = ys
1254 r.clamp()
1255 if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
1256 if (ts < 0) BigInteger.ZERO.subTo(r, r)
1257}
3af2954a 1258
ab78acc6
IC
1259// (public) this mod a
1260function bnMod(a) {
1261 var r = new BigInteger()
1262 this.abs()
1263 .divRemTo(a, null, r)
1264 if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)
1265 return r
1266}
3af2954a 1267
ab78acc6
IC
1268// Modular reduction using "classic" algorithm
1269function Classic(m) {
1270 this.m = m
1271}
3af2954a 1272
ab78acc6
IC
1273function cConvert(x) {
1274 if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)
1275 else return x
1276}
1277
1278function cRevert(x) {
1279 return x
1280}
3af2954a 1281
ab78acc6
IC
1282function cReduce(x) {
1283 x.divRemTo(this.m, null, x)
1284}
3af2954a 1285
ab78acc6
IC
1286function cMulTo(x, y, r) {
1287 x.multiplyTo(y, r)
1288 this.reduce(r)
1289}
3af2954a 1290
ab78acc6
IC
1291function cSqrTo(x, r) {
1292 x.squareTo(r)
1293 this.reduce(r)
1294}
3af2954a 1295
ab78acc6
IC
1296Classic.prototype.convert = cConvert
1297Classic.prototype.revert = cRevert
1298Classic.prototype.reduce = cReduce
1299Classic.prototype.mulTo = cMulTo
1300Classic.prototype.sqrTo = cSqrTo
3af2954a 1301
ab78acc6
IC
1302// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1303// justification:
1304// xy == 1 (mod m)
1305// xy = 1+km
1306// xy(2-xy) = (1+km)(1-km)
1307// x[y(2-xy)] = 1-k^2m^2
1308// x[y(2-xy)] == 1 (mod m^2)
1309// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1310// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1311// JS multiply "overflows" differently from C/C++, so care is needed here.
1312function bnpInvDigit() {
1313 if (this.t < 1) return 0
1314 var x = this[0]
1315 if ((x & 1) == 0) return 0
1316 var y = x & 3; // y == 1/x mod 2^2
1317 y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1318 y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1319 y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1320 // last step - calculate inverse mod DV directly
1321 // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1322 y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1323 // we really want the negative inverse, and -DV < y < DV
1324 return (y > 0) ? this.DV - y : -y
1325}
3af2954a 1326
ab78acc6
IC
1327// Montgomery reduction
1328function Montgomery(m) {
1329 this.m = m
1330 this.mp = m.invDigit()
1331 this.mpl = this.mp & 0x7fff
1332 this.mph = this.mp >> 15
1333 this.um = (1 << (m.DB - 15)) - 1
1334 this.mt2 = 2 * m.t
1335}
3af2954a 1336
ab78acc6
IC
1337// xR mod m
1338function montConvert(x) {
1339 var r = new BigInteger()
1340 x.abs()
1341 .dlShiftTo(this.m.t, r)
1342 r.divRemTo(this.m, null, r)
1343 if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)
1344 return r
1345}
3af2954a 1346
ab78acc6
IC
1347// x/R mod m
1348function montRevert(x) {
1349 var r = new BigInteger()
1350 x.copyTo(r)
1351 this.reduce(r)
1352 return r
1353}
3af2954a 1354
ab78acc6
IC
1355// x = x/R mod m (HAC 14.32)
1356function montReduce(x) {
1357 while (x.t <= this.mt2) // pad x so am has enough room later
1358 x[x.t++] = 0
1359 for (var i = 0; i < this.m.t; ++i) {
1360 // faster way of calculating u0 = x[i]*mp mod DV
1361 var j = x[i] & 0x7fff
1362 var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM
1363 // use am to combine the multiply-shift-add into one call
1364 j = i + this.m.t
1365 x[j] += this.m.am(0, u0, x, i, 0, this.m.t)
1366 // propagate carry
1367 while (x[j] >= x.DV) {
1368 x[j] -= x.DV
1369 x[++j]++
1370 }
1371 }
1372 x.clamp()
1373 x.drShiftTo(this.m.t, x)
1374 if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)
1375}
3af2954a 1376
ab78acc6
IC
1377// r = "x^2/R mod m"; x != r
1378function montSqrTo(x, r) {
1379 x.squareTo(r)
1380 this.reduce(r)
1381}
3af2954a 1382
ab78acc6
IC
1383// r = "xy/R mod m"; x,y != r
1384function montMulTo(x, y, r) {
1385 x.multiplyTo(y, r)
1386 this.reduce(r)
1387}
3af2954a 1388
ab78acc6
IC
1389Montgomery.prototype.convert = montConvert
1390Montgomery.prototype.revert = montRevert
1391Montgomery.prototype.reduce = montReduce
1392Montgomery.prototype.mulTo = montMulTo
1393Montgomery.prototype.sqrTo = montSqrTo
3af2954a 1394
ab78acc6
IC
1395// (protected) true iff this is even
1396function bnpIsEven() {
1397 return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
1398}
3af2954a 1399
ab78acc6
IC
1400// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1401function bnpExp(e, z) {
1402 if (e > 0xffffffff || e < 1) return BigInteger.ONE
1403 var r = new BigInteger(),
1404 r2 = new BigInteger(),
1405 g = z.convert(this),
1406 i = nbits(e) - 1
1407 g.copyTo(r)
1408 while (--i >= 0) {
1409 z.sqrTo(r, r2)
1410 if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)
1411 else {
1412 var t = r
1413 r = r2
1414 r2 = t
3af2954a 1415 }
3af2954a 1416 }
ab78acc6
IC
1417 return z.revert(r)
1418}
3af2954a 1419
ab78acc6
IC
1420// (public) this^e % m, 0 <= e < 2^32
1421function bnModPowInt(e, m) {
1422 var z
1423 if (e < 256 || m.isEven()) z = new Classic(m)
1424 else z = new Montgomery(m)
1425 return this.exp(e, z)
1426}
3af2954a 1427
ab78acc6
IC
1428// protected
1429proto.copyTo = bnpCopyTo
1430proto.fromInt = bnpFromInt
1431proto.fromString = bnpFromString
1432proto.clamp = bnpClamp
1433proto.dlShiftTo = bnpDLShiftTo
1434proto.drShiftTo = bnpDRShiftTo
1435proto.lShiftTo = bnpLShiftTo
1436proto.rShiftTo = bnpRShiftTo
1437proto.subTo = bnpSubTo
1438proto.multiplyTo = bnpMultiplyTo
1439proto.squareTo = bnpSquareTo
1440proto.divRemTo = bnpDivRemTo
1441proto.invDigit = bnpInvDigit
1442proto.isEven = bnpIsEven
1443proto.exp = bnpExp
3af2954a 1444
ab78acc6
IC
1445// public
1446proto.toString = bnToString
1447proto.negate = bnNegate
1448proto.abs = bnAbs
1449proto.compareTo = bnCompareTo
1450proto.bitLength = bnBitLength
1451proto.byteLength = bnByteLength
1452proto.mod = bnMod
1453proto.modPowInt = bnModPowInt
3af2954a 1454
ab78acc6
IC
1455// (public)
1456function bnClone() {
1457 var r = new BigInteger()
1458 this.copyTo(r)
1459 return r
1460}
3af2954a 1461
ab78acc6
IC
1462// (public) return value as integer
1463function bnIntValue() {
1464 if (this.s < 0) {
1465 if (this.t == 1) return this[0] - this.DV
1466 else if (this.t == 0) return -1
1467 } else if (this.t == 1) return this[0]
1468 else if (this.t == 0) return 0
1469 // assumes 16 < DB < 32
1470 return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]
1471}
3af2954a 1472
ab78acc6
IC
1473// (public) return value as byte
1474function bnByteValue() {
1475 return (this.t == 0) ? this.s : (this[0] << 24) >> 24
1476}
3af2954a 1477
ab78acc6
IC
1478// (public) return value as short (assumes DB>=16)
1479function bnShortValue() {
1480 return (this.t == 0) ? this.s : (this[0] << 16) >> 16
1481}
3af2954a 1482
ab78acc6
IC
1483// (protected) return x s.t. r^x < DV
1484function bnpChunkSize(r) {
1485 return Math.floor(Math.LN2 * this.DB / Math.log(r))
1486}
3af2954a 1487
ab78acc6
IC
1488// (public) 0 if this == 0, 1 if this > 0
1489function bnSigNum() {
1490 if (this.s < 0) return -1
1491 else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0
1492 else return 1
1493}
3af2954a 1494
ab78acc6
IC
1495// (protected) convert to radix string
1496function bnpToRadix(b) {
1497 if (b == null) b = 10
1498 if (this.signum() == 0 || b < 2 || b > 36) return "0"
1499 var cs = this.chunkSize(b)
1500 var a = Math.pow(b, cs)
1501 var d = nbv(a),
1502 y = new BigInteger(),
1503 z = new BigInteger(),
1504 r = ""
1505 this.divRemTo(d, y, z)
1506 while (y.signum() > 0) {
1507 r = (a + z.intValue())
1508 .toString(b)
1509 .substr(1) + r
1510 y.divRemTo(d, y, z)
1511 }
1512 return z.intValue()
1513 .toString(b) + r
1514}
3af2954a 1515
ab78acc6
IC
1516// (protected) convert from radix string
1517function bnpFromRadix(s, b) {
1518 var self = this
1519 self.fromInt(0)
1520 if (b == null) b = 10
1521 var cs = self.chunkSize(b)
1522 var d = Math.pow(b, cs),
1523 mi = false,
1524 j = 0,
1525 w = 0
1526 for (var i = 0; i < s.length; ++i) {
1527 var x = intAt(s, i)
1528 if (x < 0) {
1529 if (s.charAt(i) == "-" && self.signum() == 0) mi = true
1530 continue
1531 }
1532 w = b * w + x
1533 if (++j >= cs) {
1534 self.dMultiply(d)
1535 self.dAddOffset(w, 0)
1536 j = 0
1537 w = 0
1538 }
1539 }
1540 if (j > 0) {
1541 self.dMultiply(Math.pow(b, j))
1542 self.dAddOffset(w, 0)
1543 }
1544 if (mi) BigInteger.ZERO.subTo(self, self)
1545}
3af2954a 1546
ab78acc6
IC
1547// (protected) alternate constructor
1548function bnpFromNumber(a, b, c) {
1549 var self = this
1550 if ("number" == typeof b) {
1551 // new BigInteger(int,int,RNG)
1552 if (a < 2) self.fromInt(1)
1553 else {
1554 self.fromNumber(a, c)
1555 if (!self.testBit(a - 1)) // force MSB set
1556 self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)
1557 if (self.isEven()) self.dAddOffset(1, 0); // force odd
1558 while (!self.isProbablePrime(b)) {
1559 self.dAddOffset(2, 0)
1560 if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)
1561 }
1562 }
1563 } else {
1564 // new BigInteger(int,RNG)
1565 var x = new Array(),
1566 t = a & 7
1567 x.length = (a >> 3) + 1
1568 b.nextBytes(x)
1569 if (t > 0) x[0] &= ((1 << t) - 1)
1570 else x[0] = 0
1571 self.fromString(x, 256)
3af2954a 1572 }
ab78acc6 1573}
3af2954a 1574
ab78acc6
IC
1575// (public) convert to bigendian byte array
1576function bnToByteArray() {
1577 var self = this
1578 var i = self.t,
1579 r = new Array()
1580 r[0] = self.s
1581 var p = self.DB - (i * self.DB) % 8,
1582 d, k = 0
1583 if (i-- > 0) {
1584 if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)
1585 r[k++] = d | (self.s << (self.DB - p))
1586 while (i >= 0) {
1587 if (p < 8) {
1588 d = (self[i] & ((1 << p) - 1)) << (8 - p)
1589 d |= self[--i] >> (p += self.DB - 8)
1590 } else {
1591 d = (self[i] >> (p -= 8)) & 0xff
1592 if (p <= 0) {
1593 p += self.DB
1594 --i
1595 }
1596 }
1597 if ((d & 0x80) != 0) d |= -256
1598 if (k === 0 && (self.s & 0x80) != (d & 0x80))++k
1599 if (k > 0 || d != self.s) r[k++] = d
3af2954a 1600 }
3af2954a 1601 }
ab78acc6
IC
1602 return r
1603}
3af2954a 1604
ab78acc6
IC
1605function bnEquals(a) {
1606 return (this.compareTo(a) == 0)
1607}
3af2954a 1608
ab78acc6
IC
1609function bnMin(a) {
1610 return (this.compareTo(a) < 0) ? this : a
1611}
3af2954a 1612
ab78acc6
IC
1613function bnMax(a) {
1614 return (this.compareTo(a) > 0) ? this : a
1615}
3af2954a 1616
ab78acc6
IC
1617// (protected) r = this op a (bitwise)
1618function bnpBitwiseTo(a, op, r) {
1619 var self = this
1620 var i, f, m = Math.min(a.t, self.t)
1621 for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])
1622 if (a.t < self.t) {
1623 f = a.s & self.DM
1624 for (i = m; i < self.t; ++i) r[i] = op(self[i], f)
1625 r.t = self.t
1626 } else {
1627 f = self.s & self.DM
1628 for (i = m; i < a.t; ++i) r[i] = op(f, a[i])
1629 r.t = a.t
3af2954a 1630 }
ab78acc6
IC
1631 r.s = op(self.s, a.s)
1632 r.clamp()
1633}
3af2954a 1634
ab78acc6
IC
1635// (public) this & a
1636function op_and(x, y) {
1637 return x & y
1638}
3af2954a 1639
ab78acc6
IC
1640function bnAnd(a) {
1641 var r = new BigInteger()
1642 this.bitwiseTo(a, op_and, r)
1643 return r
1644}
3af2954a 1645
ab78acc6
IC
1646// (public) this | a
1647function op_or(x, y) {
1648 return x | y
1649}
3af2954a 1650
ab78acc6
IC
1651function bnOr(a) {
1652 var r = new BigInteger()
1653 this.bitwiseTo(a, op_or, r)
1654 return r
1655}
3af2954a 1656
ab78acc6
IC
1657// (public) this ^ a
1658function op_xor(x, y) {
1659 return x ^ y
1660}
3af2954a 1661
ab78acc6
IC
1662function bnXor(a) {
1663 var r = new BigInteger()
1664 this.bitwiseTo(a, op_xor, r)
1665 return r
1666}
3af2954a 1667
ab78acc6
IC
1668// (public) this & ~a
1669function op_andnot(x, y) {
1670 return x & ~y
1671}
3af2954a 1672
ab78acc6
IC
1673function bnAndNot(a) {
1674 var r = new BigInteger()
1675 this.bitwiseTo(a, op_andnot, r)
1676 return r
1677}
3af2954a 1678
ab78acc6
IC
1679// (public) ~this
1680function bnNot() {
1681 var r = new BigInteger()
1682 for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]
1683 r.t = this.t
1684 r.s = ~this.s
1685 return r
1686}
3af2954a 1687
ab78acc6
IC
1688// (public) this << n
1689function bnShiftLeft(n) {
1690 var r = new BigInteger()
1691 if (n < 0) this.rShiftTo(-n, r)
1692 else this.lShiftTo(n, r)
1693 return r
1694}
3af2954a 1695
ab78acc6
IC
1696// (public) this >> n
1697function bnShiftRight(n) {
1698 var r = new BigInteger()
1699 if (n < 0) this.lShiftTo(-n, r)
1700 else this.rShiftTo(n, r)
1701 return r
1702}
3af2954a 1703
ab78acc6
IC
1704// return index of lowest 1-bit in x, x < 2^31
1705function lbit(x) {
1706 if (x == 0) return -1
1707 var r = 0
1708 if ((x & 0xffff) == 0) {
1709 x >>= 16
1710 r += 16
3af2954a 1711 }
ab78acc6
IC
1712 if ((x & 0xff) == 0) {
1713 x >>= 8
1714 r += 8
1715 }
1716 if ((x & 0xf) == 0) {
1717 x >>= 4
1718 r += 4
1719 }
1720 if ((x & 3) == 0) {
1721 x >>= 2
1722 r += 2
1723 }
1724 if ((x & 1) == 0)++r
1725 return r
1726}
3af2954a 1727
ab78acc6
IC
1728// (public) returns index of lowest 1-bit (or -1 if none)
1729function bnGetLowestSetBit() {
1730 for (var i = 0; i < this.t; ++i)
1731 if (this[i] != 0) return i * this.DB + lbit(this[i])
1732 if (this.s < 0) return this.t * this.DB
1733 return -1
1734}
3af2954a 1735
ab78acc6
IC
1736// return number of 1 bits in x
1737function cbit(x) {
1738 var r = 0
1739 while (x != 0) {
1740 x &= x - 1
1741 ++r
3af2954a 1742 }
ab78acc6
IC
1743 return r
1744}
3af2954a 1745
ab78acc6
IC
1746// (public) return number of set bits
1747function bnBitCount() {
1748 var r = 0,
1749 x = this.s & this.DM
1750 for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)
1751 return r
1752}
1753
1754// (public) true iff nth bit is set
1755function bnTestBit(n) {
1756 var j = Math.floor(n / this.DB)
1757 if (j >= this.t) return (this.s != 0)
1758 return ((this[j] & (1 << (n % this.DB))) != 0)
1759}
3af2954a 1760
ab78acc6
IC
1761// (protected) this op (1<<n)
1762function bnpChangeBit(n, op) {
1763 var r = BigInteger.ONE.shiftLeft(n)
1764 this.bitwiseTo(r, op, r)
1765 return r
1766}
3af2954a 1767
ab78acc6
IC
1768// (public) this | (1<<n)
1769function bnSetBit(n) {
1770 return this.changeBit(n, op_or)
1771}
3af2954a 1772
ab78acc6
IC
1773// (public) this & ~(1<<n)
1774function bnClearBit(n) {
1775 return this.changeBit(n, op_andnot)
1776}
3af2954a 1777
ab78acc6
IC
1778// (public) this ^ (1<<n)
1779function bnFlipBit(n) {
1780 return this.changeBit(n, op_xor)
1781}
3af2954a 1782
ab78acc6
IC
1783// (protected) r = this + a
1784function bnpAddTo(a, r) {
1785 var self = this
3af2954a 1786
ab78acc6
IC
1787 var i = 0,
1788 c = 0,
1789 m = Math.min(a.t, self.t)
1790 while (i < m) {
1791 c += self[i] + a[i]
1792 r[i++] = c & self.DM
1793 c >>= self.DB
1794 }
1795 if (a.t < self.t) {
1796 c += a.s
1797 while (i < self.t) {
1798 c += self[i]
1799 r[i++] = c & self.DM
1800 c >>= self.DB
1801 }
1802 c += self.s
1803 } else {
1804 c += self.s
1805 while (i < a.t) {
1806 c += a[i]
1807 r[i++] = c & self.DM
1808 c >>= self.DB
1809 }
1810 c += a.s
1811 }
1812 r.s = (c < 0) ? -1 : 0
1813 if (c > 0) r[i++] = c
1814 else if (c < -1) r[i++] = self.DV + c
1815 r.t = i
1816 r.clamp()
1817}
3af2954a 1818
ab78acc6
IC
1819// (public) this + a
1820function bnAdd(a) {
1821 var r = new BigInteger()
1822 this.addTo(a, r)
1823 return r
1824}
3af2954a 1825
ab78acc6
IC
1826// (public) this - a
1827function bnSubtract(a) {
1828 var r = new BigInteger()
1829 this.subTo(a, r)
1830 return r
1831}
3af2954a 1832
ab78acc6
IC
1833// (public) this * a
1834function bnMultiply(a) {
1835 var r = new BigInteger()
1836 this.multiplyTo(a, r)
1837 return r
1838}
3af2954a 1839
ab78acc6
IC
1840// (public) this^2
1841function bnSquare() {
1842 var r = new BigInteger()
1843 this.squareTo(r)
1844 return r
1845}
3af2954a 1846
ab78acc6
IC
1847// (public) this / a
1848function bnDivide(a) {
1849 var r = new BigInteger()
1850 this.divRemTo(a, r, null)
1851 return r
1852}
3af2954a 1853
ab78acc6
IC
1854// (public) this % a
1855function bnRemainder(a) {
1856 var r = new BigInteger()
1857 this.divRemTo(a, null, r)
1858 return r
1859}
3af2954a 1860
ab78acc6
IC
1861// (public) [this/a,this%a]
1862function bnDivideAndRemainder(a) {
1863 var q = new BigInteger(),
1864 r = new BigInteger()
1865 this.divRemTo(a, q, r)
1866 return new Array(q, r)
1867}
3af2954a 1868
ab78acc6
IC
1869// (protected) this *= n, this >= 0, 1 < n < DV
1870function bnpDMultiply(n) {
1871 this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)
1872 ++this.t
1873 this.clamp()
1874}
3af2954a 1875
ab78acc6
IC
1876// (protected) this += n << w words, this >= 0
1877function bnpDAddOffset(n, w) {
1878 if (n == 0) return
1879 while (this.t <= w) this[this.t++] = 0
1880 this[w] += n
1881 while (this[w] >= this.DV) {
1882 this[w] -= this.DV
1883 if (++w >= this.t) this[this.t++] = 0
1884 ++this[w]
3af2954a 1885 }
ab78acc6 1886}
3af2954a 1887
ab78acc6
IC
1888// A "null" reducer
1889function NullExp() {}
3af2954a 1890
ab78acc6
IC
1891function nNop(x) {
1892 return x
1893}
3af2954a 1894
ab78acc6
IC
1895function nMulTo(x, y, r) {
1896 x.multiplyTo(y, r)
1897}
3af2954a 1898
ab78acc6
IC
1899function nSqrTo(x, r) {
1900 x.squareTo(r)
1901}
3af2954a 1902
ab78acc6
IC
1903NullExp.prototype.convert = nNop
1904NullExp.prototype.revert = nNop
1905NullExp.prototype.mulTo = nMulTo
1906NullExp.prototype.sqrTo = nSqrTo
3af2954a 1907
ab78acc6
IC
1908// (public) this^e
1909function bnPow(e) {
1910 return this.exp(e, new NullExp())
1911}
3af2954a 1912
ab78acc6
IC
1913// (protected) r = lower n words of "this * a", a.t <= n
1914// "this" should be the larger one if appropriate.
1915function bnpMultiplyLowerTo(a, n, r) {
1916 var i = Math.min(this.t + a.t, n)
1917 r.s = 0; // assumes a,this >= 0
1918 r.t = i
1919 while (i > 0) r[--i] = 0
1920 var j
1921 for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)
1922 for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)
1923 r.clamp()
1924}
3af2954a 1925
ab78acc6
IC
1926// (protected) r = "this * a" without lower n words, n > 0
1927// "this" should be the larger one if appropriate.
1928function bnpMultiplyUpperTo(a, n, r) {
1929 --n
1930 var i = r.t = this.t + a.t - n
1931 r.s = 0; // assumes a,this >= 0
1932 while (--i >= 0) r[i] = 0
1933 for (i = Math.max(n - this.t, 0); i < a.t; ++i)
1934 r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)
1935 r.clamp()
1936 r.drShiftTo(1, r)
1937}
3af2954a 1938
ab78acc6
IC
1939// Barrett modular reduction
1940function Barrett(m) {
1941 // setup Barrett
1942 this.r2 = new BigInteger()
1943 this.q3 = new BigInteger()
1944 BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)
1945 this.mu = this.r2.divide(m)
1946 this.m = m
1947}
3af2954a 1948
ab78acc6
IC
1949function barrettConvert(x) {
1950 if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)
1951 else if (x.compareTo(this.m) < 0) return x
1952 else {
1953 var r = new BigInteger()
1954 x.copyTo(r)
1955 this.reduce(r)
1956 return r
3af2954a 1957 }
ab78acc6 1958}
3af2954a 1959
ab78acc6
IC
1960function barrettRevert(x) {
1961 return x
1962}
3af2954a 1963
ab78acc6
IC
1964// x = x mod m (HAC 14.42)
1965function barrettReduce(x) {
1966 var self = this
1967 x.drShiftTo(self.m.t - 1, self.r2)
1968 if (x.t > self.m.t + 1) {
1969 x.t = self.m.t + 1
1970 x.clamp()
3af2954a 1971 }
ab78acc6
IC
1972 self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)
1973 self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)
1974 while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)
1975 x.subTo(self.r2, x)
1976 while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)
1977}
3af2954a 1978
ab78acc6
IC
1979// r = x^2 mod m; x != r
1980function barrettSqrTo(x, r) {
1981 x.squareTo(r)
1982 this.reduce(r)
1983}
3af2954a 1984
ab78acc6
IC
1985// r = x*y mod m; x,y != r
1986function barrettMulTo(x, y, r) {
1987 x.multiplyTo(y, r)
1988 this.reduce(r)
1989}
3af2954a 1990
ab78acc6
IC
1991Barrett.prototype.convert = barrettConvert
1992Barrett.prototype.revert = barrettRevert
1993Barrett.prototype.reduce = barrettReduce
1994Barrett.prototype.mulTo = barrettMulTo
1995Barrett.prototype.sqrTo = barrettSqrTo
3af2954a 1996
ab78acc6
IC
1997// (public) this^e % m (HAC 14.85)
1998function bnModPow(e, m) {
1999 var i = e.bitLength(),
2000 k, r = nbv(1),
2001 z
2002 if (i <= 0) return r
2003 else if (i < 18) k = 1
2004 else if (i < 48) k = 3
2005 else if (i < 144) k = 4
2006 else if (i < 768) k = 5
2007 else k = 6
2008 if (i < 8)
2009 z = new Classic(m)
2010 else if (m.isEven())
2011 z = new Barrett(m)
2012 else
2013 z = new Montgomery(m)
3af2954a 2014
ab78acc6
IC
2015 // precomputation
2016 var g = new Array(),
2017 n = 3,
2018 k1 = k - 1,
2019 km = (1 << k) - 1
2020 g[1] = z.convert(this)
2021 if (k > 1) {
2022 var g2 = new BigInteger()
2023 z.sqrTo(g[1], g2)
2024 while (n <= km) {
2025 g[n] = new BigInteger()
2026 z.mulTo(g2, g[n - 2], g[n])
2027 n += 2
2028 }
2029 }
2030
2031 var j = e.t - 1,
2032 w, is1 = true,
2033 r2 = new BigInteger(),
2034 t
2035 i = nbits(e[j]) - 1
2036 while (j >= 0) {
2037 if (i >= k1) w = (e[j] >> (i - k1)) & km
2038 else {
2039 w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)
2040 if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)
2041 }
3af2954a 2042
ab78acc6
IC
2043 n = k
2044 while ((w & 1) == 0) {
2045 w >>= 1
2046 --n
2047 }
2048 if ((i -= n) < 0) {
2049 i += this.DB
2050 --j
2051 }
2052 if (is1) { // ret == 1, don't bother squaring or multiplying it
2053 g[w].copyTo(r)
2054 is1 = false
2055 } else {
2056 while (n > 1) {
2057 z.sqrTo(r, r2)
2058 z.sqrTo(r2, r)
2059 n -= 2
2060 }
2061 if (n > 0) z.sqrTo(r, r2)
2062 else {
2063 t = r
2064 r = r2
2065 r2 = t
2066 }
2067 z.mulTo(r2, g[w], r)
2068 }
3af2954a 2069
ab78acc6
IC
2070 while (j >= 0 && (e[j] & (1 << i)) == 0) {
2071 z.sqrTo(r, r2)
2072 t = r
2073 r = r2
2074 r2 = t
2075 if (--i < 0) {
2076 i = this.DB - 1
2077 --j
3af2954a 2078 }
3af2954a
IC
2079 }
2080 }
ab78acc6
IC
2081 return z.revert(r)
2082}
3af2954a 2083
ab78acc6
IC
2084// (public) gcd(this,a) (HAC 14.54)
2085function bnGCD(a) {
2086 var x = (this.s < 0) ? this.negate() : this.clone()
2087 var y = (a.s < 0) ? a.negate() : a.clone()
2088 if (x.compareTo(y) < 0) {
2089 var t = x
2090 x = y
2091 y = t
2092 }
2093 var i = x.getLowestSetBit(),
2094 g = y.getLowestSetBit()
2095 if (g < 0) return x
2096 if (i < g) g = i
2097 if (g > 0) {
2098 x.rShiftTo(g, x)
2099 y.rShiftTo(g, y)
2100 }
2101 while (x.signum() > 0) {
2102 if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)
2103 if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)
2104 if (x.compareTo(y) >= 0) {
2105 x.subTo(y, x)
2106 x.rShiftTo(1, x)
2107 } else {
2108 y.subTo(x, y)
2109 y.rShiftTo(1, y)
2110 }
3af2954a 2111 }
ab78acc6
IC
2112 if (g > 0) y.lShiftTo(g, y)
2113 return y
2114}
3af2954a 2115
ab78acc6
IC
2116// (protected) this % n, n < 2^26
2117function bnpModInt(n) {
2118 if (n <= 0) return 0
2119 var d = this.DV % n,
2120 r = (this.s < 0) ? n - 1 : 0
2121 if (this.t > 0)
2122 if (d == 0) r = this[0] % n
2123 else
2124 for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n
2125 return r
2126}
3af2954a 2127
ab78acc6
IC
2128// (public) 1/this % m (HAC 14.61)
2129function bnModInverse(m) {
2130 var ac = m.isEven()
2131 if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO
2132 var u = m.clone(),
2133 v = this.clone()
2134 var a = nbv(1),
2135 b = nbv(0),
2136 c = nbv(0),
2137 d = nbv(1)
2138 while (u.signum() != 0) {
2139 while (u.isEven()) {
2140 u.rShiftTo(1, u)
2141 if (ac) {
2142 if (!a.isEven() || !b.isEven()) {
2143 a.addTo(this, a)
2144 b.subTo(m, b)
2145 }
2146 a.rShiftTo(1, a)
2147 } else if (!b.isEven()) b.subTo(m, b)
2148 b.rShiftTo(1, b)
2149 }
2150 while (v.isEven()) {
2151 v.rShiftTo(1, v)
2152 if (ac) {
2153 if (!c.isEven() || !d.isEven()) {
2154 c.addTo(this, c)
2155 d.subTo(m, d)
2156 }
2157 c.rShiftTo(1, c)
2158 } else if (!d.isEven()) d.subTo(m, d)
2159 d.rShiftTo(1, d)
2160 }
2161 if (u.compareTo(v) >= 0) {
2162 u.subTo(v, u)
2163 if (ac) a.subTo(c, a)
2164 b.subTo(d, b)
2165 } else {
2166 v.subTo(u, v)
2167 if (ac) c.subTo(a, c)
2168 d.subTo(b, d)
2169 }
2170 }
2171 if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO
2172 if (d.compareTo(m) >= 0) return d.subtract(m)
2173 if (d.signum() < 0) d.addTo(m, d)
2174 else return d
2175 if (d.signum() < 0) return d.add(m)
2176 else return d
2177}
2178
2179var lowprimes = [
2180 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
2181 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
2182 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
2183 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
2184 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
2185 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
2186 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
2187 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
2188 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
2189 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
2190 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
2191]
2192
2193var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]
2194
2195// (public) test primality with certainty >= 1-.5^t
2196function bnIsProbablePrime(t) {
2197 var i, x = this.abs()
2198 if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
2199 for (i = 0; i < lowprimes.length; ++i)
2200 if (x[0] == lowprimes[i]) return true
2201 return false
3af2954a 2202 }
ab78acc6
IC
2203 if (x.isEven()) return false
2204 i = 1
2205 while (i < lowprimes.length) {
2206 var m = lowprimes[i],
2207 j = i + 1
2208 while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]
2209 m = x.modInt(m)
2210 while (i < j) if (m % lowprimes[i++] == 0) return false
2211 }
2212 return x.millerRabin(t)
2213}
2214
2215// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
2216function bnpMillerRabin(t) {
2217 var n1 = this.subtract(BigInteger.ONE)
2218 var k = n1.getLowestSetBit()
2219 if (k <= 0) return false
2220 var r = n1.shiftRight(k)
2221 t = (t + 1) >> 1
2222 if (t > lowprimes.length) t = lowprimes.length
2223 var a = new BigInteger(null)
2224 var j, bases = []
2225 for (var i = 0; i < t; ++i) {
2226 for (;;) {
2227 j = lowprimes[Math.floor(Math.random() * lowprimes.length)]
2228 if (bases.indexOf(j) == -1) break
2229 }
2230 bases.push(j)
2231 a.fromInt(j)
2232 var y = a.modPow(r, this)
2233 if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
2234 var j = 1
2235 while (j++ < k && y.compareTo(n1) != 0) {
2236 y = y.modPowInt(2, this)
2237 if (y.compareTo(BigInteger.ONE) == 0) return false
2238 }
2239 if (y.compareTo(n1) != 0) return false
2240 }
3af2954a 2241 }
ab78acc6
IC
2242 return true
2243}
3af2954a 2244
ab78acc6
IC
2245// protected
2246proto.chunkSize = bnpChunkSize
2247proto.toRadix = bnpToRadix
2248proto.fromRadix = bnpFromRadix
2249proto.fromNumber = bnpFromNumber
2250proto.bitwiseTo = bnpBitwiseTo
2251proto.changeBit = bnpChangeBit
2252proto.addTo = bnpAddTo
2253proto.dMultiply = bnpDMultiply
2254proto.dAddOffset = bnpDAddOffset
2255proto.multiplyLowerTo = bnpMultiplyLowerTo
2256proto.multiplyUpperTo = bnpMultiplyUpperTo
2257proto.modInt = bnpModInt
2258proto.millerRabin = bnpMillerRabin
3af2954a 2259
ab78acc6
IC
2260// public
2261proto.clone = bnClone
2262proto.intValue = bnIntValue
2263proto.byteValue = bnByteValue
2264proto.shortValue = bnShortValue
2265proto.signum = bnSigNum
2266proto.toByteArray = bnToByteArray
2267proto.equals = bnEquals
2268proto.min = bnMin
2269proto.max = bnMax
2270proto.and = bnAnd
2271proto.or = bnOr
2272proto.xor = bnXor
2273proto.andNot = bnAndNot
2274proto.not = bnNot
2275proto.shiftLeft = bnShiftLeft
2276proto.shiftRight = bnShiftRight
2277proto.getLowestSetBit = bnGetLowestSetBit
2278proto.bitCount = bnBitCount
2279proto.testBit = bnTestBit
2280proto.setBit = bnSetBit
2281proto.clearBit = bnClearBit
2282proto.flipBit = bnFlipBit
2283proto.add = bnAdd
2284proto.subtract = bnSubtract
2285proto.multiply = bnMultiply
2286proto.divide = bnDivide
2287proto.remainder = bnRemainder
2288proto.divideAndRemainder = bnDivideAndRemainder
2289proto.modPow = bnModPow
2290proto.modInverse = bnModInverse
2291proto.pow = bnPow
2292proto.gcd = bnGCD
2293proto.isProbablePrime = bnIsProbablePrime
3af2954a 2294
ab78acc6
IC
2295// JSBN-specific extension
2296proto.square = bnSquare
3af2954a 2297
ab78acc6
IC
2298// constants
2299BigInteger.ZERO = nbv(0)
2300BigInteger.ONE = nbv(1)
2301BigInteger.valueOf = nbv
3af2954a 2302
ab78acc6 2303module.exports = BigInteger
3af2954a 2304
ab78acc6
IC
2305},{"../package.json":4}],2:[function(require,module,exports){
2306(function (Buffer){
2307// FIXME: Kind of a weird way to throw exceptions, consider removing
2308var assert = require('assert')
2309var BigInteger = require('./bigi')
3af2954a 2310
ab78acc6
IC
2311/**
2312 * Turns a byte array into a big integer.
2313 *
2314 * This function will interpret a byte array as a big integer in big
2315 * endian notation.
2316 */
2317BigInteger.fromByteArrayUnsigned = function(byteArray) {
2318 // BigInteger expects a DER integer conformant byte array
2319 if (byteArray[0] & 0x80) {
2320 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2321 }
2322
ab78acc6
IC
2323 return new BigInteger(byteArray)
2324}
3af2954a 2325
ab78acc6
IC
2326/**
2327 * Returns a byte array representation of the big integer.
2328 *
2329 * This returns the absolute of the contained value in big endian
2330 * form. A value of zero results in an empty array.
2331 */
2332BigInteger.prototype.toByteArrayUnsigned = function() {
2333 var byteArray = this.toByteArray()
2334 return byteArray[0] === 0 ? byteArray.slice(1) : byteArray
2335}
3af2954a 2336
ab78acc6
IC
2337BigInteger.fromDERInteger = function(byteArray) {
2338 return new BigInteger(byteArray)
2339}
3af2954a 2340
ab78acc6
IC
2341/*
2342 * Converts BigInteger to a DER integer representation.
2343 *
2344 * The format for this value uses the most significant bit as a sign
2345 * bit. If the most significant bit is already set and the integer is
2346 * positive, a 0x00 is prepended.
2347 *
2348 * Examples:
2349 *
2350 * 0 => 0x00
2351 * 1 => 0x01
2352 * -1 => 0xff
2353 * 127 => 0x7f
2354 * -127 => 0x81
2355 * 128 => 0x0080
2356 * -128 => 0x80
2357 * 255 => 0x00ff
2358 * -255 => 0xff01
2359 * 16300 => 0x3fac
2360 * -16300 => 0xc054
2361 * 62300 => 0x00f35c
2362 * -62300 => 0xff0ca4
2363*/
2364BigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray
3af2954a 2365
ab78acc6
IC
2366BigInteger.fromBuffer = function(buffer) {
2367 // BigInteger expects a DER integer conformant byte array
2368 if (buffer[0] & 0x80) {
2369 var byteArray = Array.prototype.slice.call(buffer)
3af2954a 2370
ab78acc6 2371 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2372 }
2373
ab78acc6
IC
2374 return new BigInteger(buffer)
2375}
3af2954a 2376
ab78acc6
IC
2377BigInteger.fromHex = function(hex) {
2378 if (hex === '') return BigInteger.ZERO
3af2954a 2379
ab78acc6
IC
2380 assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')
2381 assert.equal(hex.length % 2, 0, 'Incomplete hex')
2382 return new BigInteger(hex, 16)
2383}
3af2954a 2384
ab78acc6
IC
2385BigInteger.prototype.toBuffer = function(size) {
2386 var byteArray = this.toByteArrayUnsigned()
2387 var zeros = []
3af2954a 2388
ab78acc6
IC
2389 var padding = size - byteArray.length
2390 while (zeros.length < padding) zeros.push(0)
3af2954a 2391
ab78acc6
IC
2392 return new Buffer(zeros.concat(byteArray))
2393}
3af2954a 2394
ab78acc6
IC
2395BigInteger.prototype.toHex = function(size) {
2396 return this.toBuffer(size).toString('hex')
2397}
3af2954a 2398
ab78acc6
IC
2399}).call(this,require("buffer").Buffer)
2400},{"./bigi":1,"assert":5,"buffer":7}],3:[function(require,module,exports){
2401var BigInteger = require('./bigi')
3af2954a 2402
ab78acc6
IC
2403//addons
2404require('./convert')
3af2954a 2405
ab78acc6
IC
2406module.exports = BigInteger
2407},{"./bigi":1,"./convert":2}],4:[function(require,module,exports){
2408module.exports={
2409 "name": "bigi",
2410 "version": "1.4.0",
2411 "description": "Big integers.",
2412 "keywords": [
2413 "cryptography",
2414 "math",
2415 "bitcoin",
2416 "arbitrary",
2417 "precision",
2418 "arithmetic",
2419 "big",
2420 "integer",
2421 "int",
2422 "number",
2423 "biginteger",
2424 "bigint",
2425 "bignumber",
2426 "decimal",
2427 "float"
2428 ],
2429 "devDependencies": {
2430 "mocha": "^1.20.1",
2431 "jshint": "^2.5.1",
2432 "coveralls": "^2.10.0",
2433 "istanbul": "^0.2.11"
2434 },
2435 "repository": {
2436 "url": "https://github.com/cryptocoinjs/bigi",
2437 "type": "git"
2438 },
2439 "main": "./lib/index.js",
2440 "scripts": {
2441 "test": "_mocha -- test/*.js",
2442 "jshint": "jshint --config jshint.json lib/*.js ; true",
2443 "unit": "mocha",
2444 "coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",
2445 "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"
2446 },
2447 "dependencies": {},
2448 "testling": {
2449 "files": "test/*.js",
2450 "harness": "mocha",
2451 "browsers": [
2452 "ie/9..latest",
2453 "firefox/latest",
2454 "chrome/latest",
2455 "safari/6.0..latest",
2456 "iphone/6.0..latest",
2457 "android-browser/4.2..latest"
2458 ]
2459 },
2460 "bugs": {
2461 "url": "https://github.com/cryptocoinjs/bigi/issues"
2462 },
2463 "homepage": "https://github.com/cryptocoinjs/bigi",
2464 "_id": "bigi@1.4.0",
2465 "dist": {
2466 "shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2467 "tarball": "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2468 },
2469 "_from": "bigi@^1.4.0",
2470 "_npmVersion": "1.4.3",
2471 "_npmUser": {
2472 "name": "jp",
2473 "email": "jprichardson@gmail.com"
2474 },
2475 "maintainers": [
2476 {
2477 "name": "jp",
2478 "email": "jprichardson@gmail.com"
2479 },
2480 {
2481 "name": "midnightlightning",
2482 "email": "boydb@midnightdesign.ws"
2483 },
2484 {
2485 "name": "sidazhang",
2486 "email": "sidazhang89@gmail.com"
2487 },
2488 {
2489 "name": "nadav",
2490 "email": "npm@shesek.info"
3af2954a 2491 }
ab78acc6
IC
2492 ],
2493 "directories": {},
2494 "_shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2495 "_resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2496}
3af2954a 2497
ab78acc6
IC
2498},{}],5:[function(require,module,exports){
2499// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
2500//
2501// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
2502//
2503// Originally from narwhal.js (http://narwhaljs.org)
2504// Copyright (c) 2009 Thomas Robinson <280north.com>
2505//
2506// Permission is hereby granted, free of charge, to any person obtaining a copy
2507// of this software and associated documentation files (the 'Software'), to
2508// deal in the Software without restriction, including without limitation the
2509// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2510// sell copies of the Software, and to permit persons to whom the Software is
2511// furnished to do so, subject to the following conditions:
2512//
2513// The above copyright notice and this permission notice shall be included in
2514// all copies or substantial portions of the Software.
2515//
2516// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2517// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2518// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2519// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
2520// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2521// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3af2954a 2522
ab78acc6
IC
2523// when used in node, this will actually load the util module we depend on
2524// versus loading the builtin util module as happens otherwise
2525// this is a bug in node module loading as far as I am concerned
2526var util = require('util/');
3af2954a 2527
ab78acc6
IC
2528var pSlice = Array.prototype.slice;
2529var hasOwn = Object.prototype.hasOwnProperty;
3af2954a 2530
ab78acc6
IC
2531// 1. The assert module provides functions that throw
2532// AssertionError's when particular conditions are not met. The
2533// assert module must conform to the following interface.
3af2954a 2534
ab78acc6 2535var assert = module.exports = ok;
3af2954a 2536
ab78acc6
IC
2537// 2. The AssertionError is defined in assert.
2538// new assert.AssertionError({ message: message,
2539// actual: actual,
2540// expected: expected })
3af2954a 2541
ab78acc6
IC
2542assert.AssertionError = function AssertionError(options) {
2543 this.name = 'AssertionError';
2544 this.actual = options.actual;
2545 this.expected = options.expected;
2546 this.operator = options.operator;
2547 if (options.message) {
2548 this.message = options.message;
2549 this.generatedMessage = false;
2550 } else {
2551 this.message = getMessage(this);
2552 this.generatedMessage = true;
2553 }
2554 var stackStartFunction = options.stackStartFunction || fail;
3af2954a 2555
ab78acc6
IC
2556 if (Error.captureStackTrace) {
2557 Error.captureStackTrace(this, stackStartFunction);
3af2954a 2558 }
ab78acc6
IC
2559 else {
2560 // non v8 browsers so we can have a stacktrace
2561 var err = new Error();
2562 if (err.stack) {
2563 var out = err.stack;
3af2954a 2564
ab78acc6
IC
2565 // try to strip useless frames
2566 var fn_name = stackStartFunction.name;
2567 var idx = out.indexOf('\n' + fn_name);
2568 if (idx >= 0) {
2569 // once we have located the function frame
2570 // we need to strip out everything before it (and its line)
2571 var next_line = out.indexOf('\n', idx + 1);
2572 out = out.substring(next_line + 1);
2573 }
3af2954a 2574
ab78acc6 2575 this.stack = out;
3af2954a 2576 }
3af2954a 2577 }
ab78acc6 2578};
3af2954a 2579
ab78acc6
IC
2580// assert.AssertionError instanceof Error
2581util.inherits(assert.AssertionError, Error);
3af2954a 2582
ab78acc6
IC
2583function replacer(key, value) {
2584 if (util.isUndefined(value)) {
2585 return '' + value;
2586 }
2587 if (util.isNumber(value) && !isFinite(value)) {
2588 return value.toString();
2589 }
2590 if (util.isFunction(value) || util.isRegExp(value)) {
2591 return value.toString();
2592 }
2593 return value;
2594}
3af2954a 2595
ab78acc6
IC
2596function truncate(s, n) {
2597 if (util.isString(s)) {
2598 return s.length < n ? s : s.slice(0, n);
2599 } else {
2600 return s;
2601 }
2602}
3af2954a 2603
ab78acc6
IC
2604function getMessage(self) {
2605 return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
2606 self.operator + ' ' +
2607 truncate(JSON.stringify(self.expected, replacer), 128);
2608}
3af2954a 2609
ab78acc6
IC
2610// At present only the three keys mentioned above are used and
2611// understood by the spec. Implementations or sub modules can pass
2612// other keys to the AssertionError's constructor - they will be
2613// ignored.
3af2954a 2614
ab78acc6
IC
2615// 3. All of the following functions must throw an AssertionError
2616// when a corresponding condition is not met, with a message that
2617// may be undefined if not provided. All assertion methods provide
2618// both the actual and expected values to the assertion error for
2619// display purposes.
3af2954a 2620
ab78acc6
IC
2621function fail(actual, expected, message, operator, stackStartFunction) {
2622 throw new assert.AssertionError({
2623 message: message,
2624 actual: actual,
2625 expected: expected,
2626 operator: operator,
2627 stackStartFunction: stackStartFunction
2628 });
2629}
3af2954a 2630
ab78acc6
IC
2631// EXTENSION! allows for well behaved errors defined elsewhere.
2632assert.fail = fail;
ebd8d4e8 2633
ab78acc6
IC
2634// 4. Pure assertion tests whether a value is truthy, as determined
2635// by !!guard.
2636// assert.ok(guard, message_opt);
2637// This statement is equivalent to assert.equal(true, !!guard,
2638// message_opt);. To test strictly for the value true, use
2639// assert.strictEqual(true, guard, message_opt);.
3af2954a 2640
ab78acc6
IC
2641function ok(value, message) {
2642 if (!value) fail(value, true, message, '==', assert.ok);
2643}
2644assert.ok = ok;
3af2954a 2645
ab78acc6
IC
2646// 5. The equality assertion tests shallow, coercive equality with
2647// ==.
2648// assert.equal(actual, expected, message_opt);
3af2954a 2649
ab78acc6
IC
2650assert.equal = function equal(actual, expected, message) {
2651 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
2652};
3af2954a 2653
ab78acc6
IC
2654// 6. The non-equality assertion tests for whether two objects are not equal
2655// with != assert.notEqual(actual, expected, message_opt);
3af2954a 2656
ab78acc6
IC
2657assert.notEqual = function notEqual(actual, expected, message) {
2658 if (actual == expected) {
2659 fail(actual, expected, message, '!=', assert.notEqual);
3af2954a 2660 }
ab78acc6 2661};
3af2954a 2662
ab78acc6
IC
2663// 7. The equivalence assertion tests a deep equality relation.
2664// assert.deepEqual(actual, expected, message_opt);
3af2954a 2665
ab78acc6
IC
2666assert.deepEqual = function deepEqual(actual, expected, message) {
2667 if (!_deepEqual(actual, expected)) {
2668 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
2669 }
2670};
3af2954a 2671
ab78acc6
IC
2672function _deepEqual(actual, expected) {
2673 // 7.1. All identical values are equivalent, as determined by ===.
2674 if (actual === expected) {
2675 return true;
3af2954a 2676
ab78acc6
IC
2677 } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
2678 if (actual.length != expected.length) return false;
3af2954a 2679
ab78acc6
IC
2680 for (var i = 0; i < actual.length; i++) {
2681 if (actual[i] !== expected[i]) return false;
3af2954a
IC
2682 }
2683
ab78acc6 2684 return true;
3af2954a 2685
ab78acc6
IC
2686 // 7.2. If the expected value is a Date object, the actual value is
2687 // equivalent if it is also a Date object that refers to the same time.
2688 } else if (util.isDate(actual) && util.isDate(expected)) {
2689 return actual.getTime() === expected.getTime();
3af2954a 2690
ab78acc6
IC
2691 // 7.3 If the expected value is a RegExp object, the actual value is
2692 // equivalent if it is also a RegExp object with the same source and
2693 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
2694 } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
2695 return actual.source === expected.source &&
2696 actual.global === expected.global &&
2697 actual.multiline === expected.multiline &&
2698 actual.lastIndex === expected.lastIndex &&
2699 actual.ignoreCase === expected.ignoreCase;
3af2954a 2700
ab78acc6
IC
2701 // 7.4. Other pairs that do not both pass typeof value == 'object',
2702 // equivalence is determined by ==.
2703 } else if (!util.isObject(actual) && !util.isObject(expected)) {
2704 return actual == expected;
3af2954a 2705
ab78acc6
IC
2706 // 7.5 For all other Object pairs, including Array objects, equivalence is
2707 // determined by having the same number of owned properties (as verified
2708 // with Object.prototype.hasOwnProperty.call), the same set of keys
2709 // (although not necessarily the same order), equivalent values for every
2710 // corresponding key, and an identical 'prototype' property. Note: this
2711 // accounts for both named and indexed properties on Arrays.
2712 } else {
2713 return objEquiv(actual, expected);
3af2954a 2714 }
ab78acc6 2715}
3af2954a 2716
ab78acc6
IC
2717function isArguments(object) {
2718 return Object.prototype.toString.call(object) == '[object Arguments]';
2719}
3af2954a 2720
ab78acc6
IC
2721function objEquiv(a, b) {
2722 if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
2723 return false;
2724 // an identical 'prototype' property.
2725 if (a.prototype !== b.prototype) return false;
2726 // if one is a primitive, the other must be same
2727 if (util.isPrimitive(a) || util.isPrimitive(b)) {
2728 return a === b;
3af2954a 2729 }
ab78acc6
IC
2730 var aIsArgs = isArguments(a),
2731 bIsArgs = isArguments(b);
2732 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
2733 return false;
2734 if (aIsArgs) {
2735 a = pSlice.call(a);
2736 b = pSlice.call(b);
2737 return _deepEqual(a, b);
3af2954a 2738 }
ab78acc6
IC
2739 var ka = objectKeys(a),
2740 kb = objectKeys(b),
2741 key, i;
2742 // having the same number of owned properties (keys incorporates
2743 // hasOwnProperty)
2744 if (ka.length != kb.length)
2745 return false;
2746 //the same set of keys (although not necessarily the same order),
2747 ka.sort();
2748 kb.sort();
2749 //~~~cheap key test
2750 for (i = ka.length - 1; i >= 0; i--) {
2751 if (ka[i] != kb[i])
2752 return false;
3af2954a 2753 }
ab78acc6
IC
2754 //equivalent values for every corresponding key, and
2755 //~~~possibly expensive deep test
2756 for (i = ka.length - 1; i >= 0; i--) {
2757 key = ka[i];
2758 if (!_deepEqual(a[key], b[key])) return false;
3af2954a 2759 }
ab78acc6
IC
2760 return true;
2761}
2762
2763// 8. The non-equivalence assertion tests for any deep inequality.
2764// assert.notDeepEqual(actual, expected, message_opt);
3af2954a 2765
ab78acc6
IC
2766assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
2767 if (_deepEqual(actual, expected)) {
2768 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
3af2954a 2769 }
ab78acc6 2770};
3af2954a 2771
ab78acc6
IC
2772// 9. The strict equality assertion tests strict equality, as determined by ===.
2773// assert.strictEqual(actual, expected, message_opt);
3af2954a 2774
ab78acc6
IC
2775assert.strictEqual = function strictEqual(actual, expected, message) {
2776 if (actual !== expected) {
2777 fail(actual, expected, message, '===', assert.strictEqual);
3af2954a 2778 }
ab78acc6 2779};
3af2954a 2780
ab78acc6
IC
2781// 10. The strict non-equality assertion tests for strict inequality, as
2782// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
3af2954a 2783
ab78acc6
IC
2784assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
2785 if (actual === expected) {
2786 fail(actual, expected, message, '!==', assert.notStrictEqual);
2787 }
2788};
3af2954a 2789
ab78acc6
IC
2790function expectedException(actual, expected) {
2791 if (!actual || !expected) {
2792 return false;
2793 }
3af2954a 2794
ab78acc6
IC
2795 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
2796 return expected.test(actual);
2797 } else if (actual instanceof expected) {
2798 return true;
2799 } else if (expected.call({}, actual) === true) {
2800 return true;
3af2954a
IC
2801 }
2802
ab78acc6
IC
2803 return false;
2804}
3af2954a 2805
ab78acc6
IC
2806function _throws(shouldThrow, block, expected, message) {
2807 var actual;
3af2954a 2808
ab78acc6
IC
2809 if (util.isString(expected)) {
2810 message = expected;
2811 expected = null;
3af2954a
IC
2812 }
2813
ab78acc6
IC
2814 try {
2815 block();
2816 } catch (e) {
2817 actual = e;
3af2954a
IC
2818 }
2819
ab78acc6
IC
2820 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
2821 (message ? ' ' + message : '.');
3af2954a 2822
ab78acc6
IC
2823 if (shouldThrow && !actual) {
2824 fail(actual, expected, 'Missing expected exception' + message);
3af2954a
IC
2825 }
2826
ab78acc6
IC
2827 if (!shouldThrow && expectedException(actual, expected)) {
2828 fail(actual, expected, 'Got unwanted exception' + message);
3af2954a
IC
2829 }
2830
ab78acc6
IC
2831 if ((shouldThrow && actual && expected &&
2832 !expectedException(actual, expected)) || (!shouldThrow && actual)) {
2833 throw actual;
3af2954a 2834 }
ab78acc6 2835}
3af2954a 2836
ab78acc6
IC
2837// 11. Expected to throw an error:
2838// assert.throws(block, Error_opt, message_opt);
3af2954a 2839
ab78acc6
IC
2840assert.throws = function(block, /*optional*/error, /*optional*/message) {
2841 _throws.apply(this, [true].concat(pSlice.call(arguments)));
2842};
3af2954a 2843
ab78acc6
IC
2844// EXTENSION! This is annoying to write outside this module.
2845assert.doesNotThrow = function(block, /*optional*/message) {
2846 _throws.apply(this, [false].concat(pSlice.call(arguments)));
2847};
3af2954a 2848
ab78acc6 2849assert.ifError = function(err) { if (err) {throw err;}};
3af2954a 2850
ab78acc6
IC
2851var objectKeys = Object.keys || function (obj) {
2852 var keys = [];
2853 for (var key in obj) {
2854 if (hasOwn.call(obj, key)) keys.push(key);
3af2954a 2855 }
ab78acc6
IC
2856 return keys;
2857};
3af2954a 2858
ab78acc6 2859},{"util/":29}],6:[function(require,module,exports){
3af2954a 2860
ab78acc6
IC
2861},{}],7:[function(require,module,exports){
2862/*!
2863 * The buffer module from node.js, for the browser.
2864 *
2865 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
2866 * @license MIT
2867 */
3af2954a 2868
ab78acc6
IC
2869var base64 = require('base64-js')
2870var ieee754 = require('ieee754')
2871var isArray = require('is-array')
3af2954a 2872
ab78acc6
IC
2873exports.Buffer = Buffer
2874exports.SlowBuffer = SlowBuffer
2875exports.INSPECT_MAX_BYTES = 50
2876Buffer.poolSize = 8192 // not used by this implementation
3af2954a 2877
ab78acc6 2878var rootParent = {}
3af2954a 2879
ab78acc6
IC
2880/**
2881 * If `Buffer.TYPED_ARRAY_SUPPORT`:
2882 * === true Use Uint8Array implementation (fastest)
2883 * === false Use Object implementation (most compatible, even IE6)
2884 *
2885 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
2886 * Opera 11.6+, iOS 4.2+.
2887 *
2888 * Due to various browser bugs, sometimes the Object implementation will be used even
2889 * when the browser supports typed arrays.
2890 *
2891 * Note:
2892 *
2893 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
2894 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
2895 *
2896 * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
2897 * on objects.
2898 *
2899 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
2900 *
2901 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
2902 * incorrect length in some situations.
3af2954a 2903
ab78acc6
IC
2904 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
2905 * get the Object implementation, which is slower but behaves correctly.
2906 */
2907Buffer.TYPED_ARRAY_SUPPORT = (function () {
2908 function Bar () {}
2909 try {
2910 var arr = new Uint8Array(1)
2911 arr.foo = function () { return 42 }
2912 arr.constructor = Bar
2913 return arr.foo() === 42 && // typed array instances can be augmented
2914 arr.constructor === Bar && // constructor can be set
2915 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
2916 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
2917 } catch (e) {
2918 return false
2919 }
2920})()
3af2954a 2921
ab78acc6
IC
2922function kMaxLength () {
2923 return Buffer.TYPED_ARRAY_SUPPORT
2924 ? 0x7fffffff
2925 : 0x3fffffff
2926}
3af2954a 2927
ab78acc6
IC
2928/**
2929 * Class: Buffer
2930 * =============
2931 *
2932 * The Buffer constructor returns instances of `Uint8Array` that are augmented
2933 * with function properties for all the node `Buffer` API functions. We use
2934 * `Uint8Array` so that square bracket notation works as expected -- it returns
2935 * a single octet.
2936 *
2937 * By augmenting the instances, we can avoid modifying the `Uint8Array`
2938 * prototype.
2939 */
2940function Buffer (arg) {
2941 if (!(this instanceof Buffer)) {
2942 // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
2943 if (arguments.length > 1) return new Buffer(arg, arguments[1])
2944 return new Buffer(arg)
3af2954a
IC
2945 }
2946
ab78acc6
IC
2947 this.length = 0
2948 this.parent = undefined
3af2954a 2949
ab78acc6
IC
2950 // Common case.
2951 if (typeof arg === 'number') {
2952 return fromNumber(this, arg)
2953 }
3af2954a 2954
ab78acc6
IC
2955 // Slightly less common case.
2956 if (typeof arg === 'string') {
2957 return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
2958 }
3af2954a 2959
ab78acc6
IC
2960 // Unusual.
2961 return fromObject(this, arg)
2962}
3af2954a 2963
ab78acc6
IC
2964function fromNumber (that, length) {
2965 that = allocate(that, length < 0 ? 0 : checked(length) | 0)
2966 if (!Buffer.TYPED_ARRAY_SUPPORT) {
2967 for (var i = 0; i < length; i++) {
2968 that[i] = 0
2969 }
3af2954a 2970 }
ab78acc6
IC
2971 return that
2972}
3af2954a 2973
ab78acc6
IC
2974function fromString (that, string, encoding) {
2975 if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
3af2954a 2976
ab78acc6
IC
2977 // Assumption: byteLength() return value is always < kMaxLength.
2978 var length = byteLength(string, encoding) | 0
2979 that = allocate(that, length)
3af2954a 2980
ab78acc6
IC
2981 that.write(string, encoding)
2982 return that
2983}
3af2954a 2984
ab78acc6
IC
2985function fromObject (that, object) {
2986 if (Buffer.isBuffer(object)) return fromBuffer(that, object)
3af2954a 2987
ab78acc6 2988 if (isArray(object)) return fromArray(that, object)
3af2954a 2989
ab78acc6
IC
2990 if (object == null) {
2991 throw new TypeError('must start with number, buffer, array or string')
2992 }
3af2954a 2993
ab78acc6
IC
2994 if (typeof ArrayBuffer !== 'undefined') {
2995 if (object.buffer instanceof ArrayBuffer) {
2996 return fromTypedArray(that, object)
2997 }
2998 if (object instanceof ArrayBuffer) {
2999 return fromArrayBuffer(that, object)
3000 }
3af2954a
IC
3001 }
3002
ab78acc6 3003 if (object.length) return fromArrayLike(that, object)
3af2954a 3004
ab78acc6
IC
3005 return fromJsonObject(that, object)
3006}
3af2954a 3007
ab78acc6
IC
3008function fromBuffer (that, buffer) {
3009 var length = checked(buffer.length) | 0
3010 that = allocate(that, length)
3011 buffer.copy(that, 0, 0, length)
3012 return that
3013}
3af2954a 3014
ab78acc6
IC
3015function fromArray (that, array) {
3016 var length = checked(array.length) | 0
3017 that = allocate(that, length)
3018 for (var i = 0; i < length; i += 1) {
3019 that[i] = array[i] & 255
3af2954a 3020 }
ab78acc6
IC
3021 return that
3022}
3af2954a 3023
ab78acc6
IC
3024// Duplicate of fromArray() to keep fromArray() monomorphic.
3025function fromTypedArray (that, array) {
3026 var length = checked(array.length) | 0
3027 that = allocate(that, length)
3028 // Truncating the elements is probably not what people expect from typed
3029 // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
3030 // of the old Buffer constructor.
3031 for (var i = 0; i < length; i += 1) {
3032 that[i] = array[i] & 255
3af2954a 3033 }
ab78acc6
IC
3034 return that
3035}
3af2954a 3036
ab78acc6
IC
3037function fromArrayBuffer (that, array) {
3038 if (Buffer.TYPED_ARRAY_SUPPORT) {
3039 // Return an augmented `Uint8Array` instance, for best performance
3040 array.byteLength
3041 that = Buffer._augment(new Uint8Array(array))
3042 } else {
3043 // Fallback: Return an object instance of the Buffer class
3044 that = fromTypedArray(that, new Uint8Array(array))
3045 }
3046 return that
3047}
3af2954a 3048
ab78acc6
IC
3049function fromArrayLike (that, array) {
3050 var length = checked(array.length) | 0
3051 that = allocate(that, length)
3052 for (var i = 0; i < length; i += 1) {
3053 that[i] = array[i] & 255
3af2954a 3054 }
ab78acc6
IC
3055 return that
3056}
3af2954a 3057
ab78acc6
IC
3058// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
3059// Returns a zero-length buffer for inputs that don't conform to the spec.
3060function fromJsonObject (that, object) {
3061 var array
3062 var length = 0
3063
3064 if (object.type === 'Buffer' && isArray(object.data)) {
3065 array = object.data
3066 length = checked(array.length) | 0
3af2954a 3067 }
ab78acc6 3068 that = allocate(that, length)
3af2954a 3069
ab78acc6
IC
3070 for (var i = 0; i < length; i += 1) {
3071 that[i] = array[i] & 255
3af2954a 3072 }
ab78acc6
IC
3073 return that
3074}
3af2954a 3075
ab78acc6
IC
3076function allocate (that, length) {
3077 if (Buffer.TYPED_ARRAY_SUPPORT) {
3078 // Return an augmented `Uint8Array` instance, for best performance
3079 that = Buffer._augment(new Uint8Array(length))
3080 } else {
3081 // Fallback: Return an object instance of the Buffer class
3082 that.length = length
3083 that._isBuffer = true
3084 }
3af2954a 3085
ab78acc6
IC
3086 var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
3087 if (fromPool) that.parent = rootParent
3af2954a 3088
ab78acc6
IC
3089 return that
3090}
3af2954a 3091
ab78acc6
IC
3092function checked (length) {
3093 // Note: cannot use `length < kMaxLength` here because that fails when
3094 // length is NaN (which is otherwise coerced to zero.)
3095 if (length >= kMaxLength()) {
3096 throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
3097 'size: 0x' + kMaxLength().toString(16) + ' bytes')
3af2954a 3098 }
ab78acc6
IC
3099 return length | 0
3100}
3af2954a 3101
ab78acc6
IC
3102function SlowBuffer (subject, encoding) {
3103 if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
3af2954a 3104
ab78acc6
IC
3105 var buf = new Buffer(subject, encoding)
3106 delete buf.parent
3107 return buf
3108}
3af2954a 3109
ab78acc6
IC
3110Buffer.isBuffer = function isBuffer (b) {
3111 return !!(b != null && b._isBuffer)
3112}
3af2954a 3113
ab78acc6
IC
3114Buffer.compare = function compare (a, b) {
3115 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
3116 throw new TypeError('Arguments must be Buffers')
3af2954a
IC
3117 }
3118
ab78acc6 3119 if (a === b) return 0
3af2954a 3120
ab78acc6
IC
3121 var x = a.length
3122 var y = b.length
3af2954a 3123
ab78acc6
IC
3124 var i = 0
3125 var len = Math.min(x, y)
3126 while (i < len) {
3127 if (a[i] !== b[i]) break
3af2954a 3128
ab78acc6
IC
3129 ++i
3130 }
3af2954a 3131
ab78acc6
IC
3132 if (i !== len) {
3133 x = a[i]
3134 y = b[i]
3135 }
3af2954a 3136
ab78acc6
IC
3137 if (x < y) return -1
3138 if (y < x) return 1
3139 return 0
3140}
3af2954a 3141
ab78acc6
IC
3142Buffer.isEncoding = function isEncoding (encoding) {
3143 switch (String(encoding).toLowerCase()) {
3144 case 'hex':
3145 case 'utf8':
3146 case 'utf-8':
3147 case 'ascii':
3148 case 'binary':
3149 case 'base64':
3150 case 'raw':
3151 case 'ucs2':
3152 case 'ucs-2':
3153 case 'utf16le':
3154 case 'utf-16le':
3155 return true
3156 default:
3157 return false
3af2954a 3158 }
ab78acc6 3159}
3af2954a 3160
ab78acc6
IC
3161Buffer.concat = function concat (list, length) {
3162 if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
3af2954a 3163
ab78acc6
IC
3164 if (list.length === 0) {
3165 return new Buffer(0)
3af2954a
IC
3166 }
3167
ab78acc6
IC
3168 var i
3169 if (length === undefined) {
3170 length = 0
3171 for (i = 0; i < list.length; i++) {
3172 length += list[i].length
3173 }
3af2954a
IC
3174 }
3175
ab78acc6
IC
3176 var buf = new Buffer(length)
3177 var pos = 0
3178 for (i = 0; i < list.length; i++) {
3179 var item = list[i]
3180 item.copy(buf, pos)
3181 pos += item.length
3182 }
3183 return buf
3184}
3af2954a 3185
ab78acc6
IC
3186function byteLength (string, encoding) {
3187 if (typeof string !== 'string') string = '' + string
3188
3189 var len = string.length
3190 if (len === 0) return 0
3191
3192 // Use a for loop to avoid recursion
3193 var loweredCase = false
3194 for (;;) {
3195 switch (encoding) {
3196 case 'ascii':
3197 case 'binary':
3198 // Deprecated
3199 case 'raw':
3200 case 'raws':
3201 return len
3202 case 'utf8':
3203 case 'utf-8':
3204 return utf8ToBytes(string).length
3205 case 'ucs2':
3206 case 'ucs-2':
3207 case 'utf16le':
3208 case 'utf-16le':
3209 return len * 2
3210 case 'hex':
3211 return len >>> 1
3212 case 'base64':
3213 return base64ToBytes(string).length
3214 default:
3215 if (loweredCase) return utf8ToBytes(string).length // assume utf8
3216 encoding = ('' + encoding).toLowerCase()
3217 loweredCase = true
3af2954a 3218 }
3af2954a 3219 }
ab78acc6
IC
3220}
3221Buffer.byteLength = byteLength
3af2954a 3222
ab78acc6
IC
3223// pre-set for values that may exist in the future
3224Buffer.prototype.length = undefined
3225Buffer.prototype.parent = undefined
3af2954a 3226
ab78acc6
IC
3227function slowToString (encoding, start, end) {
3228 var loweredCase = false
3af2954a 3229
ab78acc6
IC
3230 start = start | 0
3231 end = end === undefined || end === Infinity ? this.length : end | 0
3af2954a 3232
ab78acc6
IC
3233 if (!encoding) encoding = 'utf8'
3234 if (start < 0) start = 0
3235 if (end > this.length) end = this.length
3236 if (end <= start) return ''
3af2954a 3237
ab78acc6
IC
3238 while (true) {
3239 switch (encoding) {
3240 case 'hex':
3241 return hexSlice(this, start, end)
3af2954a 3242
ab78acc6
IC
3243 case 'utf8':
3244 case 'utf-8':
3245 return utf8Slice(this, start, end)
3af2954a 3246
ab78acc6
IC
3247 case 'ascii':
3248 return asciiSlice(this, start, end)
3af2954a 3249
ab78acc6
IC
3250 case 'binary':
3251 return binarySlice(this, start, end)
3af2954a 3252
ab78acc6
IC
3253 case 'base64':
3254 return base64Slice(this, start, end)
3af2954a 3255
ab78acc6
IC
3256 case 'ucs2':
3257 case 'ucs-2':
3258 case 'utf16le':
3259 case 'utf-16le':
3260 return utf16leSlice(this, start, end)
3af2954a 3261
ab78acc6
IC
3262 default:
3263 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3264 encoding = (encoding + '').toLowerCase()
3265 loweredCase = true
3266 }
3af2954a 3267 }
ab78acc6 3268}
3af2954a 3269
ab78acc6
IC
3270Buffer.prototype.toString = function toString () {
3271 var length = this.length | 0
3272 if (length === 0) return ''
3273 if (arguments.length === 0) return utf8Slice(this, 0, length)
3274 return slowToString.apply(this, arguments)
3275}
3af2954a 3276
ab78acc6
IC
3277Buffer.prototype.equals = function equals (b) {
3278 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3279 if (this === b) return true
3280 return Buffer.compare(this, b) === 0
3281}
3af2954a 3282
ab78acc6
IC
3283Buffer.prototype.inspect = function inspect () {
3284 var str = ''
3285 var max = exports.INSPECT_MAX_BYTES
3286 if (this.length > 0) {
3287 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
3288 if (this.length > max) str += ' ... '
3af2954a 3289 }
ab78acc6
IC
3290 return '<Buffer ' + str + '>'
3291}
3af2954a 3292
ab78acc6
IC
3293Buffer.prototype.compare = function compare (b) {
3294 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3295 if (this === b) return 0
3296 return Buffer.compare(this, b)
3297}
3af2954a 3298
ab78acc6
IC
3299Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
3300 if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
3301 else if (byteOffset < -0x80000000) byteOffset = -0x80000000
3302 byteOffset >>= 0
3af2954a 3303
ab78acc6
IC
3304 if (this.length === 0) return -1
3305 if (byteOffset >= this.length) return -1
3af2954a 3306
ab78acc6
IC
3307 // Negative offsets start from the end of the buffer
3308 if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
3af2954a 3309
ab78acc6
IC
3310 if (typeof val === 'string') {
3311 if (val.length === 0) return -1 // special case: looking for empty string always fails
3312 return String.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3313 }
ab78acc6
IC
3314 if (Buffer.isBuffer(val)) {
3315 return arrayIndexOf(this, val, byteOffset)
3af2954a 3316 }
ab78acc6
IC
3317 if (typeof val === 'number') {
3318 if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
3319 return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3320 }
ab78acc6 3321 return arrayIndexOf(this, [ val ], byteOffset)
3af2954a
IC
3322 }
3323
ab78acc6
IC
3324 function arrayIndexOf (arr, val, byteOffset) {
3325 var foundIndex = -1
3326 for (var i = 0; byteOffset + i < arr.length; i++) {
3327 if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
3328 if (foundIndex === -1) foundIndex = i
3329 if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
3af2954a 3330 } else {
ab78acc6 3331 foundIndex = -1
3af2954a 3332 }
3af2954a 3333 }
ab78acc6
IC
3334 return -1
3335 }
3af2954a 3336
ab78acc6
IC
3337 throw new TypeError('val must be string, number or Buffer')
3338}
3af2954a 3339
ab78acc6
IC
3340// `get` is deprecated
3341Buffer.prototype.get = function get (offset) {
3342 console.log('.get() is deprecated. Access using array indexes instead.')
3343 return this.readUInt8(offset)
3344}
3af2954a 3345
ab78acc6
IC
3346// `set` is deprecated
3347Buffer.prototype.set = function set (v, offset) {
3348 console.log('.set() is deprecated. Access using array indexes instead.')
3349 return this.writeUInt8(v, offset)
3350}
3af2954a 3351
ab78acc6
IC
3352function hexWrite (buf, string, offset, length) {
3353 offset = Number(offset) || 0
3354 var remaining = buf.length - offset
3355 if (!length) {
3356 length = remaining
3357 } else {
3358 length = Number(length)
3359 if (length > remaining) {
3360 length = remaining
3361 }
3362 }
3af2954a 3363
ab78acc6
IC
3364 // must be an even number of digits
3365 var strLen = string.length
3366 if (strLen % 2 !== 0) throw new Error('Invalid hex string')
3af2954a 3367
ab78acc6
IC
3368 if (length > strLen / 2) {
3369 length = strLen / 2
3370 }
3371 for (var i = 0; i < length; i++) {
3372 var parsed = parseInt(string.substr(i * 2, 2), 16)
3373 if (isNaN(parsed)) throw new Error('Invalid hex string')
3374 buf[offset + i] = parsed
3af2954a 3375 }
ab78acc6
IC
3376 return i
3377}
3378
3379function utf8Write (buf, string, offset, length) {
3380 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
3381}
3af2954a 3382
ab78acc6
IC
3383function asciiWrite (buf, string, offset, length) {
3384 return blitBuffer(asciiToBytes(string), buf, offset, length)
3385}
3af2954a 3386
ab78acc6
IC
3387function binaryWrite (buf, string, offset, length) {
3388 return asciiWrite(buf, string, offset, length)
3389}
3af2954a 3390
ab78acc6
IC
3391function base64Write (buf, string, offset, length) {
3392 return blitBuffer(base64ToBytes(string), buf, offset, length)
3393}
3af2954a 3394
ab78acc6
IC
3395function ucs2Write (buf, string, offset, length) {
3396 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
3397}
3af2954a 3398
ab78acc6
IC
3399Buffer.prototype.write = function write (string, offset, length, encoding) {
3400 // Buffer#write(string)
3401 if (offset === undefined) {
3402 encoding = 'utf8'
3403 length = this.length
3404 offset = 0
3405 // Buffer#write(string, encoding)
3406 } else if (length === undefined && typeof offset === 'string') {
3407 encoding = offset
3408 length = this.length
3409 offset = 0
3410 // Buffer#write(string, offset[, length][, encoding])
3411 } else if (isFinite(offset)) {
3412 offset = offset | 0
3413 if (isFinite(length)) {
3414 length = length | 0
3415 if (encoding === undefined) encoding = 'utf8'
3416 } else {
3417 encoding = length
3418 length = undefined
3419 }
3420 // legacy write(string, encoding, offset, length) - remove in v0.13
3421 } else {
3422 var swap = encoding
3423 encoding = offset
3424 offset = length | 0
3425 length = swap
3af2954a
IC
3426 }
3427
ab78acc6
IC
3428 var remaining = this.length - offset
3429 if (length === undefined || length > remaining) length = remaining
3af2954a 3430
ab78acc6
IC
3431 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
3432 throw new RangeError('attempt to write outside buffer bounds')
3433 }
3af2954a 3434
ab78acc6 3435 if (!encoding) encoding = 'utf8'
3af2954a 3436
ab78acc6
IC
3437 var loweredCase = false
3438 for (;;) {
3439 switch (encoding) {
3440 case 'hex':
3441 return hexWrite(this, string, offset, length)
ebd8d4e8 3442
ab78acc6
IC
3443 case 'utf8':
3444 case 'utf-8':
3445 return utf8Write(this, string, offset, length)
ebd8d4e8 3446
ab78acc6
IC
3447 case 'ascii':
3448 return asciiWrite(this, string, offset, length)
ebd8d4e8 3449
ab78acc6
IC
3450 case 'binary':
3451 return binaryWrite(this, string, offset, length)
ebd8d4e8 3452
ab78acc6
IC
3453 case 'base64':
3454 // Warning: maxLength not taken into account in base64Write
3455 return base64Write(this, string, offset, length)
ebd8d4e8 3456
ab78acc6
IC
3457 case 'ucs2':
3458 case 'ucs-2':
3459 case 'utf16le':
3460 case 'utf-16le':
3461 return ucs2Write(this, string, offset, length)
ebd8d4e8 3462
ab78acc6
IC
3463 default:
3464 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3465 encoding = ('' + encoding).toLowerCase()
3466 loweredCase = true
3467 }
3468 }
3469}
212b1b46 3470
ab78acc6
IC
3471Buffer.prototype.toJSON = function toJSON () {
3472 return {
3473 type: 'Buffer',
3474 data: Array.prototype.slice.call(this._arr || this, 0)
3475 }
3476}
212b1b46 3477
ab78acc6
IC
3478function base64Slice (buf, start, end) {
3479 if (start === 0 && end === buf.length) {
3480 return base64.fromByteArray(buf)
3481 } else {
3482 return base64.fromByteArray(buf.slice(start, end))
3af2954a 3483 }
ab78acc6
IC
3484}
3485
3486function utf8Slice (buf, start, end) {
3487 end = Math.min(buf.length, end)
3488 var firstByte
3489 var secondByte
3490 var thirdByte
3491 var fourthByte
3492 var bytesPerSequence
3493 var tempCodePoint
3494 var codePoint
3495 var res = []
3496 var i = start
3497
3498 for (; i < end; i += bytesPerSequence) {
3499 firstByte = buf[i]
3500 codePoint = 0xFFFD
3501
3502 if (firstByte > 0xEF) {
3503 bytesPerSequence = 4
3504 } else if (firstByte > 0xDF) {
3505 bytesPerSequence = 3
3506 } else if (firstByte > 0xBF) {
3507 bytesPerSequence = 2
3508 } else {
3509 bytesPerSequence = 1
3510 }
212b1b46 3511
ab78acc6
IC
3512 if (i + bytesPerSequence <= end) {
3513 switch (bytesPerSequence) {
3514 case 1:
3515 if (firstByte < 0x80) {
3516 codePoint = firstByte
3517 }
3518 break
3519 case 2:
3520 secondByte = buf[i + 1]
3521 if ((secondByte & 0xC0) === 0x80) {
3522 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
3523 if (tempCodePoint > 0x7F) {
3524 codePoint = tempCodePoint
3525 }
3526 }
3527 break
3528 case 3:
3529 secondByte = buf[i + 1]
3530 thirdByte = buf[i + 2]
3531 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
3532 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
3533 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
3534 codePoint = tempCodePoint
3535 }
3536 }
3537 break
3538 case 4:
3539 secondByte = buf[i + 1]
3540 thirdByte = buf[i + 2]
3541 fourthByte = buf[i + 3]
3542 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
3543 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
3544 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
3545 codePoint = tempCodePoint
3546 }
3547 }
3548 }
3549 }
212b1b46 3550
ab78acc6
IC
3551 if (codePoint === 0xFFFD) {
3552 // we generated an invalid codePoint so make sure to only advance by 1 byte
3553 bytesPerSequence = 1
3554 } else if (codePoint > 0xFFFF) {
3555 // encode to utf16 (surrogate pair dance)
3556 codePoint -= 0x10000
3557 res.push(codePoint >>> 10 & 0x3FF | 0xD800)
3558 codePoint = 0xDC00 | codePoint & 0x3FF
3559 }
212b1b46 3560
ab78acc6 3561 res.push(codePoint)
3af2954a 3562 }
212b1b46 3563
ab78acc6
IC
3564 return String.fromCharCode.apply(String, res)
3565}
212b1b46 3566
ab78acc6
IC
3567function asciiSlice (buf, start, end) {
3568 var ret = ''
3569 end = Math.min(buf.length, end)
3570
3571 for (var i = start; i < end; i++) {
3572 ret += String.fromCharCode(buf[i] & 0x7F)
3af2954a 3573 }
ab78acc6
IC
3574 return ret
3575}
212b1b46 3576
ab78acc6
IC
3577function binarySlice (buf, start, end) {
3578 var ret = ''
3579 end = Math.min(buf.length, end)
212b1b46 3580
ab78acc6
IC
3581 for (var i = start; i < end; i++) {
3582 ret += String.fromCharCode(buf[i])
3583 }
3584 return ret
3585}
212b1b46 3586
ab78acc6
IC
3587function hexSlice (buf, start, end) {
3588 var len = buf.length
212b1b46 3589
ab78acc6
IC
3590 if (!start || start < 0) start = 0
3591 if (!end || end < 0 || end > len) end = len
212b1b46 3592
ab78acc6
IC
3593 var out = ''
3594 for (var i = start; i < end; i++) {
3595 out += toHex(buf[i])
3596 }
3597 return out
3598}
212b1b46 3599
ab78acc6
IC
3600function utf16leSlice (buf, start, end) {
3601 var bytes = buf.slice(start, end)
3602 var res = ''
3603 for (var i = 0; i < bytes.length; i += 2) {
3604 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
3605 }
3606 return res
3607}
212b1b46 3608
ab78acc6
IC
3609Buffer.prototype.slice = function slice (start, end) {
3610 var len = this.length
3611 start = ~~start
3612 end = end === undefined ? len : ~~end
212b1b46 3613
ab78acc6
IC
3614 if (start < 0) {
3615 start += len
3616 if (start < 0) start = 0
3617 } else if (start > len) {
3618 start = len
3619 }
212b1b46 3620
ab78acc6
IC
3621 if (end < 0) {
3622 end += len
3623 if (end < 0) end = 0
3624 } else if (end > len) {
3625 end = len
3626 }
212b1b46 3627
ab78acc6 3628 if (end < start) end = start
212b1b46 3629
ab78acc6
IC
3630 var newBuf
3631 if (Buffer.TYPED_ARRAY_SUPPORT) {
3632 newBuf = Buffer._augment(this.subarray(start, end))
3633 } else {
3634 var sliceLen = end - start
3635 newBuf = new Buffer(sliceLen, undefined)
3636 for (var i = 0; i < sliceLen; i++) {
3637 newBuf[i] = this[i + start]
3af2954a
IC
3638 }
3639 }
212b1b46 3640
ab78acc6 3641 if (newBuf.length) newBuf.parent = this.parent || this
ebd8d4e8 3642
ab78acc6
IC
3643 return newBuf
3644}
ebd8d4e8 3645
ab78acc6
IC
3646/*
3647 * Need to make sure that buffer isn't trying to write out of bounds.
3648 */
3649function checkOffset (offset, ext, length) {
3650 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
3651 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
3652}
ebd8d4e8 3653
ab78acc6
IC
3654Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
3655 offset = offset | 0
3656 byteLength = byteLength | 0
3657 if (!noAssert) checkOffset(offset, byteLength, this.length)
3af2954a 3658
ab78acc6
IC
3659 var val = this[offset]
3660 var mul = 1
3661 var i = 0
3662 while (++i < byteLength && (mul *= 0x100)) {
3663 val += this[offset + i] * mul
3664 }
3af2954a 3665
ab78acc6
IC
3666 return val
3667}
3af2954a 3668
ab78acc6
IC
3669Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
3670 offset = offset | 0
3671 byteLength = byteLength | 0
3672 if (!noAssert) {
3673 checkOffset(offset, byteLength, this.length)
3674 }
3af2954a 3675
ab78acc6
IC
3676 var val = this[offset + --byteLength]
3677 var mul = 1
3678 while (byteLength > 0 && (mul *= 0x100)) {
3679 val += this[offset + --byteLength] * mul
3af2954a
IC
3680 }
3681
ab78acc6
IC
3682 return val
3683}
3af2954a 3684
ab78acc6
IC
3685Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
3686 if (!noAssert) checkOffset(offset, 1, this.length)
3687 return this[offset]
3688}
3af2954a 3689
ab78acc6
IC
3690Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
3691 if (!noAssert) checkOffset(offset, 2, this.length)
3692 return this[offset] | (this[offset + 1] << 8)
3693}
3af2954a 3694
ab78acc6
IC
3695Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
3696 if (!noAssert) checkOffset(offset, 2, this.length)
3697 return (this[offset] << 8) | this[offset + 1]
3698}
ebd8d4e8 3699
ab78acc6
IC
3700Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
3701 if (!noAssert) checkOffset(offset, 4, this.length)
3af2954a 3702
ab78acc6
IC
3703 return ((this[offset]) |
3704 (this[offset + 1] << 8) |
3705 (this[offset + 2] << 16)) +
3706 (this[offset + 3] * 0x1000000)
3707}
3af2954a 3708
ab78acc6
IC
3709Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
3710 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3711
ab78acc6
IC
3712 return (this[offset] * 0x1000000) +
3713 ((this[offset + 1] << 16) |
3714 (this[offset + 2] << 8) |
3715 this[offset + 3])
3716}
ebd8d4e8 3717
ab78acc6
IC
3718Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
3719 offset = offset | 0
3720 byteLength = byteLength | 0
3721 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3722
ab78acc6
IC
3723 var val = this[offset]
3724 var mul = 1
3725 var i = 0
3726 while (++i < byteLength && (mul *= 0x100)) {
3727 val += this[offset + i] * mul
ebd8d4e8 3728 }
ab78acc6 3729 mul *= 0x80
ebd8d4e8 3730
ab78acc6
IC
3731 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
3732
3733 return val
ebd8d4e8
IC
3734}
3735
ab78acc6
IC
3736Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
3737 offset = offset | 0
3738 byteLength = byteLength | 0
3739 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3740
ab78acc6
IC
3741 var i = byteLength
3742 var mul = 1
3743 var val = this[offset + --i]
3744 while (i > 0 && (mul *= 0x100)) {
3745 val += this[offset + --i] * mul
3746 }
3747 mul *= 0x80
ebd8d4e8 3748
ab78acc6 3749 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
ebd8d4e8 3750
ab78acc6
IC
3751 return val
3752}
ebd8d4e8 3753
ab78acc6
IC
3754Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
3755 if (!noAssert) checkOffset(offset, 1, this.length)
3756 if (!(this[offset] & 0x80)) return (this[offset])
3757 return ((0xff - this[offset] + 1) * -1)
ebd8d4e8 3758}
ab78acc6
IC
3759
3760Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
3761 if (!noAssert) checkOffset(offset, 2, this.length)
3762 var val = this[offset] | (this[offset + 1] << 8)
3763 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8 3764}
ab78acc6
IC
3765
3766Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
3767 if (!noAssert) checkOffset(offset, 2, this.length)
3768 var val = this[offset + 1] | (this[offset] << 8)
3769 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8
IC
3770}
3771
ab78acc6
IC
3772Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
3773 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3774
ab78acc6
IC
3775 return (this[offset]) |
3776 (this[offset + 1] << 8) |
3777 (this[offset + 2] << 16) |
3778 (this[offset + 3] << 24)
ebd8d4e8 3779}
ebd8d4e8 3780
ab78acc6
IC
3781Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
3782 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3783
ab78acc6
IC
3784 return (this[offset] << 24) |
3785 (this[offset + 1] << 16) |
3786 (this[offset + 2] << 8) |
3787 (this[offset + 3])
ebd8d4e8
IC
3788}
3789
ab78acc6
IC
3790Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
3791 if (!noAssert) checkOffset(offset, 4, this.length)
3792 return ieee754.read(this, offset, true, 23, 4)
ebd8d4e8
IC
3793}
3794
ab78acc6
IC
3795Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
3796 if (!noAssert) checkOffset(offset, 4, this.length)
3797 return ieee754.read(this, offset, false, 23, 4)
ebd8d4e8
IC
3798}
3799
ab78acc6
IC
3800Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
3801 if (!noAssert) checkOffset(offset, 8, this.length)
3802 return ieee754.read(this, offset, true, 52, 8)
ebd8d4e8
IC
3803}
3804
ab78acc6
IC
3805Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
3806 if (!noAssert) checkOffset(offset, 8, this.length)
3807 return ieee754.read(this, offset, false, 52, 8)
ebd8d4e8
IC
3808}
3809
ab78acc6
IC
3810function checkInt (buf, value, offset, ext, max, min) {
3811 if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
3812 if (value > max || value < min) throw new RangeError('value is out of bounds')
3813 if (offset + ext > buf.length) throw new RangeError('index out of range')
ebd8d4e8
IC
3814}
3815
ab78acc6
IC
3816Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
3817 value = +value
3818 offset = offset | 0
3819 byteLength = byteLength | 0
3820 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3821
ab78acc6
IC
3822 var mul = 1
3823 var i = 0
3824 this[offset] = value & 0xFF
3825 while (++i < byteLength && (mul *= 0x100)) {
3826 this[offset + i] = (value / mul) & 0xFF
3827 }
ebd8d4e8 3828
ab78acc6 3829 return offset + byteLength
ebd8d4e8
IC
3830}
3831
ab78acc6
IC
3832Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
3833 value = +value
3834 offset = offset | 0
3835 byteLength = byteLength | 0
3836 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3837
ab78acc6
IC
3838 var i = byteLength - 1
3839 var mul = 1
3840 this[offset + i] = value & 0xFF
3841 while (--i >= 0 && (mul *= 0x100)) {
3842 this[offset + i] = (value / mul) & 0xFF
3843 }
ebd8d4e8 3844
ab78acc6 3845 return offset + byteLength
ebd8d4e8
IC
3846}
3847
ab78acc6
IC
3848Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
3849 value = +value
3850 offset = offset | 0
3851 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
3852 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3853 this[offset] = value
3854 return offset + 1
ebd8d4e8
IC
3855}
3856
ab78acc6
IC
3857function objectWriteUInt16 (buf, value, offset, littleEndian) {
3858 if (value < 0) value = 0xffff + value + 1
3859 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
3860 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
3861 (littleEndian ? i : 1 - i) * 8
ebd8d4e8 3862 }
ebd8d4e8
IC
3863}
3864
ab78acc6
IC
3865Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
3866 value = +value
3867 offset = offset | 0
3868 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3869 if (Buffer.TYPED_ARRAY_SUPPORT) {
3870 this[offset] = value
3871 this[offset + 1] = (value >>> 8)
3872 } else {
3873 objectWriteUInt16(this, value, offset, true)
3874 }
3875 return offset + 2
ebd8d4e8
IC
3876}
3877
ab78acc6
IC
3878Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
3879 value = +value
3880 offset = offset | 0
3881 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3882 if (Buffer.TYPED_ARRAY_SUPPORT) {
3883 this[offset] = (value >>> 8)
3884 this[offset + 1] = value
3885 } else {
3886 objectWriteUInt16(this, value, offset, false)
ebd8d4e8 3887 }
ab78acc6 3888 return offset + 2
ebd8d4e8
IC
3889}
3890
ab78acc6
IC
3891function objectWriteUInt32 (buf, value, offset, littleEndian) {
3892 if (value < 0) value = 0xffffffff + value + 1
3893 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
3894 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
3895 }
ebd8d4e8
IC
3896}
3897
ab78acc6
IC
3898Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
3899 value = +value
3900 offset = offset | 0
3901 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3902 if (Buffer.TYPED_ARRAY_SUPPORT) {
3903 this[offset + 3] = (value >>> 24)
3904 this[offset + 2] = (value >>> 16)
3905 this[offset + 1] = (value >>> 8)
3906 this[offset] = value
3907 } else {
3908 objectWriteUInt32(this, value, offset, true)
ebd8d4e8 3909 }
ab78acc6 3910 return offset + 4
ebd8d4e8
IC
3911}
3912
ab78acc6
IC
3913Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
3914 value = +value
3915 offset = offset | 0
3916 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3917 if (Buffer.TYPED_ARRAY_SUPPORT) {
3918 this[offset] = (value >>> 24)
3919 this[offset + 1] = (value >>> 16)
3920 this[offset + 2] = (value >>> 8)
3921 this[offset + 3] = value
3922 } else {
3923 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 3924 }
ab78acc6
IC
3925 return offset + 4
3926}
3927
3928Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
3929 value = +value
3930 offset = offset | 0
3931 if (!noAssert) {
3932 var limit = Math.pow(2, 8 * byteLength - 1)
3933
3934 checkInt(this, value, offset, byteLength, limit - 1, -limit)
ebd8d4e8 3935 }
ab78acc6
IC
3936
3937 var i = 0
3938 var mul = 1
3939 var sub = value < 0 ? 1 : 0
3940 this[offset] = value & 0xFF
3941 while (++i < byteLength && (mul *= 0x100)) {
3942 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
ebd8d4e8 3943 }
ebd8d4e8 3944
ab78acc6 3945 return offset + byteLength
ebd8d4e8
IC
3946}
3947
ab78acc6
IC
3948Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
3949 value = +value
3950 offset = offset | 0
3951 if (!noAssert) {
3952 var limit = Math.pow(2, 8 * byteLength - 1)
ebd8d4e8 3953
ab78acc6
IC
3954 checkInt(this, value, offset, byteLength, limit - 1, -limit)
3955 }
ebd8d4e8 3956
ab78acc6
IC
3957 var i = byteLength - 1
3958 var mul = 1
3959 var sub = value < 0 ? 1 : 0
3960 this[offset + i] = value & 0xFF
3961 while (--i >= 0 && (mul *= 0x100)) {
3962 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
3963 }
3964
3965 return offset + byteLength
ebd8d4e8
IC
3966}
3967
ab78acc6
IC
3968Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
3969 value = +value
3970 offset = offset | 0
3971 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
3972 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3973 if (value < 0) value = 0xff + value + 1
3974 this[offset] = value
3975 return offset + 1
ebd8d4e8
IC
3976}
3977
ab78acc6
IC
3978Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
3979 value = +value
3980 offset = offset | 0
3981 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
3982 if (Buffer.TYPED_ARRAY_SUPPORT) {
3983 this[offset] = value
3984 this[offset + 1] = (value >>> 8)
3985 } else {
3986 objectWriteUInt16(this, value, offset, true)
3987 }
3988 return offset + 2
ebd8d4e8
IC
3989}
3990
ab78acc6
IC
3991Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
3992 value = +value
3993 offset = offset | 0
3994 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
3995 if (Buffer.TYPED_ARRAY_SUPPORT) {
3996 this[offset] = (value >>> 8)
3997 this[offset + 1] = value
3998 } else {
3999 objectWriteUInt16(this, value, offset, false)
4000 }
4001 return offset + 2
ebd8d4e8
IC
4002}
4003
ab78acc6
IC
4004Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
4005 value = +value
4006 offset = offset | 0
4007 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4008 if (Buffer.TYPED_ARRAY_SUPPORT) {
4009 this[offset] = value
4010 this[offset + 1] = (value >>> 8)
4011 this[offset + 2] = (value >>> 16)
4012 this[offset + 3] = (value >>> 24)
4013 } else {
4014 objectWriteUInt32(this, value, offset, true)
4015 }
4016 return offset + 4
4017}
4018
4019Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
4020 value = +value
4021 offset = offset | 0
4022 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4023 if (value < 0) value = 0xffffffff + value + 1
4024 if (Buffer.TYPED_ARRAY_SUPPORT) {
4025 this[offset] = (value >>> 24)
4026 this[offset + 1] = (value >>> 16)
4027 this[offset + 2] = (value >>> 8)
4028 this[offset + 3] = value
4029 } else {
4030 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4031 }
ab78acc6 4032 return offset + 4
ebd8d4e8
IC
4033}
4034
ab78acc6
IC
4035function checkIEEE754 (buf, value, offset, ext, max, min) {
4036 if (value > max || value < min) throw new RangeError('value is out of bounds')
4037 if (offset + ext > buf.length) throw new RangeError('index out of range')
4038 if (offset < 0) throw new RangeError('index out of range')
4039}
ebd8d4e8 4040
ab78acc6
IC
4041function writeFloat (buf, value, offset, littleEndian, noAssert) {
4042 if (!noAssert) {
4043 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
4044 }
4045 ieee754.write(buf, value, offset, littleEndian, 23, 4)
4046 return offset + 4
4047}
ebd8d4e8 4048
ab78acc6
IC
4049Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
4050 return writeFloat(this, value, offset, true, noAssert)
4051}
ebd8d4e8 4052
ab78acc6
IC
4053Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
4054 return writeFloat(this, value, offset, false, noAssert)
4055}
ebd8d4e8 4056
ab78acc6
IC
4057function writeDouble (buf, value, offset, littleEndian, noAssert) {
4058 if (!noAssert) {
4059 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
ebd8d4e8 4060 }
ab78acc6
IC
4061 ieee754.write(buf, value, offset, littleEndian, 52, 8)
4062 return offset + 8
ebd8d4e8
IC
4063}
4064
ab78acc6
IC
4065Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
4066 return writeDouble(this, value, offset, true, noAssert)
ebd8d4e8
IC
4067}
4068
ab78acc6
IC
4069Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
4070 return writeDouble(this, value, offset, false, noAssert)
4071}
ebd8d4e8 4072
ab78acc6
IC
4073// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
4074Buffer.prototype.copy = function copy (target, targetStart, start, end) {
4075 if (!start) start = 0
4076 if (!end && end !== 0) end = this.length
4077 if (targetStart >= target.length) targetStart = target.length
4078 if (!targetStart) targetStart = 0
4079 if (end > 0 && end < start) end = start
4080
4081 // Copy 0 bytes; we're done
4082 if (end === start) return 0
4083 if (target.length === 0 || this.length === 0) return 0
ebd8d4e8 4084
ab78acc6
IC
4085 // Fatal error conditions
4086 if (targetStart < 0) {
4087 throw new RangeError('targetStart out of bounds')
4088 }
4089 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
4090 if (end < 0) throw new RangeError('sourceEnd out of bounds')
ebd8d4e8 4091
ab78acc6
IC
4092 // Are we oob?
4093 if (end > this.length) end = this.length
4094 if (target.length - targetStart < end - start) {
4095 end = target.length - targetStart + start
4096 }
ebd8d4e8 4097
ab78acc6
IC
4098 var len = end - start
4099 var i
ebd8d4e8 4100
ab78acc6
IC
4101 if (this === target && start < targetStart && targetStart < end) {
4102 // descending copy from end
4103 for (i = len - 1; i >= 0; i--) {
4104 target[i + targetStart] = this[i + start]
4105 }
4106 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
4107 // ascending copy from start
4108 for (i = 0; i < len; i++) {
4109 target[i + targetStart] = this[i + start]
4110 }
4111 } else {
4112 target._set(this.subarray(start, start + len), targetStart)
ebd8d4e8 4113 }
ebd8d4e8 4114
ab78acc6
IC
4115 return len
4116}
ebd8d4e8 4117
ab78acc6
IC
4118// fill(value, start=0, end=buffer.length)
4119Buffer.prototype.fill = function fill (value, start, end) {
4120 if (!value) value = 0
4121 if (!start) start = 0
4122 if (!end) end = this.length
ebd8d4e8 4123
ab78acc6 4124 if (end < start) throw new RangeError('end < start')
ebd8d4e8 4125
ab78acc6
IC
4126 // Fill 0 bytes; we're done
4127 if (end === start) return
4128 if (this.length === 0) return
ebd8d4e8 4129
ab78acc6
IC
4130 if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
4131 if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
ebd8d4e8 4132
ab78acc6
IC
4133 var i
4134 if (typeof value === 'number') {
4135 for (i = start; i < end; i++) {
4136 this[i] = value
ebd8d4e8 4137 }
ab78acc6
IC
4138 } else {
4139 var bytes = utf8ToBytes(value.toString())
4140 var len = bytes.length
4141 for (i = start; i < end; i++) {
4142 this[i] = bytes[i % len]
ebd8d4e8
IC
4143 }
4144 }
ebd8d4e8 4145
ab78acc6 4146 return this
ebd8d4e8
IC
4147}
4148
ab78acc6
IC
4149/**
4150 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
4151 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
4152 */
4153Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
4154 if (typeof Uint8Array !== 'undefined') {
4155 if (Buffer.TYPED_ARRAY_SUPPORT) {
4156 return (new Buffer(this)).buffer
4157 } else {
4158 var buf = new Uint8Array(this.length)
4159 for (var i = 0, len = buf.length; i < len; i += 1) {
4160 buf[i] = this[i]
ebd8d4e8 4161 }
ab78acc6 4162 return buf.buffer
ebd8d4e8 4163 }
ab78acc6
IC
4164 } else {
4165 throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
ebd8d4e8 4166 }
ebd8d4e8
IC
4167}
4168
ab78acc6
IC
4169// HELPER FUNCTIONS
4170// ================
ebd8d4e8 4171
ab78acc6 4172var BP = Buffer.prototype
ebd8d4e8 4173
ab78acc6
IC
4174/**
4175 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
4176 */
4177Buffer._augment = function _augment (arr) {
4178 arr.constructor = Buffer
4179 arr._isBuffer = true
ebd8d4e8 4180
ab78acc6
IC
4181 // save reference to original Uint8Array set method before overwriting
4182 arr._set = arr.set
ebd8d4e8 4183
ab78acc6
IC
4184 // deprecated
4185 arr.get = BP.get
4186 arr.set = BP.set
ebd8d4e8 4187
ab78acc6
IC
4188 arr.write = BP.write
4189 arr.toString = BP.toString
4190 arr.toLocaleString = BP.toString
4191 arr.toJSON = BP.toJSON
4192 arr.equals = BP.equals
4193 arr.compare = BP.compare
4194 arr.indexOf = BP.indexOf
4195 arr.copy = BP.copy
4196 arr.slice = BP.slice
4197 arr.readUIntLE = BP.readUIntLE
4198 arr.readUIntBE = BP.readUIntBE
4199 arr.readUInt8 = BP.readUInt8
4200 arr.readUInt16LE = BP.readUInt16LE
4201 arr.readUInt16BE = BP.readUInt16BE
4202 arr.readUInt32LE = BP.readUInt32LE
4203 arr.readUInt32BE = BP.readUInt32BE
4204 arr.readIntLE = BP.readIntLE
4205 arr.readIntBE = BP.readIntBE
4206 arr.readInt8 = BP.readInt8
4207 arr.readInt16LE = BP.readInt16LE
4208 arr.readInt16BE = BP.readInt16BE
4209 arr.readInt32LE = BP.readInt32LE
4210 arr.readInt32BE = BP.readInt32BE
4211 arr.readFloatLE = BP.readFloatLE
4212 arr.readFloatBE = BP.readFloatBE
4213 arr.readDoubleLE = BP.readDoubleLE
4214 arr.readDoubleBE = BP.readDoubleBE
4215 arr.writeUInt8 = BP.writeUInt8
4216 arr.writeUIntLE = BP.writeUIntLE
4217 arr.writeUIntBE = BP.writeUIntBE
4218 arr.writeUInt16LE = BP.writeUInt16LE
4219 arr.writeUInt16BE = BP.writeUInt16BE
4220 arr.writeUInt32LE = BP.writeUInt32LE
4221 arr.writeUInt32BE = BP.writeUInt32BE
4222 arr.writeIntLE = BP.writeIntLE
4223 arr.writeIntBE = BP.writeIntBE
4224 arr.writeInt8 = BP.writeInt8
4225 arr.writeInt16LE = BP.writeInt16LE
4226 arr.writeInt16BE = BP.writeInt16BE
4227 arr.writeInt32LE = BP.writeInt32LE
4228 arr.writeInt32BE = BP.writeInt32BE
4229 arr.writeFloatLE = BP.writeFloatLE
4230 arr.writeFloatBE = BP.writeFloatBE
4231 arr.writeDoubleLE = BP.writeDoubleLE
4232 arr.writeDoubleBE = BP.writeDoubleBE
4233 arr.fill = BP.fill
4234 arr.inspect = BP.inspect
4235 arr.toArrayBuffer = BP.toArrayBuffer
ebd8d4e8 4236
ab78acc6 4237 return arr
ebd8d4e8
IC
4238}
4239
ab78acc6 4240var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
ebd8d4e8 4241
ab78acc6
IC
4242function base64clean (str) {
4243 // Node strips out invalid characters like \n and \t from the string, base64-js does not
4244 str = stringtrim(str).replace(INVALID_BASE64_RE, '')
4245 // Node converts strings with length < 2 to ''
4246 if (str.length < 2) return ''
4247 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
4248 while (str.length % 4 !== 0) {
4249 str = str + '='
4250 }
4251 return str
ebd8d4e8
IC
4252}
4253
ab78acc6
IC
4254function stringtrim (str) {
4255 if (str.trim) return str.trim()
4256 return str.replace(/^\s+|\s+$/g, '')
ebd8d4e8
IC
4257}
4258
ab78acc6
IC
4259function toHex (n) {
4260 if (n < 16) return '0' + n.toString(16)
4261 return n.toString(16)
ebd8d4e8
IC
4262}
4263
ab78acc6
IC
4264function utf8ToBytes (string, units) {
4265 units = units || Infinity
4266 var codePoint
4267 var length = string.length
4268 var leadSurrogate = null
4269 var bytes = []
ebd8d4e8 4270
ab78acc6
IC
4271 for (var i = 0; i < length; i++) {
4272 codePoint = string.charCodeAt(i)
ebd8d4e8 4273
ab78acc6
IC
4274 // is surrogate component
4275 if (codePoint > 0xD7FF && codePoint < 0xE000) {
4276 // last char was a lead
4277 if (!leadSurrogate) {
4278 // no lead yet
4279 if (codePoint > 0xDBFF) {
4280 // unexpected trail
4281 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4282 continue
ebd8d4e8 4283
ab78acc6
IC
4284 } else if (i + 1 === length) {
4285 // unpaired lead
4286 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4287 continue
4288 }
ebd8d4e8 4289
ab78acc6
IC
4290 // valid lead
4291 leadSurrogate = codePoint
ebd8d4e8 4292
ab78acc6
IC
4293 continue
4294 }
ebd8d4e8 4295
ab78acc6
IC
4296 // 2 leads in a row
4297 if (codePoint < 0xDC00) {
4298 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4299 leadSurrogate = codePoint
4300 continue
4301 }
ebd8d4e8 4302
ab78acc6
IC
4303 // valid surrogate pair
4304 codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
4305
4306 } else if (leadSurrogate) {
4307 // valid bmp char, but last char was a lead
4308 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4309 }
4310
4311 leadSurrogate = null
4312
4313 // encode utf8
4314 if (codePoint < 0x80) {
4315 if ((units -= 1) < 0) break
4316 bytes.push(codePoint)
4317 } else if (codePoint < 0x800) {
4318 if ((units -= 2) < 0) break
4319 bytes.push(
4320 codePoint >> 0x6 | 0xC0,
4321 codePoint & 0x3F | 0x80
4322 )
4323 } else if (codePoint < 0x10000) {
4324 if ((units -= 3) < 0) break
4325 bytes.push(
4326 codePoint >> 0xC | 0xE0,
4327 codePoint >> 0x6 & 0x3F | 0x80,
4328 codePoint & 0x3F | 0x80
4329 )
4330 } else if (codePoint < 0x110000) {
4331 if ((units -= 4) < 0) break
4332 bytes.push(
4333 codePoint >> 0x12 | 0xF0,
4334 codePoint >> 0xC & 0x3F | 0x80,
4335 codePoint >> 0x6 & 0x3F | 0x80,
4336 codePoint & 0x3F | 0x80
4337 )
4338 } else {
4339 throw new Error('Invalid code point')
ebd8d4e8 4340 }
ebd8d4e8 4341 }
ab78acc6
IC
4342
4343 return bytes
4344}
4345
4346function asciiToBytes (str) {
4347 var byteArray = []
4348 for (var i = 0; i < str.length; i++) {
4349 // Node's code seems to be doing this and not & 0x7F..
4350 byteArray.push(str.charCodeAt(i) & 0xFF)
ebd8d4e8 4351 }
ab78acc6 4352 return byteArray
ebd8d4e8
IC
4353}
4354
ab78acc6
IC
4355function utf16leToBytes (str, units) {
4356 var c, hi, lo
4357 var byteArray = []
4358 for (var i = 0; i < str.length; i++) {
4359 if ((units -= 2) < 0) break
ebd8d4e8 4360
ab78acc6
IC
4361 c = str.charCodeAt(i)
4362 hi = c >> 8
4363 lo = c % 256
4364 byteArray.push(lo)
4365 byteArray.push(hi)
4366 }
ebd8d4e8 4367
ab78acc6
IC
4368 return byteArray
4369}
ebd8d4e8 4370
ab78acc6
IC
4371function base64ToBytes (str) {
4372 return base64.toByteArray(base64clean(str))
4373}
ebd8d4e8 4374
ab78acc6
IC
4375function blitBuffer (src, dst, offset, length) {
4376 for (var i = 0; i < length; i++) {
4377 if ((i + offset >= dst.length) || (i >= src.length)) break
4378 dst[i + offset] = src[i]
4379 }
4380 return i
4381}
4382
4383},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){
4384var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
4385
4386;(function (exports) {
4387 'use strict';
4388
4389 var Arr = (typeof Uint8Array !== 'undefined')
4390 ? Uint8Array
4391 : Array
ebd8d4e8 4392
ab78acc6
IC
4393 var PLUS = '+'.charCodeAt(0)
4394 var SLASH = '/'.charCodeAt(0)
4395 var NUMBER = '0'.charCodeAt(0)
4396 var LOWER = 'a'.charCodeAt(0)
4397 var UPPER = 'A'.charCodeAt(0)
4398 var PLUS_URL_SAFE = '-'.charCodeAt(0)
4399 var SLASH_URL_SAFE = '_'.charCodeAt(0)
ebd8d4e8 4400
ab78acc6
IC
4401 function decode (elt) {
4402 var code = elt.charCodeAt(0)
4403 if (code === PLUS ||
4404 code === PLUS_URL_SAFE)
4405 return 62 // '+'
4406 if (code === SLASH ||
4407 code === SLASH_URL_SAFE)
4408 return 63 // '/'
4409 if (code < NUMBER)
4410 return -1 //no match
4411 if (code < NUMBER + 10)
4412 return code - NUMBER + 26 + 26
4413 if (code < UPPER + 26)
4414 return code - UPPER
4415 if (code < LOWER + 26)
4416 return code - LOWER + 26
4417 }
ebd8d4e8 4418
ab78acc6
IC
4419 function b64ToByteArray (b64) {
4420 var i, j, l, tmp, placeHolders, arr
ebd8d4e8 4421
ab78acc6
IC
4422 if (b64.length % 4 > 0) {
4423 throw new Error('Invalid string. Length must be a multiple of 4')
4424 }
ebd8d4e8 4425
ab78acc6
IC
4426 // the number of equal signs (place holders)
4427 // if there are two placeholders, than the two characters before it
4428 // represent one byte
4429 // if there is only one, then the three characters before it represent 2 bytes
4430 // this is just a cheap hack to not do indexOf twice
4431 var len = b64.length
4432 placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
ebd8d4e8 4433
ab78acc6
IC
4434 // base64 is 4/3 + up to two characters of the original data
4435 arr = new Arr(b64.length * 3 / 4 - placeHolders)
ebd8d4e8 4436
ab78acc6
IC
4437 // if there are placeholders, only get up to the last complete 4 chars
4438 l = placeHolders > 0 ? b64.length - 4 : b64.length
ebd8d4e8 4439
ab78acc6 4440 var L = 0
ebd8d4e8 4441
ab78acc6
IC
4442 function push (v) {
4443 arr[L++] = v
4444 }
ebd8d4e8 4445
ab78acc6
IC
4446 for (i = 0, j = 0; i < l; i += 4, j += 3) {
4447 tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
4448 push((tmp & 0xFF0000) >> 16)
4449 push((tmp & 0xFF00) >> 8)
4450 push(tmp & 0xFF)
4451 }
ebd8d4e8 4452
ab78acc6
IC
4453 if (placeHolders === 2) {
4454 tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
4455 push(tmp & 0xFF)
4456 } else if (placeHolders === 1) {
4457 tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
4458 push((tmp >> 8) & 0xFF)
4459 push(tmp & 0xFF)
4460 }
ebd8d4e8 4461
ab78acc6
IC
4462 return arr
4463 }
ebd8d4e8 4464
ab78acc6
IC
4465 function uint8ToBase64 (uint8) {
4466 var i,
4467 extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
4468 output = "",
4469 temp, length
ebd8d4e8 4470
ab78acc6
IC
4471 function encode (num) {
4472 return lookup.charAt(num)
4473 }
ebd8d4e8 4474
ab78acc6
IC
4475 function tripletToBase64 (num) {
4476 return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
4477 }
ebd8d4e8 4478
ab78acc6
IC
4479 // go through the array every three bytes, we'll deal with trailing stuff later
4480 for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
4481 temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
4482 output += tripletToBase64(temp)
4483 }
ebd8d4e8 4484
ab78acc6
IC
4485 // pad the end with zeros, but make sure to not forget the extra bytes
4486 switch (extraBytes) {
4487 case 1:
4488 temp = uint8[uint8.length - 1]
4489 output += encode(temp >> 2)
4490 output += encode((temp << 4) & 0x3F)
4491 output += '=='
4492 break
4493 case 2:
4494 temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
4495 output += encode(temp >> 10)
4496 output += encode((temp >> 4) & 0x3F)
4497 output += encode((temp << 2) & 0x3F)
4498 output += '='
4499 break
4500 }
ebd8d4e8 4501
ab78acc6
IC
4502 return output
4503 }
ebd8d4e8 4504
ab78acc6
IC
4505 exports.toByteArray = b64ToByteArray
4506 exports.fromByteArray = uint8ToBase64
4507}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
ebd8d4e8 4508
ab78acc6
IC
4509},{}],9:[function(require,module,exports){
4510exports.read = function (buffer, offset, isLE, mLen, nBytes) {
4511 var e, m
4512 var eLen = nBytes * 8 - mLen - 1
4513 var eMax = (1 << eLen) - 1
4514 var eBias = eMax >> 1
4515 var nBits = -7
4516 var i = isLE ? (nBytes - 1) : 0
4517 var d = isLE ? -1 : 1
4518 var s = buffer[offset + i]
4519
4520 i += d
4521
4522 e = s & ((1 << (-nBits)) - 1)
4523 s >>= (-nBits)
4524 nBits += eLen
4525 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
4526
4527 m = e & ((1 << (-nBits)) - 1)
4528 e >>= (-nBits)
4529 nBits += mLen
4530 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
ebd8d4e8 4531
ab78acc6
IC
4532 if (e === 0) {
4533 e = 1 - eBias
4534 } else if (e === eMax) {
4535 return m ? NaN : ((s ? -1 : 1) * Infinity)
4536 } else {
4537 m = m + Math.pow(2, mLen)
4538 e = e - eBias
ebd8d4e8 4539 }
ab78acc6 4540 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
ebd8d4e8
IC
4541}
4542
ab78acc6
IC
4543exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
4544 var e, m, c
4545 var eLen = nBytes * 8 - mLen - 1
4546 var eMax = (1 << eLen) - 1
4547 var eBias = eMax >> 1
4548 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
4549 var i = isLE ? 0 : (nBytes - 1)
4550 var d = isLE ? 1 : -1
4551 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
ebd8d4e8 4552
ab78acc6 4553 value = Math.abs(value)
ebd8d4e8 4554
ab78acc6
IC
4555 if (isNaN(value) || value === Infinity) {
4556 m = isNaN(value) ? 1 : 0
4557 e = eMax
4558 } else {
4559 e = Math.floor(Math.log(value) / Math.LN2)
4560 if (value * (c = Math.pow(2, -e)) < 1) {
4561 e--
4562 c *= 2
ebd8d4e8 4563 }
ab78acc6
IC
4564 if (e + eBias >= 1) {
4565 value += rt / c
4566 } else {
4567 value += rt * Math.pow(2, 1 - eBias)
ebd8d4e8 4568 }
ab78acc6
IC
4569 if (value * c >= 2) {
4570 e++
4571 c /= 2
ebd8d4e8 4572 }
ab78acc6
IC
4573
4574 if (e + eBias >= eMax) {
4575 m = 0
4576 e = eMax
4577 } else if (e + eBias >= 1) {
4578 m = (value * c - 1) * Math.pow(2, mLen)
4579 e = e + eBias
4580 } else {
4581 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
4582 e = 0
ebd8d4e8
IC
4583 }
4584 }
ebd8d4e8 4585
ab78acc6 4586 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
ebd8d4e8 4587
ab78acc6
IC
4588 e = (e << mLen) | m
4589 eLen += mLen
4590 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
ebd8d4e8 4591
ab78acc6
IC
4592 buffer[offset + i - d] |= s * 128
4593}
ebd8d4e8 4594
ab78acc6 4595},{}],10:[function(require,module,exports){
ebd8d4e8 4596
ab78acc6
IC
4597/**
4598 * isArray
4599 */
ebd8d4e8 4600
ab78acc6 4601var isArray = Array.isArray;
ebd8d4e8
IC
4602
4603/**
ab78acc6 4604 * toString
ebd8d4e8 4605 */
ebd8d4e8 4606
ab78acc6 4607var str = Object.prototype.toString;
ebd8d4e8
IC
4608
4609/**
ab78acc6
IC
4610 * Whether or not the given `val`
4611 * is an array.
ebd8d4e8 4612 *
ab78acc6
IC
4613 * example:
4614 *
4615 * isArray([]);
4616 * // > true
4617 * isArray(arguments);
4618 * // > false
4619 * isArray('');
4620 * // > false
4621 *
4622 * @param {mixed} val
4623 * @return {bool}
ebd8d4e8 4624 */
ebd8d4e8 4625
ab78acc6
IC
4626module.exports = isArray || function (val) {
4627 return !! val && '[object Array]' == str.call(val);
4628};
4629
4630},{}],11:[function(require,module,exports){
4631// Copyright Joyent, Inc. and other Node contributors.
4632//
4633// Permission is hereby granted, free of charge, to any person obtaining a
4634// copy of this software and associated documentation files (the
4635// "Software"), to deal in the Software without restriction, including
4636// without limitation the rights to use, copy, modify, merge, publish,
4637// distribute, sublicense, and/or sell copies of the Software, and to permit
4638// persons to whom the Software is furnished to do so, subject to the
4639// following conditions:
4640//
4641// The above copyright notice and this permission notice shall be included
4642// in all copies or substantial portions of the Software.
4643//
4644// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4645// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4646// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
4647// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4648// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4649// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
4650// USE OR OTHER DEALINGS IN THE SOFTWARE.
4651
4652function EventEmitter() {
4653 this._events = this._events || {};
4654 this._maxListeners = this._maxListeners || undefined;
ebd8d4e8 4655}
ab78acc6 4656module.exports = EventEmitter;
ebd8d4e8 4657
ab78acc6
IC
4658// Backwards-compat with node 0.10.x
4659EventEmitter.EventEmitter = EventEmitter;
ebd8d4e8 4660
ab78acc6
IC
4661EventEmitter.prototype._events = undefined;
4662EventEmitter.prototype._maxListeners = undefined;
4663
4664// By default EventEmitters will print a warning if more than 10 listeners are
4665// added to it. This is a useful default which helps finding memory leaks.
4666EventEmitter.defaultMaxListeners = 10;
4667
4668// Obviously not all Emitters should be limited to 10. This function allows
4669// that to be increased. Set to zero for unlimited.
4670EventEmitter.prototype.setMaxListeners = function(n) {
4671 if (!isNumber(n) || n < 0 || isNaN(n))
4672 throw TypeError('n must be a positive number');
4673 this._maxListeners = n;
4674 return this;
4675};
4676
4677EventEmitter.prototype.emit = function(type) {
4678 var er, handler, len, args, i, listeners;
4679
4680 if (!this._events)
4681 this._events = {};
4682
4683 // If there is no 'error' event listener then throw.
4684 if (type === 'error') {
4685 if (!this._events.error ||
4686 (isObject(this._events.error) && !this._events.error.length)) {
4687 er = arguments[1];
4688 if (er instanceof Error) {
4689 throw er; // Unhandled 'error' event
4690 }
4691 throw TypeError('Uncaught, unspecified "error" event.');
4692 }
4693 }
4694
4695 handler = this._events[type];
4696
4697 if (isUndefined(handler))
4698 return false;
4699
4700 if (isFunction(handler)) {
4701 switch (arguments.length) {
4702 // fast cases
4703 case 1:
4704 handler.call(this);
4705 break;
4706 case 2:
4707 handler.call(this, arguments[1]);
4708 break;
4709 case 3:
4710 handler.call(this, arguments[1], arguments[2]);
4711 break;
4712 // slower
4713 default:
4714 len = arguments.length;
4715 args = new Array(len - 1);
4716 for (i = 1; i < len; i++)
4717 args[i - 1] = arguments[i];
4718 handler.apply(this, args);
4719 }
4720 } else if (isObject(handler)) {
4721 len = arguments.length;
4722 args = new Array(len - 1);
4723 for (i = 1; i < len; i++)
4724 args[i - 1] = arguments[i];
ebd8d4e8 4725
ab78acc6
IC
4726 listeners = handler.slice();
4727 len = listeners.length;
4728 for (i = 0; i < len; i++)
4729 listeners[i].apply(this, args);
ebd8d4e8
IC
4730 }
4731
ab78acc6
IC
4732 return true;
4733};
ebd8d4e8 4734
ab78acc6
IC
4735EventEmitter.prototype.addListener = function(type, listener) {
4736 var m;
ebd8d4e8 4737
ab78acc6
IC
4738 if (!isFunction(listener))
4739 throw TypeError('listener must be a function');
ebd8d4e8 4740
ab78acc6
IC
4741 if (!this._events)
4742 this._events = {};
ebd8d4e8 4743
ab78acc6
IC
4744 // To avoid recursion in the case that type === "newListener"! Before
4745 // adding it to the listeners, first emit "newListener".
4746 if (this._events.newListener)
4747 this.emit('newListener', type,
4748 isFunction(listener.listener) ?
4749 listener.listener : listener);
ebd8d4e8 4750
ab78acc6
IC
4751 if (!this._events[type])
4752 // Optimize the case of one listener. Don't need the extra array object.
4753 this._events[type] = listener;
4754 else if (isObject(this._events[type]))
4755 // If we've already got an array, just append.
4756 this._events[type].push(listener);
4757 else
4758 // Adding the second element, need to change to array.
4759 this._events[type] = [this._events[type], listener];
4760
4761 // Check for listener leak
4762 if (isObject(this._events[type]) && !this._events[type].warned) {
4763 var m;
4764 if (!isUndefined(this._maxListeners)) {
4765 m = this._maxListeners;
4766 } else {
4767 m = EventEmitter.defaultMaxListeners;
4768 }
4769
4770 if (m && m > 0 && this._events[type].length > m) {
4771 this._events[type].warned = true;
4772 console.error('(node) warning: possible EventEmitter memory ' +
4773 'leak detected. %d listeners added. ' +
4774 'Use emitter.setMaxListeners() to increase limit.',
4775 this._events[type].length);
4776 if (typeof console.trace === 'function') {
4777 // not supported in IE 10
4778 console.trace();
4779 }
4780 }
4781 }
ebd8d4e8 4782
ab78acc6
IC
4783 return this;
4784};
ebd8d4e8 4785
ab78acc6 4786EventEmitter.prototype.on = EventEmitter.prototype.addListener;
ebd8d4e8 4787
ab78acc6
IC
4788EventEmitter.prototype.once = function(type, listener) {
4789 if (!isFunction(listener))
4790 throw TypeError('listener must be a function');
ebd8d4e8 4791
ab78acc6 4792 var fired = false;
ebd8d4e8 4793
ab78acc6
IC
4794 function g() {
4795 this.removeListener(type, g);
ebd8d4e8 4796
ab78acc6
IC
4797 if (!fired) {
4798 fired = true;
4799 listener.apply(this, arguments);
4800 }
4801 }
ebd8d4e8 4802
ab78acc6
IC
4803 g.listener = listener;
4804 this.on(type, g);
ebd8d4e8 4805
ab78acc6
IC
4806 return this;
4807};
ebd8d4e8 4808
ab78acc6
IC
4809// emits a 'removeListener' event iff the listener was removed
4810EventEmitter.prototype.removeListener = function(type, listener) {
4811 var list, position, length, i;
ebd8d4e8 4812
ab78acc6
IC
4813 if (!isFunction(listener))
4814 throw TypeError('listener must be a function');
ebd8d4e8 4815
ab78acc6
IC
4816 if (!this._events || !this._events[type])
4817 return this;
ebd8d4e8 4818
ab78acc6
IC
4819 list = this._events[type];
4820 length = list.length;
4821 position = -1;
4822
4823 if (list === listener ||
4824 (isFunction(list.listener) && list.listener === listener)) {
4825 delete this._events[type];
4826 if (this._events.removeListener)
4827 this.emit('removeListener', type, listener);
4828
4829 } else if (isObject(list)) {
4830 for (i = length; i-- > 0;) {
4831 if (list[i] === listener ||
4832 (list[i].listener && list[i].listener === listener)) {
4833 position = i;
4834 break;
ebd8d4e8 4835 }
ab78acc6 4836 }
ebd8d4e8 4837
ab78acc6
IC
4838 if (position < 0)
4839 return this;
4840
4841 if (list.length === 1) {
4842 list.length = 0;
4843 delete this._events[type];
4844 } else {
4845 list.splice(position, 1);
ebd8d4e8 4846 }
ab78acc6
IC
4847
4848 if (this._events.removeListener)
4849 this.emit('removeListener', type, listener);
ebd8d4e8 4850 }
ab78acc6
IC
4851
4852 return this;
ebd8d4e8
IC
4853};
4854
ab78acc6
IC
4855EventEmitter.prototype.removeAllListeners = function(type) {
4856 var key, listeners;
ebd8d4e8 4857
ab78acc6
IC
4858 if (!this._events)
4859 return this;
4860
4861 // not listening for removeListener, no need to emit
4862 if (!this._events.removeListener) {
4863 if (arguments.length === 0)
4864 this._events = {};
4865 else if (this._events[type])
4866 delete this._events[type];
4867 return this;
ebd8d4e8 4868 }
ab78acc6
IC
4869
4870 // emit removeListener for all listeners on all events
4871 if (arguments.length === 0) {
4872 for (key in this._events) {
4873 if (key === 'removeListener') continue;
4874 this.removeAllListeners(key);
4875 }
4876 this.removeAllListeners('removeListener');
4877 this._events = {};
4878 return this;
ebd8d4e8 4879 }
ebd8d4e8 4880
ab78acc6
IC
4881 listeners = this._events[type];
4882
4883 if (isFunction(listeners)) {
4884 this.removeListener(type, listeners);
ebd8d4e8 4885 } else {
ab78acc6
IC
4886 // LIFO order
4887 while (listeners.length)
4888 this.removeListener(type, listeners[listeners.length - 1]);
ebd8d4e8 4889 }
ab78acc6 4890 delete this._events[type];
ebd8d4e8 4891
ab78acc6
IC
4892 return this;
4893};
ebd8d4e8 4894
ab78acc6
IC
4895EventEmitter.prototype.listeners = function(type) {
4896 var ret;
4897 if (!this._events || !this._events[type])
4898 ret = [];
4899 else if (isFunction(this._events[type]))
4900 ret = [this._events[type]];
4901 else
4902 ret = this._events[type].slice();
4903 return ret;
4904};
ebd8d4e8 4905
ab78acc6
IC
4906EventEmitter.listenerCount = function(emitter, type) {
4907 var ret;
4908 if (!emitter._events || !emitter._events[type])
4909 ret = 0;
4910 else if (isFunction(emitter._events[type]))
4911 ret = 1;
4912 else
4913 ret = emitter._events[type].length;
4914 return ret;
4915};
ebd8d4e8 4916
ab78acc6
IC
4917function isFunction(arg) {
4918 return typeof arg === 'function';
ebd8d4e8
IC
4919}
4920
ab78acc6
IC
4921function isNumber(arg) {
4922 return typeof arg === 'number';
4923}
ebd8d4e8 4924
ab78acc6
IC
4925function isObject(arg) {
4926 return typeof arg === 'object' && arg !== null;
4927}
ebd8d4e8 4928
ab78acc6
IC
4929function isUndefined(arg) {
4930 return arg === void 0;
ebd8d4e8 4931}
ebd8d4e8 4932
ab78acc6
IC
4933},{}],12:[function(require,module,exports){
4934if (typeof Object.create === 'function') {
4935 // implementation from standard node.js 'util' module
4936 module.exports = function inherits(ctor, superCtor) {
4937 ctor.super_ = superCtor
4938 ctor.prototype = Object.create(superCtor.prototype, {
4939 constructor: {
4940 value: ctor,
4941 enumerable: false,
4942 writable: true,
4943 configurable: true
4944 }
4945 });
4946 };
4947} else {
4948 // old school shim for old browsers
4949 module.exports = function inherits(ctor, superCtor) {
4950 ctor.super_ = superCtor
4951 var TempCtor = function () {}
4952 TempCtor.prototype = superCtor.prototype
4953 ctor.prototype = new TempCtor()
4954 ctor.prototype.constructor = ctor
4955 }
4956}
ebd8d4e8 4957
ab78acc6
IC
4958},{}],13:[function(require,module,exports){
4959module.exports = Array.isArray || function (arr) {
4960 return Object.prototype.toString.call(arr) == '[object Array]';
ebd8d4e8
IC
4961};
4962
ab78acc6
IC
4963},{}],14:[function(require,module,exports){
4964// shim for using process in browser
ebd8d4e8 4965
ab78acc6
IC
4966var process = module.exports = {};
4967var queue = [];
4968var draining = false;
4969var currentQueue;
4970var queueIndex = -1;
4971
4972function cleanUpNextTick() {
4973 draining = false;
4974 if (currentQueue.length) {
4975 queue = currentQueue.concat(queue);
4976 } else {
4977 queueIndex = -1;
4978 }
4979 if (queue.length) {
4980 drainQueue();
4981 }
4982}
ebd8d4e8 4983
ab78acc6
IC
4984function drainQueue() {
4985 if (draining) {
4986 return;
4987 }
4988 var timeout = setTimeout(cleanUpNextTick);
4989 draining = true;
ebd8d4e8 4990
ab78acc6
IC
4991 var len = queue.length;
4992 while(len) {
4993 currentQueue = queue;
4994 queue = [];
4995 while (++queueIndex < len) {
4996 currentQueue[queueIndex].run();
4997 }
4998 queueIndex = -1;
4999 len = queue.length;
5000 }
5001 currentQueue = null;
5002 draining = false;
5003 clearTimeout(timeout);
5004}
5005
5006process.nextTick = function (fun) {
5007 var args = new Array(arguments.length - 1);
5008 if (arguments.length > 1) {
5009 for (var i = 1; i < arguments.length; i++) {
5010 args[i - 1] = arguments[i];
5011 }
5012 }
5013 queue.push(new Item(fun, args));
5014 if (queue.length === 1 && !draining) {
5015 setTimeout(drainQueue, 0);
5016 }
ebd8d4e8
IC
5017};
5018
ab78acc6
IC
5019// v8 likes predictible objects
5020function Item(fun, array) {
5021 this.fun = fun;
5022 this.array = array;
5023}
5024Item.prototype.run = function () {
5025 this.fun.apply(null, this.array);
5026};
5027process.title = 'browser';
5028process.browser = true;
5029process.env = {};
5030process.argv = [];
5031process.version = ''; // empty string to avoid regexp issues
5032process.versions = {};
ebd8d4e8 5033
ab78acc6
IC
5034function noop() {}
5035
5036process.on = noop;
5037process.addListener = noop;
5038process.once = noop;
5039process.off = noop;
5040process.removeListener = noop;
5041process.removeAllListeners = noop;
5042process.emit = noop;
5043
5044process.binding = function (name) {
5045 throw new Error('process.binding is not supported');
5046};
ebd8d4e8 5047
ab78acc6
IC
5048// TODO(shtylman)
5049process.cwd = function () { return '/' };
5050process.chdir = function (dir) {
5051 throw new Error('process.chdir is not supported');
5052};
5053process.umask = function() { return 0; };
ebd8d4e8 5054
ab78acc6
IC
5055},{}],15:[function(require,module,exports){
5056module.exports = require("./lib/_stream_duplex.js")
ebd8d4e8 5057
ab78acc6
IC
5058},{"./lib/_stream_duplex.js":16}],16:[function(require,module,exports){
5059(function (process){
5060// Copyright Joyent, Inc. and other Node contributors.
5061//
5062// Permission is hereby granted, free of charge, to any person obtaining a
5063// copy of this software and associated documentation files (the
5064// "Software"), to deal in the Software without restriction, including
5065// without limitation the rights to use, copy, modify, merge, publish,
5066// distribute, sublicense, and/or sell copies of the Software, and to permit
5067// persons to whom the Software is furnished to do so, subject to the
5068// following conditions:
5069//
5070// The above copyright notice and this permission notice shall be included
5071// in all copies or substantial portions of the Software.
5072//
5073// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5074// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5075// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5076// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5077// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5078// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5079// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5080
ab78acc6
IC
5081// a duplex stream is just a stream that is both readable and writable.
5082// Since JS doesn't have multiple prototypal inheritance, this class
5083// prototypally inherits from Readable, and then parasitically from
5084// Writable.
ebd8d4e8 5085
ab78acc6 5086module.exports = Duplex;
ebd8d4e8 5087
ab78acc6
IC
5088/*<replacement>*/
5089var objectKeys = Object.keys || function (obj) {
5090 var keys = [];
5091 for (var key in obj) keys.push(key);
5092 return keys;
ebd8d4e8 5093}
ab78acc6 5094/*</replacement>*/
ebd8d4e8 5095
ebd8d4e8 5096
ab78acc6
IC
5097/*<replacement>*/
5098var util = require('core-util-is');
5099util.inherits = require('inherits');
5100/*</replacement>*/
ebd8d4e8 5101
ab78acc6
IC
5102var Readable = require('./_stream_readable');
5103var Writable = require('./_stream_writable');
ebd8d4e8 5104
ab78acc6 5105util.inherits(Duplex, Readable);
ebd8d4e8 5106
ab78acc6
IC
5107forEach(objectKeys(Writable.prototype), function(method) {
5108 if (!Duplex.prototype[method])
5109 Duplex.prototype[method] = Writable.prototype[method];
5110});
ebd8d4e8 5111
ab78acc6
IC
5112function Duplex(options) {
5113 if (!(this instanceof Duplex))
5114 return new Duplex(options);
ebd8d4e8 5115
ab78acc6
IC
5116 Readable.call(this, options);
5117 Writable.call(this, options);
ebd8d4e8 5118
ab78acc6
IC
5119 if (options && options.readable === false)
5120 this.readable = false;
ebd8d4e8 5121
ab78acc6
IC
5122 if (options && options.writable === false)
5123 this.writable = false;
ebd8d4e8 5124
ab78acc6
IC
5125 this.allowHalfOpen = true;
5126 if (options && options.allowHalfOpen === false)
5127 this.allowHalfOpen = false;
ebd8d4e8 5128
ab78acc6 5129 this.once('end', onend);
ebd8d4e8
IC
5130}
5131
ab78acc6
IC
5132// the no-half-open enforcer
5133function onend() {
5134 // if we allow half-open state, or if the writable side ended,
5135 // then we're ok.
5136 if (this.allowHalfOpen || this._writableState.ended)
5137 return;
ebd8d4e8 5138
ab78acc6
IC
5139 // no more data can be written.
5140 // But allow more writes to happen in this tick.
5141 process.nextTick(this.end.bind(this));
5142}
ebd8d4e8 5143
ab78acc6
IC
5144function forEach (xs, f) {
5145 for (var i = 0, l = xs.length; i < l; i++) {
5146 f(xs[i], i);
ebd8d4e8 5147 }
ab78acc6 5148}
ebd8d4e8 5149
ab78acc6
IC
5150}).call(this,require('_process'))
5151},{"./_stream_readable":18,"./_stream_writable":20,"_process":14,"core-util-is":21,"inherits":12}],17:[function(require,module,exports){
5152// Copyright Joyent, Inc. and other Node contributors.
5153//
5154// Permission is hereby granted, free of charge, to any person obtaining a
5155// copy of this software and associated documentation files (the
5156// "Software"), to deal in the Software without restriction, including
5157// without limitation the rights to use, copy, modify, merge, publish,
5158// distribute, sublicense, and/or sell copies of the Software, and to permit
5159// persons to whom the Software is furnished to do so, subject to the
5160// following conditions:
5161//
5162// The above copyright notice and this permission notice shall be included
5163// in all copies or substantial portions of the Software.
5164//
5165// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5166// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5167// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5168// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5169// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5170// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5171// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5172
ab78acc6
IC
5173// a passthrough stream.
5174// basically just the most minimal sort of Transform stream.
5175// Every written chunk gets output as-is.
ebd8d4e8 5176
ab78acc6 5177module.exports = PassThrough;
ebd8d4e8 5178
ab78acc6 5179var Transform = require('./_stream_transform');
ebd8d4e8 5180
ab78acc6
IC
5181/*<replacement>*/
5182var util = require('core-util-is');
5183util.inherits = require('inherits');
5184/*</replacement>*/
ebd8d4e8 5185
ab78acc6 5186util.inherits(PassThrough, Transform);
ebd8d4e8 5187
ab78acc6
IC
5188function PassThrough(options) {
5189 if (!(this instanceof PassThrough))
5190 return new PassThrough(options);
ebd8d4e8 5191
ab78acc6
IC
5192 Transform.call(this, options);
5193}
ebd8d4e8 5194
ab78acc6
IC
5195PassThrough.prototype._transform = function(chunk, encoding, cb) {
5196 cb(null, chunk);
ebd8d4e8
IC
5197};
5198
ab78acc6
IC
5199},{"./_stream_transform":19,"core-util-is":21,"inherits":12}],18:[function(require,module,exports){
5200(function (process){
ebd8d4e8
IC
5201// Copyright Joyent, Inc. and other Node contributors.
5202//
5203// Permission is hereby granted, free of charge, to any person obtaining a
5204// copy of this software and associated documentation files (the
5205// "Software"), to deal in the Software without restriction, including
5206// without limitation the rights to use, copy, modify, merge, publish,
5207// distribute, sublicense, and/or sell copies of the Software, and to permit
5208// persons to whom the Software is furnished to do so, subject to the
5209// following conditions:
5210//
5211// The above copyright notice and this permission notice shall be included
5212// in all copies or substantial portions of the Software.
5213//
5214// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5215// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5216// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5217// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5218// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5219// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5220// USE OR OTHER DEALINGS IN THE SOFTWARE.
5221
ab78acc6 5222module.exports = Readable;
ebd8d4e8 5223
ab78acc6
IC
5224/*<replacement>*/
5225var isArray = require('isarray');
5226/*</replacement>*/
5227
5228
5229/*<replacement>*/
5230var Buffer = require('buffer').Buffer;
5231/*</replacement>*/
5232
5233Readable.ReadableState = ReadableState;
5234
5235var EE = require('events').EventEmitter;
5236
5237/*<replacement>*/
5238if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
5239 return emitter.listeners(type).length;
ebd8d4e8 5240};
ab78acc6
IC
5241/*</replacement>*/
5242
5243var Stream = require('stream');
5244
5245/*<replacement>*/
5246var util = require('core-util-is');
5247util.inherits = require('inherits');
5248/*</replacement>*/
5249
5250var StringDecoder;
5251
5252
5253/*<replacement>*/
5254var debug = require('util');
5255if (debug && debug.debuglog) {
5256 debug = debug.debuglog('stream');
5257} else {
5258 debug = function () {};
5259}
5260/*</replacement>*/
5261
5262
5263util.inherits(Readable, Stream);
5264
5265function ReadableState(options, stream) {
5266 var Duplex = require('./_stream_duplex');
5267
5268 options = options || {};
5269
5270 // the point at which it stops calling _read() to fill the buffer
5271 // Note: 0 is a valid value, means "don't call _read preemptively ever"
5272 var hwm = options.highWaterMark;
5273 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
5274 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
5275
5276 // cast to ints.
5277 this.highWaterMark = ~~this.highWaterMark;
5278
5279 this.buffer = [];
5280 this.length = 0;
5281 this.pipes = null;
5282 this.pipesCount = 0;
5283 this.flowing = null;
5284 this.ended = false;
5285 this.endEmitted = false;
5286 this.reading = false;
ebd8d4e8 5287
ab78acc6
IC
5288 // a flag to be able to tell if the onwrite cb is called immediately,
5289 // or on a later tick. We set this to true at first, because any
5290 // actions that shouldn't happen until "later" should generally also
5291 // not happen before the first write call.
5292 this.sync = true;
ebd8d4e8 5293
ab78acc6
IC
5294 // whenever we return null, then we set a flag to say
5295 // that we're awaiting a 'readable' event emission.
5296 this.needReadable = false;
5297 this.emittedReadable = false;
5298 this.readableListening = false;
ebd8d4e8 5299
ab78acc6
IC
5300
5301 // object stream flag. Used to make read(n) ignore n and to
5302 // make all the buffer merging and length checks go away
5303 this.objectMode = !!options.objectMode;
5304
5305 if (stream instanceof Duplex)
5306 this.objectMode = this.objectMode || !!options.readableObjectMode;
5307
5308 // Crypto is kind of old and crusty. Historically, its default string
5309 // encoding is 'binary' so we have to make this configurable.
5310 // Everything else in the universe uses 'utf8', though.
5311 this.defaultEncoding = options.defaultEncoding || 'utf8';
5312
5313 // when piping, we only care about 'readable' events that happen
5314 // after read()ing all the bytes and not getting any pushback.
5315 this.ranOut = false;
5316
5317 // the number of writers that are awaiting a drain event in .pipe()s
5318 this.awaitDrain = 0;
5319
5320 // if true, a maybeReadMore has been scheduled
5321 this.readingMore = false;
5322
5323 this.decoder = null;
5324 this.encoding = null;
5325 if (options.encoding) {
5326 if (!StringDecoder)
5327 StringDecoder = require('string_decoder/').StringDecoder;
5328 this.decoder = new StringDecoder(options.encoding);
5329 this.encoding = options.encoding;
ebd8d4e8 5330 }
ab78acc6 5331}
ebd8d4e8 5332
ab78acc6
IC
5333function Readable(options) {
5334 var Duplex = require('./_stream_duplex');
5335
5336 if (!(this instanceof Readable))
5337 return new Readable(options);
5338
5339 this._readableState = new ReadableState(options, this);
5340
5341 // legacy
5342 this.readable = true;
5343
5344 Stream.call(this);
5345}
5346
5347// Manually shove something into the read() buffer.
5348// This returns true if the highWaterMark has not been hit yet,
5349// similar to how Writable.write() returns true if you should
5350// write() some more.
5351Readable.prototype.push = function(chunk, encoding) {
5352 var state = this._readableState;
5353
5354 if (util.isString(chunk) && !state.objectMode) {
5355 encoding = encoding || state.defaultEncoding;
5356 if (encoding !== state.encoding) {
5357 chunk = new Buffer(chunk, encoding);
5358 encoding = '';
ebd8d4e8 5359 }
ebd8d4e8
IC
5360 }
5361
ab78acc6 5362 return readableAddChunk(this, state, chunk, encoding, false);
ebd8d4e8
IC
5363};
5364
ab78acc6
IC
5365// Unshift should *always* be something directly out of read()
5366Readable.prototype.unshift = function(chunk) {
5367 var state = this._readableState;
5368 return readableAddChunk(this, state, chunk, '', true);
5369};
ebd8d4e8 5370
ab78acc6
IC
5371function readableAddChunk(stream, state, chunk, encoding, addToFront) {
5372 var er = chunkInvalid(state, chunk);
5373 if (er) {
5374 stream.emit('error', er);
5375 } else if (util.isNullOrUndefined(chunk)) {
5376 state.reading = false;
5377 if (!state.ended)
5378 onEofChunk(stream, state);
5379 } else if (state.objectMode || chunk && chunk.length > 0) {
5380 if (state.ended && !addToFront) {
5381 var e = new Error('stream.push() after EOF');
5382 stream.emit('error', e);
5383 } else if (state.endEmitted && addToFront) {
5384 var e = new Error('stream.unshift() after end event');
5385 stream.emit('error', e);
ebd8d4e8 5386 } else {
ab78acc6
IC
5387 if (state.decoder && !addToFront && !encoding)
5388 chunk = state.decoder.write(chunk);
5389
5390 if (!addToFront)
5391 state.reading = false;
5392
5393 // if we want the data now, just emit it.
5394 if (state.flowing && state.length === 0 && !state.sync) {
5395 stream.emit('data', chunk);
5396 stream.read(0);
5397 } else {
5398 // update the buffer info.
5399 state.length += state.objectMode ? 1 : chunk.length;
5400 if (addToFront)
5401 state.buffer.unshift(chunk);
5402 else
5403 state.buffer.push(chunk);
5404
5405 if (state.needReadable)
5406 emitReadable(stream);
5407 }
5408
5409 maybeReadMore(stream, state);
ebd8d4e8 5410 }
ab78acc6
IC
5411 } else if (!addToFront) {
5412 state.reading = false;
ebd8d4e8 5413 }
ebd8d4e8 5414
ab78acc6
IC
5415 return needMoreData(state);
5416}
ebd8d4e8 5417
ab78acc6
IC
5418
5419
5420// if it's past the high water mark, we can push in some more.
5421// Also, if we have no data yet, we can stand some
5422// more bytes. This is to work around cases where hwm=0,
5423// such as the repl. Also, if the push() triggered a
5424// readable event, and the user called read(largeNumber) such that
5425// needReadable was set, then we ought to push more, so that another
5426// 'readable' event will be triggered.
5427function needMoreData(state) {
5428 return !state.ended &&
5429 (state.needReadable ||
5430 state.length < state.highWaterMark ||
5431 state.length === 0);
5432}
5433
5434// backwards compatibility.
5435Readable.prototype.setEncoding = function(enc) {
5436 if (!StringDecoder)
5437 StringDecoder = require('string_decoder/').StringDecoder;
5438 this._readableState.decoder = new StringDecoder(enc);
5439 this._readableState.encoding = enc;
5440 return this;
5441};
5442
5443// Don't raise the hwm > 128MB
5444var MAX_HWM = 0x800000;
5445function roundUpToNextPowerOf2(n) {
5446 if (n >= MAX_HWM) {
5447 n = MAX_HWM;
5448 } else {
5449 // Get the next highest power of 2
5450 n--;
5451 for (var p = 1; p < 32; p <<= 1) n |= n >> p;
5452 n++;
ebd8d4e8 5453 }
ab78acc6 5454 return n;
ebd8d4e8 5455}
ebd8d4e8 5456
ab78acc6
IC
5457function howMuchToRead(n, state) {
5458 if (state.length === 0 && state.ended)
5459 return 0;
ebd8d4e8 5460
ab78acc6
IC
5461 if (state.objectMode)
5462 return n === 0 ? 0 : 1;
ebd8d4e8 5463
ab78acc6
IC
5464 if (isNaN(n) || util.isNull(n)) {
5465 // only flow one buffer at a time
5466 if (state.flowing && state.buffer.length)
5467 return state.buffer[0].length;
5468 else
5469 return state.length;
5470 }
ebd8d4e8 5471
ab78acc6
IC
5472 if (n <= 0)
5473 return 0;
ebd8d4e8 5474
ab78acc6
IC
5475 // If we're asking for more than the target buffer level,
5476 // then raise the water mark. Bump up to the next highest
5477 // power of 2, to prevent increasing it excessively in tiny
5478 // amounts.
5479 if (n > state.highWaterMark)
5480 state.highWaterMark = roundUpToNextPowerOf2(n);
ebd8d4e8 5481
ab78acc6
IC
5482 // don't have that much. return null, unless we've ended.
5483 if (n > state.length) {
5484 if (!state.ended) {
5485 state.needReadable = true;
5486 return 0;
5487 } else
5488 return state.length;
ebd8d4e8 5489 }
ab78acc6
IC
5490
5491 return n;
ebd8d4e8
IC
5492}
5493
ab78acc6
IC
5494// you can override either this method, or the async _read(n) below.
5495Readable.prototype.read = function(n) {
5496 debug('read', n);
5497 var state = this._readableState;
5498 var nOrig = n;
ebd8d4e8 5499
ab78acc6
IC
5500 if (!util.isNumber(n) || n > 0)
5501 state.emittedReadable = false;
5502
5503 // if we're doing read(0) to trigger a readable event, but we
5504 // already have a bunch of data in the buffer, then just trigger
5505 // the 'readable' event and move on.
5506 if (n === 0 &&
5507 state.needReadable &&
5508 (state.length >= state.highWaterMark || state.ended)) {
5509 debug('read: emitReadable', state.length, state.ended);
5510 if (state.length === 0 && state.ended)
5511 endReadable(this);
5512 else
5513 emitReadable(this);
5514 return null;
5515 }
5516
5517 n = howMuchToRead(n, state);
5518
5519 // if we've ended, and we're now clear, then finish it up.
5520 if (n === 0 && state.ended) {
5521 if (state.length === 0)
5522 endReadable(this);
5523 return null;
5524 }
5525
5526 // All the actual chunk generation logic needs to be
5527 // *below* the call to _read. The reason is that in certain
5528 // synthetic stream cases, such as passthrough streams, _read
5529 // may be a completely synchronous operation which may change
5530 // the state of the read buffer, providing enough data when
5531 // before there was *not* enough.
5532 //
5533 // So, the steps are:
5534 // 1. Figure out what the state of things will be after we do
5535 // a read from the buffer.
5536 //
5537 // 2. If that resulting state will trigger a _read, then call _read.
5538 // Note that this may be asynchronous, or synchronous. Yes, it is
5539 // deeply ugly to write APIs this way, but that still doesn't mean
5540 // that the Readable class should behave improperly, as streams are
5541 // designed to be sync/async agnostic.
5542 // Take note if the _read call is sync or async (ie, if the read call
5543 // has returned yet), so that we know whether or not it's safe to emit
5544 // 'readable' etc.
5545 //
5546 // 3. Actually pull the requested chunks out of the buffer and return.
5547
5548 // if we need a readable event, then we need to do some reading.
5549 var doRead = state.needReadable;
5550 debug('need readable', doRead);
5551
5552 // if we currently have less than the highWaterMark, then also read some
5553 if (state.length === 0 || state.length - n < state.highWaterMark) {
5554 doRead = true;
5555 debug('length less than watermark', doRead);
5556 }
5557
5558 // however, if we've ended, then there's no point, and if we're already
5559 // reading, then it's unnecessary.
5560 if (state.ended || state.reading) {
5561 doRead = false;
5562 debug('reading or ended', doRead);
5563 }
5564
5565 if (doRead) {
5566 debug('do read');
5567 state.reading = true;
5568 state.sync = true;
5569 // if the length is currently zero, then we *need* a readable event.
5570 if (state.length === 0)
5571 state.needReadable = true;
5572 // call internal read method
5573 this._read(state.highWaterMark);
5574 state.sync = false;
5575 }
5576
5577 // If _read pushed data synchronously, then `reading` will be false,
5578 // and we need to re-evaluate how much data we can return to the user.
5579 if (doRead && !state.reading)
5580 n = howMuchToRead(nOrig, state);
5581
5582 var ret;
5583 if (n > 0)
5584 ret = fromList(n, state);
5585 else
5586 ret = null;
ebd8d4e8 5587
ab78acc6
IC
5588 if (util.isNull(ret)) {
5589 state.needReadable = true;
5590 n = 0;
5591 }
ebd8d4e8 5592
ab78acc6 5593 state.length -= n;
ebd8d4e8 5594
ab78acc6
IC
5595 // If we have nothing in the buffer, then we want to know
5596 // as soon as we *do* get something into the buffer.
5597 if (state.length === 0 && !state.ended)
5598 state.needReadable = true;
ebd8d4e8 5599
ab78acc6
IC
5600 // If we tried to read() past the EOF, then emit end on the next tick.
5601 if (nOrig !== n && state.ended && state.length === 0)
5602 endReadable(this);
5603
5604 if (!util.isNull(ret))
5605 this.emit('data', ret);
5606
5607 return ret;
5608};
5609
5610function chunkInvalid(state, chunk) {
5611 var er = null;
5612 if (!util.isBuffer(chunk) &&
5613 !util.isString(chunk) &&
5614 !util.isNullOrUndefined(chunk) &&
5615 !state.objectMode) {
5616 er = new TypeError('Invalid non-string/buffer chunk');
5617 }
5618 return er;
ebd8d4e8
IC
5619}
5620
5621
ab78acc6
IC
5622function onEofChunk(stream, state) {
5623 if (state.decoder && !state.ended) {
5624 var chunk = state.decoder.end();
5625 if (chunk && chunk.length) {
5626 state.buffer.push(chunk);
5627 state.length += state.objectMode ? 1 : chunk.length;
ebd8d4e8 5628 }
ebd8d4e8 5629 }
ab78acc6 5630 state.ended = true;
ebd8d4e8 5631
ab78acc6
IC
5632 // emit 'readable' now to make sure it gets picked up.
5633 emitReadable(stream);
5634}
5635
5636// Don't emit readable right away in sync mode, because this can trigger
5637// another read() call => stack overflow. This way, it might trigger
5638// a nextTick recursion warning, but that's not so bad.
5639function emitReadable(stream) {
5640 var state = stream._readableState;
5641 state.needReadable = false;
5642 if (!state.emittedReadable) {
5643 debug('emitReadable', state.flowing);
5644 state.emittedReadable = true;
5645 if (state.sync)
5646 process.nextTick(function() {
5647 emitReadable_(stream);
5648 });
5649 else
5650 emitReadable_(stream);
ebd8d4e8 5651 }
ab78acc6 5652}
ebd8d4e8 5653
ab78acc6
IC
5654function emitReadable_(stream) {
5655 debug('emit readable');
5656 stream.emit('readable');
5657 flow(stream);
5658}
ebd8d4e8 5659
ab78acc6
IC
5660
5661// at this point, the user has presumably seen the 'readable' event,
5662// and called read() to consume some data. that may have triggered
5663// in turn another _read(n) call, in which case reading = true if
5664// it's in progress.
5665// However, if we're not ended, or reading, and the length < hwm,
5666// then go ahead and try to read some more preemptively.
5667function maybeReadMore(stream, state) {
5668 if (!state.readingMore) {
5669 state.readingMore = true;
5670 process.nextTick(function() {
5671 maybeReadMore_(stream, state);
5672 });
ebd8d4e8 5673 }
ab78acc6 5674}
ebd8d4e8 5675
ab78acc6
IC
5676function maybeReadMore_(stream, state) {
5677 var len = state.length;
5678 while (!state.reading && !state.flowing && !state.ended &&
5679 state.length < state.highWaterMark) {
5680 debug('maybeReadMore read 0');
5681 stream.read(0);
5682 if (len === state.length)
5683 // didn't get any data, stop spinning.
5684 break;
5685 else
5686 len = state.length;
ebd8d4e8 5687 }
ab78acc6
IC
5688 state.readingMore = false;
5689}
ebd8d4e8 5690
ab78acc6
IC
5691// abstract method. to be overridden in specific implementation classes.
5692// call cb(er, data) where data is <= n in length.
5693// for virtual (non-string, non-buffer) streams, "length" is somewhat
5694// arbitrary, and perhaps not very meaningful.
5695Readable.prototype._read = function(n) {
5696 this.emit('error', new Error('not implemented'));
5697};
5698
5699Readable.prototype.pipe = function(dest, pipeOpts) {
5700 var src = this;
5701 var state = this._readableState;
5702
5703 switch (state.pipesCount) {
5704 case 0:
5705 state.pipes = dest;
5706 break;
5707 case 1:
5708 state.pipes = [state.pipes, dest];
5709 break;
5710 default:
5711 state.pipes.push(dest);
5712 break;
ebd8d4e8 5713 }
ab78acc6
IC
5714 state.pipesCount += 1;
5715 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
ebd8d4e8 5716
ab78acc6
IC
5717 var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
5718 dest !== process.stdout &&
5719 dest !== process.stderr;
ebd8d4e8 5720
ab78acc6
IC
5721 var endFn = doEnd ? onend : cleanup;
5722 if (state.endEmitted)
5723 process.nextTick(endFn);
5724 else
5725 src.once('end', endFn);
5726
5727 dest.on('unpipe', onunpipe);
5728 function onunpipe(readable) {
5729 debug('onunpipe');
5730 if (readable === src) {
5731 cleanup();
5732 }
5733 }
5734
5735 function onend() {
5736 debug('onend');
5737 dest.end();
5738 }
5739
5740 // when the dest drains, it reduces the awaitDrain counter
5741 // on the source. This would be more elegant with a .once()
5742 // handler in flow(), but adding and removing repeatedly is
5743 // too slow.
5744 var ondrain = pipeOnDrain(src);
5745 dest.on('drain', ondrain);
5746
5747 function cleanup() {
5748 debug('cleanup');
5749 // cleanup event handlers once the pipe is broken
5750 dest.removeListener('close', onclose);
5751 dest.removeListener('finish', onfinish);
5752 dest.removeListener('drain', ondrain);
5753 dest.removeListener('error', onerror);
5754 dest.removeListener('unpipe', onunpipe);
5755 src.removeListener('end', onend);
5756 src.removeListener('end', cleanup);
5757 src.removeListener('data', ondata);
5758
5759 // if the reader is waiting for a drain event from this
5760 // specific writer, then it would cause it to never start
5761 // flowing again.
5762 // So, if this is awaiting a drain, then we just call it now.
5763 // If we don't know, then assume that we are waiting for one.
5764 if (state.awaitDrain &&
5765 (!dest._writableState || dest._writableState.needDrain))
5766 ondrain();
5767 }
5768
5769 src.on('data', ondata);
5770 function ondata(chunk) {
5771 debug('ondata');
5772 var ret = dest.write(chunk);
5773 if (false === ret) {
5774 debug('false write response, pause',
5775 src._readableState.awaitDrain);
5776 src._readableState.awaitDrain++;
5777 src.pause();
5778 }
5779 }
5780
5781 // if the dest has an error, then stop piping into it.
5782 // however, don't suppress the throwing behavior for this.
5783 function onerror(er) {
5784 debug('onerror', er);
5785 unpipe();
5786 dest.removeListener('error', onerror);
5787 if (EE.listenerCount(dest, 'error') === 0)
5788 dest.emit('error', er);
5789 }
5790 // This is a brutally ugly hack to make sure that our error handler
5791 // is attached before any userland ones. NEVER DO THIS.
5792 if (!dest._events || !dest._events.error)
5793 dest.on('error', onerror);
5794 else if (isArray(dest._events.error))
5795 dest._events.error.unshift(onerror);
5796 else
5797 dest._events.error = [onerror, dest._events.error];
5798
5799
5800
5801 // Both close and finish should trigger unpipe, but only once.
5802 function onclose() {
5803 dest.removeListener('finish', onfinish);
5804 unpipe();
ebd8d4e8 5805 }
ab78acc6
IC
5806 dest.once('close', onclose);
5807 function onfinish() {
5808 debug('onfinish');
5809 dest.removeListener('close', onclose);
5810 unpipe();
5811 }
5812 dest.once('finish', onfinish);
ebd8d4e8 5813
ab78acc6
IC
5814 function unpipe() {
5815 debug('unpipe');
5816 src.unpipe(dest);
ebd8d4e8
IC
5817 }
5818
ab78acc6
IC
5819 // tell the dest that it's being piped to
5820 dest.emit('pipe', src);
5821
5822 // start the flow if it hasn't been started already.
5823 if (!state.flowing) {
5824 debug('pipe resume');
5825 src.resume();
ebd8d4e8
IC
5826 }
5827
ab78acc6
IC
5828 return dest;
5829};
5830
5831function pipeOnDrain(src) {
5832 return function() {
5833 var state = src._readableState;
5834 debug('pipeOnDrain', state.awaitDrain);
5835 if (state.awaitDrain)
5836 state.awaitDrain--;
5837 if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
5838 state.flowing = true;
5839 flow(src);
5840 }
5841 };
5842}
5843
5844
5845Readable.prototype.unpipe = function(dest) {
5846 var state = this._readableState;
5847
5848 // if we're not piping anywhere, then do nothing.
5849 if (state.pipesCount === 0)
5850 return this;
5851
5852 // just one destination. most common case.
5853 if (state.pipesCount === 1) {
5854 // passed in one, but it's not the right one.
5855 if (dest && dest !== state.pipes)
5856 return this;
5857
5858 if (!dest)
5859 dest = state.pipes;
5860
5861 // got a match.
5862 state.pipes = null;
5863 state.pipesCount = 0;
5864 state.flowing = false;
5865 if (dest)
5866 dest.emit('unpipe', this);
5867 return this;
ebd8d4e8
IC
5868 }
5869
ab78acc6
IC
5870 // slow case. multiple pipe destinations.
5871
5872 if (!dest) {
5873 // remove all.
5874 var dests = state.pipes;
5875 var len = state.pipesCount;
5876 state.pipes = null;
5877 state.pipesCount = 0;
5878 state.flowing = false;
5879
5880 for (var i = 0; i < len; i++)
5881 dests[i].emit('unpipe', this);
5882 return this;
ebd8d4e8
IC
5883 }
5884
ab78acc6
IC
5885 // try to find the right one.
5886 var i = indexOf(state.pipes, dest);
5887 if (i === -1)
5888 return this;
5889
5890 state.pipes.splice(i, 1);
5891 state.pipesCount -= 1;
5892 if (state.pipesCount === 1)
5893 state.pipes = state.pipes[0];
5894
5895 dest.emit('unpipe', this);
ebd8d4e8 5896
ab78acc6
IC
5897 return this;
5898};
5899
5900// set up data events if they are asked for
5901// Ensure readable listeners eventually get something
5902Readable.prototype.on = function(ev, fn) {
5903 var res = Stream.prototype.on.call(this, ev, fn);
5904
5905 // If listening to data, and it has not explicitly been paused,
5906 // then call resume to start the flow of data on the next tick.
5907 if (ev === 'data' && false !== this._readableState.flowing) {
5908 this.resume();
5909 }
5910
5911 if (ev === 'readable' && this.readable) {
5912 var state = this._readableState;
5913 if (!state.readableListening) {
5914 state.readableListening = true;
5915 state.emittedReadable = false;
5916 state.needReadable = true;
5917 if (!state.reading) {
5918 var self = this;
5919 process.nextTick(function() {
5920 debug('readable nexttick read 0');
5921 self.read(0);
5922 });
5923 } else if (state.length) {
5924 emitReadable(this, state);
5925 }
ebd8d4e8
IC
5926 }
5927 }
5928
ab78acc6
IC
5929 return res;
5930};
5931Readable.prototype.addListener = Readable.prototype.on;
5932
5933// pause() and resume() are remnants of the legacy readable stream API
5934// If the user uses them, then switch into old mode.
5935Readable.prototype.resume = function() {
5936 var state = this._readableState;
5937 if (!state.flowing) {
5938 debug('resume');
5939 state.flowing = true;
5940 if (!state.reading) {
5941 debug('resume read 0');
5942 this.read(0);
5943 }
5944 resume(this, state);
5945 }
5946 return this;
5947};
ebd8d4e8 5948
ab78acc6
IC
5949function resume(stream, state) {
5950 if (!state.resumeScheduled) {
5951 state.resumeScheduled = true;
5952 process.nextTick(function() {
5953 resume_(stream, state);
ebd8d4e8
IC
5954 });
5955 }
ebd8d4e8
IC
5956}
5957
ab78acc6
IC
5958function resume_(stream, state) {
5959 state.resumeScheduled = false;
5960 stream.emit('resume');
5961 flow(stream);
5962 if (state.flowing && !state.reading)
5963 stream.read(0);
ebd8d4e8
IC
5964}
5965
ab78acc6
IC
5966Readable.prototype.pause = function() {
5967 debug('call pause flowing=%j', this._readableState.flowing);
5968 if (false !== this._readableState.flowing) {
5969 debug('pause');
5970 this._readableState.flowing = false;
5971 this.emit('pause');
5972 }
5973 return this;
5974};
ebd8d4e8 5975
ab78acc6
IC
5976function flow(stream) {
5977 var state = stream._readableState;
5978 debug('flow', state.flowing);
5979 if (state.flowing) {
5980 do {
5981 var chunk = stream.read();
5982 } while (null !== chunk && state.flowing);
5983 }
ebd8d4e8
IC
5984}
5985
ab78acc6
IC
5986// wrap an old-style stream as the async data source.
5987// This is *not* part of the readable stream interface.
5988// It is an ugly unfortunate mess of history.
5989Readable.prototype.wrap = function(stream) {
5990 var state = this._readableState;
5991 var paused = false;
ebd8d4e8 5992
ab78acc6
IC
5993 var self = this;
5994 stream.on('end', function() {
5995 debug('wrapped end');
5996 if (state.decoder && !state.ended) {
5997 var chunk = state.decoder.end();
5998 if (chunk && chunk.length)
5999 self.push(chunk);
ebd8d4e8 6000 }
ab78acc6
IC
6001
6002 self.push(null);
ebd8d4e8 6003 });
ebd8d4e8 6004
ab78acc6
IC
6005 stream.on('data', function(chunk) {
6006 debug('wrapped data');
6007 if (state.decoder)
6008 chunk = state.decoder.write(chunk);
6009 if (!chunk || !state.objectMode && !chunk.length)
6010 return;
ebd8d4e8 6011
ab78acc6
IC
6012 var ret = self.push(chunk);
6013 if (!ret) {
6014 paused = true;
6015 stream.pause();
ebd8d4e8 6016 }
ab78acc6
IC
6017 });
6018
6019 // proxy all the other methods.
6020 // important when wrapping filters and duplexes.
6021 for (var i in stream) {
6022 if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
6023 this[i] = function(method) { return function() {
6024 return stream[method].apply(stream, arguments);
6025 }}(i);
ebd8d4e8
IC
6026 }
6027 }
ab78acc6
IC
6028
6029 // proxy certain important events.
6030 var events = ['error', 'close', 'destroy', 'pause', 'resume'];
6031 forEach(events, function(ev) {
6032 stream.on(ev, self.emit.bind(self, ev));
6033 });
6034
6035 // when we try to consume some more bytes, simply unpause the
6036 // underlying stream.
6037 self._read = function(n) {
6038 debug('wrapped _read', n);
6039 if (paused) {
6040 paused = false;
6041 stream.resume();
ebd8d4e8 6042 }
ab78acc6
IC
6043 };
6044
6045 return self;
6046};
6047
6048
6049
6050// exposed for testing purposes only.
6051Readable._fromList = fromList;
6052
6053// Pluck off n bytes from an array of buffers.
6054// Length is the combined lengths of all the buffers in the list.
6055function fromList(n, state) {
6056 var list = state.buffer;
6057 var length = state.length;
6058 var stringMode = !!state.decoder;
6059 var objectMode = !!state.objectMode;
6060 var ret;
6061
6062 // nothing in the list, definitely empty.
6063 if (list.length === 0)
6064 return null;
6065
6066 if (length === 0)
6067 ret = null;
6068 else if (objectMode)
6069 ret = list.shift();
6070 else if (!n || n >= length) {
6071 // read it all, truncate the array.
6072 if (stringMode)
6073 ret = list.join('');
6074 else
6075 ret = Buffer.concat(list, length);
6076 list.length = 0;
6077 } else {
6078 // read just some of it.
6079 if (n < list[0].length) {
6080 // just take a part of the first list item.
6081 // slice is the same for buffers and strings.
6082 var buf = list[0];
6083 ret = buf.slice(0, n);
6084 list[0] = buf.slice(n);
6085 } else if (n === list[0].length) {
6086 // first list is a perfect match
6087 ret = list.shift();
ebd8d4e8 6088 } else {
ab78acc6
IC
6089 // complex case.
6090 // we have enough to cover it, but it spans past the first buffer.
6091 if (stringMode)
6092 ret = '';
6093 else
6094 ret = new Buffer(n);
ebd8d4e8 6095
ab78acc6
IC
6096 var c = 0;
6097 for (var i = 0, l = list.length; i < l && c < n; i++) {
6098 var buf = list[0];
6099 var cpy = Math.min(n - c, buf.length);
ebd8d4e8 6100
ab78acc6
IC
6101 if (stringMode)
6102 ret += buf.slice(0, cpy);
6103 else
6104 buf.copy(ret, c, 0, cpy);
ebd8d4e8 6105
ab78acc6
IC
6106 if (cpy < buf.length)
6107 list[0] = buf.slice(cpy);
6108 else
6109 list.shift();
ebd8d4e8 6110
ab78acc6
IC
6111 c += cpy;
6112 }
6113 }
ebd8d4e8
IC
6114 }
6115
ab78acc6 6116 return ret;
ebd8d4e8
IC
6117}
6118
ab78acc6
IC
6119function endReadable(stream) {
6120 var state = stream._readableState;
ebd8d4e8 6121
ab78acc6
IC
6122 // If we get here before consuming all the bytes, then that is a
6123 // bug in node. Should never happen.
6124 if (state.length > 0)
6125 throw new Error('endReadable called on non-empty stream');
ebd8d4e8 6126
ab78acc6
IC
6127 if (!state.endEmitted) {
6128 state.ended = true;
6129 process.nextTick(function() {
6130 // Check that we didn't get one last unshift.
6131 if (!state.endEmitted && state.length === 0) {
6132 state.endEmitted = true;
6133 stream.readable = false;
6134 stream.emit('end');
6135 }
6136 });
6137 }
ebd8d4e8 6138}
ebd8d4e8 6139
ab78acc6
IC
6140function forEach (xs, f) {
6141 for (var i = 0, l = xs.length; i < l; i++) {
6142 f(xs[i], i);
6143 }
ebd8d4e8 6144}
ebd8d4e8 6145
ab78acc6
IC
6146function indexOf (xs, x) {
6147 for (var i = 0, l = xs.length; i < l; i++) {
6148 if (xs[i] === x) return i;
6149 }
6150 return -1;
ebd8d4e8 6151}
ebd8d4e8 6152
ab78acc6
IC
6153}).call(this,require('_process'))
6154},{"./_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){
6155// Copyright Joyent, Inc. and other Node contributors.
6156//
6157// Permission is hereby granted, free of charge, to any person obtaining a
6158// copy of this software and associated documentation files (the
6159// "Software"), to deal in the Software without restriction, including
6160// without limitation the rights to use, copy, modify, merge, publish,
6161// distribute, sublicense, and/or sell copies of the Software, and to permit
6162// persons to whom the Software is furnished to do so, subject to the
6163// following conditions:
6164//
6165// The above copyright notice and this permission notice shall be included
6166// in all copies or substantial portions of the Software.
6167//
6168// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6169// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6170// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6171// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6172// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6173// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6174// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6175
ebd8d4e8 6176
ab78acc6
IC
6177// a transform stream is a readable/writable stream where you do
6178// something with the data. Sometimes it's called a "filter",
6179// but that's not a great name for it, since that implies a thing where
6180// some bits pass through, and others are simply ignored. (That would
6181// be a valid example of a transform, of course.)
6182//
6183// While the output is causally related to the input, it's not a
6184// necessarily symmetric or synchronous transformation. For example,
6185// a zlib stream might take multiple plain-text writes(), and then
6186// emit a single compressed chunk some time in the future.
6187//
6188// Here's how this works:
6189//
6190// The Transform stream has all the aspects of the readable and writable
6191// stream classes. When you write(chunk), that calls _write(chunk,cb)
6192// internally, and returns false if there's a lot of pending writes
6193// buffered up. When you call read(), that calls _read(n) until
6194// there's enough pending readable data buffered up.
6195//
6196// In a transform stream, the written data is placed in a buffer. When
6197// _read(n) is called, it transforms the queued up data, calling the
6198// buffered _write cb's as it consumes chunks. If consuming a single
6199// written chunk would result in multiple output chunks, then the first
6200// outputted bit calls the readcb, and subsequent chunks just go into
6201// the read buffer, and will cause it to emit 'readable' if necessary.
6202//
6203// This way, back-pressure is actually determined by the reading side,
6204// since _read has to be called to start processing a new chunk. However,
6205// a pathological inflate type of transform can cause excessive buffering
6206// here. For example, imagine a stream where every byte of input is
6207// interpreted as an integer from 0-255, and then results in that many
6208// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
6209// 1kb of data being output. In this case, you could write a very small
6210// amount of input, and end up with a very large amount of output. In
6211// such a pathological inflating mechanism, there'd be no way to tell
6212// the system to stop doing the transform. A single 4MB write could
6213// cause the system to run out of memory.
6214//
6215// However, even in such a pathological case, only a single written chunk
6216// would be consumed, and then the rest would wait (un-transformed) until
6217// the results of the previous transformed chunk were consumed.
ebd8d4e8 6218
ab78acc6 6219module.exports = Transform;
ebd8d4e8 6220
ab78acc6 6221var Duplex = require('./_stream_duplex');
ebd8d4e8 6222
ab78acc6
IC
6223/*<replacement>*/
6224var util = require('core-util-is');
6225util.inherits = require('inherits');
6226/*</replacement>*/
6227
6228util.inherits(Transform, Duplex);
6229
6230
6231function TransformState(options, stream) {
6232 this.afterTransform = function(er, data) {
6233 return afterTransform(stream, er, data);
6234 };
6235
6236 this.needTransform = false;
6237 this.transforming = false;
6238 this.writecb = null;
6239 this.writechunk = null;
ebd8d4e8 6240}
ebd8d4e8 6241
ab78acc6
IC
6242function afterTransform(stream, er, data) {
6243 var ts = stream._transformState;
6244 ts.transforming = false;
6245
6246 var cb = ts.writecb;
6247
6248 if (!cb)
6249 return stream.emit('error', new Error('no writecb in Transform class'));
6250
6251 ts.writechunk = null;
6252 ts.writecb = null;
6253
6254 if (!util.isNullOrUndefined(data))
6255 stream.push(data);
6256
6257 if (cb)
6258 cb(er);
6259
6260 var rs = stream._readableState;
6261 rs.reading = false;
6262 if (rs.needReadable || rs.length < rs.highWaterMark) {
6263 stream._read(rs.highWaterMark);
6264 }
ebd8d4e8 6265}
ebd8d4e8 6266
ab78acc6
IC
6267
6268function Transform(options) {
6269 if (!(this instanceof Transform))
6270 return new Transform(options);
6271
6272 Duplex.call(this, options);
6273
6274 this._transformState = new TransformState(options, this);
6275
6276 // when the writable side finishes, then flush out anything remaining.
6277 var stream = this;
6278
6279 // start out asking for a readable event once data is transformed.
6280 this._readableState.needReadable = true;
6281
6282 // we have implemented the _read method, and done the other things
6283 // that Readable wants before the first _read call, so unset the
6284 // sync guard flag.
6285 this._readableState.sync = false;
6286
6287 this.once('prefinish', function() {
6288 if (util.isFunction(this._flush))
6289 this._flush(function(er) {
6290 done(stream, er);
6291 });
6292 else
6293 done(stream);
6294 });
ebd8d4e8 6295}
ebd8d4e8 6296
ab78acc6
IC
6297Transform.prototype.push = function(chunk, encoding) {
6298 this._transformState.needTransform = false;
6299 return Duplex.prototype.push.call(this, chunk, encoding);
6300};
6301
6302// This is the part where you do stuff!
6303// override this function in implementation classes.
6304// 'chunk' is an input chunk.
6305//
6306// Call `push(newChunk)` to pass along transformed output
6307// to the readable side. You may call 'push' zero or more times.
6308//
6309// Call `cb(err)` when you are done with this chunk. If you pass
6310// an error, then that'll put the hurt on the whole operation. If you
6311// never call cb(), then you'll never get another chunk.
6312Transform.prototype._transform = function(chunk, encoding, cb) {
6313 throw new Error('not implemented');
6314};
6315
6316Transform.prototype._write = function(chunk, encoding, cb) {
6317 var ts = this._transformState;
6318 ts.writecb = cb;
6319 ts.writechunk = chunk;
6320 ts.writeencoding = encoding;
6321 if (!ts.transforming) {
6322 var rs = this._readableState;
6323 if (ts.needTransform ||
6324 rs.needReadable ||
6325 rs.length < rs.highWaterMark)
6326 this._read(rs.highWaterMark);
6327 }
6328};
6329
6330// Doesn't matter what the args are here.
6331// _transform does all the work.
6332// That we got here means that the readable side wants more data.
6333Transform.prototype._read = function(n) {
6334 var ts = this._transformState;
ebd8d4e8 6335
ab78acc6
IC
6336 if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
6337 ts.transforming = true;
6338 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
6339 } else {
6340 // mark that we need a transform, so that any data that comes in
6341 // will get processed, now that we've asked for it.
6342 ts.needTransform = true;
6343 }
6344};
ebd8d4e8 6345
ebd8d4e8 6346
ab78acc6
IC
6347function done(stream, er) {
6348 if (er)
6349 return stream.emit('error', er);
ebd8d4e8 6350
ab78acc6
IC
6351 // if there's nothing in the write buffer, then that means
6352 // that nothing more will ever be provided
6353 var ws = stream._writableState;
6354 var ts = stream._transformState;
ebd8d4e8 6355
ab78acc6
IC
6356 if (ws.length)
6357 throw new Error('calling transform done when ws.length != 0');
6358
6359 if (ts.transforming)
6360 throw new Error('calling transform done when still transforming');
6361
6362 return stream.push(null);
ebd8d4e8
IC
6363}
6364
ab78acc6
IC
6365},{"./_stream_duplex":16,"core-util-is":21,"inherits":12}],20:[function(require,module,exports){
6366(function (process){
6367// Copyright Joyent, Inc. and other Node contributors.
6368//
6369// Permission is hereby granted, free of charge, to any person obtaining a
6370// copy of this software and associated documentation files (the
6371// "Software"), to deal in the Software without restriction, including
6372// without limitation the rights to use, copy, modify, merge, publish,
6373// distribute, sublicense, and/or sell copies of the Software, and to permit
6374// persons to whom the Software is furnished to do so, subject to the
6375// following conditions:
6376//
6377// The above copyright notice and this permission notice shall be included
6378// in all copies or substantial portions of the Software.
6379//
6380// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6381// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6382// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6383// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6384// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6385// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6386// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6387
ab78acc6
IC
6388// A bit simpler than readable streams.
6389// Implement an async ._write(chunk, cb), and it'll handle all
6390// the drain event emission and buffering.
ebd8d4e8 6391
ab78acc6 6392module.exports = Writable;
ebd8d4e8 6393
ab78acc6
IC
6394/*<replacement>*/
6395var Buffer = require('buffer').Buffer;
6396/*</replacement>*/
ebd8d4e8 6397
ab78acc6 6398Writable.WritableState = WritableState;
ebd8d4e8
IC
6399
6400
ab78acc6
IC
6401/*<replacement>*/
6402var util = require('core-util-is');
6403util.inherits = require('inherits');
6404/*</replacement>*/
ebd8d4e8 6405
ab78acc6 6406var Stream = require('stream');
ebd8d4e8 6407
ab78acc6 6408util.inherits(Writable, Stream);
ebd8d4e8 6409
ab78acc6
IC
6410function WriteReq(chunk, encoding, cb) {
6411 this.chunk = chunk;
6412 this.encoding = encoding;
6413 this.callback = cb;
ebd8d4e8
IC
6414}
6415
ab78acc6
IC
6416function WritableState(options, stream) {
6417 var Duplex = require('./_stream_duplex');
ebd8d4e8 6418
ab78acc6 6419 options = options || {};
ebd8d4e8 6420
ab78acc6
IC
6421 // the point at which write() starts returning false
6422 // Note: 0 is a valid value, means that we always return false if
6423 // the entire buffer is not flushed immediately on write()
6424 var hwm = options.highWaterMark;
6425 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
6426 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
ebd8d4e8 6427
ab78acc6
IC
6428 // object stream flag to indicate whether or not this stream
6429 // contains buffers or objects.
6430 this.objectMode = !!options.objectMode;
ebd8d4e8 6431
ab78acc6
IC
6432 if (stream instanceof Duplex)
6433 this.objectMode = this.objectMode || !!options.writableObjectMode;
ebd8d4e8 6434
ab78acc6
IC
6435 // cast to ints.
6436 this.highWaterMark = ~~this.highWaterMark;
ebd8d4e8 6437
ab78acc6
IC
6438 this.needDrain = false;
6439 // at the start of calling end()
6440 this.ending = false;
6441 // when end() has been called, and returned
6442 this.ended = false;
6443 // when 'finish' is emitted
6444 this.finished = false;
ebd8d4e8 6445
ab78acc6
IC
6446 // should we decode strings into buffers before passing to _write?
6447 // this is here so that some node-core streams can optimize string
6448 // handling at a lower level.
6449 var noDecode = options.decodeStrings === false;
6450 this.decodeStrings = !noDecode;
ebd8d4e8 6451
ab78acc6
IC
6452 // Crypto is kind of old and crusty. Historically, its default string
6453 // encoding is 'binary' so we have to make this configurable.
6454 // Everything else in the universe uses 'utf8', though.
6455 this.defaultEncoding = options.defaultEncoding || 'utf8';
ebd8d4e8 6456
ab78acc6
IC
6457 // not an actual buffer we keep track of, but a measurement
6458 // of how much we're waiting to get pushed to some underlying
6459 // socket or file.
6460 this.length = 0;
ebd8d4e8 6461
ab78acc6
IC
6462 // a flag to see when we're in the middle of a write.
6463 this.writing = false;
ebd8d4e8 6464
ab78acc6
IC
6465 // when true all writes will be buffered until .uncork() call
6466 this.corked = 0;
ebd8d4e8 6467
ab78acc6
IC
6468 // a flag to be able to tell if the onwrite cb is called immediately,
6469 // or on a later tick. We set this to true at first, because any
6470 // actions that shouldn't happen until "later" should generally also
6471 // not happen before the first write call.
6472 this.sync = true;
ebd8d4e8 6473
ab78acc6
IC
6474 // a flag to know if we're processing previously buffered items, which
6475 // may call the _write() callback in the same tick, so that we don't
6476 // end up in an overlapped onwrite situation.
6477 this.bufferProcessing = false;
ebd8d4e8 6478
ab78acc6
IC
6479 // the callback that's passed to _write(chunk,cb)
6480 this.onwrite = function(er) {
6481 onwrite(stream, er);
6482 };
ebd8d4e8 6483
ab78acc6
IC
6484 // the callback that the user supplies to write(chunk,encoding,cb)
6485 this.writecb = null;
ebd8d4e8 6486
ab78acc6
IC
6487 // the amount that is being written when _write is called.
6488 this.writelen = 0;
ebd8d4e8 6489
ab78acc6 6490 this.buffer = [];
ebd8d4e8 6491
ab78acc6
IC
6492 // number of pending user-supplied write callbacks
6493 // this must be 0 before 'finish' can be emitted
6494 this.pendingcb = 0;
ebd8d4e8 6495
ab78acc6
IC
6496 // emit prefinish if the only thing we're waiting for is _write cbs
6497 // This is relevant for synchronous Transform streams
6498 this.prefinished = false;
ebd8d4e8 6499
ab78acc6
IC
6500 // True if the error was already emitted and should not be thrown again
6501 this.errorEmitted = false;
ebd8d4e8
IC
6502}
6503
ab78acc6
IC
6504function Writable(options) {
6505 var Duplex = require('./_stream_duplex');
ebd8d4e8 6506
ab78acc6
IC
6507 // Writable ctor is applied to Duplexes, though they're not
6508 // instanceof Writable, they're instanceof Readable.
6509 if (!(this instanceof Writable) && !(this instanceof Duplex))
6510 return new Writable(options);
ebd8d4e8 6511
ab78acc6 6512 this._writableState = new WritableState(options, this);
ebd8d4e8 6513
ab78acc6
IC
6514 // legacy.
6515 this.writable = true;
ebd8d4e8 6516
ab78acc6 6517 Stream.call(this);
ebd8d4e8
IC
6518}
6519
ab78acc6
IC
6520// Otherwise people can pipe Writable streams, which is just wrong.
6521Writable.prototype.pipe = function() {
6522 this.emit('error', new Error('Cannot pipe. Not readable.'));
6523};
ebd8d4e8 6524
ebd8d4e8 6525
ab78acc6
IC
6526function writeAfterEnd(stream, state, cb) {
6527 var er = new Error('write after end');
6528 // TODO: defer error events consistently everywhere, not just the cb
6529 stream.emit('error', er);
6530 process.nextTick(function() {
6531 cb(er);
6532 });
ebd8d4e8
IC
6533}
6534
ab78acc6
IC
6535// If we get something that is not a buffer, string, null, or undefined,
6536// and we're not in objectMode, then that's an error.
6537// Otherwise stream chunks are all considered to be of length=1, and the
6538// watermarks determine how many objects to keep in the buffer, rather than
6539// how many bytes or characters.
6540function validChunk(stream, state, chunk, cb) {
6541 var valid = true;
6542 if (!util.isBuffer(chunk) &&
6543 !util.isString(chunk) &&
6544 !util.isNullOrUndefined(chunk) &&
6545 !state.objectMode) {
6546 var er = new TypeError('Invalid non-string/buffer chunk');
6547 stream.emit('error', er);
6548 process.nextTick(function() {
6549 cb(er);
6550 });
6551 valid = false;
6552 }
6553 return valid;
ebd8d4e8
IC
6554}
6555
ab78acc6
IC
6556Writable.prototype.write = function(chunk, encoding, cb) {
6557 var state = this._writableState;
6558 var ret = false;
ebd8d4e8 6559
ab78acc6
IC
6560 if (util.isFunction(encoding)) {
6561 cb = encoding;
6562 encoding = null;
ebd8d4e8 6563 }
ebd8d4e8 6564
ab78acc6
IC
6565 if (util.isBuffer(chunk))
6566 encoding = 'buffer';
6567 else if (!encoding)
6568 encoding = state.defaultEncoding;
6569
6570 if (!util.isFunction(cb))
6571 cb = function() {};
6572
6573 if (state.ended)
6574 writeAfterEnd(this, state, cb);
6575 else if (validChunk(this, state, chunk, cb)) {
6576 state.pendingcb++;
6577 ret = writeOrBuffer(this, state, chunk, encoding, cb);
ebd8d4e8 6578 }
ebd8d4e8 6579
ab78acc6
IC
6580 return ret;
6581};
6582
6583Writable.prototype.cork = function() {
6584 var state = this._writableState;
6585
6586 state.corked++;
6587};
ebd8d4e8 6588
ab78acc6
IC
6589Writable.prototype.uncork = function() {
6590 var state = this._writableState;
ebd8d4e8 6591
ab78acc6
IC
6592 if (state.corked) {
6593 state.corked--;
ebd8d4e8 6594
ab78acc6
IC
6595 if (!state.writing &&
6596 !state.corked &&
6597 !state.finished &&
6598 !state.bufferProcessing &&
6599 state.buffer.length)
6600 clearBuffer(this, state);
ebd8d4e8 6601 }
ab78acc6 6602};
ebd8d4e8 6603
ab78acc6
IC
6604function decodeChunk(state, chunk, encoding) {
6605 if (!state.objectMode &&
6606 state.decodeStrings !== false &&
6607 util.isString(chunk)) {
6608 chunk = new Buffer(chunk, encoding);
ebd8d4e8 6609 }
ab78acc6 6610 return chunk;
ebd8d4e8
IC
6611}
6612
ab78acc6
IC
6613// if we're already writing something, then just put this
6614// in the queue, and wait our turn. Otherwise, call _write
6615// If we return false, then we need a drain event, so set that flag.
6616function writeOrBuffer(stream, state, chunk, encoding, cb) {
6617 chunk = decodeChunk(state, chunk, encoding);
6618 if (util.isBuffer(chunk))
6619 encoding = 'buffer';
6620 var len = state.objectMode ? 1 : chunk.length;
6621
6622 state.length += len;
6623
6624 var ret = state.length < state.highWaterMark;
6625 // we must ensure that previous needDrain will not be reset to false.
6626 if (!ret)
6627 state.needDrain = true;
6628
6629 if (state.writing || state.corked)
6630 state.buffer.push(new WriteReq(chunk, encoding, cb));
6631 else
6632 doWrite(stream, state, false, len, chunk, encoding, cb);
6633
6634 return ret;
ebd8d4e8
IC
6635}
6636
ab78acc6
IC
6637function doWrite(stream, state, writev, len, chunk, encoding, cb) {
6638 state.writelen = len;
6639 state.writecb = cb;
6640 state.writing = true;
6641 state.sync = true;
6642 if (writev)
6643 stream._writev(chunk, state.onwrite);
6644 else
6645 stream._write(chunk, encoding, state.onwrite);
6646 state.sync = false;
ebd8d4e8
IC
6647}
6648
ab78acc6
IC
6649function onwriteError(stream, state, sync, er, cb) {
6650 if (sync)
6651 process.nextTick(function() {
6652 state.pendingcb--;
6653 cb(er);
6654 });
6655 else {
6656 state.pendingcb--;
6657 cb(er);
6658 }
ebd8d4e8 6659
ab78acc6
IC
6660 stream._writableState.errorEmitted = true;
6661 stream.emit('error', er);
6662}
ebd8d4e8 6663
ab78acc6
IC
6664function onwriteStateUpdate(state) {
6665 state.writing = false;
6666 state.writecb = null;
6667 state.length -= state.writelen;
6668 state.writelen = 0;
6669}
ebd8d4e8 6670
ab78acc6
IC
6671function onwrite(stream, er) {
6672 var state = stream._writableState;
6673 var sync = state.sync;
6674 var cb = state.writecb;
ebd8d4e8 6675
ab78acc6 6676 onwriteStateUpdate(state);
ebd8d4e8 6677
ab78acc6
IC
6678 if (er)
6679 onwriteError(stream, state, sync, er, cb);
6680 else {
6681 // Check if we're actually ready to finish, but don't emit yet
6682 var finished = needFinish(stream, state);
ebd8d4e8 6683
ab78acc6
IC
6684 if (!finished &&
6685 !state.corked &&
6686 !state.bufferProcessing &&
6687 state.buffer.length) {
6688 clearBuffer(stream, state);
6689 }
6690
6691 if (sync) {
6692 process.nextTick(function() {
6693 afterWrite(stream, state, finished, cb);
6694 });
6695 } else {
6696 afterWrite(stream, state, finished, cb);
ebd8d4e8 6697 }
ebd8d4e8
IC
6698 }
6699}
6700
ab78acc6
IC
6701function afterWrite(stream, state, finished, cb) {
6702 if (!finished)
6703 onwriteDrain(stream, state);
6704 state.pendingcb--;
6705 cb();
6706 finishMaybe(stream, state);
6707}
6708
6709// Must force callback to be called on nextTick, so that we don't
6710// emit 'drain' before the write() consumer gets the 'false' return
6711// value, and has a chance to attach a 'drain' listener.
6712function onwriteDrain(stream, state) {
6713 if (state.length === 0 && state.needDrain) {
6714 state.needDrain = false;
6715 stream.emit('drain');
ebd8d4e8
IC
6716 }
6717}
6718
ebd8d4e8 6719
ab78acc6
IC
6720// if there's something in the buffer waiting, then process it
6721function clearBuffer(stream, state) {
6722 state.bufferProcessing = true;
6723
6724 if (stream._writev && state.buffer.length > 1) {
6725 // Fast case, write everything using _writev()
6726 var cbs = [];
6727 for (var c = 0; c < state.buffer.length; c++)
6728 cbs.push(state.buffer[c].callback);
6729
6730 // count the one we are adding, as well.
6731 // TODO(isaacs) clean this up
6732 state.pendingcb++;
6733 doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
6734 for (var i = 0; i < cbs.length; i++) {
6735 state.pendingcb--;
6736 cbs[i](err);
6737 }
6738 });
6739
6740 // Clear buffer
6741 state.buffer = [];
6742 } else {
6743 // Slow case, write chunks one-by-one
6744 for (var c = 0; c < state.buffer.length; c++) {
6745 var entry = state.buffer[c];
6746 var chunk = entry.chunk;
6747 var encoding = entry.encoding;
6748 var cb = entry.callback;
6749 var len = state.objectMode ? 1 : chunk.length;
6750
6751 doWrite(stream, state, false, len, chunk, encoding, cb);
6752
6753 // if we didn't call the onwrite immediately, then
6754 // it means that we need to wait until it does.
6755 // also, that means that the chunk and cb are currently
6756 // being processed, so move the buffer counter past them.
6757 if (state.writing) {
6758 c++;
6759 break;
6760 }
ebd8d4e8 6761 }
ab78acc6
IC
6762
6763 if (c < state.buffer.length)
6764 state.buffer = state.buffer.slice(c);
6765 else
6766 state.buffer.length = 0;
ebd8d4e8
IC
6767 }
6768
ab78acc6 6769 state.bufferProcessing = false;
ebd8d4e8
IC
6770}
6771
ab78acc6
IC
6772Writable.prototype._write = function(chunk, encoding, cb) {
6773 cb(new Error('not implemented'));
ebd8d4e8 6774
ab78acc6 6775};
ebd8d4e8 6776
ab78acc6 6777Writable.prototype._writev = null;
ebd8d4e8 6778
ab78acc6
IC
6779Writable.prototype.end = function(chunk, encoding, cb) {
6780 var state = this._writableState;
ebd8d4e8 6781
ab78acc6
IC
6782 if (util.isFunction(chunk)) {
6783 cb = chunk;
6784 chunk = null;
6785 encoding = null;
6786 } else if (util.isFunction(encoding)) {
6787 cb = encoding;
6788 encoding = null;
6789 }
ebd8d4e8 6790
ab78acc6
IC
6791 if (!util.isNullOrUndefined(chunk))
6792 this.write(chunk, encoding);
6793
6794 // .end() fully uncorks
6795 if (state.corked) {
6796 state.corked = 1;
6797 this.uncork();
ebd8d4e8 6798 }
ab78acc6
IC
6799
6800 // ignore unnecessary end() calls.
6801 if (!state.ending && !state.finished)
6802 endWritable(this, state, cb);
6803};
6804
6805
6806function needFinish(stream, state) {
6807 return (state.ending &&
6808 state.length === 0 &&
6809 !state.finished &&
6810 !state.writing);
ebd8d4e8
IC
6811}
6812
ab78acc6
IC
6813function prefinish(stream, state) {
6814 if (!state.prefinished) {
6815 state.prefinished = true;
6816 stream.emit('prefinish');
ebd8d4e8 6817 }
ebd8d4e8
IC
6818}
6819
ab78acc6
IC
6820function finishMaybe(stream, state) {
6821 var need = needFinish(stream, state);
6822 if (need) {
6823 if (state.pendingcb === 0) {
6824 prefinish(stream, state);
6825 state.finished = true;
6826 stream.emit('finish');
6827 } else
6828 prefinish(stream, state);
6829 }
6830 return need;
6831}
ebd8d4e8 6832
ab78acc6
IC
6833function endWritable(stream, state, cb) {
6834 state.ending = true;
6835 finishMaybe(stream, state);
6836 if (cb) {
6837 if (state.finished)
6838 process.nextTick(cb);
6839 else
6840 stream.once('finish', cb);
ebd8d4e8 6841 }
ab78acc6 6842 state.ended = true;
ebd8d4e8
IC
6843}
6844
ab78acc6
IC
6845}).call(this,require('_process'))
6846},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"inherits":12,"stream":26}],21:[function(require,module,exports){
6847(function (Buffer){
6848// Copyright Joyent, Inc. and other Node contributors.
6849//
6850// Permission is hereby granted, free of charge, to any person obtaining a
6851// copy of this software and associated documentation files (the
6852// "Software"), to deal in the Software without restriction, including
6853// without limitation the rights to use, copy, modify, merge, publish,
6854// distribute, sublicense, and/or sell copies of the Software, and to permit
6855// persons to whom the Software is furnished to do so, subject to the
6856// following conditions:
6857//
6858// The above copyright notice and this permission notice shall be included
6859// in all copies or substantial portions of the Software.
6860//
6861// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6862// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6863// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6864// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6865// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6866// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6867// USE OR OTHER DEALINGS IN THE SOFTWARE.
6868
6869// NOTE: These type checking functions intentionally don't use `instanceof`
6870// because it is fragile and can be easily faked with `Object.create()`.
6871function isArray(ar) {
6872 return Array.isArray(ar);
ebd8d4e8 6873}
ab78acc6 6874exports.isArray = isArray;
ebd8d4e8 6875
ab78acc6
IC
6876function isBoolean(arg) {
6877 return typeof arg === 'boolean';
ebd8d4e8 6878}
ab78acc6 6879exports.isBoolean = isBoolean;
ebd8d4e8 6880
ab78acc6
IC
6881function isNull(arg) {
6882 return arg === null;
6883}
6884exports.isNull = isNull;
ebd8d4e8 6885
ab78acc6
IC
6886function isNullOrUndefined(arg) {
6887 return arg == null;
6888}
6889exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 6890
ab78acc6
IC
6891function isNumber(arg) {
6892 return typeof arg === 'number';
ebd8d4e8 6893}
ab78acc6 6894exports.isNumber = isNumber;
ebd8d4e8 6895
ab78acc6
IC
6896function isString(arg) {
6897 return typeof arg === 'string';
6898}
6899exports.isString = isString;
ebd8d4e8 6900
ab78acc6
IC
6901function isSymbol(arg) {
6902 return typeof arg === 'symbol';
6903}
6904exports.isSymbol = isSymbol;
ebd8d4e8 6905
ab78acc6
IC
6906function isUndefined(arg) {
6907 return arg === void 0;
ebd8d4e8 6908}
ab78acc6 6909exports.isUndefined = isUndefined;
ebd8d4e8 6910
ab78acc6
IC
6911function isRegExp(re) {
6912 return isObject(re) && objectToString(re) === '[object RegExp]';
ebd8d4e8 6913}
ab78acc6 6914exports.isRegExp = isRegExp;
ebd8d4e8 6915
ab78acc6
IC
6916function isObject(arg) {
6917 return typeof arg === 'object' && arg !== null;
ebd8d4e8 6918}
ab78acc6 6919exports.isObject = isObject;
ebd8d4e8 6920
ab78acc6
IC
6921function isDate(d) {
6922 return isObject(d) && objectToString(d) === '[object Date]';
6923}
6924exports.isDate = isDate;
ebd8d4e8 6925
ab78acc6
IC
6926function isError(e) {
6927 return isObject(e) &&
6928 (objectToString(e) === '[object Error]' || e instanceof Error);
6929}
6930exports.isError = isError;
ebd8d4e8 6931
ab78acc6
IC
6932function isFunction(arg) {
6933 return typeof arg === 'function';
6934}
6935exports.isFunction = isFunction;
6936
6937function isPrimitive(arg) {
6938 return arg === null ||
6939 typeof arg === 'boolean' ||
6940 typeof arg === 'number' ||
6941 typeof arg === 'string' ||
6942 typeof arg === 'symbol' || // ES6 symbol
6943 typeof arg === 'undefined';
ebd8d4e8 6944}
ab78acc6 6945exports.isPrimitive = isPrimitive;
ebd8d4e8 6946
ab78acc6
IC
6947function isBuffer(arg) {
6948 return Buffer.isBuffer(arg);
ebd8d4e8 6949}
ab78acc6 6950exports.isBuffer = isBuffer;
ebd8d4e8 6951
ab78acc6
IC
6952function objectToString(o) {
6953 return Object.prototype.toString.call(o);
ebd8d4e8 6954}
ab78acc6
IC
6955}).call(this,require("buffer").Buffer)
6956},{"buffer":7}],22:[function(require,module,exports){
6957module.exports = require("./lib/_stream_passthrough.js")
ebd8d4e8 6958
ab78acc6
IC
6959},{"./lib/_stream_passthrough.js":17}],23:[function(require,module,exports){
6960exports = module.exports = require('./lib/_stream_readable.js');
6961exports.Stream = require('stream');
6962exports.Readable = exports;
6963exports.Writable = require('./lib/_stream_writable.js');
6964exports.Duplex = require('./lib/_stream_duplex.js');
6965exports.Transform = require('./lib/_stream_transform.js');
6966exports.PassThrough = require('./lib/_stream_passthrough.js');
ebd8d4e8 6967
ab78acc6
IC
6968},{"./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){
6969module.exports = require("./lib/_stream_transform.js")
ebd8d4e8 6970
ab78acc6
IC
6971},{"./lib/_stream_transform.js":19}],25:[function(require,module,exports){
6972module.exports = require("./lib/_stream_writable.js")
6973
6974},{"./lib/_stream_writable.js":20}],26:[function(require,module,exports){
6975// Copyright Joyent, Inc. and other Node contributors.
6976//
6977// Permission is hereby granted, free of charge, to any person obtaining a
6978// copy of this software and associated documentation files (the
6979// "Software"), to deal in the Software without restriction, including
6980// without limitation the rights to use, copy, modify, merge, publish,
6981// distribute, sublicense, and/or sell copies of the Software, and to permit
6982// persons to whom the Software is furnished to do so, subject to the
6983// following conditions:
6984//
6985// The above copyright notice and this permission notice shall be included
6986// in all copies or substantial portions of the Software.
6987//
6988// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6989// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6990// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6991// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6992// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6993// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6994// USE OR OTHER DEALINGS IN THE SOFTWARE.
6995
6996module.exports = Stream;
6997
6998var EE = require('events').EventEmitter;
6999var inherits = require('inherits');
7000
7001inherits(Stream, EE);
7002Stream.Readable = require('readable-stream/readable.js');
7003Stream.Writable = require('readable-stream/writable.js');
7004Stream.Duplex = require('readable-stream/duplex.js');
7005Stream.Transform = require('readable-stream/transform.js');
7006Stream.PassThrough = require('readable-stream/passthrough.js');
7007
7008// Backwards-compat with node 0.4.x
7009Stream.Stream = Stream;
7010
7011
7012
7013// old-style streams. Note that the pipe method (the only relevant
7014// part of this class) is overridden in the Readable class.
7015
7016function Stream() {
7017 EE.call(this);
ebd8d4e8
IC
7018}
7019
ab78acc6
IC
7020Stream.prototype.pipe = function(dest, options) {
7021 var source = this;
ebd8d4e8 7022
ab78acc6
IC
7023 function ondata(chunk) {
7024 if (dest.writable) {
7025 if (false === dest.write(chunk) && source.pause) {
7026 source.pause();
7027 }
7028 }
7029 }
ebd8d4e8 7030
ab78acc6 7031 source.on('data', ondata);
ebd8d4e8 7032
ab78acc6
IC
7033 function ondrain() {
7034 if (source.readable && source.resume) {
7035 source.resume();
7036 }
7037 }
ebd8d4e8 7038
ab78acc6 7039 dest.on('drain', ondrain);
ebd8d4e8 7040
ab78acc6
IC
7041 // If the 'end' option is not supplied, dest.end() will be called when
7042 // source gets the 'end' or 'close' events. Only dest.end() once.
7043 if (!dest._isStdio && (!options || options.end !== false)) {
7044 source.on('end', onend);
7045 source.on('close', onclose);
ebd8d4e8
IC
7046 }
7047
ab78acc6
IC
7048 var didOnEnd = false;
7049 function onend() {
7050 if (didOnEnd) return;
7051 didOnEnd = true;
ebd8d4e8 7052
ab78acc6
IC
7053 dest.end();
7054 }
ebd8d4e8 7055
ebd8d4e8 7056
ab78acc6
IC
7057 function onclose() {
7058 if (didOnEnd) return;
7059 didOnEnd = true;
ebd8d4e8 7060
ab78acc6 7061 if (typeof dest.destroy === 'function') dest.destroy();
ebd8d4e8
IC
7062 }
7063
ab78acc6
IC
7064 // don't leave dangling pipes when there are errors.
7065 function onerror(er) {
7066 cleanup();
7067 if (EE.listenerCount(this, 'error') === 0) {
7068 throw er; // Unhandled stream error in pipe.
7069 }
7070 }
ebd8d4e8 7071
ab78acc6
IC
7072 source.on('error', onerror);
7073 dest.on('error', onerror);
ebd8d4e8 7074
ab78acc6
IC
7075 // remove all the event listeners that were added.
7076 function cleanup() {
7077 source.removeListener('data', ondata);
7078 dest.removeListener('drain', ondrain);
ebd8d4e8 7079
ab78acc6
IC
7080 source.removeListener('end', onend);
7081 source.removeListener('close', onclose);
7082
7083 source.removeListener('error', onerror);
7084 dest.removeListener('error', onerror);
7085
7086 source.removeListener('end', cleanup);
7087 source.removeListener('close', cleanup);
7088
7089 dest.removeListener('close', cleanup);
ebd8d4e8
IC
7090 }
7091
ab78acc6
IC
7092 source.on('end', cleanup);
7093 source.on('close', cleanup);
ebd8d4e8 7094
ab78acc6 7095 dest.on('close', cleanup);
ebd8d4e8 7096
ab78acc6 7097 dest.emit('pipe', source);
ebd8d4e8 7098
ab78acc6
IC
7099 // Allow for unix-like usage: A.pipe(B).pipe(C)
7100 return dest;
7101};
ebd8d4e8 7102
ab78acc6
IC
7103},{"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){
7104// Copyright Joyent, Inc. and other Node contributors.
7105//
7106// Permission is hereby granted, free of charge, to any person obtaining a
7107// copy of this software and associated documentation files (the
7108// "Software"), to deal in the Software without restriction, including
7109// without limitation the rights to use, copy, modify, merge, publish,
7110// distribute, sublicense, and/or sell copies of the Software, and to permit
7111// persons to whom the Software is furnished to do so, subject to the
7112// following conditions:
7113//
7114// The above copyright notice and this permission notice shall be included
7115// in all copies or substantial portions of the Software.
7116//
7117// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7118// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7119// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7120// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7121// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7122// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7123// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7124
ab78acc6 7125var Buffer = require('buffer').Buffer;
ebd8d4e8 7126
ab78acc6
IC
7127var isBufferEncoding = Buffer.isEncoding
7128 || function(encoding) {
7129 switch (encoding && encoding.toLowerCase()) {
7130 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;
7131 default: return false;
7132 }
7133 }
ebd8d4e8 7134
ebd8d4e8 7135
ab78acc6
IC
7136function assertEncoding(encoding) {
7137 if (encoding && !isBufferEncoding(encoding)) {
7138 throw new Error('Unknown encoding: ' + encoding);
ebd8d4e8 7139 }
ebd8d4e8
IC
7140}
7141
ab78acc6
IC
7142// StringDecoder provides an interface for efficiently splitting a series of
7143// buffers into a series of JS strings without breaking apart multi-byte
7144// characters. CESU-8 is handled as part of the UTF-8 encoding.
7145//
7146// @TODO Handling all encodings inside a single object makes it very difficult
7147// to reason about this code, so it should be split up in the future.
7148// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
7149// points as used by CESU-8.
7150var StringDecoder = exports.StringDecoder = function(encoding) {
7151 this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
7152 assertEncoding(encoding);
7153 switch (this.encoding) {
7154 case 'utf8':
7155 // CESU-8 represents each of Surrogate Pair by 3-bytes
7156 this.surrogateSize = 3;
7157 break;
7158 case 'ucs2':
7159 case 'utf16le':
7160 // UTF-16 represents each of Surrogate Pair by 2-bytes
7161 this.surrogateSize = 2;
7162 this.detectIncompleteChar = utf16DetectIncompleteChar;
7163 break;
7164 case 'base64':
7165 // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
7166 this.surrogateSize = 3;
7167 this.detectIncompleteChar = base64DetectIncompleteChar;
7168 break;
7169 default:
7170 this.write = passThroughWrite;
7171 return;
7172 }
ebd8d4e8 7173
ab78acc6
IC
7174 // Enough space to store all bytes of a single character. UTF-8 needs 4
7175 // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
7176 this.charBuffer = new Buffer(6);
7177 // Number of bytes received for the current incomplete multi-byte character.
7178 this.charReceived = 0;
7179 // Number of bytes expected for the current incomplete multi-byte character.
7180 this.charLength = 0;
7181};
ebd8d4e8 7182
ebd8d4e8 7183
ab78acc6
IC
7184// write decodes the given buffer and returns it as JS string that is
7185// guaranteed to not contain any partial multi-byte characters. Any partial
7186// character found at the end of the buffer is buffered up, and will be
7187// returned when calling write again with the remaining bytes.
7188//
7189// Note: Converting a Buffer containing an orphan surrogate to a String
7190// currently works, but converting a String to a Buffer (via `new Buffer`, or
7191// Buffer#write) will replace incomplete surrogates with the unicode
7192// replacement character. See https://codereview.chromium.org/121173009/ .
7193StringDecoder.prototype.write = function(buffer) {
7194 var charStr = '';
7195 // if our last write ended with an incomplete multibyte character
7196 while (this.charLength) {
7197 // determine how many remaining bytes this buffer has to offer for this char
7198 var available = (buffer.length >= this.charLength - this.charReceived) ?
7199 this.charLength - this.charReceived :
7200 buffer.length;
7201
7202 // add the new bytes to the char buffer
7203 buffer.copy(this.charBuffer, this.charReceived, 0, available);
7204 this.charReceived += available;
7205
7206 if (this.charReceived < this.charLength) {
7207 // still not enough chars in this buffer? wait for more ...
7208 return '';
7209 }
7210
7211 // remove bytes belonging to the current character from the buffer
7212 buffer = buffer.slice(available, buffer.length);
7213
7214 // get the character that was split
7215 charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
7216
7217 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7218 var charCode = charStr.charCodeAt(charStr.length - 1);
7219 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7220 this.charLength += this.surrogateSize;
7221 charStr = '';
7222 continue;
7223 }
7224 this.charReceived = this.charLength = 0;
ebd8d4e8 7225
ab78acc6
IC
7226 // if there are no more bytes in this buffer, just emit our char
7227 if (buffer.length === 0) {
7228 return charStr;
7229 }
7230 break;
ebd8d4e8 7231 }
ebd8d4e8 7232
ab78acc6
IC
7233 // determine and set charLength / charReceived
7234 this.detectIncompleteChar(buffer);
ebd8d4e8 7235
ab78acc6
IC
7236 var end = buffer.length;
7237 if (this.charLength) {
7238 // buffer the incomplete character bytes we got
7239 buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
7240 end -= this.charReceived;
ebd8d4e8
IC
7241 }
7242
ab78acc6 7243 charStr += buffer.toString(this.encoding, 0, end);
ebd8d4e8 7244
ab78acc6
IC
7245 var end = charStr.length - 1;
7246 var charCode = charStr.charCodeAt(end);
7247 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7248 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7249 var size = this.surrogateSize;
7250 this.charLength += size;
7251 this.charReceived += size;
7252 this.charBuffer.copy(this.charBuffer, size, 0, size);
7253 buffer.copy(this.charBuffer, 0, 0, size);
7254 return charStr.substring(0, end);
ebd8d4e8
IC
7255 }
7256
ab78acc6
IC
7257 // or just emit the charStr
7258 return charStr;
7259};
ebd8d4e8 7260
ab78acc6
IC
7261// detectIncompleteChar determines if there is an incomplete UTF-8 character at
7262// the end of the given buffer. If so, it sets this.charLength to the byte
7263// length that character, and sets this.charReceived to the number of bytes
7264// that are available for this character.
7265StringDecoder.prototype.detectIncompleteChar = function(buffer) {
7266 // determine how many bytes we have to check at the end of this buffer
7267 var i = (buffer.length >= 3) ? 3 : buffer.length;
ebd8d4e8 7268
ab78acc6
IC
7269 // Figure out if one of the last i bytes of our buffer announces an
7270 // incomplete char.
7271 for (; i > 0; i--) {
7272 var c = buffer[buffer.length - i];
ebd8d4e8 7273
ab78acc6 7274 // See http://en.wikipedia.org/wiki/UTF-8#Description
ebd8d4e8 7275
ab78acc6
IC
7276 // 110XXXXX
7277 if (i == 1 && c >> 5 == 0x06) {
7278 this.charLength = 2;
7279 break;
7280 }
ebd8d4e8 7281
ab78acc6
IC
7282 // 1110XXXX
7283 if (i <= 2 && c >> 4 == 0x0E) {
7284 this.charLength = 3;
7285 break;
7286 }
ebd8d4e8 7287
ab78acc6
IC
7288 // 11110XXX
7289 if (i <= 3 && c >> 3 == 0x1E) {
7290 this.charLength = 4;
7291 break;
7292 }
7293 }
7294 this.charReceived = i;
7295};
ebd8d4e8 7296
ab78acc6
IC
7297StringDecoder.prototype.end = function(buffer) {
7298 var res = '';
7299 if (buffer && buffer.length)
7300 res = this.write(buffer);
ebd8d4e8 7301
ab78acc6
IC
7302 if (this.charReceived) {
7303 var cr = this.charReceived;
7304 var buf = this.charBuffer;
7305 var enc = this.encoding;
7306 res += buf.slice(0, cr).toString(enc);
ebd8d4e8
IC
7307 }
7308
ab78acc6
IC
7309 return res;
7310};
ebd8d4e8 7311
ab78acc6
IC
7312function passThroughWrite(buffer) {
7313 return buffer.toString(this.encoding);
ebd8d4e8
IC
7314}
7315
ab78acc6
IC
7316function utf16DetectIncompleteChar(buffer) {
7317 this.charReceived = buffer.length % 2;
7318 this.charLength = this.charReceived ? 2 : 0;
ebd8d4e8
IC
7319}
7320
ab78acc6
IC
7321function base64DetectIncompleteChar(buffer) {
7322 this.charReceived = buffer.length % 3;
7323 this.charLength = this.charReceived ? 3 : 0;
ebd8d4e8
IC
7324}
7325
ab78acc6
IC
7326},{"buffer":7}],28:[function(require,module,exports){
7327module.exports = function isBuffer(arg) {
7328 return arg && typeof arg === 'object'
7329 && typeof arg.copy === 'function'
7330 && typeof arg.fill === 'function'
7331 && typeof arg.readUInt8 === 'function';
7332}
7333},{}],29:[function(require,module,exports){
7334(function (process,global){
7335// Copyright Joyent, Inc. and other Node contributors.
7336//
7337// Permission is hereby granted, free of charge, to any person obtaining a
7338// copy of this software and associated documentation files (the
7339// "Software"), to deal in the Software without restriction, including
7340// without limitation the rights to use, copy, modify, merge, publish,
7341// distribute, sublicense, and/or sell copies of the Software, and to permit
7342// persons to whom the Software is furnished to do so, subject to the
7343// following conditions:
7344//
7345// The above copyright notice and this permission notice shall be included
7346// in all copies or substantial portions of the Software.
7347//
7348// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7349// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7350// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7351// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7352// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7353// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7354// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7355
ab78acc6
IC
7356var formatRegExp = /%[sdj%]/g;
7357exports.format = function(f) {
7358 if (!isString(f)) {
7359 var objects = [];
7360 for (var i = 0; i < arguments.length; i++) {
7361 objects.push(inspect(arguments[i]));
7362 }
7363 return objects.join(' ');
7364 }
ebd8d4e8 7365
ab78acc6
IC
7366 var i = 1;
7367 var args = arguments;
7368 var len = args.length;
7369 var str = String(f).replace(formatRegExp, function(x) {
7370 if (x === '%%') return '%';
7371 if (i >= len) return x;
7372 switch (x) {
7373 case '%s': return String(args[i++]);
7374 case '%d': return Number(args[i++]);
7375 case '%j':
7376 try {
7377 return JSON.stringify(args[i++]);
7378 } catch (_) {
7379 return '[Circular]';
7380 }
7381 default:
7382 return x;
7383 }
7384 });
7385 for (var x = args[i]; i < len; x = args[++i]) {
7386 if (isNull(x) || !isObject(x)) {
7387 str += ' ' + x;
7388 } else {
7389 str += ' ' + inspect(x);
7390 }
7391 }
7392 return str;
7393};
ebd8d4e8 7394
ebd8d4e8 7395
ab78acc6
IC
7396// Mark that a method should not be used.
7397// Returns a modified function which warns once by default.
7398// If --no-deprecation is set, then it is a no-op.
7399exports.deprecate = function(fn, msg) {
7400 // Allow for deprecating things in the process of starting up.
7401 if (isUndefined(global.process)) {
7402 return function() {
7403 return exports.deprecate(fn, msg).apply(this, arguments);
7404 };
7405 }
ebd8d4e8 7406
ab78acc6
IC
7407 if (process.noDeprecation === true) {
7408 return fn;
7409 }
ebd8d4e8 7410
ab78acc6
IC
7411 var warned = false;
7412 function deprecated() {
7413 if (!warned) {
7414 if (process.throwDeprecation) {
7415 throw new Error(msg);
7416 } else if (process.traceDeprecation) {
7417 console.trace(msg);
7418 } else {
7419 console.error(msg);
7420 }
7421 warned = true;
7422 }
7423 return fn.apply(this, arguments);
7424 }
ebd8d4e8 7425
ab78acc6
IC
7426 return deprecated;
7427};
ebd8d4e8 7428
ebd8d4e8 7429
ab78acc6
IC
7430var debugs = {};
7431var debugEnviron;
7432exports.debuglog = function(set) {
7433 if (isUndefined(debugEnviron))
7434 debugEnviron = process.env.NODE_DEBUG || '';
7435 set = set.toUpperCase();
7436 if (!debugs[set]) {
7437 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
7438 var pid = process.pid;
7439 debugs[set] = function() {
7440 var msg = exports.format.apply(exports, arguments);
7441 console.error('%s %d: %s', set, pid, msg);
7442 };
7443 } else {
7444 debugs[set] = function() {};
ebd8d4e8
IC
7445 }
7446 }
ab78acc6
IC
7447 return debugs[set];
7448};
ebd8d4e8 7449
ebd8d4e8
IC
7450
7451/**
ab78acc6
IC
7452 * Echos the value of a value. Trys to print the value out
7453 * in the best way possible given the different types.
7454 *
7455 * @param {Object} obj The object to print out.
7456 * @param {Object} opts Optional options object that alters the output.
ebd8d4e8 7457 */
ab78acc6
IC
7458/* legacy: obj, showHidden, depth, colors*/
7459function inspect(obj, opts) {
7460 // default options
7461 var ctx = {
7462 seen: [],
7463 stylize: stylizeNoColor
7464 };
7465 // legacy...
7466 if (arguments.length >= 3) ctx.depth = arguments[2];
7467 if (arguments.length >= 4) ctx.colors = arguments[3];
7468 if (isBoolean(opts)) {
7469 // legacy...
7470 ctx.showHidden = opts;
7471 } else if (opts) {
7472 // got an "options" object
7473 exports._extend(ctx, opts);
ebd8d4e8 7474 }
ab78acc6
IC
7475 // set default options
7476 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
7477 if (isUndefined(ctx.depth)) ctx.depth = 2;
7478 if (isUndefined(ctx.colors)) ctx.colors = false;
7479 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
7480 if (ctx.colors) ctx.stylize = stylizeWithColor;
7481 return formatValue(ctx, obj, ctx.depth);
ebd8d4e8 7482}
ab78acc6 7483exports.inspect = inspect;
ebd8d4e8 7484
ebd8d4e8 7485
ab78acc6
IC
7486// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
7487inspect.colors = {
7488 'bold' : [1, 22],
7489 'italic' : [3, 23],
7490 'underline' : [4, 24],
7491 'inverse' : [7, 27],
7492 'white' : [37, 39],
7493 'grey' : [90, 39],
7494 'black' : [30, 39],
7495 'blue' : [34, 39],
7496 'cyan' : [36, 39],
7497 'green' : [32, 39],
7498 'magenta' : [35, 39],
7499 'red' : [31, 39],
7500 'yellow' : [33, 39]
7501};
ebd8d4e8 7502
ab78acc6
IC
7503// Don't use 'blue' not visible on cmd.exe
7504inspect.styles = {
7505 'special': 'cyan',
7506 'number': 'yellow',
7507 'boolean': 'yellow',
7508 'undefined': 'grey',
7509 'null': 'bold',
7510 'string': 'green',
7511 'date': 'magenta',
7512 // "name": intentionally not styling
7513 'regexp': 'red'
7514};
ebd8d4e8 7515
ebd8d4e8 7516
ab78acc6
IC
7517function stylizeWithColor(str, styleType) {
7518 var style = inspect.styles[styleType];
ebd8d4e8 7519
ab78acc6
IC
7520 if (style) {
7521 return '\u001b[' + inspect.colors[style][0] + 'm' + str +
7522 '\u001b[' + inspect.colors[style][1] + 'm';
7523 } else {
7524 return str;
ebd8d4e8 7525 }
ebd8d4e8
IC
7526}
7527
ebd8d4e8 7528
ab78acc6
IC
7529function stylizeNoColor(str, styleType) {
7530 return str;
ebd8d4e8
IC
7531}
7532
ebd8d4e8 7533
ab78acc6
IC
7534function arrayToHash(array) {
7535 var hash = {};
ebd8d4e8 7536
ab78acc6
IC
7537 array.forEach(function(val, idx) {
7538 hash[val] = true;
7539 });
ebd8d4e8 7540
ab78acc6 7541 return hash;
ebd8d4e8
IC
7542}
7543
ebd8d4e8 7544
ab78acc6
IC
7545function formatValue(ctx, value, recurseTimes) {
7546 // Provide a hook for user-specified inspect functions.
7547 // Check that value is an object with an inspect function on it
7548 if (ctx.customInspect &&
7549 value &&
7550 isFunction(value.inspect) &&
7551 // Filter out the util module, it's inspect function is special
7552 value.inspect !== exports.inspect &&
7553 // Also filter out any prototype objects using the circular check.
7554 !(value.constructor && value.constructor.prototype === value)) {
7555 var ret = value.inspect(recurseTimes, ctx);
7556 if (!isString(ret)) {
7557 ret = formatValue(ctx, ret, recurseTimes);
7558 }
7559 return ret;
ebd8d4e8 7560 }
ebd8d4e8 7561
ab78acc6
IC
7562 // Primitive types cannot have properties
7563 var primitive = formatPrimitive(ctx, value);
7564 if (primitive) {
7565 return primitive;
ebd8d4e8
IC
7566 }
7567
ab78acc6
IC
7568 // Look up the keys of the object.
7569 var keys = Object.keys(value);
7570 var visibleKeys = arrayToHash(keys);
ebd8d4e8 7571
ab78acc6
IC
7572 if (ctx.showHidden) {
7573 keys = Object.getOwnPropertyNames(value);
7574 }
ebd8d4e8 7575
ab78acc6
IC
7576 // IE doesn't make error fields non-enumerable
7577 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
7578 if (isError(value)
7579 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
7580 return formatError(value);
ebd8d4e8 7581 }
ebd8d4e8 7582
ab78acc6
IC
7583 // Some type of object without properties can be shortcutted.
7584 if (keys.length === 0) {
7585 if (isFunction(value)) {
7586 var name = value.name ? ': ' + value.name : '';
7587 return ctx.stylize('[Function' + name + ']', 'special');
7588 }
7589 if (isRegExp(value)) {
7590 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7591 }
7592 if (isDate(value)) {
7593 return ctx.stylize(Date.prototype.toString.call(value), 'date');
7594 }
7595 if (isError(value)) {
7596 return formatError(value);
7597 }
ebd8d4e8 7598 }
ebd8d4e8 7599
ab78acc6 7600 var base = '', array = false, braces = ['{', '}'];
ebd8d4e8 7601
ab78acc6
IC
7602 // Make Array say that they are Array
7603 if (isArray(value)) {
7604 array = true;
7605 braces = ['[', ']'];
7606 }
ebd8d4e8 7607
ab78acc6
IC
7608 // Make functions say that they are functions
7609 if (isFunction(value)) {
7610 var n = value.name ? ': ' + value.name : '';
7611 base = ' [Function' + n + ']';
7612 }
ebd8d4e8 7613
ab78acc6
IC
7614 // Make RegExps say that they are RegExps
7615 if (isRegExp(value)) {
7616 base = ' ' + RegExp.prototype.toString.call(value);
7617 }
ebd8d4e8 7618
ab78acc6
IC
7619 // Make dates with properties first say the date
7620 if (isDate(value)) {
7621 base = ' ' + Date.prototype.toUTCString.call(value);
7622 }
ebd8d4e8 7623
ab78acc6
IC
7624 // Make error with message first say the error
7625 if (isError(value)) {
7626 base = ' ' + formatError(value);
7627 }
ebd8d4e8 7628
ab78acc6
IC
7629 if (keys.length === 0 && (!array || value.length == 0)) {
7630 return braces[0] + base + braces[1];
7631 }
ebd8d4e8 7632
ab78acc6
IC
7633 if (recurseTimes < 0) {
7634 if (isRegExp(value)) {
7635 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7636 } else {
7637 return ctx.stylize('[Object]', 'special');
7638 }
7639 }
ebd8d4e8 7640
ab78acc6 7641 ctx.seen.push(value);
ebd8d4e8 7642
ab78acc6
IC
7643 var output;
7644 if (array) {
7645 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
7646 } else {
7647 output = keys.map(function(key) {
7648 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
7649 });
7650 }
ebd8d4e8 7651
ab78acc6 7652 ctx.seen.pop();
ebd8d4e8 7653
ab78acc6
IC
7654 return reduceToSingleString(output, base, braces);
7655}
ebd8d4e8 7656
ebd8d4e8 7657
ab78acc6
IC
7658function formatPrimitive(ctx, value) {
7659 if (isUndefined(value))
7660 return ctx.stylize('undefined', 'undefined');
7661 if (isString(value)) {
7662 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
7663 .replace(/'/g, "\\'")
7664 .replace(/\\"/g, '"') + '\'';
7665 return ctx.stylize(simple, 'string');
7666 }
7667 if (isNumber(value))
7668 return ctx.stylize('' + value, 'number');
7669 if (isBoolean(value))
7670 return ctx.stylize('' + value, 'boolean');
7671 // For some reason typeof null is "object", so special case here.
7672 if (isNull(value))
7673 return ctx.stylize('null', 'null');
7674}
ebd8d4e8 7675
ebd8d4e8 7676
ab78acc6
IC
7677function formatError(value) {
7678 return '[' + Error.prototype.toString.call(value) + ']';
7679}
ebd8d4e8 7680
ebd8d4e8 7681
ab78acc6
IC
7682function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
7683 var output = [];
7684 for (var i = 0, l = value.length; i < l; ++i) {
7685 if (hasOwnProperty(value, String(i))) {
7686 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7687 String(i), true));
7688 } else {
7689 output.push('');
7690 }
7691 }
7692 keys.forEach(function(key) {
7693 if (!key.match(/^\d+$/)) {
7694 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7695 key, true));
7696 }
7697 });
7698 return output;
7699}
ebd8d4e8 7700
ebd8d4e8 7701
ab78acc6
IC
7702function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
7703 var name, str, desc;
7704 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
7705 if (desc.get) {
7706 if (desc.set) {
7707 str = ctx.stylize('[Getter/Setter]', 'special');
7708 } else {
7709 str = ctx.stylize('[Getter]', 'special');
7710 }
7711 } else {
7712 if (desc.set) {
7713 str = ctx.stylize('[Setter]', 'special');
7714 }
7715 }
7716 if (!hasOwnProperty(visibleKeys, key)) {
7717 name = '[' + key + ']';
7718 }
7719 if (!str) {
7720 if (ctx.seen.indexOf(desc.value) < 0) {
7721 if (isNull(recurseTimes)) {
7722 str = formatValue(ctx, desc.value, null);
7723 } else {
7724 str = formatValue(ctx, desc.value, recurseTimes - 1);
7725 }
7726 if (str.indexOf('\n') > -1) {
7727 if (array) {
7728 str = str.split('\n').map(function(line) {
7729 return ' ' + line;
7730 }).join('\n').substr(2);
7731 } else {
7732 str = '\n' + str.split('\n').map(function(line) {
7733 return ' ' + line;
7734 }).join('\n');
7735 }
7736 }
7737 } else {
7738 str = ctx.stylize('[Circular]', 'special');
7739 }
7740 }
7741 if (isUndefined(name)) {
7742 if (array && key.match(/^\d+$/)) {
7743 return str;
7744 }
7745 name = JSON.stringify('' + key);
7746 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
7747 name = name.substr(1, name.length - 2);
7748 name = ctx.stylize(name, 'name');
7749 } else {
7750 name = name.replace(/'/g, "\\'")
7751 .replace(/\\"/g, '"')
7752 .replace(/(^"|"$)/g, "'");
7753 name = ctx.stylize(name, 'string');
7754 }
7755 }
ebd8d4e8 7756
ab78acc6
IC
7757 return name + ': ' + str;
7758}
ebd8d4e8 7759
ebd8d4e8 7760
ab78acc6
IC
7761function reduceToSingleString(output, base, braces) {
7762 var numLinesEst = 0;
7763 var length = output.reduce(function(prev, cur) {
7764 numLinesEst++;
7765 if (cur.indexOf('\n') >= 0) numLinesEst++;
7766 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
7767 }, 0);
ebd8d4e8 7768
ab78acc6
IC
7769 if (length > 60) {
7770 return braces[0] +
7771 (base === '' ? '' : base + '\n ') +
7772 ' ' +
7773 output.join(',\n ') +
7774 ' ' +
7775 braces[1];
7776 }
ebd8d4e8 7777
ab78acc6
IC
7778 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
7779}
ebd8d4e8 7780
ebd8d4e8 7781
ab78acc6
IC
7782// NOTE: These type checking functions intentionally don't use `instanceof`
7783// because it is fragile and can be easily faked with `Object.create()`.
7784function isArray(ar) {
7785 return Array.isArray(ar);
7786}
7787exports.isArray = isArray;
ebd8d4e8 7788
ab78acc6
IC
7789function isBoolean(arg) {
7790 return typeof arg === 'boolean';
7791}
7792exports.isBoolean = isBoolean;
ebd8d4e8 7793
ab78acc6
IC
7794function isNull(arg) {
7795 return arg === null;
7796}
7797exports.isNull = isNull;
ebd8d4e8 7798
ab78acc6
IC
7799function isNullOrUndefined(arg) {
7800 return arg == null;
7801}
7802exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7803
ab78acc6
IC
7804function isNumber(arg) {
7805 return typeof arg === 'number';
7806}
7807exports.isNumber = isNumber;
ebd8d4e8 7808
ab78acc6
IC
7809function isString(arg) {
7810 return typeof arg === 'string';
7811}
7812exports.isString = isString;
ebd8d4e8 7813
ab78acc6
IC
7814function isSymbol(arg) {
7815 return typeof arg === 'symbol';
7816}
7817exports.isSymbol = isSymbol;
ebd8d4e8 7818
ab78acc6
IC
7819function isUndefined(arg) {
7820 return arg === void 0;
7821}
7822exports.isUndefined = isUndefined;
ebd8d4e8 7823
ab78acc6
IC
7824function isRegExp(re) {
7825 return isObject(re) && objectToString(re) === '[object RegExp]';
7826}
7827exports.isRegExp = isRegExp;
ebd8d4e8 7828
ab78acc6
IC
7829function isObject(arg) {
7830 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7831}
ab78acc6 7832exports.isObject = isObject;
ebd8d4e8 7833
ab78acc6
IC
7834function isDate(d) {
7835 return isObject(d) && objectToString(d) === '[object Date]';
7836}
7837exports.isDate = isDate;
ebd8d4e8 7838
ab78acc6
IC
7839function isError(e) {
7840 return isObject(e) &&
7841 (objectToString(e) === '[object Error]' || e instanceof Error);
7842}
7843exports.isError = isError;
ebd8d4e8 7844
ab78acc6
IC
7845function isFunction(arg) {
7846 return typeof arg === 'function';
7847}
7848exports.isFunction = isFunction;
ebd8d4e8 7849
ab78acc6
IC
7850function isPrimitive(arg) {
7851 return arg === null ||
7852 typeof arg === 'boolean' ||
7853 typeof arg === 'number' ||
7854 typeof arg === 'string' ||
7855 typeof arg === 'symbol' || // ES6 symbol
7856 typeof arg === 'undefined';
7857}
7858exports.isPrimitive = isPrimitive;
ebd8d4e8 7859
ab78acc6 7860exports.isBuffer = require('./support/isBuffer');
ebd8d4e8 7861
ab78acc6
IC
7862function objectToString(o) {
7863 return Object.prototype.toString.call(o);
7864}
ebd8d4e8 7865
ebd8d4e8 7866
ab78acc6
IC
7867function pad(n) {
7868 return n < 10 ? '0' + n.toString(10) : n.toString(10);
7869}
ebd8d4e8 7870
ebd8d4e8 7871
ab78acc6
IC
7872var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
7873 'Oct', 'Nov', 'Dec'];
ebd8d4e8 7874
ab78acc6
IC
7875// 26 Feb 16:19:34
7876function timestamp() {
7877 var d = new Date();
7878 var time = [pad(d.getHours()),
7879 pad(d.getMinutes()),
7880 pad(d.getSeconds())].join(':');
7881 return [d.getDate(), months[d.getMonth()], time].join(' ');
ebd8d4e8
IC
7882}
7883
ab78acc6
IC
7884
7885// log is just a thin wrapper to console.log that prepends a timestamp
7886exports.log = function() {
7887 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
ebd8d4e8
IC
7888};
7889
ab78acc6
IC
7890
7891/**
7892 * Inherit the prototype methods from one constructor into another.
7893 *
7894 * The Function.prototype.inherits from lang.js rewritten as a standalone
7895 * function (not on Function.prototype). NOTE: If this file is to be loaded
7896 * during bootstrapping this function needs to be rewritten using some native
7897 * functions as prototype setup using normal JavaScript does not work as
7898 * expected during bootstrapping (see mirror.js in r114903).
7899 *
7900 * @param {function} ctor Constructor function which needs to inherit the
7901 * prototype.
7902 * @param {function} superCtor Constructor function to inherit prototype from.
7903 */
7904exports.inherits = require('inherits');
7905
7906exports._extend = function(origin, add) {
7907 // Don't do anything if add isn't an object
7908 if (!add || !isObject(add)) return origin;
7909
7910 var keys = Object.keys(add);
7911 var i = keys.length;
7912 while (i--) {
7913 origin[keys[i]] = add[keys[i]];
7914 }
7915 return origin;
7916};
7917
7918function hasOwnProperty(obj, prop) {
7919 return Object.prototype.hasOwnProperty.call(obj, prop);
7920}
7921
7922}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
7923},{"./support/isBuffer":28,"_process":14,"inherits":12}],30:[function(require,module,exports){
ebd8d4e8
IC
7924// Base58 encoding/decoding
7925// Originally written by Mike Hearn for BitcoinJ
7926// Copyright (c) 2011 Google Inc
7927// Ported to JavaScript by Stefan Thomas
7928// Merged Buffer refactorings from base58-native by Stephen Pair
7929// Copyright (c) 2013 BitPay Inc
7930
ebd8d4e8 7931var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
ebd8d4e8
IC
7932var ALPHABET_MAP = {}
7933for(var i = 0; i < ALPHABET.length; i++) {
ab78acc6 7934 ALPHABET_MAP[ALPHABET.charAt(i)] = i
ebd8d4e8 7935}
ab78acc6 7936var BASE = 58
ebd8d4e8
IC
7937
7938function encode(buffer) {
ab78acc6
IC
7939 if (buffer.length === 0) return ''
7940
7941 var i, j, digits = [0]
7942 for (i = 0; i < buffer.length; i++) {
7943 for (j = 0; j < digits.length; j++) digits[j] <<= 8
7944
7945 digits[0] += buffer[i]
ebd8d4e8 7946
ab78acc6
IC
7947 var carry = 0
7948 for (j = 0; j < digits.length; ++j) {
7949 digits[j] += carry
ebd8d4e8 7950
ab78acc6
IC
7951 carry = (digits[j] / BASE) | 0
7952 digits[j] %= BASE
7953 }
7954
7955 while (carry) {
7956 digits.push(carry % BASE)
7957
7958 carry = (carry / BASE) | 0
7959 }
ebd8d4e8
IC
7960 }
7961
7962 // deal with leading zeros
ab78acc6 7963 for (i = 0; buffer[i] === 0 && i < buffer.length - 1; i++) digits.push(0)
ebd8d4e8 7964
ab78acc6
IC
7965 // convert digits to a string
7966 var stringOutput = ""
7967 for (var i = digits.length - 1; i >= 0; i--) {
7968 stringOutput = stringOutput + ALPHABET[digits[i]]
7969 }
7970 return stringOutput
ebd8d4e8
IC
7971}
7972
7973function decode(string) {
ab78acc6 7974 if (string.length === 0) return []
ebd8d4e8 7975
ab78acc6
IC
7976 var i, j, bytes = [0]
7977 for (i = 0; i < string.length; i++) {
7978 var c = string[i]
7979 if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character')
ebd8d4e8 7980
ab78acc6
IC
7981 for (j = 0; j < bytes.length; j++) bytes[j] *= BASE
7982 bytes[0] += ALPHABET_MAP[c]
ebd8d4e8 7983
ab78acc6
IC
7984 var carry = 0
7985 for (j = 0; j < bytes.length; ++j) {
7986 bytes[j] += carry
ebd8d4e8 7987
ab78acc6
IC
7988 carry = bytes[j] >> 8
7989 bytes[j] &= 0xff
7990 }
ebd8d4e8 7991
ab78acc6
IC
7992 while (carry) {
7993 bytes.push(carry & 0xff)
7994
7995 carry >>= 8
7996 }
ebd8d4e8
IC
7997 }
7998
ab78acc6
IC
7999 // deal with leading zeros
8000 for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)
ebd8d4e8 8001
ab78acc6 8002 return bytes.reverse()
ebd8d4e8
IC
8003}
8004
8005module.exports = {
8006 encode: encode,
8007 decode: decode
8008}
8009
ab78acc6 8010},{}],31:[function(require,module,exports){
ebd8d4e8 8011(function (Buffer){
ab78acc6
IC
8012'use strict'
8013
8014var base58 = require('bs58')
8015var createHash = require('create-hash')
8016
8017// SHA256(SHA256(buffer))
8018function sha256x2 (buffer) {
8019 buffer = createHash('sha256').update(buffer).digest()
8020 return createHash('sha256').update(buffer).digest()
8021}
8022
8023// Encode a buffer as a base58-check encoded string
8024function encode (payload) {
8025 var checksum = sha256x2(payload).slice(0, 4)
8026
8027 return base58.encode(Buffer.concat([
8028 payload,
8029 checksum
8030 ]))
8031}
8032
8033// Decode a base58-check encoded string to a buffer
8034function decode (string) {
8035 var buffer = new Buffer(base58.decode(string))
8036
8037 var payload = buffer.slice(0, -4)
8038 var checksum = buffer.slice(-4)
8039 var newChecksum = sha256x2(payload).slice(0, 4)
8040
8041 for (var i = 0; i < newChecksum.length; ++i) {
8042 if (newChecksum[i] === checksum[i]) continue
8043
8044 throw new Error('Invalid checksum')
ebd8d4e8 8045 }
ab78acc6
IC
8046
8047 return payload
ebd8d4e8
IC
8048}
8049
ab78acc6
IC
8050module.exports = {
8051 encode: encode,
8052 decode: decode
ebd8d4e8
IC
8053}
8054
ab78acc6
IC
8055}).call(this,require("buffer").Buffer)
8056},{"bs58":30,"buffer":7,"create-hash":32}],32:[function(require,module,exports){
ebd8d4e8 8057(function (Buffer){
ab78acc6
IC
8058'use strict';
8059var inherits = require('inherits')
8060var md5 = require('./md5')
8061var rmd160 = require('ripemd160')
8062var sha = require('sha.js')
ebd8d4e8 8063
ab78acc6 8064var Transform = require('stream').Transform
ebd8d4e8 8065
ab78acc6
IC
8066function HashNoConstructor(hash) {
8067 Transform.call(this)
ebd8d4e8 8068
ab78acc6
IC
8069 this._hash = hash
8070 this.buffers = []
8071}
ebd8d4e8 8072
ab78acc6 8073inherits(HashNoConstructor, Transform)
ebd8d4e8 8074
ab78acc6
IC
8075HashNoConstructor.prototype._transform = function (data, _, next) {
8076 this.buffers.push(data)
ebd8d4e8 8077
ab78acc6
IC
8078 next()
8079}
ebd8d4e8 8080
ab78acc6
IC
8081HashNoConstructor.prototype._flush = function (next) {
8082 this.push(this.digest())
8083 next()
8084}
8085
8086HashNoConstructor.prototype.update = function (data, enc) {
8087 if (typeof data === 'string') {
8088 data = new Buffer(data, enc)
ebd8d4e8
IC
8089 }
8090
ab78acc6
IC
8091 this.buffers.push(data)
8092 return this
8093}
8094
8095HashNoConstructor.prototype.digest = function (enc) {
8096 var buf = Buffer.concat(this.buffers)
8097 var r = this._hash(buf)
8098 this.buffers = null
8099
8100 return enc ? r.toString(enc) : r
8101}
8102
8103function Hash(hash) {
8104 Transform.call(this)
8105
8106 this._hash = hash
8107}
8108
8109inherits(Hash, Transform)
8110
8111Hash.prototype._transform = function (data, enc, next) {
8112 if (enc) data = new Buffer(data, enc)
8113
8114 this._hash.update(data)
8115
8116 next()
ebd8d4e8
IC
8117}
8118
ab78acc6
IC
8119Hash.prototype._flush = function (next) {
8120 this.push(this._hash.digest())
8121 this._hash = null
8122
8123 next()
8124}
8125
8126Hash.prototype.update = function (data, enc) {
8127 if (typeof data === 'string') {
8128 data = new Buffer(data, enc)
8129 }
8130
8131 this._hash.update(data)
ebd8d4e8
IC
8132 return this
8133}
8134
ab78acc6
IC
8135Hash.prototype.digest = function (enc) {
8136 var outData = this._hash.digest()
8137
8138 return enc ? outData.toString(enc) : outData
ebd8d4e8
IC
8139}
8140
ab78acc6
IC
8141module.exports = function createHash (alg) {
8142 if ('md5' === alg) return new HashNoConstructor(md5)
8143 if ('rmd160' === alg) return new HashNoConstructor(rmd160)
8144
8145 return new Hash(sha(alg))
8146}
ebd8d4e8 8147
ab78acc6
IC
8148}).call(this,require("buffer").Buffer)
8149},{"./md5":34,"buffer":7,"inherits":35,"ripemd160":36,"sha.js":38,"stream":26}],33:[function(require,module,exports){
ebd8d4e8 8150(function (Buffer){
ab78acc6 8151'use strict';
ebd8d4e8
IC
8152var intSize = 4;
8153var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
8154var chrsz = 8;
8155
8156function toArray(buf, bigEndian) {
8157 if ((buf.length % intSize) !== 0) {
8158 var len = buf.length + (intSize - (buf.length % intSize));
8159 buf = Buffer.concat([buf, zeroBuffer], len);
8160 }
8161
8162 var arr = [];
8163 var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
8164 for (var i = 0; i < buf.length; i += intSize) {
8165 arr.push(fn.call(buf, i));
8166 }
8167 return arr;
8168}
8169
8170function toBuffer(arr, size, bigEndian) {
8171 var buf = new Buffer(size);
8172 var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
8173 for (var i = 0; i < arr.length; i++) {
8174 fn.call(buf, arr[i], i * 4, true);
8175 }
8176 return buf;
8177}
8178
8179function hash(buf, fn, hashSize, bigEndian) {
8180 if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
8181 var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
8182 return toBuffer(arr, hashSize, bigEndian);
8183}
ab78acc6
IC
8184exports.hash = hash;
8185}).call(this,require("buffer").Buffer)
8186},{"buffer":7}],34:[function(require,module,exports){
8187'use strict';
ebd8d4e8
IC
8188/*
8189 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
8190 * Digest Algorithm, as defined in RFC 1321.
8191 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
8192 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8193 * Distributed under the BSD License
8194 * See http://pajhome.org.uk/crypt/md5 for more info.
8195 */
8196
ab78acc6 8197var helpers = require('./helpers');
ebd8d4e8
IC
8198
8199/*
8200 * Calculate the MD5 of an array of little-endian words, and a bit length
8201 */
8202function core_md5(x, len)
8203{
8204 /* append padding */
8205 x[len >> 5] |= 0x80 << ((len) % 32);
8206 x[(((len + 64) >>> 9) << 4) + 14] = len;
8207
8208 var a = 1732584193;
8209 var b = -271733879;
8210 var c = -1732584194;
8211 var d = 271733878;
8212
8213 for(var i = 0; i < x.length; i += 16)
8214 {
8215 var olda = a;
8216 var oldb = b;
8217 var oldc = c;
8218 var oldd = d;
8219
8220 a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
8221 d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
8222 c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
8223 b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
8224 a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
8225 d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
8226 c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
8227 b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
8228 a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
8229 d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
8230 c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
8231 b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
8232 a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
8233 d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
8234 c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
8235 b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
8236
8237 a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
8238 d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
8239 c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
8240 b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
8241 a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
8242 d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
8243 c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
8244 b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
8245 a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
8246 d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
8247 c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
8248 b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
8249 a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
8250 d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
8251 c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
8252 b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
8253
8254 a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
8255 d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
8256 c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
8257 b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
8258 a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
8259 d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
8260 c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
8261 b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
8262 a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
8263 d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
8264 c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
8265 b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
8266 a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
8267 d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
8268 c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
8269 b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
8270
8271 a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
8272 d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
8273 c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
8274 b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
8275 a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
8276 d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
8277 c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
8278 b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
8279 a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
8280 d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
8281 c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
8282 b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
8283 a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
8284 d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
8285 c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
8286 b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
8287
8288 a = safe_add(a, olda);
8289 b = safe_add(b, oldb);
8290 c = safe_add(c, oldc);
8291 d = safe_add(d, oldd);
8292 }
8293 return Array(a, b, c, d);
8294
8295}
8296
8297/*
8298 * These functions implement the four basic operations the algorithm uses.
8299 */
8300function md5_cmn(q, a, b, x, s, t)
8301{
8302 return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
8303}
8304function md5_ff(a, b, c, d, x, s, t)
8305{
8306 return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
8307}
8308function md5_gg(a, b, c, d, x, s, t)
8309{
8310 return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
8311}
8312function md5_hh(a, b, c, d, x, s, t)
8313{
8314 return md5_cmn(b ^ c ^ d, a, b, x, s, t);
8315}
8316function md5_ii(a, b, c, d, x, s, t)
8317{
8318 return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
8319}
8320
8321/*
8322 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
8323 * to work around bugs in some JS interpreters.
8324 */
8325function safe_add(x, y)
8326{
8327 var lsw = (x & 0xFFFF) + (y & 0xFFFF);
8328 var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
8329 return (msw << 16) | (lsw & 0xFFFF);
8330}
8331
8332/*
8333 * Bitwise rotate a 32-bit number to the left.
8334 */
8335function bit_rol(num, cnt)
8336{
8337 return (num << cnt) | (num >>> (32 - cnt));
8338}
8339
8340module.exports = function md5(buf) {
8341 return helpers.hash(buf, core_md5, 16);
8342};
ab78acc6
IC
8343},{"./helpers":33}],35:[function(require,module,exports){
8344arguments[4][12][0].apply(exports,arguments)
8345},{"dup":12}],36:[function(require,module,exports){
ebd8d4e8 8346(function (Buffer){
ebd8d4e8
IC
8347/*
8348CryptoJS v3.1.2
8349code.google.com/p/crypto-js
8350(c) 2009-2013 by Jeff Mott. All rights reserved.
8351code.google.com/p/crypto-js/wiki/License
8352*/
8353/** @preserve
8354(c) 2012 by Cédric Mesnil. All rights reserved.
8355
8356Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8357
8358 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8359 - 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.
8360
8361THIS 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.
8362*/
8363
ab78acc6 8364// constants table
ebd8d4e8 8365var zl = [
ab78acc6
IC
8366 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8367 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
8368 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
8369 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
8370 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
8371]
8372
ebd8d4e8 8373var zr = [
ab78acc6
IC
8374 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
8375 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
8376 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8377 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
8378 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
8379]
8380
ebd8d4e8 8381var sl = [
ab78acc6
IC
8382 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
8383 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
8384 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
8385 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
8386 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
8387]
8388
ebd8d4e8 8389var sr = [
ab78acc6
IC
8390 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
8391 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
8392 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
8393 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8394 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
8395]
ebd8d4e8 8396
ab78acc6
IC
8397var hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]
8398var hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]
ebd8d4e8 8399
ab78acc6
IC
8400function bytesToWords (bytes) {
8401 var words = []
ebd8d4e8 8402 for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
ab78acc6 8403 words[b >>> 5] |= bytes[i] << (24 - b % 32)
ebd8d4e8 8404 }
ab78acc6
IC
8405 return words
8406}
ebd8d4e8 8407
ab78acc6
IC
8408function wordsToBytes (words) {
8409 var bytes = []
ebd8d4e8 8410 for (var b = 0; b < words.length * 32; b += 8) {
ab78acc6 8411 bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)
ebd8d4e8 8412 }
ab78acc6
IC
8413 return bytes
8414}
ebd8d4e8 8415
ab78acc6
IC
8416function processBlock (H, M, offset) {
8417 // swap endian
ebd8d4e8 8418 for (var i = 0; i < 16; i++) {
ab78acc6
IC
8419 var offset_i = offset + i
8420 var M_offset_i = M[offset_i]
ebd8d4e8
IC
8421
8422 // Swap
8423 M[offset_i] = (
ab78acc6
IC
8424 (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
8425 (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
8426 )
ebd8d4e8
IC
8427 }
8428
8429 // Working variables
ab78acc6
IC
8430 var al, bl, cl, dl, el
8431 var ar, br, cr, dr, er
8432
8433 ar = al = H[0]
8434 br = bl = H[1]
8435 cr = cl = H[2]
8436 dr = dl = H[3]
8437 er = el = H[4]
8438
8439 // computation
8440 var t
8441 for (i = 0; i < 80; i += 1) {
8442 t = (al + M[offset + zl[i]]) | 0
8443 if (i < 16) {
8444 t += f1(bl, cl, dl) + hl[0]
8445 } else if (i < 32) {
8446 t += f2(bl, cl, dl) + hl[1]
8447 } else if (i < 48) {
8448 t += f3(bl, cl, dl) + hl[2]
8449 } else if (i < 64) {
8450 t += f4(bl, cl, dl) + hl[3]
ebd8d4e8 8451 } else {// if (i<80) {
ab78acc6
IC
8452 t += f5(bl, cl, dl) + hl[4]
8453 }
8454 t = t | 0
8455 t = rotl(t, sl[i])
8456 t = (t + el) | 0
8457 al = el
8458 el = dl
8459 dl = rotl(cl, 10)
8460 cl = bl
8461 bl = t
8462
8463 t = (ar + M[offset + zr[i]]) | 0
8464 if (i < 16) {
8465 t += f5(br, cr, dr) + hr[0]
8466 } else if (i < 32) {
8467 t += f4(br, cr, dr) + hr[1]
8468 } else if (i < 48) {
8469 t += f3(br, cr, dr) + hr[2]
8470 } else if (i < 64) {
8471 t += f2(br, cr, dr) + hr[3]
ebd8d4e8 8472 } else {// if (i<80) {
ab78acc6 8473 t += f1(br, cr, dr) + hr[4]
ebd8d4e8 8474 }
ebd8d4e8 8475
ab78acc6
IC
8476 t = t | 0
8477 t = rotl(t, sr[i])
8478 t = (t + er) | 0
8479 ar = er
8480 er = dr
8481 dr = rotl(cr, 10)
8482 cr = br
8483 br = t
8484 }
8485
8486 // intermediate hash value
8487 t = (H[1] + cl + dr) | 0
8488 H[1] = (H[2] + dl + er) | 0
8489 H[2] = (H[3] + el + ar) | 0
8490 H[3] = (H[4] + al + br) | 0
8491 H[4] = (H[0] + bl + cr) | 0
8492 H[0] = t
ebd8d4e8
IC
8493}
8494
ab78acc6
IC
8495function f1 (x, y, z) {
8496 return ((x) ^ (y) ^ (z))
ebd8d4e8
IC
8497}
8498
ab78acc6
IC
8499function f2 (x, y, z) {
8500 return (((x) & (y)) | ((~x) & (z)))
ebd8d4e8
IC
8501}
8502
ab78acc6
IC
8503function f3 (x, y, z) {
8504 return (((x) | (~(y))) ^ (z))
ebd8d4e8
IC
8505}
8506
ab78acc6
IC
8507function f4 (x, y, z) {
8508 return (((x) & (z)) | ((y) & (~(z))))
ebd8d4e8
IC
8509}
8510
ab78acc6
IC
8511function f5 (x, y, z) {
8512 return ((x) ^ ((y) | (~(z))))
ebd8d4e8
IC
8513}
8514
ab78acc6
IC
8515function rotl (x, n) {
8516 return (x << n) | (x >>> (32 - n))
8517}
8518
8519function ripemd160 (message) {
8520 var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]
ebd8d4e8 8521
ab78acc6
IC
8522 if (typeof message === 'string') {
8523 message = new Buffer(message, 'utf8')
8524 }
ebd8d4e8 8525
ab78acc6 8526 var m = bytesToWords(message)
ebd8d4e8 8527
ab78acc6
IC
8528 var nBitsLeft = message.length * 8
8529 var nBitsTotal = message.length * 8
ebd8d4e8
IC
8530
8531 // Add padding
ab78acc6 8532 m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32)
ebd8d4e8 8533 m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
ab78acc6
IC
8534 (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
8535 (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
8536 )
ebd8d4e8 8537
ab78acc6
IC
8538 for (var i = 0; i < m.length; i += 16) {
8539 processBlock(H, m, i)
ebd8d4e8
IC
8540 }
8541
ab78acc6
IC
8542 // swap endian
8543 for (i = 0; i < 5; i++) {
8544 // shortcut
8545 var H_i = H[i]
ebd8d4e8
IC
8546
8547 // Swap
ab78acc6
IC
8548 H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
8549 (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00)
ebd8d4e8
IC
8550 }
8551
ab78acc6
IC
8552 var digestbytes = wordsToBytes(H)
8553 return new Buffer(digestbytes)
ebd8d4e8
IC
8554}
8555
ab78acc6
IC
8556module.exports = ripemd160
8557
8558}).call(this,require("buffer").Buffer)
8559},{"buffer":7}],37:[function(require,module,exports){
8560(function (Buffer){
8561// prototype class for hash functions
8562function Hash (blockSize, finalSize) {
8563 this._block = new Buffer(blockSize)
8564 this._finalSize = finalSize
8565 this._blockSize = blockSize
8566 this._len = 0
8567 this._s = 0
8568}
ebd8d4e8 8569
ab78acc6
IC
8570Hash.prototype.update = function (data, enc) {
8571 if (typeof data === 'string') {
8572 enc = enc || 'utf8'
8573 data = new Buffer(data, enc)
8574 }
ebd8d4e8 8575
ab78acc6
IC
8576 var l = this._len += data.length
8577 var s = this._s || 0
8578 var f = 0
8579 var buffer = this._block
ebd8d4e8 8580
ab78acc6
IC
8581 while (s < l) {
8582 var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
8583 var ch = (t - f)
ebd8d4e8 8584
ab78acc6
IC
8585 for (var i = 0; i < ch; i++) {
8586 buffer[(s % this._blockSize) + i] = data[i + f]
8587 }
8588
8589 s += ch
8590 f += ch
ebd8d4e8 8591
ab78acc6
IC
8592 if ((s % this._blockSize) === 0) {
8593 this._update(buffer)
8594 }
ebd8d4e8 8595 }
ab78acc6
IC
8596 this._s = s
8597
8598 return this
8599}
ebd8d4e8 8600
ab78acc6
IC
8601Hash.prototype.digest = function (enc) {
8602 // Suppose the length of the message M, in bits, is l
8603 var l = this._len * 8
8604
8605 // Append the bit 1 to the end of the message
8606 this._block[this._len % this._blockSize] = 0x80
8607
8608 // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
8609 this._block.fill(0, this._len % this._blockSize + 1)
8610
8611 if (l % (this._blockSize * 8) >= this._finalSize * 8) {
8612 this._update(this._block)
8613 this._block.fill(0)
ebd8d4e8
IC
8614 }
8615
ab78acc6
IC
8616 // to this append the block which is equal to the number l written in binary
8617 // TODO: handle case where l is > Math.pow(2, 29)
8618 this._block.writeInt32BE(l, this._blockSize - 4)
8619
8620 var hash = this._update(this._block) || this._hash()
ebd8d4e8 8621
ab78acc6
IC
8622 return enc ? hash.toString(enc) : hash
8623}
ebd8d4e8 8624
ab78acc6
IC
8625Hash.prototype._update = function () {
8626 throw new Error('_update must be implemented by subclass')
8627}
ebd8d4e8 8628
ab78acc6 8629module.exports = Hash
ebd8d4e8 8630
ab78acc6
IC
8631}).call(this,require("buffer").Buffer)
8632},{"buffer":7}],38:[function(require,module,exports){
8633var exports = module.exports = function SHA (algorithm) {
8634 algorithm = algorithm.toLowerCase()
ebd8d4e8 8635
ab78acc6
IC
8636 var Algorithm = exports[algorithm]
8637 if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
ebd8d4e8 8638
ab78acc6
IC
8639 return new Algorithm()
8640}
8641
8642exports.sha = require('./sha')
8643exports.sha1 = require('./sha1')
8644exports.sha224 = require('./sha224')
8645exports.sha256 = require('./sha256')
8646exports.sha384 = require('./sha384')
8647exports.sha512 = require('./sha512')
8648
8649},{"./sha":39,"./sha1":40,"./sha224":41,"./sha256":42,"./sha384":43,"./sha512":44}],39:[function(require,module,exports){
8650(function (Buffer){
8651/*
8652 * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
8653 * in FIPS PUB 180-1
8654 * This source code is derived from sha1.js of the same repository.
8655 * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
8656 * operation was added.
8657 */
ebd8d4e8 8658
ab78acc6
IC
8659var inherits = require('inherits')
8660var Hash = require('./hash')
ebd8d4e8 8661
ab78acc6 8662var W = new Array(80)
ebd8d4e8 8663
ab78acc6
IC
8664function Sha () {
8665 this.init()
8666 this._w = W
ebd8d4e8 8667
ab78acc6
IC
8668 Hash.call(this, 64, 56)
8669}
ebd8d4e8 8670
ab78acc6 8671inherits(Sha, Hash)
ebd8d4e8 8672
ab78acc6
IC
8673Sha.prototype.init = function () {
8674 this._a = 0x67452301 | 0
8675 this._b = 0xefcdab89 | 0
8676 this._c = 0x98badcfe | 0
8677 this._d = 0x10325476 | 0
8678 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8679
ab78acc6
IC
8680 return this
8681}
8682
8683/*
8684 * Bitwise rotate a 32-bit number to the left.
8685 */
8686function rol (num, cnt) {
8687 return (num << cnt) | (num >>> (32 - cnt))
8688}
8689
8690Sha.prototype._update = function (M) {
8691 var W = this._w
8692
8693 var a = this._a
8694 var b = this._b
8695 var c = this._c
8696 var d = this._d
8697 var e = this._e
ebd8d4e8 8698
ab78acc6
IC
8699 var j = 0, k
8700
8701 /*
8702 * SHA-1 has a bitwise rotate left operation. But, SHA is not
8703 * function calcW() { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8704 */
8705 function calcW () { return W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16] }
8706 function loop (w, f) {
8707 W[j] = w
8708
8709 var t = rol(a, 5) + f + e + w + k
8710
8711 e = d
8712 d = c
8713 c = rol(b, 30)
8714 b = a
8715 a = t
8716 j++
ebd8d4e8
IC
8717 }
8718
ab78acc6
IC
8719 k = 1518500249
8720 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8721 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8722 k = 1859775393
8723 while (j < 40) loop(calcW(), b ^ c ^ d)
8724 k = -1894007588
8725 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8726 k = -899497514
8727 while (j < 80) loop(calcW(), b ^ c ^ d)
8728
8729 this._a = (a + this._a) | 0
8730 this._b = (b + this._b) | 0
8731 this._c = (c + this._c) | 0
8732 this._d = (d + this._d) | 0
8733 this._e = (e + this._e) | 0
ebd8d4e8
IC
8734}
8735
ab78acc6
IC
8736Sha.prototype._hash = function () {
8737 var H = new Buffer(20)
8738
8739 H.writeInt32BE(this._a | 0, 0)
8740 H.writeInt32BE(this._b | 0, 4)
8741 H.writeInt32BE(this._c | 0, 8)
8742 H.writeInt32BE(this._d | 0, 12)
8743 H.writeInt32BE(this._e | 0, 16)
8744
8745 return H
ebd8d4e8
IC
8746}
8747
ab78acc6 8748module.exports = Sha
ebd8d4e8 8749
ebd8d4e8 8750
ab78acc6
IC
8751}).call(this,require("buffer").Buffer)
8752},{"./hash":37,"buffer":7,"inherits":35}],40:[function(require,module,exports){
8753(function (Buffer){
ebd8d4e8
IC
8754/*
8755 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
8756 * in FIPS PUB 180-1
8757 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
8758 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8759 * Distributed under the BSD License
8760 * See http://pajhome.org.uk/crypt/md5 for details.
8761 */
ebd8d4e8 8762
ab78acc6
IC
8763var inherits = require('inherits')
8764var Hash = require('./hash')
ebd8d4e8 8765
ab78acc6 8766var W = new Array(80)
ebd8d4e8 8767
ab78acc6
IC
8768function Sha1 () {
8769 this.init()
8770 this._w = W
ebd8d4e8 8771
ab78acc6
IC
8772 Hash.call(this, 64, 56)
8773}
ebd8d4e8 8774
ab78acc6 8775inherits(Sha1, Hash)
ebd8d4e8 8776
ab78acc6
IC
8777Sha1.prototype.init = function () {
8778 this._a = 0x67452301 | 0
8779 this._b = 0xefcdab89 | 0
8780 this._c = 0x98badcfe | 0
8781 this._d = 0x10325476 | 0
8782 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8783
ab78acc6
IC
8784 return this
8785}
ebd8d4e8 8786
ab78acc6
IC
8787/*
8788 * Bitwise rotate a 32-bit number to the left.
8789 */
8790function rol (num, cnt) {
8791 return (num << cnt) | (num >>> (32 - cnt))
8792}
ebd8d4e8 8793
ab78acc6
IC
8794Sha1.prototype._update = function (M) {
8795 var W = this._w
ebd8d4e8 8796
ab78acc6
IC
8797 var a = this._a
8798 var b = this._b
8799 var c = this._c
8800 var d = this._d
8801 var e = this._e
ebd8d4e8 8802
ab78acc6 8803 var j = 0, k
ebd8d4e8 8804
ab78acc6
IC
8805 function calcW () { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8806 function loop (w, f) {
8807 W[j] = w
ebd8d4e8 8808
ab78acc6 8809 var t = rol(a, 5) + f + e + w + k
ebd8d4e8 8810
ab78acc6
IC
8811 e = d
8812 d = c
8813 c = rol(b, 30)
8814 b = a
8815 a = t
8816 j++
ebd8d4e8
IC
8817 }
8818
ab78acc6
IC
8819 k = 1518500249
8820 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8821 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8822 k = 1859775393
8823 while (j < 40) loop(calcW(), b ^ c ^ d)
8824 k = -1894007588
8825 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8826 k = -899497514
8827 while (j < 80) loop(calcW(), b ^ c ^ d)
ebd8d4e8 8828
ab78acc6
IC
8829 this._a = (a + this._a) | 0
8830 this._b = (b + this._b) | 0
8831 this._c = (c + this._c) | 0
8832 this._d = (d + this._d) | 0
8833 this._e = (e + this._e) | 0
8834}
ebd8d4e8 8835
ab78acc6
IC
8836Sha1.prototype._hash = function () {
8837 var H = new Buffer(20)
ebd8d4e8 8838
ab78acc6
IC
8839 H.writeInt32BE(this._a | 0, 0)
8840 H.writeInt32BE(this._b | 0, 4)
8841 H.writeInt32BE(this._c | 0, 8)
8842 H.writeInt32BE(this._d | 0, 12)
8843 H.writeInt32BE(this._e | 0, 16)
ebd8d4e8 8844
ab78acc6
IC
8845 return H
8846}
ebd8d4e8 8847
ab78acc6 8848module.exports = Sha1
ebd8d4e8 8849
ab78acc6
IC
8850}).call(this,require("buffer").Buffer)
8851},{"./hash":37,"buffer":7,"inherits":35}],41:[function(require,module,exports){
8852(function (Buffer){
8853/**
8854 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8855 * in FIPS 180-2
8856 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8857 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8858 *
8859 */
ebd8d4e8 8860
ab78acc6
IC
8861var inherits = require('inherits')
8862var Sha256 = require('./sha256')
8863var Hash = require('./hash')
ebd8d4e8 8864
ab78acc6 8865var W = new Array(64)
ebd8d4e8 8866
ab78acc6
IC
8867function Sha224 () {
8868 this.init()
ebd8d4e8 8869
ab78acc6 8870 this._w = W // new Array(64)
ebd8d4e8 8871
ab78acc6
IC
8872 Hash.call(this, 64, 56)
8873}
ebd8d4e8 8874
ab78acc6 8875inherits(Sha224, Sha256)
ebd8d4e8 8876
ab78acc6
IC
8877Sha224.prototype.init = function () {
8878 this._a = 0xc1059ed8 | 0
8879 this._b = 0x367cd507 | 0
8880 this._c = 0x3070dd17 | 0
8881 this._d = 0xf70e5939 | 0
8882 this._e = 0xffc00b31 | 0
8883 this._f = 0x68581511 | 0
8884 this._g = 0x64f98fa7 | 0
8885 this._h = 0xbefa4fa4 | 0
8886
8887 return this
8888}
8889
8890Sha224.prototype._hash = function () {
8891 var H = new Buffer(28)
8892
8893 H.writeInt32BE(this._a, 0)
8894 H.writeInt32BE(this._b, 4)
8895 H.writeInt32BE(this._c, 8)
8896 H.writeInt32BE(this._d, 12)
8897 H.writeInt32BE(this._e, 16)
8898 H.writeInt32BE(this._f, 20)
8899 H.writeInt32BE(this._g, 24)
8900
8901 return H
ebd8d4e8
IC
8902}
8903
ab78acc6 8904module.exports = Sha224
ebd8d4e8 8905
ab78acc6
IC
8906}).call(this,require("buffer").Buffer)
8907},{"./hash":37,"./sha256":42,"buffer":7,"inherits":35}],42:[function(require,module,exports){
8908(function (Buffer){
ebd8d4e8
IC
8909/**
8910 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8911 * in FIPS 180-2
8912 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8913 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8914 *
8915 */
8916
ab78acc6
IC
8917var inherits = require('inherits')
8918var Hash = require('./hash')
8919
8920var K = [
8921 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
8922 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
8923 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
8924 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
8925 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
8926 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
8927 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
8928 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
8929 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
8930 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
8931 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
8932 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
8933 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
8934 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
8935 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
8936 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
8937]
8938
8939var W = new Array(64)
8940
8941function Sha256 () {
8942 this.init()
8943
8944 this._w = W // new Array(64)
8945
8946 Hash.call(this, 64, 56)
8947}
8948
8949inherits(Sha256, Hash)
8950
8951Sha256.prototype.init = function () {
8952 this._a = 0x6a09e667 | 0
8953 this._b = 0xbb67ae85 | 0
8954 this._c = 0x3c6ef372 | 0
8955 this._d = 0xa54ff53a | 0
8956 this._e = 0x510e527f | 0
8957 this._f = 0x9b05688c | 0
8958 this._g = 0x1f83d9ab | 0
8959 this._h = 0x5be0cd19 | 0
ebd8d4e8 8960
ab78acc6
IC
8961 return this
8962}
ebd8d4e8 8963
ab78acc6
IC
8964function S (X, n) {
8965 return (X >>> n) | (X << (32 - n))
8966}
ebd8d4e8 8967
ab78acc6
IC
8968function R (X, n) {
8969 return (X >>> n)
8970}
ebd8d4e8 8971
ab78acc6
IC
8972function Ch (x, y, z) {
8973 return ((x & y) ^ ((~x) & z))
8974}
ebd8d4e8 8975
ab78acc6
IC
8976function Maj (x, y, z) {
8977 return ((x & y) ^ (x & z) ^ (y & z))
8978}
ebd8d4e8 8979
ab78acc6
IC
8980function Sigma0256 (x) {
8981 return (S(x, 2) ^ S(x, 13) ^ S(x, 22))
8982}
ebd8d4e8 8983
ab78acc6
IC
8984function Sigma1256 (x) {
8985 return (S(x, 6) ^ S(x, 11) ^ S(x, 25))
8986}
ebd8d4e8 8987
ab78acc6
IC
8988function Gamma0256 (x) {
8989 return (S(x, 7) ^ S(x, 18) ^ R(x, 3))
8990}
ebd8d4e8 8991
ab78acc6
IC
8992function Gamma1256 (x) {
8993 return (S(x, 17) ^ S(x, 19) ^ R(x, 10))
8994}
ebd8d4e8 8995
ab78acc6
IC
8996Sha256.prototype._update = function (M) {
8997 var W = this._w
ebd8d4e8 8998
ab78acc6
IC
8999 var a = this._a | 0
9000 var b = this._b | 0
9001 var c = this._c | 0
9002 var d = this._d | 0
9003 var e = this._e | 0
9004 var f = this._f | 0
9005 var g = this._g | 0
9006 var h = this._h | 0
ebd8d4e8 9007
ab78acc6 9008 var j = 0
ebd8d4e8 9009
ab78acc6
IC
9010 function calcW () { return Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16] }
9011 function loop (w) {
9012 W[j] = w
ebd8d4e8 9013
ab78acc6
IC
9014 var T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w
9015 var T2 = Sigma0256(a) + Maj(a, b, c)
ebd8d4e8 9016
ab78acc6
IC
9017 h = g
9018 g = f
9019 f = e
9020 e = d + T1
9021 d = c
9022 c = b
9023 b = a
9024 a = T1 + T2
ebd8d4e8 9025
ab78acc6 9026 j++
ebd8d4e8
IC
9027 }
9028
ab78acc6
IC
9029 while (j < 16) loop(M.readInt32BE(j * 4))
9030 while (j < 64) loop(calcW())
ebd8d4e8 9031
ab78acc6
IC
9032 this._a = (a + this._a) | 0
9033 this._b = (b + this._b) | 0
9034 this._c = (c + this._c) | 0
9035 this._d = (d + this._d) | 0
9036 this._e = (e + this._e) | 0
9037 this._f = (f + this._f) | 0
9038 this._g = (g + this._g) | 0
9039 this._h = (h + this._h) | 0
9040}
ebd8d4e8 9041
ab78acc6
IC
9042Sha256.prototype._hash = function () {
9043 var H = new Buffer(32)
ebd8d4e8 9044
ab78acc6
IC
9045 H.writeInt32BE(this._a, 0)
9046 H.writeInt32BE(this._b, 4)
9047 H.writeInt32BE(this._c, 8)
9048 H.writeInt32BE(this._d, 12)
9049 H.writeInt32BE(this._e, 16)
9050 H.writeInt32BE(this._f, 20)
9051 H.writeInt32BE(this._g, 24)
9052 H.writeInt32BE(this._h, 28)
ebd8d4e8 9053
ab78acc6
IC
9054 return H
9055}
ebd8d4e8 9056
ab78acc6 9057module.exports = Sha256
ebd8d4e8 9058
ab78acc6
IC
9059}).call(this,require("buffer").Buffer)
9060},{"./hash":37,"buffer":7,"inherits":35}],43:[function(require,module,exports){
9061(function (Buffer){
9062var inherits = require('inherits')
9063var SHA512 = require('./sha512')
9064var Hash = require('./hash')
ebd8d4e8 9065
ab78acc6 9066var W = new Array(160)
ebd8d4e8 9067
ab78acc6
IC
9068function Sha384 () {
9069 this.init()
9070 this._w = W
ebd8d4e8 9071
ab78acc6
IC
9072 Hash.call(this, 128, 112)
9073}
ebd8d4e8 9074
ab78acc6 9075inherits(Sha384, SHA512)
ebd8d4e8 9076
ab78acc6
IC
9077Sha384.prototype.init = function () {
9078 this._a = 0xcbbb9d5d | 0
9079 this._b = 0x629a292a | 0
9080 this._c = 0x9159015a | 0
9081 this._d = 0x152fecd8 | 0
9082 this._e = 0x67332667 | 0
9083 this._f = 0x8eb44a87 | 0
9084 this._g = 0xdb0c2e0d | 0
9085 this._h = 0x47b5481d | 0
ebd8d4e8 9086
ab78acc6
IC
9087 this._al = 0xc1059ed8 | 0
9088 this._bl = 0x367cd507 | 0
9089 this._cl = 0x3070dd17 | 0
9090 this._dl = 0xf70e5939 | 0
9091 this._el = 0xffc00b31 | 0
9092 this._fl = 0x68581511 | 0
9093 this._gl = 0x64f98fa7 | 0
9094 this._hl = 0xbefa4fa4 | 0
ebd8d4e8 9095
ab78acc6 9096 return this
ebd8d4e8
IC
9097}
9098
ab78acc6
IC
9099Sha384.prototype._hash = function () {
9100 var H = new Buffer(48)
ebd8d4e8 9101
ab78acc6
IC
9102 function writeInt64BE (h, l, offset) {
9103 H.writeInt32BE(h, offset)
9104 H.writeInt32BE(l, offset + 4)
ebd8d4e8 9105 }
ebd8d4e8 9106
ab78acc6
IC
9107 writeInt64BE(this._a, this._al, 0)
9108 writeInt64BE(this._b, this._bl, 8)
9109 writeInt64BE(this._c, this._cl, 16)
9110 writeInt64BE(this._d, this._dl, 24)
9111 writeInt64BE(this._e, this._el, 32)
9112 writeInt64BE(this._f, this._fl, 40)
9113
9114 return H
ebd8d4e8
IC
9115}
9116
ab78acc6 9117module.exports = Sha384
ebd8d4e8 9118
ab78acc6
IC
9119}).call(this,require("buffer").Buffer)
9120},{"./hash":37,"./sha512":44,"buffer":7,"inherits":35}],44:[function(require,module,exports){
ebd8d4e8 9121(function (Buffer){
ab78acc6
IC
9122var inherits = require('inherits')
9123var Hash = require('./hash')
9124
9125var K = [
9126 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
9127 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
9128 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
9129 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
9130 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
9131 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
9132 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
9133 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
9134 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
9135 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
9136 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
9137 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
9138 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
9139 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
9140 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
9141 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
9142 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
9143 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
9144 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
9145 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
9146 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
9147 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
9148 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
9149 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
9150 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
9151 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
9152 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
9153 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
9154 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
9155 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
9156 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
9157 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
9158 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
9159 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
9160 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
9161 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
9162 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
9163 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
9164 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
9165 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
9166]
9167
9168var W = new Array(160)
9169
9170function Sha512 () {
9171 this.init()
9172 this._w = W
9173
9174 Hash.call(this, 128, 112)
9175}
9176
9177inherits(Sha512, Hash)
9178
9179Sha512.prototype.init = function () {
9180 this._a = 0x6a09e667 | 0
9181 this._b = 0xbb67ae85 | 0
9182 this._c = 0x3c6ef372 | 0
9183 this._d = 0xa54ff53a | 0
9184 this._e = 0x510e527f | 0
9185 this._f = 0x9b05688c | 0
9186 this._g = 0x1f83d9ab | 0
9187 this._h = 0x5be0cd19 | 0
9188
9189 this._al = 0xf3bcc908 | 0
9190 this._bl = 0x84caa73b | 0
9191 this._cl = 0xfe94f82b | 0
9192 this._dl = 0x5f1d36f1 | 0
9193 this._el = 0xade682d1 | 0
9194 this._fl = 0x2b3e6c1f | 0
9195 this._gl = 0xfb41bd6b | 0
9196 this._hl = 0x137e2179 | 0
ebd8d4e8 9197
ab78acc6 9198 return this
ebd8d4e8
IC
9199}
9200
ab78acc6
IC
9201function S (X, Xl, n) {
9202 return (X >>> n) | (Xl << (32 - n))
9203}
9204
9205function Ch (x, y, z) {
9206 return ((x & y) ^ ((~x) & z))
9207}
9208
9209function Maj (x, y, z) {
9210 return ((x & y) ^ (x & z) ^ (y & z))
9211}
9212
9213Sha512.prototype._update = function (M) {
9214 var W = this._w
9215
9216 var a = this._a | 0
9217 var b = this._b | 0
9218 var c = this._c | 0
9219 var d = this._d | 0
9220 var e = this._e | 0
9221 var f = this._f | 0
9222 var g = this._g | 0
9223 var h = this._h | 0
9224
9225 var al = this._al | 0
9226 var bl = this._bl | 0
9227 var cl = this._cl | 0
9228 var dl = this._dl | 0
9229 var el = this._el | 0
9230 var fl = this._fl | 0
9231 var gl = this._gl | 0
9232 var hl = this._hl | 0
9233
9234 var i = 0, j = 0
9235 var Wi, Wil
9236 function calcW () {
9237 var x = W[j - 15 * 2]
9238 var xl = W[j - 15 * 2 + 1]
9239 var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
9240 var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
9241
9242 x = W[j - 2 * 2]
9243 xl = W[j - 2 * 2 + 1]
9244 var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
9245 var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
9246
9247 // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
9248 var Wi7 = W[j - 7 * 2]
9249 var Wi7l = W[j - 7 * 2 + 1]
9250
9251 var Wi16 = W[j - 16 * 2]
9252 var Wi16l = W[j - 16 * 2 + 1]
ebd8d4e8 9253
ab78acc6
IC
9254 Wil = gamma0l + Wi7l
9255 Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
9256 Wil = Wil + gamma1l
9257 Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
9258 Wil = Wil + Wi16l
9259 Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
9260 }
9261
9262 function loop () {
9263 W[j] = Wi
9264 W[j + 1] = Wil
ebd8d4e8 9265
ab78acc6
IC
9266 var maj = Maj(a, b, c)
9267 var majl = Maj(al, bl, cl)
ebd8d4e8 9268
ab78acc6
IC
9269 var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
9270 var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
9271 var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
9272 var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)
ebd8d4e8 9273
ab78acc6
IC
9274 // t1 = h + sigma1 + ch + K[i] + W[i]
9275 var Ki = K[j]
9276 var Kil = K[j + 1]
ebd8d4e8 9277
ab78acc6
IC
9278 var ch = Ch(e, f, g)
9279 var chl = Ch(el, fl, gl)
ebd8d4e8 9280
ab78acc6
IC
9281 var t1l = hl + sigma1l
9282 var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
9283 t1l = t1l + chl
9284 t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
9285 t1l = t1l + Kil
9286 t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
9287 t1l = t1l + Wil
9288 t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)
ebd8d4e8 9289
ab78acc6
IC
9290 // t2 = sigma0 + maj
9291 var t2l = sigma0l + majl
9292 var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)
ebd8d4e8 9293
ab78acc6
IC
9294 h = g
9295 hl = gl
9296 g = f
9297 gl = fl
9298 f = e
9299 fl = el
9300 el = (dl + t1l) | 0
9301 e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9302 d = c
9303 dl = cl
9304 c = b
9305 cl = bl
9306 b = a
9307 bl = al
9308 al = (t1l + t2l) | 0
9309 a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
9310
9311 i++
9312 j += 2
9313 }
9314
9315 while (i < 16) {
9316 Wi = M.readInt32BE(j * 4)
9317 Wil = M.readInt32BE(j * 4 + 4)
9318
9319 loop()
9320 }
9321
9322 while (i < 80) {
9323 calcW()
9324 loop()
9325 }
9326
9327 this._al = (this._al + al) | 0
9328 this._bl = (this._bl + bl) | 0
9329 this._cl = (this._cl + cl) | 0
9330 this._dl = (this._dl + dl) | 0
9331 this._el = (this._el + el) | 0
9332 this._fl = (this._fl + fl) | 0
9333 this._gl = (this._gl + gl) | 0
9334 this._hl = (this._hl + hl) | 0
9335
9336 this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
9337 this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
9338 this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
9339 this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9340 this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
9341 this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
9342 this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
9343 this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
9344}
9345
9346Sha512.prototype._hash = function () {
9347 var H = new Buffer(64)
9348
9349 function writeInt64BE (h, l, offset) {
9350 H.writeInt32BE(h, offset)
9351 H.writeInt32BE(l, offset + 4)
9352 }
9353
9354 writeInt64BE(this._a, this._al, 0)
9355 writeInt64BE(this._b, this._bl, 8)
9356 writeInt64BE(this._c, this._cl, 16)
9357 writeInt64BE(this._d, this._dl, 24)
9358 writeInt64BE(this._e, this._el, 32)
9359 writeInt64BE(this._f, this._fl, 40)
9360 writeInt64BE(this._g, this._gl, 48)
9361 writeInt64BE(this._h, this._hl, 56)
9362
9363 return H
9364}
9365
9366module.exports = Sha512
9367
9368}).call(this,require("buffer").Buffer)
9369},{"./hash":37,"buffer":7,"inherits":35}],45:[function(require,module,exports){
9370(function (Buffer){
9371'use strict';
9372var createHash = require('create-hash/browser');
9373var inherits = require('inherits')
ebd8d4e8 9374
ab78acc6 9375var Transform = require('stream').Transform
ebd8d4e8 9376
ab78acc6
IC
9377var ZEROS = new Buffer(128)
9378ZEROS.fill(0)
ebd8d4e8 9379
ab78acc6
IC
9380function Hmac(alg, key) {
9381 Transform.call(this)
ebd8d4e8 9382
ab78acc6
IC
9383 if (typeof key === 'string') {
9384 key = new Buffer(key)
9385 }
ebd8d4e8 9386
ab78acc6 9387 var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
ebd8d4e8 9388
ab78acc6
IC
9389 this._alg = alg
9390 this._key = key
ebd8d4e8 9391
ab78acc6
IC
9392 if (key.length > blocksize) {
9393 key = createHash(alg).update(key).digest()
ebd8d4e8 9394
ab78acc6
IC
9395 } else if (key.length < blocksize) {
9396 key = Buffer.concat([key, ZEROS], blocksize)
9397 }
ebd8d4e8 9398
ab78acc6
IC
9399 var ipad = this._ipad = new Buffer(blocksize)
9400 var opad = this._opad = new Buffer(blocksize)
ebd8d4e8 9401
ab78acc6
IC
9402 for (var i = 0; i < blocksize; i++) {
9403 ipad[i] = key[i] ^ 0x36
9404 opad[i] = key[i] ^ 0x5C
9405 }
ebd8d4e8 9406
ab78acc6
IC
9407 this._hash = createHash(alg).update(ipad)
9408}
ebd8d4e8 9409
ab78acc6 9410inherits(Hmac, Transform)
ebd8d4e8 9411
ab78acc6
IC
9412Hmac.prototype.update = function (data, enc) {
9413 this._hash.update(data, enc)
ebd8d4e8 9414
ab78acc6
IC
9415 return this
9416}
ebd8d4e8 9417
ab78acc6
IC
9418Hmac.prototype._transform = function (data, _, next) {
9419 this._hash.update(data)
ebd8d4e8 9420
ab78acc6
IC
9421 next()
9422}
ebd8d4e8 9423
ab78acc6
IC
9424Hmac.prototype._flush = function (next) {
9425 this.push(this.digest())
ebd8d4e8 9426
ab78acc6
IC
9427 next()
9428}
ebd8d4e8 9429
ab78acc6
IC
9430Hmac.prototype.digest = function (enc) {
9431 var h = this._hash.digest()
ebd8d4e8 9432
ab78acc6
IC
9433 return createHash(this._alg).update(this._opad).update(h).digest(enc)
9434}
ebd8d4e8 9435
ab78acc6
IC
9436module.exports = function createHmac(alg, key) {
9437 return new Hmac(alg, key)
9438}
ebd8d4e8 9439
ab78acc6
IC
9440}).call(this,require("buffer").Buffer)
9441},{"buffer":7,"create-hash/browser":32,"inherits":46,"stream":26}],46:[function(require,module,exports){
9442arguments[4][12][0].apply(exports,arguments)
9443},{"dup":12}],47:[function(require,module,exports){
9444var assert = require('assert')
9445var BigInteger = require('bigi')
ebd8d4e8 9446
ab78acc6 9447var Point = require('./point')
ebd8d4e8
IC
9448
9449function Curve(p, a, b, Gx, Gy, n, h) {
9450 this.p = p
9451 this.a = a
9452 this.b = b
9453 this.G = Point.fromAffine(this, Gx, Gy)
9454 this.n = n
9455 this.h = h
9456
9457 this.infinity = new Point(this, null, null, BigInteger.ZERO)
9458
9459 // result caching
9460 this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)
9461}
9462
9463Curve.prototype.pointFromX = function(isOdd, x) {
9464 var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)
ab78acc6 9465 var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves
ebd8d4e8
IC
9466
9467 var y = beta
9468 if (beta.isEven() ^ !isOdd) {
9469 y = this.p.subtract(y) // -y % p
9470 }
9471
9472 return Point.fromAffine(this, x, y)
9473}
9474
9475Curve.prototype.isInfinity = function(Q) {
9476 if (Q === this.infinity) return true
9477
9478 return Q.z.signum() === 0 && Q.y.signum() !== 0
9479}
9480
9481Curve.prototype.isOnCurve = function(Q) {
9482 if (this.isInfinity(Q)) return true
9483
9484 var x = Q.affineX
9485 var y = Q.affineY
9486 var a = this.a
9487 var b = this.b
9488 var p = this.p
9489
9490 // Check that xQ and yQ are integers in the interval [0, p - 1]
9491 if (x.signum() < 0 || x.compareTo(p) >= 0) return false
9492 if (y.signum() < 0 || y.compareTo(p) >= 0) return false
9493
9494 // and check that y^2 = x^3 + ax + b (mod p)
9495 var lhs = y.square().mod(p)
9496 var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)
9497 return lhs.equals(rhs)
9498}
9499
9500/**
9501 * Validate an elliptic curve point.
9502 *
9503 * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive
9504 */
9505Curve.prototype.validate = function(Q) {
9506 // Check Q != O
9507 assert(!this.isInfinity(Q), 'Point is at infinity')
9508 assert(this.isOnCurve(Q), 'Point is not on the curve')
9509
9510 // Check nQ = O (where Q is a scalar multiple of G)
9511 var nQ = Q.multiply(this.n)
9512 assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')
9513
9514 return true
9515}
9516
9517module.exports = Curve
9518
ab78acc6 9519},{"./point":51,"assert":5,"bigi":3}],48:[function(require,module,exports){
ebd8d4e8
IC
9520module.exports={
9521 "secp128r1": {
9522 "p": "fffffffdffffffffffffffffffffffff",
9523 "a": "fffffffdfffffffffffffffffffffffc",
9524 "b": "e87579c11079f43dd824993c2cee5ed3",
9525 "n": "fffffffe0000000075a30d1b9038a115",
9526 "h": "01",
9527 "Gx": "161ff7528b899b2d0c28607ca52c5b86",
9528 "Gy": "cf5ac8395bafeb13c02da292dded7a83"
9529 },
9530 "secp160k1": {
9531 "p": "fffffffffffffffffffffffffffffffeffffac73",
9532 "a": "00",
9533 "b": "07",
9534 "n": "0100000000000000000001b8fa16dfab9aca16b6b3",
9535 "h": "01",
9536 "Gx": "3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
9537 "Gy": "938cf935318fdced6bc28286531733c3f03c4fee"
9538 },
9539 "secp160r1": {
9540 "p": "ffffffffffffffffffffffffffffffff7fffffff",
9541 "a": "ffffffffffffffffffffffffffffffff7ffffffc",
9542 "b": "1c97befc54bd7a8b65acf89f81d4d4adc565fa45",
9543 "n": "0100000000000000000001f4c8f927aed3ca752257",
9544 "h": "01",
9545 "Gx": "4a96b5688ef573284664698968c38bb913cbfc82",
9546 "Gy": "23a628553168947d59dcc912042351377ac5fb32"
9547 },
9548 "secp192k1": {
9549 "p": "fffffffffffffffffffffffffffffffffffffffeffffee37",
9550 "a": "00",
9551 "b": "03",
9552 "n": "fffffffffffffffffffffffe26f2fc170f69466a74defd8d",
9553 "h": "01",
9554 "Gx": "db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
9555 "Gy": "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
9556 },
9557 "secp192r1": {
9558 "p": "fffffffffffffffffffffffffffffffeffffffffffffffff",
9559 "a": "fffffffffffffffffffffffffffffffefffffffffffffffc",
9560 "b": "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
9561 "n": "ffffffffffffffffffffffff99def836146bc9b1b4d22831",
9562 "h": "01",
9563 "Gx": "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
9564 "Gy": "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"
9565 },
ebd8d4e8
IC
9566 "secp256k1": {
9567 "p": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
9568 "a": "00",
9569 "b": "07",
9570 "n": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
9571 "h": "01",
9572 "Gx": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
9573 "Gy": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
9574 },
9575 "secp256r1": {
9576 "p": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
9577 "a": "ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",
9578 "b": "5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
9579 "n": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
9580 "h": "01",
9581 "Gx": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
9582 "Gy": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
9583 }
9584}
9585
ab78acc6
IC
9586},{}],49:[function(require,module,exports){
9587var Point = require('./point')
9588var Curve = require('./curve')
ebd8d4e8 9589
ab78acc6 9590var getCurveByName = require('./names')
ebd8d4e8
IC
9591
9592module.exports = {
9593 Curve: Curve,
9594 Point: Point,
9595 getCurveByName: getCurveByName
9596}
9597
ab78acc6
IC
9598},{"./curve":47,"./names":50,"./point":51}],50:[function(require,module,exports){
9599var BigInteger = require('bigi')
ebd8d4e8 9600
ab78acc6
IC
9601var curves = require('./curves')
9602var Curve = require('./curve')
ebd8d4e8
IC
9603
9604function getCurveByName(name) {
9605 var curve = curves[name]
9606 if (!curve) return null
9607
9608 var p = new BigInteger(curve.p, 16)
9609 var a = new BigInteger(curve.a, 16)
9610 var b = new BigInteger(curve.b, 16)
9611 var n = new BigInteger(curve.n, 16)
9612 var h = new BigInteger(curve.h, 16)
9613 var Gx = new BigInteger(curve.Gx, 16)
9614 var Gy = new BigInteger(curve.Gy, 16)
9615
9616 return new Curve(p, a, b, Gx, Gy, n, h)
9617}
9618
9619module.exports = getCurveByName
9620
ab78acc6 9621},{"./curve":47,"./curves":48,"bigi":3}],51:[function(require,module,exports){
ebd8d4e8 9622(function (Buffer){
ab78acc6
IC
9623var assert = require('assert')
9624var BigInteger = require('bigi')
ebd8d4e8
IC
9625
9626var THREE = BigInteger.valueOf(3)
9627
9628function Point(curve, x, y, z) {
9629 assert.notStrictEqual(z, undefined, 'Missing Z coordinate')
9630
9631 this.curve = curve
9632 this.x = x
9633 this.y = y
9634 this.z = z
9635 this._zInv = null
9636
9637 this.compressed = true
9638}
9639
9640Object.defineProperty(Point.prototype, 'zInv', {
9641 get: function() {
9642 if (this._zInv === null) {
9643 this._zInv = this.z.modInverse(this.curve.p)
9644 }
9645
9646 return this._zInv
9647 }
9648})
9649
9650Object.defineProperty(Point.prototype, 'affineX', {
9651 get: function() {
9652 return this.x.multiply(this.zInv).mod(this.curve.p)
9653 }
9654})
9655
9656Object.defineProperty(Point.prototype, 'affineY', {
9657 get: function() {
9658 return this.y.multiply(this.zInv).mod(this.curve.p)
9659 }
9660})
9661
9662Point.fromAffine = function(curve, x, y) {
9663 return new Point(curve, x, y, BigInteger.ONE)
9664}
9665
9666Point.prototype.equals = function(other) {
9667 if (other === this) return true
9668 if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)
9669 if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)
9670
9671 // u = Y2 * Z1 - Y1 * Z2
9672 var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)
9673
9674 if (u.signum() !== 0) return false
9675
9676 // v = X2 * Z1 - X1 * Z2
9677 var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)
9678
9679 return v.signum() === 0
9680}
9681
9682Point.prototype.negate = function() {
9683 var y = this.curve.p.subtract(this.y)
9684
9685 return new Point(this.curve, this.x, y, this.z)
9686}
9687
9688Point.prototype.add = function(b) {
9689 if (this.curve.isInfinity(this)) return b
9690 if (this.curve.isInfinity(b)) return this
9691
9692 var x1 = this.x
9693 var y1 = this.y
9694 var x2 = b.x
9695 var y2 = b.y
9696
9697 // u = Y2 * Z1 - Y1 * Z2
9698 var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)
9699 // v = X2 * Z1 - X1 * Z2
9700 var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)
9701
9702 if (v.signum() === 0) {
9703 if (u.signum() === 0) {
9704 return this.twice() // this == b, so double
9705 }
9706
9707 return this.curve.infinity // this = -b, so infinity
9708 }
9709
9710 var v2 = v.square()
9711 var v3 = v2.multiply(v)
9712 var x1v2 = x1.multiply(v2)
9713 var zu2 = u.square().multiply(this.z)
9714
9715 // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
9716 var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)
9717 // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
9718 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)
9719 // z3 = v^3 * z1 * z2
9720 var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)
9721
9722 return new Point(this.curve, x3, y3, z3)
9723}
9724
9725Point.prototype.twice = function() {
9726 if (this.curve.isInfinity(this)) return this
9727 if (this.y.signum() === 0) return this.curve.infinity
9728
9729 var x1 = this.x
9730 var y1 = this.y
9731
9732 var y1z1 = y1.multiply(this.z)
9733 var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)
9734 var a = this.curve.a
9735
9736 // w = 3 * x1^2 + a * z1^2
9737 var w = x1.square().multiply(THREE)
9738
9739 if (a.signum() !== 0) {
9740 w = w.add(this.z.square().multiply(a))
9741 }
9742
9743 w = w.mod(this.curve.p)
9744 // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
9745 var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)
9746 // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
9747 var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)
9748 // z3 = 8 * (y1 * z1)^3
9749 var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)
9750
9751 return new Point(this.curve, x3, y3, z3)
9752}
9753
9754// Simple NAF (Non-Adjacent Form) multiplication algorithm
9755// TODO: modularize the multiplication algorithm
9756Point.prototype.multiply = function(k) {
9757 if (this.curve.isInfinity(this)) return this
9758 if (k.signum() === 0) return this.curve.infinity
9759
9760 var e = k
9761 var h = e.multiply(THREE)
9762
9763 var neg = this.negate()
9764 var R = this
9765
9766 for (var i = h.bitLength() - 2; i > 0; --i) {
9767 R = R.twice()
9768
9769 var hBit = h.testBit(i)
9770 var eBit = e.testBit(i)
9771
9772 if (hBit != eBit) {
9773 R = R.add(hBit ? this : neg)
9774 }
9775 }
9776
9777 return R
9778}
9779
9780// Compute this*j + x*k (simultaneous multiplication)
9781Point.prototype.multiplyTwo = function(j, x, k) {
9782 var i
9783
9784 if (j.bitLength() > k.bitLength())
9785 i = j.bitLength() - 1
9786 else
9787 i = k.bitLength() - 1
9788
9789 var R = this.curve.infinity
9790 var both = this.add(x)
9791
9792 while (i >= 0) {
9793 R = R.twice()
9794
9795 var jBit = j.testBit(i)
9796 var kBit = k.testBit(i)
9797
9798 if (jBit) {
9799 if (kBit) {
9800 R = R.add(both)
9801
9802 } else {
9803 R = R.add(this)
9804 }
9805
9806 } else {
9807 if (kBit) {
9808 R = R.add(x)
9809 }
9810 }
9811 --i
9812 }
9813
9814 return R
9815}
9816
9817Point.prototype.getEncoded = function(compressed) {
9818 if (compressed == undefined) compressed = this.compressed
9819 if (this.curve.isInfinity(this)) return new Buffer('00', 'hex') // Infinity point encoded is simply '00'
9820
9821 var x = this.affineX
9822 var y = this.affineY
9823
9824 var buffer
9825
9826 // Determine size of q in bytes
9827 var byteLength = Math.floor((this.curve.p.bitLength() + 7) / 8)
9828
9829 // 0x02/0x03 | X
9830 if (compressed) {
9831 buffer = new Buffer(1 + byteLength)
9832 buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)
9833
9834 // 0x04 | X | Y
9835 } else {
9836 buffer = new Buffer(1 + byteLength + byteLength)
9837 buffer.writeUInt8(0x04, 0)
9838
9839 y.toBuffer(byteLength).copy(buffer, 1 + byteLength)
9840 }
9841
9842 x.toBuffer(byteLength).copy(buffer, 1)
9843
9844 return buffer
9845}
9846
9847Point.decodeFrom = function(curve, buffer) {
9848 var type = buffer.readUInt8(0)
9849 var compressed = (type !== 4)
9850
ebd8d4e8 9851 var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)
ab78acc6 9852 var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))
ebd8d4e8
IC
9853
9854 var Q
9855 if (compressed) {
9856 assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')
9857 assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')
9858
9859 var isOdd = (type === 0x03)
9860 Q = curve.pointFromX(isOdd, x)
9861
9862 } else {
9863 assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')
9864
9865 var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))
9866 Q = Point.fromAffine(curve, x, y)
9867 }
9868
9869 Q.compressed = compressed
9870 return Q
9871}
9872
9873Point.prototype.toString = function () {
9874 if (this.curve.isInfinity(this)) return '(INFINITY)'
9875
9876 return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'
9877}
9878
9879module.exports = Point
9880
ab78acc6
IC
9881}).call(this,require("buffer").Buffer)
9882},{"assert":5,"bigi":3,"buffer":7}],52:[function(require,module,exports){
9883(function (process,global,Buffer){
9884'use strict';
ebd8d4e8 9885
ab78acc6
IC
9886var crypto = global.crypto || global.msCrypto
9887if(crypto && crypto.getRandomValues) {
9888 module.exports = randomBytes;
9889} else {
9890 module.exports = oldBrowser;
9891}
9892function randomBytes(size, cb) {
9893 var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
9894 /* This will not work in older browsers.
9895 * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
9896 */
9897
9898 crypto.getRandomValues(bytes);
9899 if (typeof cb === 'function') {
9900 return process.nextTick(function () {
9901 cb(null, bytes);
9902 });
ebd8d4e8 9903 }
ab78acc6
IC
9904 return bytes;
9905}
9906function oldBrowser() {
9907 throw new Error(
9908 'secure random number generation not supported by this browser\n'+
9909 'use chrome, FireFox or Internet Explorer 11'
9910 )
ebd8d4e8
IC
9911}
9912
ab78acc6
IC
9913}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
9914},{"_process":14,"buffer":7}],53:[function(require,module,exports){
9915(function (Buffer){
9916'use strict';
ebd8d4e8 9917
ab78acc6
IC
9918function getFunctionName(fn) {
9919 return fn.name || fn.toString().match(/function (.*?)\s*\(/)[1];
9920}
9921
9922function getTypeTypeName(type) {
9923 if (nativeTypes.Function(type)) {
9924 type = type.toJSON ? type.toJSON() : getFunctionName(type);
ebd8d4e8 9925 }
ab78acc6
IC
9926 if (nativeTypes.Object(type)) return JSON.stringify(type);
9927
9928 return type;
ebd8d4e8
IC
9929}
9930
ab78acc6
IC
9931function getValueTypeName(value) {
9932 if (nativeTypes.Null(value)) return '';
ebd8d4e8 9933
ab78acc6
IC
9934 return getFunctionName(value.constructor);
9935}
9936
9937function tfErrorString(type, value) {
9938 var typeTypeName = getTypeTypeName(type);
9939 var valueTypeName = getValueTypeName(value);
9940
9941 return 'Expected ' + typeTypeName + ', got ' + (valueTypeName && valueTypeName + ' ') + JSON.stringify(value);
9942}
9943
9944function tfPropertyErrorString(type, name, value) {
9945 return tfErrorString('property \"' + name + '\" of type ' + getTypeTypeName(type), value);
9946}
9947
9948var nativeTypes = {
9949 Array: (function (_Array) {
9950 function Array(_x) {
9951 return _Array.apply(this, arguments);
9952 }
9953
9954 Array.toString = function () {
9955 return _Array.toString();
9956 };
9957
9958 return Array;
9959 })(function (value) {
9960 return value !== null && value !== undefined && value.constructor === Array;
9961 }),
9962 Boolean: function Boolean(value) {
9963 return typeof value === 'boolean';
9964 },
9965 Buffer: (function (_Buffer) {
9966 function Buffer(_x2) {
9967 return _Buffer.apply(this, arguments);
9968 }
9969
9970 Buffer.toString = function () {
9971 return _Buffer.toString();
9972 };
9973
9974 return Buffer;
9975 })(function (value) {
9976 return Buffer.isBuffer(value);
9977 }),
9978 Function: function Function(value) {
9979 return typeof value === 'function';
9980 },
9981 Null: function Null(value) {
9982 return value === undefined || value === null;
9983 },
9984 Number: function Number(value) {
9985 return typeof value === 'number';
9986 },
9987 Object: function Object(value) {
9988 return typeof value === 'object';
9989 },
9990 String: function String(value) {
9991 return typeof value === 'string';
9992 },
9993 '': function _() {
9994 return true;
ebd8d4e8 9995 }
ab78acc6
IC
9996};
9997
9998function tJSON(type) {
9999 return type && type.toJSON ? type.toJSON() : type;
ebd8d4e8
IC
10000}
10001
ab78acc6
IC
10002function sJSON(type) {
10003 var json = tJSON(type);
10004 return nativeTypes.Object(json) ? JSON.stringify(json) : json;
ebd8d4e8
IC
10005}
10006
ab78acc6
IC
10007var otherTypes = {
10008 arrayOf: function arrayOf(type) {
10009 function arrayOf(value, strict) {
10010 try {
10011 return nativeTypes.Array(value) && value.every(function (x) {
10012 return typeforce(type, x, strict);
10013 });
10014 } catch (e) {
10015 return false;
10016 }
10017 }
10018 arrayOf.toJSON = function () {
10019 return [tJSON(type)];
10020 };
10021
10022 return arrayOf;
10023 },
10024
10025 maybe: function maybe(type) {
10026 function maybe(value, strict) {
10027 return nativeTypes.Null(value) || typeforce(type, value, strict);
10028 }
10029 maybe.toJSON = function () {
10030 return '?' + sJSON(type);
10031 };
10032
10033 return maybe;
10034 },
10035
10036 object: function object(type) {
10037 function object(value, strict) {
10038 typeforce(nativeTypes.Object, value, strict);
10039
10040 var propertyName, propertyType, propertyValue;
10041
10042 try {
10043 for (propertyName in type) {
10044 propertyType = type[propertyName];
10045 propertyValue = value[propertyName];
10046
10047 typeforce(propertyType, propertyValue, strict);
10048 }
10049 } catch (e) {
10050 throw new TypeError(tfPropertyErrorString(propertyType, propertyName, propertyValue));
10051 }
10052
10053 if (strict) {
10054 for (propertyName in value) {
10055 if (type[propertyName]) continue;
10056
10057 throw new TypeError('Unexpected property "' + propertyName + '"');
10058 }
10059 }
10060
10061 return true;
10062 }
10063 object.toJSON = function () {
10064 return type;
10065 };
10066
10067 return object;
10068 },
10069
10070 oneOf: function oneOf() {
10071 for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
10072 types[_key] = arguments[_key];
10073 }
10074
10075 function oneOf(value, strict) {
10076 return types.some(function (type) {
10077 try {
10078 return typeforce(type, value, strict);
10079 } catch (e) {
10080 return false;
10081 }
10082 });
10083 }
10084 oneOf.toJSON = function () {
10085 return types.map(sJSON).join('|');
10086 };
10087
10088 return oneOf;
10089 },
10090
10091 quacksLike: function quacksLike(type) {
10092 function quacksLike(value, strict) {
10093 return type === getValueTypeName(value);
10094 }
10095 quacksLike.toJSON = function () {
10096 return type;
10097 };
10098
10099 return quacksLike;
10100 },
10101
10102 tuple: function tuple() {
10103 for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10104 types[_key2] = arguments[_key2];
10105 }
10106
10107 function tuple(value, strict) {
10108 return types.every(function (type, i) {
10109 return typeforce(type, value[i], strict);
10110 });
10111 }
10112 tuple.toJSON = function () {
10113 return '(' + types.map(sJSON).join(', ') + ')';
10114 };
10115
10116 return tuple;
10117 },
10118
10119 value: function value(expected) {
10120 function value(actual) {
10121 return actual === expected;
10122 }
10123 value.toJSON = function () {
10124 return expected;
10125 };
10126
10127 return value;
10128 }
10129};
10130
10131function compile(type) {
10132 if (nativeTypes.String(type)) {
10133 if (type[0] === '?') return otherTypes.maybe(compile(type.slice(1)));
10134
10135 return nativeTypes[type] || otherTypes.quacksLike(type);
10136 } else if (type && nativeTypes.Object(type)) {
10137 if (nativeTypes.Array(type)) return otherTypes.arrayOf(compile(type[0]));
10138
10139 var compiled = {};
10140
10141 for (var propertyName in type) {
10142 compiled[propertyName] = compile(type[propertyName]);
10143 }
10144
10145 return otherTypes.object(compiled);
10146 } else if (nativeTypes.Function(type)) {
10147 return type;
10148 }
10149
10150 return otherTypes.value(type);
ebd8d4e8
IC
10151}
10152
ab78acc6
IC
10153function typeforce(_x3, _x4, _x5) {
10154 var _again = true;
10155
10156 _function: while (_again) {
10157 var type = _x3,
10158 value = _x4,
10159 strict = _x5;
10160 _again = false;
10161
10162 if (nativeTypes.Function(type)) {
10163 if (type(value, strict)) return true;
10164
10165 throw new TypeError(tfErrorString(type, value));
10166 }
10167
10168 // JIT
10169 _x3 = compile(type);
10170 _x4 = value;
10171 _x5 = strict;
10172 _again = true;
10173 continue _function;
10174 }
ebd8d4e8
IC
10175}
10176
ab78acc6
IC
10177// assign all types to typeforce function
10178var typeName;
10179Object.keys(nativeTypes).forEach(function (typeName) {
10180 var nativeType = nativeTypes[typeName];
10181 nativeType.toJSON = function () {
10182 return typeName;
10183 };
10184
10185 typeforce[typeName] = nativeType;
10186});
ebd8d4e8 10187
ab78acc6
IC
10188for (typeName in otherTypes) {
10189 typeforce[typeName] = otherTypes[typeName];
10190}
ebd8d4e8 10191
ab78acc6
IC
10192module.exports = typeforce;
10193module.exports.compile = compile;
10194}).call(this,require("buffer").Buffer)
10195},{"buffer":7}],54:[function(require,module,exports){
ebd8d4e8 10196(function (Buffer){
ab78acc6
IC
10197var assert = require('assert')
10198var base58check = require('bs58check')
10199var typeForce = require('typeforce')
10200var networks = require('./networks')
10201var scripts = require('./scripts')
ebd8d4e8 10202
ab78acc6 10203function findScriptTypeByVersion (version) {
ebd8d4e8
IC
10204 for (var networkName in networks) {
10205 var network = networks[networkName]
10206
10207 if (version === network.pubKeyHash) return 'pubkeyhash'
10208 if (version === network.scriptHash) return 'scripthash'
10209 }
10210}
10211
ab78acc6
IC
10212function Address (hash, version) {
10213 typeForce('Buffer', hash)
10214
ebd8d4e8
IC
10215 assert.strictEqual(hash.length, 20, 'Invalid hash length')
10216 assert.strictEqual(version & 0xff, version, 'Invalid version byte')
10217
10218 this.hash = hash
10219 this.version = version
10220}
10221
ab78acc6 10222Address.fromBase58Check = function (string) {
ebd8d4e8
IC
10223 var payload = base58check.decode(string)
10224 var version = payload.readUInt8(0)
10225 var hash = payload.slice(1)
10226
10227 return new Address(hash, version)
10228}
10229
ab78acc6 10230Address.fromOutputScript = function (script, network) {
ebd8d4e8
IC
10231 network = network || networks.bitcoin
10232
ab78acc6
IC
10233 if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash)
10234 if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash)
ebd8d4e8 10235
ab78acc6 10236 assert(false, script.toASM() + ' has no matching Address')
ebd8d4e8
IC
10237}
10238
ebd8d4e8
IC
10239Address.prototype.toBase58Check = function () {
10240 var payload = new Buffer(21)
10241 payload.writeUInt8(this.version, 0)
10242 this.hash.copy(payload, 1)
10243
10244 return base58check.encode(payload)
10245}
10246
ab78acc6 10247Address.prototype.toOutputScript = function () {
ebd8d4e8
IC
10248 var scriptType = findScriptTypeByVersion(this.version)
10249
10250 if (scriptType === 'pubkeyhash') return scripts.pubKeyHashOutput(this.hash)
10251 if (scriptType === 'scripthash') return scripts.scriptHashOutput(this.hash)
10252
ab78acc6
IC
10253 assert(false, this.toString() + ' has no matching Script')
10254}
10255
10256Address.prototype.toString = Address.prototype.toBase58Check
10257
10258module.exports = Address
10259
10260}).call(this,require("buffer").Buffer)
10261},{"./networks":66,"./scripts":69,"assert":5,"bs58check":31,"buffer":7,"typeforce":53}],55:[function(require,module,exports){
10262var bs58check = require('bs58check')
10263
10264function decode () {
10265 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10266
10267 return bs58check.decode.apply(undefined, arguments)
10268}
10269
10270function encode () {
10271 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10272
10273 return bs58check.encode.apply(undefined, arguments)
10274}
10275
10276module.exports = {
10277 decode: decode,
10278 encode: encode
10279}
10280
10281},{"bs58check":31}],56:[function(require,module,exports){
10282(function (Buffer){
10283var assert = require('assert')
10284var bufferutils = require('./bufferutils')
10285var crypto = require('./crypto')
10286
10287var Transaction = require('./transaction')
10288
10289function Block () {
10290 this.version = 1
10291 this.prevHash = null
10292 this.merkleRoot = null
10293 this.timestamp = 0
10294 this.bits = 0
10295 this.nonce = 0
10296}
10297
10298Block.fromBuffer = function (buffer) {
10299 assert(buffer.length >= 80, 'Buffer too small (< 80 bytes)')
10300
10301 var offset = 0
10302 function readSlice (n) {
10303 offset += n
10304 return buffer.slice(offset - n, offset)
10305 }
10306
10307 function readUInt32 () {
10308 var i = buffer.readUInt32LE(offset)
10309 offset += 4
10310 return i
10311 }
10312
10313 var block = new Block()
10314 block.version = readUInt32()
10315 block.prevHash = readSlice(32)
10316 block.merkleRoot = readSlice(32)
10317 block.timestamp = readUInt32()
10318 block.bits = readUInt32()
10319 block.nonce = readUInt32()
10320
10321 if (buffer.length === 80) return block
10322
10323 function readVarInt () {
10324 var vi = bufferutils.readVarInt(buffer, offset)
10325 offset += vi.size
10326 return vi.number
10327 }
10328
10329 // FIXME: poor performance
10330 function readTransaction () {
10331 var tx = Transaction.fromBuffer(buffer.slice(offset), true)
10332
10333 offset += tx.toBuffer().length
10334 return tx
10335 }
10336
10337 var nTransactions = readVarInt()
10338 block.transactions = []
10339
10340 for (var i = 0; i < nTransactions; ++i) {
10341 var tx = readTransaction()
10342 block.transactions.push(tx)
10343 }
10344
10345 return block
10346}
10347
10348Block.fromHex = function (hex) {
10349 return Block.fromBuffer(new Buffer(hex, 'hex'))
10350}
10351
10352Block.prototype.getHash = function () {
10353 return crypto.hash256(this.toBuffer(true))
10354}
10355
10356Block.prototype.getId = function () {
10357 return bufferutils.reverse(this.getHash()).toString('hex')
ebd8d4e8
IC
10358}
10359
ab78acc6
IC
10360Block.prototype.getUTCDate = function () {
10361 var date = new Date(0) // epoch
10362 date.setUTCSeconds(this.timestamp)
ebd8d4e8 10363
ab78acc6
IC
10364 return date
10365}
ebd8d4e8 10366
ab78acc6
IC
10367Block.prototype.toBuffer = function (headersOnly) {
10368 var buffer = new Buffer(80)
ebd8d4e8 10369
ab78acc6
IC
10370 var offset = 0
10371 function writeSlice (slice) {
10372 slice.copy(buffer, offset)
10373 offset += slice.length
10374 }
ebd8d4e8 10375
ab78acc6
IC
10376 function writeUInt32 (i) {
10377 buffer.writeUInt32LE(i, offset)
10378 offset += 4
10379 }
ebd8d4e8 10380
ab78acc6
IC
10381 writeUInt32(this.version)
10382 writeSlice(this.prevHash)
10383 writeSlice(this.merkleRoot)
10384 writeUInt32(this.timestamp)
10385 writeUInt32(this.bits)
10386 writeUInt32(this.nonce)
ebd8d4e8 10387
ab78acc6 10388 if (headersOnly || !this.transactions) return buffer
ebd8d4e8 10389
ab78acc6
IC
10390 var txLenBuffer = bufferutils.varIntBuffer(this.transactions.length)
10391 var txBuffers = this.transactions.map(function (tx) {
10392 return tx.toBuffer()
10393 })
ebd8d4e8 10394
ab78acc6 10395 return Buffer.concat([buffer, txLenBuffer].concat(txBuffers))
ebd8d4e8
IC
10396}
10397
ab78acc6
IC
10398Block.prototype.toHex = function (headersOnly) {
10399 return this.toBuffer(headersOnly).toString('hex')
ebd8d4e8
IC
10400}
10401
ab78acc6
IC
10402module.exports = Block
10403
10404}).call(this,require("buffer").Buffer)
10405},{"./bufferutils":57,"./crypto":58,"./transaction":70,"assert":5,"buffer":7}],57:[function(require,module,exports){
10406(function (Buffer){
10407var assert = require('assert')
10408var opcodes = require('./opcodes')
ebd8d4e8
IC
10409
10410// https://github.com/feross/buffer/blob/master/index.js#L1127
ab78acc6 10411function verifuint (value, max) {
ebd8d4e8
IC
10412 assert(typeof value === 'number', 'cannot write a non-number as a number')
10413 assert(value >= 0, 'specified a negative value for writing an unsigned value')
10414 assert(value <= max, 'value is larger than maximum value for type')
10415 assert(Math.floor(value) === value, 'value has a fractional component')
10416}
10417
ab78acc6 10418function pushDataSize (i) {
ebd8d4e8 10419 return i < opcodes.OP_PUSHDATA1 ? 1
ab78acc6
IC
10420 : i < 0xff ? 2
10421 : i < 0xffff ? 3
10422 : 5
ebd8d4e8
IC
10423}
10424
ab78acc6 10425function readPushDataInt (buffer, offset) {
ebd8d4e8
IC
10426 var opcode = buffer.readUInt8(offset)
10427 var number, size
10428
10429 // ~6 bit
10430 if (opcode < opcodes.OP_PUSHDATA1) {
10431 number = opcode
10432 size = 1
10433
10434 // 8 bit
10435 } else if (opcode === opcodes.OP_PUSHDATA1) {
ab78acc6 10436 if (offset + 2 > buffer.length) return null
ebd8d4e8
IC
10437 number = buffer.readUInt8(offset + 1)
10438 size = 2
10439
10440 // 16 bit
10441 } else if (opcode === opcodes.OP_PUSHDATA2) {
ab78acc6 10442 if (offset + 3 > buffer.length) return null
ebd8d4e8
IC
10443 number = buffer.readUInt16LE(offset + 1)
10444 size = 3
10445
10446 // 32 bit
10447 } else {
ab78acc6 10448 if (offset + 5 > buffer.length) return null
ebd8d4e8
IC
10449 assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
10450
10451 number = buffer.readUInt32LE(offset + 1)
10452 size = 5
ebd8d4e8
IC
10453 }
10454
10455 return {
10456 opcode: opcode,
10457 number: number,
10458 size: size
10459 }
10460}
10461
ab78acc6 10462function readUInt64LE (buffer, offset) {
ebd8d4e8
IC
10463 var a = buffer.readUInt32LE(offset)
10464 var b = buffer.readUInt32LE(offset + 4)
10465 b *= 0x100000000
10466
10467 verifuint(b + a, 0x001fffffffffffff)
10468
10469 return b + a
10470}
10471
ab78acc6 10472function readVarInt (buffer, offset) {
ebd8d4e8
IC
10473 var t = buffer.readUInt8(offset)
10474 var number, size
10475
10476 // 8 bit
10477 if (t < 253) {
10478 number = t
10479 size = 1
10480
10481 // 16 bit
10482 } else if (t < 254) {
10483 number = buffer.readUInt16LE(offset + 1)
10484 size = 3
10485
10486 // 32 bit
10487 } else if (t < 255) {
10488 number = buffer.readUInt32LE(offset + 1)
10489 size = 5
10490
10491 // 64 bit
10492 } else {
10493 number = readUInt64LE(buffer, offset + 1)
10494 size = 9
10495 }
10496
10497 return {
10498 number: number,
10499 size: size
10500 }
10501}
10502
ab78acc6 10503function writePushDataInt (buffer, number, offset) {
ebd8d4e8
IC
10504 var size = pushDataSize(number)
10505
10506 // ~6 bit
10507 if (size === 1) {
10508 buffer.writeUInt8(number, offset)
10509
10510 // 8 bit
10511 } else if (size === 2) {
10512 buffer.writeUInt8(opcodes.OP_PUSHDATA1, offset)
10513 buffer.writeUInt8(number, offset + 1)
10514
10515 // 16 bit
10516 } else if (size === 3) {
10517 buffer.writeUInt8(opcodes.OP_PUSHDATA2, offset)
10518 buffer.writeUInt16LE(number, offset + 1)
10519
10520 // 32 bit
10521 } else {
10522 buffer.writeUInt8(opcodes.OP_PUSHDATA4, offset)
10523 buffer.writeUInt32LE(number, offset + 1)
ebd8d4e8
IC
10524 }
10525
10526 return size
10527}
10528
ab78acc6 10529function writeUInt64LE (buffer, value, offset) {
ebd8d4e8
IC
10530 verifuint(value, 0x001fffffffffffff)
10531
10532 buffer.writeInt32LE(value & -1, offset)
10533 buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4)
10534}
10535
ab78acc6
IC
10536function varIntSize (i) {
10537 return i < 253 ? 1
10538 : i < 0x10000 ? 3
10539 : i < 0x100000000 ? 5
10540 : 9
ebd8d4e8
IC
10541}
10542
ab78acc6 10543function writeVarInt (buffer, number, offset) {
ebd8d4e8
IC
10544 var size = varIntSize(number)
10545
10546 // 8 bit
10547 if (size === 1) {
10548 buffer.writeUInt8(number, offset)
10549
10550 // 16 bit
10551 } else if (size === 3) {
10552 buffer.writeUInt8(253, offset)
10553 buffer.writeUInt16LE(number, offset + 1)
10554
10555 // 32 bit
10556 } else if (size === 5) {
10557 buffer.writeUInt8(254, offset)
10558 buffer.writeUInt32LE(number, offset + 1)
10559
10560 // 64 bit
10561 } else {
10562 buffer.writeUInt8(255, offset)
10563 writeUInt64LE(buffer, number, offset + 1)
10564 }
10565
10566 return size
10567}
10568
ab78acc6
IC
10569function varIntBuffer (i) {
10570 var size = varIntSize(i)
10571 var buffer = new Buffer(size)
10572 writeVarInt(buffer, i, 0)
10573
10574 return buffer
10575}
10576
10577function reverse (buffer) {
10578 var buffer2 = new Buffer(buffer)
10579 Array.prototype.reverse.call(buffer2)
10580 return buffer2
10581}
10582
ebd8d4e8
IC
10583module.exports = {
10584 pushDataSize: pushDataSize,
10585 readPushDataInt: readPushDataInt,
10586 readUInt64LE: readUInt64LE,
10587 readVarInt: readVarInt,
ab78acc6
IC
10588 reverse: reverse,
10589 varIntBuffer: varIntBuffer,
ebd8d4e8
IC
10590 varIntSize: varIntSize,
10591 writePushDataInt: writePushDataInt,
10592 writeUInt64LE: writeUInt64LE,
10593 writeVarInt: writeVarInt
10594}
10595
ab78acc6
IC
10596}).call(this,require("buffer").Buffer)
10597},{"./opcodes":67,"assert":5,"buffer":7}],58:[function(require,module,exports){
10598var createHash = require('create-hash')
ebd8d4e8 10599
ab78acc6 10600function hash160 (buffer) {
ebd8d4e8
IC
10601 return ripemd160(sha256(buffer))
10602}
10603
ab78acc6 10604function hash256 (buffer) {
ebd8d4e8
IC
10605 return sha256(sha256(buffer))
10606}
10607
ab78acc6
IC
10608function ripemd160 (buffer) {
10609 return createHash('rmd160').update(buffer).digest()
ebd8d4e8
IC
10610}
10611
ab78acc6
IC
10612function sha1 (buffer) {
10613 return createHash('sha1').update(buffer).digest()
ebd8d4e8
IC
10614}
10615
ab78acc6
IC
10616function sha256 (buffer) {
10617 return createHash('sha256').update(buffer).digest()
ebd8d4e8
IC
10618}
10619
10620// FIXME: Name not consistent with others
ab78acc6 10621var createHmac = require('create-hmac')
ebd8d4e8 10622
ab78acc6
IC
10623function HmacSHA256 (buffer, secret) {
10624 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10625 return createHmac('sha256', secret).update(buffer).digest()
10626}
ebd8d4e8 10627
ab78acc6
IC
10628function HmacSHA512 (buffer, secret) {
10629 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10630 return createHmac('sha512', secret).update(buffer).digest()
ebd8d4e8
IC
10631}
10632
10633module.exports = {
10634 ripemd160: ripemd160,
10635 sha1: sha1,
10636 sha256: sha256,
10637 hash160: hash160,
10638 hash256: hash256,
10639 HmacSHA256: HmacSHA256,
10640 HmacSHA512: HmacSHA512
10641}
10642
ab78acc6 10643},{"create-hash":32,"create-hmac":45}],59:[function(require,module,exports){
ebd8d4e8 10644(function (Buffer){
ab78acc6
IC
10645var assert = require('assert')
10646var createHmac = require('create-hmac')
10647var typeForce = require('typeforce')
ebd8d4e8 10648
ab78acc6
IC
10649var BigInteger = require('bigi')
10650var ECSignature = require('./ecsignature')
10651
10652var ZERO = new Buffer([0])
10653var ONE = new Buffer([1])
ebd8d4e8
IC
10654
10655// https://tools.ietf.org/html/rfc6979#section-3.2
ab78acc6
IC
10656function deterministicGenerateK (curve, hash, d, checkSig) {
10657 typeForce('Buffer', hash)
10658 typeForce('BigInteger', d)
10659
10660 // FIXME: remove/uncomment for 2.0.0
10661 // typeForce('Function', checkSig)
10662
10663 if (typeof checkSig !== 'function') {
10664 console.warn('deterministicGenerateK requires a checkSig callback in 2.0.0, see #337 for more information')
10665
10666 checkSig = function (k) {
10667 var G = curve.G
10668 var n = curve.n
10669 var e = BigInteger.fromBuffer(hash)
10670
10671 var Q = G.multiply(k)
10672
10673 if (curve.isInfinity(Q))
10674 return false
10675
10676 var r = Q.affineX.mod(n)
10677 if (r.signum() === 0)
10678 return false
10679
10680 var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10681 if (s.signum() === 0)
10682 return false
10683
10684 return true
10685 }
10686 }
10687
10688 // sanity check
ebd8d4e8 10689 assert.equal(hash.length, 32, 'Hash must be 256 bit')
ebd8d4e8
IC
10690
10691 var x = d.toBuffer(32)
10692 var k = new Buffer(32)
10693 var v = new Buffer(32)
10694
ab78acc6 10695 // Step A, ignored as hash already provided
ebd8d4e8
IC
10696 // Step B
10697 v.fill(1)
10698
10699 // Step C
10700 k.fill(0)
10701
10702 // Step D
ab78acc6
IC
10703 k = createHmac('sha256', k)
10704 .update(v)
10705 .update(ZERO)
10706 .update(x)
10707 .update(hash)
10708 .digest()
ebd8d4e8
IC
10709
10710 // Step E
ab78acc6 10711 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10712
10713 // Step F
ab78acc6
IC
10714 k = createHmac('sha256', k)
10715 .update(v)
10716 .update(ONE)
10717 .update(x)
10718 .update(hash)
10719 .digest()
ebd8d4e8
IC
10720
10721 // Step G
ab78acc6 10722 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10723
10724 // Step H1/H2a, ignored as tlen === qlen (256 bit)
10725 // Step H2b
ab78acc6 10726 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10727
10728 var T = BigInteger.fromBuffer(v)
10729
ab78acc6
IC
10730 // Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
10731 while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
10732 k = createHmac('sha256', k)
10733 .update(v)
10734 .update(ZERO)
10735 .digest()
10736
10737 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8 10738
ab78acc6
IC
10739 // Step H1/H2a, again, ignored as tlen === qlen (256 bit)
10740 // Step H2b again
10741 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10742 T = BigInteger.fromBuffer(v)
10743 }
10744
10745 return T
10746}
10747
ab78acc6
IC
10748function sign (curve, hash, d) {
10749 var r, s
ebd8d4e8 10750
ab78acc6 10751 var e = BigInteger.fromBuffer(hash)
ebd8d4e8
IC
10752 var n = curve.n
10753 var G = curve.G
ebd8d4e8 10754
ab78acc6
IC
10755 deterministicGenerateK(curve, hash, d, function (k) {
10756 var Q = G.multiply(k)
10757
10758 if (curve.isInfinity(Q))
10759 return false
10760
10761 r = Q.affineX.mod(n)
10762 if (r.signum() === 0)
10763 return false
10764
10765 s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10766 if (s.signum() === 0)
10767 return false
ebd8d4e8 10768
ab78acc6
IC
10769 return true
10770 })
ebd8d4e8
IC
10771
10772 var N_OVER_TWO = n.shiftRight(1)
10773
10774 // enforce low S values, see bip62: 'low s values in signatures'
10775 if (s.compareTo(N_OVER_TWO) > 0) {
10776 s = n.subtract(s)
10777 }
10778
10779 return new ECSignature(r, s)
10780}
10781
ab78acc6 10782function verifyRaw (curve, e, signature, Q) {
ebd8d4e8
IC
10783 var n = curve.n
10784 var G = curve.G
10785
10786 var r = signature.r
10787 var s = signature.s
10788
ab78acc6
IC
10789 // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]
10790 if (r.signum() <= 0 || r.compareTo(n) >= 0) return false
10791 if (s.signum() <= 0 || s.compareTo(n) >= 0) return false
ebd8d4e8 10792
ab78acc6 10793 // c = s^-1 mod n
ebd8d4e8
IC
10794 var c = s.modInverse(n)
10795
ab78acc6
IC
10796 // 1.4.4 Compute u1 = es^−1 mod n
10797 // u2 = rs^−1 mod n
ebd8d4e8
IC
10798 var u1 = e.multiply(c).mod(n)
10799 var u2 = r.multiply(c).mod(n)
10800
ab78acc6
IC
10801 // 1.4.5 Compute R = (xR, yR) = u1G + u2Q
10802 var R = G.multiplyTwo(u1, Q, u2)
10803 var v = R.affineX.mod(n)
ebd8d4e8 10804
ab78acc6
IC
10805 // 1.4.5 (cont.) Enforce R is not at infinity
10806 if (curve.isInfinity(R)) return false
10807
10808 // 1.4.8 If v = r, output "valid", and if v != r, output "invalid"
ebd8d4e8
IC
10809 return v.equals(r)
10810}
10811
ab78acc6
IC
10812function verify (curve, hash, signature, Q) {
10813 // 1.4.2 H = Hash(M), already done by the user
10814 // 1.4.3 e = H
10815 var e = BigInteger.fromBuffer(hash)
10816
10817 return verifyRaw(curve, e, signature, Q)
10818}
10819
ebd8d4e8
IC
10820/**
10821 * Recover a public key from a signature.
10822 *
10823 * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, "Public
10824 * Key Recovery Operation".
10825 *
10826 * http://www.secg.org/download/aid-780/sec1-v2.pdf
10827 */
ab78acc6 10828function recoverPubKey (curve, e, signature, i) {
ebd8d4e8
IC
10829 assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')
10830
ab78acc6
IC
10831 var n = curve.n
10832 var G = curve.G
10833
ebd8d4e8
IC
10834 var r = signature.r
10835 var s = signature.s
10836
ab78acc6
IC
10837 assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')
10838 assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')
10839
ebd8d4e8
IC
10840 // A set LSB signifies that the y-coordinate is odd
10841 var isYOdd = i & 1
10842
10843 // The more significant bit specifies whether we should use the
10844 // first or second candidate key.
10845 var isSecondKey = i >> 1
10846
ebd8d4e8
IC
10847 // 1.1 Let x = r + jn
10848 var x = isSecondKey ? r.add(n) : r
10849 var R = curve.pointFromX(isYOdd, x)
10850
10851 // 1.4 Check that nR is at infinity
10852 var nR = R.multiply(n)
10853 assert(curve.isInfinity(nR), 'nR is not a valid curve point')
10854
10855 // Compute -e from e
10856 var eNeg = e.negate().mod(n)
10857
10858 // 1.6.1 Compute Q = r^-1 (sR - eG)
10859 // Q = r^-1 (sR + -eG)
10860 var rInv = r.modInverse(n)
10861
10862 var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)
10863 curve.validate(Q)
10864
10865 return Q
10866}
10867
10868/**
10869 * Calculate pubkey extraction parameter.
10870 *
10871 * When extracting a pubkey from a signature, we have to
10872 * distinguish four different cases. Rather than putting this
10873 * burden on the verifier, Bitcoin includes a 2-bit value with the
10874 * signature.
10875 *
10876 * This function simply tries all four cases and returns the value
10877 * that resulted in a successful pubkey recovery.
10878 */
ab78acc6 10879function calcPubKeyRecoveryParam (curve, e, signature, Q) {
ebd8d4e8
IC
10880 for (var i = 0; i < 4; i++) {
10881 var Qprime = recoverPubKey(curve, e, signature, i)
10882
10883 // 1.6.2 Verify Q
10884 if (Qprime.equals(Q)) {
10885 return i
10886 }
10887 }
10888
10889 throw new Error('Unable to find valid recovery factor')
10890}
10891
10892module.exports = {
10893 calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,
10894 deterministicGenerateK: deterministicGenerateK,
10895 recoverPubKey: recoverPubKey,
10896 sign: sign,
10897 verify: verify,
10898 verifyRaw: verifyRaw
10899}
10900
ab78acc6
IC
10901}).call(this,require("buffer").Buffer)
10902},{"./ecsignature":62,"assert":5,"bigi":3,"buffer":7,"create-hmac":45,"typeforce":53}],60:[function(require,module,exports){
ebd8d4e8 10903(function (Buffer){
ab78acc6
IC
10904var assert = require('assert')
10905var base58check = require('bs58check')
10906var ecdsa = require('./ecdsa')
10907var networks = require('./networks')
10908var randomBytes = require('randombytes')
10909var typeForce = require('typeforce')
ebd8d4e8 10910
ab78acc6
IC
10911var BigInteger = require('bigi')
10912var ECPubKey = require('./ecpubkey')
ebd8d4e8 10913
ab78acc6
IC
10914var ecurve = require('ecurve')
10915var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 10916
ab78acc6 10917function ECKey (d, compressed) {
ebd8d4e8 10918 assert(d.signum() > 0, 'Private key must be greater than 0')
ab78acc6 10919 assert(d.compareTo(ECKey.curve.n) < 0, 'Private key must be less than the curve order')
ebd8d4e8 10920
ab78acc6 10921 var Q = ECKey.curve.G.multiply(d)
ebd8d4e8
IC
10922
10923 this.d = d
10924 this.pub = new ECPubKey(Q, compressed)
10925}
10926
ab78acc6
IC
10927// Constants
10928ECKey.curve = secp256k1
10929
ebd8d4e8 10930// Static constructors
ab78acc6 10931ECKey.fromWIF = function (string) {
ebd8d4e8
IC
10932 var payload = base58check.decode(string)
10933 var compressed = false
10934
10935 // Ignore the version byte
10936 payload = payload.slice(1)
10937
10938 if (payload.length === 33) {
10939 assert.strictEqual(payload[32], 0x01, 'Invalid compression flag')
10940
10941 // Truncate the compression flag
10942 payload = payload.slice(0, -1)
10943 compressed = true
10944 }
10945
10946 assert.equal(payload.length, 32, 'Invalid WIF payload length')
10947
10948 var d = BigInteger.fromBuffer(payload)
10949 return new ECKey(d, compressed)
10950}
10951
ab78acc6
IC
10952ECKey.makeRandom = function (compressed, rng) {
10953 rng = rng || randomBytes
ebd8d4e8
IC
10954
10955 var buffer = rng(32)
ab78acc6
IC
10956 typeForce('Buffer', buffer)
10957 assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
ebd8d4e8
IC
10958
10959 var d = BigInteger.fromBuffer(buffer)
ab78acc6 10960 d = d.mod(ECKey.curve.n)
ebd8d4e8
IC
10961
10962 return new ECKey(d, compressed)
10963}
10964
10965// Export functions
ab78acc6 10966ECKey.prototype.toWIF = function (network) {
ebd8d4e8
IC
10967 network = network || networks.bitcoin
10968
10969 var bufferLen = this.pub.compressed ? 34 : 33
10970 var buffer = new Buffer(bufferLen)
10971
10972 buffer.writeUInt8(network.wif, 0)
10973 this.d.toBuffer(32).copy(buffer, 1)
10974
10975 if (this.pub.compressed) {
10976 buffer.writeUInt8(0x01, 33)
10977 }
10978
10979 return base58check.encode(buffer)
10980}
10981
10982// Operations
ab78acc6
IC
10983ECKey.prototype.sign = function (hash) {
10984 return ecdsa.sign(ECKey.curve, hash, this.d)
ebd8d4e8
IC
10985}
10986
10987module.exports = ECKey
10988
ab78acc6
IC
10989}).call(this,require("buffer").Buffer)
10990},{"./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 10991(function (Buffer){
ab78acc6
IC
10992var crypto = require('./crypto')
10993var ecdsa = require('./ecdsa')
10994var typeForce = require('typeforce')
10995var networks = require('./networks')
ebd8d4e8 10996
ab78acc6 10997var Address = require('./address')
ebd8d4e8 10998
ab78acc6
IC
10999var ecurve = require('ecurve')
11000var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11001
ab78acc6
IC
11002function ECPubKey (Q, compressed) {
11003 if (compressed === undefined) {
11004 compressed = true
11005 }
ebd8d4e8 11006
ab78acc6
IC
11007 typeForce('Point', Q)
11008 typeForce('Boolean', compressed)
ebd8d4e8
IC
11009
11010 this.compressed = compressed
11011 this.Q = Q
11012}
11013
ab78acc6
IC
11014// Constants
11015ECPubKey.curve = secp256k1
11016
ebd8d4e8 11017// Static constructors
ab78acc6
IC
11018ECPubKey.fromBuffer = function (buffer) {
11019 var Q = ecurve.Point.decodeFrom(ECPubKey.curve, buffer)
ebd8d4e8
IC
11020 return new ECPubKey(Q, Q.compressed)
11021}
11022
ab78acc6 11023ECPubKey.fromHex = function (hex) {
ebd8d4e8
IC
11024 return ECPubKey.fromBuffer(new Buffer(hex, 'hex'))
11025}
11026
11027// Operations
ab78acc6 11028ECPubKey.prototype.getAddress = function (network) {
ebd8d4e8
IC
11029 network = network || networks.bitcoin
11030
11031 return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash)
11032}
11033
ab78acc6
IC
11034ECPubKey.prototype.verify = function (hash, signature) {
11035 return ecdsa.verify(ECPubKey.curve, hash, signature, this.Q)
ebd8d4e8
IC
11036}
11037
11038// Export functions
ab78acc6 11039ECPubKey.prototype.toBuffer = function () {
ebd8d4e8
IC
11040 return this.Q.getEncoded(this.compressed)
11041}
11042
ab78acc6 11043ECPubKey.prototype.toHex = function () {
ebd8d4e8
IC
11044 return this.toBuffer().toString('hex')
11045}
11046
11047module.exports = ECPubKey
11048
ab78acc6
IC
11049}).call(this,require("buffer").Buffer)
11050},{"./address":54,"./crypto":58,"./ecdsa":59,"./networks":66,"buffer":7,"ecurve":49,"typeforce":53}],62:[function(require,module,exports){
ebd8d4e8 11051(function (Buffer){
ab78acc6
IC
11052var assert = require('assert')
11053var typeForce = require('typeforce')
11054
11055var BigInteger = require('bigi')
11056
11057function ECSignature (r, s) {
11058 typeForce('BigInteger', r)
11059 typeForce('BigInteger', s)
ebd8d4e8 11060
ebd8d4e8
IC
11061 this.r = r
11062 this.s = s
11063}
11064
ab78acc6 11065ECSignature.parseCompact = function (buffer) {
ebd8d4e8
IC
11066 assert.equal(buffer.length, 65, 'Invalid signature length')
11067 var i = buffer.readUInt8(0) - 27
11068
11069 // At most 3 bits
11070 assert.equal(i, i & 7, 'Invalid signature parameter')
11071 var compressed = !!(i & 4)
11072
11073 // Recovery param only
11074 i = i & 3
11075
11076 var r = BigInteger.fromBuffer(buffer.slice(1, 33))
11077 var s = BigInteger.fromBuffer(buffer.slice(33))
11078
11079 return {
11080 compressed: compressed,
11081 i: i,
11082 signature: new ECSignature(r, s)
11083 }
11084}
11085
ab78acc6 11086ECSignature.fromDER = function (buffer) {
ebd8d4e8
IC
11087 assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')
11088 assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')
11089 assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')
11090
11091 var rLen = buffer.readUInt8(3)
11092 assert(rLen > 0, 'R length is zero')
11093
11094 var offset = 4 + rLen
11095 assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')
11096
11097 var sLen = buffer.readUInt8(offset + 1)
11098 assert(sLen > 0, 'S length is zero')
11099
11100 var rB = buffer.slice(4, offset)
11101 var sB = buffer.slice(offset + 2)
11102 offset += 2 + sLen
11103
11104 if (rLen > 1 && rB.readUInt8(0) === 0x00) {
11105 assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')
11106 }
11107
11108 if (sLen > 1 && sB.readUInt8(0) === 0x00) {
11109 assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')
11110 }
11111
11112 assert.equal(offset, buffer.length, 'Invalid DER encoding')
11113 var r = BigInteger.fromDERInteger(rB)
11114 var s = BigInteger.fromDERInteger(sB)
11115
11116 assert(r.signum() >= 0, 'R value is negative')
11117 assert(s.signum() >= 0, 'S value is negative')
11118
11119 return new ECSignature(r, s)
11120}
11121
ab78acc6
IC
11122// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
11123ECSignature.parseScriptSignature = function (buffer) {
ebd8d4e8
IC
11124 var hashType = buffer.readUInt8(buffer.length - 1)
11125 var hashTypeMod = hashType & ~0x80
11126
ab78acc6 11127 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
ebd8d4e8
IC
11128
11129 return {
11130 signature: ECSignature.fromDER(buffer.slice(0, -1)),
11131 hashType: hashType
11132 }
11133}
11134
ab78acc6
IC
11135ECSignature.prototype.toCompact = function (i, compressed) {
11136 if (compressed) {
11137 i += 4
11138 }
11139
ebd8d4e8
IC
11140 i += 27
11141
11142 var buffer = new Buffer(65)
11143 buffer.writeUInt8(i, 0)
11144
11145 this.r.toBuffer(32).copy(buffer, 1)
11146 this.s.toBuffer(32).copy(buffer, 33)
11147
11148 return buffer
11149}
11150
ab78acc6 11151ECSignature.prototype.toDER = function () {
ebd8d4e8
IC
11152 var rBa = this.r.toDERInteger()
11153 var sBa = this.s.toDERInteger()
11154
11155 var sequence = []
ab78acc6
IC
11156
11157 // INTEGER
11158 sequence.push(0x02, rBa.length)
ebd8d4e8
IC
11159 sequence = sequence.concat(rBa)
11160
ab78acc6
IC
11161 // INTEGER
11162 sequence.push(0x02, sBa.length)
ebd8d4e8
IC
11163 sequence = sequence.concat(sBa)
11164
ab78acc6
IC
11165 // SEQUENCE
11166 sequence.unshift(0x30, sequence.length)
ebd8d4e8
IC
11167
11168 return new Buffer(sequence)
11169}
11170
ab78acc6
IC
11171ECSignature.prototype.toScriptSignature = function (hashType) {
11172 var hashTypeMod = hashType & ~0x80
11173 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
11174
ebd8d4e8
IC
11175 var hashTypeBuffer = new Buffer(1)
11176 hashTypeBuffer.writeUInt8(hashType, 0)
11177
11178 return Buffer.concat([this.toDER(), hashTypeBuffer])
11179}
11180
11181module.exports = ECSignature
11182
ab78acc6
IC
11183}).call(this,require("buffer").Buffer)
11184},{"assert":5,"bigi":3,"buffer":7,"typeforce":53}],63:[function(require,module,exports){
ebd8d4e8 11185(function (Buffer){
ab78acc6
IC
11186var assert = require('assert')
11187var base58check = require('bs58check')
11188var bcrypto = require('./crypto')
11189var createHmac = require('create-hmac')
11190var typeForce = require('typeforce')
11191var networks = require('./networks')
11192
11193var BigInteger = require('bigi')
11194var ECKey = require('./eckey')
11195var ECPubKey = require('./ecpubkey')
11196
11197var ecurve = require('ecurve')
ebd8d4e8
IC
11198var curve = ecurve.getCurveByName('secp256k1')
11199
ab78acc6 11200function findBIP32NetworkByVersion (version) {
ebd8d4e8
IC
11201 for (var name in networks) {
11202 var network = networks[name]
11203
ab78acc6
IC
11204 if (version === network.bip32.private || version === network.bip32.public) {
11205 return network
ebd8d4e8
IC
11206 }
11207 }
11208
ab78acc6 11209 assert(false, 'Could not find network for ' + version.toString(16))
ebd8d4e8
IC
11210}
11211
ab78acc6 11212function HDNode (K, chainCode, network) {
ebd8d4e8
IC
11213 network = network || networks.bitcoin
11214
ab78acc6
IC
11215 typeForce('Buffer', chainCode)
11216
11217 assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
ebd8d4e8
IC
11218 assert(network.bip32, 'Unknown BIP32 constants for network')
11219
11220 this.chainCode = chainCode
11221 this.depth = 0
11222 this.index = 0
ab78acc6 11223 this.parentFingerprint = 0x00000000
ebd8d4e8
IC
11224 this.network = network
11225
11226 if (K instanceof BigInteger) {
11227 this.privKey = new ECKey(K, true)
11228 this.pubKey = this.privKey.pub
ab78acc6
IC
11229 } else if (K instanceof ECKey) {
11230 assert(K.pub.compressed, 'ECKey must be compressed')
11231 this.privKey = K
11232 this.pubKey = K.pub
11233 } else if (K instanceof ECPubKey) {
11234 assert(K.compressed, 'ECPubKey must be compressed')
11235 this.pubKey = K
ebd8d4e8
IC
11236 } else {
11237 this.pubKey = new ECPubKey(K, true)
11238 }
11239}
11240
11241HDNode.MASTER_SECRET = new Buffer('Bitcoin seed')
11242HDNode.HIGHEST_BIT = 0x80000000
11243HDNode.LENGTH = 78
11244
ab78acc6
IC
11245HDNode.fromSeedBuffer = function (seed, network) {
11246 typeForce('Buffer', seed)
11247
11248 assert(seed.length >= 16, 'Seed should be at least 128 bits')
11249 assert(seed.length <= 64, 'Seed should be at most 512 bits')
11250
11251 var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
ebd8d4e8
IC
11252 var IL = I.slice(0, 32)
11253 var IR = I.slice(32)
11254
11255 // In case IL is 0 or >= n, the master key is invalid
11256 // This is handled by `new ECKey` in the HDNode constructor
11257 var pIL = BigInteger.fromBuffer(IL)
11258
11259 return new HDNode(pIL, IR, network)
11260}
11261
ab78acc6 11262HDNode.fromSeedHex = function (hex, network) {
ebd8d4e8
IC
11263 return HDNode.fromSeedBuffer(new Buffer(hex, 'hex'), network)
11264}
11265
ab78acc6
IC
11266HDNode.fromBase58 = function (string, network) {
11267 return HDNode.fromBuffer(base58check.decode(string), network, true)
ebd8d4e8
IC
11268}
11269
ab78acc6
IC
11270// FIXME: remove in 2.x.y
11271HDNode.fromBuffer = function (buffer, network, __ignoreDeprecation) {
11272 if (!__ignoreDeprecation) {
11273 console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead')
11274 }
11275
ebd8d4e8
IC
11276 assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length')
11277
11278 // 4 byte: version bytes
11279 var version = buffer.readUInt32BE(0)
ab78acc6
IC
11280
11281 if (network) {
11282 assert(version === network.bip32.private || version === network.bip32.public, "Network doesn't match")
11283
11284 // auto-detect
11285 } else {
11286 network = findBIP32NetworkByVersion(version)
11287 }
ebd8d4e8
IC
11288
11289 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
11290 var depth = buffer.readUInt8(4)
11291
11292 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
11293 var parentFingerprint = buffer.readUInt32BE(5)
11294 if (depth === 0) {
11295 assert.strictEqual(parentFingerprint, 0x00000000, 'Invalid parent fingerprint')
11296 }
11297
11298 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11299 // This is encoded in MSB order. (0x00000000 if master key)
11300 var index = buffer.readUInt32BE(9)
11301 assert(depth > 0 || index === 0, 'Invalid index')
11302
11303 // 32 bytes: the chain code
11304 var chainCode = buffer.slice(13, 45)
ab78acc6 11305 var data, hd
ebd8d4e8
IC
11306
11307 // 33 bytes: private key data (0x00 + k)
ab78acc6 11308 if (version === network.bip32.private) {
ebd8d4e8 11309 assert.strictEqual(buffer.readUInt8(45), 0x00, 'Invalid private key')
ab78acc6 11310 data = buffer.slice(46, 78)
ebd8d4e8 11311 var d = BigInteger.fromBuffer(data)
ab78acc6 11312 hd = new HDNode(d, chainCode, network)
ebd8d4e8
IC
11313
11314 // 33 bytes: public key data (0x02 + X or 0x03 + X)
11315 } else {
ab78acc6 11316 data = buffer.slice(45, 78)
ebd8d4e8
IC
11317 var Q = ecurve.Point.decodeFrom(curve, data)
11318 assert.equal(Q.compressed, true, 'Invalid public key')
11319
11320 // Verify that the X coordinate in the public point corresponds to a point on the curve.
11321 // If not, the extended public key is invalid.
11322 curve.validate(Q)
11323
ab78acc6 11324 hd = new HDNode(Q, chainCode, network)
ebd8d4e8
IC
11325 }
11326
11327 hd.depth = depth
11328 hd.index = index
11329 hd.parentFingerprint = parentFingerprint
11330
11331 return hd
11332}
11333
ab78acc6
IC
11334// FIXME: remove in 2.x.y
11335HDNode.fromHex = function (hex, network) {
11336 return HDNode.fromBuffer(new Buffer(hex, 'hex'), network)
ebd8d4e8
IC
11337}
11338
ab78acc6
IC
11339HDNode.prototype.getIdentifier = function () {
11340 return bcrypto.hash160(this.pubKey.toBuffer())
ebd8d4e8
IC
11341}
11342
ab78acc6 11343HDNode.prototype.getFingerprint = function () {
ebd8d4e8
IC
11344 return this.getIdentifier().slice(0, 4)
11345}
11346
ab78acc6 11347HDNode.prototype.getAddress = function () {
ebd8d4e8
IC
11348 return this.pubKey.getAddress(this.network)
11349}
11350
ab78acc6
IC
11351HDNode.prototype.neutered = function () {
11352 var neutered = new HDNode(this.pubKey.Q, this.chainCode, this.network)
11353 neutered.depth = this.depth
11354 neutered.index = this.index
11355 neutered.parentFingerprint = this.parentFingerprint
11356
11357 return neutered
11358}
11359
11360HDNode.prototype.toBase58 = function (isPrivate) {
11361 return base58check.encode(this.toBuffer(isPrivate, true))
ebd8d4e8
IC
11362}
11363
ab78acc6
IC
11364// FIXME: remove in 2.x.y
11365HDNode.prototype.toBuffer = function (isPrivate, __ignoreDeprecation) {
11366 if (isPrivate === undefined) {
11367 isPrivate = !!this.privKey
11368
11369 // FIXME: remove in 2.x.y
11370 } else {
11371 console.warn('isPrivate flag is deprecated, please use the .neutered() method instead')
11372 }
11373
11374 if (!__ignoreDeprecation) {
11375 console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead')
11376 }
ebd8d4e8
IC
11377
11378 // Version
11379 var version = isPrivate ? this.network.bip32.private : this.network.bip32.public
11380 var buffer = new Buffer(HDNode.LENGTH)
11381
11382 // 4 bytes: version bytes
11383 buffer.writeUInt32BE(version, 0)
11384
11385 // Depth
11386 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
11387 buffer.writeUInt8(this.depth, 4)
11388
11389 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
ab78acc6 11390 buffer.writeUInt32BE(this.parentFingerprint, 5)
ebd8d4e8
IC
11391
11392 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11393 // This is encoded in Big endian. (0x00000000 if master key)
11394 buffer.writeUInt32BE(this.index, 9)
11395
11396 // 32 bytes: the chain code
11397 this.chainCode.copy(buffer, 13)
11398
11399 // 33 bytes: the public key or private key data
11400 if (isPrivate) {
ab78acc6 11401 // FIXME: remove in 2.x.y
ebd8d4e8
IC
11402 assert(this.privKey, 'Missing private key')
11403
11404 // 0x00 + k for private keys
11405 buffer.writeUInt8(0, 45)
11406 this.privKey.d.toBuffer(32).copy(buffer, 46)
11407 } else {
ebd8d4e8
IC
11408 // X9.62 encoding for public keys
11409 this.pubKey.toBuffer().copy(buffer, 45)
11410 }
11411
11412 return buffer
11413}
11414
ab78acc6
IC
11415// FIXME: remove in 2.x.y
11416HDNode.prototype.toHex = function (isPrivate) {
ebd8d4e8
IC
11417 return this.toBuffer(isPrivate).toString('hex')
11418}
11419
11420// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
ab78acc6 11421HDNode.prototype.derive = function (index) {
ebd8d4e8
IC
11422 var isHardened = index >= HDNode.HIGHEST_BIT
11423 var indexBuffer = new Buffer(4)
11424 indexBuffer.writeUInt32BE(index, 0)
11425
11426 var data
11427
11428 // Hardened child
11429 if (isHardened) {
11430 assert(this.privKey, 'Could not derive hardened child key')
11431
11432 // data = 0x00 || ser256(kpar) || ser32(index)
11433 data = Buffer.concat([
11434 this.privKey.d.toBuffer(33),
11435 indexBuffer
11436 ])
11437
11438 // Normal child
11439 } else {
11440 // data = serP(point(kpar)) || ser32(index)
11441 // = serP(Kpar) || ser32(index)
11442 data = Buffer.concat([
11443 this.pubKey.toBuffer(),
11444 indexBuffer
11445 ])
11446 }
11447
ab78acc6 11448 var I = createHmac('sha512', this.chainCode).update(data).digest()
ebd8d4e8
IC
11449 var IL = I.slice(0, 32)
11450 var IR = I.slice(32)
11451
11452 var pIL = BigInteger.fromBuffer(IL)
11453
11454 // In case parse256(IL) >= n, proceed with the next value for i
11455 if (pIL.compareTo(curve.n) >= 0) {
11456 return this.derive(index + 1)
11457 }
11458
11459 // Private parent key -> private child key
11460 var hd
11461 if (this.privKey) {
11462 // ki = parse256(IL) + kpar (mod n)
11463 var ki = pIL.add(this.privKey.d).mod(curve.n)
11464
11465 // In case ki == 0, proceed with the next value for i
11466 if (ki.signum() === 0) {
11467 return this.derive(index + 1)
11468 }
11469
11470 hd = new HDNode(ki, IR, this.network)
11471
11472 // Public parent key -> public child key
11473 } else {
11474 // Ki = point(parse256(IL)) + Kpar
11475 // = G*IL + Kpar
11476 var Ki = curve.G.multiply(pIL).add(this.pubKey.Q)
11477
11478 // In case Ki is the point at infinity, proceed with the next value for i
11479 if (curve.isInfinity(Ki)) {
11480 return this.derive(index + 1)
11481 }
11482
11483 hd = new HDNode(Ki, IR, this.network)
11484 }
11485
11486 hd.depth = this.depth + 1
11487 hd.index = index
11488 hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
11489
11490 return hd
11491}
11492
ab78acc6 11493HDNode.prototype.deriveHardened = function (index) {
ebd8d4e8
IC
11494 // Only derives hardened private keys by default
11495 return this.derive(index + HDNode.HIGHEST_BIT)
11496}
11497
11498HDNode.prototype.toString = HDNode.prototype.toBase58
11499
11500module.exports = HDNode
11501
ab78acc6
IC
11502}).call(this,require("buffer").Buffer)
11503},{"./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 11504module.exports = {
ab78acc6
IC
11505 Address: require('./address'),
11506 base58check: require('./base58check'),
11507 Block: require('./block'),
11508 bufferutils: require('./bufferutils'),
11509 crypto: require('./crypto'),
11510 ecdsa: require('./ecdsa'),
11511 ECKey: require('./eckey'),
11512 ECPubKey: require('./ecpubkey'),
11513 ECSignature: require('./ecsignature'),
11514 Message: require('./message'),
11515 opcodes: require('./opcodes'),
11516 HDNode: require('./hdnode'),
11517 Script: require('./script'),
11518 scripts: require('./scripts'),
11519 Transaction: require('./transaction'),
11520 TransactionBuilder: require('./transaction_builder'),
11521 networks: require('./networks'),
11522 Wallet: require('./wallet')
11523}
11524
11525},{"./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 11526(function (Buffer){
ab78acc6
IC
11527var bufferutils = require('./bufferutils')
11528var crypto = require('./crypto')
11529var ecdsa = require('./ecdsa')
11530var networks = require('./networks')
11531
11532var BigInteger = require('bigi')
11533var ECPubKey = require('./ecpubkey')
11534var ECSignature = require('./ecsignature')
11535
11536var ecurve = require('ecurve')
ebd8d4e8
IC
11537var ecparams = ecurve.getCurveByName('secp256k1')
11538
ab78acc6 11539function magicHash (message, network) {
ebd8d4e8
IC
11540 var magicPrefix = new Buffer(network.magicPrefix)
11541 var messageBuffer = new Buffer(message)
ab78acc6 11542 var lengthBuffer = bufferutils.varIntBuffer(messageBuffer.length)
ebd8d4e8
IC
11543
11544 var buffer = Buffer.concat([magicPrefix, lengthBuffer, messageBuffer])
11545 return crypto.hash256(buffer)
11546}
11547
ab78acc6 11548function sign (privKey, message, network) {
ebd8d4e8
IC
11549 network = network || networks.bitcoin
11550
11551 var hash = magicHash(message, network)
11552 var signature = privKey.sign(hash)
11553 var e = BigInteger.fromBuffer(hash)
11554 var i = ecdsa.calcPubKeyRecoveryParam(ecparams, e, signature, privKey.pub.Q)
11555
11556 return signature.toCompact(i, privKey.pub.compressed)
11557}
11558
11559// TODO: network could be implied from address
ab78acc6
IC
11560function verify (address, signature, message, network) {
11561 if (!Buffer.isBuffer(signature)) {
11562 signature = new Buffer(signature, 'base64')
ebd8d4e8 11563 }
ab78acc6 11564
ebd8d4e8
IC
11565 network = network || networks.bitcoin
11566
11567 var hash = magicHash(message, network)
ab78acc6 11568 var parsed = ECSignature.parseCompact(signature)
ebd8d4e8
IC
11569 var e = BigInteger.fromBuffer(hash)
11570 var Q = ecdsa.recoverPubKey(ecparams, e, parsed.signature, parsed.i)
11571
11572 var pubKey = new ECPubKey(Q, parsed.compressed)
ab78acc6 11573 return pubKey.getAddress(network).toString() === address.toString()
ebd8d4e8
IC
11574}
11575
11576module.exports = {
11577 magicHash: magicHash,
11578 sign: sign,
11579 verify: verify
11580}
11581
ab78acc6
IC
11582}).call(this,require("buffer").Buffer)
11583},{"./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
11584// https://en.bitcoin.it/wiki/List_of_address_prefixes
11585// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
11586
11587var networks = {
11588 bitcoin: {
11589 magicPrefix: '\x18Bitcoin Signed Message:\n',
11590 bip32: {
11591 public: 0x0488b21e,
11592 private: 0x0488ade4
11593 },
11594 pubKeyHash: 0x00,
11595 scriptHash: 0x05,
11596 wif: 0x80,
11597 dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162
11598 feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53
11599 estimateFee: estimateFee('bitcoin')
a9385c1b 11600 },
ab78acc6
IC
11601 testnet: {
11602 magicPrefix: '\x18Bitcoin Signed Message:\n',
a9385c1b 11603 bip32: {
ab78acc6
IC
11604 public: 0x043587cf,
11605 private: 0x04358394
a9385c1b 11606 },
ab78acc6
IC
11607 pubKeyHash: 0x6f,
11608 scriptHash: 0xc4,
11609 wif: 0xef,
11610 dustThreshold: 546,
cb325c58 11611 feePerKb: 10000,
ab78acc6 11612 estimateFee: estimateFee('testnet')
a9385c1b 11613 },
ab78acc6
IC
11614 litecoin: {
11615 magicPrefix: '\x19Litecoin Signed Message:\n',
a9385c1b 11616 bip32: {
ab78acc6
IC
11617 public: 0x019da462,
11618 private: 0x019d9cfe
a9385c1b 11619 },
ab78acc6
IC
11620 pubKeyHash: 0x30,
11621 scriptHash: 0x05,
11622 wif: 0xb0,
11623 dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365
11624 dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53
11625 feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56
11626 estimateFee: estimateFee('litecoin')
ebd8d4e8
IC
11627 },
11628 dogecoin: {
11629 magicPrefix: '\x19Dogecoin Signed Message:\n',
11630 bip32: {
11631 public: 0x02facafd,
11632 private: 0x02fac398
11633 },
11634 pubKeyHash: 0x1e,
11635 scriptHash: 0x16,
11636 wif: 0x9e,
11637 dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160
11638 dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62
11639 feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58
11640 estimateFee: estimateFee('dogecoin')
11641 },
ab78acc6
IC
11642 viacoin: {
11643 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8 11644 bip32: {
ab78acc6
IC
11645 public: 0x0488b21e,
11646 private: 0x0488ade4
ebd8d4e8 11647 },
ab78acc6
IC
11648 pubKeyHash: 0x47,
11649 scriptHash: 0x21,
11650 wif: 0xc7,
11651 dustThreshold: 560,
11652 dustSoftThreshold: 100000,
11653 feePerKb: 100000, //
11654 estimateFee: estimateFee('viacoin')
ebd8d4e8 11655 },
ab78acc6
IC
11656 viacointestnet: {
11657 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8
IC
11658 bip32: {
11659 public: 0x043587cf,
11660 private: 0x04358394
11661 },
ab78acc6 11662 pubKeyHash: 0x7f,
ebd8d4e8 11663 scriptHash: 0xc4,
ab78acc6
IC
11664 wif: 0xff,
11665 dustThreshold: 560,
11666 dustSoftThreshold: 100000,
11667 feePerKb: 100000,
11668 estimateFee: estimateFee('viacointestnet')
11669 },
11670 gamerscoin: {
11671 magicPrefix: '\x19Gamerscoin Signed Message:\n',
11672 bip32: {
11673 public: 0x019da462,
11674 private: 0x019d9cfe
11675 },
11676 pubKeyHash: 0x26,
11677 scriptHash: 0x05,
11678 wif: 0xA6,
11679 dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363
11680 dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51
11681 feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54
11682 estimateFee: estimateFee('gamerscoin')
11683 },
11684 jumbucks: {
11685 magicPrefix: '\x19Jumbucks Signed Message:\n',
11686 bip32: {
11687 public: 0x037a689a,
11688 private: 0x037a6460
11689 },
11690 pubKeyHash: 0x2b,
11691 scriptHash: 0x05,
11692 wif: 0xab,
11693 dustThreshold: 0,
11694 dustSoftThreshold: 10000,
ebd8d4e8 11695 feePerKb: 10000,
ab78acc6
IC
11696 estimateFee: estimateFee('jumbucks')
11697 },
11698 zetacoin: {
11699 magicPrefix: '\x18Zetacoin Signed Message:\n',
11700 bip32: {
11701 public: 0x0488b21e,
11702 private: 0x0488ade4
11703 },
11704 pubKeyHash: 0x50,
11705 scriptHash: 0x09,
11706 wif: 0xe0,
11707 dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159
11708 feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54
11709 estimateFee: estimateFee('zetacoin')
ebd8d4e8
IC
11710 }
11711}
11712
ab78acc6
IC
11713function estimateFee (type) {
11714 return function (tx) {
ebd8d4e8
IC
11715 var network = networks[type]
11716 var baseFee = network.feePerKb
11717 var byteSize = tx.toBuffer().length
11718
11719 var fee = baseFee * Math.ceil(byteSize / 1000)
ab78acc6 11720 if (network.dustSoftThreshold === undefined) return fee
ebd8d4e8 11721
ab78acc6 11722 tx.outs.forEach(function (e) {
ebd8d4e8
IC
11723 if (e.value < network.dustSoftThreshold) {
11724 fee += baseFee
11725 }
11726 })
11727
11728 return fee
11729 }
11730}
11731
11732module.exports = networks
11733
ab78acc6 11734},{}],67:[function(require,module,exports){
ebd8d4e8
IC
11735module.exports = {
11736 // push value
ab78acc6
IC
11737 OP_FALSE: 0,
11738 OP_0: 0,
11739 OP_PUSHDATA1: 76,
11740 OP_PUSHDATA2: 77,
11741 OP_PUSHDATA4: 78,
11742 OP_1NEGATE: 79,
11743 OP_RESERVED: 80,
11744 OP_1: 81,
11745 OP_TRUE: 81,
11746 OP_2: 82,
11747 OP_3: 83,
11748 OP_4: 84,
11749 OP_5: 85,
11750 OP_6: 86,
11751 OP_7: 87,
11752 OP_8: 88,
11753 OP_9: 89,
11754 OP_10: 90,
11755 OP_11: 91,
11756 OP_12: 92,
11757 OP_13: 93,
11758 OP_14: 94,
11759 OP_15: 95,
11760 OP_16: 96,
ebd8d4e8
IC
11761
11762 // control
ab78acc6
IC
11763 OP_NOP: 97,
11764 OP_VER: 98,
11765 OP_IF: 99,
11766 OP_NOTIF: 100,
11767 OP_VERIF: 101,
11768 OP_VERNOTIF: 102,
11769 OP_ELSE: 103,
11770 OP_ENDIF: 104,
11771 OP_VERIFY: 105,
11772 OP_RETURN: 106,
ebd8d4e8
IC
11773
11774 // stack ops
ab78acc6
IC
11775 OP_TOALTSTACK: 107,
11776 OP_FROMALTSTACK: 108,
11777 OP_2DROP: 109,
11778 OP_2DUP: 110,
11779 OP_3DUP: 111,
11780 OP_2OVER: 112,
11781 OP_2ROT: 113,
11782 OP_2SWAP: 114,
11783 OP_IFDUP: 115,
11784 OP_DEPTH: 116,
11785 OP_DROP: 117,
11786 OP_DUP: 118,
11787 OP_NIP: 119,
11788 OP_OVER: 120,
11789 OP_PICK: 121,
11790 OP_ROLL: 122,
11791 OP_ROT: 123,
11792 OP_SWAP: 124,
11793 OP_TUCK: 125,
ebd8d4e8
IC
11794
11795 // splice ops
ab78acc6
IC
11796 OP_CAT: 126,
11797 OP_SUBSTR: 127,
11798 OP_LEFT: 128,
11799 OP_RIGHT: 129,
11800 OP_SIZE: 130,
ebd8d4e8
IC
11801
11802 // bit logic
ab78acc6
IC
11803 OP_INVERT: 131,
11804 OP_AND: 132,
11805 OP_OR: 133,
11806 OP_XOR: 134,
11807 OP_EQUAL: 135,
11808 OP_EQUALVERIFY: 136,
11809 OP_RESERVED1: 137,
11810 OP_RESERVED2: 138,
ebd8d4e8
IC
11811
11812 // numeric
ab78acc6
IC
11813 OP_1ADD: 139,
11814 OP_1SUB: 140,
11815 OP_2MUL: 141,
11816 OP_2DIV: 142,
11817 OP_NEGATE: 143,
11818 OP_ABS: 144,
11819 OP_NOT: 145,
11820 OP_0NOTEQUAL: 146,
11821
11822 OP_ADD: 147,
11823 OP_SUB: 148,
11824 OP_MUL: 149,
11825 OP_DIV: 150,
11826 OP_MOD: 151,
11827 OP_LSHIFT: 152,
11828 OP_RSHIFT: 153,
11829
11830 OP_BOOLAND: 154,
11831 OP_BOOLOR: 155,
11832 OP_NUMEQUAL: 156,
11833 OP_NUMEQUALVERIFY: 157,
11834 OP_NUMNOTEQUAL: 158,
11835 OP_LESSTHAN: 159,
11836 OP_GREATERTHAN: 160,
11837 OP_LESSTHANOREQUAL: 161,
11838 OP_GREATERTHANOREQUAL: 162,
11839 OP_MIN: 163,
11840 OP_MAX: 164,
11841
11842 OP_WITHIN: 165,
ebd8d4e8
IC
11843
11844 // crypto
ab78acc6
IC
11845 OP_RIPEMD160: 166,
11846 OP_SHA1: 167,
11847 OP_SHA256: 168,
11848 OP_HASH160: 169,
11849 OP_HASH256: 170,
11850 OP_CODESEPARATOR: 171,
11851 OP_CHECKSIG: 172,
11852 OP_CHECKSIGVERIFY: 173,
11853 OP_CHECKMULTISIG: 174,
11854 OP_CHECKMULTISIGVERIFY: 175,
ebd8d4e8
IC
11855
11856 // expansion
ab78acc6
IC
11857 OP_NOP1: 176,
11858 OP_NOP2: 177,
11859 OP_NOP3: 178,
11860 OP_NOP4: 179,
11861 OP_NOP5: 180,
11862 OP_NOP6: 181,
11863 OP_NOP7: 182,
11864 OP_NOP8: 183,
11865 OP_NOP9: 184,
11866 OP_NOP10: 185,
ebd8d4e8
IC
11867
11868 // template matching params
ab78acc6
IC
11869 OP_PUBKEYHASH: 253,
11870 OP_PUBKEY: 254,
11871 OP_INVALIDOPCODE: 255
ebd8d4e8
IC
11872}
11873
ab78acc6 11874},{}],68:[function(require,module,exports){
ebd8d4e8 11875(function (Buffer){
ab78acc6
IC
11876var assert = require('assert')
11877var bufferutils = require('./bufferutils')
11878var crypto = require('./crypto')
11879var typeForce = require('typeforce')
11880var opcodes = require('./opcodes')
ebd8d4e8 11881
ab78acc6
IC
11882function Script (buffer, chunks) {
11883 typeForce('Buffer', buffer)
11884 typeForce('Array', chunks)
ebd8d4e8
IC
11885
11886 this.buffer = buffer
11887 this.chunks = chunks
11888}
11889
ab78acc6 11890Script.fromASM = function (asm) {
ebd8d4e8 11891 var strChunks = asm.split(' ')
ab78acc6
IC
11892 var chunks = strChunks.map(function (strChunk) {
11893 // opcode
ebd8d4e8
IC
11894 if (strChunk in opcodes) {
11895 return opcodes[strChunk]
11896
ab78acc6 11897 // data chunk
ebd8d4e8
IC
11898 } else {
11899 return new Buffer(strChunk, 'hex')
11900 }
11901 })
11902
11903 return Script.fromChunks(chunks)
11904}
11905
ab78acc6 11906Script.fromBuffer = function (buffer) {
ebd8d4e8 11907 var chunks = []
ebd8d4e8
IC
11908 var i = 0
11909
11910 while (i < buffer.length) {
11911 var opcode = buffer.readUInt8(i)
11912
ab78acc6 11913 // data chunk
ebd8d4e8
IC
11914 if ((opcode > opcodes.OP_0) && (opcode <= opcodes.OP_PUSHDATA4)) {
11915 var d = bufferutils.readPushDataInt(buffer, i)
ab78acc6
IC
11916
11917 // did reading a pushDataInt fail? return non-chunked script
11918 if (d === null) return new Script(buffer, [])
ebd8d4e8
IC
11919 i += d.size
11920
ab78acc6
IC
11921 // attempt to read too much data?
11922 if (i + d.number > buffer.length) return new Script(buffer, [])
11923
ebd8d4e8
IC
11924 var data = buffer.slice(i, i + d.number)
11925 i += d.number
11926
11927 chunks.push(data)
11928
ab78acc6 11929 // opcode
ebd8d4e8
IC
11930 } else {
11931 chunks.push(opcode)
11932
11933 i += 1
11934 }
11935 }
11936
11937 return new Script(buffer, chunks)
11938}
11939
ab78acc6
IC
11940Script.fromChunks = function (chunks) {
11941 typeForce('Array', chunks)
ebd8d4e8 11942
ab78acc6
IC
11943 var bufferSize = chunks.reduce(function (accum, chunk) {
11944 // data chunk
ebd8d4e8
IC
11945 if (Buffer.isBuffer(chunk)) {
11946 return accum + bufferutils.pushDataSize(chunk.length) + chunk.length
11947 }
11948
ab78acc6 11949 // opcode
ebd8d4e8
IC
11950 return accum + 1
11951 }, 0.0)
11952
11953 var buffer = new Buffer(bufferSize)
11954 var offset = 0
11955
ab78acc6
IC
11956 chunks.forEach(function (chunk) {
11957 // data chunk
ebd8d4e8
IC
11958 if (Buffer.isBuffer(chunk)) {
11959 offset += bufferutils.writePushDataInt(buffer, chunk.length, offset)
11960
11961 chunk.copy(buffer, offset)
11962 offset += chunk.length
11963
ab78acc6 11964 // opcode
ebd8d4e8
IC
11965 } else {
11966 buffer.writeUInt8(chunk, offset)
11967 offset += 1
11968 }
11969 })
11970
11971 assert.equal(offset, buffer.length, 'Could not decode chunks')
11972 return new Script(buffer, chunks)
11973}
11974
ab78acc6 11975Script.fromHex = function (hex) {
ebd8d4e8
IC
11976 return Script.fromBuffer(new Buffer(hex, 'hex'))
11977}
11978
ebd8d4e8
IC
11979Script.EMPTY = Script.fromChunks([])
11980
ab78acc6 11981Script.prototype.getHash = function () {
ebd8d4e8
IC
11982 return crypto.hash160(this.buffer)
11983}
11984
11985// FIXME: doesn't work for data chunks, maybe time to use buffertools.compare...
ab78acc6
IC
11986Script.prototype.without = function (needle) {
11987 return Script.fromChunks(this.chunks.filter(function (op) {
ebd8d4e8
IC
11988 return op !== needle
11989 }))
11990}
11991
ebd8d4e8
IC
11992var reverseOps = []
11993for (var op in opcodes) {
11994 var code = opcodes[op]
11995 reverseOps[code] = op
11996}
11997
ab78acc6
IC
11998Script.prototype.toASM = function () {
11999 return this.chunks.map(function (chunk) {
12000 // data chunk
ebd8d4e8
IC
12001 if (Buffer.isBuffer(chunk)) {
12002 return chunk.toString('hex')
12003
ab78acc6 12004 // opcode
ebd8d4e8
IC
12005 } else {
12006 return reverseOps[chunk]
12007 }
12008 }).join(' ')
12009}
12010
ab78acc6 12011Script.prototype.toBuffer = function () {
ebd8d4e8
IC
12012 return this.buffer
12013}
12014
ab78acc6 12015Script.prototype.toHex = function () {
ebd8d4e8
IC
12016 return this.toBuffer().toString('hex')
12017}
12018
12019module.exports = Script
12020
ab78acc6
IC
12021}).call(this,require("buffer").Buffer)
12022},{"./bufferutils":57,"./crypto":58,"./opcodes":67,"assert":5,"buffer":7,"typeforce":53}],69:[function(require,module,exports){
ebd8d4e8 12023(function (Buffer){
ab78acc6
IC
12024var assert = require('assert')
12025var ops = require('./opcodes')
12026var typeForce = require('typeforce')
ebd8d4e8 12027
ab78acc6 12028var ecurve = require('ecurve')
ebd8d4e8
IC
12029var curve = ecurve.getCurveByName('secp256k1')
12030
ab78acc6
IC
12031var ECSignature = require('./ecsignature')
12032var Script = require('./script')
ebd8d4e8 12033
ab78acc6 12034function isCanonicalPubKey (buffer) {
ebd8d4e8
IC
12035 if (!Buffer.isBuffer(buffer)) return false
12036
12037 try {
ebd8d4e8
IC
12038 ecurve.Point.decodeFrom(curve, buffer)
12039 } catch (e) {
ab78acc6
IC
12040 if (!(e.message.match(/Invalid sequence (length|tag)/)))
12041 throw e
ebd8d4e8
IC
12042
12043 return false
12044 }
12045
12046 return true
12047}
12048
ab78acc6 12049function isCanonicalSignature (buffer) {
ebd8d4e8
IC
12050 if (!Buffer.isBuffer(buffer)) return false
12051
12052 try {
12053 ECSignature.parseScriptSignature(buffer)
ab78acc6
IC
12054 } catch (e) {
12055 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/))) {
12056 throw e
12057 }
ebd8d4e8
IC
12058
12059 return false
12060 }
12061
12062 return true
12063}
12064
ab78acc6
IC
12065function isPubKeyHashInput (script) {
12066 return script.chunks.length === 2 &&
12067 isCanonicalSignature(script.chunks[0]) &&
12068 isCanonicalPubKey(script.chunks[1])
ebd8d4e8
IC
12069}
12070
ab78acc6
IC
12071function isPubKeyHashOutput (script) {
12072 return script.chunks.length === 5 &&
12073 script.chunks[0] === ops.OP_DUP &&
12074 script.chunks[1] === ops.OP_HASH160 &&
12075 Buffer.isBuffer(script.chunks[2]) &&
12076 script.chunks[2].length === 20 &&
12077 script.chunks[3] === ops.OP_EQUALVERIFY &&
12078 script.chunks[4] === ops.OP_CHECKSIG
ebd8d4e8
IC
12079}
12080
ab78acc6
IC
12081function isPubKeyInput (script) {
12082 return script.chunks.length === 1 &&
12083 isCanonicalSignature(script.chunks[0])
ebd8d4e8
IC
12084}
12085
ab78acc6
IC
12086function isPubKeyOutput (script) {
12087 return script.chunks.length === 2 &&
12088 isCanonicalPubKey(script.chunks[0]) &&
12089 script.chunks[1] === ops.OP_CHECKSIG
ebd8d4e8
IC
12090}
12091
ab78acc6
IC
12092function isScriptHashInput (script, allowIncomplete) {
12093 if (script.chunks.length < 2) return false
ebd8d4e8 12094
ab78acc6 12095 var lastChunk = script.chunks[script.chunks.length - 1]
ebd8d4e8
IC
12096 if (!Buffer.isBuffer(lastChunk)) return false
12097
ab78acc6
IC
12098 var scriptSig = Script.fromChunks(script.chunks.slice(0, -1))
12099 var redeemScript = Script.fromBuffer(lastChunk)
ebd8d4e8 12100
ab78acc6
IC
12101 // is redeemScript a valid script?
12102 if (redeemScript.chunks.length === 0) return false
12103
12104 return classifyInput(scriptSig, allowIncomplete) === classifyOutput(redeemScript)
ebd8d4e8
IC
12105}
12106
ab78acc6
IC
12107function isScriptHashOutput (script) {
12108 return script.chunks.length === 3 &&
12109 script.chunks[0] === ops.OP_HASH160 &&
12110 Buffer.isBuffer(script.chunks[1]) &&
12111 script.chunks[1].length === 20 &&
12112 script.chunks[2] === ops.OP_EQUAL
ebd8d4e8
IC
12113}
12114
ab78acc6
IC
12115// allowIncomplete is to account for combining signatures
12116// See https://github.com/bitcoin/bitcoin/blob/f425050546644a36b0b8e0eb2f6934a3e0f6f80f/src/script/sign.cpp#L195-L197
12117function isMultisigInput (script, allowIncomplete) {
12118 if (script.chunks.length < 2) return false
12119 if (script.chunks[0] !== ops.OP_0) return false
12120
12121 if (allowIncomplete) {
12122 return script.chunks.slice(1).every(function (chunk) {
12123 return chunk === ops.OP_0 || isCanonicalSignature(chunk)
12124 })
12125 }
12126
12127 return script.chunks.slice(1).every(isCanonicalSignature)
ebd8d4e8
IC
12128}
12129
ab78acc6
IC
12130function isMultisigOutput (script) {
12131 if (script.chunks.length < 4) return false
12132 if (script.chunks[script.chunks.length - 1] !== ops.OP_CHECKMULTISIG) return false
ebd8d4e8 12133
ab78acc6
IC
12134 var mOp = script.chunks[0]
12135 if (mOp === ops.OP_0) return false
12136 if (mOp < ops.OP_1) return false
12137 if (mOp > ops.OP_16) return false
ebd8d4e8 12138
ab78acc6
IC
12139 var nOp = script.chunks[script.chunks.length - 2]
12140 if (nOp === ops.OP_0) return false
12141 if (nOp < ops.OP_1) return false
12142 if (nOp > ops.OP_16) return false
ebd8d4e8 12143
ab78acc6
IC
12144 var m = mOp - (ops.OP_1 - 1)
12145 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8
IC
12146 if (n < m) return false
12147
ab78acc6 12148 var pubKeys = script.chunks.slice(1, -2)
ebd8d4e8
IC
12149 if (n < pubKeys.length) return false
12150
12151 return pubKeys.every(isCanonicalPubKey)
12152}
12153
ab78acc6
IC
12154function isNullDataOutput (script) {
12155 return script.chunks[0] === ops.OP_RETURN
12156}
12157
12158function classifyOutput (script) {
12159 typeForce('Script', script)
12160
12161 if (isPubKeyHashOutput(script)) {
12162 return 'pubkeyhash'
12163 } else if (isScriptHashOutput(script)) {
12164 return 'scripthash'
12165 } else if (isMultisigOutput(script)) {
12166 return 'multisig'
12167 } else if (isPubKeyOutput(script)) {
12168 return 'pubkey'
12169 } else if (isNullDataOutput(script)) {
12170 return 'nulldata'
12171 }
12172
12173 return 'nonstandard'
12174}
12175
12176function classifyInput (script, allowIncomplete) {
12177 typeForce('Script', script)
12178
12179 if (isPubKeyHashInput(script)) {
12180 return 'pubkeyhash'
12181 } else if (isMultisigInput(script, allowIncomplete)) {
12182 return 'multisig'
12183 } else if (isScriptHashInput(script, allowIncomplete)) {
12184 return 'scripthash'
12185 } else if (isPubKeyInput(script)) {
12186 return 'pubkey'
12187 }
12188
12189 return 'nonstandard'
ebd8d4e8
IC
12190}
12191
12192// Standard Script Templates
12193// {pubKey} OP_CHECKSIG
ab78acc6 12194function pubKeyOutput (pubKey) {
ebd8d4e8
IC
12195 return Script.fromChunks([
12196 pubKey.toBuffer(),
ab78acc6 12197 ops.OP_CHECKSIG
ebd8d4e8
IC
12198 ])
12199}
12200
12201// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
ab78acc6
IC
12202function pubKeyHashOutput (hash) {
12203 typeForce('Buffer', hash)
ebd8d4e8
IC
12204
12205 return Script.fromChunks([
ab78acc6
IC
12206 ops.OP_DUP,
12207 ops.OP_HASH160,
ebd8d4e8 12208 hash,
ab78acc6
IC
12209 ops.OP_EQUALVERIFY,
12210 ops.OP_CHECKSIG
ebd8d4e8
IC
12211 ])
12212}
12213
12214// OP_HASH160 {scriptHash} OP_EQUAL
ab78acc6
IC
12215function scriptHashOutput (hash) {
12216 typeForce('Buffer', hash)
ebd8d4e8
IC
12217
12218 return Script.fromChunks([
ab78acc6 12219 ops.OP_HASH160,
ebd8d4e8 12220 hash,
ab78acc6 12221 ops.OP_EQUAL
ebd8d4e8
IC
12222 ])
12223}
12224
12225// m [pubKeys ...] n OP_CHECKMULTISIG
ab78acc6
IC
12226function multisigOutput (m, pubKeys) {
12227 typeForce(['ECPubKey'], pubKeys)
12228
ebd8d4e8
IC
12229 assert(pubKeys.length >= m, 'Not enough pubKeys provided')
12230
ab78acc6 12231 var pubKeyBuffers = pubKeys.map(function (pubKey) {
ebd8d4e8
IC
12232 return pubKey.toBuffer()
12233 })
12234 var n = pubKeys.length
12235
12236 return Script.fromChunks([].concat(
ab78acc6 12237 (ops.OP_1 - 1) + m,
ebd8d4e8 12238 pubKeyBuffers,
ab78acc6
IC
12239 (ops.OP_1 - 1) + n,
12240 ops.OP_CHECKMULTISIG
ebd8d4e8
IC
12241 ))
12242}
12243
12244// {signature}
ab78acc6
IC
12245function pubKeyInput (signature) {
12246 typeForce('Buffer', signature)
ebd8d4e8
IC
12247
12248 return Script.fromChunks([signature])
12249}
12250
12251// {signature} {pubKey}
ab78acc6
IC
12252function pubKeyHashInput (signature, pubKey) {
12253 typeForce('Buffer', signature)
ebd8d4e8
IC
12254
12255 return Script.fromChunks([signature, pubKey.toBuffer()])
12256}
12257
12258// <scriptSig> {serialized scriptPubKey script}
ab78acc6 12259function scriptHashInput (scriptSig, scriptPubKey) {
ebd8d4e8
IC
12260 return Script.fromChunks([].concat(
12261 scriptSig.chunks,
12262 scriptPubKey.toBuffer()
12263 ))
12264}
12265
12266// OP_0 [signatures ...]
ab78acc6 12267function multisigInput (signatures, scriptPubKey) {
ebd8d4e8 12268 if (scriptPubKey) {
ab78acc6
IC
12269 assert(isMultisigOutput(scriptPubKey))
12270
12271 var mOp = scriptPubKey.chunks[0]
12272 var nOp = scriptPubKey.chunks[scriptPubKey.chunks.length - 2]
12273 var m = mOp - (ops.OP_1 - 1)
12274 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8 12275
ab78acc6
IC
12276 assert(signatures.length >= m, 'Not enough signatures provided')
12277 assert(signatures.length <= n, 'Too many signatures provided')
ebd8d4e8
IC
12278 }
12279
ab78acc6
IC
12280 return Script.fromChunks([].concat(ops.OP_0, signatures))
12281}
12282
12283function nullDataOutput (data) {
12284 return Script.fromChunks([ops.OP_RETURN, data])
ebd8d4e8
IC
12285}
12286
12287module.exports = {
ab78acc6
IC
12288 isCanonicalPubKey: isCanonicalPubKey,
12289 isCanonicalSignature: isCanonicalSignature,
12290 isPubKeyHashInput: isPubKeyHashInput,
12291 isPubKeyHashOutput: isPubKeyHashOutput,
12292 isPubKeyInput: isPubKeyInput,
12293 isPubKeyOutput: isPubKeyOutput,
12294 isScriptHashInput: isScriptHashInput,
12295 isScriptHashOutput: isScriptHashOutput,
12296 isMultisigInput: isMultisigInput,
12297 isMultisigOutput: isMultisigOutput,
12298 isNullDataOutput: isNullDataOutput,
ebd8d4e8 12299 classifyOutput: classifyOutput,
ab78acc6
IC
12300 classifyInput: classifyInput,
12301 pubKeyOutput: pubKeyOutput,
ebd8d4e8 12302 pubKeyHashOutput: pubKeyHashOutput,
ab78acc6
IC
12303 scriptHashOutput: scriptHashOutput,
12304 multisigOutput: multisigOutput,
ebd8d4e8 12305 pubKeyInput: pubKeyInput,
ab78acc6 12306 pubKeyHashInput: pubKeyHashInput,
ebd8d4e8 12307 scriptHashInput: scriptHashInput,
ab78acc6
IC
12308 multisigInput: multisigInput,
12309 dataOutput: function (data) {
12310 console.warn('dataOutput is deprecated, use nullDataOutput by 2.0.0')
12311 return nullDataOutput(data)
12312 },
12313 nullDataOutput: nullDataOutput
ebd8d4e8
IC
12314}
12315
ab78acc6
IC
12316}).call(this,require("buffer").Buffer)
12317},{"./ecsignature":62,"./opcodes":67,"./script":68,"assert":5,"buffer":7,"ecurve":49,"typeforce":53}],70:[function(require,module,exports){
ebd8d4e8 12318(function (Buffer){
ab78acc6
IC
12319var assert = require('assert')
12320var bufferutils = require('./bufferutils')
12321var crypto = require('./crypto')
12322var typeForce = require('typeforce')
12323var opcodes = require('./opcodes')
12324var scripts = require('./scripts')
12325
12326var Address = require('./address')
12327var ECSignature = require('./ecsignature')
12328var Script = require('./script')
12329
12330function Transaction () {
12331 this.version = 1
12332 this.locktime = 0
12333 this.ins = []
12334 this.outs = []
12335}
ebd8d4e8
IC
12336
12337Transaction.DEFAULT_SEQUENCE = 0xffffffff
12338Transaction.SIGHASH_ALL = 0x01
12339Transaction.SIGHASH_NONE = 0x02
12340Transaction.SIGHASH_SINGLE = 0x03
12341Transaction.SIGHASH_ANYONECANPAY = 0x80
12342
ab78acc6
IC
12343Transaction.fromBuffer = function (buffer, __disableAssert) {
12344 var offset = 0
12345 function readSlice (n) {
12346 offset += n
12347 return buffer.slice(offset - n, offset)
12348 }
12349
12350 function readUInt32 () {
12351 var i = buffer.readUInt32LE(offset)
12352 offset += 4
12353 return i
12354 }
12355
12356 function readUInt64 () {
12357 var i = bufferutils.readUInt64LE(buffer, offset)
12358 offset += 8
12359 return i
12360 }
12361
12362 function readVarInt () {
12363 var vi = bufferutils.readVarInt(buffer, offset)
12364 offset += vi.size
12365 return vi.number
12366 }
12367
12368 function readScript () {
12369 return Script.fromBuffer(readSlice(readVarInt()))
12370 }
12371
12372 function readGenerationScript () {
12373 return new Script(readSlice(readVarInt()), [])
12374 }
12375
12376 var tx = new Transaction()
12377 tx.version = readUInt32()
12378
12379 var vinLen = readVarInt()
12380 for (var i = 0; i < vinLen; ++i) {
12381 var hash = readSlice(32)
12382
12383 if (Transaction.isCoinbaseHash(hash)) {
12384 tx.ins.push({
12385 hash: hash,
12386 index: readUInt32(),
12387 script: readGenerationScript(),
12388 sequence: readUInt32()
12389 })
12390 } else {
12391 tx.ins.push({
12392 hash: hash,
12393 index: readUInt32(),
12394 script: readScript(),
12395 sequence: readUInt32()
12396 })
12397 }
12398 }
12399
12400 var voutLen = readVarInt()
12401 for (i = 0; i < voutLen; ++i) {
12402 tx.outs.push({
12403 value: readUInt64(),
12404 script: readScript()
12405 })
12406 }
12407
12408 tx.locktime = readUInt32()
12409
12410 if (!__disableAssert) {
12411 assert.equal(offset, buffer.length, 'Transaction has unexpected data')
12412 }
12413
12414 return tx
12415}
12416
12417Transaction.fromHex = function (hex) {
12418 return Transaction.fromBuffer(new Buffer(hex, 'hex'))
12419}
12420
12421Transaction.isCoinbaseHash = function (buffer) {
12422 return Array.prototype.every.call(buffer, function (x) {
12423 return x === 0
12424 })
ebd8d4e8
IC
12425}
12426
12427/**
ab78acc6 12428 * Create a new txIn.
ebd8d4e8
IC
12429 *
12430 * Can be called with any of:
12431 *
12432 * - A transaction and an index
12433 * - A transaction hash and an index
12434 *
12435 * Note that this method does not sign the created input.
12436 */
ab78acc6
IC
12437Transaction.prototype.addInput = function (hash, index, sequence, script) {
12438 if (sequence === undefined || sequence === null) {
12439 sequence = Transaction.DEFAULT_SEQUENCE
12440 }
ebd8d4e8 12441
ab78acc6 12442 script = script || Script.EMPTY
ebd8d4e8 12443
ab78acc6 12444 if (typeof hash === 'string') {
ebd8d4e8 12445 // TxId hex is big-endian, we need little-endian
ab78acc6
IC
12446 hash = bufferutils.reverse(new Buffer(hash, 'hex'))
12447 } else if (hash instanceof Transaction) {
12448 hash = hash.getHash()
ebd8d4e8
IC
12449 }
12450
ab78acc6
IC
12451 typeForce('Buffer', hash)
12452 typeForce('Number', index)
12453 typeForce('Number', sequence)
12454 typeForce('Script', script)
12455
ebd8d4e8 12456 assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
ebd8d4e8 12457
ab78acc6 12458 // Add the input and return the input's index
ebd8d4e8
IC
12459 return (this.ins.push({
12460 hash: hash,
12461 index: index,
ab78acc6 12462 script: script,
ebd8d4e8
IC
12463 sequence: sequence
12464 }) - 1)
12465}
12466
12467/**
ab78acc6 12468 * Create a new txOut.
ebd8d4e8
IC
12469 *
12470 * Can be called with:
12471 *
12472 * - A base58 address string and a value
12473 * - An Address object and a value
12474 * - A scriptPubKey Script and a value
12475 */
ab78acc6 12476Transaction.prototype.addOutput = function (scriptPubKey, value) {
ebd8d4e8
IC
12477 // Attempt to get a valid address if it's a base58 address string
12478 if (typeof scriptPubKey === 'string') {
12479 scriptPubKey = Address.fromBase58Check(scriptPubKey)
12480 }
12481
12482 // Attempt to get a valid script if it's an Address object
12483 if (scriptPubKey instanceof Address) {
ab78acc6 12484 scriptPubKey = scriptPubKey.toOutputScript()
ebd8d4e8
IC
12485 }
12486
ab78acc6
IC
12487 typeForce('Script', scriptPubKey)
12488 typeForce('Number', value)
12489
12490 // Add the output and return the output's index
ebd8d4e8
IC
12491 return (this.outs.push({
12492 script: scriptPubKey,
ab78acc6 12493 value: value
ebd8d4e8
IC
12494 }) - 1)
12495}
12496
ab78acc6
IC
12497Transaction.prototype.clone = function () {
12498 var newTx = new Transaction()
12499 newTx.version = this.version
12500 newTx.locktime = this.locktime
12501
12502 newTx.ins = this.ins.map(function (txIn) {
12503 return {
12504 hash: txIn.hash,
12505 index: txIn.index,
12506 script: txIn.script,
12507 sequence: txIn.sequence
12508 }
12509 })
12510
12511 newTx.outs = this.outs.map(function (txOut) {
12512 return {
12513 script: txOut.script,
12514 value: txOut.value
12515 }
12516 })
12517
12518 return newTx
12519}
12520
12521/**
12522 * Hash transaction for signing a specific input.
12523 *
12524 * Bitcoin uses a different hash for each signed transaction input. This
12525 * method copies the transaction, makes the necessary changes based on the
12526 * hashType, serializes and finally hashes the result. This hash can then be
12527 * used to sign the transaction input in question.
12528 */
12529Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
12530 // FIXME: remove in 2.x.y
12531 if (arguments[0] instanceof Script) {
12532 console.warn('hashForSignature(prevOutScript, inIndex, ...) has been deprecated. Use hashForSignature(inIndex, prevOutScript, ...)')
12533
12534 // swap the arguments (must be stored in tmp, arguments is special)
12535 var tmp = arguments[0]
12536 inIndex = arguments[1]
12537 prevOutScript = tmp
12538 }
12539
12540 typeForce('Number', inIndex)
12541 typeForce('Script', prevOutScript)
12542 typeForce('Number', hashType)
12543
12544 assert(inIndex >= 0, 'Invalid vin index')
12545 assert(inIndex < this.ins.length, 'Invalid vin index')
12546
12547 var txTmp = this.clone()
12548 var hashScript = prevOutScript.without(opcodes.OP_CODESEPARATOR)
12549
12550 // Blank out other inputs' signatures
12551 txTmp.ins.forEach(function (txIn) {
12552 txIn.script = Script.EMPTY
12553 })
12554 txTmp.ins[inIndex].script = hashScript
12555
12556 var hashTypeModifier = hashType & 0x1f
12557
12558 if (hashTypeModifier === Transaction.SIGHASH_NONE) {
12559 assert(false, 'SIGHASH_NONE not yet supported')
12560 } else if (hashTypeModifier === Transaction.SIGHASH_SINGLE) {
12561 assert(false, 'SIGHASH_SINGLE not yet supported')
12562 }
12563
12564 if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
12565 assert(false, 'SIGHASH_ANYONECANPAY not yet supported')
12566 }
12567
12568 var hashTypeBuffer = new Buffer(4)
12569 hashTypeBuffer.writeInt32LE(hashType, 0)
12570
12571 var buffer = Buffer.concat([txTmp.toBuffer(), hashTypeBuffer])
12572 return crypto.hash256(buffer)
12573}
12574
12575Transaction.prototype.getHash = function () {
12576 return crypto.hash256(this.toBuffer())
12577}
12578
12579Transaction.prototype.getId = function () {
12580 // TxHash is little-endian, we need big-endian
12581 return bufferutils.reverse(this.getHash()).toString('hex')
12582}
12583
ebd8d4e8 12584Transaction.prototype.toBuffer = function () {
ab78acc6
IC
12585 function scriptSize (script) {
12586 var length = script.buffer.length
ebd8d4e8 12587
ab78acc6
IC
12588 return bufferutils.varIntSize(length) + length
12589 }
ebd8d4e8
IC
12590
12591 var buffer = new Buffer(
12592 8 +
12593 bufferutils.varIntSize(this.ins.length) +
12594 bufferutils.varIntSize(this.outs.length) +
ab78acc6
IC
12595 this.ins.reduce(function (sum, input) { return sum + 40 + scriptSize(input.script) }, 0) +
12596 this.outs.reduce(function (sum, output) { return sum + 8 + scriptSize(output.script) }, 0)
ebd8d4e8
IC
12597 )
12598
12599 var offset = 0
ab78acc6 12600 function writeSlice (slice) {
ebd8d4e8
IC
12601 slice.copy(buffer, offset)
12602 offset += slice.length
12603 }
ab78acc6
IC
12604
12605 function writeUInt32 (i) {
ebd8d4e8
IC
12606 buffer.writeUInt32LE(i, offset)
12607 offset += 4
12608 }
ab78acc6
IC
12609
12610 function writeUInt64 (i) {
ebd8d4e8
IC
12611 bufferutils.writeUInt64LE(buffer, i, offset)
12612 offset += 8
12613 }
ab78acc6
IC
12614
12615 function writeVarInt (i) {
ebd8d4e8
IC
12616 var n = bufferutils.writeVarInt(buffer, i, offset)
12617 offset += n
12618 }
12619
12620 writeUInt32(this.version)
12621 writeVarInt(this.ins.length)
12622
ab78acc6
IC
12623 this.ins.forEach(function (txIn) {
12624 writeSlice(txIn.hash)
12625 writeUInt32(txIn.index)
12626 writeVarInt(txIn.script.buffer.length)
12627 writeSlice(txIn.script.buffer)
12628 writeUInt32(txIn.sequence)
ebd8d4e8
IC
12629 })
12630
12631 writeVarInt(this.outs.length)
ab78acc6
IC
12632 this.outs.forEach(function (txOut) {
12633 writeUInt64(txOut.value)
12634 writeVarInt(txOut.script.buffer.length)
12635 writeSlice(txOut.script.buffer)
ebd8d4e8
IC
12636 })
12637
12638 writeUInt32(this.locktime)
12639
12640 return buffer
12641}
12642
ab78acc6 12643Transaction.prototype.toHex = function () {
ebd8d4e8
IC
12644 return this.toBuffer().toString('hex')
12645}
12646
ab78acc6
IC
12647Transaction.prototype.setInputScript = function (index, script) {
12648 typeForce('Number', index)
12649 typeForce('Script', script)
12650
12651 this.ins[index].script = script
12652}
12653
12654// FIXME: remove in 2.x.y
12655Transaction.prototype.sign = function (index, privKey, hashType) {
12656 console.warn('Transaction.prototype.sign is deprecated. Use TransactionBuilder instead.')
12657
12658 var prevOutScript = privKey.pub.getAddress().toOutputScript()
12659 var signature = this.signInput(index, prevOutScript, privKey, hashType)
12660
12661 var scriptSig = scripts.pubKeyHashInput(signature, privKey.pub)
12662 this.setInputScript(index, scriptSig)
12663}
12664
12665// FIXME: remove in 2.x.y
12666Transaction.prototype.signInput = function (index, prevOutScript, privKey, hashType) {
12667 console.warn('Transaction.prototype.signInput is deprecated. Use TransactionBuilder instead.')
12668
12669 hashType = hashType || Transaction.SIGHASH_ALL
12670
12671 var hash = this.hashForSignature(index, prevOutScript, hashType)
12672 var signature = privKey.sign(hash)
12673
12674 return signature.toScriptSignature(hashType)
12675}
12676
12677// FIXME: remove in 2.x.y
12678Transaction.prototype.validateInput = function (index, prevOutScript, pubKey, buffer) {
12679 console.warn('Transaction.prototype.validateInput is deprecated. Use TransactionBuilder instead.')
12680
12681 var parsed = ECSignature.parseScriptSignature(buffer)
12682 var hash = this.hashForSignature(index, prevOutScript, parsed.hashType)
12683
12684 return pubKey.verify(hash, parsed.signature)
12685}
12686
12687module.exports = Transaction
12688
12689}).call(this,require("buffer").Buffer)
12690},{"./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){
12691(function (Buffer){
12692var assert = require('assert')
12693var ops = require('./opcodes')
12694var scripts = require('./scripts')
12695
12696var ECPubKey = require('./ecpubkey')
12697var ECSignature = require('./ecsignature')
12698var Script = require('./script')
12699var Transaction = require('./transaction')
12700
12701function extractInput (txIn) {
12702 var redeemScript
12703 var scriptSig = txIn.script
12704 var prevOutScript
12705 var prevOutType = scripts.classifyInput(scriptSig, true)
12706 var scriptType
12707
12708 // Re-classify if scriptHash
12709 if (prevOutType === 'scripthash') {
12710 redeemScript = Script.fromBuffer(scriptSig.chunks.slice(-1)[0])
12711 prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
12712
12713 scriptSig = Script.fromChunks(scriptSig.chunks.slice(0, -1))
12714 scriptType = scripts.classifyInput(scriptSig, true)
12715 } else {
12716 scriptType = prevOutType
12717 }
12718
12719 // Extract hashType, pubKeys and signatures
12720 var hashType, parsed, pubKeys, signatures
12721
12722 switch (scriptType) {
12723 case 'pubkeyhash': {
12724 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12725 hashType = parsed.hashType
12726 pubKeys = [ECPubKey.fromBuffer(scriptSig.chunks[1])]
12727 signatures = [parsed.signature]
12728 prevOutScript = pubKeys[0].getAddress().toOutputScript()
12729
12730 break
12731 }
12732
12733 case 'pubkey': {
12734 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12735 hashType = parsed.hashType
12736 signatures = [parsed.signature]
12737
12738 if (redeemScript) {
12739 pubKeys = [ECPubKey.fromBuffer(redeemScript.chunks[0])]
12740 }
12741
12742 break
12743 }
12744
12745 case 'multisig': {
12746 signatures = scriptSig.chunks.slice(1).map(function (chunk) {
12747 if (chunk === ops.OP_0) return chunk
12748
12749 var parsed = ECSignature.parseScriptSignature(chunk)
12750 hashType = parsed.hashType
12751
12752 return parsed.signature
12753 })
12754
12755 if (redeemScript) {
12756 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12757 }
12758
12759 break
12760 }
12761 }
12762
12763 return {
12764 hashType: hashType,
12765 prevOutScript: prevOutScript,
12766 prevOutType: prevOutType,
12767 pubKeys: pubKeys,
12768 redeemScript: redeemScript,
12769 scriptType: scriptType,
12770 signatures: signatures
12771 }
12772}
12773
12774function TransactionBuilder () {
12775 this.prevTxMap = {}
12776 this.prevOutScripts = {}
12777 this.prevOutTypes = {}
12778
12779 this.inputs = []
12780 this.tx = new Transaction()
12781}
12782
12783TransactionBuilder.fromTransaction = function (transaction) {
12784 var txb = new TransactionBuilder()
12785
12786 // Copy other transaction fields
12787 txb.tx.version = transaction.version
12788 txb.tx.locktime = transaction.locktime
12789
12790 // Extract/add inputs
12791 transaction.ins.forEach(function (txIn) {
12792 txb.addInput(txIn.hash, txIn.index, txIn.sequence)
12793 })
12794
12795 // Extract/add outputs
12796 transaction.outs.forEach(function (txOut) {
12797 txb.addOutput(txOut.script, txOut.value)
12798 })
12799
12800 // Extract/add signatures
12801 txb.inputs = transaction.ins.map(function (txIn) {
12802 // TODO: remove me after testcase added
12803 assert(!Transaction.isCoinbaseHash(txIn.hash), 'coinbase inputs not supported')
12804
12805 // Ignore empty scripts
12806 if (txIn.script.buffer.length === 0) return {}
12807
12808 return extractInput(txIn)
12809 })
12810
12811 return txb
12812}
12813
12814TransactionBuilder.prototype.addInput = function (prevTx, index, sequence, prevOutScript) {
12815 var prevOutHash
12816
12817 // txId
12818 if (typeof prevTx === 'string') {
12819 prevOutHash = new Buffer(prevTx, 'hex')
12820
12821 // TxId hex is big-endian, we want little-endian hash
12822 Array.prototype.reverse.call(prevOutHash)
12823
12824 // Transaction
12825 } else if (prevTx instanceof Transaction) {
12826 prevOutHash = prevTx.getHash()
12827 prevOutScript = prevTx.outs[index].script
12828
12829 // txHash
12830 } else {
12831 prevOutHash = prevTx
12832 }
12833
12834 var input = {}
12835 if (prevOutScript) {
12836 var prevOutType = scripts.classifyOutput(prevOutScript)
12837
12838 // if we can, extract pubKey information
12839 switch (prevOutType) {
12840 case 'multisig': {
12841 input.pubKeys = prevOutScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12842 break
12843 }
12844
12845 case 'pubkey': {
12846 input.pubKeys = prevOutScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
12847 break
12848 }
12849 }
12850
12851 if (prevOutType !== 'scripthash') {
12852 input.scriptType = prevOutType
12853 }
12854
12855 input.prevOutScript = prevOutScript
12856 input.prevOutType = prevOutType
12857 }
12858
12859 assert(this.inputs.every(function (input2) {
12860 if (input2.hashType === undefined) return true
12861
12862 return input2.hashType & Transaction.SIGHASH_ANYONECANPAY
12863 }), 'No, this would invalidate signatures')
12864
12865 var prevOut = prevOutHash.toString('hex') + ':' + index
12866 assert(!(prevOut in this.prevTxMap), 'Transaction is already an input')
12867
12868 var vin = this.tx.addInput(prevOutHash, index, sequence)
12869 this.inputs[vin] = input
12870 this.prevTxMap[prevOut] = vin
12871
12872 return vin
12873}
12874
12875TransactionBuilder.prototype.addOutput = function (scriptPubKey, value) {
12876 assert(this.inputs.every(function (input) {
12877 if (input.hashType === undefined) return true
ebd8d4e8 12878
ab78acc6
IC
12879 return (input.hashType & 0x1f) === Transaction.SIGHASH_SINGLE
12880 }), 'No, this would invalidate signatures')
ebd8d4e8 12881
ab78acc6
IC
12882 return this.tx.addOutput(scriptPubKey, value)
12883}
ebd8d4e8 12884
ab78acc6
IC
12885TransactionBuilder.prototype.build = function () {
12886 return this.__build(false)
12887}
12888TransactionBuilder.prototype.buildIncomplete = function () {
12889 return this.__build(true)
12890}
ebd8d4e8 12891
ab78acc6
IC
12892var canSignTypes = {
12893 'pubkeyhash': true,
12894 'multisig': true,
12895 'pubkey': true
12896}
ebd8d4e8 12897
ab78acc6
IC
12898TransactionBuilder.prototype.__build = function (allowIncomplete) {
12899 if (!allowIncomplete) {
12900 assert(this.tx.ins.length > 0, 'Transaction has no inputs')
12901 assert(this.tx.outs.length > 0, 'Transaction has no outputs')
ebd8d4e8
IC
12902 }
12903
ab78acc6 12904 var tx = this.tx.clone()
ebd8d4e8 12905
ab78acc6
IC
12906 // Create script signatures from signature meta-data
12907 this.inputs.forEach(function (input, index) {
12908 var scriptType = input.scriptType
12909 var scriptSig
ebd8d4e8 12910
ab78acc6
IC
12911 if (!allowIncomplete) {
12912 assert(!!scriptType, 'Transaction is not complete')
12913 assert(scriptType in canSignTypes, scriptType + ' not supported')
12914 assert(input.signatures, 'Transaction is missing signatures')
12915 }
ebd8d4e8 12916
ab78acc6
IC
12917 if (input.signatures) {
12918 switch (scriptType) {
12919 case 'pubkeyhash': {
12920 var pkhSignature = input.signatures[0].toScriptSignature(input.hashType)
12921 scriptSig = scripts.pubKeyHashInput(pkhSignature, input.pubKeys[0])
12922 break
12923 }
ebd8d4e8 12924
ab78acc6
IC
12925 case 'multisig': {
12926 // Array.prototype.map is sparse-compatible
12927 var msSignatures = input.signatures.map(function (signature) {
12928 return signature && signature.toScriptSignature(input.hashType)
12929 })
ebd8d4e8 12930
ab78acc6
IC
12931 // fill in blanks with OP_0
12932 if (allowIncomplete) {
12933 for (var i = 0; i < msSignatures.length; ++i) {
12934 if (msSignatures[i]) continue
ebd8d4e8 12935
ab78acc6
IC
12936 msSignatures[i] = ops.OP_0
12937 }
12938 } else {
12939 // Array.prototype.filter returns non-sparse array
12940 msSignatures = msSignatures.filter(function (x) { return x })
12941 }
ebd8d4e8 12942
ab78acc6
IC
12943 var redeemScript = allowIncomplete ? undefined : input.redeemScript
12944 scriptSig = scripts.multisigInput(msSignatures, redeemScript)
12945 break
12946 }
ebd8d4e8 12947
ab78acc6
IC
12948 case 'pubkey': {
12949 var pkSignature = input.signatures[0].toScriptSignature(input.hashType)
12950 scriptSig = scripts.pubKeyInput(pkSignature)
12951 break
12952 }
12953 }
ebd8d4e8 12954 }
ebd8d4e8 12955
ab78acc6
IC
12956 // did we build a scriptSig?
12957 if (scriptSig) {
12958 // wrap as scriptHash if necessary
12959 if (input.prevOutType === 'scripthash') {
12960 scriptSig = scripts.scriptHashInput(scriptSig, input.redeemScript)
12961 }
12962
12963 tx.setInputScript(index, scriptSig)
ebd8d4e8
IC
12964 }
12965 })
12966
ab78acc6 12967 return tx
ebd8d4e8
IC
12968}
12969
ab78acc6
IC
12970TransactionBuilder.prototype.sign = function (index, privKey, redeemScript, hashType) {
12971 assert(index in this.inputs, 'No input at index: ' + index)
12972 hashType = hashType || Transaction.SIGHASH_ALL
ebd8d4e8 12973
ab78acc6
IC
12974 var input = this.inputs[index]
12975 var canSign = input.hashType &&
12976 input.prevOutScript &&
12977 input.prevOutType &&
12978 input.pubKeys &&
12979 input.scriptType &&
12980 input.signatures
ebd8d4e8 12981
ab78acc6
IC
12982 // are we almost ready to sign?
12983 if (canSign) {
12984 // if redeemScript was provided, enforce consistency
12985 if (redeemScript) {
12986 assert.deepEqual(input.redeemScript, redeemScript, 'Inconsistent redeemScript')
12987 }
ebd8d4e8 12988
ab78acc6 12989 assert.equal(input.hashType, hashType, 'Inconsistent hashType')
ebd8d4e8 12990
ab78acc6
IC
12991 // no? prepare
12992 } else {
12993 // must be pay-to-scriptHash?
12994 if (redeemScript) {
12995 // if we have a prevOutScript, enforce scriptHash equality to the redeemScript
12996 if (input.prevOutScript) {
12997 assert.equal(input.prevOutType, 'scripthash', 'PrevOutScript must be P2SH')
12998
12999 var scriptHash = input.prevOutScript.chunks[1]
13000 assert.deepEqual(scriptHash, redeemScript.getHash(), 'RedeemScript does not match ' + scriptHash.toString('hex'))
13001 }
ebd8d4e8 13002
ab78acc6
IC
13003 var scriptType = scripts.classifyOutput(redeemScript)
13004 assert(scriptType in canSignTypes, 'RedeemScript not supported (' + scriptType + ')')
ebd8d4e8 13005
ab78acc6
IC
13006 var pubKeys = []
13007 switch (scriptType) {
13008 case 'multisig': {
13009 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
13010 break
13011 }
ebd8d4e8 13012
ab78acc6
IC
13013 case 'pubkeyhash': {
13014 var pkh1 = redeemScript.chunks[2]
13015 var pkh2 = privKey.pub.getAddress().hash
ebd8d4e8 13016
ab78acc6
IC
13017 assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
13018 pubKeys = [privKey.pub]
13019 break
13020 }
ebd8d4e8 13021
ab78acc6
IC
13022 case 'pubkey': {
13023 pubKeys = redeemScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
13024 break
13025 }
13026 }
ebd8d4e8 13027
ab78acc6
IC
13028 if (!input.prevOutScript) {
13029 input.prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
13030 input.prevOutType = 'scripthash'
13031 }
ebd8d4e8 13032
ab78acc6
IC
13033 input.pubKeys = pubKeys
13034 input.redeemScript = redeemScript
13035 input.scriptType = scriptType
ebd8d4e8 13036
ab78acc6
IC
13037 // cannot be pay-to-scriptHash
13038 } else {
13039 assert.notEqual(input.prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript')
ebd8d4e8 13040
ab78acc6
IC
13041 // can we otherwise sign this?
13042 if (input.scriptType) {
13043 assert(input.pubKeys, input.scriptType + ' not supported')
ebd8d4e8 13044
ab78acc6
IC
13045 // we know nothin' Jon Snow, assume pubKeyHash
13046 } else {
13047 input.prevOutScript = privKey.pub.getAddress().toOutputScript()
13048 input.prevOutType = 'pubkeyhash'
13049 input.pubKeys = [privKey.pub]
13050 input.scriptType = input.prevOutType
13051 }
13052 }
ebd8d4e8 13053
ab78acc6
IC
13054 input.hashType = hashType
13055 input.signatures = input.signatures || []
13056 }
13057
13058 var signatureScript = input.redeemScript || input.prevOutScript
13059 var signatureHash = this.tx.hashForSignature(index, signatureScript, hashType)
13060
13061 // enforce signature order matches public keys
13062 if (input.scriptType === 'multisig' && input.redeemScript && input.signatures.length !== input.pubKeys.length) {
13063 // maintain a local copy of unmatched signatures
13064 var unmatched = input.signatures.slice()
13065
13066 input.signatures = input.pubKeys.map(function (pubKey) {
13067 var match
13068
13069 // check for any matching signatures
13070 unmatched.some(function (signature, i) {
13071 if (!pubKey.verify(signatureHash, signature)) return false
13072 match = signature
13073
13074 // remove matched signature from unmatched
13075 unmatched.splice(i, 1)
13076
13077 return true
13078 })
13079
13080 return match || undefined
13081 })
13082 }
13083
13084 // enforce in order signing of public keys
13085 assert(input.pubKeys.some(function (pubKey, i) {
13086 if (!privKey.pub.Q.equals(pubKey.Q)) return false
13087
13088 assert(!input.signatures[i], 'Signature already exists')
13089 var signature = privKey.sign(signatureHash)
13090 input.signatures[i] = signature
13091
13092 return true
13093 }, this), 'privateKey cannot sign for this input')
ebd8d4e8
IC
13094}
13095
ab78acc6 13096module.exports = TransactionBuilder
ebd8d4e8 13097
ab78acc6
IC
13098}).call(this,require("buffer").Buffer)
13099},{"./ecpubkey":61,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"assert":5,"buffer":7}],72:[function(require,module,exports){
ebd8d4e8 13100(function (Buffer){
ab78acc6
IC
13101var assert = require('assert')
13102var bufferutils = require('./bufferutils')
13103var typeForce = require('typeforce')
13104var networks = require('./networks')
13105var randomBytes = require('randombytes')
ebd8d4e8 13106
ab78acc6
IC
13107var Address = require('./address')
13108var HDNode = require('./hdnode')
13109var TransactionBuilder = require('./transaction_builder')
13110var Script = require('./script')
ebd8d4e8 13111
ab78acc6
IC
13112function Wallet (seed, network) {
13113 console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296')
13114
13115 seed = seed || randomBytes(32)
ebd8d4e8
IC
13116 network = network || networks.bitcoin
13117
13118 // Stored in a closure to make accidental serialization less likely
ab78acc6
IC
13119 var masterKey = HDNode.fromSeedBuffer(seed, network)
13120
13121 // HD first-level child derivation method should be hardened
13122 // See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
13123 var accountZero = masterKey.deriveHardened(0)
13124 var externalAccount = accountZero.derive(0)
13125 var internalAccount = accountZero.derive(1)
ebd8d4e8 13126
ebd8d4e8
IC
13127 this.addresses = []
13128 this.changeAddresses = []
ab78acc6
IC
13129 this.network = network
13130 this.unspents = []
ebd8d4e8 13131
ab78acc6
IC
13132 // FIXME: remove in 2.0.0
13133 this.unspentMap = {}
ebd8d4e8 13134
ab78acc6
IC
13135 // FIXME: remove in 2.0.0
13136 var me = this
13137 this.newMasterKey = function (seed) {
13138 console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
13139
13140 seed = seed || randomBytes(32)
13141 masterKey = HDNode.fromSeedBuffer(seed, network)
ebd8d4e8 13142
ab78acc6 13143 accountZero = masterKey.deriveHardened(0)
ebd8d4e8
IC
13144 externalAccount = accountZero.derive(0)
13145 internalAccount = accountZero.derive(1)
13146
13147 me.addresses = []
13148 me.changeAddresses = []
13149
ab78acc6
IC
13150 me.unspents = []
13151 me.unspentMap = {}
ebd8d4e8
IC
13152 }
13153
ab78acc6
IC
13154 this.getMasterKey = function () {
13155 return masterKey
ebd8d4e8 13156 }
ab78acc6
IC
13157 this.getAccountZero = function () {
13158 return accountZero
ebd8d4e8 13159 }
ab78acc6
IC
13160 this.getExternalAccount = function () {
13161 return externalAccount
13162 }
13163 this.getInternalAccount = function () {
13164 return internalAccount
ebd8d4e8 13165 }
ab78acc6 13166}
ebd8d4e8 13167
ab78acc6
IC
13168Wallet.prototype.createTransaction = function (to, value, options) {
13169 // FIXME: remove in 2.0.0
13170 if (typeof options !== 'object') {
13171 if (options !== undefined) {
13172 console.warn('Non options object parameters are deprecated, use options object instead')
ebd8d4e8 13173
ab78acc6
IC
13174 options = {
13175 fixedFee: arguments[2],
13176 changeAddress: arguments[3]
13177 }
ebd8d4e8 13178 }
ebd8d4e8
IC
13179 }
13180
ab78acc6 13181 options = options || {}
ebd8d4e8 13182
ab78acc6 13183 assert(value > this.network.dustThreshold, value + ' must be above dust threshold (' + this.network.dustThreshold + ' Satoshis)')
ebd8d4e8 13184
ab78acc6
IC
13185 var changeAddress = options.changeAddress
13186 var fixedFee = options.fixedFee
13187 var minConf = options.minConf === undefined ? 0 : options.minConf // FIXME: change minConf:1 by default in 2.0.0
ebd8d4e8 13188
ab78acc6
IC
13189 // filter by minConf, then pending and sort by descending value
13190 var unspents = this.unspents.filter(function (unspent) {
13191 return unspent.confirmations >= minConf
13192 }).filter(function (unspent) {
13193 return !unspent.pending
13194 }).sort(function (o1, o2) {
13195 return o2.value - o1.value
13196 })
ebd8d4e8 13197
ab78acc6
IC
13198 var accum = 0
13199 var addresses = []
13200 var subTotal = value
ebd8d4e8 13201
ab78acc6
IC
13202 var txb = new TransactionBuilder()
13203 txb.addOutput(to, value)
ebd8d4e8 13204
ab78acc6
IC
13205 for (var i = 0; i < unspents.length; ++i) {
13206 var unspent = unspents[i]
13207 addresses.push(unspent.address)
ebd8d4e8 13208
ab78acc6
IC
13209 txb.addInput(unspent.txHash, unspent.index)
13210
13211 var fee = fixedFee === undefined ? estimatePaddedFee(txb.buildIncomplete(), this.network) : fixedFee
ebd8d4e8 13212
ab78acc6
IC
13213 accum += unspent.value
13214 subTotal = value + fee
13215
13216 if (accum >= subTotal) {
13217 var change = accum - subTotal
13218
13219 if (change > this.network.dustThreshold) {
13220 txb.addOutput(changeAddress || this.getChangeAddress(), change)
ebd8d4e8 13221 }
ebd8d4e8 13222
ab78acc6 13223 break
ebd8d4e8
IC
13224 }
13225 }
13226
ab78acc6 13227 assert(accum >= subTotal, 'Not enough funds (incl. fee): ' + accum + ' < ' + subTotal)
ebd8d4e8 13228
ab78acc6
IC
13229 return this.signWith(txb, addresses).build()
13230}
ebd8d4e8 13231
ab78acc6
IC
13232// FIXME: remove in 2.0.0
13233Wallet.prototype.processPendingTx = function (tx) {
13234 this.__processTx(tx, true)
13235}
ebd8d4e8 13236
ab78acc6
IC
13237// FIXME: remove in 2.0.0
13238Wallet.prototype.processConfirmedTx = function (tx) {
13239 this.__processTx(tx, false)
13240}
ebd8d4e8 13241
ab78acc6
IC
13242// FIXME: remove in 2.0.0
13243Wallet.prototype.__processTx = function (tx, isPending) {
13244 console.warn('processTransaction is considered harmful, see issue #260 for more information')
ebd8d4e8 13245
ab78acc6
IC
13246 var txId = tx.getId()
13247 var txHash = tx.getHash()
ebd8d4e8 13248
ab78acc6
IC
13249 tx.outs.forEach(function (txOut, i) {
13250 var address
ebd8d4e8 13251
ab78acc6
IC
13252 try {
13253 address = Address.fromOutputScript(txOut.script, this.network).toString()
13254 } catch (e) {
13255 if (!(e.message.match(/has no matching Address/)))
13256 throw e
13257 }
13258
13259 var myAddresses = this.addresses.concat(this.changeAddresses)
13260 if (myAddresses.indexOf(address) > -1) {
13261 var lookup = txId + ':' + i
13262 if (lookup in this.unspentMap) return
13263
13264 // its unique, add it
13265 var unspent = {
13266 address: address,
13267 confirmations: 0, // no way to determine this without more information
13268 index: i,
13269 txHash: txHash,
13270 txId: txId,
13271 value: txOut.value,
13272 pending: isPending
ebd8d4e8 13273 }
ebd8d4e8 13274
ab78acc6
IC
13275 this.unspentMap[lookup] = unspent
13276 this.unspents.push(unspent)
13277 }
13278 }, this)
ebd8d4e8 13279
ab78acc6
IC
13280 tx.ins.forEach(function (txIn) {
13281 // copy and convert to big-endian hex
13282 var txInId = bufferutils.reverse(txIn.hash).toString('hex')
ebd8d4e8 13283
ab78acc6
IC
13284 var lookup = txInId + ':' + txIn.index
13285 if (!(lookup in this.unspentMap)) return
ebd8d4e8 13286
ab78acc6 13287 var unspent = this.unspentMap[lookup]
ebd8d4e8 13288
ab78acc6
IC
13289 if (isPending) {
13290 unspent.pending = true
13291 unspent.spent = true
13292 } else {
13293 delete this.unspentMap[lookup]
ebd8d4e8 13294
ab78acc6
IC
13295 this.unspents = this.unspents.filter(function (unspent2) {
13296 return unspent !== unspent2
13297 })
13298 }
13299 }, this)
13300}
ebd8d4e8 13301
ab78acc6
IC
13302Wallet.prototype.generateAddress = function () {
13303 var k = this.addresses.length
13304 var address = this.getExternalAccount().derive(k).getAddress()
ebd8d4e8 13305
ab78acc6 13306 this.addresses.push(address.toString())
ebd8d4e8 13307
ab78acc6
IC
13308 return this.getReceiveAddress()
13309}
ebd8d4e8 13310
ab78acc6
IC
13311Wallet.prototype.generateChangeAddress = function () {
13312 var k = this.changeAddresses.length
13313 var address = this.getInternalAccount().derive(k).getAddress()
ebd8d4e8 13314
ab78acc6 13315 this.changeAddresses.push(address.toString())
ebd8d4e8 13316
ab78acc6
IC
13317 return this.getChangeAddress()
13318}
ebd8d4e8 13319
ab78acc6
IC
13320Wallet.prototype.getAddress = function () {
13321 if (this.addresses.length === 0) {
13322 this.generateAddress()
ebd8d4e8
IC
13323 }
13324
ab78acc6
IC
13325 return this.addresses[this.addresses.length - 1]
13326}
ebd8d4e8 13327
ab78acc6
IC
13328Wallet.prototype.getBalance = function (minConf) {
13329 minConf = minConf || 0
ebd8d4e8 13330
ab78acc6
IC
13331 return this.unspents.filter(function (unspent) {
13332 return unspent.confirmations >= minConf
13333
13334 // FIXME: remove spent filter in 2.0.0
13335 }).filter(function (unspent) {
13336 return !unspent.spent
13337 }).reduce(function (accum, unspent) {
13338 return accum + unspent.value
13339 }, 0)
13340}
ebd8d4e8 13341
ab78acc6
IC
13342Wallet.prototype.getChangeAddress = function () {
13343 if (this.changeAddresses.length === 0) {
13344 this.generateChangeAddress()
ebd8d4e8
IC
13345 }
13346
ab78acc6
IC
13347 return this.changeAddresses[this.changeAddresses.length - 1]
13348}
13349
13350Wallet.prototype.getInternalPrivateKey = function (index) {
13351 return this.getInternalAccount().derive(index).privKey
13352}
13353
13354Wallet.prototype.getPrivateKey = function (index) {
13355 return this.getExternalAccount().derive(index).privKey
13356}
13357
13358Wallet.prototype.getPrivateKeyForAddress = function (address) {
13359 var index
ebd8d4e8 13360
ab78acc6
IC
13361 if ((index = this.addresses.indexOf(address)) > -1) {
13362 return this.getPrivateKey(index)
ebd8d4e8
IC
13363 }
13364
ab78acc6
IC
13365 if ((index = this.changeAddresses.indexOf(address)) > -1) {
13366 return this.getInternalPrivateKey(index)
ebd8d4e8
IC
13367 }
13368
ab78acc6
IC
13369 assert(false, 'Unknown address. Make sure the address is from the keychain and has been generated')
13370}
ebd8d4e8 13371
ab78acc6
IC
13372Wallet.prototype.getUnspentOutputs = function (minConf) {
13373 minConf = minConf || 0
ebd8d4e8 13374
ab78acc6
IC
13375 return this.unspents.filter(function (unspent) {
13376 return unspent.confirmations >= minConf
ebd8d4e8 13377
ab78acc6
IC
13378 // FIXME: remove spent filter in 2.0.0
13379 }).filter(function (unspent) {
13380 return !unspent.spent
13381 }).map(function (unspent) {
13382 return {
13383 address: unspent.address,
13384 confirmations: unspent.confirmations,
13385 index: unspent.index,
13386 txId: unspent.txId,
13387 value: unspent.value,
13388
13389 // FIXME: remove in 2.0.0
13390 hash: unspent.txId,
13391 pending: unspent.pending
13392 }
13393 })
13394}
ebd8d4e8 13395
ab78acc6
IC
13396Wallet.prototype.setUnspentOutputs = function (unspents) {
13397 this.unspentMap = {}
13398 this.unspents = unspents.map(function (unspent) {
13399 // FIXME: remove unspent.hash in 2.0.0
13400 var txId = unspent.txId || unspent.hash
13401 var index = unspent.index
ebd8d4e8 13402
ab78acc6
IC
13403 // FIXME: remove in 2.0.0
13404 if (unspent.hash !== undefined) {
13405 console.warn('unspent.hash is deprecated, use unspent.txId instead')
13406 }
ebd8d4e8 13407
ab78acc6
IC
13408 // FIXME: remove in 2.0.0
13409 if (index === undefined) {
13410 console.warn('unspent.outputIndex is deprecated, use unspent.index instead')
13411 index = unspent.outputIndex
13412 }
ebd8d4e8 13413
ab78acc6
IC
13414 typeForce('String', txId)
13415 typeForce('Number', index)
13416 typeForce('Number', unspent.value)
13417
13418 assert.equal(txId.length, 64, 'Expected valid txId, got ' + txId)
13419 assert.doesNotThrow(function () {
13420 Address.fromBase58Check(unspent.address)
13421 }, 'Expected Base58 Address, got ' + unspent.address)
13422 assert(isFinite(index), 'Expected finite index, got ' + index)
13423
13424 // FIXME: remove branch in 2.0.0
13425 if (unspent.confirmations !== undefined) {
13426 typeForce('Number', unspent.confirmations)
ebd8d4e8 13427 }
ebd8d4e8 13428
ab78acc6 13429 var txHash = bufferutils.reverse(new Buffer(txId, 'hex'))
ebd8d4e8 13430
ab78acc6
IC
13431 unspent = {
13432 address: unspent.address,
13433 confirmations: unspent.confirmations || 0,
13434 index: index,
13435 txHash: txHash,
13436 txId: txId,
13437 value: unspent.value,
ebd8d4e8 13438
ab78acc6
IC
13439 // FIXME: remove in 2.0.0
13440 pending: unspent.pending || false
13441 }
13442
13443 // FIXME: remove in 2.0.0
13444 this.unspentMap[txId + ':' + index] = unspent
13445
13446 return unspent
13447 }, this)
13448}
13449
13450Wallet.prototype.signWith = function (tx, addresses) {
13451 addresses.forEach(function (address, i) {
13452 var privKey = this.getPrivateKeyForAddress(address)
13453
13454 tx.sign(i, privKey)
13455 }, this)
13456
13457 return tx
13458}
13459
13460function estimatePaddedFee (tx, network) {
13461 var tmpTx = tx.clone()
13462 tmpTx.addOutput(Script.EMPTY, network.dustSoftThreshold || 0)
13463
13464 return network.estimateFee(tmpTx)
ebd8d4e8
IC
13465}
13466
ab78acc6
IC
13467// FIXME: 1.0.0 shims, remove in 2.0.0
13468Wallet.prototype.getReceiveAddress = Wallet.prototype.getAddress
13469Wallet.prototype.createTx = Wallet.prototype.createTransaction
13470
ebd8d4e8
IC
13471module.exports = Wallet
13472
ab78acc6
IC
13473}).call(this,require("buffer").Buffer)
13474},{"./address":54,"./bufferutils":57,"./hdnode":63,"./networks":66,"./script":68,"./transaction_builder":71,"assert":5,"buffer":7,"randombytes":52,"typeforce":53}]},{},[64])(64)
13475});</script>
d5dc92fd
IC
13476 <script>bitcoin.networks.shadow = {
13477 magicPrefix: '\x19ShadowCash Signed Message:\n',
13478 bip32: {
13479 public: 0xEE80286A,
13480 private: 0xEE8031E8
13481 },
13482 pubKeyHash: 0x3f,
13483 scriptHash: 0x7d,
13484 wif: 0xbf,
13485 dustThreshold: 0,
13486 feePerKb: 1000,
13487 estimateFee: function() { return "unused in this app" },
13488};
13489
13490bitcoin.networks.shadowtn = {
13491 magicPrefix: '\x19ShadowCash Signed Message:\n',
13492 bip32: {
13493 public: 0x76C0FDFB,
13494 private: 0x76C1077A
13495 },
13496 pubKeyHash: 0x7f,
13497 scriptHash: 0xc4,
13498 wif: 0xff,
13499 dustThreshold: 0,
13500 feePerKb: 1000,
13501 estimateFee: function() { return "unused in this app" },
13502};
5c434a8a
CM
13503
13504bitcoin.networks.clam = {
13505 bip32: {
13506 public: 0xa8c26d64,
13507 private: 0xa8c17826
13508 },
13509 pubKeyHash: 0x89,
13510 wif: 0x85,
13511};
5493efc3 13512
13513bitcoin.networks.dash = {
13514 bip32: {
13515 public: 0x0488b21e,
13516 private: 0x0488ade4
13517 },
68151a47 13518 pubKeyHash: 0x4c,
5493efc3 13519 scriptHash: 0x10,
13520 wif: 0xcc,
13521};
13522
07ac4350 13523bitcoin.networks.namecoin = {
13524 bip32: {
13525 public: 0x0488b21e,
13526 private: 0x0488ade4
13527 },
13528 pubKeyHash: 0x34,
13529 //scriptHash: 0x10,
13530 wif: 0x80,
13531};
13532
13533bitcoin.networks.peercoin = {
13534 bip32: {
13535 public: 0x0488b21e,
13536 private: 0x0488ade4
13537 },
13538 pubKeyHash: 0x37,
13539 //scriptHash: 0x10,
13540 wif: 0xb7,
13541};
13542
d5dc92fd 13543</script>
ab78acc6 13544 <script>// Select components from sjcl to suit the crypto operations bip39 requires.
80c4dd2a
IC
13545
13546//// base.js
13547
13548/** @fileOverview Javascript cryptography implementation.
13549 *
13550 * Crush to remove comments, shorten variable names and
13551 * generally reduce transmission size.
13552 *
13553 * @author Emily Stark
13554 * @author Mike Hamburg
13555 * @author Dan Boneh
13556 */
13557
13558"use strict";
13559/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */
13560/*global document, window, escape, unescape, module, require, Uint32Array */
13561
13562/** @namespace The Stanford Javascript Crypto Library, top-level namespace. */
13563var sjcl = {
13564 /** @namespace Symmetric ciphers. */
13565 cipher: {},
13566
13567 /** @namespace Hash functions. Right now only SHA256 is implemented. */
13568 hash: {},
13569
13570 /** @namespace Key exchange functions. Right now only SRP is implemented. */
13571 keyexchange: {},
13572
13573 /** @namespace Block cipher modes of operation. */
13574 mode: {},
13575
13576 /** @namespace Miscellaneous. HMAC and PBKDF2. */
13577 misc: {},
13578
13579 /**
13580 * @namespace Bit array encoders and decoders.
13581 *
13582 * @description
13583 * The members of this namespace are functions which translate between
13584 * SJCL's bitArrays and other objects (usually strings). Because it
13585 * isn't always clear which direction is encoding and which is decoding,
13586 * the method names are "fromBits" and "toBits".
13587 */
13588 codec: {},
13589
13590 /** @namespace Exceptions. */
13591 exception: {
13592 /** @constructor Ciphertext is corrupt. */
13593 corrupt: function(message) {
13594 this.toString = function() { return "CORRUPT: "+this.message; };
13595 this.message = message;
13596 },
13597
13598 /** @constructor Invalid parameter. */
13599 invalid: function(message) {
13600 this.toString = function() { return "INVALID: "+this.message; };
13601 this.message = message;
13602 },
13603
13604 /** @constructor Bug or missing feature in SJCL. @constructor */
13605 bug: function(message) {
13606 this.toString = function() { return "BUG: "+this.message; };
13607 this.message = message;
13608 },
13609
13610 /** @constructor Something isn't ready. */
13611 notReady: function(message) {
13612 this.toString = function() { return "NOT READY: "+this.message; };
13613 this.message = message;
ebd8d4e8 13614 }
80c4dd2a
IC
13615 }
13616};
13617
13618if(typeof module !== 'undefined' && module.exports){
13619 module.exports = sjcl;
13620}
13621if (typeof define === "function") {
13622 define([], function () {
13623 return sjcl;
13624 });
13625}
13626
13627
13628//// bitArray.js
13629
13630/** @fileOverview Arrays of bits, encoded as arrays of Numbers.
13631 *
13632 * @author Emily Stark
13633 * @author Mike Hamburg
13634 * @author Dan Boneh
13635 */
13636
13637/** @namespace Arrays of bits, encoded as arrays of Numbers.
13638 *
13639 * @description
13640 * <p>
13641 * These objects are the currency accepted by SJCL's crypto functions.
13642 * </p>
13643 *
13644 * <p>
13645 * Most of our crypto primitives operate on arrays of 4-byte words internally,
13646 * but many of them can take arguments that are not a multiple of 4 bytes.
13647 * This library encodes arrays of bits (whose size need not be a multiple of 8
13648 * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an
13649 * array of words, 32 bits at a time. Since the words are double-precision
13650 * floating point numbers, they fit some extra data. We use this (in a private,
13651 * possibly-changing manner) to encode the number of bits actually present
13652 * in the last word of the array.
13653 * </p>
13654 *
13655 * <p>
13656 * Because bitwise ops clear this out-of-band data, these arrays can be passed
13657 * to ciphers like AES which want arrays of words.
13658 * </p>
13659 */
13660sjcl.bitArray = {
13661 /**
13662 * Array slices in units of bits.
13663 * @param {bitArray} a The array to slice.
13664 * @param {Number} bstart The offset to the start of the slice, in bits.
13665 * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
13666 * slice until the end of the array.
13667 * @return {bitArray} The requested slice.
13668 */
13669 bitSlice: function (a, bstart, bend) {
13670 a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);
13671 return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);
13672 },
13673
13674 /**
13675 * Extract a number packed into a bit array.
13676 * @param {bitArray} a The array to slice.
13677 * @param {Number} bstart The offset to the start of the slice, in bits.
13678 * @param {Number} length The length of the number to extract.
13679 * @return {Number} The requested slice.
13680 */
13681 extract: function(a, bstart, blength) {
13682 // FIXME: this Math.floor is not necessary at all, but for some reason
13683 // seems to suppress a bug in the Chromium JIT.
13684 var x, sh = Math.floor((-bstart-blength) & 31);
13685 if ((bstart + blength - 1 ^ bstart) & -32) {
13686 // it crosses a boundary
13687 x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);
13688 } else {
13689 // within a single word
13690 x = a[bstart/32|0] >>> sh;
ebd8d4e8 13691 }
80c4dd2a
IC
13692 return x & ((1<<blength) - 1);
13693 },
13694
13695 /**
13696 * Concatenate two bit arrays.
13697 * @param {bitArray} a1 The first array.
13698 * @param {bitArray} a2 The second array.
13699 * @return {bitArray} The concatenation of a1 and a2.
13700 */
13701 concat: function (a1, a2) {
13702 if (a1.length === 0 || a2.length === 0) {
13703 return a1.concat(a2);
13704 }
13705
13706 var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);
13707 if (shift === 32) {
13708 return a1.concat(a2);
13709 } else {
13710 return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));
ebd8d4e8 13711 }
80c4dd2a
IC
13712 },
13713
13714 /**
13715 * Find the length of an array of bits.
13716 * @param {bitArray} a The array.
13717 * @return {Number} The length of a, in bits.
13718 */
13719 bitLength: function (a) {
13720 var l = a.length, x;
13721 if (l === 0) { return 0; }
13722 x = a[l - 1];
13723 return (l-1) * 32 + sjcl.bitArray.getPartial(x);
13724 },
13725
13726 /**
13727 * Truncate an array.
13728 * @param {bitArray} a The array.
13729 * @param {Number} len The length to truncate to, in bits.
13730 * @return {bitArray} A new array, truncated to len bits.
13731 */
13732 clamp: function (a, len) {
13733 if (a.length * 32 < len) { return a; }
13734 a = a.slice(0, Math.ceil(len / 32));
13735 var l = a.length;
13736 len = len & 31;
13737 if (l > 0 && len) {
13738 a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);
13739 }
13740 return a;
13741 },
13742
13743 /**
13744 * Make a partial word for a bit array.
13745 * @param {Number} len The number of bits in the word.
13746 * @param {Number} x The bits.
13747 * @param {Number} [0] _end Pass 1 if x has already been shifted to the high side.
13748 * @return {Number} The partial word.
13749 */
13750 partial: function (len, x, _end) {
13751 if (len === 32) { return x; }
13752 return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;
13753 },
13754
13755 /**
13756 * Get the number of bits used by a partial word.
13757 * @param {Number} x The partial word.
13758 * @return {Number} The number of bits used by the partial word.
13759 */
13760 getPartial: function (x) {
13761 return Math.round(x/0x10000000000) || 32;
13762 },
13763
13764 /**
13765 * Compare two arrays for equality in a predictable amount of time.
13766 * @param {bitArray} a The first array.
13767 * @param {bitArray} b The second array.
13768 * @return {boolean} true if a == b; false otherwise.
13769 */
13770 equal: function (a, b) {
13771 if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {
13772 return false;
ebd8d4e8 13773 }
80c4dd2a
IC
13774 var x = 0, i;
13775 for (i=0; i<a.length; i++) {
13776 x |= a[i]^b[i];
ebd8d4e8 13777 }
80c4dd2a
IC
13778 return (x === 0);
13779 },
13780
13781 /** Shift an array right.
13782 * @param {bitArray} a The array to shift.
13783 * @param {Number} shift The number of bits to shift.
13784 * @param {Number} [carry=0] A byte to carry in
13785 * @param {bitArray} [out=[]] An array to prepend to the output.
13786 * @private
13787 */
13788 _shiftRight: function (a, shift, carry, out) {
13789 var i, last2=0, shift2;
13790 if (out === undefined) { out = []; }
13791
13792 for (; shift >= 32; shift -= 32) {
13793 out.push(carry);
13794 carry = 0;
13795 }
13796 if (shift === 0) {
13797 return out.concat(a);
13798 }
13799
13800 for (i=0; i<a.length; i++) {
13801 out.push(carry | a[i]>>>shift);
13802 carry = a[i] << (32-shift);
13803 }
13804 last2 = a.length ? a[a.length-1] : 0;
13805 shift2 = sjcl.bitArray.getPartial(last2);
13806 out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));
13807 return out;
13808 },
13809
13810 /** xor a block of 4 words together.
13811 * @private
13812 */
13813 _xor4: function(x,y) {
13814 return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];
13815 },
13816
13817 /** byteswap a word array inplace.
13818 * (does not handle partial words)
13819 * @param {sjcl.bitArray} a word array
13820 * @return {sjcl.bitArray} byteswapped array
13821 */
13822 byteswapM: function(a) {
13823 var i, v, m = 0xff00;
13824 for (i = 0; i < a.length; ++i) {
13825 v = a[i];
13826 a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);
ebd8d4e8 13827 }
80c4dd2a
IC
13828 return a;
13829 }
13830};
13831
13832
13833//// codecString.js
13834
13835/** @fileOverview Bit array codec implementations.
13836 *
13837 * @author Emily Stark
13838 * @author Mike Hamburg
13839 * @author Dan Boneh
13840 */
13841
13842/** @namespace UTF-8 strings */
13843sjcl.codec.utf8String = {
13844 /** Convert from a bitArray to a UTF-8 string. */
13845 fromBits: function (arr) {
13846 var out = "", bl = sjcl.bitArray.bitLength(arr), i, tmp;
13847 for (i=0; i<bl/8; i++) {
13848 if ((i&3) === 0) {
13849 tmp = arr[i/4];
13850 }
13851 out += String.fromCharCode(tmp >>> 24);
13852 tmp <<= 8;
ebd8d4e8 13853 }
80c4dd2a
IC
13854 return decodeURIComponent(escape(out));
13855 },
13856
13857 /** Convert from a UTF-8 string to a bitArray. */
13858 toBits: function (str) {
13859 str = unescape(encodeURIComponent(str));
13860 var out = [], i, tmp=0;
13861 for (i=0; i<str.length; i++) {
13862 tmp = tmp << 8 | str.charCodeAt(i);
13863 if ((i&3) === 3) {
13864 out.push(tmp);
13865 tmp = 0;
13866 }
ebd8d4e8 13867 }
80c4dd2a
IC
13868 if (i&3) {
13869 out.push(sjcl.bitArray.partial(8*(i&3), tmp));
ebd8d4e8 13870 }
80c4dd2a
IC
13871 return out;
13872 }
13873};
13874
13875
13876//// codecHex.js
13877
13878/** @fileOverview Bit array codec implementations.
13879 *
13880 * @author Emily Stark
13881 * @author Mike Hamburg
13882 * @author Dan Boneh
13883 */
13884
13885/** @namespace Hexadecimal */
13886sjcl.codec.hex = {
13887 /** Convert from a bitArray to a hex string. */
13888 fromBits: function (arr) {
13889 var out = "", i;
13890 for (i=0; i<arr.length; i++) {
13891 out += ((arr[i]|0)+0xF00000000000).toString(16).substr(4);
ebd8d4e8 13892 }
80c4dd2a
IC
13893 return out.substr(0, sjcl.bitArray.bitLength(arr)/4);//.replace(/(.{8})/g, "$1 ");
13894 },
13895 /** Convert from a hex string to a bitArray. */
13896 toBits: function (str) {
13897 var i, out=[], len;
13898 str = str.replace(/\s|0x/g, "");
13899 len = str.length;
13900 str = str + "00000000";
13901 for (i=0; i<str.length; i+=8) {
13902 out.push(parseInt(str.substr(i,8),16)^0);
ebd8d4e8 13903 }
80c4dd2a
IC
13904 return sjcl.bitArray.clamp(out, len*4);
13905 }
13906};
13907
13908
13909//// sha512.js
13910
13911/** @fileOverview Javascript SHA-512 implementation.
13912 *
13913 * This implementation was written for CryptoJS by Jeff Mott and adapted for
13914 * SJCL by Stefan Thomas.
13915 *
13916 * CryptoJS (c) 2009–2012 by Jeff Mott. All rights reserved.
13917 * Released with New BSD License
13918 *
13919 * @author Emily Stark
13920 * @author Mike Hamburg
13921 * @author Dan Boneh
13922 * @author Jeff Mott
13923 * @author Stefan Thomas
13924 */
13925
13926/**
13927 * Context for a SHA-512 operation in progress.
13928 * @constructor
13929 * @class Secure Hash Algorithm, 512 bits.
13930 */
13931sjcl.hash.sha512 = function (hash) {
13932 if (!this._key[0]) { this._precompute(); }
13933 if (hash) {
13934 this._h = hash._h.slice(0);
13935 this._buffer = hash._buffer.slice(0);
13936 this._length = hash._length;
13937 } else {
13938 this.reset();
13939 }
13940};
13941
13942/**
13943 * Hash a string or an array of words.
13944 * @static
13945 * @param {bitArray|String} data the data to hash.
13946 * @return {bitArray} The hash value, an array of 16 big-endian words.
13947 */
13948sjcl.hash.sha512.hash = function (data) {
13949 return (new sjcl.hash.sha512()).update(data).finalize();
13950};
13951
13952sjcl.hash.sha512.prototype = {
13953 /**
13954 * The hash's block size, in bits.
13955 * @constant
13956 */
13957 blockSize: 1024,
13958
13959 /**
13960 * Reset the hash state.
13961 * @return this
13962 */
13963 reset:function () {
13964 this._h = this._init.slice(0);
13965 this._buffer = [];
13966 this._length = 0;
13967 return this;
13968 },
13969
13970 /**
13971 * Input several words to the hash.
13972 * @param {bitArray|String} data the data to hash.
13973 * @return this
13974 */
13975 update: function (data) {
13976 if (typeof data === "string") {
13977 data = sjcl.codec.utf8String.toBits(data);
ebd8d4e8 13978 }
80c4dd2a
IC
13979 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
13980 ol = this._length,
13981 nl = this._length = ol + sjcl.bitArray.bitLength(data);
13982 for (i = 1024+ol & -1024; i <= nl; i+= 1024) {
13983 this._block(b.splice(0,32));
ebd8d4e8 13984 }
80c4dd2a
IC
13985 return this;
13986 },
13987
13988 /**
13989 * Complete hashing and output the hash value.
13990 * @return {bitArray} The hash value, an array of 16 big-endian words.
13991 */
13992 finalize:function () {
13993 var i, b = this._buffer, h = this._h;
13994
13995 // Round out and push the buffer
13996 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
13997
13998 // Round out the buffer to a multiple of 32 words, less the 4 length words.
13999 for (i = b.length + 4; i & 31; i++) {
14000 b.push(0);
ebd8d4e8 14001 }
80c4dd2a
IC
14002
14003 // append the length
14004 b.push(0);
14005 b.push(0);
14006 b.push(Math.floor(this._length / 0x100000000));
14007 b.push(this._length | 0);
14008
14009 while (b.length) {
14010 this._block(b.splice(0,32));
ebd8d4e8 14011 }
80c4dd2a
IC
14012
14013 this.reset();
14014 return h;
14015 },
14016
14017 /**
14018 * The SHA-512 initialization vector, to be precomputed.
14019 * @private
14020 */
14021 _init:[],
14022
14023 /**
14024 * Least significant 24 bits of SHA512 initialization values.
14025 *
14026 * Javascript only has 53 bits of precision, so we compute the 40 most
14027 * significant bits and add the remaining 24 bits as constants.
14028 *
14029 * @private
14030 */
14031 _initr: [ 0xbcc908, 0xcaa73b, 0x94f82b, 0x1d36f1, 0xe682d1, 0x3e6c1f, 0x41bd6b, 0x7e2179 ],
14032
14033 /*
14034 _init:
14035 [0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
14036 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179],
14037 */
14038
14039 /**
14040 * The SHA-512 hash key, to be precomputed.
14041 * @private
14042 */
14043 _key:[],
14044
14045 /**
14046 * Least significant 24 bits of SHA512 key values.
14047 * @private
14048 */
14049 _keyr:
14050 [0x28ae22, 0xef65cd, 0x4d3b2f, 0x89dbbc, 0x48b538, 0x05d019, 0x194f9b, 0x6d8118,
14051 0x030242, 0x706fbe, 0xe4b28c, 0xffb4e2, 0x7b896f, 0x1696b1, 0xc71235, 0x692694,
14052 0xf14ad2, 0x4f25e3, 0x8cd5b5, 0xac9c65, 0x2b0275, 0xa6e483, 0x41fbd4, 0x1153b5,
14053 0x66dfab, 0xb43210, 0xfb213f, 0xef0ee4, 0xa88fc2, 0x0aa725, 0x03826f, 0x0e6e70,
14054 0xd22ffc, 0x26c926, 0xc42aed, 0x95b3df, 0xaf63de, 0x77b2a8, 0xedaee6, 0x82353b,
14055 0xf10364, 0x423001, 0xf89791, 0x54be30, 0xef5218, 0x65a910, 0x71202a, 0xbbd1b8,
14056 0xd2d0c8, 0x41ab53, 0x8eeb99, 0x9b48a8, 0xc95a63, 0x418acb, 0x63e373, 0xb2b8a3,
14057 0xefb2fc, 0x172f60, 0xf0ab72, 0x6439ec, 0x631e28, 0x82bde9, 0xc67915, 0x72532b,
14058 0x26619c, 0xc0c207, 0xe0eb1e, 0x6ed178, 0x176fba, 0xc898a6, 0xf90dae, 0x1c471b,
14059 0x047d84, 0xc72493, 0xc9bebc, 0x100d4c, 0x3e42b6, 0x657e2a, 0xd6faec, 0x475817],
14060
14061 /*
14062 _key:
14063 [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
14064 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
14065 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
14066 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
14067 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
14068 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
14069 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
14070 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
14071 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
14072 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
14073 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
14074 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
14075 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
14076 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
14077 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
14078 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
14079 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
14080 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
14081 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
14082 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817],
14083 */
14084
14085 /**
14086 * Function to precompute _init and _key.
14087 * @private
14088 */
14089 _precompute: function () {
14090 // XXX: This code is for precomputing the SHA256 constants, change for
14091 // SHA512 and re-enable.
14092 var i = 0, prime = 2, factor;
14093
14094 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14095 function frac2(x) { return (x-Math.floor(x)) * 0x10000000000 & 0xff; }
14096
14097 outer: for (; i<80; prime++) {
14098 for (factor=2; factor*factor <= prime; factor++) {
14099 if (prime % factor === 0) {
14100 // not a prime
14101 continue outer;
ebd8d4e8 14102 }
80c4dd2a
IC
14103 }
14104
14105 if (i<8) {
14106 this._init[i*2] = frac(Math.pow(prime, 1/2));
14107 this._init[i*2+1] = (frac2(Math.pow(prime, 1/2)) << 24) | this._initr[i];
14108 }
14109 this._key[i*2] = frac(Math.pow(prime, 1/3));
14110 this._key[i*2+1] = (frac2(Math.pow(prime, 1/3)) << 24) | this._keyr[i];
14111 i++;
ebd8d4e8 14112 }
80c4dd2a
IC
14113 },
14114
14115 /**
14116 * Perform one cycle of SHA-512.
14117 * @param {bitArray} words one block of words.
14118 * @private
14119 */
14120 _block:function (words) {
14121 var i, wrh, wrl,
14122 w = words.slice(0),
14123 h = this._h,
14124 k = this._key,
14125 h0h = h[ 0], h0l = h[ 1], h1h = h[ 2], h1l = h[ 3],
14126 h2h = h[ 4], h2l = h[ 5], h3h = h[ 6], h3l = h[ 7],
14127 h4h = h[ 8], h4l = h[ 9], h5h = h[10], h5l = h[11],
14128 h6h = h[12], h6l = h[13], h7h = h[14], h7l = h[15];
14129
14130 // Working variables
14131 var ah = h0h, al = h0l, bh = h1h, bl = h1l,
14132 ch = h2h, cl = h2l, dh = h3h, dl = h3l,
14133 eh = h4h, el = h4l, fh = h5h, fl = h5l,
14134 gh = h6h, gl = h6l, hh = h7h, hl = h7l;
14135
14136 for (i=0; i<80; i++) {
14137 // load up the input word for this round
14138 if (i<16) {
14139 wrh = w[i * 2];
14140 wrl = w[i * 2 + 1];
14141 } else {
14142 // Gamma0
14143 var gamma0xh = w[(i-15) * 2];
14144 var gamma0xl = w[(i-15) * 2 + 1];
14145 var gamma0h =
14146 ((gamma0xl << 31) | (gamma0xh >>> 1)) ^
14147 ((gamma0xl << 24) | (gamma0xh >>> 8)) ^
14148 (gamma0xh >>> 7);
14149 var gamma0l =
14150 ((gamma0xh << 31) | (gamma0xl >>> 1)) ^
14151 ((gamma0xh << 24) | (gamma0xl >>> 8)) ^
14152 ((gamma0xh << 25) | (gamma0xl >>> 7));
14153
14154 // Gamma1
14155 var gamma1xh = w[(i-2) * 2];
14156 var gamma1xl = w[(i-2) * 2 + 1];
14157 var gamma1h =
14158 ((gamma1xl << 13) | (gamma1xh >>> 19)) ^
14159 ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
14160 (gamma1xh >>> 6);
14161 var gamma1l =
14162 ((gamma1xh << 13) | (gamma1xl >>> 19)) ^
14163 ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
14164 ((gamma1xh << 26) | (gamma1xl >>> 6));
14165
14166 // Shortcuts
14167 var wr7h = w[(i-7) * 2];
14168 var wr7l = w[(i-7) * 2 + 1];
14169
14170 var wr16h = w[(i-16) * 2];
14171 var wr16l = w[(i-16) * 2 + 1];
14172
14173 // W(round) = gamma0 + W(round - 7) + gamma1 + W(round - 16)
14174 wrl = gamma0l + wr7l;
14175 wrh = gamma0h + wr7h + ((wrl >>> 0) < (gamma0l >>> 0) ? 1 : 0);
14176 wrl += gamma1l;
14177 wrh += gamma1h + ((wrl >>> 0) < (gamma1l >>> 0) ? 1 : 0);
14178 wrl += wr16l;
14179 wrh += wr16h + ((wrl >>> 0) < (wr16l >>> 0) ? 1 : 0);
14180 }
14181
14182 w[i*2] = wrh |= 0;
14183 w[i*2 + 1] = wrl |= 0;
14184
14185 // Ch
14186 var chh = (eh & fh) ^ (~eh & gh);
14187 var chl = (el & fl) ^ (~el & gl);
14188
14189 // Maj
14190 var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
14191 var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
14192
14193 // Sigma0
14194 var sigma0h = ((al << 4) | (ah >>> 28)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
14195 var sigma0l = ((ah << 4) | (al >>> 28)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
14196
14197 // Sigma1
14198 var sigma1h = ((el << 18) | (eh >>> 14)) ^ ((el << 14) | (eh >>> 18)) ^ ((eh << 23) | (el >>> 9));
14199 var sigma1l = ((eh << 18) | (el >>> 14)) ^ ((eh << 14) | (el >>> 18)) ^ ((el << 23) | (eh >>> 9));
14200
14201 // K(round)
14202 var krh = k[i*2];
14203 var krl = k[i*2+1];
14204
14205 // t1 = h + sigma1 + ch + K(round) + W(round)
14206 var t1l = hl + sigma1l;
14207 var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
14208 t1l += chl;
14209 t1h += chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
14210 t1l += krl;
14211 t1h += krh + ((t1l >>> 0) < (krl >>> 0) ? 1 : 0);
14212 t1l = t1l + wrl|0; // FF32..FF34 perf issue https://bugzilla.mozilla.org/show_bug.cgi?id=1054972
14213 t1h += wrh + ((t1l >>> 0) < (wrl >>> 0) ? 1 : 0);
14214
14215 // t2 = sigma0 + maj
14216 var t2l = sigma0l + majl;
14217 var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
14218
14219 // Update working variables
14220 hh = gh;
14221 hl = gl;
14222 gh = fh;
14223 gl = fl;
14224 fh = eh;
14225 fl = el;
14226 el = (dl + t1l) | 0;
14227 eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14228 dh = ch;
14229 dl = cl;
14230 ch = bh;
14231 cl = bl;
14232 bh = ah;
14233 bl = al;
14234 al = (t1l + t2l) | 0;
14235 ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
14236 }
14237
14238 // Intermediate hash
14239 h0l = h[1] = (h0l + al) | 0;
14240 h[0] = (h0h + ah + ((h0l >>> 0) < (al >>> 0) ? 1 : 0)) | 0;
14241 h1l = h[3] = (h1l + bl) | 0;
14242 h[2] = (h1h + bh + ((h1l >>> 0) < (bl >>> 0) ? 1 : 0)) | 0;
14243 h2l = h[5] = (h2l + cl) | 0;
14244 h[4] = (h2h + ch + ((h2l >>> 0) < (cl >>> 0) ? 1 : 0)) | 0;
14245 h3l = h[7] = (h3l + dl) | 0;
14246 h[6] = (h3h + dh + ((h3l >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14247 h4l = h[9] = (h4l + el) | 0;
14248 h[8] = (h4h + eh + ((h4l >>> 0) < (el >>> 0) ? 1 : 0)) | 0;
14249 h5l = h[11] = (h5l + fl) | 0;
14250 h[10] = (h5h + fh + ((h5l >>> 0) < (fl >>> 0) ? 1 : 0)) | 0;
14251 h6l = h[13] = (h6l + gl) | 0;
14252 h[12] = (h6h + gh + ((h6l >>> 0) < (gl >>> 0) ? 1 : 0)) | 0;
14253 h7l = h[15] = (h7l + hl) | 0;
14254 h[14] = (h7h + hh + ((h7l >>> 0) < (hl >>> 0) ? 1 : 0)) | 0;
14255 }
14256};
14257
14258
14259//// hmac.js
14260
14261/** @fileOverview HMAC implementation.
14262 *
14263 * @author Emily Stark
14264 * @author Mike Hamburg
14265 * @author Dan Boneh
14266 */
14267
14268/** HMAC with the specified hash function.
14269 * @constructor
14270 * @param {bitArray} key the key for HMAC.
14271 * @param {Object} [hash=sjcl.hash.sha256] The hash function to use.
14272 */
14273sjcl.misc.hmac = function (key, Hash) {
14274 this._hash = Hash = Hash || sjcl.hash.sha256;
14275 var exKey = [[],[]], i,
14276 bs = Hash.prototype.blockSize / 32;
14277 this._baseHash = [new Hash(), new Hash()];
14278
14279 if (key.length > bs) {
14280 key = Hash.hash(key);
14281 }
14282
14283 for (i=0; i<bs; i++) {
14284 exKey[0][i] = key[i]^0x36363636;
14285 exKey[1][i] = key[i]^0x5C5C5C5C;
14286 }
14287
14288 this._baseHash[0].update(exKey[0]);
14289 this._baseHash[1].update(exKey[1]);
14290 this._resultHash = new Hash(this._baseHash[0]);
14291};
14292
14293/** HMAC with the specified hash function. Also called encrypt since it's a prf.
14294 * @param {bitArray|String} data The data to mac.
14295 */
14296sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function (data) {
14297 if (!this._updated) {
14298 this.update(data);
14299 return this.digest(data);
14300 } else {
14301 throw new sjcl.exception.invalid("encrypt on already updated hmac called!");
14302 }
14303};
14304
14305sjcl.misc.hmac.prototype.reset = function () {
14306 this._resultHash = new this._hash(this._baseHash[0]);
14307 this._updated = false;
14308};
14309
14310sjcl.misc.hmac.prototype.update = function (data) {
14311 this._updated = true;
14312 this._resultHash.update(data);
14313};
14314
14315sjcl.misc.hmac.prototype.digest = function () {
14316 var w = this._resultHash.finalize(), result = new (this._hash)(this._baseHash[1]).update(w).finalize();
14317
14318 this.reset();
14319
14320 return result;
14321};
14322
14323
14324//// pbkdf2.js
14325
14326
14327/** @fileOverview Password-based key-derivation function, version 2.0.
14328 *
14329 * @author Emily Stark
14330 * @author Mike Hamburg
14331 * @author Dan Boneh
14332 */
14333
14334/** Password-Based Key-Derivation Function, version 2.0.
14335 *
14336 * Generate keys from passwords using PBKDF2-HMAC-SHA256.
14337 *
14338 * This is the method specified by RSA's PKCS #5 standard.
14339 *
14340 * @param {bitArray|String} password The password.
14341 * @param {bitArray|String} salt The salt. Should have lots of entropy.
14342 * @param {Number} [count=1000] The number of iterations. Higher numbers make the function slower but more secure.
14343 * @param {Number} [length] The length of the derived key. Defaults to the
14344 output size of the hash function.
14345 * @param {Object} [Prff=sjcl.misc.hmac] The pseudorandom function family.
14346 * @return {bitArray} the derived key.
14347 */
14348sjcl.misc.pbkdf2 = function (password, salt, count, length, Prff) {
14349 count = count || 1000;
14350
14351 if (length < 0 || count < 0) {
14352 throw sjcl.exception.invalid("invalid params to pbkdf2");
14353 }
14354
14355 if (typeof password === "string") {
14356 password = sjcl.codec.utf8String.toBits(password);
14357 }
14358
14359 if (typeof salt === "string") {
14360 salt = sjcl.codec.utf8String.toBits(salt);
14361 }
14362
14363 Prff = Prff || sjcl.misc.hmac;
14364
14365 var prf = new Prff(password),
14366 u, ui, i, j, k, out = [], b = sjcl.bitArray;
14367
14368 for (k = 1; 32 * out.length < (length || 1); k++) {
14369 u = ui = prf.encrypt(b.concat(salt,[k]));
14370
14371 for (i=1; i<count; i++) {
14372 ui = prf.encrypt(ui);
14373 for (j=0; j<ui.length; j++) {
14374 u[j] ^= ui[j];
14375 }
ebd8d4e8 14376 }
80c4dd2a
IC
14377
14378 out = out.concat(u);
14379 }
14380
14381 if (length) { out = b.clamp(out, length); }
14382
14383 return out;
14384};
14385
14386
14387//// sha256.js
14388
14389/** @fileOverview Javascript SHA-256 implementation.
14390 *
14391 * An older version of this implementation is available in the public
14392 * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
14393 * Stanford University 2008-2010 and BSD-licensed for liability
14394 * reasons.
14395 *
14396 * Special thanks to Aldo Cortesi for pointing out several bugs in
14397 * this code.
14398 *
14399 * @author Emily Stark
14400 * @author Mike Hamburg
14401 * @author Dan Boneh
14402 */
14403
14404/**
14405 * Context for a SHA-256 operation in progress.
14406 * @constructor
14407 * @class Secure Hash Algorithm, 256 bits.
14408 */
14409sjcl.hash.sha256 = function (hash) {
14410 if (!this._key[0]) { this._precompute(); }
14411 if (hash) {
14412 this._h = hash._h.slice(0);
14413 this._buffer = hash._buffer.slice(0);
14414 this._length = hash._length;
14415 } else {
14416 this.reset();
14417 }
14418};
14419
14420/**
14421 * Hash a string or an array of words.
14422 * @static
14423 * @param {bitArray|String} data the data to hash.
14424 * @return {bitArray} The hash value, an array of 16 big-endian words.
14425 */
14426sjcl.hash.sha256.hash = function (data) {
14427 return (new sjcl.hash.sha256()).update(data).finalize();
14428};
14429
14430sjcl.hash.sha256.prototype = {
14431 /**
14432 * The hash's block size, in bits.
14433 * @constant
14434 */
14435 blockSize: 512,
14436
14437 /**
14438 * Reset the hash state.
14439 * @return this
14440 */
14441 reset:function () {
14442 this._h = this._init.slice(0);
14443 this._buffer = [];
14444 this._length = 0;
14445 return this;
14446 },
14447
14448 /**
14449 * Input several words to the hash.
14450 * @param {bitArray|String} data the data to hash.
14451 * @return this
14452 */
14453 update: function (data) {
14454 if (typeof data === "string") {
14455 data = sjcl.codec.utf8String.toBits(data);
14456 }
14457 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14458 ol = this._length,
14459 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14460 for (i = 512+ol & -512; i <= nl; i+= 512) {
14461 this._block(b.splice(0,16));
ebd8d4e8 14462 }
3af2954a 14463 return this;
80c4dd2a
IC
14464 },
14465
14466 /**
14467 * Complete hashing and output the hash value.
14468 * @return {bitArray} The hash value, an array of 8 big-endian words.
14469 */
14470 finalize:function () {
14471 var i, b = this._buffer, h = this._h;
14472
14473 // Round out and push the buffer
14474 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14475
14476 // Round out the buffer to a multiple of 16 words, less the 2 length words.
14477 for (i = b.length + 2; i & 15; i++) {
14478 b.push(0);
14479 }
14480
14481 // append the length
14482 b.push(Math.floor(this._length / 0x100000000));
14483 b.push(this._length | 0);
14484
14485 while (b.length) {
14486 this._block(b.splice(0,16));
14487 }
14488
14489 this.reset();
14490 return h;
14491 },
14492
14493 /**
14494 * The SHA-256 initialization vector, to be precomputed.
14495 * @private
14496 */
14497 _init:[],
14498 /*
14499 _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],
14500 */
14501
14502 /**
14503 * The SHA-256 hash key, to be precomputed.
14504 * @private
14505 */
14506 _key:[],
14507 /*
14508 _key:
14509 [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
14510 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
14511 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
14512 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
14513 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
14514 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
14515 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
14516 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],
14517 */
14518
14519
14520 /**
14521 * Function to precompute _init and _key.
14522 * @private
14523 */
14524 _precompute: function () {
14525 var i = 0, prime = 2, factor;
14526
14527 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14528
14529 outer: for (; i<64; prime++) {
14530 for (factor=2; factor*factor <= prime; factor++) {
14531 if (prime % factor === 0) {
14532 // not a prime
14533 continue outer;
ebd8d4e8 14534 }
80c4dd2a
IC
14535 }
14536
14537 if (i<8) {
14538 this._init[i] = frac(Math.pow(prime, 1/2));
14539 }
14540 this._key[i] = frac(Math.pow(prime, 1/3));
14541 i++;
ebd8d4e8 14542 }
80c4dd2a
IC
14543 },
14544
14545 /**
14546 * Perform one cycle of SHA-256.
14547 * @param {bitArray} words one block of words.
14548 * @private
14549 */
14550 _block:function (words) {
14551 var i, tmp, a, b,
14552 w = words.slice(0),
14553 h = this._h,
14554 k = this._key,
14555 h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],
14556 h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];
14557
14558 /* Rationale for placement of |0 :
14559 * If a value can overflow is original 32 bits by a factor of more than a few
14560 * million (2^23 ish), there is a possibility that it might overflow the
14561 * 53-bit mantissa and lose precision.
14562 *
14563 * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that
14564 * propagates around the loop, and on the hash state h[]. I don't believe
14565 * that the clamps on h4 and on h0 are strictly necessary, but it's close
14566 * (for h4 anyway), and better safe than sorry.
14567 *
14568 * The clamps on h[] are necessary for the output to be correct even in the
14569 * common case and for short inputs.
14570 */
14571 for (i=0; i<64; i++) {
14572 // load up the input word for this round
14573 if (i<16) {
14574 tmp = w[i];
14575 } else {
14576 a = w[(i+1 ) & 15];
14577 b = w[(i+14) & 15];
14578 tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) +
14579 (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +
14580 w[i&15] + w[(i+9) & 15]) | 0;
14581 }
14582
14583 tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;
14584
14585 // shift register
14586 h7 = h6; h6 = h5; h5 = h4;
14587 h4 = h3 + tmp | 0;
14588 h3 = h2; h2 = h1; h1 = h0;
14589
14590 h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;
14591 }
14592
14593 h[0] = h[0]+h0 | 0;
14594 h[1] = h[1]+h1 | 0;
14595 h[2] = h[2]+h2 | 0;
14596 h[3] = h[3]+h3 | 0;
14597 h[4] = h[4]+h4 | 0;
14598 h[5] = h[5]+h5 | 0;
14599 h[6] = h[6]+h6 | 0;
14600 h[7] = h[7]+h7 | 0;
14601 }
14602};
dc55c6b0 14603</script>
ab78acc6 14604 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
3af2954a 14605WORDLISTS["english"] = [
ebd8d4e8
IC
14606"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
14607"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
14608"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",
14609"adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent",
14610"agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert",
14611"alien","all","alley","allow","almost","alone","alpha","already","also","alter",
14612"always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger",
14613"angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique",
14614"anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic",
14615"area","arena","argue","arm","armed","armor","army","around","arrange","arrest",
14616"arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset",
14617"assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction",
14618"audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake",
14619"aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge",
14620"bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain",
14621"barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
14622"beef","before","begin","behave","behind","believe","below","belt","bench","benefit",
14623"best","betray","better","between","beyond","bicycle","bid","bike","bind","biology",
14624"bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless",
14625"blind","blood","blossom","blouse","blue","blur","blush","board","boat","body",
14626"boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
14627"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread",
14628"breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze",
14629"broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb",
14630"bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy",
14631"butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
14632"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas",
14633"canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry",
14634"cart","case","cash","casino","castle","casual","cat","catalog","catch","category",
14635"cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century",
14636"cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase",
14637"chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child",
14638"chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
14639"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk",
14640"clever","click","client","cliff","climb","clinic","clip","clock","clog","close",
14641"cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut",
14642"code","coffee","coil","coin","collect","color","column","combine","come","comfort",
14643"comic","common","company","concert","conduct","confirm","congress","connect","consider","control",
14644"convince","cook","cool","copper","copy","coral","core","corn","correct","cost",
14645"cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle",
14646"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek",
14647"crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial",
14648"cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup",
14649"cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad",
14650"damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
14651"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense",
14652"define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny",
14653"depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk",
14654"despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond",
14655"diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur",
14656"direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance",
14657"divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain",
14658"donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
14659"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop",
14660"drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf",
14661"dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo",
14662"ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow",
14663"elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
14664"embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless",
14665"endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough",
14666"enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip",
14667"era","erase","erode","erosion","error","erupt","escape","essay","essence","estate",
14668"eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange",
14669"excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
14670"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye",
14671"eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame",
14672"family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father",
14673"fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female",
14674"fence","festival","fetch","fever","few","fiber","fiction","field","figure","file",
14675"film","filter","final","find","fine","finger","finish","fire","firm","first",
14676"fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor",
14677"flee","flight","flip","float","flock","floor","flower","fluid","flush","fly",
14678"foam","focus","fog","foil","fold","follow","food","foot","force","forest",
14679"forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile",
14680"frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen",
14681"fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy",
14682"gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp",
14683"gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture",
14684"ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance",
14685"glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue",
14686"goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown",
14687"grab","grace","grain","grant","grape","grass","gravity","great","green","grid",
14688"grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt",
14689"guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy",
14690"harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health",
14691"heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden",
14692"high","hill","hint","hip","hire","history","hobby","hockey","hold","hole",
14693"holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital",
14694"host","hotel","hour","hover","hub","huge","human","humble","humor","hundred",
14695"hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea",
14696"identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune",
14697"impact","impose","improve","impulse","inch","include","income","increase","index","indicate",
14698"indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury",
14699"inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install",
14700"intact","interest","into","invest","invite","involve","iron","island","isolate","issue",
14701"item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel",
14702"job","join","joke","journey","joy","judge","juice","jump","jungle","junior",
14703"junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney",
14704"kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife",
14705"knock","know","lab","label","labor","ladder","lady","lake","lamp","language",
14706"laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit",
14707"layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal",
14708"legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level",
14709"liar","liberty","library","license","life","lift","light","like","limb","limit",
14710"link","lion","liquid","list","little","live","lizard","load","loan","lobster",
14711"local","lock","logic","lonely","long","loop","lottery","loud","lounge","love",
14712"loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad",
14713"magic","magnet","maid","mail","main","major","make","mammal","man","manage",
14714"mandate","mango","mansion","manual","maple","marble","march","margin","marine","market",
14715"marriage","mask","mass","master","match","material","math","matrix","matter","maximum",
14716"maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt",
14717"member","memory","mention","menu","mercy","merge","merit","merry","mesh","message",
14718"metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor",
14719"minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile",
14720"model","modify","mom","moment","monitor","monkey","monster","month","moon","moral",
14721"more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie",
14722"much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual",
14723"myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature",
14724"near","neck","need","negative","neglect","neither","nephew","nerve","nest","net",
14725"network","neutral","never","news","next","nice","night","noble","noise","nominee",
14726"noodle","normal","north","nose","notable","note","nothing","notice","novel","now",
14727"nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe",
14728"obtain","obvious","occur","ocean","october","odor","off","offer","office","often",
14729"oil","okay","old","olive","olympic","omit","once","one","onion","online",
14730"only","open","opera","opinion","oppose","option","orange","orbit","orchard","order",
14731"ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output",
14732"outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact",
14733"paddle","page","pair","palace","palm","panda","panel","panic","panther","paper",
14734"parade","parent","park","parrot","party","pass","patch","path","patient","patrol",
14735"pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen",
14736"penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo",
14737"phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot",
14738"pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate",
14739"play","please","pledge","pluck","plug","plunge","poem","poet","point","polar",
14740"pole","police","pond","pony","pool","popular","portion","position","possible","post",
14741"potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare",
14742"present","pretty","prevent","price","pride","primary","print","priority","prison","private",
14743"prize","problem","process","produce","profit","program","project","promote","proof","property",
14744"prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin",
14745"punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle",
14746"pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit",
14747"raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp",
14748"ranch","random","range","rapid","rare","rate","rather","raven","raw","razor",
14749"ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle",
14750"reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release",
14751"relief","rely","remain","remember","remind","remove","render","renew","rent","reopen",
14752"repair","repeat","replace","report","require","rescue","resemble","resist","resource","response",
14753"result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib",
14754"ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot",
14755"ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket",
14756"romance","roof","rookie","room","rose","rotate","rough","round","route","royal",
14757"rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness",
14758"safe","sail","salad","salmon","salon","salt","salute","same","sample","sand",
14759"satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter",
14760"scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script",
14761"scrub","sea","search","season","seat","second","secret","section","security","seed",
14762"seek","segment","select","sell","seminar","senior","sense","sentence","series","service",
14763"session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell",
14764"sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop",
14765"short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side",
14766"siege","sight","sign","silent","silk","silly","silver","similar","simple","since",
14767"sing","siren","sister","situate","six","size","skate","sketch","ski","skill",
14768"skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight",
14769"slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth",
14770"snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda",
14771"soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry",
14772"sort","soul","sound","soup","source","south","space","spare","spatial","spawn",
14773"speak","special","speed","spell","spend","sphere","spice","spider","spike","spin",
14774"spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring",
14775"spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp",
14776"stand","start","state","stay","steak","steel","stem","step","stereo","stick",
14777"still","sting","stock","stomach","stone","stool","story","stove","strategy","street",
14778"strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway",
14779"success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny",
14780"sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey",
14781"suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim",
14782"swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag",
14783"tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi",
14784"teach","team","tell","ten","tenant","tennis","tent","term","test","text",
14785"thank","that","theme","then","theory","there","they","thing","this","thought",
14786"three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber",
14787"time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler",
14788"toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool",
14789"tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist",
14790"toward","tower","town","toy","track","trade","traffic","tragic","train","transfer",
14791"trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick",
14792"trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust",
14793"truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle",
14794"twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella",
14795"unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform",
14796"unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade",
14797"uphold","upon","upper","upset","urban","urge","usage","use","used","useful",
14798"useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van",
14799"vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue",
14800"verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory",
14801"video","view","village","vintage","violin","virtual","virus","visa","visit","visual",
14802"vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage",
14803"wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash",
14804"wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather",
14805"web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat",
14806"wheel","when","where","whip","whisper","wide","width","wife","wild","will",
14807"win","window","wine","wing","wink","winner","winter","wire","wisdom","wise",
14808"wish","witness","wolf","woman","wonder","wood","wool","word","work","world",
14809"worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year",
14810"yellow","you","young","youth","zebra","zero","zone","zoo"]
0515eeec
IC
14811</script>
14812 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
14813WORDLISTS["japanese"] = [
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"りねん", "りゆう", "りゅうがく", "りよう", "りょうり", "りょかん", "りょくちゃ", "りょこう", "りりく", "りれき",
15014"りろん", "りんご", "るいけい", "るいさい", "るいじ", "るいせき", "るすばん", "るりがわら", "れいかん", "れいぎ",
15015"れいせい", "れいぞうこ", "れいとう", "れいぼう", "れきし", "れきだい", "れんあい", "れんけい", "れんこん", "れんさい",
15016"れんしゅう", "れんぞく", "れんらく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろくが", "ろこつ", "ろじうら",
15017"ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わかす",
15018"わかめ", "わかやま", "わかれる", "わしつ", "わじまし", "わすれもの", "わらう", "われる"]
15019</script>
15020 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15021WORDLISTS["spanish"] = [
15022"ábaco", "abdomen", "abeja", "abierto", "abogado", "abono", "aborto", "abrazo", "abrir", "abuelo",
15023"abuso", "acabar", "academia", "acceso", "acción", "aceite", "acelga", "acento", "aceptar", "ácido",
15024"aclarar", "acné", "acoger", "acoso", "activo", "acto", "actriz", "actuar", "acudir", "acuerdo",
15025"acusar", "adicto", "admitir", "adoptar", "adorno", "aduana", "adulto", "aéreo", "afectar", "afición",
15026"afinar", "afirmar", "ágil", "agitar", "agonía", "agosto", "agotar", "agregar", "agrio", "agua",
15027"agudo", "águila", "aguja", "ahogo", "ahorro", "aire", "aislar", "ajedrez", "ajeno", "ajuste",
15028"alacrán", "alambre", "alarma", "alba", "álbum", "alcalde", "aldea", "alegre", "alejar", "alerta",
15029"aleta", "alfiler", "alga", "algodón", "aliado", "aliento", "alivio", "alma", "almeja", "almíbar",
15030"altar", "alteza", "altivo", "alto", "altura", "alumno", "alzar", "amable", "amante", "amapola",
15031"amargo", "amasar", "ámbar", "ámbito", "ameno", "amigo", "amistad", "amor", "amparo", "amplio",
15032"ancho", "anciano", "ancla", "andar", "andén", "anemia", "ángulo", "anillo", "ánimo", "anís",
15033"anotar", "antena", "antiguo", "antojo", "anual", "anular", "anuncio", "añadir", "añejo", "año",
15034"apagar", "aparato", "apetito", "apio", "aplicar", "apodo", "aporte", "apoyo", "aprender", "aprobar",
15035"apuesta", "apuro", "arado", "araña", "arar", "árbitro", "árbol", "arbusto", "archivo", "arco",
15036"arder", "ardilla", "arduo", "área", "árido", "aries", "armonía", "arnés", "aroma", "arpa",
15037"arpón", "arreglo", "arroz", "arruga", "arte", "artista", "asa", "asado", "asalto", "ascenso",
15038"asegurar", "aseo", "asesor", "asiento", "asilo", "asistir", "asno", "asombro", "áspero", "astilla",
15039"astro", "astuto", "asumir", "asunto", "atajo", "ataque", "atar", "atento", "ateo", "ático",
15040"atleta", "átomo", "atraer", "atroz", "atún", "audaz", "audio", "auge", "aula", "aumento",
15041"ausente", "autor", "aval", "avance", "avaro", "ave", "avellana", "avena", "avestruz", "avión",
15042"aviso", "ayer", "ayuda", "ayuno", "azafrán", "azar", "azote", "azúcar", "azufre", "azul",
15043"baba", "babor", "bache", "bahía", "baile", "bajar", "balanza", "balcón", "balde", "bambú",
15044"banco", "banda", "baño", "barba", "barco", "barniz", "barro", "báscula", "bastón", "basura",
15045"batalla", "batería", "batir", "batuta", "baúl", "bazar", "bebé", "bebida", "bello", "besar",
15046"beso", "bestia", "bicho", "bien", "bingo", "blanco", "bloque", "blusa", "boa", "bobina",
15047"bobo", "boca", "bocina", "boda", "bodega", "boina", "bola", "bolero", "bolsa", "bomba",
15048"bondad", "bonito", "bono", "bonsái", "borde", "borrar", "bosque", "bote", "botín", "bóveda",
15049"bozal", "bravo", "brazo", "brecha", "breve", "brillo", "brinco", "brisa", "broca", "broma",
15050"bronce", "brote", "bruja", "brusco", "bruto", "buceo", "bucle", "bueno", "buey", "bufanda",
15051"bufón", "búho", "buitre", "bulto", "burbuja", "burla", "burro", "buscar", "butaca", "buzón",
15052"caballo", "cabeza", "cabina", "cabra", "cacao", "cadáver", "cadena", "caer", "café", "caída",
15053"caimán", "caja", "cajón", "cal", "calamar", "calcio", "caldo", "calidad", "calle", "calma",
15054"calor", "calvo", "cama", "cambio", "camello", "camino", "campo", "cáncer", "candil", "canela",
15055"canguro", "canica", "canto", "caña", "cañón", "caoba", "caos", "capaz", "capitán", "capote",
15056"captar", "capucha", "cara", "carbón", "cárcel", "careta", "carga", "cariño", "carne", "carpeta",
15057"carro", "carta", "casa", "casco", "casero", "caspa", "castor", "catorce", "catre", "caudal",
15058"causa", "cazo", "cebolla", "ceder", "cedro", "celda", "célebre", "celoso", "célula", "cemento",
15059"ceniza", "centro", "cerca", "cerdo", "cereza", "cero", "cerrar", "certeza", "césped", "cetro",
15060"chacal", "chaleco", "champú", "chancla", "chapa", "charla", "chico", "chiste", "chivo", "choque",
15061"choza", "chuleta", "chupar", "ciclón", "ciego", "cielo", "cien", "cierto", "cifra", "cigarro",
15062"cima", "cinco", "cine", "cinta", "ciprés", "circo", "ciruela", "cisne", "cita", "ciudad",
15063"clamor", "clan", "claro", "clase", "clave", "cliente", "clima", "clínica", "cobre", "cocción",
15064"cochino", "cocina", "coco", "código", "codo", "cofre", "coger", "cohete", "cojín", "cojo",
15065"cola", "colcha", "colegio", "colgar", "colina", "collar", "colmo", "columna", "combate", "comer",
15066"comida", "cómodo", "compra", "conde", "conejo", "conga", "conocer", "consejo", "contar", "copa",
15067"copia", "corazón", "corbata", "corcho", "cordón", "corona", "correr", "coser", "cosmos", "costa",
15068"cráneo", "cráter", "crear", "crecer", "creído", "crema", "cría", "crimen", "cripta", "crisis",
15069"cromo", "crónica", "croqueta", "crudo", "cruz", "cuadro", "cuarto", "cuatro", "cubo", "cubrir",
15070"cuchara", "cuello", "cuento", "cuerda", "cuesta", "cueva", "cuidar", "culebra", "culpa", "culto",
15071"cumbre", "cumplir", "cuna", "cuneta", "cuota", "cupón", "cúpula", "curar", "curioso", "curso",
15072"curva", "cutis", "dama", "danza", "dar", "dardo", "dátil", "deber", "débil", "década",
15073"decir", "dedo", "defensa", "definir", "dejar", "delfín", "delgado", "delito", "demora", "denso",
15074"dental", "deporte", "derecho", "derrota", "desayuno", "deseo", "desfile", "desnudo", "destino", "desvío",
15075"detalle", "detener", "deuda", "día", "diablo", "diadema", "diamante", "diana", "diario", "dibujo",
15076"dictar", "diente", "dieta", "diez", "difícil", "digno", "dilema", "diluir", "dinero", "directo",
15077"dirigir", "disco", "diseño", "disfraz", "diva", "divino", "doble", "doce", "dolor", "domingo",
15078"don", "donar", "dorado", "dormir", "dorso", "dos", "dosis", "dragón", "droga", "ducha",
15079"duda", "duelo", "dueño", "dulce", "dúo", "duque", "durar", "dureza", "duro", "ébano",
15080"ebrio", "echar", "eco", "ecuador", "edad", "edición", "edificio", "editor", "educar", "efecto",
15081"eficaz", "eje", "ejemplo", "elefante", "elegir", "elemento", "elevar", "elipse", "élite", "elixir",
15082"elogio", "eludir", "embudo", "emitir", "emoción", "empate", "empeño", "empleo", "empresa", "enano",
15083"encargo", "enchufe", "encía", "enemigo", "enero", "enfado", "enfermo", "engaño", "enigma", "enlace",
15084"enorme", "enredo", "ensayo", "enseñar", "entero", "entrar", "envase", "envío", "época", "equipo",
15085"erizo", "escala", "escena", "escolar", "escribir", "escudo", "esencia", "esfera", "esfuerzo", "espada",
15086"espejo", "espía", "esposa", "espuma", "esquí", "estar", "este", "estilo", "estufa", "etapa",
15087"eterno", "ética", "etnia", "evadir", "evaluar", "evento", "evitar", "exacto", "examen", "exceso",
15088"excusa", "exento", "exigir", "exilio", "existir", "éxito", "experto", "explicar", "exponer", "extremo",
15089"fábrica", "fábula", "fachada", "fácil", "factor", "faena", "faja", "falda", "fallo", "falso",
15090"faltar", "fama", "familia", "famoso", "faraón", "farmacia", "farol", "farsa", "fase", "fatiga",
15091"fauna", "favor", "fax", "febrero", "fecha", "feliz", "feo", "feria", "feroz", "fértil",
15092"fervor", "festín", "fiable", "fianza", "fiar", "fibra", "ficción", "ficha", "fideo", "fiebre",
15093"fiel", "fiera", "fiesta", "figura", "fijar", "fijo", "fila", "filete", "filial", "filtro",
15094"fin", "finca", "fingir", "finito", "firma", "flaco", "flauta", "flecha", "flor", "flota",
15095"fluir", "flujo", "flúor", "fobia", "foca", "fogata", "fogón", "folio", "folleto", "fondo",
15096"forma", "forro", "fortuna", "forzar", "fosa", "foto", "fracaso", "frágil", "franja", "frase",
15097"fraude", "freír", "freno", "fresa", "frío", "frito", "fruta", "fuego", "fuente", "fuerza",
15098"fuga", "fumar", "función", "funda", "furgón", "furia", "fusil", "fútbol", "futuro", "gacela",
15099"gafas", "gaita", "gajo", "gala", "galería", "gallo", "gamba", "ganar", "gancho", "ganga",
15100"ganso", "garaje", "garza", "gasolina", "gastar", "gato", "gavilán", "gemelo", "gemir", "gen",
15101"género", "genio", "gente", "geranio", "gerente", "germen", "gesto", "gigante", "gimnasio", "girar",
15102"giro", "glaciar", "globo", "gloria", "gol", "golfo", "goloso", "golpe", "goma", "gordo",
15103"gorila", "gorra", "gota", "goteo", "gozar", "grada", "gráfico", "grano", "grasa", "gratis",
15104"grave", "grieta", "grillo", "gripe", "gris", "grito", "grosor", "grúa", "grueso", "grumo",
15105"grupo", "guante", "guapo", "guardia", "guerra", "guía", "guiño", "guion", "guiso", "guitarra",
15106"gusano", "gustar", "haber", "hábil", "hablar", "hacer", "hacha", "hada", "hallar", "hamaca",
15107"harina", "haz", "hazaña", "hebilla", "hebra", "hecho", "helado", "helio", "hembra", "herir",
15108"hermano", "héroe", "hervir", "hielo", "hierro", "hígado", "higiene", "hijo", "himno", "historia",
15109"hocico", "hogar", "hoguera", "hoja", "hombre", "hongo", "honor", "honra", "hora", "hormiga",
15110"horno", "hostil", "hoyo", "hueco", "huelga", "huerta", "hueso", "huevo", "huida", "huir",
15111"humano", "húmedo", "humilde", "humo", "hundir", "huracán", "hurto", "icono", "ideal", "idioma",
15112"ídolo", "iglesia", "iglú", "igual", "ilegal", "ilusión", "imagen", "imán", "imitar", "impar",
15113"imperio", "imponer", "impulso", "incapaz", "índice", "inerte", "infiel", "informe", "ingenio", "inicio",
15114"inmenso", "inmune", "innato", "insecto", "instante", "interés", "íntimo", "intuir", "inútil", "invierno",
15115"ira", "iris", "ironía", "isla", "islote", "jabalí", "jabón", "jamón", "jarabe", "jardín",
15116"jarra", "jaula", "jazmín", "jefe", "jeringa", "jinete", "jornada", "joroba", "joven", "joya",
15117"juerga", "jueves", "juez", "jugador", "jugo", "juguete", "juicio", "junco", "jungla", "junio",
15118"juntar", "júpiter", "jurar", "justo", "juvenil", "juzgar", "kilo", "koala", "labio", "lacio",
15119"lacra", "lado", "ladrón", "lagarto", "lágrima", "laguna", "laico", "lamer", "lámina", "lámpara",
15120"lana", "lancha", "langosta", "lanza", "lápiz", "largo", "larva", "lástima", "lata", "látex",
15121"latir", "laurel", "lavar", "lazo", "leal", "lección", "leche", "lector", "leer", "legión",
15122"legumbre", "lejano", "lengua", "lento", "leña", "león", "leopardo", "lesión", "letal", "letra",
15123"leve", "leyenda", "libertad", "libro", "licor", "líder", "lidiar", "lienzo", "liga", "ligero",
15124"lima", "límite", "limón", "limpio", "lince", "lindo", "línea", "lingote", "lino", "linterna",
15125"líquido", "liso", "lista", "litera", "litio", "litro", "llaga", "llama", "llanto", "llave",
15126"llegar", "llenar", "llevar", "llorar", "llover", "lluvia", "lobo", "loción", "loco", "locura",
15127"lógica", "logro", "lombriz", "lomo", "lonja", "lote", "lucha", "lucir", "lugar", "lujo",
15128"luna", "lunes", "lupa", "lustro", "luto", "luz", "maceta", "macho", "madera", "madre",
15129"maduro", "maestro", "mafia", "magia", "mago", "maíz", "maldad", "maleta", "malla", "malo",
15130"mamá", "mambo", "mamut", "manco", "mando", "manejar", "manga", "maniquí", "manjar", "mano",
15131"manso", "manta", "mañana", "mapa", "máquina", "mar", "marco", "marea", "marfil", "margen",
15132"marido", "mármol", "marrón", "martes", "marzo", "masa", "máscara", "masivo", "matar", "materia",
15133"matiz", "matriz", "máximo", "mayor", "mazorca", "mecha", "medalla", "medio", "médula", "mejilla",
15134"mejor", "melena", "melón", "memoria", "menor", "mensaje", "mente", "menú", "mercado", "merengue",
15135"mérito", "mes", "mesón", "meta", "meter", "método", "metro", "mezcla", "miedo", "miel",
15136"miembro", "miga", "mil", "milagro", "militar", "millón", "mimo", "mina", "minero", "mínimo",
15137"minuto", "miope", "mirar", "misa", "miseria", "misil", "mismo", "mitad", "mito", "mochila",
15138"moción", "moda", "modelo", "moho", "mojar", "molde", "moler", "molino", "momento", "momia",
15139"monarca", "moneda", "monja", "monto", "moño", "morada", "morder", "moreno", "morir", "morro",
15140"morsa", "mortal", "mosca", "mostrar", "motivo", "mover", "móvil", "mozo", "mucho", "mudar",
15141"mueble", "muela", "muerte", "muestra", "mugre", "mujer", "mula", "muleta", "multa", "mundo",
15142"muñeca", "mural", "muro", "músculo", "museo", "musgo", "música", "muslo", "nácar", "nación",
15143"nadar", "naipe", "naranja", "nariz", "narrar", "nasal", "natal", "nativo", "natural", "náusea",
15144"naval", "nave", "navidad", "necio", "néctar", "negar", "negocio", "negro", "neón", "nervio",
15145"neto", "neutro", "nevar", "nevera", "nicho", "nido", "niebla", "nieto", "niñez", "niño",
15146"nítido", "nivel", "nobleza", "noche", "nómina", "noria", "norma", "norte", "nota", "noticia",
15147"novato", "novela", "novio", "nube", "nuca", "núcleo", "nudillo", "nudo", "nuera", "nueve",
15148"nuez", "nulo", "número", "nutria", "oasis", "obeso", "obispo", "objeto", "obra", "obrero",
15149"observar", "obtener", "obvio", "oca", "ocaso", "océano", "ochenta", "ocho", "ocio", "ocre",
15150"octavo", "octubre", "oculto", "ocupar", "ocurrir", "odiar", "odio", "odisea", "oeste", "ofensa",
15151"oferta", "oficio", "ofrecer", "ogro", "oído", "oír", "ojo", "ola", "oleada", "olfato",
15152"olivo", "olla", "olmo", "olor", "olvido", "ombligo", "onda", "onza", "opaco", "opción",
15153"ópera", "opinar", "oponer", "optar", "óptica", "opuesto", "oración", "orador", "oral", "órbita",
15154"orca", "orden", "oreja", "órgano", "orgía", "orgullo", "oriente", "origen", "orilla", "oro",
15155"orquesta", "oruga", "osadía", "oscuro", "osezno", "oso", "ostra", "otoño", "otro", "oveja",
15156"óvulo", "óxido", "oxígeno", "oyente", "ozono", "pacto", "padre", "paella", "página", "pago",
15157"país", "pájaro", "palabra", "palco", "paleta", "pálido", "palma", "paloma", "palpar", "pan",
15158"panal", "pánico", "pantera", "pañuelo", "papá", "papel", "papilla", "paquete", "parar", "parcela",
15159"pared", "parir", "paro", "párpado", "parque", "párrafo", "parte", "pasar", "paseo", "pasión",
15160"paso", "pasta", "pata", "patio", "patria", "pausa", "pauta", "pavo", "payaso", "peatón",
15161"pecado", "pecera", "pecho", "pedal", "pedir", "pegar", "peine", "pelar", "peldaño", "pelea",
15162"peligro", "pellejo", "pelo", "peluca", "pena", "pensar", "peñón", "peón", "peor", "pepino",
15163"pequeño", "pera", "percha", "perder", "pereza", "perfil", "perico", "perla", "permiso", "perro",
15164"persona", "pesa", "pesca", "pésimo", "pestaña", "pétalo", "petróleo", "pez", "pezuña", "picar",
15165"pichón", "pie", "piedra", "pierna", "pieza", "pijama", "pilar", "piloto", "pimienta", "pino",
15166"pintor", "pinza", "piña", "piojo", "pipa", "pirata", "pisar", "piscina", "piso", "pista",
15167"pitón", "pizca", "placa", "plan", "plata", "playa", "plaza", "pleito", "pleno", "plomo",
15168"pluma", "plural", "pobre", "poco", "poder", "podio", "poema", "poesía", "poeta", "polen",
15169"policía", "pollo", "polvo", "pomada", "pomelo", "pomo", "pompa", "poner", "porción", "portal",
15170"posada", "poseer", "posible", "poste", "potencia", "potro", "pozo", "prado", "precoz", "pregunta",
15171"premio", "prensa", "preso", "previo", "primo", "príncipe", "prisión", "privar", "proa", "probar",
15172"proceso", "producto", "proeza", "profesor", "programa", "prole", "promesa", "pronto", "propio", "próximo",
15173"prueba", "público", "puchero", "pudor", "pueblo", "puerta", "puesto", "pulga", "pulir", "pulmón",
15174"pulpo", "pulso", "puma", "punto", "puñal", "puño", "pupa", "pupila", "puré", "quedar",
15175"queja", "quemar", "querer", "queso", "quieto", "química", "quince", "quitar", "rábano", "rabia",
15176"rabo", "ración", "radical", "raíz", "rama", "rampa", "rancho", "rango", "rapaz", "rápido",
15177"rapto", "rasgo", "raspa", "rato", "rayo", "raza", "razón", "reacción", "realidad", "rebaño",
15178"rebote", "recaer", "receta", "rechazo", "recoger", "recreo", "recto", "recurso", "red", "redondo",
15179"reducir", "reflejo", "reforma", "refrán", "refugio", "regalo", "regir", "regla", "regreso", "rehén",
15180"reino", "reír", "reja", "relato", "relevo", "relieve", "relleno", "reloj", "remar", "remedio",
15181"remo", "rencor", "rendir", "renta", "reparto", "repetir", "reposo", "reptil", "res", "rescate",
15182"resina", "respeto", "resto", "resumen", "retiro", "retorno", "retrato", "reunir", "revés", "revista",
15183"rey", "rezar", "rico", "riego", "rienda", "riesgo", "rifa", "rígido", "rigor", "rincón",
15184"riñón", "río", "riqueza", "risa", "ritmo", "rito", "rizo", "roble", "roce", "rociar",
15185"rodar", "rodeo", "rodilla", "roer", "rojizo", "rojo", "romero", "romper", "ron", "ronco",
15186"ronda", "ropa", "ropero", "rosa", "rosca", "rostro", "rotar", "rubí", "rubor", "rudo",
15187"rueda", "rugir", "ruido", "ruina", "ruleta", "rulo", "rumbo", "rumor", "ruptura", "ruta",
15188"rutina", "sábado", "saber", "sabio", "sable", "sacar", "sagaz", "sagrado", "sala", "saldo",
15189"salero", "salir", "salmón", "salón", "salsa", "salto", "salud", "salvar", "samba", "sanción",
15190"sandía", "sanear", "sangre", "sanidad", "sano", "santo", "sapo", "saque", "sardina", "sartén",
15191"sastre", "satán", "sauna", "saxofón", "sección", "seco", "secreto", "secta", "sed", "seguir",
15192"seis", "sello", "selva", "semana", "semilla", "senda", "sensor", "señal", "señor", "separar",
15193"sepia", "sequía", "ser", "serie", "sermón", "servir", "sesenta", "sesión", "seta", "setenta",
15194"severo", "sexo", "sexto", "sidra", "siesta", "siete", "siglo", "signo", "sílaba", "silbar",
15195"silencio", "silla", "símbolo", "simio", "sirena", "sistema", "sitio", "situar", "sobre", "socio",
15196"sodio", "sol", "solapa", "soldado", "soledad", "sólido", "soltar", "solución", "sombra", "sondeo",
15197"sonido", "sonoro", "sonrisa", "sopa", "soplar", "soporte", "sordo", "sorpresa", "sorteo", "sostén",
15198"sótano", "suave", "subir", "suceso", "sudor", "suegra", "suelo", "sueño", "suerte", "sufrir",
15199"sujeto", "sultán", "sumar", "superar", "suplir", "suponer", "supremo", "sur", "surco", "sureño",
15200"surgir", "susto", "sutil", "tabaco", "tabique", "tabla", "tabú", "taco", "tacto", "tajo",
15201"talar", "talco", "talento", "talla", "talón", "tamaño", "tambor", "tango", "tanque", "tapa",
15202"tapete", "tapia", "tapón", "taquilla", "tarde", "tarea", "tarifa", "tarjeta", "tarot", "tarro",
15203"tarta", "tatuaje", "tauro", "taza", "tazón", "teatro", "techo", "tecla", "técnica", "tejado",
15204"tejer", "tejido", "tela", "teléfono", "tema", "temor", "templo", "tenaz", "tender", "tener",
15205"tenis", "tenso", "teoría", "terapia", "terco", "término", "ternura", "terror", "tesis", "tesoro",
15206"testigo", "tetera", "texto", "tez", "tibio", "tiburón", "tiempo", "tienda", "tierra", "tieso",
15207"tigre", "tijera", "tilde", "timbre", "tímido", "timo", "tinta", "tío", "típico", "tipo",
15208"tira", "tirón", "titán", "títere", "título", "tiza", "toalla", "tobillo", "tocar", "tocino",
15209"todo", "toga", "toldo", "tomar", "tono", "tonto", "topar", "tope", "toque", "tórax",
15210"torero", "tormenta", "torneo", "toro", "torpedo", "torre", "torso", "tortuga", "tos", "tosco",
15211"toser", "tóxico", "trabajo", "tractor", "traer", "tráfico", "trago", "traje", "tramo", "trance",
15212"trato", "trauma", "trazar", "trébol", "tregua", "treinta", "tren", "trepar", "tres", "tribu",
15213"trigo", "tripa", "triste", "triunfo", "trofeo", "trompa", "tronco", "tropa", "trote", "trozo",
15214"truco", "trueno", "trufa", "tubería", "tubo", "tuerto", "tumba", "tumor", "túnel", "túnica",
15215"turbina", "turismo", "turno", "tutor", "ubicar", "úlcera", "umbral", "unidad", "unir", "universo",
15216"uno", "untar", "uña", "urbano", "urbe", "urgente", "urna", "usar", "usuario", "útil",
15217"utopía", "uva", "vaca", "vacío", "vacuna", "vagar", "vago", "vaina", "vajilla", "vale",
15218"válido", "valle", "valor", "válvula", "vampiro", "vara", "variar", "varón", "vaso", "vecino",
15219"vector", "vehículo", "veinte", "vejez", "vela", "velero", "veloz", "vena", "vencer", "venda",
15220"veneno", "vengar", "venir", "venta", "venus", "ver", "verano", "verbo", "verde", "vereda",
15221"verja", "verso", "verter", "vía", "viaje", "vibrar", "vicio", "víctima", "vida", "vídeo",
15222"vidrio", "viejo", "viernes", "vigor", "vil", "villa", "vinagre", "vino", "viñedo", "violín",
15223"viral", "virgo", "virtud", "visor", "víspera", "vista", "vitamina", "viudo", "vivaz", "vivero",
15224"vivir", "vivo", "volcán", "volumen", "volver", "voraz", "votar", "voto", "voz", "vuelo",
15225"vulgar", "yacer", "yate", "yegua", "yema", "yerno", "yeso", "yodo", "yoga", "yogur",
15226"zafiro", "zanja", "zapato", "zarza", "zona", "zorro", "zumo", "zurdo"]
15227</script>
15228 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15229WORDLISTS["chinese_simplified"] = [
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"疯", "淮", "遂", "熊", "粪", "烘", "宿", "档", "戈", "驳",
15430"嫂", "裕", "徙", "箭", "捐", "肠", "撑", "晒", "辨", "殿",
15431"莲", "摊", "搅", "酱", "屏", "疫", "哀", "蔡", "堵", "沫",
15432"皱", "畅", "叠", "阁", "莱", "敲", "辖", "钩", "痕", "坝",
15433"巷", "饿", "祸", "丘", "玄", "溜", "曰", "逻", "彭", "尝",
15434"卿", "妨", "艇", "吞", "韦", "怨", "矮", "歇" ]
15435</script>
15436 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15437WORDLISTS["chinese_traditional"] = [
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"瘋", "淮", "遂", "熊", "糞", "烘", "宿", "檔", "戈", "駁",
15638"嫂", "裕", "徙", "箭", "捐", "腸", "撐", "曬", "辨", "殿",
15639"蓮", "攤", "攪", "醬", "屏", "疫", "哀", "蔡", "堵", "沫",
15640"皺", "暢", "疊", "閣", "萊", "敲", "轄", "鉤", "痕", "壩",
15641"巷", "餓", "禍", "丘", "玄", "溜", "曰", "邏", "彭", "嘗",
15642"卿", "妨", "艇", "吞", "韋", "怨", "矮", "歇" ]
15643</script>
15644 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15645WORDLISTS["french"] = [
15646"abaisser", "abandon", "abdiquer", "abeille", "abolir", "aborder", "aboutir", "aboyer", "abrasif", "abreuver",
15647"abriter", "abroger", "abrupt", "absence", "absolu", "absurde", "abusif", "abyssal", "académie", "acajou",
15648"acarien", "accabler", "accepter", "acclamer", "accolade", "accroche", "accuser", "acerbe", "achat", "acheter",
15649"aciduler", "acier", "acompte", "acquérir", "acronyme", "acteur", "actif", "actuel", "adepte", "adéquat",
15650"adhésif", "adjectif", "adjuger", "admettre", "admirer", "adopter", "adorer", "adoucir", "adresse", "adroit",
15651"adulte", "adverbe", "aérer", "aéronef", "affaire", "affecter", "affiche", "affreux", "affubler", "agacer",
15652"agencer", "agile", "agiter", "agrafer", "agréable", "agrume", "aider", "aiguille", "ailier", "aimable",
15653"aisance", "ajouter", "ajuster", "alarmer", "alchimie", "alerte", "algèbre", "algue", "aliéner", "aliment",
15654"alléger", "alliage", "allouer", "allumer", "alourdir", "alpaga", "altesse", "alvéole", "amateur", "ambigu",
15655"ambre", "aménager", "amertume", "amidon", "amiral", "amorcer", "amour", "amovible", "amphibie", "ampleur",
15656"amusant", "analyse", "anaphore", "anarchie", "anatomie", "ancien", "anéantir", "angle", "angoisse", "anguleux",
15657"animal", "annexer", "annonce", "annuel", "anodin", "anomalie", "anonyme", "anormal", "antenne", "antidote",
15658"anxieux", "apaiser", "apéritif", "aplanir", "apologie", "appareil", "appeler", "apporter", "appuyer", "aquarium",
15659"aqueduc", "arbitre", "arbuste", "ardeur", "ardoise", "argent", "arlequin", "armature", "armement", "armoire",
15660"armure", "arpenter", "arracher", "arriver", "arroser", "arsenic", "artériel", "article", "aspect", "asphalte",
15661"aspirer", "assaut", "asservir", "assiette", "associer", "assurer", "asticot", "astre", "astuce", "atelier",
15662"atome", "atrium", "atroce", "attaque", "attentif", "attirer", "attraper", "aubaine", "auberge", "audace",
15663"audible", "augurer", "aurore", "automne", "autruche", "avaler", "avancer", "avarice", "avenir", "averse",
15664"aveugle", "aviateur", "avide", "avion", "aviser", "avoine", "avouer", "avril", "axial", "axiome",
15665"badge", "bafouer", "bagage", "baguette", "baignade", "balancer", "balcon", "baleine", "balisage", "bambin",
15666"bancaire", "bandage", "banlieue", "bannière", "banquier", "barbier", "baril", "baron", "barque", "barrage",
15667"bassin", "bastion", "bataille", "bateau", "batterie", "baudrier", "bavarder", "belette", "bélier", "belote",
15668"bénéfice", "berceau", "berger", "berline", "bermuda", "besace", "besogne", "bétail", "beurre", "biberon",
15669"bicycle", "bidule", "bijou", "bilan", "bilingue", "billard", "binaire", "biologie", "biopsie", "biotype",
15670"biscuit", "bison", "bistouri", "bitume", "bizarre", "blafard", "blague", "blanchir", "blessant", "blinder",
15671"blond", "bloquer", "blouson", "bobard", "bobine", "boire", "boiser", "bolide", "bonbon", "bondir",
15672"bonheur", "bonifier", "bonus", "bordure", "borne", "botte", "boucle", "boueux", "bougie", "boulon",
15673"bouquin", "bourse", "boussole", "boutique", "boxeur", "branche", "brasier", "brave", "brebis", "brèche",
15674"breuvage", "bricoler", "brigade", "brillant", "brioche", "brique", "brochure", "broder", "bronzer", "brousse",
15675"broyeur", "brume", "brusque", "brutal", "bruyant", "buffle", "buisson", "bulletin", "bureau", "burin",
15676"bustier", "butiner", "butoir", "buvable", "buvette", "cabanon", "cabine", "cachette", "cadeau", "cadre",
15677"caféine", "caillou", "caisson", "calculer", "calepin", "calibre", "calmer", "calomnie", "calvaire", "camarade",
15678"caméra", "camion", "campagne", "canal", "caneton", "canon", "cantine", "canular", "capable", "caporal",
15679"caprice", "capsule", "capter", "capuche", "carabine", "carbone", "caresser", "caribou", "carnage", "carotte",
15680"carreau", "carton", "cascade", "casier", "casque", "cassure", "causer", "caution", "cavalier", "caverne",
15681"caviar", "cédille", "ceinture", "céleste", "cellule", "cendrier", "censurer", "central", "cercle", "cérébral",
15682"cerise", "cerner", "cerveau", "cesser", "chagrin", "chaise", "chaleur", "chambre", "chance", "chapitre",
15683"charbon", "chasseur", "chaton", "chausson", "chavirer", "chemise", "chenille", "chéquier", "chercher", "cheval",
15684"chien", "chiffre", "chignon", "chimère", "chiot", "chlorure", "chocolat", "choisir", "chose", "chouette",
15685"chrome", "chute", "cigare", "cigogne", "cimenter", "cinéma", "cintrer", "circuler", "cirer", "cirque",
15686"citerne", "citoyen", "citron", "civil", "clairon", "clameur", "claquer", "classe", "clavier", "client",
15687"cligner", "climat", "clivage", "cloche", "clonage", "cloporte", "cobalt", "cobra", "cocasse", "cocotier",
15688"coder", "codifier", "coffre", "cogner", "cohésion", "coiffer", "coincer", "colère", "colibri", "colline",
15689"colmater", "colonel", "combat", "comédie", "commande", "compact", "concert", "conduire", "confier", "congeler",
15690"connoter", "consonne", "contact", "convexe", "copain", "copie", "corail", "corbeau", "cordage", "corniche",
15691"corpus", "correct", "cortège", "cosmique", "costume", "coton", "coude", "coupure", "courage", "couteau",
15692"couvrir", "coyote", "crabe", "crainte", "cravate", "crayon", "créature", "créditer", "crémeux", "creuser",
15693"crevette", "cribler", "crier", "cristal", "critère", "croire", "croquer", "crotale", "crucial", "cruel",
15694"crypter", "cubique", "cueillir", "cuillère", "cuisine", "cuivre", "culminer", "cultiver", "cumuler", "cupide",
15695"curatif", "curseur", "cyanure", "cycle", "cylindre", "cynique", "daigner", "damier", "danger", "danseur",
15696"dauphin", "débattre", "débiter", "déborder", "débrider", "débutant", "décaler", "décembre", "déchirer", "décider",
15697"déclarer", "décorer", "décrire", "décupler", "dédale", "déductif", "déesse", "défensif", "défiler", "défrayer",
15698"dégager", "dégivrer", "déglutir", "dégrafer", "déjeuner", "délice", "déloger", "demander", "demeurer", "démolir",
15699"dénicher", "dénouer", "dentelle", "dénuder", "départ", "dépenser", "déphaser", "déplacer", "déposer", "déranger",
15700"dérober", "désastre", "descente", "désert", "désigner", "désobéir", "dessiner", "destrier", "détacher", "détester",
15701"détourer", "détresse", "devancer", "devenir", "deviner", "devoir", "diable", "dialogue", "diamant", "dicter",
15702"différer", "digérer", "digital", "digne", "diluer", "dimanche", "diminuer", "dioxyde", "directif", "diriger",
15703"discuter", "disposer", "dissiper", "distance", "divertir", "diviser", "docile", "docteur", "dogme", "doigt",
15704"domaine", "domicile", "dompter", "donateur", "donjon", "donner", "dopamine", "dortoir", "dorure", "dosage",
15705"doseur", "dossier", "dotation", "douanier", "double", "douceur", "douter", "doyen", "dragon", "draper",
15706"dresser", "dribbler", "droiture", "duperie", "duplexe", "durable", "durcir", "dynastie", "éblouir", "écarter",
15707"écharpe", "échelle", "éclairer", "éclipse", "éclore", "écluse", "école", "économie", "écorce", "écouter",
15708"écraser", "écrémer", "écrivain", "écrou", "écume", "écureuil", "édifier", "éduquer", "effacer", "effectif",
15709"effigie", "effort", "effrayer", "effusion", "égaliser", "égarer", "éjecter", "élaborer", "élargir", "électron",
15710"élégant", "éléphant", "élève", "éligible", "élitisme", "éloge", "élucider", "éluder", "emballer", "embellir",
15711"embryon", "émeraude", "émission", "emmener", "émotion", "émouvoir", "empereur", "employer", "emporter", "emprise",
15712"émulsion", "encadrer", "enchère", "enclave", "encoche", "endiguer", "endosser", "endroit", "enduire", "énergie",
15713"enfance", "enfermer", "enfouir", "engager", "engin", "englober", "énigme", "enjamber", "enjeu", "enlever",
15714"ennemi", "ennuyeux", "enrichir", "enrobage", "enseigne", "entasser", "entendre", "entier", "entourer", "entraver",
15715"énumérer", "envahir", "enviable", "envoyer", "enzyme", "éolien", "épaissir", "épargne", "épatant", "épaule",
15716"épicerie", "épidémie", "épier", "épilogue", "épine", "épisode", "épitaphe", "époque", "épreuve", "éprouver",
15717"épuisant", "équerre", "équipe", "ériger", "érosion", "erreur", "éruption", "escalier", "espadon", "espèce",
15718"espiègle", "espoir", "esprit", "esquiver", "essayer", "essence", "essieu", "essorer", "estime", "estomac",
15719"estrade", "étagère", "étaler", "étanche", "étatique", "éteindre", "étendoir", "éternel", "éthanol", "éthique",
15720"ethnie", "étirer", "étoffer", "étoile", "étonnant", "étourdir", "étrange", "étroit", "étude", "euphorie",
15721"évaluer", "évasion", "éventail", "évidence", "éviter", "évolutif", "évoquer", "exact", "exagérer", "exaucer",
15722"exceller", "excitant", "exclusif", "excuse", "exécuter", "exemple", "exercer", "exhaler", "exhorter", "exigence",
15723"exiler", "exister", "exotique", "expédier", "explorer", "exposer", "exprimer", "exquis", "extensif", "extraire",
15724"exulter", "fable", "fabuleux", "facette", "facile", "facture", "faiblir", "falaise", "fameux", "famille",
15725"farceur", "farfelu", "farine", "farouche", "fasciner", "fatal", "fatigue", "faucon", "fautif", "faveur",
15726"favori", "fébrile", "féconder", "fédérer", "félin", "femme", "fémur", "fendoir", "féodal", "fermer",
15727"féroce", "ferveur", "festival", "feuille", "feutre", "février", "fiasco", "ficeler", "fictif", "fidèle",
15728"figure", "filature", "filetage", "filière", "filleul", "filmer", "filou", "filtrer", "financer", "finir",
15729"fiole", "firme", "fissure", "fixer", "flairer", "flamme", "flasque", "flatteur", "fléau", "flèche",
15730"fleur", "flexion", "flocon", "flore", "fluctuer", "fluide", "fluvial", "folie", "fonderie", "fongible",
15731"fontaine", "forcer", "forgeron", "formuler", "fortune", "fossile", "foudre", "fougère", "fouiller", "foulure",
15732"fourmi", "fragile", "fraise", "franchir", "frapper", "frayeur", "frégate", "freiner", "frelon", "frémir",
15733"frénésie", "frère", "friable", "friction", "frisson", "frivole", "froid", "fromage", "frontal", "frotter",
15734"fruit", "fugitif", "fuite", "fureur", "furieux", "furtif", "fusion", "futur", "gagner", "galaxie",
15735"galerie", "gambader", "garantir", "gardien", "garnir", "garrigue", "gazelle", "gazon", "géant", "gélatine",
15736"gélule", "gendarme", "général", "génie", "genou", "gentil", "géologie", "géomètre", "géranium", "germe",
15737"gestuel", "geyser", "gibier", "gicler", "girafe", "givre", "glace", "glaive", "glisser", "globe",
15738"gloire", "glorieux", "golfeur", "gomme", "gonfler", "gorge", "gorille", "goudron", "gouffre", "goulot",
15739"goupille", "gourmand", "goutte", "graduel", "graffiti", "graine", "grand", "grappin", "gratuit", "gravir",
15740"grenat", "griffure", "griller", "grimper", "grogner", "gronder", "grotte", "groupe", "gruger", "grutier",
15741"gruyère", "guépard", "guerrier", "guide", "guimauve", "guitare", "gustatif", "gymnaste", "gyrostat", "habitude",
15742"hachoir", "halte", "hameau", "hangar", "hanneton", "haricot", "harmonie", "harpon", "hasard", "hélium",
15743"hématome", "herbe", "hérisson", "hermine", "héron", "hésiter", "heureux", "hiberner", "hibou", "hilarant",
15744"histoire", "hiver", "homard", "hommage", "homogène", "honneur", "honorer", "honteux", "horde", "horizon",
15745"horloge", "hormone", "horrible", "houleux", "housse", "hublot", "huileux", "humain", "humble", "humide",
15746"humour", "hurler", "hydromel", "hygiène", "hymne", "hypnose", "idylle", "ignorer", "iguane", "illicite",
15747"illusion", "image", "imbiber", "imiter", "immense", "immobile", "immuable", "impact", "impérial", "implorer",
15748"imposer", "imprimer", "imputer", "incarner", "incendie", "incident", "incliner", "incolore", "indexer", "indice",
15749"inductif", "inédit", "ineptie", "inexact", "infini", "infliger", "informer", "infusion", "ingérer", "inhaler",
15750"inhiber", "injecter", "injure", "innocent", "inoculer", "inonder", "inscrire", "insecte", "insigne", "insolite",
15751"inspirer", "instinct", "insulter", "intact", "intense", "intime", "intrigue", "intuitif", "inutile", "invasion",
15752"inventer", "inviter", "invoquer", "ironique", "irradier", "irréel", "irriter", "isoler", "ivoire", "ivresse",
15753"jaguar", "jaillir", "jambe", "janvier", "jardin", "jauger", "jaune", "javelot", "jetable", "jeton",
15754"jeudi", "jeunesse", "joindre", "joncher", "jongler", "joueur", "jouissif", "journal", "jovial", "joyau",
15755"joyeux", "jubiler", "jugement", "junior", "jupon", "juriste", "justice", "juteux", "juvénile", "kayak",
15756"kimono", "kiosque", "label", "labial", "labourer", "lacérer", "lactose", "lagune", "laine", "laisser",
15757"laitier", "lambeau", "lamelle", "lampe", "lanceur", "langage", "lanterne", "lapin", "largeur", "larme",
15758"laurier", "lavabo", "lavoir", "lecture", "légal", "léger", "légume", "lessive", "lettre", "levier",
15759"lexique", "lézard", "liasse", "libérer", "libre", "licence", "licorne", "liège", "lièvre", "ligature",
15760"ligoter", "ligue", "limer", "limite", "limonade", "limpide", "linéaire", "lingot", "lionceau", "liquide",
15761"lisière", "lister", "lithium", "litige", "littoral", "livreur", "logique", "lointain", "loisir", "lombric",
15762"loterie", "louer", "lourd", "loutre", "louve", "loyal", "lubie", "lucide", "lucratif", "lueur",
15763"lugubre", "luisant", "lumière", "lunaire", "lundi", "luron", "lutter", "luxueux", "machine", "magasin",
15764"magenta", "magique", "maigre", "maillon", "maintien", "mairie", "maison", "majorer", "malaxer", "maléfice",
15765"malheur", "malice", "mallette", "mammouth", "mandater", "maniable", "manquant", "manteau", "manuel", "marathon",
15766"marbre", "marchand", "mardi", "maritime", "marqueur", "marron", "marteler", "mascotte", "massif", "matériel",
15767"matière", "matraque", "maudire", "maussade", "mauve", "maximal", "méchant", "méconnu", "médaille", "médecin",
15768"méditer", "méduse", "meilleur", "mélange", "mélodie", "membre", "mémoire", "menacer", "mener", "menhir",
15769"mensonge", "mentor", "mercredi", "mérite", "merle", "messager", "mesure", "métal", "météore", "méthode",
15770"métier", "meuble", "miauler", "microbe", "miette", "mignon", "migrer", "milieu", "million", "mimique",
15771"mince", "minéral", "minimal", "minorer", "minute", "miracle", "miroiter", "missile", "mixte", "mobile",
15772"moderne", "moelleux", "mondial", "moniteur", "monnaie", "monotone", "monstre", "montagne", "monument", "moqueur",
15773"morceau", "morsure", "mortier", "moteur", "motif", "mouche", "moufle", "moulin", "mousson", "mouton",
15774"mouvant", "multiple", "munition", "muraille", "murène", "murmure", "muscle", "muséum", "musicien", "mutation",
15775"muter", "mutuel", "myriade", "myrtille", "mystère", "mythique", "nageur", "nappe", "narquois", "narrer",
15776"natation", "nation", "nature", "naufrage", "nautique", "navire", "nébuleux", "nectar", "néfaste", "négation",
15777"négliger", "négocier", "neige", "nerveux", "nettoyer", "neurone", "neutron", "neveu", "niche", "nickel",
15778"nitrate", "niveau", "noble", "nocif", "nocturne", "noirceur", "noisette", "nomade", "nombreux", "nommer",
15779"normatif", "notable", "notifier", "notoire", "nourrir", "nouveau", "novateur", "novembre", "novice", "nuage",
15780"nuancer", "nuire", "nuisible", "numéro", "nuptial", "nuque", "nutritif", "obéir", "objectif", "obliger",
15781"obscur", "observer", "obstacle", "obtenir", "obturer", "occasion", "occuper", "océan", "octobre", "octroyer",
15782"octupler", "oculaire", "odeur", "odorant", "offenser", "officier", "offrir", "ogive", "oiseau", "oisillon",
15783"olfactif", "olivier", "ombrage", "omettre", "onctueux", "onduler", "onéreux", "onirique", "opale", "opaque",
15784"opérer", "opinion", "opportun", "opprimer", "opter", "optique", "orageux", "orange", "orbite", "ordonner",
15785"oreille", "organe", "orgueil", "orifice", "ornement", "orque", "ortie", "osciller", "osmose", "ossature",
15786"otarie", "ouragan", "ourson", "outil", "outrager", "ouvrage", "ovation", "oxyde", "oxygène", "ozone",
15787"paisible", "palace", "palmarès", "palourde", "palper", "panache", "panda", "pangolin", "paniquer", "panneau",
15788"panorama", "pantalon", "papaye", "papier", "papoter", "papyrus", "paradoxe", "parcelle", "paresse", "parfumer",
15789"parler", "parole", "parrain", "parsemer", "partager", "parure", "parvenir", "passion", "pastèque", "paternel",
15790"patience", "patron", "pavillon", "pavoiser", "payer", "paysage", "peigne", "peintre", "pelage", "pélican",
15791"pelle", "pelouse", "peluche", "pendule", "pénétrer", "pénible", "pensif", "pénurie", "pépite", "péplum",
15792"perdrix", "perforer", "période", "permuter", "perplexe", "persil", "perte", "peser", "pétale", "petit",
15793"pétrir", "peuple", "pharaon", "phobie", "phoque", "photon", "phrase", "physique", "piano", "pictural",
15794"pièce", "pierre", "pieuvre", "pilote", "pinceau", "pipette", "piquer", "pirogue", "piscine", "piston",
15795"pivoter", "pixel", "pizza", "placard", "plafond", "plaisir", "planer", "plaque", "plastron", "plateau",
15796"pleurer", "plexus", "pliage", "plomb", "plonger", "pluie", "plumage", "pochette", "poésie", "poète",
15797"pointe", "poirier", "poisson", "poivre", "polaire", "policier", "pollen", "polygone", "pommade", "pompier",
15798"ponctuel", "pondérer", "poney", "portique", "position", "posséder", "posture", "potager", "poteau", "potion",
15799"pouce", "poulain", "poumon", "pourpre", "poussin", "pouvoir", "prairie", "pratique", "précieux", "prédire",
15800"préfixe", "prélude", "prénom", "présence", "prétexte", "prévoir", "primitif", "prince", "prison", "priver",
15801"problème", "procéder", "prodige", "profond", "progrès", "proie", "projeter", "prologue", "promener", "propre",
15802"prospère", "protéger", "prouesse", "proverbe", "prudence", "pruneau", "psychose", "public", "puceron", "puiser",
15803"pulpe", "pulsar", "punaise", "punitif", "pupitre", "purifier", "puzzle", "pyramide", "quasar", "querelle",
15804"question", "quiétude", "quitter", "quotient", "racine", "raconter", "radieux", "ragondin", "raideur", "raisin",
15805"ralentir", "rallonge", "ramasser", "rapide", "rasage", "ratisser", "ravager", "ravin", "rayonner", "réactif",
15806"réagir", "réaliser", "réanimer", "recevoir", "réciter", "réclamer", "récolter", "recruter", "reculer", "recycler",
15807"rédiger", "redouter", "refaire", "réflexe", "réformer", "refrain", "refuge", "régalien", "région", "réglage",
15808"régulier", "réitérer", "rejeter", "rejouer", "relatif", "relever", "relief", "remarque", "remède", "remise",
15809"remonter", "remplir", "remuer", "renard", "renfort", "renifler", "renoncer", "rentrer", "renvoi", "replier",
15810"reporter", "reprise", "reptile", "requin", "réserve", "résineux", "résoudre", "respect", "rester", "résultat",
15811"rétablir", "retenir", "réticule", "retomber", "retracer", "réunion", "réussir", "revanche", "revivre", "révolte",
15812"révulsif", "richesse", "rideau", "rieur", "rigide", "rigoler", "rincer", "riposter", "risible", "risque",
15813"rituel", "rival", "rivière", "rocheux", "romance", "rompre", "ronce", "rondin", "roseau", "rosier",
15814"rotatif", "rotor", "rotule", "rouge", "rouille", "rouleau", "routine", "royaume", "ruban", "rubis",
15815"ruche", "ruelle", "rugueux", "ruiner", "ruisseau", "ruser", "rustique", "rythme", "sabler", "saboter",
15816"sabre", "sacoche", "safari", "sagesse", "saisir", "salade", "salive", "salon", "saluer", "samedi",
15817"sanction", "sanglier", "sarcasme", "sardine", "saturer", "saugrenu", "saumon", "sauter", "sauvage", "savant",
15818"savonner", "scalpel", "scandale", "scélérat", "scénario", "sceptre", "schéma", "science", "scinder", "score",
15819"scrutin", "sculpter", "séance", "sécable", "sécher", "secouer", "sécréter", "sédatif", "séduire", "seigneur",
15820"séjour", "sélectif", "semaine", "sembler", "semence", "séminal", "sénateur", "sensible", "sentence", "séparer",
15821"séquence", "serein", "sergent", "sérieux", "serrure", "sérum", "service", "sésame", "sévir", "sevrage",
15822"sextuple", "sidéral", "siècle", "siéger", "siffler", "sigle", "signal", "silence", "silicium", "simple",
15823"sincère", "sinistre", "siphon", "sirop", "sismique", "situer", "skier", "social", "socle", "sodium",
15824"soigneux", "soldat", "soleil", "solitude", "soluble", "sombre", "sommeil", "somnoler", "sonde", "songeur",
15825"sonnette", "sonore", "sorcier", "sortir", "sosie", "sottise", "soucieux", "soudure", "souffle", "soulever",
15826"soupape", "source", "soutirer", "souvenir", "spacieux", "spatial", "spécial", "sphère", "spiral", "stable",
15827"station", "sternum", "stimulus", "stipuler", "strict", "studieux", "stupeur", "styliste", "sublime", "substrat",
15828"subtil", "subvenir", "succès", "sucre", "suffixe", "suggérer", "suiveur", "sulfate", "superbe", "supplier",
15829"surface", "suricate", "surmener", "surprise", "sursaut", "survie", "suspect", "syllabe", "symbole", "symétrie",
15830"synapse", "syntaxe", "système", "tabac", "tablier", "tactile", "tailler", "talent", "talisman", "talonner",
15831"tambour", "tamiser", "tangible", "tapis", "taquiner", "tarder", "tarif", "tartine", "tasse", "tatami",
15832"tatouage", "taupe", "taureau", "taxer", "témoin", "temporel", "tenaille", "tendre", "teneur", "tenir",
15833"tension", "terminer", "terne", "terrible", "tétine", "texte", "thème", "théorie", "thérapie", "thorax",
15834"tibia", "tiède", "timide", "tirelire", "tiroir", "tissu", "titane", "titre", "tituber", "toboggan",
15835"tolérant", "tomate", "tonique", "tonneau", "toponyme", "torche", "tordre", "tornade", "torpille", "torrent",
15836"torse", "tortue", "totem", "toucher", "tournage", "tousser", "toxine", "traction", "trafic", "tragique",
15837"trahir", "train", "trancher", "travail", "trèfle", "tremper", "trésor", "treuil", "triage", "tribunal",
15838"tricoter", "trilogie", "triomphe", "tripler", "triturer", "trivial", "trombone", "tronc", "tropical", "troupeau",
15839"tuile", "tulipe", "tumulte", "tunnel", "turbine", "tuteur", "tutoyer", "tuyau", "tympan", "typhon",
15840"typique", "tyran", "ubuesque", "ultime", "ultrason", "unanime", "unifier", "union", "unique", "unitaire",
15841"univers", "uranium", "urbain", "urticant", "usage", "usine", "usuel", "usure", "utile", "utopie",
15842"vacarme", "vaccin", "vagabond", "vague", "vaillant", "vaincre", "vaisseau", "valable", "valise", "vallon",
15843"valve", "vampire", "vanille", "vapeur", "varier", "vaseux", "vassal", "vaste", "vecteur", "vedette",
15844"végétal", "véhicule", "veinard", "véloce", "vendredi", "vénérer", "venger", "venimeux", "ventouse", "verdure",
15845"vérin", "vernir", "verrou", "verser", "vertu", "veston", "vétéran", "vétuste", "vexant", "vexer",
15846"viaduc", "viande", "victoire", "vidange", "vidéo", "vignette", "vigueur", "vilain", "village", "vinaigre",
15847"violon", "vipère", "virement", "virtuose", "virus", "visage", "viseur", "vision", "visqueux", "visuel",
15848"vital", "vitesse", "viticole", "vitrine", "vivace", "vivipare", "vocation", "voguer", "voile", "voisin",
15849"voiture", "volaille", "volcan", "voltiger", "volume", "vorace", "vortex", "voter", "vouloir", "voyage",
15850"voyelle", "wagon", "xénon", "yacht", "zèbre", "zénith", "zeste", "zoologie"]
15851</script>
15852 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15853WORDLISTS["italian"] = [
15854"abaco", "abbaglio", "abbinato", "abete", "abisso", "abolire", "abrasivo", "abrogato", "accadere", "accenno",
15855"accusato", "acetone", "achille", "acido", "acqua", "acre", "acrilico", "acrobata", "acuto", "adagio",
15856"addebito", "addome", "adeguato", "aderire", "adipe", "adottare", "adulare", "affabile", "affetto", "affisso",
15857"affranto", "aforisma", "afoso", "africano", "agave", "agente", "agevole", "aggancio", "agire", "agitare",
15858"agonismo", "agricolo", "agrumeto", "aguzzo", "alabarda", "alato", "albatro", "alberato", "albo", "albume",
15859"alce", "alcolico", "alettone", "alfa", "algebra", "aliante", "alibi", "alimento", "allagato", "allegro",
15860"allievo", "allodola", "allusivo", "almeno", "alogeno", "alpaca", "alpestre", "altalena", "alterno", "alticcio",
15861"altrove", "alunno", "alveolo", "alzare", "amalgama", "amanita", "amarena", "ambito", "ambrato", "ameba",
15862"america", "ametista", "amico", "ammasso", "ammenda", "ammirare", "ammonito", "amore", "ampio", "ampliare",
15863"amuleto", "anacardo", "anagrafe", "analista", "anarchia", "anatra", "anca", "ancella", "ancora", "andare",
15864"andrea", "anello", "angelo", "angolare", "angusto", "anima", "annegare", "annidato", "anno", "annuncio",
15865"anonimo", "anticipo", "anzi", "apatico", "apertura", "apode", "apparire", "appetito", "appoggio", "approdo",
15866"appunto", "aprile", "arabica", "arachide", "aragosta", "araldica", "arancio", "aratura", "arazzo", "arbitro",
15867"archivio", "ardito", "arenile", "argento", "argine", "arguto", "aria", "armonia", "arnese", "arredato",
15868"arringa", "arrosto", "arsenico", "arso", "artefice", "arzillo", "asciutto", "ascolto", "asepsi", "asettico",
15869"asfalto", "asino", "asola", "aspirato", "aspro", "assaggio", "asse", "assoluto", "assurdo", "asta",
15870"astenuto", "astice", "astratto", "atavico", "ateismo", "atomico", "atono", "attesa", "attivare", "attorno",
15871"attrito", "attuale", "ausilio", "austria", "autista", "autonomo", "autunno", "avanzato", "avere", "avvenire",
15872"avviso", "avvolgere", "azione", "azoto", "azzimo", "azzurro", "babele", "baccano", "bacino", "baco",
15873"badessa", "badilata", "bagnato", "baita", "balcone", "baldo", "balena", "ballata", "balzano", "bambino",
15874"bandire", "baraonda", "barbaro", "barca", "baritono", "barlume", "barocco", "basilico", "basso", "batosta",
15875"battuto", "baule", "bava", "bavosa", "becco", "beffa", "belgio", "belva", "benda", "benevole",
15876"benigno", "benzina", "bere", "berlina", "beta", "bibita", "bici", "bidone", "bifido", "biga",
15877"bilancia", "bimbo", "binocolo", "biologo", "bipede", "bipolare", "birbante", "birra", "biscotto", "bisesto",
15878"bisnonno", "bisonte", "bisturi", "bizzarro", "blando", "blatta", "bollito", "bonifico", "bordo", "bosco",
15879"botanico", "bottino", "bozzolo", "braccio", "bradipo", "brama", "branca", "bravura", "bretella", "brevetto",
15880"brezza", "briglia", "brillante", "brindare", "broccolo", "brodo", "bronzina", "brullo", "bruno", "bubbone",
15881"buca", "budino", "buffone", "buio", "bulbo", "buono", "burlone", "burrasca", "bussola", "busta",
15882"cadetto", "caduco", "calamaro", "calcolo", "calesse", "calibro", "calmo", "caloria", "cambusa", "camerata",
15883"camicia", "cammino", "camola", "campale", "canapa", "candela", "cane", "canino", "canotto", "cantina",
15884"capace", "capello", "capitolo", "capogiro", "cappero", "capra", "capsula", "carapace", "carcassa", "cardo",
15885"carisma", "carovana", "carretto", "cartolina", "casaccio", "cascata", "caserma", "caso", "cassone", "castello",
15886"casuale", "catasta", "catena", "catrame", "cauto", "cavillo", "cedibile", "cedrata", "cefalo", "celebre",
15887"cellulare", "cena", "cenone", "centesimo", "ceramica", "cercare", "certo", "cerume", "cervello", "cesoia",
15888"cespo", "ceto", "chela", "chiaro", "chicca", "chiedere", "chimera", "china", "chirurgo", "chitarra",
15889"ciao", "ciclismo", "cifrare", "cigno", "cilindro", "ciottolo", "circa", "cirrosi", "citrico", "cittadino",
15890"ciuffo", "civetta", "civile", "classico", "clinica", "cloro", "cocco", "codardo", "codice", "coerente",
15891"cognome", "collare", "colmato", "colore", "colposo", "coltivato", "colza", "coma", "cometa", "commando",
15892"comodo", "computer", "comune", "conciso", "condurre", "conferma", "congelare", "coniuge", "connesso", "conoscere",
15893"consumo", "continuo", "convegno", "coperto", "copione", "coppia", "copricapo", "corazza", "cordata", "coricato",
15894"cornice", "corolla", "corpo", "corredo", "corsia", "cortese", "cosmico", "costante", "cottura", "covato",
15895"cratere", "cravatta", "creato", "credere", "cremoso", "crescita", "creta", "criceto", "crinale", "crisi",
15896"critico", "croce", "cronaca", "crostata", "cruciale", "crusca", "cucire", "cuculo", "cugino", "cullato",
15897"cupola", "curatore", "cursore", "curvo", "cuscino", "custode", "dado", "daino", "dalmata", "damerino",
15898"daniela", "dannoso", "danzare", "datato", "davanti", "davvero", "debutto", "decennio", "deciso", "declino",
15899"decollo", "decreto", "dedicato", "definito", "deforme", "degno", "delegare", "delfino", "delirio", "delta",
15900"demenza", "denotato", "dentro", "deposito", "derapata", "derivare", "deroga", "descritto", "deserto", "desiderio",
15901"desumere", "detersivo", "devoto", "diametro", "dicembre", "diedro", "difeso", "diffuso", "digerire", "digitale",
15902"diluvio", "dinamico", "dinnanzi", "dipinto", "diploma", "dipolo", "diradare", "dire", "dirotto", "dirupo",
15903"disagio", "discreto", "disfare", "disgelo", "disposto", "distanza", "disumano", "dito", "divano", "divelto",
15904"dividere", "divorato", "doblone", "docente", "doganale", "dogma", "dolce", "domato", "domenica", "dominare",
15905"dondolo", "dono", "dormire", "dote", "dottore", "dovuto", "dozzina", "drago", "druido", "dubbio",
15906"dubitare", "ducale", "duna", "duomo", "duplice", "duraturo", "ebano", "eccesso", "ecco", "eclissi",
15907"economia", "edera", "edicola", "edile", "editoria", "educare", "egemonia", "egli", "egoismo", "egregio",
15908"elaborato", "elargire", "elegante", "elencato", "eletto", "elevare", "elfico", "elica", "elmo", "elsa",
15909"eluso", "emanato", "emblema", "emesso", "emiro", "emotivo", "emozione", "empirico", "emulo", "endemico",
15910"enduro", "energia", "enfasi", "enoteca", "entrare", "enzima", "epatite", "epilogo", "episodio", "epocale",
15911"eppure", "equatore", "erario", "erba", "erboso", "erede", "eremita", "erigere", "ermetico", "eroe",
15912"erosivo", "errante", "esagono", "esame", "esanime", "esaudire", "esca", "esempio", "esercito", "esibito",
15913"esigente", "esistere", "esito", "esofago", "esortato", "esoso", "espanso", "espresso", "essenza", "esso",
15914"esteso", "estimare", "estonia", "estroso", "esultare", "etilico", "etnico", "etrusco", "etto", "euclideo",
15915"europa", "evaso", "evidenza", "evitato", "evoluto", "evviva", "fabbrica", "faccenda", "fachiro", "falco",
15916"famiglia", "fanale", "fanfara", "fango", "fantasma", "fare", "farfalla", "farinoso", "farmaco", "fascia",
15917"fastoso", "fasullo", "faticare", "fato", "favoloso", "febbre", "fecola", "fede", "fegato", "felpa",
15918"feltro", "femmina", "fendere", "fenomeno", "fermento", "ferro", "fertile", "fessura", "festivo", "fetta",
15919"feudo", "fiaba", "fiducia", "fifa", "figurato", "filo", "finanza", "finestra", "finire", "fiore",
15920"fiscale", "fisico", "fiume", "flacone", "flamenco", "flebo", "flemma", "florido", "fluente", "fluoro",
15921"fobico", "focaccia", "focoso", "foderato", "foglio", "folata", "folclore", "folgore", "fondente", "fonetico",
15922"fonia", "fontana", "forbito", "forchetta", "foresta", "formica", "fornaio", "foro", "fortezza", "forzare",
15923"fosfato", "fosso", "fracasso", "frana", "frassino", "fratello", "freccetta", "frenata", "fresco", "frigo",
15924"frollino", "fronde", "frugale", "frutta", "fucilata", "fucsia", "fuggente", "fulmine", "fulvo", "fumante",
15925"fumetto", "fumoso", "fune", "funzione", "fuoco", "furbo", "furgone", "furore", "fuso", "futile",
15926"gabbiano", "gaffe", "galateo", "gallina", "galoppo", "gambero", "gamma", "garanzia", "garbo", "garofano",
15927"garzone", "gasdotto", "gasolio", "gastrico", "gatto", "gaudio", "gazebo", "gazzella", "geco", "gelatina",
15928"gelso", "gemello", "gemmato", "gene", "genitore", "gennaio", "genotipo", "gergo", "ghepardo", "ghiaccio",
15929"ghisa", "giallo", "gilda", "ginepro", "giocare", "gioiello", "giorno", "giove", "girato", "girone",
15930"gittata", "giudizio", "giurato", "giusto", "globulo", "glutine", "gnomo", "gobba", "golf", "gomito",
15931"gommone", "gonfio", "gonna", "governo", "gracile", "grado", "grafico", "grammo", "grande", "grattare",
15932"gravoso", "grazia", "greca", "gregge", "grifone", "grigio", "grinza", "grotta", "gruppo", "guadagno",
15933"guaio", "guanto", "guardare", "gufo", "guidare", "ibernato", "icona", "identico", "idillio", "idolo",
15934"idra", "idrico", "idrogeno", "igiene", "ignaro", "ignorato", "ilare", "illeso", "illogico", "illudere",
15935"imballo", "imbevuto", "imbocco", "imbuto", "immane", "immerso", "immolato", "impacco", "impeto", "impiego",
15936"importo", "impronta", "inalare", "inarcare", "inattivo", "incanto", "incendio", "inchino", "incisivo", "incluso",
15937"incontro", "incrocio", "incubo", "indagine", "india", "indole", "inedito", "infatti", "infilare", "inflitto",
15938"ingaggio", "ingegno", "inglese", "ingordo", "ingrosso", "innesco", "inodore", "inoltrare", "inondato", "insano",
15939"insetto", "insieme", "insonnia", "insulina", "intasato", "intero", "intonaco", "intuito", "inumidire", "invalido",
15940"invece", "invito", "iperbole", "ipnotico", "ipotesi", "ippica", "iride", "irlanda", "ironico", "irrigato",
15941"irrorare", "isolato", "isotopo", "isterico", "istituto", "istrice", "italia", "iterare", "labbro", "labirinto",
15942"lacca", "lacerato", "lacrima", "lacuna", "laddove", "lago", "lampo", "lancetta", "lanterna", "lardoso",
15943"larga", "laringe", "lastra", "latenza", "latino", "lattuga", "lavagna", "lavoro", "legale", "leggero",
15944"lembo", "lentezza", "lenza", "leone", "lepre", "lesivo", "lessato", "lesto", "letterale", "leva",
15945"levigato", "libero", "lido", "lievito", "lilla", "limatura", "limitare", "limpido", "lineare", "lingua",
15946"liquido", "lira", "lirica", "lisca", "lite", "litigio", "livrea", "locanda", "lode", "logica",
15947"lombare", "londra", "longevo", "loquace", "lorenzo", "loto", "lotteria", "luce", "lucidato", "lumaca",
15948"luminoso", "lungo", "lupo", "luppolo", "lusinga", "lusso", "lutto", "macabro", "macchina", "macero",
15949"macinato", "madama", "magico", "maglia", "magnete", "magro", "maiolica", "malafede", "malgrado", "malinteso",
15950"malsano", "malto", "malumore", "mana", "mancia", "mandorla", "mangiare", "manifesto", "mannaro", "manovra",
15951"mansarda", "mantide", "manubrio", "mappa", "maratona", "marcire", "maretta", "marmo", "marsupio", "maschera",
15952"massaia", "mastino", "materasso", "matricola", "mattone", "maturo", "mazurca", "meandro", "meccanico", "mecenate",
15953"medesimo", "meditare", "mega", "melassa", "melis", "melodia", "meninge", "meno", "mensola", "mercurio",
15954"merenda", "merlo", "meschino", "mese", "messere", "mestolo", "metallo", "metodo", "mettere", "miagolare",
15955"mica", "micelio", "michele", "microbo", "midollo", "miele", "migliore", "milano", "milite", "mimosa",
15956"minerale", "mini", "minore", "mirino", "mirtillo", "miscela", "missiva", "misto", "misurare", "mitezza",
15957"mitigare", "mitra", "mittente", "mnemonico", "modello", "modifica", "modulo", "mogano", "mogio", "mole",
15958"molosso", "monastero", "monco", "mondina", "monetario", "monile", "monotono", "monsone", "montato", "monviso",
15959"mora", "mordere", "morsicato", "mostro", "motivato", "motosega", "motto", "movenza", "movimento", "mozzo",
15960"mucca", "mucosa", "muffa", "mughetto", "mugnaio", "mulatto", "mulinello", "multiplo", "mummia", "munto",
15961"muovere", "murale", "musa", "muscolo", "musica", "mutevole", "muto", "nababbo", "nafta", "nanometro",
15962"narciso", "narice", "narrato", "nascere", "nastrare", "naturale", "nautica", "naviglio", "nebulosa", "necrosi",
15963"negativo", "negozio", "nemmeno", "neofita", "neretto", "nervo", "nessuno", "nettuno", "neutrale", "neve",
15964"nevrotico", "nicchia", "ninfa", "nitido", "nobile", "nocivo", "nodo", "nome", "nomina", "nordico",
15965"normale", "norvegese", "nostrano", "notare", "notizia", "notturno", "novella", "nucleo", "nulla", "numero",
15966"nuovo", "nutrire", "nuvola", "nuziale", "oasi", "obbedire", "obbligo", "obelisco", "oblio", "obolo",
15967"obsoleto", "occasione", "occhio", "occidente", "occorrere", "occultare", "ocra", "oculato", "odierno", "odorare",
15968"offerta", "offrire", "offuscato", "oggetto", "oggi", "ognuno", "olandese", "olfatto", "oliato", "oliva",
15969"ologramma", "oltre", "omaggio", "ombelico", "ombra", "omega", "omissione", "ondoso", "onere", "onice",
15970"onnivoro", "onorevole", "onta", "operato", "opinione", "opposto", "oracolo", "orafo", "ordine", "orecchino",
15971"orefice", "orfano", "organico", "origine", "orizzonte", "orma", "ormeggio", "ornativo", "orologio", "orrendo",
15972"orribile", "ortensia", "ortica", "orzata", "orzo", "osare", "oscurare", "osmosi", "ospedale", "ospite",
15973"ossa", "ossidare", "ostacolo", "oste", "otite", "otre", "ottagono", "ottimo", "ottobre", "ovale",
15974"ovest", "ovino", "oviparo", "ovocito", "ovunque", "ovviare", "ozio", "pacchetto", "pace", "pacifico",
15975"padella", "padrone", "paese", "paga", "pagina", "palazzina", "palesare", "pallido", "palo", "palude",
15976"pandoro", "pannello", "paolo", "paonazzo", "paprica", "parabola", "parcella", "parere", "pargolo", "pari",
15977"parlato", "parola", "partire", "parvenza", "parziale", "passivo", "pasticca", "patacca", "patologia", "pattume",
15978"pavone", "peccato", "pedalare", "pedonale", "peggio", "peloso", "penare", "pendice", "penisola", "pennuto",
15979"penombra", "pensare", "pentola", "pepe", "pepita", "perbene", "percorso", "perdonato", "perforare", "pergamena",
15980"periodo", "permesso", "perno", "perplesso", "persuaso", "pertugio", "pervaso", "pesatore", "pesista", "peso",
15981"pestifero", "petalo", "pettine", "petulante", "pezzo", "piacere", "pianta", "piattino", "piccino", "picozza",
15982"piega", "pietra", "piffero", "pigiama", "pigolio", "pigro", "pila", "pilifero", "pillola", "pilota",
15983"pimpante", "pineta", "pinna", "pinolo", "pioggia", "piombo", "piramide", "piretico", "pirite", "pirolisi",
15984"pitone", "pizzico", "placebo", "planare", "plasma", "platano", "plenario", "pochezza", "poderoso", "podismo",
15985"poesia", "poggiare", "polenta", "poligono", "pollice", "polmonite", "polpetta", "polso", "poltrona", "polvere",
15986"pomice", "pomodoro", "ponte", "popoloso", "porfido", "poroso", "porpora", "porre", "portata", "posa",
15987"positivo", "possesso", "postulato", "potassio", "potere", "pranzo", "prassi", "pratica", "precluso", "predica",
15988"prefisso", "pregiato", "prelievo", "premere", "prenotare", "preparato", "presenza", "pretesto", "prevalso", "prima",
15989"principe", "privato", "problema", "procura", "produrre", "profumo", "progetto", "prolunga", "promessa", "pronome",
15990"proposta", "proroga", "proteso", "prova", "prudente", "prugna", "prurito", "psiche", "pubblico", "pudica",
15991"pugilato", "pugno", "pulce", "pulito", "pulsante", "puntare", "pupazzo", "pupilla", "puro", "quadro",
15992"qualcosa", "quasi", "querela", "quota", "raccolto", "raddoppio", "radicale", "radunato", "raffica", "ragazzo",
15993"ragione", "ragno", "ramarro", "ramingo", "ramo", "randagio", "rantolare", "rapato", "rapina", "rappreso",
15994"rasatura", "raschiato", "rasente", "rassegna", "rastrello", "rata", "ravveduto", "reale", "recepire", "recinto",
15995"recluta", "recondito", "recupero", "reddito", "redimere", "regalato", "registro", "regola", "regresso", "relazione",
15996"remare", "remoto", "renna", "replica", "reprimere", "reputare", "resa", "residente", "responso", "restauro",
15997"rete", "retina", "retorica", "rettifica", "revocato", "riassunto", "ribadire", "ribelle", "ribrezzo", "ricarica",
15998"ricco", "ricevere", "riciclato", "ricordo", "ricreduto", "ridicolo", "ridurre", "rifasare", "riflesso", "riforma",
15999"rifugio", "rigare", "rigettato", "righello", "rilassato", "rilevato", "rimanere", "rimbalzo", "rimedio", "rimorchio",
16000"rinascita", "rincaro", "rinforzo", "rinnovo", "rinomato", "rinsavito", "rintocco", "rinuncia", "rinvenire", "riparato",
16001"ripetuto", "ripieno", "riportare", "ripresa", "ripulire", "risata", "rischio", "riserva", "risibile", "riso",
16002"rispetto", "ristoro", "risultato", "risvolto", "ritardo", "ritegno", "ritmico", "ritrovo", "riunione", "riva",
16003"riverso", "rivincita", "rivolto", "rizoma", "roba", "robotico", "robusto", "roccia", "roco", "rodaggio",
16004"rodere", "roditore", "rogito", "rollio", "romantico", "rompere", "ronzio", "rosolare", "rospo", "rotante",
16005"rotondo", "rotula", "rovescio", "rubizzo", "rubrica", "ruga", "rullino", "rumine", "rumoroso", "ruolo",
16006"rupe", "russare", "rustico", "sabato", "sabbiare", "sabotato", "sagoma", "salasso", "saldatura", "salgemma",
16007"salivare", "salmone", "salone", "saltare", "saluto", "salvo", "sapere", "sapido", "saporito", "saraceno",
16008"sarcasmo", "sarto", "sassoso", "satellite", "satira", "satollo", "saturno", "savana", "savio", "saziato",
16009"sbadiglio", "sbalzo", "sbancato", "sbarra", "sbattere", "sbavare", "sbendare", "sbirciare", "sbloccato", "sbocciato",
16010"sbrinare", "sbruffone", "sbuffare", "scabroso", "scadenza", "scala", "scambiare", "scandalo", "scapola", "scarso",
16011"scatenare", "scavato", "scelto", "scenico", "scettro", "scheda", "schiena", "sciarpa", "scienza", "scindere",
16012"scippo", "sciroppo", "scivolo", "sclerare", "scodella", "scolpito", "scomparto", "sconforto", "scoprire", "scorta",
16013"scossone", "scozzese", "scriba", "scrollare", "scrutinio", "scuderia", "scultore", "scuola", "scuro", "scusare",
16014"sdebitare", "sdoganare", "seccatura", "secondo", "sedano", "seggiola", "segnalato", "segregato", "seguito", "selciato",
16015"selettivo", "sella", "selvaggio", "semaforo", "sembrare", "seme", "seminato", "sempre", "senso", "sentire",
16016"sepolto", "sequenza", "serata", "serbato", "sereno", "serio", "serpente", "serraglio", "servire", "sestina",
16017"setola", "settimana", "sfacelo", "sfaldare", "sfamato", "sfarzoso", "sfaticato", "sfera", "sfida", "sfilato",
16018"sfinge", "sfocato", "sfoderare", "sfogo", "sfoltire", "sforzato", "sfratto", "sfruttato", "sfuggito", "sfumare",
16019"sfuso", "sgabello", "sgarbato", "sgonfiare", "sgorbio", "sgrassato", "sguardo", "sibilo", "siccome", "sierra",
16020"sigla", "signore", "silenzio", "sillaba", "simbolo", "simpatico", "simulato", "sinfonia", "singolo", "sinistro",
16021"sino", "sintesi", "sinusoide", "sipario", "sisma", "sistole", "situato", "slitta", "slogatura", "sloveno",
16022"smarrito", "smemorato", "smentito", "smeraldo", "smilzo", "smontare", "smottato", "smussato", "snellire", "snervato",
16023"snodo", "sobbalzo", "sobrio", "soccorso", "sociale", "sodale", "soffitto", "sogno", "soldato", "solenne",
16024"solido", "sollazzo", "solo", "solubile", "solvente", "somatico", "somma", "sonda", "sonetto", "sonnifero",
16025"sopire", "soppeso", "sopra", "sorgere", "sorpasso", "sorriso", "sorso", "sorteggio", "sorvolato", "sospiro",
16026"sosta", "sottile", "spada", "spalla", "spargere", "spatola", "spavento", "spazzola", "specie", "spedire",
16027"spegnere", "spelatura", "speranza", "spessore", "spettrale", "spezzato", "spia", "spigoloso", "spillato", "spinoso",
16028"spirale", "splendido", "sportivo", "sposo", "spranga", "sprecare", "spronato", "spruzzo", "spuntino", "squillo",
16029"sradicare", "srotolato", "stabile", "stacco", "staffa", "stagnare", "stampato", "stantio", "starnuto", "stasera",
16030"statuto", "stelo", "steppa", "sterzo", "stiletto", "stima", "stirpe", "stivale", "stizzoso", "stonato",
16031"storico", "strappo", "stregato", "stridulo", "strozzare", "strutto", "stuccare", "stufo", "stupendo", "subentro",
16032"succoso", "sudore", "suggerito", "sugo", "sultano", "suonare", "superbo", "supporto", "surgelato", "surrogato",
16033"sussurro", "sutura", "svagare", "svedese", "sveglio", "svelare", "svenuto", "svezia", "sviluppo", "svista",
16034"svizzera", "svolta", "svuotare", "tabacco", "tabulato", "tacciare", "taciturno", "tale", "talismano", "tampone",
16035"tannino", "tara", "tardivo", "targato", "tariffa", "tarpare", "tartaruga", "tasto", "tattico", "taverna",
16036"tavolata", "tazza", "teca", "tecnico", "telefono", "temerario", "tempo", "temuto", "tendone", "tenero",
16037"tensione", "tentacolo", "teorema", "terme", "terrazzo", "terzetto", "tesi", "tesserato", "testato", "tetro",
16038"tettoia", "tifare", "tigella", "timbro", "tinto", "tipico", "tipografo", "tiraggio", "tiro", "titanio",
16039"titolo", "titubante", "tizio", "tizzone", "toccare", "tollerare", "tolto", "tombola", "tomo", "tonfo",
16040"tonsilla", "topazio", "topologia", "toppa", "torba", "tornare", "torrone", "tortora", "toscano", "tossire",
16041"tostatura", "totano", "trabocco", "trachea", "trafila", "tragedia", "tralcio", "tramonto", "transito", "trapano",
16042"trarre", "trasloco", "trattato", "trave", "treccia", "tremolio", "trespolo", "tributo", "tricheco", "trifoglio",
16043"trillo", "trincea", "trio", "tristezza", "triturato", "trivella", "tromba", "trono", "troppo", "trottola",
16044"trovare", "truccato", "tubatura", "tuffato", "tulipano", "tumulto", "tunisia", "turbare", "turchino", "tuta",
16045"tutela", "ubicato", "uccello", "uccisore", "udire", "uditivo", "uffa", "ufficio", "uguale", "ulisse",
16046"ultimato", "umano", "umile", "umorismo", "uncinetto", "ungere", "ungherese", "unicorno", "unificato", "unisono",
16047"unitario", "unte", "uovo", "upupa", "uragano", "urgenza", "urlo", "usanza", "usato", "uscito",
16048"usignolo", "usuraio", "utensile", "utilizzo", "utopia", "vacante", "vaccinato", "vagabondo", "vagliato", "valanga",
16049"valgo", "valico", "valletta", "valoroso", "valutare", "valvola", "vampata", "vangare", "vanitoso", "vano",
16050"vantaggio", "vanvera", "vapore", "varano", "varcato", "variante", "vasca", "vedetta", "vedova", "veduto",
16051"vegetale", "veicolo", "velcro", "velina", "velluto", "veloce", "venato", "vendemmia", "vento", "verace",
16052"verbale", "vergogna", "verifica", "vero", "verruca", "verticale", "vescica", "vessillo", "vestale", "veterano",
16053"vetrina", "vetusto", "viandante", "vibrante", "vicenda", "vichingo", "vicinanza", "vidimare", "vigilia", "vigneto",
16054"vigore", "vile", "villano", "vimini", "vincitore", "viola", "vipera", "virgola", "virologo", "virulento",
16055"viscoso", "visione", "vispo", "vissuto", "visura", "vita", "vitello", "vittima", "vivanda", "vivido",
16056"viziare", "voce", "voga", "volatile", "volere", "volpe", "voragine", "vulcano", "zampogna", "zanna",
16057"zappato", "zattera", "zavorra", "zefiro", "zelante", "zelo", "zenzero", "zerbino", "zibetto", "zinco",
16058"zircone", "zitto", "zolla", "zotico", "zucchero", "zufolo", "zulu", "zuppa"]
dc55c6b0 16059</script>
ab78acc6 16060 <script>/*
3af2954a
IC
16061 * Copyright (c) 2013 Pavol Rusnak
16062 *
16063 * Permission is hereby granted, free of charge, to any person obtaining a copy of
16064 * this software and associated documentation files (the "Software"), to deal in
16065 * the Software without restriction, including without limitation the rights to
16066 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16067 * of the Software, and to permit persons to whom the Software is furnished to do
16068 * so, subject to the following conditions:
16069 *
16070 * The above copyright notice and this permission notice shall be included in all
16071 * copies or substantial portions of the Software.
16072 *
16073 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16074 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16075 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16076 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16077 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16078 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16079 */
16080
16081/*
16082 * Javascript port from python by Ian Coleman
16083 *
80c4dd2a
IC
16084 * Requires code from sjcl
16085 * https://github.com/bitwiseshiftleft/sjcl
3af2954a
IC
16086 */
16087
16088var Mnemonic = function(language) {
16089
16090 var PBKDF2_ROUNDS = 2048;
16091 var RADIX = 2048;
16092
16093 var self = this;
16094 var wordlist = [];
16095
80c4dd2a
IC
16096 var hmacSHA512 = function(key) {
16097 var hasher = new sjcl.misc.hmac(key, sjcl.hash.sha512);
16098 this.encrypt = function() {
16099 return hasher.encrypt.apply(hasher, arguments);
16100 };
16101 };
16102
3af2954a
IC
16103 function init() {
16104 wordlist = WORDLISTS[language];
16105 if (wordlist.length != RADIX) {
16106 err = 'Wordlist should contain ' + RADIX + ' words, but it contains ' + wordlist.length + ' words.';
16107 throw err;
16108 }
16109 }
16110
16111 self.generate = function(strength) {
16112 strength = strength || 128;
16113 var r = strength % 32;
16114 if (r > 0) {
16115 throw 'Strength should be divisible by 32, but it is not (' + r + ').';
16116 }
16117 var hasStrongCrypto = 'crypto' in window && window['crypto'] !== null;
16118 if (!hasStrongCrypto) {
16119 throw 'Mnemonic should be generated with strong randomness, but crypto.getRandomValues is unavailable';
16120 }
16121 var buffer = new Uint8Array(strength / 8);
16122 var data = crypto.getRandomValues(buffer);
16123 return self.toMnemonic(data);
16124 }
16125
80c4dd2a
IC
16126 self.toMnemonic = function(byteArray) {
16127 if (byteArray.length % 4 > 0) {
16128 throw 'Data length in bits should be divisible by 32, but it is not (' + byteArray.length + ' bytes = ' + byteArray.length*8 + ' bits).'
3af2954a
IC
16129 }
16130
16131 //h = hashlib.sha256(data).hexdigest()
80c4dd2a
IC
16132 var data = byteArrayToWordArray(byteArray);
16133 var hash = sjcl.hash.sha256.hash(data);
16134 var h = sjcl.codec.hex.fromBits(hash);
3af2954a
IC
16135
16136 // b is a binary string, eg '00111010101100...'
16137 //b = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8) + \
16138 // bin(int(h, 16))[2:].zfill(256)[:len(data) * 8 / 32]
16139 //
16140 // a = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8)
16141 // c = bin(int(h, 16))[2:].zfill(256)
16142 // d = c[:len(data) * 8 / 32]
80c4dd2a
IC
16143 var a = byteArrayToBinaryString(byteArray);
16144 var c = zfill(hexStringToBinaryString(h), 256);
16145 var d = c.substring(0, byteArray.length * 8 / 32);
3af2954a
IC
16146 // b = line1 + line2
16147 var b = a + d;
16148
16149 var result = [];
16150 var blen = b.length / 11;
16151 for (var i=0; i<blen; i++) {
16152 var idx = parseInt(b.substring(i * 11, (i + 1) * 11), 2);
16153 result.push(wordlist[idx]);
16154 }
0515eeec 16155 return self.joinWords(result);
3af2954a
IC
16156 }
16157
16158 self.check = function(mnemonic) {
0515eeec 16159 var mnemonic = self.splitWords(mnemonic);
18abe53b 16160 if (mnemonic.length == 0 || mnemonic.length % 3 > 0) {
3af2954a
IC
16161 return false
16162 }
16163 // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic)
16164 var idx = [];
16165 for (var i=0; i<mnemonic.length; i++) {
16166 var word = mnemonic[i];
16167 var wordIndex = wordlist.indexOf(word);
16168 if (wordIndex == -1) {
16169 return false;
16170 }
16171 var binaryIndex = zfill(wordIndex.toString(2), 11);
16172 idx.push(binaryIndex);
16173 }
16174 var b = idx.join('');
16175 var l = b.length;
16176 //d = b[:l / 33 * 32]
16177 //h = b[-l / 33:]
16178 var d = b.substring(0, l / 33 * 32);
16179 var h = b.substring(l - l / 33, l);
16180 //nd = binascii.unhexlify(hex(int(d, 2))[2:].rstrip('L').zfill(l / 33 * 8))
80c4dd2a 16181 var nd = binaryStringToWordArray(d);
3af2954a 16182 //nh = bin(int(hashlib.sha256(nd).hexdigest(), 16))[2:].zfill(256)[:l / 33]
80c4dd2a
IC
16183 var ndHash = sjcl.hash.sha256.hash(nd);
16184 var ndHex = sjcl.codec.hex.fromBits(ndHash);
16185 var ndBstr = zfill(hexStringToBinaryString(ndHex), 256);
3af2954a
IC
16186 var nh = ndBstr.substring(0,l/33);
16187 return h == nh;
16188 }
16189
16190 self.toSeed = function(mnemonic, passphrase) {
16191 passphrase = passphrase || '';
0515eeec 16192 mnemonic = self.joinWords(self.splitWords(self.normalizeString(mnemonic))); // removes blanks
3af2954a
IC
16193 passphrase = self.normalizeString(passphrase)
16194 passphrase = "mnemonic" + passphrase;
80c4dd2a
IC
16195 var mnemonicBits = sjcl.codec.utf8String.toBits(mnemonic);
16196 var passphraseBits = sjcl.codec.utf8String.toBits(passphrase);
16197 var result = sjcl.misc.pbkdf2(mnemonicBits, passphraseBits, PBKDF2_ROUNDS, 512, hmacSHA512);
16198 var hashHex = sjcl.codec.hex.fromBits(result);
16199 return hashHex;
3af2954a
IC
16200 }
16201
0515eeec
IC
16202 self.splitWords = function(mnemonic) {
16203 return mnemonic.split(/\s/g).filter(function(x) { return x.length; });
16204 }
16205
16206 self.joinWords = function(words) {
16207 // Set space correctly depending on the language
16208 // see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
16209 var space = " ";
16210 if (language == "japanese") {
16211 space = "\u3000"; // ideographic space
16212 }
16213 return words.join(space);
16214 }
16215
3af2954a
IC
16216 self.normalizeString = function(str) {
16217 if (typeof str.normalize == "function") {
16218 return str.normalize("NFKD");
16219 }
16220 else {
16221 // TODO decide how to handle this in the future.
16222 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
16223 return str;
16224 }
16225 }
16226
80c4dd2a
IC
16227 function byteArrayToWordArray(data) {
16228 var a = [];
16229 for (var i=0; i<data.length/4; i++) {
16230 v = 0;
16231 v += data[i*4 + 0] << 8 * 3;
16232 v += data[i*4 + 1] << 8 * 2;
16233 v += data[i*4 + 2] << 8 * 1;
16234 v += data[i*4 + 3] << 8 * 0;
16235 a.push(v);
16236 }
16237 return a;
16238 }
16239
3af2954a
IC
16240 function byteArrayToBinaryString(data) {
16241 var bin = "";
16242 for (var i=0; i<data.length; i++) {
16243 bin += zfill(data[i].toString(2), 8);
16244 }
16245 return bin;
16246 }
16247
80c4dd2a
IC
16248 function hexStringToBinaryString(hexString) {
16249 binaryString = "";
16250 for (var i=0; i<hexString.length; i++) {
16251 binaryString += zfill(parseInt(hexString[i], 16).toString(2),4);
16252 }
16253 return binaryString;
16254 }
16255
16256 function binaryStringToWordArray(binary) {
16257 var aLen = binary.length / 32;
16258 var a = [];
16259 for (var i=0; i<aLen; i++) {
16260 var valueStr = binary.substring(0,32);
3af2954a 16261 var value = parseInt(valueStr, 2);
80c4dd2a
IC
16262 a.push(value);
16263 binary = binary.slice(32);
3af2954a 16264 }
80c4dd2a 16265 return a;
3af2954a
IC
16266 }
16267
16268 // Pad a numeric string on the left with zero digits until the given width
16269 // is reached.
16270 // Note this differs to the python implementation because it does not
16271 // handle numbers starting with a sign.
16272 function zfill(source, length) {
16273 source = source.toString();
16274 while (source.length < length) {
16275 source = '0' + source;
16276 }
16277 return source;
16278 }
16279
16280 init();
ebd8d4e8 16281
3af2954a 16282}
dc55c6b0 16283</script>
95f04905
IC
16284 <script>/*
16285 JavaScript BigInteger library version 0.9.1
16286 http://silentmatt.com/biginteger/
18abe53b 16287
95f04905
IC
16288 Copyright (c) 2009 Matthew Crumley <email@matthewcrumley.com>
16289 Copyright (c) 2010,2011 by John Tobey <John.Tobey@gmail.com>
16290 Licensed under the MIT license.
c6624d51 16291
95f04905
IC
16292 Support for arbitrary internal representation base was added by
16293 Vitaly Magerya.
16294*/
18abe53b 16295
95f04905
IC
16296/*
16297 File: biginteger.js
18abe53b 16298
95f04905 16299 Exports:
18abe53b 16300
95f04905
IC
16301 <BigInteger>
16302*/
16303(function(exports) {
16304"use strict";
16305/*
16306 Class: BigInteger
16307 An arbitrarily-large integer.
18abe53b 16308
95f04905
IC
16309 <BigInteger> objects should be considered immutable. None of the "built-in"
16310 methods modify *this* or their arguments. All properties should be
16311 considered private.
18abe53b 16312
95f04905
IC
16313 All the methods of <BigInteger> instances can be called "statically". The
16314 static versions are convenient if you don't already have a <BigInteger>
16315 object.
18abe53b 16316
95f04905 16317 As an example, these calls are equivalent.
18abe53b 16318
95f04905
IC
16319 > BigInteger(4).multiply(5); // returns BigInteger(20);
16320 > BigInteger.multiply(4, 5); // returns BigInteger(20);
18abe53b 16321
95f04905
IC
16322 > var a = 42;
16323 > var a = BigInteger.toJSValue("0b101010"); // Not completely useless...
16324*/
c6624d51 16325
95f04905 16326var CONSTRUCT = {}; // Unique token to call "private" version of constructor
c6624d51
IC
16327
16328/*
16329 Constructor: BigInteger()
16330 Convert a value to a <BigInteger>.
16331
16332 Although <BigInteger()> is the constructor for <BigInteger> objects, it is
16333 best not to call it as a constructor. If *n* is a <BigInteger> object, it is
16334 simply returned as-is. Otherwise, <BigInteger()> is equivalent to <parse>
16335 without a radix argument.
16336
16337 > var n0 = BigInteger(); // Same as <BigInteger.ZERO>
16338 > var n1 = BigInteger("123"); // Create a new <BigInteger> with value 123
16339 > var n2 = BigInteger(123); // Create a new <BigInteger> with value 123
16340 > var n3 = BigInteger(n2); // Return n2, unchanged
16341
16342 The constructor form only takes an array and a sign. *n* must be an
16343 array of numbers in little-endian order, where each digit is between 0
16344 and BigInteger.base. The second parameter sets the sign: -1 for
16345 negative, +1 for positive, or 0 for zero. The array is *not copied and
16346 may be modified*. If the array contains only zeros, the sign parameter
16347 is ignored and is forced to zero.
16348
16349 > new BigInteger([5], -1): create a new BigInteger with value -5
16350
16351 Parameters:
16352
16353 n - Value to convert to a <BigInteger>.
16354
16355 Returns:
16356
16357 A <BigInteger> value.
16358
16359 See Also:
16360
16361 <parse>, <BigInteger>
16362*/
16363function BigInteger(n, s, token) {
16364 if (token !== CONSTRUCT) {
16365 if (n instanceof BigInteger) {
16366 return n;
16367 }
16368 else if (typeof n === "undefined") {
16369 return ZERO;
16370 }
16371 return BigInteger.parse(n);
16372 }
16373
16374 n = n || []; // Provide the nullary constructor for subclasses.
16375 while (n.length && !n[n.length - 1]) {
16376 --n.length;
16377 }
16378 this._d = n;
16379 this._s = n.length ? (s || 1) : 0;
16380}
16381
16382BigInteger._construct = function(n, s) {
16383 return new BigInteger(n, s, CONSTRUCT);
16384};
16385
16386// Base-10 speedup hacks in parse, toString, exp10 and log functions
16387// require base to be a power of 10. 10^7 is the largest such power
16388// that won't cause a precision loss when digits are multiplied.
16389var BigInteger_base = 10000000;
16390var BigInteger_base_log10 = 7;
16391
16392BigInteger.base = BigInteger_base;
16393BigInteger.base_log10 = BigInteger_base_log10;
16394
16395var ZERO = new BigInteger([], 0, CONSTRUCT);
16396// Constant: ZERO
16397// <BigInteger> 0.
16398BigInteger.ZERO = ZERO;
16399
16400var ONE = new BigInteger([1], 1, CONSTRUCT);
16401// Constant: ONE
16402// <BigInteger> 1.
16403BigInteger.ONE = ONE;
16404
16405var M_ONE = new BigInteger(ONE._d, -1, CONSTRUCT);
16406// Constant: M_ONE
16407// <BigInteger> -1.
16408BigInteger.M_ONE = M_ONE;
16409
16410// Constant: _0
16411// Shortcut for <ZERO>.
16412BigInteger._0 = ZERO;
16413
16414// Constant: _1
16415// Shortcut for <ONE>.
16416BigInteger._1 = ONE;
16417
16418/*
16419 Constant: small
16420 Array of <BigIntegers> from 0 to 36.
16421
16422 These are used internally for parsing, but useful when you need a "small"
16423 <BigInteger>.
16424
16425 See Also:
16426
16427 <ZERO>, <ONE>, <_0>, <_1>
16428*/
16429BigInteger.small = [
16430 ZERO,
16431 ONE,
16432 /* Assuming BigInteger_base > 36 */
16433 new BigInteger( [2], 1, CONSTRUCT),
16434 new BigInteger( [3], 1, CONSTRUCT),
16435 new BigInteger( [4], 1, CONSTRUCT),
16436 new BigInteger( [5], 1, CONSTRUCT),
16437 new BigInteger( [6], 1, CONSTRUCT),
16438 new BigInteger( [7], 1, CONSTRUCT),
16439 new BigInteger( [8], 1, CONSTRUCT),
16440 new BigInteger( [9], 1, CONSTRUCT),
16441 new BigInteger([10], 1, CONSTRUCT),
16442 new BigInteger([11], 1, CONSTRUCT),
16443 new BigInteger([12], 1, CONSTRUCT),
16444 new BigInteger([13], 1, CONSTRUCT),
16445 new BigInteger([14], 1, CONSTRUCT),
16446 new BigInteger([15], 1, CONSTRUCT),
16447 new BigInteger([16], 1, CONSTRUCT),
16448 new BigInteger([17], 1, CONSTRUCT),
16449 new BigInteger([18], 1, CONSTRUCT),
16450 new BigInteger([19], 1, CONSTRUCT),
16451 new BigInteger([20], 1, CONSTRUCT),
16452 new BigInteger([21], 1, CONSTRUCT),
16453 new BigInteger([22], 1, CONSTRUCT),
16454 new BigInteger([23], 1, CONSTRUCT),
16455 new BigInteger([24], 1, CONSTRUCT),
16456 new BigInteger([25], 1, CONSTRUCT),
16457 new BigInteger([26], 1, CONSTRUCT),
16458 new BigInteger([27], 1, CONSTRUCT),
16459 new BigInteger([28], 1, CONSTRUCT),
16460 new BigInteger([29], 1, CONSTRUCT),
16461 new BigInteger([30], 1, CONSTRUCT),
16462 new BigInteger([31], 1, CONSTRUCT),
16463 new BigInteger([32], 1, CONSTRUCT),
16464 new BigInteger([33], 1, CONSTRUCT),
16465 new BigInteger([34], 1, CONSTRUCT),
16466 new BigInteger([35], 1, CONSTRUCT),
16467 new BigInteger([36], 1, CONSTRUCT)
16468];
16469
16470// Used for parsing/radix conversion
16471BigInteger.digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
16472
16473/*
16474 Method: toString
16475 Convert a <BigInteger> to a string.
16476
16477 When *base* is greater than 10, letters are upper case.
16478
16479 Parameters:
16480
16481 base - Optional base to represent the number in (default is base 10).
16482 Must be between 2 and 36 inclusive, or an Error will be thrown.
16483
16484 Returns:
16485
16486 The string representation of the <BigInteger>.
16487*/
16488BigInteger.prototype.toString = function(base) {
16489 base = +base || 10;
16490 if (base < 2 || base > 36) {
16491 throw new Error("illegal radix " + base + ".");
16492 }
16493 if (this._s === 0) {
16494 return "0";
16495 }
16496 if (base === 10) {
16497 var str = this._s < 0 ? "-" : "";
16498 str += this._d[this._d.length - 1].toString();
16499 for (var i = this._d.length - 2; i >= 0; i--) {
16500 var group = this._d[i].toString();
16501 while (group.length < BigInteger_base_log10) group = '0' + group;
16502 str += group;
16503 }
16504 return str;
16505 }
16506 else {
16507 var numerals = BigInteger.digits;
16508 base = BigInteger.small[base];
16509 var sign = this._s;
16510
16511 var n = this.abs();
16512 var digits = [];
16513 var digit;
16514
16515 while (n._s !== 0) {
16516 var divmod = n.divRem(base);
16517 n = divmod[0];
16518 digit = divmod[1];
16519 // TODO: This could be changed to unshift instead of reversing at the end.
16520 // Benchmark both to compare speeds.
16521 digits.push(numerals[digit.valueOf()]);
16522 }
16523 return (sign < 0 ? "-" : "") + digits.reverse().join("");
16524 }
16525};
16526
16527// Verify strings for parsing
16528BigInteger.radixRegex = [
16529 /^$/,
16530 /^$/,
16531 /^[01]*$/,
16532 /^[012]*$/,
16533 /^[0-3]*$/,
16534 /^[0-4]*$/,
16535 /^[0-5]*$/,
16536 /^[0-6]*$/,
16537 /^[0-7]*$/,
16538 /^[0-8]*$/,
16539 /^[0-9]*$/,
16540 /^[0-9aA]*$/,
16541 /^[0-9abAB]*$/,
16542 /^[0-9abcABC]*$/,
16543 /^[0-9a-dA-D]*$/,
16544 /^[0-9a-eA-E]*$/,
16545 /^[0-9a-fA-F]*$/,
16546 /^[0-9a-gA-G]*$/,
16547 /^[0-9a-hA-H]*$/,
16548 /^[0-9a-iA-I]*$/,
16549 /^[0-9a-jA-J]*$/,
16550 /^[0-9a-kA-K]*$/,
16551 /^[0-9a-lA-L]*$/,
16552 /^[0-9a-mA-M]*$/,
16553 /^[0-9a-nA-N]*$/,
16554 /^[0-9a-oA-O]*$/,
16555 /^[0-9a-pA-P]*$/,
16556 /^[0-9a-qA-Q]*$/,
16557 /^[0-9a-rA-R]*$/,
16558 /^[0-9a-sA-S]*$/,
16559 /^[0-9a-tA-T]*$/,
16560 /^[0-9a-uA-U]*$/,
16561 /^[0-9a-vA-V]*$/,
16562 /^[0-9a-wA-W]*$/,
16563 /^[0-9a-xA-X]*$/,
16564 /^[0-9a-yA-Y]*$/,
16565 /^[0-9a-zA-Z]*$/
16566];
16567
16568/*
16569 Function: parse
16570 Parse a string into a <BigInteger>.
16571
16572 *base* is optional but, if provided, must be from 2 to 36 inclusive. If
16573 *base* is not provided, it will be guessed based on the leading characters
16574 of *s* as follows:
16575
16576 - "0x" or "0X": *base* = 16
16577 - "0c" or "0C": *base* = 8
16578 - "0b" or "0B": *base* = 2
16579 - else: *base* = 10
16580
16581 If no base is provided, or *base* is 10, the number can be in exponential
16582 form. For example, these are all valid:
16583
16584 > BigInteger.parse("1e9"); // Same as "1000000000"
16585 > BigInteger.parse("1.234*10^3"); // Same as 1234
16586 > BigInteger.parse("56789 * 10 ** -2"); // Same as 567
16587
16588 If any characters fall outside the range defined by the radix, an exception
16589 will be thrown.
16590
16591 Parameters:
16592
16593 s - The string to parse.
16594 base - Optional radix (default is to guess based on *s*).
16595
16596 Returns:
16597
16598 a <BigInteger> instance.
16599*/
16600BigInteger.parse = function(s, base) {
16601 // Expands a number in exponential form to decimal form.
16602 // expandExponential("-13.441*10^5") === "1344100";
16603 // expandExponential("1.12300e-1") === "0.112300";
16604 // expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
16605 function expandExponential(str) {
16606 str = str.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/, "e");
16607
16608 return str.replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/, function(x, s, n, f, c) {
16609 c = +c;
16610 var l = c < 0;
16611 var i = n.length + c;
16612 x = (l ? n : f).length;
16613 c = ((c = Math.abs(c)) >= x ? c - x + l : 0);
16614 var z = (new Array(c + 1)).join("0");
16615 var r = n + f;
16616 return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
16617 });
16618 }
16619
16620 s = s.toString();
16621 if (typeof base === "undefined" || +base === 10) {
16622 s = expandExponential(s);
16623 }
16624
16625 var prefixRE;
16626 if (typeof base === "undefined") {
16627 prefixRE = '0[xcb]';
16628 }
16629 else if (base == 16) {
16630 prefixRE = '0x';
16631 }
16632 else if (base == 8) {
16633 prefixRE = '0c';
16634 }
16635 else if (base == 2) {
16636 prefixRE = '0b';
16637 }
16638 else {
16639 prefixRE = '';
16640 }
16641 var parts = new RegExp('^([+\\-]?)(' + prefixRE + ')?([0-9a-z]*)(?:\\.\\d*)?$', 'i').exec(s);
16642 if (parts) {
16643 var sign = parts[1] || "+";
16644 var baseSection = parts[2] || "";
16645 var digits = parts[3] || "";
16646
16647 if (typeof base === "undefined") {
16648 // Guess base
16649 if (baseSection === "0x" || baseSection === "0X") { // Hex
16650 base = 16;
16651 }
16652 else if (baseSection === "0c" || baseSection === "0C") { // Octal
16653 base = 8;
16654 }
16655 else if (baseSection === "0b" || baseSection === "0B") { // Binary
16656 base = 2;
16657 }
16658 else {
16659 base = 10;
16660 }
16661 }
16662 else if (base < 2 || base > 36) {
16663 throw new Error("Illegal radix " + base + ".");
16664 }
16665
16666 base = +base;
16667
16668 // Check for digits outside the range
16669 if (!(BigInteger.radixRegex[base].test(digits))) {
16670 throw new Error("Bad digit for radix " + base);
16671 }
16672
16673 // Strip leading zeros, and convert to array
16674 digits = digits.replace(/^0+/, "").split("");
16675 if (digits.length === 0) {
16676 return ZERO;
16677 }
16678
16679 // Get the sign (we know it's not zero)
16680 sign = (sign === "-") ? -1 : 1;
16681
16682 // Optimize 10
16683 if (base == 10) {
16684 var d = [];
16685 while (digits.length >= BigInteger_base_log10) {
16686 d.push(parseInt(digits.splice(digits.length-BigInteger.base_log10, BigInteger.base_log10).join(''), 10));
16687 }
16688 d.push(parseInt(digits.join(''), 10));
16689 return new BigInteger(d, sign, CONSTRUCT);
16690 }
16691
16692 // Do the conversion
16693 var d = ZERO;
16694 base = BigInteger.small[base];
16695 var small = BigInteger.small;
16696 for (var i = 0; i < digits.length; i++) {
16697 d = d.multiply(base).add(small[parseInt(digits[i], 36)]);
16698 }
16699 return new BigInteger(d._d, sign, CONSTRUCT);
16700 }
16701 else {
16702 throw new Error("Invalid BigInteger format: " + s);
16703 }
16704};
16705
16706/*
16707 Function: add
16708 Add two <BigIntegers>.
16709
16710 Parameters:
16711
16712 n - The number to add to *this*. Will be converted to a <BigInteger>.
16713
16714 Returns:
16715
16716 The numbers added together.
16717
16718 See Also:
16719
16720 <subtract>, <multiply>, <quotient>, <next>
16721*/
16722BigInteger.prototype.add = function(n) {
16723 if (this._s === 0) {
16724 return BigInteger(n);
16725 }
16726
16727 n = BigInteger(n);
16728 if (n._s === 0) {
16729 return this;
16730 }
16731 if (this._s !== n._s) {
16732 n = n.negate();
16733 return this.subtract(n);
16734 }
16735
16736 var a = this._d;
16737 var b = n._d;
16738 var al = a.length;
16739 var bl = b.length;
16740 var sum = new Array(Math.max(al, bl) + 1);
16741 var size = Math.min(al, bl);
16742 var carry = 0;
16743 var digit;
16744
16745 for (var i = 0; i < size; i++) {
16746 digit = a[i] + b[i] + carry;
16747 sum[i] = digit % BigInteger_base;
16748 carry = (digit / BigInteger_base) | 0;
16749 }
16750 if (bl > al) {
16751 a = b;
16752 al = bl;
16753 }
16754 for (i = size; carry && i < al; i++) {
16755 digit = a[i] + carry;
16756 sum[i] = digit % BigInteger_base;
16757 carry = (digit / BigInteger_base) | 0;
16758 }
16759 if (carry) {
16760 sum[i] = carry;
16761 }
16762
16763 for ( ; i < al; i++) {
16764 sum[i] = a[i];
16765 }
16766
16767 return new BigInteger(sum, this._s, CONSTRUCT);
16768};
16769
16770/*
16771 Function: negate
16772 Get the additive inverse of a <BigInteger>.
16773
16774 Returns:
16775
16776 A <BigInteger> with the same magnatude, but with the opposite sign.
16777
16778 See Also:
16779
16780 <abs>
16781*/
16782BigInteger.prototype.negate = function() {
16783 return new BigInteger(this._d, (-this._s) | 0, CONSTRUCT);
16784};
16785
16786/*
16787 Function: abs
16788 Get the absolute value of a <BigInteger>.
16789
16790 Returns:
16791
16792 A <BigInteger> with the same magnatude, but always positive (or zero).
16793
16794 See Also:
16795
16796 <negate>
16797*/
16798BigInteger.prototype.abs = function() {
16799 return (this._s < 0) ? this.negate() : this;
16800};
16801
16802/*
16803 Function: subtract
16804 Subtract two <BigIntegers>.
16805
16806 Parameters:
16807
16808 n - The number to subtract from *this*. Will be converted to a <BigInteger>.
16809
16810 Returns:
16811
16812 The *n* subtracted from *this*.
16813
16814 See Also:
16815
16816 <add>, <multiply>, <quotient>, <prev>
16817*/
16818BigInteger.prototype.subtract = function(n) {
16819 if (this._s === 0) {
16820 return BigInteger(n).negate();
16821 }
16822
16823 n = BigInteger(n);
16824 if (n._s === 0) {
16825 return this;
16826 }
16827 if (this._s !== n._s) {
16828 n = n.negate();
16829 return this.add(n);
16830 }
16831
16832 var m = this;
16833 // negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
16834 if (this._s < 0) {
16835 m = new BigInteger(n._d, 1, CONSTRUCT);
16836 n = new BigInteger(this._d, 1, CONSTRUCT);
16837 }
16838
16839 // Both are positive => a - b
16840 var sign = m.compareAbs(n);
16841 if (sign === 0) {
16842 return ZERO;
16843 }
16844 else if (sign < 0) {
16845 // swap m and n
16846 var t = n;
16847 n = m;
16848 m = t;
16849 }
16850
16851 // a > b
16852 var a = m._d;
16853 var b = n._d;
16854 var al = a.length;
16855 var bl = b.length;
16856 var diff = new Array(al); // al >= bl since a > b
16857 var borrow = 0;
16858 var i;
16859 var digit;
16860
16861 for (i = 0; i < bl; i++) {
16862 digit = a[i] - borrow - b[i];
16863 if (digit < 0) {
16864 digit += BigInteger_base;
16865 borrow = 1;
16866 }
16867 else {
16868 borrow = 0;
16869 }
16870 diff[i] = digit;
16871 }
16872 for (i = bl; i < al; i++) {
16873 digit = a[i] - borrow;
16874 if (digit < 0) {
16875 digit += BigInteger_base;
16876 }
16877 else {
16878 diff[i++] = digit;
16879 break;
16880 }
16881 diff[i] = digit;
16882 }
16883 for ( ; i < al; i++) {
16884 diff[i] = a[i];
16885 }
16886
16887 return new BigInteger(diff, sign, CONSTRUCT);
16888};
16889
16890(function() {
16891 function addOne(n, sign) {
16892 var a = n._d;
16893 var sum = a.slice();
16894 var carry = true;
16895 var i = 0;
16896
16897 while (true) {
16898 var digit = (a[i] || 0) + 1;
16899 sum[i] = digit % BigInteger_base;
16900 if (digit <= BigInteger_base - 1) {
16901 break;
16902 }
16903 ++i;
16904 }
16905
16906 return new BigInteger(sum, sign, CONSTRUCT);
16907 }
16908
16909 function subtractOne(n, sign) {
16910 var a = n._d;
16911 var sum = a.slice();
16912 var borrow = true;
16913 var i = 0;
16914
16915 while (true) {
16916 var digit = (a[i] || 0) - 1;
16917 if (digit < 0) {
16918 sum[i] = digit + BigInteger_base;
16919 }
16920 else {
16921 sum[i] = digit;
16922 break;
16923 }
16924 ++i;
16925 }
16926
16927 return new BigInteger(sum, sign, CONSTRUCT);
16928 }
16929
16930 /*
16931 Function: next
16932 Get the next <BigInteger> (add one).
16933
16934 Returns:
16935
16936 *this* + 1.
16937
16938 See Also:
16939
16940 <add>, <prev>
16941 */
16942 BigInteger.prototype.next = function() {
16943 switch (this._s) {
16944 case 0:
16945 return ONE;
16946 case -1:
16947 return subtractOne(this, -1);
16948 // case 1:
16949 default:
16950 return addOne(this, 1);
16951 }
16952 };
16953
16954 /*
16955 Function: prev
16956 Get the previous <BigInteger> (subtract one).
16957
16958 Returns:
16959
16960 *this* - 1.
16961
16962 See Also:
16963
16964 <next>, <subtract>
16965 */
16966 BigInteger.prototype.prev = function() {
16967 switch (this._s) {
16968 case 0:
16969 return M_ONE;
16970 case -1:
16971 return addOne(this, -1);
16972 // case 1:
16973 default:
16974 return subtractOne(this, 1);
16975 }
16976 };
16977})();
16978
16979/*
16980 Function: compareAbs
16981 Compare the absolute value of two <BigIntegers>.
16982
16983 Calling <compareAbs> is faster than calling <abs> twice, then <compare>.
16984
16985 Parameters:
16986
16987 n - The number to compare to *this*. Will be converted to a <BigInteger>.
16988
16989 Returns:
16990
16991 -1, 0, or +1 if *|this|* is less than, equal to, or greater than *|n|*.
16992
16993 See Also:
16994
16995 <compare>, <abs>
16996*/
16997BigInteger.prototype.compareAbs = function(n) {
16998 if (this === n) {
16999 return 0;
17000 }
17001
17002 if (!(n instanceof BigInteger)) {
17003 if (!isFinite(n)) {
17004 return(isNaN(n) ? n : -1);
17005 }
17006 n = BigInteger(n);
17007 }
17008
17009 if (this._s === 0) {
17010 return (n._s !== 0) ? -1 : 0;
17011 }
17012 if (n._s === 0) {
17013 return 1;
17014 }
17015
17016 var l = this._d.length;
17017 var nl = n._d.length;
17018 if (l < nl) {
17019 return -1;
17020 }
17021 else if (l > nl) {
17022 return 1;
17023 }
17024
17025 var a = this._d;
17026 var b = n._d;
17027 for (var i = l-1; i >= 0; i--) {
17028 if (a[i] !== b[i]) {
17029 return a[i] < b[i] ? -1 : 1;
17030 }
17031 }
17032
17033 return 0;
17034};
17035
17036/*
17037 Function: compare
17038 Compare two <BigIntegers>.
17039
17040 Parameters:
17041
17042 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17043
17044 Returns:
17045
17046 -1, 0, or +1 if *this* is less than, equal to, or greater than *n*.
17047
17048 See Also:
17049
17050 <compareAbs>, <isPositive>, <isNegative>, <isUnit>
17051*/
17052BigInteger.prototype.compare = function(n) {
17053 if (this === n) {
17054 return 0;
17055 }
17056
17057 n = BigInteger(n);
17058
17059 if (this._s === 0) {
17060 return -n._s;
17061 }
17062
17063 if (this._s === n._s) { // both positive or both negative
17064 var cmp = this.compareAbs(n);
17065 return cmp * this._s;
17066 }
17067 else {
17068 return this._s;
17069 }
17070};
17071
17072/*
17073 Function: isUnit
17074 Return true iff *this* is either 1 or -1.
17075
17076 Returns:
17077
17078 true if *this* compares equal to <BigInteger.ONE> or <BigInteger.M_ONE>.
17079
17080 See Also:
17081
17082 <isZero>, <isNegative>, <isPositive>, <compareAbs>, <compare>,
17083 <BigInteger.ONE>, <BigInteger.M_ONE>
17084*/
17085BigInteger.prototype.isUnit = function() {
17086 return this === ONE ||
17087 this === M_ONE ||
17088 (this._d.length === 1 && this._d[0] === 1);
17089};
17090
17091/*
17092 Function: multiply
17093 Multiply two <BigIntegers>.
17094
17095 Parameters:
17096
17097 n - The number to multiply *this* by. Will be converted to a
17098 <BigInteger>.
17099
17100 Returns:
17101
17102 The numbers multiplied together.
17103
17104 See Also:
17105
17106 <add>, <subtract>, <quotient>, <square>
17107*/
17108BigInteger.prototype.multiply = function(n) {
17109 // TODO: Consider adding Karatsuba multiplication for large numbers
17110 if (this._s === 0) {
17111 return ZERO;
17112 }
17113
17114 n = BigInteger(n);
17115 if (n._s === 0) {
17116 return ZERO;
17117 }
17118 if (this.isUnit()) {
17119 if (this._s < 0) {
17120 return n.negate();
17121 }
17122 return n;
17123 }
17124 if (n.isUnit()) {
17125 if (n._s < 0) {
17126 return this.negate();
17127 }
17128 return this;
17129 }
17130 if (this === n) {
17131 return this.square();
17132 }
17133
17134 var r = (this._d.length >= n._d.length);
17135 var a = (r ? this : n)._d; // a will be longer than b
17136 var b = (r ? n : this)._d;
17137 var al = a.length;
17138 var bl = b.length;
17139
17140 var pl = al + bl;
17141 var partial = new Array(pl);
17142 var i;
17143 for (i = 0; i < pl; i++) {
17144 partial[i] = 0;
17145 }
17146
17147 for (i = 0; i < bl; i++) {
17148 var carry = 0;
17149 var bi = b[i];
17150 var jlimit = al + i;
17151 var digit;
17152 for (var j = i; j < jlimit; j++) {
17153 digit = partial[j] + bi * a[j - i] + carry;
17154 carry = (digit / BigInteger_base) | 0;
17155 partial[j] = (digit % BigInteger_base) | 0;
17156 }
17157 if (carry) {
17158 digit = partial[j] + carry;
17159 carry = (digit / BigInteger_base) | 0;
17160 partial[j] = digit % BigInteger_base;
17161 }
17162 }
17163 return new BigInteger(partial, this._s * n._s, CONSTRUCT);
17164};
17165
17166// Multiply a BigInteger by a single-digit native number
17167// Assumes that this and n are >= 0
17168// This is not really intended to be used outside the library itself
17169BigInteger.prototype.multiplySingleDigit = function(n) {
17170 if (n === 0 || this._s === 0) {
17171 return ZERO;
17172 }
17173 if (n === 1) {
17174 return this;
17175 }
17176
17177 var digit;
17178 if (this._d.length === 1) {
17179 digit = this._d[0] * n;
17180 if (digit >= BigInteger_base) {
17181 return new BigInteger([(digit % BigInteger_base)|0,
17182 (digit / BigInteger_base)|0], 1, CONSTRUCT);
17183 }
17184 return new BigInteger([digit], 1, CONSTRUCT);
17185 }
17186
17187 if (n === 2) {
17188 return this.add(this);
17189 }
17190 if (this.isUnit()) {
17191 return new BigInteger([n], 1, CONSTRUCT);
17192 }
17193
17194 var a = this._d;
17195 var al = a.length;
17196
17197 var pl = al + 1;
17198 var partial = new Array(pl);
17199 for (var i = 0; i < pl; i++) {
17200 partial[i] = 0;
17201 }
17202
17203 var carry = 0;
17204 for (var j = 0; j < al; j++) {
17205 digit = n * a[j] + carry;
17206 carry = (digit / BigInteger_base) | 0;
17207 partial[j] = (digit % BigInteger_base) | 0;
17208 }
17209 if (carry) {
17210 partial[j] = carry;
17211 }
17212
17213 return new BigInteger(partial, 1, CONSTRUCT);
17214};
17215
17216/*
17217 Function: square
17218 Multiply a <BigInteger> by itself.
17219
17220 This is slightly faster than regular multiplication, since it removes the
17221 duplicated multiplcations.
17222
17223 Returns:
17224
17225 > this.multiply(this)
17226
17227 See Also:
17228 <multiply>
17229*/
17230BigInteger.prototype.square = function() {
17231 // Normally, squaring a 10-digit number would take 100 multiplications.
17232 // Of these 10 are unique diagonals, of the remaining 90 (100-10), 45 are repeated.
17233 // This procedure saves (N*(N-1))/2 multiplications, (e.g., 45 of 100 multiplies).
17234 // Based on code by Gary Darby, Intellitech Systems Inc., www.DelphiForFun.org
17235
17236 if (this._s === 0) {
17237 return ZERO;
17238 }
17239 if (this.isUnit()) {
17240 return ONE;
17241 }
17242
17243 var digits = this._d;
17244 var length = digits.length;
17245 var imult1 = new Array(length + length + 1);
17246 var product, carry, k;
17247 var i;
17248
17249 // Calculate diagonal
17250 for (i = 0; i < length; i++) {
17251 k = i * 2;
17252 product = digits[i] * digits[i];
17253 carry = (product / BigInteger_base) | 0;
17254 imult1[k] = product % BigInteger_base;
17255 imult1[k + 1] = carry;
17256 }
17257
17258 // Calculate repeating part
17259 for (i = 0; i < length; i++) {
17260 carry = 0;
17261 k = i * 2 + 1;
17262 for (var j = i + 1; j < length; j++, k++) {
17263 product = digits[j] * digits[i] * 2 + imult1[k] + carry;
17264 carry = (product / BigInteger_base) | 0;
17265 imult1[k] = product % BigInteger_base;
17266 }
17267 k = length + i;
17268 var digit = carry + imult1[k];
17269 carry = (digit / BigInteger_base) | 0;
17270 imult1[k] = digit % BigInteger_base;
17271 imult1[k + 1] += carry;
17272 }
17273
17274 return new BigInteger(imult1, 1, CONSTRUCT);
17275};
17276
17277/*
17278 Function: quotient
17279 Divide two <BigIntegers> and truncate towards zero.
17280
17281 <quotient> throws an exception if *n* is zero.
17282
17283 Parameters:
17284
17285 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17286
17287 Returns:
17288
17289 The *this* / *n*, truncated to an integer.
17290
17291 See Also:
17292
17293 <add>, <subtract>, <multiply>, <divRem>, <remainder>
17294*/
17295BigInteger.prototype.quotient = function(n) {
17296 return this.divRem(n)[0];
17297};
17298
17299/*
17300 Function: divide
17301 Deprecated synonym for <quotient>.
17302*/
17303BigInteger.prototype.divide = BigInteger.prototype.quotient;
17304
17305/*
17306 Function: remainder
17307 Calculate the remainder of two <BigIntegers>.
17308
17309 <remainder> throws an exception if *n* is zero.
17310
17311 Parameters:
17312
17313 n - The remainder after *this* is divided *this* by *n*. Will be
17314 converted to a <BigInteger>.
17315
17316 Returns:
17317
17318 *this* % *n*.
17319
17320 See Also:
17321
17322 <divRem>, <quotient>
17323*/
17324BigInteger.prototype.remainder = function(n) {
17325 return this.divRem(n)[1];
17326};
17327
17328/*
17329 Function: divRem
17330 Calculate the integer quotient and remainder of two <BigIntegers>.
17331
17332 <divRem> throws an exception if *n* is zero.
17333
17334 Parameters:
17335
17336 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17337
17338 Returns:
17339
17340 A two-element array containing the quotient and the remainder.
17341
17342 > a.divRem(b)
17343
17344 is exactly equivalent to
17345
17346 > [a.quotient(b), a.remainder(b)]
17347
17348 except it is faster, because they are calculated at the same time.
17349
17350 See Also:
17351
17352 <quotient>, <remainder>
17353*/
17354BigInteger.prototype.divRem = function(n) {
17355 n = BigInteger(n);
17356 if (n._s === 0) {
17357 throw new Error("Divide by zero");
17358 }
17359 if (this._s === 0) {
17360 return [ZERO, ZERO];
17361 }
17362 if (n._d.length === 1) {
17363 return this.divRemSmall(n._s * n._d[0]);
17364 }
17365
17366 // Test for easy cases -- |n1| <= |n2|
17367 switch (this.compareAbs(n)) {
17368 case 0: // n1 == n2
17369 return [this._s === n._s ? ONE : M_ONE, ZERO];
17370 case -1: // |n1| < |n2|
17371 return [ZERO, this];
17372 }
17373
17374 var sign = this._s * n._s;
17375 var a = n.abs();
17376 var b_digits = this._d;
17377 var b_index = b_digits.length;
17378 var digits = n._d.length;
17379 var quot = [];
17380 var guess;
17381
17382 var part = new BigInteger([], 0, CONSTRUCT);
17383
17384 while (b_index) {
17385 part._d.unshift(b_digits[--b_index]);
17386 part = new BigInteger(part._d, 1, CONSTRUCT);
17387
17388 if (part.compareAbs(n) < 0) {
17389 quot.push(0);
17390 continue;
17391 }
17392 if (part._s === 0) {
17393 guess = 0;
17394 }
17395 else {
17396 var xlen = part._d.length, ylen = a._d.length;
17397 var highx = part._d[xlen-1]*BigInteger_base + part._d[xlen-2];
17398 var highy = a._d[ylen-1]*BigInteger_base + a._d[ylen-2];
17399 if (part._d.length > a._d.length) {
17400 // The length of part._d can either match a._d length,
17401 // or exceed it by one.
17402 highx = (highx+1)*BigInteger_base;
17403 }
17404 guess = Math.ceil(highx/highy);
17405 }
17406 do {
17407 var check = a.multiplySingleDigit(guess);
17408 if (check.compareAbs(part) <= 0) {
17409 break;
17410 }
17411 guess--;
17412 } while (guess);
17413
17414 quot.push(guess);
17415 if (!guess) {
17416 continue;
17417 }
17418 var diff = part.subtract(check);
17419 part._d = diff._d.slice();
17420 }
17421
17422 return [new BigInteger(quot.reverse(), sign, CONSTRUCT),
17423 new BigInteger(part._d, this._s, CONSTRUCT)];
17424};
17425
17426// Throws an exception if n is outside of (-BigInteger.base, -1] or
17427// [1, BigInteger.base). It's not necessary to call this, since the
17428// other division functions will call it if they are able to.
17429BigInteger.prototype.divRemSmall = function(n) {
17430 var r;
17431 n = +n;
17432 if (n === 0) {
17433 throw new Error("Divide by zero");
17434 }
17435
17436 var n_s = n < 0 ? -1 : 1;
17437 var sign = this._s * n_s;
17438 n = Math.abs(n);
17439
17440 if (n < 1 || n >= BigInteger_base) {
17441 throw new Error("Argument out of range");
17442 }
17443
17444 if (this._s === 0) {
17445 return [ZERO, ZERO];
17446 }
17447
17448 if (n === 1 || n === -1) {
17449 return [(sign === 1) ? this.abs() : new BigInteger(this._d, sign, CONSTRUCT), ZERO];
17450 }
17451
17452 // 2 <= n < BigInteger_base
17453
17454 // divide a single digit by a single digit
17455 if (this._d.length === 1) {
17456 var q = new BigInteger([(this._d[0] / n) | 0], 1, CONSTRUCT);
17457 r = new BigInteger([(this._d[0] % n) | 0], 1, CONSTRUCT);
17458 if (sign < 0) {
17459 q = q.negate();
17460 }
17461 if (this._s < 0) {
17462 r = r.negate();
17463 }
17464 return [q, r];
17465 }
17466
17467 var digits = this._d.slice();
17468 var quot = new Array(digits.length);
17469 var part = 0;
17470 var diff = 0;
17471 var i = 0;
17472 var guess;
17473
17474 while (digits.length) {
17475 part = part * BigInteger_base + digits[digits.length - 1];
17476 if (part < n) {
17477 quot[i++] = 0;
17478 digits.pop();
17479 diff = BigInteger_base * diff + part;
17480 continue;
17481 }
17482 if (part === 0) {
17483 guess = 0;
17484 }
17485 else {
17486 guess = (part / n) | 0;
17487 }
17488
17489 var check = n * guess;
17490 diff = part - check;
17491 quot[i++] = guess;
17492 if (!guess) {
17493 digits.pop();
17494 continue;
17495 }
17496
17497 digits.pop();
17498 part = diff;
17499 }
17500
17501 r = new BigInteger([diff], 1, CONSTRUCT);
17502 if (this._s < 0) {
17503 r = r.negate();
17504 }
17505 return [new BigInteger(quot.reverse(), sign, CONSTRUCT), r];
17506};
17507
17508/*
17509 Function: isEven
17510 Return true iff *this* is divisible by two.
17511
17512 Note that <BigInteger.ZERO> is even.
17513
17514 Returns:
17515
17516 true if *this* is even, false otherwise.
17517
17518 See Also:
17519
17520 <isOdd>
17521*/
17522BigInteger.prototype.isEven = function() {
17523 var digits = this._d;
17524 return this._s === 0 || digits.length === 0 || (digits[0] % 2) === 0;
17525};
17526
17527/*
17528 Function: isOdd
17529 Return true iff *this* is not divisible by two.
17530
17531 Returns:
17532
17533 true if *this* is odd, false otherwise.
17534
17535 See Also:
17536
17537 <isEven>
17538*/
17539BigInteger.prototype.isOdd = function() {
17540 return !this.isEven();
17541};
17542
17543/*
17544 Function: sign
17545 Get the sign of a <BigInteger>.
17546
17547 Returns:
17548
17549 * -1 if *this* < 0
17550 * 0 if *this* == 0
17551 * +1 if *this* > 0
17552
17553 See Also:
17554
17555 <isZero>, <isPositive>, <isNegative>, <compare>, <BigInteger.ZERO>
17556*/
17557BigInteger.prototype.sign = function() {
17558 return this._s;
17559};
17560
17561/*
17562 Function: isPositive
17563 Return true iff *this* > 0.
17564
17565 Returns:
17566
17567 true if *this*.compare(<BigInteger.ZERO>) == 1.
17568
17569 See Also:
17570
17571 <sign>, <isZero>, <isNegative>, <isUnit>, <compare>, <BigInteger.ZERO>
17572*/
17573BigInteger.prototype.isPositive = function() {
17574 return this._s > 0;
17575};
17576
17577/*
17578 Function: isNegative
17579 Return true iff *this* < 0.
17580
17581 Returns:
17582
17583 true if *this*.compare(<BigInteger.ZERO>) == -1.
17584
17585 See Also:
17586
17587 <sign>, <isPositive>, <isZero>, <isUnit>, <compare>, <BigInteger.ZERO>
17588*/
17589BigInteger.prototype.isNegative = function() {
17590 return this._s < 0;
17591};
17592
17593/*
17594 Function: isZero
17595 Return true iff *this* == 0.
17596
17597 Returns:
17598
17599 true if *this*.compare(<BigInteger.ZERO>) == 0.
17600
17601 See Also:
17602
17603 <sign>, <isPositive>, <isNegative>, <isUnit>, <BigInteger.ZERO>
17604*/
17605BigInteger.prototype.isZero = function() {
17606 return this._s === 0;
17607};
17608
17609/*
17610 Function: exp10
17611 Multiply a <BigInteger> by a power of 10.
17612
17613 This is equivalent to, but faster than
17614
17615 > if (n >= 0) {
17616 > return this.multiply(BigInteger("1e" + n));
17617 > }
17618 > else { // n <= 0
17619 > return this.quotient(BigInteger("1e" + -n));
17620 > }
17621
17622 Parameters:
17623
17624 n - The power of 10 to multiply *this* by. *n* is converted to a
17625 javascipt number and must be no greater than <BigInteger.MAX_EXP>
17626 (0x7FFFFFFF), or an exception will be thrown.
17627
17628 Returns:
17629
17630 *this* * (10 ** *n*), truncated to an integer if necessary.
17631
17632 See Also:
17633
17634 <pow>, <multiply>
17635*/
17636BigInteger.prototype.exp10 = function(n) {
17637 n = +n;
17638 if (n === 0) {
17639 return this;
17640 }
17641 if (Math.abs(n) > Number(MAX_EXP)) {
17642 throw new Error("exponent too large in BigInteger.exp10");
17643 }
17644 // Optimization for this == 0. This also keeps us from having to trim zeros in the positive n case
17645 if (this._s === 0) {
17646 return ZERO;
17647 }
17648 if (n > 0) {
17649 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17650
17651 for (; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17652 k._d.unshift(0);
17653 }
17654 if (n == 0)
17655 return k;
17656 k._s = 1;
17657 k = k.multiplySingleDigit(Math.pow(10, n));
17658 return (this._s < 0 ? k.negate() : k);
17659 } else if (-n >= this._d.length*BigInteger_base_log10) {
17660 return ZERO;
17661 } else {
17662 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17663
17664 for (n = -n; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17665 k._d.shift();
17666 }
17667 return (n == 0) ? k : k.divRemSmall(Math.pow(10, n))[0];
17668 }
17669};
17670
17671/*
17672 Function: pow
17673 Raise a <BigInteger> to a power.
17674
17675 In this implementation, 0**0 is 1.
17676
17677 Parameters:
17678
17679 n - The exponent to raise *this* by. *n* must be no greater than
17680 <BigInteger.MAX_EXP> (0x7FFFFFFF), or an exception will be thrown.
17681
17682 Returns:
17683
17684 *this* raised to the *nth* power.
17685
17686 See Also:
17687
17688 <modPow>
17689*/
17690BigInteger.prototype.pow = function(n) {
17691 if (this.isUnit()) {
17692 if (this._s > 0) {
17693 return this;
17694 }
17695 else {
17696 return BigInteger(n).isOdd() ? this : this.negate();
17697 }
17698 }
17699
17700 n = BigInteger(n);
17701 if (n._s === 0) {
17702 return ONE;
17703 }
17704 else if (n._s < 0) {
17705 if (this._s === 0) {
17706 throw new Error("Divide by zero");
17707 }
17708 else {
17709 return ZERO;
17710 }
17711 }
17712 if (this._s === 0) {
17713 return ZERO;
17714 }
17715 if (n.isUnit()) {
17716 return this;
17717 }
17718
17719 if (n.compareAbs(MAX_EXP) > 0) {
17720 throw new Error("exponent too large in BigInteger.pow");
17721 }
17722 var x = this;
17723 var aux = ONE;
17724 var two = BigInteger.small[2];
17725
17726 while (n.isPositive()) {
17727 if (n.isOdd()) {
17728 aux = aux.multiply(x);
17729 if (n.isUnit()) {
17730 return aux;
17731 }
17732 }
17733 x = x.square();
17734 n = n.quotient(two);
17735 }
17736
17737 return aux;
17738};
17739
17740/*
17741 Function: modPow
17742 Raise a <BigInteger> to a power (mod m).
17743
17744 Because it is reduced by a modulus, <modPow> is not limited by
17745 <BigInteger.MAX_EXP> like <pow>.
17746
17747 Parameters:
17748
17749 exponent - The exponent to raise *this* by. Must be positive.
17750 modulus - The modulus.
17751
17752 Returns:
17753
17754 *this* ^ *exponent* (mod *modulus*).
17755
17756 See Also:
17757
17758 <pow>, <mod>
17759*/
17760BigInteger.prototype.modPow = function(exponent, modulus) {
17761 var result = ONE;
17762 var base = this;
17763
17764 while (exponent.isPositive()) {
17765 if (exponent.isOdd()) {
17766 result = result.multiply(base).remainder(modulus);
17767 }
17768
17769 exponent = exponent.quotient(BigInteger.small[2]);
17770 if (exponent.isPositive()) {
17771 base = base.square().remainder(modulus);
17772 }
17773 }
17774
17775 return result;
17776};
17777
17778/*
17779 Function: log
17780 Get the natural logarithm of a <BigInteger> as a native JavaScript number.
17781
17782 This is equivalent to
17783
17784 > Math.log(this.toJSValue())
17785
17786 but handles values outside of the native number range.
17787
17788 Returns:
17789
17790 log( *this* )
17791
17792 See Also:
17793
17794 <toJSValue>
17795*/
17796BigInteger.prototype.log = function() {
17797 switch (this._s) {
17798 case 0: return -Infinity;
17799 case -1: return NaN;
17800 default: // Fall through.
17801 }
17802
17803 var l = this._d.length;
17804
17805 if (l*BigInteger_base_log10 < 30) {
17806 return Math.log(this.valueOf());
17807 }
17808
17809 var N = Math.ceil(30/BigInteger_base_log10);
17810 var firstNdigits = this._d.slice(l - N);
17811 return Math.log((new BigInteger(firstNdigits, 1, CONSTRUCT)).valueOf()) + (l - N) * Math.log(BigInteger_base);
17812};
17813
17814/*
17815 Function: valueOf
17816 Convert a <BigInteger> to a native JavaScript integer.
17817
17818 This is called automatically by JavaScipt to convert a <BigInteger> to a
17819 native value.
17820
17821 Returns:
17822
17823 > parseInt(this.toString(), 10)
17824
17825 See Also:
17826
17827 <toString>, <toJSValue>
17828*/
17829BigInteger.prototype.valueOf = function() {
17830 return parseInt(this.toString(), 10);
17831};
17832
17833/*
17834 Function: toJSValue
17835 Convert a <BigInteger> to a native JavaScript integer.
17836
17837 This is the same as valueOf, but more explicitly named.
17838
17839 Returns:
17840
17841 > parseInt(this.toString(), 10)
17842
17843 See Also:
17844
17845 <toString>, <valueOf>
17846*/
17847BigInteger.prototype.toJSValue = function() {
17848 return parseInt(this.toString(), 10);
17849};
17850
17851var MAX_EXP = BigInteger(0x7FFFFFFF);
17852// Constant: MAX_EXP
17853// The largest exponent allowed in <pow> and <exp10> (0x7FFFFFFF or 2147483647).
17854BigInteger.MAX_EXP = MAX_EXP;
17855
17856(function() {
17857 function makeUnary(fn) {
17858 return function(a) {
17859 return fn.call(BigInteger(a));
17860 };
17861 }
17862
17863 function makeBinary(fn) {
17864 return function(a, b) {
17865 return fn.call(BigInteger(a), BigInteger(b));
17866 };
17867 }
17868
17869 function makeTrinary(fn) {
17870 return function(a, b, c) {
17871 return fn.call(BigInteger(a), BigInteger(b), BigInteger(c));
17872 };
17873 }
17874
17875 (function() {
17876 var i, fn;
17877 var unary = "toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(",");
17878 var binary = "compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(",");
17879 var trinary = ["modPow"];
17880
17881 for (i = 0; i < unary.length; i++) {
17882 fn = unary[i];
17883 BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
17884 }
17885
17886 for (i = 0; i < binary.length; i++) {
17887 fn = binary[i];
17888 BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
17889 }
17890
17891 for (i = 0; i < trinary.length; i++) {
17892 fn = trinary[i];
17893 BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
17894 }
17895
17896 BigInteger.exp10 = function(x, n) {
17897 return BigInteger(x).exp10(n);
17898 };
17899 })();
17900})();
17901
17902exports.BigInteger = BigInteger;
17903})(typeof exports !== 'undefined' ? exports : this);
95f04905
IC
17904</script>
17905 <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){
17906var 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;
17907
17908},{}],2:[function(require,module,exports){
17909var 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;
17910
17911},{"./scoring":6}],3:[function(require,module,exports){
17912var 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(","),
17913english_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(","),
17914female_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(","),
17915us_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(","),
17916male_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;
17917
17918},{}],4:[function(require,module,exports){
17919var 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;
17920
17921},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){
17922var 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;
17923
17924},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){
17925var 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;
17926
17927},{"./adjacency_graphs":1}],7:[function(require,module,exports){
17928var 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;
17929
17930},{}]},{},[4])(4)
17931});
17932//# sourceMappingURL=zxcvbn.js.map
17933</script>
17934 <script>/*
17935 * Detects entropy from a string.
17936 *
17937 * Formats include:
17938 * binary [0-1]
17939 * base 6 [0-5]
17940 * dice 6 [1-6]
17941 * decimal [0-9]
17942 * hexadecimal [0-9A-F]
9e97eb76 17943 * card [A2-9TJQK][CDHS]
95f04905
IC
17944 *
17945 * Automatically uses lowest entropy to avoid issues such as interpretting 0101
17946 * as hexadecimal which would be 16 bits when really it's only 4 bits of binary
17947 * entropy.
17948 */
17949
17950window.Entropy = new (function() {
17951
17952 // matchers returns an array of the matched events for each type of entropy.
17953 // eg
17954 // matchers.binary("010") returns ["0", "1", "0"]
17955 // matchers.binary("a10") returns ["1", "0"]
17956 // matchers.hex("a10") returns ["a", "1", "0"]
17957 var matchers = {
17958 binary: function(str) {
17959 return str.match(/[0-1]/gi) || [];
17960 },
17961 base6: function(str) {
17962 return str.match(/[0-5]/gi) || [];
17963 },
17964 dice: function(str) {
17965 return str.match(/[1-6]/gi) || []; // ie dice numbers
17966 },
17967 base10: function(str) {
17968 return str.match(/[0-9]/gi) || [];
17969 },
17970 hex: function(str) {
17971 return str.match(/[0-9A-F]/gi) || [];
17972 },
17973 card: function(str) {
17974 // Format is NumberSuit, eg
17975 // AH ace of hearts
17976 // 8C eight of clubs
17977 // TD ten of diamonds
17978 // JS jack of spades
17979 // QH queen of hearts
17980 // KC king of clubs
17981 return str.match(/([A2-9TJQK][CDHS])/gi) || [];
17982 }
17983 }
17984
17985 // Convert array of cards from ["ac", "4d", "ks"]
17986 // to numbers between 0 and 51 [0, 16, 51]
17987 function convertCardsToInts(cards) {
17988 var ints = [];
17989 var values = "a23456789tjqk";
17990 var suits = "cdhs";
17991 for (var i=0; i<cards.length; i++) {
17992 var card = cards[i].toLowerCase();
17993 var value = card[0];
17994 var suit = card[1];
17995 var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
17996 ints.push(asInt);
17997 }
17998 return ints;
17999 }
18000
18001 this.fromString = function(rawEntropyStr) {
18002 // Find type of entropy being used (binary, hex, dice etc)
18003 var base = getBase(rawEntropyStr);
18004 // Convert dice to base6 entropy (ie 1-6 to 0-5)
18005 // This is done by changing all 6s to 0s
18006 if (base.str == "dice") {
18007 var newParts = [];
18008 var newInts = [];
18009 for (var i=0; i<base.parts.length; i++) {
18010 var c = base.parts[i];
18011 if ("12345".indexOf(c) > -1) {
18012 newParts[i] = base.parts[i];
18013 newInts[i] = base.ints[i];
18014 }
18015 else {
18016 newParts[i] = "0";
18017 newInts[i] = 0;
18018 }
18019 }
18020 base.str = "base 6 (dice)";
18021 base.ints = newInts;
18022 base.parts = newParts;
18023 base.matcher = matchers.base6;
18024 }
18025 // Detect empty entropy
18026 if (base.parts.length == 0) {
18027 return {
18028 binaryStr: "",
18029 cleanStr: "",
18030 cleanHtml: "",
18031 base: base,
18032 };
18033 }
18034 // Convert base.ints to BigInteger.
18035 // Due to using unusual bases, eg cards of base52, this is not as simple as
18036 // using BigInteger.parse()
18037 var entropyInt = BigInteger.ZERO;
18038 for (var i=base.ints.length-1; i>=0; i--) {
18039 var thisInt = BigInteger.parse(base.ints[i]);
18040 var power = (base.ints.length - 1) - i;
18041 var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
18042 entropyInt = entropyInt.add(additionalEntropy);
18043 }
18044 // Convert entropy to binary
18045 var entropyBin = entropyInt.toString(2);
18046 // If the first integer is small, it must be padded with zeros.
18047 // Otherwise the chance of the first bit being 1 is 100%, which is
18048 // obviously incorrect.
18049 // This is not perfect for non-2^n bases.
18050 var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
18051 while (entropyBin.length < expectedBits) {
18052 entropyBin = "0" + entropyBin;
18053 }
9e97eb76
IC
18054 // Assume cards are NOT replaced.
18055 // Additional entropy decreases as more cards are used. This means
18056 // total possible entropy is measured using n!, not base^n.
18057 // eg the second last card can be only one of two, not one of fifty two
18058 // so the added entropy for that card is only one bit at most
18059 if (base.asInt == 52) {
18060 // Get the maximum value WITHOUT replacement
18061 var totalDecks = Math.ceil(base.parts.length / 52);
18062 var totalCards = totalDecks * 52;
18063 var totalCombos = factorial(52).pow(totalDecks);
18064 var totalRemainingCards = totalCards - base.parts.length;
18065 var remainingDecks = Math.floor(totalRemainingCards / 52);
18066 var remainingCards = totalRemainingCards % 52;
18067 var remainingCombos = factorial(52).pow(remainingDecks).multiply(factorial(remainingCards));
18068 var currentCombos = totalCombos.divide(remainingCombos);
18069 var numberOfBits = Math.log2(currentCombos);
18070 var maxWithoutReplace = BigInteger.pow(2, numberOfBits);
18071 // aggresive flooring of numberOfBits by BigInteger.pow means a
18072 // more accurate result can be had for small numbers using the
18073 // built-in Math.pow function.
18074 if (numberOfBits < 32) {
18075 maxWithoutReplace = BigInteger(Math.round(Math.pow(2, numberOfBits)));
18076 }
18077 // Get the maximum value WITH replacement
18078 var maxWithReplace = BigInteger.pow(52, base.parts.length);
18079 // Calculate the new value by scaling the original value down
18080 var withoutReplace = entropyInt.multiply(maxWithoutReplace).divide(maxWithReplace);
18081 // Left pad with zeros based on number of bits
18082 var entropyBin = withoutReplace.toString(2);
18083 var numberOfBitsInt = Math.floor(numberOfBits);
18084 while (entropyBin.length < numberOfBitsInt) {
18085 entropyBin = "0" + entropyBin;
18086 }
18087 }
95f04905
IC
18088 // Supply a 'filtered' entropy string for display purposes
18089 var entropyClean = base.parts.join("");
18090 var entropyHtml = base.parts.join("");
18091 if (base.asInt == 52) {
18092 entropyClean = base.parts.join(" ").toUpperCase();
18093 entropyClean = entropyClean.replace(/C/g, "\u2663");
18094 entropyClean = entropyClean.replace(/D/g, "\u2666");
18095 entropyClean = entropyClean.replace(/H/g, "\u2665");
18096 entropyClean = entropyClean.replace(/S/g, "\u2660");
18097 entropyHtml = base.parts.join(" ").toUpperCase();
18098 entropyHtml = entropyHtml.replace(/C/g, "<span class='card-suit club'>\u2663</span>");
18099 entropyHtml = entropyHtml.replace(/D/g, "<span class='card-suit diamond'>\u2666</span>");
18100 entropyHtml = entropyHtml.replace(/H/g, "<span class='card-suit heart'>\u2665</span>");
18101 entropyHtml = entropyHtml.replace(/S/g, "<span class='card-suit spade'>\u2660</span>");
18102 }
9e97eb76 18103 // Return the result
95f04905
IC
18104 var e = {
18105 binaryStr: entropyBin,
18106 cleanStr: entropyClean,
18107 cleanHtml: entropyHtml,
18108 base: base,
18109 }
18110 return e;
18111 }
18112
18113 function getBase(str) {
18114 // Need to get the lowest base for the supplied entropy.
18115 // This prevents interpreting, say, dice rolls as hexadecimal.
18116 var binaryMatches = matchers.binary(str);
18117 var hexMatches = matchers.hex(str);
18118 // Find the lowest base that can be used, whilst ignoring any irrelevant chars
18119 if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
18120 var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
18121 return {
18122 ints: ints,
18123 parts: binaryMatches,
18124 matcher: matchers.binary,
18125 asInt: 2,
18126 str: "binary",
18127 }
18128 }
18129 var cardMatches = matchers.card(str);
18130 if (cardMatches.length >= hexMatches.length / 2) {
18131 var ints = convertCardsToInts(cardMatches);
18132 return {
18133 ints: ints,
18134 parts: cardMatches,
18135 matcher: matchers.card,
18136 asInt: 52,
18137 str: "card",
18138 }
18139 }
18140 var diceMatches = matchers.dice(str);
18141 if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
18142 var ints = diceMatches.map(function(i) { return parseInt(i) });
18143 return {
18144 ints: ints,
18145 parts: diceMatches,
18146 matcher: matchers.dice,
18147 asInt: 6,
18148 str: "dice",
18149 }
18150 }
18151 var base6Matches = matchers.base6(str);
18152 if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
18153 var ints = base6Matches.map(function(i) { return parseInt(i) });
18154 return {
18155 ints: ints,
18156 parts: base6Matches,
18157 matcher: matchers.base6,
18158 asInt: 6,
18159 str: "base 6",
18160 }
18161 }
18162 var base10Matches = matchers.base10(str);
18163 if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
18164 var ints = base10Matches.map(function(i) { return parseInt(i) });
18165 return {
18166 ints: ints,
18167 parts: base10Matches,
18168 matcher: matchers.base10,
18169 asInt: 10,
18170 str: "base 10",
18171 }
18172 }
18173 var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
18174 return {
18175 ints: ints,
18176 parts: hexMatches,
18177 matcher: matchers.hex,
18178 asInt: 16,
18179 str: "hexadecimal",
18180 }
18181 }
18182
18183 // Polyfill for Math.log2
18184 // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
18185 Math.log2 = Math.log2 || function(x) {
18186 // The polyfill isn't good enough because of the poor accuracy of
18187 // Math.LOG2E
18188 // log2(8) gave 2.9999999999999996 which when floored causes issues.
18189 // So instead use the BigInteger library to get it right.
18190 return BigInteger.log(x) / BigInteger.log(2);
18191 };
18192
9e97eb76
IC
18193 // Depends on BigInteger
18194 function factorial(n) {
18195 if (n == 0) {
18196 return 1;
18197 }
18198 f = BigInteger.ONE;
18199 for (var i=1; i<=n; i++) {
18200 f = f.multiply(new BigInteger(i));
18201 }
18202 return f;
18203 }
18204
95f04905 18205})();
c6624d51
IC
18206</script>
18207 <script>(function() {
18208
18209 // mnemonics is populated as required by getLanguage
18210 var mnemonics = { "english": new Mnemonic("english") };
18211 var mnemonic = mnemonics["english"];
18212 var seed = null
18213 var bip32RootKey = null;
18214 var bip32ExtendedKey = null;
18215 var network = bitcoin.networks.bitcoin;
18216 var addressRowTemplate = $("#address-row-template");
18217
18218 var showIndex = true;
18219 var showAddress = true;
18220 var showPubKey = true;
18221 var showPrivKey = true;
18222
18223 var entropyChangeTimeoutEvent = null;
18224 var phraseChangeTimeoutEvent = null;
18225 var rootKeyChangedTimeoutEvent = null;
18226
18227 var DOM = {};
18228 DOM.network = $(".network");
18229 DOM.phraseNetwork = $("#network-phrase");
18230 DOM.useEntropy = $(".use-entropy");
18231 DOM.entropyContainer = $(".entropy-container");
18232 DOM.entropy = $(".entropy");
2a6dd137
IC
18233 DOM.entropyFiltered = DOM.entropyContainer.find(".filtered");
18234 DOM.entropyType = DOM.entropyContainer.find(".type");
18235 DOM.entropyStrength = DOM.entropyContainer.find(".strength");
18236 DOM.entropyEventCount = DOM.entropyContainer.find(".event-count");
18237 DOM.entropyBits = DOM.entropyContainer.find(".bits");
18238 DOM.entropyBitsPerEvent = DOM.entropyContainer.find(".bits-per-event");
18239 DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
18240 DOM.entropyBinary = DOM.entropyContainer.find(".binary");
18241 DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
c6624d51
IC
18242 DOM.phrase = $(".phrase");
18243 DOM.passphrase = $(".passphrase");
18244 DOM.generateContainer = $(".generate-container");
18245 DOM.generate = $(".generate");
18246 DOM.seed = $(".seed");
18247 DOM.rootKey = $(".root-key");
18248 DOM.extendedPrivKey = $(".extended-priv-key");
18249 DOM.extendedPubKey = $(".extended-pub-key");
18250 DOM.bip32tab = $("#bip32-tab");
18251 DOM.bip44tab = $("#bip44-tab");
18252 DOM.bip32panel = $("#bip32");
18253 DOM.bip44panel = $("#bip44");
18254 DOM.bip32path = $("#bip32-path");
18255 DOM.bip44path = $("#bip44-path");
18256 DOM.bip44purpose = $("#bip44 .purpose");
18257 DOM.bip44coin = $("#bip44 .coin");
18258 DOM.bip44account = $("#bip44 .account");
18259 DOM.bip44change = $("#bip44 .change");
18abe53b 18260 DOM.generatedStrength = $(".generate-container .strength");
c6624d51
IC
18261 DOM.hardenedAddresses = $(".hardened-addresses");
18262 DOM.addresses = $(".addresses");
18263 DOM.rowsToAdd = $(".rows-to-add");
18264 DOM.more = $(".more");
18265 DOM.feedback = $(".feedback");
18266 DOM.tab = $(".derivation-type a");
18267 DOM.indexToggle = $(".index-toggle");
18268 DOM.addressToggle = $(".address-toggle");
18269 DOM.publicKeyToggle = $(".public-key-toggle");
18270 DOM.privateKeyToggle = $(".private-key-toggle");
18271 DOM.languages = $(".languages a");
18272
18273 function init() {
18274 // Events
18275 DOM.network.on("change", networkChanged);
18276 DOM.useEntropy.on("change", setEntropyVisibility);
18277 DOM.entropy.on("input", delayedEntropyChanged);
18abe53b 18278 DOM.entropyMnemonicLength.on("change", entropyChanged);
c6624d51
IC
18279 DOM.phrase.on("input", delayedPhraseChanged);
18280 DOM.passphrase.on("input", delayedPhraseChanged);
18281 DOM.generate.on("click", generateClicked);
18282 DOM.more.on("click", showMore);
18283 DOM.rootKey.on("input", delayedRootKeyChanged);
18284 DOM.bip32path.on("input", calcForDerivationPath);
18285 DOM.bip44purpose.on("input", calcForDerivationPath);
18286 DOM.bip44coin.on("input", calcForDerivationPath);
18287 DOM.bip44account.on("input", calcForDerivationPath);
18288 DOM.bip44change.on("input", calcForDerivationPath);
18289 DOM.tab.on("shown.bs.tab", calcForDerivationPath);
18290 DOM.hardenedAddresses.on("change", calcForDerivationPath);
18291 DOM.indexToggle.on("click", toggleIndexes);
18292 DOM.addressToggle.on("click", toggleAddresses);
18293 DOM.publicKeyToggle.on("click", togglePublicKeys);
18294 DOM.privateKeyToggle.on("click", togglePrivateKeys);
18295 DOM.languages.on("click", languageChanged);
18296 disableForms();
18297 hidePending();
18298 hideValidationError();
18299 populateNetworkSelect();
18300 }
18301
18302 // Event handlers
18303
18304 function networkChanged(e) {
18305 var networkIndex = e.target.value;
18306 networks[networkIndex].onSelect();
18307 if (seed != null) {
18308 phraseChanged();
18309 }
18310 else {
18311 rootKeyChanged();
18312 }
18313 }
18314
18315 function setEntropyVisibility() {
18316 if (isUsingOwnEntropy()) {
18317 DOM.entropyContainer.removeClass("hidden");
18318 DOM.generateContainer.addClass("hidden");
18319 DOM.phrase.prop("readonly", true);
18320 DOM.entropy.focus();
18321 entropyChanged();
18322 }
18323 else {
18324 DOM.entropyContainer.addClass("hidden");
18325 DOM.generateContainer.removeClass("hidden");
18326 DOM.phrase.prop("readonly", false);
18abe53b 18327 hidePending();
c6624d51
IC
18328 }
18329 }
18330
18331 function delayedPhraseChanged() {
18332 hideValidationError();
18333 showPending();
18334 if (phraseChangeTimeoutEvent != null) {
18335 clearTimeout(phraseChangeTimeoutEvent);
18336 }
18337 phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400);
18338 }
18339
18340 function phraseChanged() {
18341 showPending();
18342 hideValidationError();
18343 setMnemonicLanguage();
18344 // Get the mnemonic phrase
18345 var phrase = DOM.phrase.val();
18346 var errorText = findPhraseErrors(phrase);
18347 if (errorText) {
18348 showValidationError(errorText);
18349 return;
18350 }
18351 // Calculate and display
18352 var passphrase = DOM.passphrase.val();
18353 calcBip32RootKeyFromSeed(phrase, passphrase);
18354 calcForDerivationPath();
18355 hidePending();
18356 }
18357
18358 function delayedEntropyChanged() {
18359 hideValidationError();
18360 showPending();
18361 if (entropyChangeTimeoutEvent != null) {
18362 clearTimeout(entropyChangeTimeoutEvent);
18363 }
18364 entropyChangeTimeoutEvent = setTimeout(entropyChanged, 400);
18365 }
18366
18367 function entropyChanged() {
18abe53b
IC
18368 // If blank entropy, clear mnemonic, addresses, errors
18369 if (DOM.entropy.val().trim().length == 0) {
18370 clearDisplay();
2a6dd137 18371 clearEntropyFeedback();
18abe53b
IC
18372 DOM.phrase.val("");
18373 showValidationError("Blank entropy");
18374 return;
18375 }
18376 // Get the current phrase to detect changes
18377 var phrase = DOM.phrase.val();
18378 // Set the phrase from the entropy
c6624d51 18379 setMnemonicFromEntropy();
18abe53b
IC
18380 // Recalc addresses if the phrase has changed
18381 var newPhrase = DOM.phrase.val();
18382 if (newPhrase != phrase) {
18383 if (newPhrase.length == 0) {
18384 clearDisplay();
18385 }
18386 else {
18387 phraseChanged();
18388 }
18389 }
18390 else {
18391 hidePending();
18392 }
c6624d51
IC
18393 }
18394
18395 function delayedRootKeyChanged() {
18396 // Warn if there is an existing mnemonic or passphrase.
18397 if (DOM.phrase.val().length > 0 || DOM.passphrase.val().length > 0) {
18398 if (!confirm("This will clear existing mnemonic and passphrase")) {
18399 DOM.rootKey.val(bip32RootKey);
18400 return
18401 }
18402 }
18403 hideValidationError();
18404 showPending();
18405 // Clear existing mnemonic and passphrase
18406 DOM.phrase.val("");
18407 DOM.passphrase.val("");
18408 seed = null;
18409 if (rootKeyChangedTimeoutEvent != null) {
18410 clearTimeout(rootKeyChangedTimeoutEvent);
18411 }
18412 rootKeyChangedTimeoutEvent = setTimeout(rootKeyChanged, 400);
18413 }
18414
18415 function rootKeyChanged() {
18416 showPending();
18417 hideValidationError();
18418 // Validate the root key TODO
18419 var rootKeyBase58 = DOM.rootKey.val();
18420 var errorText = validateRootKey(rootKeyBase58);
18421 if (errorText) {
18422 showValidationError(errorText);
18423 return;
18424 }
18425 // Calculate and display
18426 calcBip32RootKeyFromBase58(rootKeyBase58);
18427 calcForDerivationPath();
18428 hidePending();
18429 }
18430
18431 function calcForDerivationPath() {
18432 showPending();
18433 hideValidationError();
18434 // Get the derivation path
18435 var derivationPath = getDerivationPath();
18436 var errorText = findDerivationPathErrors(derivationPath);
18437 if (errorText) {
18438 showValidationError(errorText);
18439 return;
18440 }
18441 calcBip32ExtendedKey(derivationPath);
18442 displayBip32Info();
18443 hidePending();
18444 }
18445
18446 function generateClicked() {
18447 if (isUsingOwnEntropy()) {
18448 return;
18449 }
18450 clearDisplay();
18451 showPending();
18452 setTimeout(function() {
18453 setMnemonicLanguage();
18454 var phrase = generateRandomPhrase();
18455 if (!phrase) {
18456 return;
18457 }
18458 phraseChanged();
18459 }, 50);
18460 }
18461
18462 function languageChanged() {
18463 setTimeout(function() {
18464 setMnemonicLanguage();
18465 if (DOM.phrase.val().length > 0) {
18466 var newPhrase = convertPhraseToNewLanguage();
18467 DOM.phrase.val(newPhrase);
18468 phraseChanged();
18469 }
18470 else {
18471 DOM.generate.trigger("click");
18472 }
18473 }, 50);
18474 }
18475
18476 function toggleIndexes() {
18477 showIndex = !showIndex;
18478 $("td.index span").toggleClass("invisible");
18479 }
18480
18481 function toggleAddresses() {
18482 showAddress = !showAddress;
18483 $("td.address span").toggleClass("invisible");
18484 }
18485
18486 function togglePublicKeys() {
18487 showPubKey = !showPubKey;
18488 $("td.pubkey span").toggleClass("invisible");
18489 }
18490
18491 function togglePrivateKeys() {
18492 showPrivKey = !showPrivKey;
18493 $("td.privkey span").toggleClass("invisible");
18494 }
18495
18496 // Private methods
18497
18498 function generateRandomPhrase() {
18499 if (!hasStrongRandom()) {
18500 var errorText = "This browser does not support strong randomness";
18501 showValidationError(errorText);
18502 return;
18503 }
18abe53b 18504 var numWords = parseInt(DOM.generatedStrength.val());
c6624d51
IC
18505 var strength = numWords / 3 * 32;
18506 var words = mnemonic.generate(strength);
18507 DOM.phrase.val(words);
18508 return words;
18509 }
18510
18511 function calcBip32RootKeyFromSeed(phrase, passphrase) {
18512 seed = mnemonic.toSeed(phrase, passphrase);
18513 bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
18514 }
18515
18516 function calcBip32RootKeyFromBase58(rootKeyBase58) {
18517 bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
18518 }
18519
18520 function calcBip32ExtendedKey(path) {
18521 bip32ExtendedKey = bip32RootKey;
18522 // Derive the key from the path
18523 var pathBits = path.split("/");
ebd8d4e8
IC
18524 for (var i=0; i<pathBits.length; i++) {
18525 var bit = pathBits[i];
18526 var index = parseInt(bit);
18527 if (isNaN(index)) {
18528 continue;
18529 }
18530 var hardened = bit[bit.length-1] == "'";
18531 if (hardened) {
18532 bip32ExtendedKey = bip32ExtendedKey.deriveHardened(index);
18533 }
18534 else {
18535 bip32ExtendedKey = bip32ExtendedKey.derive(index);
18536 }
18537 }
18538 }
18539
18540 function showValidationError(errorText) {
18541 DOM.feedback
18542 .text(errorText)
18543 .show();
18544 }
18545
18546 function hideValidationError() {
18547 DOM.feedback
18548 .text("")
18549 .hide();
18550 }
18551
18552 function findPhraseErrors(phrase) {
ebd8d4e8 18553 // Preprocess the words
783981de 18554 phrase = mnemonic.normalizeString(phrase);
0515eeec 18555 var words = phraseToWordArray(phrase);
18abe53b
IC
18556 // Detect blank phrase
18557 if (words.length == 0) {
18558 return "Blank mnemonic";
18559 }
563e401a 18560 // Check each word
0515eeec
IC
18561 for (var i=0; i<words.length; i++) {
18562 var word = words[i];
18563 var language = getLanguage();
18564 if (WORDLISTS[language].indexOf(word) == -1) {
563e401a
IC
18565 console.log("Finding closest match to " + word);
18566 var nearestWord = findNearestWord(word);
18567 return word + " not in wordlist, did you mean " + nearestWord + "?";
18568 }
18569 }
ebd8d4e8 18570 // Check the words are valid
0515eeec 18571 var properPhrase = wordArrayToPhrase(words);
ebd8d4e8
IC
18572 var isValid = mnemonic.check(properPhrase);
18573 if (!isValid) {
18574 return "Invalid mnemonic";
18575 }
18576 return false;
18577 }
18578
efe41586
IC
18579 function validateRootKey(rootKeyBase58) {
18580 try {
18581 bitcoin.HDNode.fromBase58(rootKeyBase58);
18582 }
18583 catch (e) {
18584 return "Invalid root key";
18585 }
18586 return "";
18587 }
18588
38523d36
IC
18589 function getDerivationPath() {
18590 if (DOM.bip44tab.hasClass("active")) {
18591 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
18592 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
18593 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
18594 var change = parseIntNoNaN(DOM.bip44change.val(), 0);
18595 var path = "m/";
18596 path += purpose + "'/";
18597 path += coin + "'/";
18598 path += account + "'/";
18599 path += change;
18600 DOM.bip44path.val(path);
18601 var derivationPath = DOM.bip44path.val();
18602 console.log("Using derivation path from BIP44 tab: " + derivationPath);
18603 return derivationPath;
18604 }
18605 else if (DOM.bip32tab.hasClass("active")) {
18606 var derivationPath = DOM.bip32path.val();
18607 console.log("Using derivation path from BIP32 tab: " + derivationPath);
18608 return derivationPath;
18609 }
18610 else {
18611 console.log("Unknown derivation path");
18612 }
18613 }
18614
ebd8d4e8 18615 function findDerivationPathErrors(path) {
30c9e79d
IC
18616 // TODO is not perfect but is better than nothing
18617 // Inspired by
18618 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vectors
18619 // and
18620 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys
18621 var maxDepth = 255; // TODO verify this!!
18622 var maxIndexValue = Math.pow(2, 31); // TODO verify this!!
18623 if (path[0] != "m") {
18624 return "First character must be 'm'";
18625 }
18626 if (path.length > 1) {
18627 if (path[1] != "/") {
18628 return "Separator must be '/'";
18629 }
18630 var indexes = path.split("/");
18631 if (indexes.length > maxDepth) {
18632 return "Derivation depth is " + indexes.length + ", must be less than " + maxDepth;
18633 }
18634 for (var depth = 1; depth<indexes.length; depth++) {
18635 var index = indexes[depth];
18636 var invalidChars = index.replace(/^[0-9]+'?$/g, "")
18637 if (invalidChars.length > 0) {
18638 return "Invalid characters " + invalidChars + " found at depth " + depth;
18639 }
18640 var indexValue = parseInt(index.replace("'", ""));
18641 if (isNaN(depth)) {
18642 return "Invalid number at depth " + depth;
18643 }
18644 if (indexValue > maxIndexValue) {
18645 return "Value of " + indexValue + " at depth " + depth + " must be less than " + maxIndexValue;
18646 }
18647 }
18648 }
ebd8d4e8
IC
18649 return false;
18650 }
18651
18652 function displayBip32Info() {
18653 // Display the key
73161a92 18654 DOM.seed.val(seed);
ebd8d4e8
IC
18655 var rootKey = bip32RootKey.toBase58();
18656 DOM.rootKey.val(rootKey);
18657 var extendedPrivKey = bip32ExtendedKey.toBase58();
18658 DOM.extendedPrivKey.val(extendedPrivKey);
18659 var extendedPubKey = bip32ExtendedKey.toBase58(false);
18660 DOM.extendedPubKey.val(extendedPubKey);
18661 // Display the addresses and privkeys
18662 clearAddressesList();
18663 displayAddresses(0, 20);
18664 }
18665
18666 function displayAddresses(start, total) {
18667 for (var i=0; i<total; i++) {
80c4dd2a
IC
18668 var index = i + start;
18669 new TableRow(index);
18670 }
18671 }
18672
18673 function TableRow(index) {
18674
1975bfbc
IC
18675 var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
18676
80c4dd2a
IC
18677 function init() {
18678 calculateValues();
18679 }
18680
18681 function calculateValues() {
18682 setTimeout(function() {
1975bfbc
IC
18683 var key = "";
18684 if (useHardenedAddresses) {
18685 key = bip32ExtendedKey.deriveHardened(index);
18686 }
18687 else {
18688 key = bip32ExtendedKey.derive(index);
18689 }
80c4dd2a
IC
18690 var address = key.getAddress().toString();
18691 var privkey = key.privKey.toWIF(network);
1b12b2f5 18692 var pubkey = key.pubKey.toHex();
38523d36 18693 var indexText = getDerivationPath() + "/" + index;
1975bfbc
IC
18694 if (useHardenedAddresses) {
18695 indexText = indexText + "'";
18696 }
1b12b2f5 18697 addAddressToList(indexText, address, pubkey, privkey);
80c4dd2a 18698 }, 50)
ebd8d4e8 18699 }
80c4dd2a
IC
18700
18701 init();
18702
ebd8d4e8
IC
18703 }
18704
18705 function showMore() {
18706 var start = DOM.addresses.children().length;
18707 var rowsToAdd = parseInt(DOM.rowsToAdd.val());
18708 if (isNaN(rowsToAdd)) {
18709 rowsToAdd = 20;
18710 DOM.rowsToAdd.val("20");
18711 }
18712 if (rowsToAdd > 200) {
18713 var msg = "Generating " + rowsToAdd + " rows could take a while. ";
18714 msg += "Do you want to continue?";
18715 if (!confirm(msg)) {
18716 return;
18717 }
18718 }
ebd8d4e8 18719 displayAddresses(start, rowsToAdd);
ebd8d4e8
IC
18720 }
18721
18722 function clearDisplay() {
18723 clearAddressesList();
18724 clearKey();
18725 hideValidationError();
18726 }
18727
18728 function clearAddressesList() {
18729 DOM.addresses.empty();
18730 }
18731
18732 function clearKey() {
18733 DOM.rootKey.val("");
18734 DOM.extendedPrivKey.val("");
18735 DOM.extendedPubKey.val("");
18736 }
18737
1b12b2f5 18738 function addAddressToList(indexText, address, pubkey, privkey) {
ebd8d4e8 18739 var row = $(addressRowTemplate.html());
80c4dd2a
IC
18740 // Elements
18741 var indexCell = row.find(".index span");
18742 var addressCell = row.find(".address span");
1b12b2f5 18743 var pubkeyCell = row.find(".pubkey span");
80c4dd2a
IC
18744 var privkeyCell = row.find(".privkey span");
18745 // Content
ae30fed8 18746 indexCell.text(indexText);
80c4dd2a 18747 addressCell.text(address);
1b12b2f5 18748 pubkeyCell.text(pubkey);
80c4dd2a
IC
18749 privkeyCell.text(privkey);
18750 // Visibility
18751 if (!showIndex) {
18752 indexCell.addClass("invisible");
18753 }
18754 if (!showAddress) {
18755 addressCell.addClass("invisible");
18756 }
1b12b2f5
IC
18757 if (!showPubKey) {
18758 pubkeyCell.addClass("invisible");
18759 }
80c4dd2a 18760 if (!showPrivKey) {
6d628db7 18761 privkeyCell.addClass("invisible");
80c4dd2a 18762 }
ebd8d4e8
IC
18763 DOM.addresses.append(row);
18764 }
18765
18766 function hasStrongRandom() {
18767 return 'crypto' in window && window['crypto'] !== null;
18768 }
18769
18770 function disableForms() {
18771 $("form").on("submit", function(e) {
18772 e.preventDefault();
18773 });
18774 }
18775
ebd8d4e8
IC
18776 function parseIntNoNaN(val, defaultVal) {
18777 var v = parseInt(val);
18778 if (isNaN(v)) {
18779 return defaultVal;
18780 }
18781 return v;
18782 }
18783
18784 function showPending() {
18785 DOM.feedback
18786 .text("Calculating...")
18787 .show();
18788 }
18789
563e401a 18790 function findNearestWord(word) {
0515eeec
IC
18791 var language = getLanguage();
18792 var words = WORDLISTS[language];
563e401a
IC
18793 var minDistance = 99;
18794 var closestWord = words[0];
18795 for (var i=0; i<words.length; i++) {
18796 var comparedTo = words[i];
18797 var distance = Levenshtein.get(word, comparedTo);
18798 if (distance < minDistance) {
18799 closestWord = comparedTo;
18800 minDistance = distance;
18801 }
18802 }
18803 return closestWord;
18804 }
18805
ebd8d4e8
IC
18806 function hidePending() {
18807 DOM.feedback
18808 .text("")
18809 .hide();
18810 }
18811
ab78acc6
IC
18812 function populateNetworkSelect() {
18813 for (var i=0; i<networks.length; i++) {
18814 var network = networks[i];
18815 var option = $("<option>");
18816 option.attr("value", i);
18817 option.text(network.name);
18818 DOM.phraseNetwork.append(option);
18819 }
18820 }
18821
0515eeec
IC
18822 function getLanguage() {
18823 var defaultLanguage = "english";
18824 // Try to get from existing phrase
18825 var language = getLanguageFromPhrase();
18826 // Try to get from url if not from phrase
18827 if (language.length == 0) {
18828 language = getLanguageFromUrl();
18829 }
18830 // Default to English if no other option
18831 if (language.length == 0) {
18832 language = defaultLanguage;
18833 }
18834 return language;
18835 }
18836
18837 function getLanguageFromPhrase(phrase) {
18838 // Check if how many words from existing phrase match a language.
18839 var language = "";
18840 if (!phrase) {
18841 phrase = DOM.phrase.val();
18842 }
18843 if (phrase.length > 0) {
18844 var words = phraseToWordArray(phrase);
18845 var languageMatches = {};
18846 for (l in WORDLISTS) {
18847 // Track how many words match in this language
18848 languageMatches[l] = 0;
18849 for (var i=0; i<words.length; i++) {
18850 var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
18851 if (wordInLanguage) {
18852 languageMatches[l]++;
18853 }
18854 }
18855 // Find languages with most word matches.
18856 // This is made difficult due to commonalities between Chinese
18857 // simplified vs traditional.
18858 var mostMatches = 0;
18859 var mostMatchedLanguages = [];
18860 for (var l in languageMatches) {
18861 var numMatches = languageMatches[l];
18862 if (numMatches > mostMatches) {
18863 mostMatches = numMatches;
18864 mostMatchedLanguages = [l];
18865 }
18866 else if (numMatches == mostMatches) {
18867 mostMatchedLanguages.push(l);
18868 }
18869 }
18870 }
18871 if (mostMatchedLanguages.length > 0) {
18872 // Use first language and warn if multiple detected
18873 language = mostMatchedLanguages[0];
18874 if (mostMatchedLanguages.length > 1) {
18875 console.warn("Multiple possible languages");
18876 console.warn(mostMatchedLanguages);
18877 }
18878 }
18879 }
18880 return language;
18881 }
18882
18883 function getLanguageFromUrl() {
c6624d51
IC
18884 for (var language in WORDLISTS) {
18885 if (window.location.hash.indexOf(language) > -1) {
18886 return language;
18887 }
18888 }
18889 return "";
0515eeec
IC
18890 }
18891
18892 function setMnemonicLanguage() {
18893 var language = getLanguage();
18894 // Load the bip39 mnemonic generator for this language if required
18895 if (!(language in mnemonics)) {
18896 mnemonics[language] = new Mnemonic(language);
18897 }
18898 mnemonic = mnemonics[language];
18899 }
18900
18901 function convertPhraseToNewLanguage() {
18902 var oldLanguage = getLanguageFromPhrase();
18903 var newLanguage = getLanguageFromUrl();
18904 var oldPhrase = DOM.phrase.val();
18905 var oldWords = phraseToWordArray(oldPhrase);
18906 var newWords = [];
18907 for (var i=0; i<oldWords.length; i++) {
18908 var oldWord = oldWords[i];
18909 var index = WORDLISTS[oldLanguage].indexOf(oldWord);
18910 var newWord = WORDLISTS[newLanguage][index];
18911 newWords.push(newWord);
18912 }
18913 newPhrase = wordArrayToPhrase(newWords);
18914 return newPhrase;
18915 }
18916
18917 // TODO look at jsbip39 - mnemonic.splitWords
18918 function phraseToWordArray(phrase) {
18919 var words = phrase.split(/\s/g);
18920 var noBlanks = [];
18921 for (var i=0; i<words.length; i++) {
18922 var word = words[i];
18923 if (word.length > 0) {
18924 noBlanks.push(word);
18925 }
18926 }
18927 return noBlanks;
18928 }
18929
18930 // TODO look at jsbip39 - mnemonic.joinWords
18931 function wordArrayToPhrase(words) {
18932 var phrase = words.join(" ");
18933 var language = getLanguageFromPhrase(phrase);
18934 if (language == "japanese") {
18935 phrase = words.join("\u3000");
18936 }
18937 return phrase;
18938 }
18939
c6624d51
IC
18940 function isUsingOwnEntropy() {
18941 return DOM.useEntropy.prop("checked");
18942 }
18943
18944 function setMnemonicFromEntropy() {
2a6dd137 18945 clearEntropyFeedback();
18abe53b 18946 // Get entropy value
c6624d51 18947 var entropyStr = DOM.entropy.val();
18abe53b 18948 // Work out minimum base for entropy
c6624d51 18949 var entropy = Entropy.fromString(entropyStr);
18abe53b 18950 if (entropy.binaryStr.length == 0) {
c6624d51
IC
18951 return;
18952 }
18953 // Show entropy details
18abe53b
IC
18954 showEntropyFeedback(entropy);
18955 // Use entropy hash if not using raw entropy
18956 var bits = entropy.binaryStr;
18957 var mnemonicLength = DOM.entropyMnemonicLength.val();
18958 if (mnemonicLength != "raw") {
18959 // Get bits by hashing entropy with SHA256
18960 var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
18961 var hex = sjcl.codec.hex.fromBits(hash);
18962 bits = BigInteger.parse(hex, 16).toString(2);
18963 for (var i=0; i<256-bits.length; i++) {
18964 bits = "0" + bits;
18965 }
18966 // Truncate hash to suit number of words
18967 mnemonicLength = parseInt(mnemonicLength);
18968 var numberOfBits = 32 * mnemonicLength / 3;
18969 bits = bits.substring(0, numberOfBits);
c6624d51 18970 }
c6624d51 18971 // Discard trailing entropy
18abe53b 18972 var bitsToUse = Math.floor(bits.length / 32) * 32;
2a6dd137
IC
18973 var start = bits.length - bitsToUse;
18974 var binaryStr = bits.substring(start);
c6624d51
IC
18975 // Convert entropy string to numeric array
18976 var entropyArr = [];
18abe53b
IC
18977 for (var i=0; i<binaryStr.length / 8; i++) {
18978 var byteAsBits = binaryStr.substring(i*8, i*8+8);
18979 var entropyByte = parseInt(byteAsBits, 2);
c6624d51
IC
18980 entropyArr.push(entropyByte)
18981 }
18982 // Convert entropy array to mnemonic
18983 var phrase = mnemonic.toMnemonic(entropyArr);
18984 // Set the mnemonic in the UI
18985 DOM.phrase.val(phrase);
18986 }
18987
2a6dd137
IC
18988 function clearEntropyFeedback() {
18989 DOM.entropyStrength.text("...");
18abe53b 18990 DOM.entropyType.text("");
2a6dd137
IC
18991 DOM.entropyWordCount.text("0");
18992 DOM.entropyEventCount.text("0");
18993 DOM.entropyBitsPerEvent.text("0");
18994 DOM.entropyBits.text("0");
18995 DOM.entropyFiltered.html("&nbsp;");
18996 DOM.entropyBinary.html("&nbsp;");
c6624d51
IC
18997 }
18998
18abe53b 18999 function showEntropyFeedback(entropy) {
9e97eb76 19000 var numberOfBits = entropy.binaryStr.length;
18abe53b 19001 var strength = "extremely weak";
9e97eb76 19002 if (numberOfBits >= 64) {
18abe53b
IC
19003 strength = "very weak";
19004 }
9e97eb76 19005 if (numberOfBits >= 96) {
18abe53b
IC
19006 strength = "weak";
19007 }
9e97eb76 19008 if (numberOfBits >= 128) {
18abe53b
IC
19009 strength = "strong";
19010 }
9e97eb76 19011 if (numberOfBits >= 160) {
18abe53b
IC
19012 strength = "very strong";
19013 }
9e97eb76 19014 if (numberOfBits >= 192) {
18abe53b
IC
19015 strength = "extremely strong";
19016 }
19017 // If time to crack is less than one day, and password is considered
19018 // strong or better based on the number of bits, rename strength to
19019 // 'easily cracked'.
95f04905
IC
19020 try {
19021 var z = zxcvbn(entropy.base.parts.join(""));
19022 var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second;
19023 if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) {
19024 strength = "easily cracked";
19025 if (z.feedback.warning != "") {
19026 strength = strength + " - " + z.feedback.warning;
19027 };
19028 }
18abe53b 19029 }
95f04905
IC
19030 catch (e) {
19031 strength = "unknown";
19032 console.log("Error detecting entropy strength with zxcvbn:");
19033 console.log(e);
19034 }
95f04905 19035 var entropyTypeStr = getEntropyTypeStr(entropy);
9e97eb76
IC
19036 var wordCount = Math.floor(numberOfBits / 32) * 3;
19037 var bitsPerEvent = Math.log2(entropy.base.asInt).toFixed(2);
19038 if (entropy.base.asInt == 52) {
19039 bitsPerEvent = bitsPerEvent + " (or less)";
19040 }
2a6dd137 19041 DOM.entropyFiltered.html(entropy.cleanHtml);
95f04905 19042 DOM.entropyType.text(entropyTypeStr);
18abe53b
IC
19043 DOM.entropyStrength.text(strength);
19044 DOM.entropyEventCount.text(entropy.base.ints.length);
9e97eb76 19045 DOM.entropyBits.text(numberOfBits);
2a6dd137
IC
19046 DOM.entropyWordCount.text(wordCount);
19047 DOM.entropyBinary.text(entropy.binaryStr);
9e97eb76 19048 DOM.entropyBitsPerEvent.text(bitsPerEvent);
95f04905
IC
19049 }
19050
19051 function getEntropyTypeStr(entropy) {
19052 var typeStr = entropy.base.str;
19053 // Add some detail if these are cards
19054 if (entropy.base.asInt == 52) {
19055 var cardDetail = []; // array of message strings
19056 // Detect duplicates
19057 var dupes = [];
19058 var dupeTracker = {};
19059 for (var i=0; i<entropy.base.parts.length; i++) {
19060 var card = entropy.base.parts[i];
9e97eb76
IC
19061 var cardUpper = card.toUpperCase();
19062 if (cardUpper in dupeTracker) {
95f04905
IC
19063 dupes.push(card);
19064 }
9e97eb76 19065 dupeTracker[cardUpper] = true;
95f04905
IC
19066 }
19067 if (dupes.length > 0) {
19068 var dupeWord = "duplicates";
19069 if (dupes.length == 1) {
19070 dupeWord = "duplicate";
19071 }
19072 var msg = dupes.length + " " + dupeWord + ": " + dupes.slice(0,3).join(" ");
19073 if (dupes.length > 3) {
19074 msg += "...";
19075 }
19076 cardDetail.push(msg);
19077 }
19078 // Detect full deck
19079 var uniqueCards = [];
19080 for (var uniqueCard in dupeTracker) {
19081 uniqueCards.push(uniqueCard);
19082 }
19083 if (uniqueCards.length == 52) {
19084 cardDetail.unshift("full deck");
19085 }
9e97eb76
IC
19086 // Detect missing cards
19087 var values = "A23456789TJQK";
19088 var suits = "CDHS";
19089 var missingCards = [];
19090 for (var i=0; i<suits.length; i++) {
19091 for (var j=0; j<values.length; j++) {
19092 var card = values[j] + suits[i];
19093 if (!(card in dupeTracker)) {
19094 missingCards.push(card);
19095 }
19096 }
19097 }
19098 // Display missing cards if six or less, ie clearly going for full deck
19099 if (missingCards.length > 0 && missingCards.length <= 6) {
19100 var msg = missingCards.length + " missing: " + missingCards.slice(0,3).join(" ");
19101 if (missingCards.length > 3) {
19102 msg += "...";
19103 }
19104 cardDetail.push(msg);
19105 }
95f04905
IC
19106 // Add card details to typeStr
19107 if (cardDetail.length > 0) {
19108 typeStr += " (" + cardDetail.join(", ") + ")";
19109 }
19110 }
19111 return typeStr;
19112 }
19113
ab78acc6
IC
19114 var networks = [
19115 {
19116 name: "Bitcoin",
19117 onSelect: function() {
19118 network = bitcoin.networks.bitcoin;
19119 DOM.bip44coin.val(0);
ab78acc6
IC
19120 },
19121 },
19122 {
19123 name: "Bitcoin Testnet",
19124 onSelect: function() {
19125 network = bitcoin.networks.testnet;
19126 DOM.bip44coin.val(1);
ab78acc6
IC
19127 },
19128 },
19129 {
19130 name: "Litecoin",
19131 onSelect: function() {
19132 network = bitcoin.networks.litecoin;
19133 DOM.bip44coin.val(2);
19134 },
19135 },
19136 {
19137 name: "Dogecoin",
19138 onSelect: function() {
19139 network = bitcoin.networks.dogecoin;
19140 DOM.bip44coin.val(3);
19141 },
19142 },
d5dc92fd
IC
19143 {
19144 name: "ShadowCash",
19145 onSelect: function() {
19146 network = bitcoin.networks.shadow;
19147 DOM.bip44coin.val(35);
19148 },
19149 },
19150 {
19151 name: "ShadowCash Testnet",
19152 onSelect: function() {
19153 network = bitcoin.networks.shadowtn;
19154 DOM.bip44coin.val(1);
19155 },
19156 },
a3baa26e
IC
19157 {
19158 name: "Viacoin",
19159 onSelect: function() {
19160 network = bitcoin.networks.viacoin;
19161 DOM.bip44coin.val(14);
19162 },
19163 },
19164 {
19165 name: "Viacoin Testnet",
19166 onSelect: function() {
19167 network = bitcoin.networks.viacointestnet;
19168 DOM.bip44coin.val(1);
19169 },
19170 },
19171 {
19172 name: "Jumbucks",
19173 onSelect: function() {
19174 network = bitcoin.networks.jumbucks;
19175 DOM.bip44coin.val(26);
19176 },
19177 },
5c434a8a
CM
19178 {
19179 name: "CLAM",
19180 onSelect: function() {
19181 network = bitcoin.networks.clam;
19182 DOM.bip44coin.val(23);
19183 },
19184 },
5493efc3 19185 {
19186 name: "DASH",
19187 onSelect: function() {
19188 network = bitcoin.networks.dash;
19189 DOM.bip44coin.val(5);
19190 },
19191 },
07ac4350 19192 {
19193 name: "Namecoin",
19194 onSelect: function() {
19195 network = bitcoin.networks.namecoin;
19196 DOM.bip44coin.val(7);
19197 },
19198 },
19199 {
19200 name: "Peercoin",
19201 onSelect: function() {
19202 network = bitcoin.networks.peercoin;
19203 DOM.bip44coin.val(6);
19204 },
19205 },
ab78acc6
IC
19206 ]
19207
ebd8d4e8
IC
19208 init();
19209
19210})();
dc55c6b0 19211</script>
ebd8d4e8
IC
19212 </body>
19213</html>