]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - bip39-standalone.html
xpub key can be used as bip32 root key
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / bip39-standalone.html
CommitLineData
ebd8d4e8
IC
1<!DOCTYPE html>
2<html>
3 <head lang="en">
4 <meta charset="utf-8" />
5 <title>BIP39 - Mnemonic Code</title>
ab78acc6 6 <style>/*!
ebd8d4e8
IC
7 * Bootstrap v3.2.0 (http://getbootstrap.com)
8 * Copyright 2011-2014 Twitter, Inc.
9 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
10 *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}</style>
11 <meta content="Mnemonic code for generating deterministic keys" name="description"/>
12 <meta content="width=device-width, initial-scale=1.0" name="viewport" />
13 <meta content="bitcoin mnemonic converter" name="description" />
b630f83d 14 <meta content="Ian Coleman" name="author" />
3af2954a 15
ab78acc6
IC
16 <style>
17 body {
18 padding-bottom: 32px;
19 }
20 .form-control[readonly] {
21 cursor: text;
22 }
23 .feedback-container {
24 position: fixed;
25 top: 0;
26 width: 100%;
27 text-align: center;
28 z-index: 4;
29 }
30 .feedback {
31 display: table;
32 padding: 0.5em 1em;
33 background-color: orange;
34 margin: 0 auto;
35 font-size: 2em;
36 color: #444;
37 border: 2px solid #555;
38 border-top: 0;
39 border-bottom-left-radius: 20px 20px;
40 border-bottom-right-radius: 20px 20px;
41 }
d5dc92fd
IC
42 .no-border {
43 border: 0;
44 box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
45 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
46 }
0515eeec
IC
47 .phrase {
48 word-break: keep-all;
49 }
2a6dd137 50 .generate-container .strength {
b0818b31
IC
51 /* override mobile width from bootstrap */
52 width: auto!important;
53 display: inline-block;
54 }
ea87f1d3 55 .languages a {
0515eeec
IC
56 padding-left: 10px;
57 }
ea87f1d3
IC
58 .languages a:nth-of-type(1) {
59 margin-left: -12px;
60 padding-left: 0;
61 }
d737abf6
IC
62 .monospace {
63 font-family: monospace;
64 }
2a6dd137
IC
65 .entropy-container .filtered,
66 .entropy-container .binary {
67 word-wrap: break-word;
68 }
69 .entropy-container li {
70 padding-bottom: 5px;
71 }
72 .card-suit {
73 font-size: 19px;
74 line-height: 0;
75 }
76 .card-suit.club {
77 color: #009F00;
78 }
79 .card-suit.diamond {
80 color: #3D5DC4;
81 }
82 .card-suit.heart {
83 color: #F00;
84 }
85 .card-suit.spade {
86 color: #000;
87 }
e00964cc
IC
88 .qr-container {
89 position: fixed;
90 top: 0;
91 right: 0;
92 text-align: center;
93 background-color: #FFF;
94 border: 1px solid #CCC;
95 }
96 .qr-image {
97 margin: 5px;
98 }
52da415f
IC
99 .qr-hint,
100 .qr-warning {
e00964cc 101 padding: 2px;
52da415f
IC
102 max-width: 150px;
103 }
104 .more-info {
105 cursor: help;
106 border-bottom: 1px dashed #000;
107 text-decoration: none;
e00964cc 108 }
ab78acc6
IC
109 </style>
110 </head>
111 <body>
112 <div class="container">
3af2954a 113
ab78acc6
IC
114 <h1 class="text-center">Mnemonic Code Converter</h1>
115 <hr>
116 <div class="row">
117 <div class="col-md-12">
118 <h2>Mnemonic</h2>
119 <form class="form-horizontal" role="form">
ab78acc6 120 <div class="form-group">
c6624d51
IC
121 <div class="col-sm-2"></div>
122 <div class="col-sm-10">
ea87f1d3
IC
123 <p data-translate>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).</p>
124 <p data-translate-html>
125 For more info see the
126 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a>.
127 </p>
c6624d51
IC
128 </div>
129 </div>
130 <div class="form-group generate-container">
b0818b31 131 <label class="col-sm-2 control-label"></label>
ab78acc6 132 <div class="col-sm-10">
b0818b31
IC
133 <div class="form-inline">
134 <div class="input-group-inline">
ea87f1d3 135 <span data-translate>Generate a random mnemonic, or enter your own below</span>:
b0818b31 136 <button class="btn generate">Generate</button>
b0818b31
IC
137 <select id="strength" class="strength form-control">
138 <option value="3">3</option>
139 <option value="6">6</option>
140 <option value="9">9</option>
141 <option value="12">12</option>
142 <option value="15" selected>15</option>
143 <option value="18">18</option>
144 <option value="21">21</option>
145 <option value="24">24</option>
146 </select>
ea87f1d3 147 <span data-translate>words</span>
b0818b31
IC
148 </div>
149 </div>
ab78acc6 150 </div>
0515eeec 151 </div>
c6624d51 152 <div class="entropy-container hidden">
2a6dd137 153 <div class="form-group text-danger">
ea87f1d3 154 <label class="col-sm-2 control-label" data-translate>Warning</label>
2a6dd137 155 <div class="col-sm-10 form-control-static">
ea87f1d3
IC
156 <span data-translate>Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.</span>
157 <a href="#entropy-notes" data-translate>Read more</a>
18abe53b
IC
158 </div>
159 </div>
2a6dd137 160 <div class="form-group">
ea87f1d3 161 <label for="entropy" class="col-sm-2 control-label" data-translate>Entropy</label>
2a6dd137 162 <div class="col-sm-7">
ea87f1d3 163 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards" data-translate-placeholder></textarea>
95f04905 164 <div class="row">
ea87f1d3 165 <label class="col-sm-3 control-label" data-translate>Strength</label>
95f04905 166 <div class="strength col-sm-3 form-control-static"></div>
ea87f1d3 167 <label class="col-sm-3 control-label" data-translate>Event Count</label>
95f04905
IC
168 <div class="event-count col-sm-3 form-control-static"></div>
169 </div>
170 <div class="row">
ea87f1d3 171 <label class="col-sm-3 control-label" data-translate>Entropy Type</label>
95f04905 172 <div class="type col-sm-3 form-control-static"></div>
ea87f1d3 173 <label class="col-sm-3 control-label" data-translate>Bits Per Event</label>
95f04905
IC
174 <div class="bits-per-event col-sm-3 form-control-static"></div>
175 </div>
176 <div class="row">
ea87f1d3 177 <label class="col-sm-3 control-label" data-translate>Word Count</label>
95f04905 178 <div class="word-count col-sm-3 form-control-static"></div>
52da415f 179 <label class="col-sm-3 control-label" data-translate><span class="more-info" data-translate-title title="Total bits of entropy may be less than indicated if any entropy event uses a weak source.">Total Bits</span></label>
95f04905
IC
180 <div class="bits col-sm-3 form-control-static"></div>
181 </div>
ea87f1d3 182 <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label>
2a6dd137 183 <div class="filtered col-sm-9 form-control-static"></div>
ea87f1d3 184 <label class="col-sm-3 control-label" data-translate>Raw Binary</label>
2a6dd137 185 <div class="binary col-sm-9 form-control-static"></div>
ea87f1d3 186 <label class="col-sm-3 control-label" data-translate>Mnemonic Length</label>
2a6dd137 187 <div class="col-sm-9">
18abe53b 188 <select class="mnemonic-length form-control">
ea87f1d3
IC
189 <option value="raw" data-translate>From entropy length (3 words per 32 bits)</option>
190 <option value="12">12 <span data-translate>Words</span></option>
191 <option value="15" selected>15 <span data-translate>Words</option>
192 <option value="18">18 <span data-translate>Words</span></option>
193 <option value="21">21 <span data-translate>Words</span></option>
194 <option value="24">24 <span data-translate>Words</span></option>
18abe53b 195 </select>
c6624d51 196 </div>
18abe53b 197 </div>
2a6dd137 198 <div class="col-sm-3">
ea87f1d3 199 <p data-translate>Valid entropy values include:</p>
2a6dd137 200 <ul>
ea87f1d3
IC
201 <li><strong data-translate>Binary</strong> [0-1]<br>101010011</li>
202 <li><strong data-translate>Base 6</strong> [0-5]<br>123434014</li>
203 <li><strong data-translate>Dice</strong> [1-6]<br>62535634</li>
204 <li><strong data-translate>Base 10</strong> [0-9]<br>90834528</li>
205 <li><strong data-translate>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
206 <li><strong data-translate>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
2a6dd137
IC
207 </ul>
208 </div>
c6624d51
IC
209 </div>
210 </div>
211 <div class="form-group">
212 <div class="col-sm-2"></div>
213 <div class="col-sm-10 checkbox">
214 <label>
215 <input type="checkbox" class="use-entropy">
ea87f1d3 216 <span data-translate>Supply my own source of entropy</span>
c6624d51
IC
217 </label>
218 </div>
219 </div>
220 <div class="form-group">
ea87f1d3 221 <label class="col-sm-2 control-label" data-translate>Mnemonic Language</label>
0515eeec 222 <div class="col-sm-10 languages">
ea87f1d3
IC
223 <div class="form-control no-border">
224 <a href="#english">English</a>
225 <a href="#japanese" title="Japanese">日本語</a>
226 <a href="#spanish" title="Spanish">Español</a>
227 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
228 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
229 <a href="#french" title="French">Français</a>
230 <a href="#italian" title="Italian">Italiano</a>
231 </div>
0515eeec 232 </div>
ab78acc6
IC
233 </div>
234 <div class="form-group">
ea87f1d3 235 <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label>
ab78acc6 236 <div class="col-sm-10">
e00964cc 237 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
ab78acc6
IC
238 </div>
239 </div>
240 <div class="form-group">
ea87f1d3 241 <label for="passphrase" class="col-sm-2 control-label" data-translate>BIP39 Passphrase (optional)</label>
ab78acc6
IC
242 <div class="col-sm-10">
243 <textarea id="passphrase" class="passphrase form-control"></textarea>
244 </div>
245 </div>
73161a92 246 <div class="form-group">
ea87f1d3 247 <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label>
73161a92 248 <div class="col-sm-10">
e00964cc 249 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
73161a92
IC
250 </div>
251 </div>
ab78acc6 252 <div class="form-group">
ea87f1d3 253 <label for="network-phrase" class="col-sm-2 control-label" data-translate>Coin</label>
ab78acc6
IC
254 <div class="col-sm-10">
255 <select id="network-phrase" class="network form-control">
256 <!-- populated by javascript -->
257 </select>
258 </div>
259 </div>
260 <div class="form-group">
ea87f1d3 261 <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
ab78acc6 262 <div class="col-sm-10">
e00964cc 263 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
ab78acc6
IC
264 </div>
265 </div>
266 </form>
267 </div>
268 </div>
3af2954a 269
ab78acc6 270 <hr>
3af2954a 271
ab78acc6
IC
272 <div class="row">
273 <div class="col-md-12">
274 <h2>Derivation Path</h2>
275 <ul class="derivation-type nav nav-tabs" role="tablist">
d5dc92fd 276 <li id="bip44-tab" class="active">
ab78acc6
IC
277 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
278 </li>
279 <li id="bip32-tab">
280 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
281 </li>
282 </ul>
283 <div class="derivation-type tab-content">
d5dc92fd 284 <div id="bip44" class="tab-pane active">
ab78acc6
IC
285 <form class="form-horizontal" role="form">
286 <br>
287 <div class="col-sm-2"></div>
288 <div class="col-sm-10">
ea87f1d3
IC
289 <p data-translate-html>
290 For more info see the
291 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>.
292 </p>
ab78acc6
IC
293 </div>
294 <div class="form-group">
295 <label for="purpose" class="col-sm-2 control-label">
ea87f1d3 296 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a>
ab78acc6
IC
297 </label>
298 <div class="col-sm-10">
299 <input id="purpose" type="text" class="purpose form-control" value="44">
300 </div>
301 </div>
302 <div class="form-group">
303 <label for="coin" class="col-sm-2 control-label">
ea87f1d3 304 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a>
ab78acc6
IC
305 </label>
306 <div class="col-sm-10">
307 <input id="coin" type="text" class="coin form-control" value="0">
308 </div>
309 </div>
310 <div class="form-group">
311 <label for="account" class="col-sm-2 control-label">
ea87f1d3 312 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a>
ab78acc6
IC
313 </label>
314 <div class="col-sm-10">
315 <input id="account" type="text" class="account form-control" value="0">
316 </div>
317 </div>
318 <div class="form-group">
319 <label for="change" class="col-sm-2 control-label">
ea87f1d3 320 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a>
ab78acc6
IC
321 </label>
322 <div class="col-sm-10">
323 <input id="change" type="text" class="change form-control" value="0">
324 </div>
325 </div>
20083ab9
IC
326 <div class="form-group">
327 <label class="col-sm-2 control-label">
328 </label>
329 <div class="col-sm-10">
f3bfd2a5 330 <p data-translate>The account extended keys can be used for importing to most BIP44 compatible wallets, such as mycelium or electrum.</p>
20083ab9
IC
331 </div>
332 </div>
333 <div class="form-group">
334 <label for="account-xprv" class="col-sm-2 control-label">
335 <span data-translate>Account Extended Private Key</span>
336 </label>
337 <div class="col-sm-10">
338 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea>
339 </div>
340 </div>
341 <div class="form-group">
342 <label for="account-xpub" class="col-sm-2 control-label">
343 <span data-translate>Account Extended Public Key</span>
344 </label>
345 <div class="col-sm-10">
346 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
347 </div>
348 </div>
349 <div class="form-group">
350 <label class="col-sm-2 control-label">
351 </label>
352 <div class="col-sm-10">
353 <p data-translate>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
354 </div>
355 </div>
ab78acc6 356 <div class="form-group">
ea87f1d3 357 <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ab78acc6
IC
358 <div class="col-sm-10">
359 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
360 </div>
361 </div>
362 </form>
363 </div>
364 <div id="bip32" class="tab-pane">
365 <form class="form-horizontal" role="form">
366 <br>
367 <div class="col-sm-2"></div>
368 <div class="col-sm-10">
ea87f1d3
IC
369 <p data-translate>
370 For more info see the
371 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a>
372 </p>
ab78acc6
IC
373 </div>
374 <div class="form-group">
ea87f1d3 375 <label for="bip32-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ab78acc6
IC
376 <div class="col-sm-10">
377 <input id="bip32-path" type="text" class="path form-control" value="m/0">
378 </div>
379 </div>
1975bfbc
IC
380 <div class="form-group">
381 <div class="col-sm-2"></div>
382 <label class="col-sm-10">
383 <input class="hardened-addresses" type="checkbox">
ea87f1d3 384 <span data-translate>Use hardened addresses</span>
1975bfbc
IC
385 </label>
386 </div>
1975bfbc 387 <div class="form-group">
ea87f1d3 388 <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label>
1975bfbc 389 <div class="col-sm-10">
ea87f1d3 390 <p class="form-control no-border" data-translate-html>
1975bfbc 391 Use path <code>m/0'/0'</code> with hardened addresses.
c866242d 392 </p>
ea87f1d3
IC
393 <p class="form-control no-border" data-translate-html>
394 For more info see the
395 <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
1975bfbc
IC
396 </p>
397 </div>
398 </div>
aa51da11 399 <div class="form-group">
ea87f1d3 400 <label class="col-sm-2 control-label" data-translate>Block Explorers</label>
aa51da11
IC
401 <div class="col-sm-10">
402 <p class="form-control no-border">
ea87f1d3
IC
403 <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span>
404 <span data-translate-html>Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.</span>
c866242d
IC
405 </p>
406 <p class="form-control no-border">
ea87f1d3
IC
407 <span data-translate>Can be used with</span>:
408 <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
aa51da11
IC
409 </p>
410 </div>
411 </div>
ab78acc6
IC
412 </form>
413 </div>
414 </div>
415 <form class="form-horizontal" role="form">
416 <div class="form-group">
20083ab9 417 <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Private Key</label>
ab78acc6 418 <div class="col-sm-10">
e00964cc 419 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
ab78acc6
IC
420 </div>
421 </div>
422 <div class="form-group">
20083ab9 423 <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Public Key</label>
ab78acc6 424 <div class="col-sm-10">
e00964cc 425 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
ab78acc6
IC
426 </div>
427 </div>
428 </form>
429 </div>
430 </div>
3af2954a 431
ab78acc6 432 <hr>
3af2954a 433
ab78acc6
IC
434 <div class="row">
435 <div class="col-md-12">
436 <h2>Derived Addresses</h2>
ea87f1d3 437 <p data-translate>Note these addreses are derived from the BIP32 Extended Key</p>
ab78acc6
IC
438 <table class="table table-striped">
439 <thead>
440 <th>
441 <div class="input-group">
ea87f1d3
IC
442 <span data-translate>Path</span>&nbsp;&nbsp;
443 <button class="index-toggle" data-translate>Toggle</button>
ab78acc6
IC
444 </div>
445 </th>
446 <th>
447 <div class="input-group">
ea87f1d3
IC
448 <span data-translate>Address</span>&nbsp;&nbsp;
449 <button class="address-toggle" data-translate>Toggle</button>
ab78acc6
IC
450 </div>
451 </th>
1b12b2f5
IC
452 <th>
453 <div class="input-group">
ea87f1d3
IC
454 <span data-translate>Public Key</span>&nbsp;&nbsp;
455 <button class="public-key-toggle" data-translate>Toggle</button>
1b12b2f5
IC
456 </div>
457 </th>
ab78acc6
IC
458 <th>
459 <div class="input-group">
ea87f1d3
IC
460 <span data-translate>Private Key</span>&nbsp;&nbsp;
461 <button class="private-key-toggle" data-translate>Toggle</button>
ab78acc6
IC
462 </div>
463 </th>
464 </thead>
d737abf6 465 <tbody class="addresses monospace">
c866242d
IC
466 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
467 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
468 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
469 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
470 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
ab78acc6
IC
471 </tbody>
472 </table>
473 </div>
474 </div>
ea87f1d3 475 <span data-translate>Show more rows</span>:
ab78acc6 476 <input type="number" class="rows-to-add" value="20">
ea87f1d3 477 <button class="more" data-translate>Show</button>
3af2954a 478
ab78acc6 479 <hr>
3af2954a 480
ab78acc6
IC
481 <div class="row">
482 <div class="col-md-12">
ea87f1d3
IC
483 <h2 data-translate>More info</h2>
484 <h3>BIP39 <span class="small" data-translate>Mnemonic code for generating deterministic keys</span></h3>
485 <p data-translate-html>
ab78acc6
IC
486 Read more at the
487 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
488 </p>
ea87f1d3
IC
489 <h3>BIP32 <span class="small" data-translate>Hierarchical Deterministic Wallets</span></h3>
490 <p data-translate-html>
ab78acc6
IC
491 Read more at the
492 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
ea87f1d3
IC
493 </p>
494 <p data-translate-html>
495 See the demo at
ab78acc6
IC
496 <a href="http://bip32.org/" target="_blank">bip32.org</a>
497 </p>
ea87f1d3
IC
498 <h3>BIP44 <span class="small" data-translate>Multi-Account Hierarchy for Deterministic Wallets</span></h3>
499 <p data-translate-html>
ab78acc6
IC
500 Read more at the
501 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
502 </p>
ea87f1d3 503 <h3 data-translate>Private Keys</h3>
ab78acc6 504 <p>
ea87f1d3
IC
505 <span data-translate-html>
506 Use private keys at
507 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
508 </span>
509 <span data-translate>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
ab78acc6 510 </p>
ea87f1d3 511 <h3 id="entropy-notes" data-translate>Entropy</h3>
c6624d51 512 <p>
ea87f1d3
IC
513 <span data-translate-html>
514 Entropy values must be sourced from a
515 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
516 </span>
517 <span data-translate>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span>
518 <span data-translate-html>
519 Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address,
520 keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't
521 random enough for the needs of this tool.
522 </span>
c6624d51
IC
523 </p>
524 <p>
ea87f1d3
IC
525 <span data-translate-html>
526 The random mnemonic generator on this page uses a
527 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>.
528 </span>
529 <span data-translate>The built in random generator can generally be trusted more than your own intuition about randomness.</span>
530 <span data-translate>If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.</span>
531 <span data-translate>In that case you might choose to use your own source of entropy.</span>
c6624d51
IC
532 </p>
533 <p>
ea87f1d3 534 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank" data-translate>You are not a good source of entropy.</a>
c6624d51 535 </p>
52da415f
IC
536 <h3 data-translate>License</h3>
537 <p>
538 <span data-translate-html>Please refer to <a href="https://github.com/iancoleman/bip39/blob/master/LICENSE" target="_blank">the software license</a> for more detail.
539 </span>
540 </p>
541 <p data-translate>The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.</p>
ab78acc6
IC
542 </div>
543 </div>
3af2954a 544
ab78acc6 545 <hr>
3af2954a 546
ab78acc6
IC
547 <div class="row">
548 <div class="col-md-12">
3af2954a 549
ea87f1d3 550 <h2 data-translate>Offline Usage</h2>
3af2954a 551
ea87f1d3 552 <p data-translate>
ab78acc6
IC
553 You can use this tool without having to be online.
554 </p>
ea87f1d3 555 <p data-translate>
ab78acc6
IC
556 In your browser, select file save-as, and save this page
557 as a file.
558 </p>
ea87f1d3 559 <p data-translate>
ab78acc6
IC
560 Double-click that file to open it in a browser
561 on any offline computer.
562 </p>
563 <p>
ea87f1d3
IC
564 <span data-translate>Alternatively, download the file from the repository</span>
565 -
566 <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
567 </p>
3af2954a 568
ab78acc6
IC
569 </div>
570 </div>
3af2954a 571
ab78acc6 572 <hr>
3af2954a 573
ab78acc6
IC
574 <div class="row">
575 <div class="col-md-12">
3af2954a 576
ea87f1d3 577 <h2 data-translate>This project is 100% open-source code</h2>
3af2954a 578
ab78acc6 579 <p>
ea87f1d3
IC
580 <span data-translate>Get the source code from the repository</span>
581 -
b630f83d
IC
582 <a href="https://github.com/iancoleman/bip39" target="_blank">
583 https://github.com/iancoleman/bip39
ab78acc6
IC
584 </a>
585 </p>
3af2954a 586
ea87f1d3 587 <h3 data-translate>Libraries</h3>
3af2954a 588
ab78acc6
IC
589 <p>
590 <span>BitcoinJS - </span>
591 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
592 https://github.com/bitcoinjs/bitcoinjs-lib
593 </a>
594 </p>
3af2954a 595
ab78acc6
IC
596 <p>
597 <span>jsBIP39 - </span>
598 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
599 https://github.com/iancoleman/jsbip39
600 </a>
601 </p>
3af2954a 602
ab78acc6
IC
603 <p>
604 <span>sjcl - </span>
605 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
606 https://github.com/bitwiseshiftleft/sjcl
607 </a>
608 </p>
3af2954a 609
ab78acc6
IC
610 <p>
611 <span>jQuery - </span>
612 <a href="https://jquery.com/" target="_blank">
613 https://jquery.com/
614 </a>
615 </p>
3af2954a 616
ab78acc6
IC
617 <p>
618 <span>Twitter Bootstrap - </span>
619 <a href="http://getbootstrap.com/" target="_blank">
620 http://getbootstrap.com/
621 </a>
622 </p>
3af2954a 623
ab78acc6
IC
624 </div>
625 </div>
3af2954a 626
ab78acc6 627 </div>
3af2954a 628
e00964cc 629 <div class="qr-container hidden">
52da415f
IC
630 <div class="qr-hint bg-primary hidden" data-translate>Click field to hide QR</div>
631 <div class="qr-hint bg-primary" data-translate>Click field to show QR</div>
632 <div class="qr-hider hidden">
633 <div class="qr-image"></div>
634 <div class="qr-warning bg-primary" data-translate>Caution: Scanner may keep history</div>
635 </div>
e00964cc
IC
636 </div>
637
ab78acc6
IC
638 <div class="feedback-container">
639 <div class="feedback">Loading...</div>
640 </div>
3af2954a 641
ab78acc6
IC
642 <script type="text/template" id="address-row-template">
643 <tr>
644 <td class="index"><span></span></td>
e00964cc
IC
645 <td class="address"><span data-show-qr></span></td>
646 <td class="pubkey"><span data-show-qr></span></td>
647 <td class="privkey"><span data-show-qr></span></td>
ab78acc6
IC
648 </tr>
649 </script>
650 <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
651!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)
652},_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))
653},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});
654</script>
655 <script>/*!
656 * Bootstrap v3.2.0 (http://getbootstrap.com)
3af2954a
IC
657 * Copyright 2011-2014 Twitter, Inc.
658 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
659 */
660if("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
661 <script>(function() {
662 'use strict';
663
664 /**
665 * Extend an Object with another Object's properties.
666 *
667 * The source objects are specified as additional arguments.
668 *
669 * @param dst Object the object to extend.
670 *
671 * @return Object the final object.
672 */
673 var _extend = function(dst) {
674 var sources = Array.prototype.slice.call(arguments, 1);
675 for (var i=0; i<sources.length; ++i) {
676 var src = sources[i];
677 for (var p in src) {
678 if (src.hasOwnProperty(p)) dst[p] = src[p];
679 }
680 }
681 return dst;
682 };
683
684
685 /**
686 * Defer execution of given function.
687 * @param {Function} func
688 */
689 var _defer = function(func) {
690 if (typeof setImmediate === 'function') {
691 return setImmediate(func);
692 } else {
693 return setTimeout(func, 0);
694 }
695 };
696
697 /**
698 * Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
699 */
700 var Levenshtein = {
701 /**
702 * Calculate levenshtein distance of the two strings.
703 *
704 * @param str1 String the first string.
705 * @param str2 String the second string.
706 * @return Integer the levenshtein distance (0 and above).
707 */
708 get: function(str1, str2) {
709 // base cases
710 if (str1 === str2) return 0;
711 if (str1.length === 0) return str2.length;
712 if (str2.length === 0) return str1.length;
713
714 // two rows
715 var prevRow = new Array(str2.length + 1),
716 curCol, nextCol, i, j, tmp;
717
718 // initialise previous row
719 for (i=0; i<prevRow.length; ++i) {
720 prevRow[i] = i;
721 }
722
723 // calculate current row distance from previous row
724 for (i=0; i<str1.length; ++i) {
725 nextCol = i + 1;
726
727 for (j=0; j<str2.length; ++j) {
728 curCol = nextCol;
729
730 // substution
731 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
732 // insertion
733 tmp = curCol + 1;
734 if (nextCol > tmp) {
735 nextCol = tmp;
736 }
737 // deletion
738 tmp = prevRow[j + 1] + 1;
739 if (nextCol > tmp) {
740 nextCol = tmp;
741 }
742
743 // copy current col value into previous (in preparation for next iteration)
744 prevRow[j] = curCol;
745 }
746
747 // copy last col value into previous (in preparation for next iteration)
748 prevRow[j] = nextCol;
749 }
750
751 return nextCol;
752 },
753
754 /**
755 * Asynchronously calculate levenshtein distance of the two strings.
756 *
757 * @param str1 String the first string.
758 * @param str2 String the second string.
759 * @param cb Function callback function with signature: function(Error err, int distance)
760 * @param [options] Object additional options.
761 * @param [options.progress] Function progress callback with signature: function(percentComplete)
762 */
763 getAsync: function(str1, str2, cb, options) {
764 options = _extend({}, {
765 progress: null
766 }, options);
767
768 // base cases
769 if (str1 === str2) return cb(null, 0);
770 if (str1.length === 0) return cb(null, str2.length);
771 if (str2.length === 0) return cb(null, str1.length);
772
773 // two rows
774 var prevRow = new Array(str2.length + 1),
775 curCol, nextCol,
776 i, j, tmp,
777 startTime, currentTime;
778
779 // initialise previous row
780 for (i=0; i<prevRow.length; ++i) {
781 prevRow[i] = i;
782 }
783
784 nextCol = 1;
785 i = 0;
786 j = -1;
787
788 var __calculate = function() {
789 // reset timer
790 startTime = new Date().valueOf();
791 currentTime = startTime;
792
793 // keep going until one second has elapsed
794 while (currentTime - startTime < 1000) {
795 // reached end of current row?
796 if (str2.length <= (++j)) {
797 // copy current into previous (in preparation for next iteration)
798 prevRow[j] = nextCol;
799
800 // if already done all chars
801 if (str1.length <= (++i)) {
802 return cb(null, nextCol);
803 }
804 // else if we have more left to do
805 else {
806 nextCol = i + 1;
807 j = 0;
808 }
809 }
810
811 // calculation
812 curCol = nextCol;
813
814 // substution
815 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
816 // insertion
817 tmp = curCol + 1;
818 if (nextCol > tmp) {
819 nextCol = tmp;
820 }
821 // deletion
822 tmp = prevRow[j + 1] + 1;
823 if (nextCol > tmp) {
824 nextCol = tmp;
825 }
826
827 // copy current into previous (in preparation for next iteration)
828 prevRow[j] = curCol;
829
830 // get current time
831 currentTime = new Date().valueOf();
832 }
833
834 // send a progress update?
835 if (null !== options.progress) {
836 try {
837 options.progress.call(null, (i * 100.0/ str1.length));
838 } catch (err) {
839 return cb('Progress callback: ' + err.toString());
840 }
841 }
842
843 // next iteration
844 _defer(__calculate);
845 };
846
847 __calculate();
848 }
849
850 };
851
852 // amd
853 if (typeof define !== "undefined" && define !== null && define.amd) {
854 define(function() {
855 return Levenshtein;
856 });
857 }
858 // commonjs
859 else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
860 module.exports = Levenshtein;
861 }
862 // web worker
863 else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
864 self.Levenshtein = Levenshtein;
865 }
866 // browser main thread
867 else if (typeof window !== "undefined" && window !== null) {
868 window.Levenshtein = Levenshtein;
869 }
870}());
871
e00964cc
IC
872</script>
873 <script>(function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.data=a}function o(a,c){this.typeNumber=a;this.errorCorrectLevel=c;this.modules=null;this.moduleCount=0;this.dataCache=null;this.dataList=[]}function q(a,c){if(void 0==a.length)throw Error(a.length+"/"+c);for(var d=0;d<a.length&&0==a[d];)d++;this.num=Array(a.length-d+c);for(var b=0;b<a.length-d;b++)this.num[b]=a[b+d]}function p(a,c){this.totalCount=a;this.dataCount=c}function t(){this.buffer=[];this.length=0}u.prototype={getLength:function(){return this.data.length},
874write:function(a){for(var c=0;c<this.data.length;c++)a.put(this.data.charCodeAt(c),8)}};o.prototype={addData:function(a){this.dataList.push(new u(a));this.dataCache=null},isDark:function(a,c){if(0>a||this.moduleCount<=a||0>c||this.moduleCount<=c)throw Error(a+","+c);return this.modules[a][c]},getModuleCount:function(){return this.moduleCount},make:function(){if(1>this.typeNumber){for(var a=1,a=1;40>a;a++){for(var c=p.getRSBlocks(a,this.errorCorrectLevel),d=new t,b=0,e=0;e<c.length;e++)b+=c[e].dataCount;
875for(e=0;e<this.dataList.length;e++)c=this.dataList[e],d.put(c.mode,4),d.put(c.getLength(),j.getLengthInBits(c.mode,a)),c.write(d);if(d.getLengthInBits()<=8*b)break}this.typeNumber=a}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17;this.modules=Array(this.moduleCount);for(var d=0;d<this.moduleCount;d++){this.modules[d]=Array(this.moduleCount);for(var b=0;b<this.moduleCount;b++)this.modules[d][b]=null}this.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount-
8767,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(a,c);7<=this.typeNumber&&this.setupTypeNumber(a);null==this.dataCache&&(this.dataCache=o.createData(this.typeNumber,this.errorCorrectLevel,this.dataList));this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,c){for(var d=-1;7>=d;d++)if(!(-1>=a+d||this.moduleCount<=a+d))for(var b=-1;7>=b;b++)-1>=c+b||this.moduleCount<=c+b||(this.modules[a+d][c+b]=
8770<=d&&6>=d&&(0==b||6==b)||0<=b&&6>=b&&(0==d||6==d)||2<=d&&4>=d&&2<=b&&4>=b?!0:!1)},getBestMaskPattern:function(){for(var a=0,c=0,d=0;8>d;d++){this.makeImpl(!0,d);var b=j.getLostPoint(this);if(0==d||a>b)a=b,c=d}return c},createMovieClip:function(a,c,d){a=a.createEmptyMovieClip(c,d);this.make();for(c=0;c<this.modules.length;c++)for(var d=1*c,b=0;b<this.modules[c].length;b++){var e=1*b;this.modules[c][b]&&(a.beginFill(0,100),a.moveTo(e,d),a.lineTo(e+1,d),a.lineTo(e+1,d+1),a.lineTo(e,d+1),a.endFill())}return a},
878setupTimingPattern:function(){for(var a=8;a<this.moduleCount-8;a++)null==this.modules[a][6]&&(this.modules[a][6]=0==a%2);for(a=8;a<this.moduleCount-8;a++)null==this.modules[6][a]&&(this.modules[6][a]=0==a%2)},setupPositionAdjustPattern:function(){for(var a=j.getPatternPosition(this.typeNumber),c=0;c<a.length;c++)for(var d=0;d<a.length;d++){var b=a[c],e=a[d];if(null==this.modules[b][e])for(var f=-2;2>=f;f++)for(var i=-2;2>=i;i++)this.modules[b+f][e+i]=-2==f||2==f||-2==i||2==i||0==f&&0==i?!0:!1}},setupTypeNumber:function(a){for(var c=
879j.getBCHTypeNumber(this.typeNumber),d=0;18>d;d++){var b=!a&&1==(c>>d&1);this.modules[Math.floor(d/3)][d%3+this.moduleCount-8-3]=b}for(d=0;18>d;d++)b=!a&&1==(c>>d&1),this.modules[d%3+this.moduleCount-8-3][Math.floor(d/3)]=b},setupTypeInfo:function(a,c){for(var d=j.getBCHTypeInfo(this.errorCorrectLevel<<3|c),b=0;15>b;b++){var e=!a&&1==(d>>b&1);6>b?this.modules[b][8]=e:8>b?this.modules[b+1][8]=e:this.modules[this.moduleCount-15+b][8]=e}for(b=0;15>b;b++)e=!a&&1==(d>>b&1),8>b?this.modules[8][this.moduleCount-
880b-1]=e:9>b?this.modules[8][15-b-1+1]=e:this.modules[8][15-b-1]=e;this.modules[this.moduleCount-8][8]=!a},mapData:function(a,c){for(var d=-1,b=this.moduleCount-1,e=7,f=0,i=this.moduleCount-1;0<i;i-=2)for(6==i&&i--;;){for(var g=0;2>g;g++)if(null==this.modules[b][i-g]){var n=!1;f<a.length&&(n=1==(a[f]>>>e&1));j.getMask(c,b,i-g)&&(n=!n);this.modules[b][i-g]=n;e--; -1==e&&(f++,e=7)}b+=d;if(0>b||this.moduleCount<=b){b-=d;d=-d;break}}}};o.PAD0=236;o.PAD1=17;o.createData=function(a,c,d){for(var c=p.getRSBlocks(a,
881c),b=new t,e=0;e<d.length;e++){var f=d[e];b.put(f.mode,4);b.put(f.getLength(),j.getLengthInBits(f.mode,a));f.write(b)}for(e=a=0;e<c.length;e++)a+=c[e].dataCount;if(b.getLengthInBits()>8*a)throw Error("code length overflow. ("+b.getLengthInBits()+">"+8*a+")");for(b.getLengthInBits()+4<=8*a&&b.put(0,4);0!=b.getLengthInBits()%8;)b.putBit(!1);for(;!(b.getLengthInBits()>=8*a);){b.put(o.PAD0,8);if(b.getLengthInBits()>=8*a)break;b.put(o.PAD1,8)}return o.createBytes(b,c)};o.createBytes=function(a,c){for(var d=
8820,b=0,e=0,f=Array(c.length),i=Array(c.length),g=0;g<c.length;g++){var n=c[g].dataCount,h=c[g].totalCount-n,b=Math.max(b,n),e=Math.max(e,h);f[g]=Array(n);for(var k=0;k<f[g].length;k++)f[g][k]=255&a.buffer[k+d];d+=n;k=j.getErrorCorrectPolynomial(h);n=(new q(f[g],k.getLength()-1)).mod(k);i[g]=Array(k.getLength()-1);for(k=0;k<i[g].length;k++)h=k+n.getLength()-i[g].length,i[g][k]=0<=h?n.get(h):0}for(k=g=0;k<c.length;k++)g+=c[k].totalCount;d=Array(g);for(k=n=0;k<b;k++)for(g=0;g<c.length;g++)k<f[g].length&&
883(d[n++]=f[g][k]);for(k=0;k<e;k++)for(g=0;g<c.length;g++)k<i[g].length&&(d[n++]=i[g][k]);return d};s=4;for(var j={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,
88478,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(a){for(var c=a<<10;0<=j.getBCHDigit(c)-j.getBCHDigit(j.G15);)c^=j.G15<<j.getBCHDigit(c)-j.getBCHDigit(j.G15);return(a<<10|c)^j.G15_MASK},getBCHTypeNumber:function(a){for(var c=a<<12;0<=j.getBCHDigit(c)-
885j.getBCHDigit(j.G18);)c^=j.G18<<j.getBCHDigit(c)-j.getBCHDigit(j.G18);return a<<12|c},getBCHDigit:function(a){for(var c=0;0!=a;)c++,a>>>=1;return c},getPatternPosition:function(a){return j.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,c,d){switch(a){case 0:return 0==(c+d)%2;case 1:return 0==c%2;case 2:return 0==d%3;case 3:return 0==(c+d)%3;case 4:return 0==(Math.floor(c/2)+Math.floor(d/3))%2;case 5:return 0==c*d%2+c*d%3;case 6:return 0==(c*d%2+c*d%3)%2;case 7:return 0==(c*d%3+(c+d)%2)%2;default:throw Error("bad maskPattern:"+
886a);}},getErrorCorrectPolynomial:function(a){for(var c=new q([1],0),d=0;d<a;d++)c=c.multiply(new q([1,l.gexp(d)],0));return c},getLengthInBits:function(a,c){if(1<=c&&10>c)switch(a){case 1:return 10;case 2:return 9;case s:return 8;case 8:return 8;default:throw Error("mode:"+a);}else if(27>c)switch(a){case 1:return 12;case 2:return 11;case s:return 16;case 8:return 10;default:throw Error("mode:"+a);}else if(41>c)switch(a){case 1:return 14;case 2:return 13;case s:return 16;case 8:return 12;default:throw Error("mode:"+
887a);}else throw Error("type:"+c);},getLostPoint:function(a){for(var c=a.getModuleCount(),d=0,b=0;b<c;b++)for(var e=0;e<c;e++){for(var f=0,i=a.isDark(b,e),g=-1;1>=g;g++)if(!(0>b+g||c<=b+g))for(var h=-1;1>=h;h++)0>e+h||c<=e+h||0==g&&0==h||i==a.isDark(b+g,e+h)&&f++;5<f&&(d+=3+f-5)}for(b=0;b<c-1;b++)for(e=0;e<c-1;e++)if(f=0,a.isDark(b,e)&&f++,a.isDark(b+1,e)&&f++,a.isDark(b,e+1)&&f++,a.isDark(b+1,e+1)&&f++,0==f||4==f)d+=3;for(b=0;b<c;b++)for(e=0;e<c-6;e++)a.isDark(b,e)&&!a.isDark(b,e+1)&&a.isDark(b,e+
8882)&&a.isDark(b,e+3)&&a.isDark(b,e+4)&&!a.isDark(b,e+5)&&a.isDark(b,e+6)&&(d+=40);for(e=0;e<c;e++)for(b=0;b<c-6;b++)a.isDark(b,e)&&!a.isDark(b+1,e)&&a.isDark(b+2,e)&&a.isDark(b+3,e)&&a.isDark(b+4,e)&&!a.isDark(b+5,e)&&a.isDark(b+6,e)&&(d+=40);for(e=f=0;e<c;e++)for(b=0;b<c;b++)a.isDark(b,e)&&f++;a=Math.abs(100*f/c/c-50)/5;return d+10*a}},l={glog:function(a){if(1>a)throw Error("glog("+a+")");return l.LOG_TABLE[a]},gexp:function(a){for(;0>a;)a+=255;for(;256<=a;)a-=255;return l.EXP_TABLE[a]},EXP_TABLE:Array(256),
889LOG_TABLE:Array(256)},m=0;8>m;m++)l.EXP_TABLE[m]=1<<m;for(m=8;256>m;m++)l.EXP_TABLE[m]=l.EXP_TABLE[m-4]^l.EXP_TABLE[m-5]^l.EXP_TABLE[m-6]^l.EXP_TABLE[m-8];for(m=0;255>m;m++)l.LOG_TABLE[l.EXP_TABLE[m]]=m;q.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var c=Array(this.getLength()+a.getLength()-1),d=0;d<this.getLength();d++)for(var b=0;b<a.getLength();b++)c[d+b]^=l.gexp(l.glog(this.get(d))+l.glog(a.get(b)));return new q(c,0)},mod:function(a){if(0>
890this.getLength()-a.getLength())return this;for(var c=l.glog(this.get(0))-l.glog(a.get(0)),d=Array(this.getLength()),b=0;b<this.getLength();b++)d[b]=this.get(b);for(b=0;b<a.getLength();b++)d[b]^=l.gexp(l.glog(a.get(b))+c);return(new q(d,0)).mod(a)}};p.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],
891[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,
892116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,
89343,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,
8943,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,
89555,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,
89645,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];p.getRSBlocks=function(a,c){var d=p.getRsBlockTable(a,c);if(void 0==d)throw Error("bad rs block @ typeNumber:"+a+"/errorCorrectLevel:"+c);for(var b=d.length/3,e=[],f=0;f<b;f++)for(var h=d[3*f+0],g=d[3*f+1],j=d[3*f+2],l=0;l<h;l++)e.push(new p(g,j));return e};p.getRsBlockTable=function(a,c){switch(c){case 1:return p.RS_BLOCK_TABLE[4*(a-1)+0];case 0:return p.RS_BLOCK_TABLE[4*(a-1)+1];case 3:return p.RS_BLOCK_TABLE[4*
897(a-1)+2];case 2:return p.RS_BLOCK_TABLE[4*(a-1)+3]}};t.prototype={get:function(a){return 1==(this.buffer[Math.floor(a/8)]>>>7-a%8&1)},put:function(a,c){for(var d=0;d<c;d++)this.putBit(1==(a>>>c-d-1&1))},getLengthInBits:function(){return this.length},putBit:function(a){var c=Math.floor(this.length/8);this.buffer.length<=c&&this.buffer.push(0);a&&(this.buffer[c]|=128>>>this.length%8);this.length++}};"string"===typeof h&&(h={text:h});h=r.extend({},{render:"canvas",width:256,height:256,typeNumber:-1,
898correctLevel:2,background:"#ffffff",foreground:"#000000"},h);return this.each(function(){var a;if("canvas"==h.render){a=new o(h.typeNumber,h.correctLevel);a.addData(h.text);a.make();var c=document.createElement("canvas");c.width=h.width;c.height=h.height;for(var d=c.getContext("2d"),b=h.width/a.getModuleCount(),e=h.height/a.getModuleCount(),f=0;f<a.getModuleCount();f++)for(var i=0;i<a.getModuleCount();i++){d.fillStyle=a.isDark(f,i)?h.foreground:h.background;var g=Math.ceil((i+1)*b)-Math.floor(i*b),
899j=Math.ceil((f+1)*b)-Math.floor(f*b);d.fillRect(Math.round(i*b),Math.round(f*e),g,j)}}else{a=new o(h.typeNumber,h.correctLevel);a.addData(h.text);a.make();c=r("<table></table>").css("width",h.width+"px").css("height",h.height+"px").css("border","0px").css("border-collapse","collapse").css("background-color",h.background);d=h.width/a.getModuleCount();b=h.height/a.getModuleCount();for(e=0;e<a.getModuleCount();e++){f=r("<tr></tr>").css("height",b+"px").appendTo(c);for(i=0;i<a.getModuleCount();i++)r("<td></td>").css("width",
900d+"px").css("background-color",a.isDark(e,i)?h.foreground:h.background).appendTo(f)}}a=c;$(a).appendTo(this)})}})($);
563e401a 901</script>
ab78acc6
IC
902 <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){
903// (public) Constructor
904function BigInteger(a, b, c) {
905 if (!(this instanceof BigInteger))
906 return new BigInteger(a, b, c)
3af2954a 907
ab78acc6
IC
908 if (a != null) {
909 if ("number" == typeof a) this.fromNumber(a, b, c)
910 else if (b == null && "string" != typeof a) this.fromString(a, 256)
911 else this.fromString(a, b)
912 }
913}
3af2954a 914
ab78acc6 915var proto = BigInteger.prototype
3af2954a 916
ab78acc6
IC
917// duck-typed isBigInteger
918proto.__bigi = require('../package.json').version
919BigInteger.isBigInteger = function (obj, check_ver) {
920 return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)
921}
3af2954a 922
ab78acc6
IC
923// Bits per digit
924var dbits
3af2954a 925
ab78acc6
IC
926// am: Compute w_j += (x*this_i), propagate carries,
927// c is initial carry, returns final carry.
928// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
929// We need to select the fastest one that works in this environment.
3af2954a 930
ab78acc6
IC
931// am1: use a single mult and divide to get the high bits,
932// max digit bits should be 26 because
933// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
934function am1(i, x, w, j, c, n) {
935 while (--n >= 0) {
936 var v = x * this[i++] + w[j] + c
937 c = Math.floor(v / 0x4000000)
938 w[j++] = v & 0x3ffffff
3af2954a 939 }
ab78acc6
IC
940 return c
941}
942// am2 avoids a big mult-and-extract completely.
943// Max digit bits should be <= 30 because we do bitwise ops
944// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
945function am2(i, x, w, j, c, n) {
946 var xl = x & 0x7fff,
947 xh = x >> 15
948 while (--n >= 0) {
949 var l = this[i] & 0x7fff
950 var h = this[i++] >> 15
951 var m = xh * l + h * xl
952 l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)
953 c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)
954 w[j++] = l & 0x3fffffff
955 }
956 return c
957}
958// Alternately, set max digit bits to 28 since some
959// browsers slow down when dealing with 32-bit numbers.
960function am3(i, x, w, j, c, n) {
961 var xl = x & 0x3fff,
962 xh = x >> 14
963 while (--n >= 0) {
964 var l = this[i] & 0x3fff
965 var h = this[i++] >> 14
966 var m = xh * l + h * xl
967 l = xl * l + ((m & 0x3fff) << 14) + w[j] + c
968 c = (l >> 28) + (m >> 14) + xh * h
969 w[j++] = l & 0xfffffff
3af2954a 970 }
ab78acc6
IC
971 return c
972}
3af2954a 973
ab78acc6
IC
974// wtf?
975BigInteger.prototype.am = am1
976dbits = 26
3af2954a 977
ab78acc6
IC
978BigInteger.prototype.DB = dbits
979BigInteger.prototype.DM = ((1 << dbits) - 1)
980var DV = BigInteger.prototype.DV = (1 << dbits)
3af2954a 981
ab78acc6
IC
982var BI_FP = 52
983BigInteger.prototype.FV = Math.pow(2, BI_FP)
984BigInteger.prototype.F1 = BI_FP - dbits
985BigInteger.prototype.F2 = 2 * dbits - BI_FP
3af2954a 986
ab78acc6
IC
987// Digit conversions
988var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"
989var BI_RC = new Array()
990var rr, vv
991rr = "0".charCodeAt(0)
992for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv
993rr = "a".charCodeAt(0)
994for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
995rr = "A".charCodeAt(0)
996for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
3af2954a 997
ab78acc6
IC
998function int2char(n) {
999 return BI_RM.charAt(n)
1000}
3af2954a 1001
ab78acc6
IC
1002function intAt(s, i) {
1003 var c = BI_RC[s.charCodeAt(i)]
1004 return (c == null) ? -1 : c
1005}
3af2954a 1006
ab78acc6
IC
1007// (protected) copy this to r
1008function bnpCopyTo(r) {
1009 for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]
1010 r.t = this.t
1011 r.s = this.s
1012}
3af2954a 1013
ab78acc6
IC
1014// (protected) set from integer value x, -DV <= x < DV
1015function bnpFromInt(x) {
1016 this.t = 1
1017 this.s = (x < 0) ? -1 : 0
1018 if (x > 0) this[0] = x
1019 else if (x < -1) this[0] = x + DV
1020 else this.t = 0
1021}
3af2954a 1022
ab78acc6
IC
1023// return bigint initialized to value
1024function nbv(i) {
1025 var r = new BigInteger()
1026 r.fromInt(i)
1027 return r
1028}
3af2954a 1029
ab78acc6
IC
1030// (protected) set from string and radix
1031function bnpFromString(s, b) {
1032 var self = this
3af2954a 1033
ab78acc6
IC
1034 var k
1035 if (b == 16) k = 4
1036 else if (b == 8) k = 3
1037 else if (b == 256) k = 8; // byte array
1038 else if (b == 2) k = 1
1039 else if (b == 32) k = 5
1040 else if (b == 4) k = 2
1041 else {
1042 self.fromRadix(s, b)
1043 return
1044 }
1045 self.t = 0
1046 self.s = 0
1047 var i = s.length,
1048 mi = false,
1049 sh = 0
1050 while (--i >= 0) {
1051 var x = (k == 8) ? s[i] & 0xff : intAt(s, i)
1052 if (x < 0) {
1053 if (s.charAt(i) == "-") mi = true
1054 continue
1055 }
1056 mi = false
1057 if (sh == 0)
1058 self[self.t++] = x
1059 else if (sh + k > self.DB) {
1060 self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh
1061 self[self.t++] = (x >> (self.DB - sh))
1062 } else
1063 self[self.t - 1] |= x << sh
1064 sh += k
1065 if (sh >= self.DB) sh -= self.DB
1066 }
1067 if (k == 8 && (s[0] & 0x80) != 0) {
1068 self.s = -1
1069 if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh
1070 }
1071 self.clamp()
1072 if (mi) BigInteger.ZERO.subTo(self, self)
1073}
3af2954a 1074
ab78acc6
IC
1075// (protected) clamp off excess high words
1076function bnpClamp() {
1077 var c = this.s & this.DM
1078 while (this.t > 0 && this[this.t - 1] == c)--this.t
1079}
3af2954a 1080
ab78acc6
IC
1081// (public) return string representation in given radix
1082function bnToString(b) {
1083 var self = this
1084 if (self.s < 0) return "-" + self.negate()
1085 .toString(b)
1086 var k
1087 if (b == 16) k = 4
1088 else if (b == 8) k = 3
1089 else if (b == 2) k = 1
1090 else if (b == 32) k = 5
1091 else if (b == 4) k = 2
1092 else return self.toRadix(b)
1093 var km = (1 << k) - 1,
1094 d, m = false,
1095 r = "",
1096 i = self.t
1097 var p = self.DB - (i * self.DB) % k
1098 if (i-- > 0) {
1099 if (p < self.DB && (d = self[i] >> p) > 0) {
1100 m = true
1101 r = int2char(d)
1102 }
1103 while (i >= 0) {
1104 if (p < k) {
1105 d = (self[i] & ((1 << p) - 1)) << (k - p)
1106 d |= self[--i] >> (p += self.DB - k)
1107 } else {
1108 d = (self[i] >> (p -= k)) & km
1109 if (p <= 0) {
1110 p += self.DB
1111 --i
1112 }
1113 }
1114 if (d > 0) m = true
1115 if (m) r += int2char(d)
3af2954a 1116 }
3af2954a 1117 }
ab78acc6
IC
1118 return m ? r : "0"
1119}
3af2954a 1120
ab78acc6
IC
1121// (public) -this
1122function bnNegate() {
1123 var r = new BigInteger()
1124 BigInteger.ZERO.subTo(this, r)
1125 return r
1126}
3af2954a 1127
ab78acc6
IC
1128// (public) |this|
1129function bnAbs() {
1130 return (this.s < 0) ? this.negate() : this
1131}
3af2954a 1132
ab78acc6
IC
1133// (public) return + if this > a, - if this < a, 0 if equal
1134function bnCompareTo(a) {
1135 var r = this.s - a.s
1136 if (r != 0) return r
1137 var i = this.t
1138 r = i - a.t
1139 if (r != 0) return (this.s < 0) ? -r : r
1140 while (--i >= 0)
1141 if ((r = this[i] - a[i]) != 0) return r
1142 return 0
1143}
3af2954a 1144
ab78acc6
IC
1145// returns bit length of the integer x
1146function nbits(x) {
1147 var r = 1,
1148 t
1149 if ((t = x >>> 16) != 0) {
1150 x = t
1151 r += 16
1152 }
1153 if ((t = x >> 8) != 0) {
1154 x = t
1155 r += 8
1156 }
1157 if ((t = x >> 4) != 0) {
1158 x = t
1159 r += 4
1160 }
1161 if ((t = x >> 2) != 0) {
1162 x = t
1163 r += 2
3af2954a 1164 }
ab78acc6
IC
1165 if ((t = x >> 1) != 0) {
1166 x = t
1167 r += 1
1168 }
1169 return r
1170}
1171
1172// (public) return the number of bits in "this"
1173function bnBitLength() {
1174 if (this.t <= 0) return 0
1175 return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
1176}
3af2954a 1177
ab78acc6
IC
1178// (public) return the number of bytes in "this"
1179function bnByteLength() {
1180 return this.bitLength() >> 3
1181}
3af2954a 1182
ab78acc6
IC
1183// (protected) r = this << n*DB
1184function bnpDLShiftTo(n, r) {
1185 var i
1186 for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]
1187 for (i = n - 1; i >= 0; --i) r[i] = 0
1188 r.t = this.t + n
1189 r.s = this.s
1190}
3af2954a 1191
ab78acc6
IC
1192// (protected) r = this >> n*DB
1193function bnpDRShiftTo(n, r) {
1194 for (var i = n; i < this.t; ++i) r[i - n] = this[i]
1195 r.t = Math.max(this.t - n, 0)
1196 r.s = this.s
1197}
3af2954a 1198
ab78acc6
IC
1199// (protected) r = this << n
1200function bnpLShiftTo(n, r) {
1201 var self = this
1202 var bs = n % self.DB
1203 var cbs = self.DB - bs
1204 var bm = (1 << cbs) - 1
1205 var ds = Math.floor(n / self.DB),
1206 c = (self.s << bs) & self.DM,
1207 i
1208 for (i = self.t - 1; i >= 0; --i) {
1209 r[i + ds + 1] = (self[i] >> cbs) | c
1210 c = (self[i] & bm) << bs
1211 }
1212 for (i = ds - 1; i >= 0; --i) r[i] = 0
1213 r[ds] = c
1214 r.t = self.t + ds + 1
1215 r.s = self.s
1216 r.clamp()
1217}
3af2954a 1218
ab78acc6
IC
1219// (protected) r = this >> n
1220function bnpRShiftTo(n, r) {
1221 var self = this
1222 r.s = self.s
1223 var ds = Math.floor(n / self.DB)
1224 if (ds >= self.t) {
1225 r.t = 0
1226 return
3af2954a 1227 }
ab78acc6
IC
1228 var bs = n % self.DB
1229 var cbs = self.DB - bs
1230 var bm = (1 << bs) - 1
1231 r[0] = self[ds] >> bs
1232 for (var i = ds + 1; i < self.t; ++i) {
1233 r[i - ds - 1] |= (self[i] & bm) << cbs
1234 r[i - ds] = self[i] >> bs
1235 }
1236 if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs
1237 r.t = self.t - ds
1238 r.clamp()
1239}
3af2954a 1240
ab78acc6
IC
1241// (protected) r = this - a
1242function bnpSubTo(a, r) {
1243 var self = this
1244 var i = 0,
1245 c = 0,
1246 m = Math.min(a.t, self.t)
1247 while (i < m) {
1248 c += self[i] - a[i]
1249 r[i++] = c & self.DM
1250 c >>= self.DB
1251 }
1252 if (a.t < self.t) {
1253 c -= a.s
1254 while (i < self.t) {
1255 c += self[i]
1256 r[i++] = c & self.DM
1257 c >>= self.DB
1258 }
1259 c += self.s
1260 } else {
1261 c += self.s
1262 while (i < a.t) {
1263 c -= a[i]
1264 r[i++] = c & self.DM
1265 c >>= self.DB
1266 }
1267 c -= a.s
1268 }
1269 r.s = (c < 0) ? -1 : 0
1270 if (c < -1) r[i++] = self.DV + c
1271 else if (c > 0) r[i++] = c
1272 r.t = i
1273 r.clamp()
1274}
3af2954a 1275
ab78acc6
IC
1276// (protected) r = this * a, r != this,a (HAC 14.12)
1277// "this" should be the larger one if appropriate.
1278function bnpMultiplyTo(a, r) {
1279 var x = this.abs(),
1280 y = a.abs()
1281 var i = x.t
1282 r.t = i + y.t
1283 while (--i >= 0) r[i] = 0
1284 for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)
1285 r.s = 0
1286 r.clamp()
1287 if (this.s != a.s) BigInteger.ZERO.subTo(r, r)
1288}
3af2954a 1289
ab78acc6
IC
1290// (protected) r = this^2, r != this (HAC 14.16)
1291function bnpSquareTo(r) {
1292 var x = this.abs()
1293 var i = r.t = 2 * x.t
1294 while (--i >= 0) r[i] = 0
1295 for (i = 0; i < x.t - 1; ++i) {
1296 var c = x.am(i, x[i], r, 2 * i, 0, 1)
1297 if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
1298 r[i + x.t] -= x.DV
1299 r[i + x.t + 1] = 1
1300 }
1301 }
1302 if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)
1303 r.s = 0
1304 r.clamp()
1305}
3af2954a 1306
ab78acc6
IC
1307// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
1308// r != q, this != m. q or r may be null.
1309function bnpDivRemTo(m, q, r) {
1310 var self = this
1311 var pm = m.abs()
1312 if (pm.t <= 0) return
1313 var pt = self.abs()
1314 if (pt.t < pm.t) {
1315 if (q != null) q.fromInt(0)
1316 if (r != null) self.copyTo(r)
1317 return
1318 }
1319 if (r == null) r = new BigInteger()
1320 var y = new BigInteger(),
1321 ts = self.s,
1322 ms = m.s
1323 var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus
1324 if (nsh > 0) {
1325 pm.lShiftTo(nsh, y)
1326 pt.lShiftTo(nsh, r)
1327 } else {
1328 pm.copyTo(y)
1329 pt.copyTo(r)
1330 }
1331 var ys = y.t
1332 var y0 = y[ys - 1]
1333 if (y0 == 0) return
1334 var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)
1335 var d1 = self.FV / yt,
1336 d2 = (1 << self.F1) / yt,
1337 e = 1 << self.F2
1338 var i = r.t,
1339 j = i - ys,
1340 t = (q == null) ? new BigInteger() : q
1341 y.dlShiftTo(j, t)
1342 if (r.compareTo(t) >= 0) {
1343 r[r.t++] = 1
1344 r.subTo(t, r)
1345 }
1346 BigInteger.ONE.dlShiftTo(ys, t)
1347 t.subTo(y, y); // "negative" y so we can replace sub with am later
1348 while (y.t < ys) y[y.t++] = 0
1349 while (--j >= 0) {
1350 // Estimate quotient digit
1351 var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)
1352 if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
1353 y.dlShiftTo(j, t)
1354 r.subTo(t, r)
1355 while (r[i] < --qd) r.subTo(t, r)
3af2954a 1356 }
ab78acc6
IC
1357 }
1358 if (q != null) {
1359 r.drShiftTo(ys, q)
1360 if (ts != ms) BigInteger.ZERO.subTo(q, q)
1361 }
1362 r.t = ys
1363 r.clamp()
1364 if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
1365 if (ts < 0) BigInteger.ZERO.subTo(r, r)
1366}
3af2954a 1367
ab78acc6
IC
1368// (public) this mod a
1369function bnMod(a) {
1370 var r = new BigInteger()
1371 this.abs()
1372 .divRemTo(a, null, r)
1373 if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)
1374 return r
1375}
3af2954a 1376
ab78acc6
IC
1377// Modular reduction using "classic" algorithm
1378function Classic(m) {
1379 this.m = m
1380}
3af2954a 1381
ab78acc6
IC
1382function cConvert(x) {
1383 if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)
1384 else return x
1385}
1386
1387function cRevert(x) {
1388 return x
1389}
3af2954a 1390
ab78acc6
IC
1391function cReduce(x) {
1392 x.divRemTo(this.m, null, x)
1393}
3af2954a 1394
ab78acc6
IC
1395function cMulTo(x, y, r) {
1396 x.multiplyTo(y, r)
1397 this.reduce(r)
1398}
3af2954a 1399
ab78acc6
IC
1400function cSqrTo(x, r) {
1401 x.squareTo(r)
1402 this.reduce(r)
1403}
3af2954a 1404
ab78acc6
IC
1405Classic.prototype.convert = cConvert
1406Classic.prototype.revert = cRevert
1407Classic.prototype.reduce = cReduce
1408Classic.prototype.mulTo = cMulTo
1409Classic.prototype.sqrTo = cSqrTo
3af2954a 1410
ab78acc6
IC
1411// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1412// justification:
1413// xy == 1 (mod m)
1414// xy = 1+km
1415// xy(2-xy) = (1+km)(1-km)
1416// x[y(2-xy)] = 1-k^2m^2
1417// x[y(2-xy)] == 1 (mod m^2)
1418// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1419// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1420// JS multiply "overflows" differently from C/C++, so care is needed here.
1421function bnpInvDigit() {
1422 if (this.t < 1) return 0
1423 var x = this[0]
1424 if ((x & 1) == 0) return 0
1425 var y = x & 3; // y == 1/x mod 2^2
1426 y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1427 y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1428 y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1429 // last step - calculate inverse mod DV directly
1430 // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1431 y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1432 // we really want the negative inverse, and -DV < y < DV
1433 return (y > 0) ? this.DV - y : -y
1434}
3af2954a 1435
ab78acc6
IC
1436// Montgomery reduction
1437function Montgomery(m) {
1438 this.m = m
1439 this.mp = m.invDigit()
1440 this.mpl = this.mp & 0x7fff
1441 this.mph = this.mp >> 15
1442 this.um = (1 << (m.DB - 15)) - 1
1443 this.mt2 = 2 * m.t
1444}
3af2954a 1445
ab78acc6
IC
1446// xR mod m
1447function montConvert(x) {
1448 var r = new BigInteger()
1449 x.abs()
1450 .dlShiftTo(this.m.t, r)
1451 r.divRemTo(this.m, null, r)
1452 if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)
1453 return r
1454}
3af2954a 1455
ab78acc6
IC
1456// x/R mod m
1457function montRevert(x) {
1458 var r = new BigInteger()
1459 x.copyTo(r)
1460 this.reduce(r)
1461 return r
1462}
3af2954a 1463
ab78acc6
IC
1464// x = x/R mod m (HAC 14.32)
1465function montReduce(x) {
1466 while (x.t <= this.mt2) // pad x so am has enough room later
1467 x[x.t++] = 0
1468 for (var i = 0; i < this.m.t; ++i) {
1469 // faster way of calculating u0 = x[i]*mp mod DV
1470 var j = x[i] & 0x7fff
1471 var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM
1472 // use am to combine the multiply-shift-add into one call
1473 j = i + this.m.t
1474 x[j] += this.m.am(0, u0, x, i, 0, this.m.t)
1475 // propagate carry
1476 while (x[j] >= x.DV) {
1477 x[j] -= x.DV
1478 x[++j]++
1479 }
1480 }
1481 x.clamp()
1482 x.drShiftTo(this.m.t, x)
1483 if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)
1484}
3af2954a 1485
ab78acc6
IC
1486// r = "x^2/R mod m"; x != r
1487function montSqrTo(x, r) {
1488 x.squareTo(r)
1489 this.reduce(r)
1490}
3af2954a 1491
ab78acc6
IC
1492// r = "xy/R mod m"; x,y != r
1493function montMulTo(x, y, r) {
1494 x.multiplyTo(y, r)
1495 this.reduce(r)
1496}
3af2954a 1497
ab78acc6
IC
1498Montgomery.prototype.convert = montConvert
1499Montgomery.prototype.revert = montRevert
1500Montgomery.prototype.reduce = montReduce
1501Montgomery.prototype.mulTo = montMulTo
1502Montgomery.prototype.sqrTo = montSqrTo
3af2954a 1503
ab78acc6
IC
1504// (protected) true iff this is even
1505function bnpIsEven() {
1506 return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
1507}
3af2954a 1508
ab78acc6
IC
1509// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1510function bnpExp(e, z) {
1511 if (e > 0xffffffff || e < 1) return BigInteger.ONE
1512 var r = new BigInteger(),
1513 r2 = new BigInteger(),
1514 g = z.convert(this),
1515 i = nbits(e) - 1
1516 g.copyTo(r)
1517 while (--i >= 0) {
1518 z.sqrTo(r, r2)
1519 if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)
1520 else {
1521 var t = r
1522 r = r2
1523 r2 = t
3af2954a 1524 }
3af2954a 1525 }
ab78acc6
IC
1526 return z.revert(r)
1527}
3af2954a 1528
ab78acc6
IC
1529// (public) this^e % m, 0 <= e < 2^32
1530function bnModPowInt(e, m) {
1531 var z
1532 if (e < 256 || m.isEven()) z = new Classic(m)
1533 else z = new Montgomery(m)
1534 return this.exp(e, z)
1535}
3af2954a 1536
ab78acc6
IC
1537// protected
1538proto.copyTo = bnpCopyTo
1539proto.fromInt = bnpFromInt
1540proto.fromString = bnpFromString
1541proto.clamp = bnpClamp
1542proto.dlShiftTo = bnpDLShiftTo
1543proto.drShiftTo = bnpDRShiftTo
1544proto.lShiftTo = bnpLShiftTo
1545proto.rShiftTo = bnpRShiftTo
1546proto.subTo = bnpSubTo
1547proto.multiplyTo = bnpMultiplyTo
1548proto.squareTo = bnpSquareTo
1549proto.divRemTo = bnpDivRemTo
1550proto.invDigit = bnpInvDigit
1551proto.isEven = bnpIsEven
1552proto.exp = bnpExp
3af2954a 1553
ab78acc6
IC
1554// public
1555proto.toString = bnToString
1556proto.negate = bnNegate
1557proto.abs = bnAbs
1558proto.compareTo = bnCompareTo
1559proto.bitLength = bnBitLength
1560proto.byteLength = bnByteLength
1561proto.mod = bnMod
1562proto.modPowInt = bnModPowInt
3af2954a 1563
ab78acc6
IC
1564// (public)
1565function bnClone() {
1566 var r = new BigInteger()
1567 this.copyTo(r)
1568 return r
1569}
3af2954a 1570
ab78acc6
IC
1571// (public) return value as integer
1572function bnIntValue() {
1573 if (this.s < 0) {
1574 if (this.t == 1) return this[0] - this.DV
1575 else if (this.t == 0) return -1
1576 } else if (this.t == 1) return this[0]
1577 else if (this.t == 0) return 0
1578 // assumes 16 < DB < 32
1579 return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]
1580}
3af2954a 1581
ab78acc6
IC
1582// (public) return value as byte
1583function bnByteValue() {
1584 return (this.t == 0) ? this.s : (this[0] << 24) >> 24
1585}
3af2954a 1586
ab78acc6
IC
1587// (public) return value as short (assumes DB>=16)
1588function bnShortValue() {
1589 return (this.t == 0) ? this.s : (this[0] << 16) >> 16
1590}
3af2954a 1591
ab78acc6
IC
1592// (protected) return x s.t. r^x < DV
1593function bnpChunkSize(r) {
1594 return Math.floor(Math.LN2 * this.DB / Math.log(r))
1595}
3af2954a 1596
ab78acc6
IC
1597// (public) 0 if this == 0, 1 if this > 0
1598function bnSigNum() {
1599 if (this.s < 0) return -1
1600 else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0
1601 else return 1
1602}
3af2954a 1603
ab78acc6
IC
1604// (protected) convert to radix string
1605function bnpToRadix(b) {
1606 if (b == null) b = 10
1607 if (this.signum() == 0 || b < 2 || b > 36) return "0"
1608 var cs = this.chunkSize(b)
1609 var a = Math.pow(b, cs)
1610 var d = nbv(a),
1611 y = new BigInteger(),
1612 z = new BigInteger(),
1613 r = ""
1614 this.divRemTo(d, y, z)
1615 while (y.signum() > 0) {
1616 r = (a + z.intValue())
1617 .toString(b)
1618 .substr(1) + r
1619 y.divRemTo(d, y, z)
1620 }
1621 return z.intValue()
1622 .toString(b) + r
1623}
3af2954a 1624
ab78acc6
IC
1625// (protected) convert from radix string
1626function bnpFromRadix(s, b) {
1627 var self = this
1628 self.fromInt(0)
1629 if (b == null) b = 10
1630 var cs = self.chunkSize(b)
1631 var d = Math.pow(b, cs),
1632 mi = false,
1633 j = 0,
1634 w = 0
1635 for (var i = 0; i < s.length; ++i) {
1636 var x = intAt(s, i)
1637 if (x < 0) {
1638 if (s.charAt(i) == "-" && self.signum() == 0) mi = true
1639 continue
1640 }
1641 w = b * w + x
1642 if (++j >= cs) {
1643 self.dMultiply(d)
1644 self.dAddOffset(w, 0)
1645 j = 0
1646 w = 0
1647 }
1648 }
1649 if (j > 0) {
1650 self.dMultiply(Math.pow(b, j))
1651 self.dAddOffset(w, 0)
1652 }
1653 if (mi) BigInteger.ZERO.subTo(self, self)
1654}
3af2954a 1655
ab78acc6
IC
1656// (protected) alternate constructor
1657function bnpFromNumber(a, b, c) {
1658 var self = this
1659 if ("number" == typeof b) {
1660 // new BigInteger(int,int,RNG)
1661 if (a < 2) self.fromInt(1)
1662 else {
1663 self.fromNumber(a, c)
1664 if (!self.testBit(a - 1)) // force MSB set
1665 self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)
1666 if (self.isEven()) self.dAddOffset(1, 0); // force odd
1667 while (!self.isProbablePrime(b)) {
1668 self.dAddOffset(2, 0)
1669 if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)
1670 }
1671 }
1672 } else {
1673 // new BigInteger(int,RNG)
1674 var x = new Array(),
1675 t = a & 7
1676 x.length = (a >> 3) + 1
1677 b.nextBytes(x)
1678 if (t > 0) x[0] &= ((1 << t) - 1)
1679 else x[0] = 0
1680 self.fromString(x, 256)
3af2954a 1681 }
ab78acc6 1682}
3af2954a 1683
ab78acc6
IC
1684// (public) convert to bigendian byte array
1685function bnToByteArray() {
1686 var self = this
1687 var i = self.t,
1688 r = new Array()
1689 r[0] = self.s
1690 var p = self.DB - (i * self.DB) % 8,
1691 d, k = 0
1692 if (i-- > 0) {
1693 if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)
1694 r[k++] = d | (self.s << (self.DB - p))
1695 while (i >= 0) {
1696 if (p < 8) {
1697 d = (self[i] & ((1 << p) - 1)) << (8 - p)
1698 d |= self[--i] >> (p += self.DB - 8)
1699 } else {
1700 d = (self[i] >> (p -= 8)) & 0xff
1701 if (p <= 0) {
1702 p += self.DB
1703 --i
1704 }
1705 }
1706 if ((d & 0x80) != 0) d |= -256
1707 if (k === 0 && (self.s & 0x80) != (d & 0x80))++k
1708 if (k > 0 || d != self.s) r[k++] = d
3af2954a 1709 }
3af2954a 1710 }
ab78acc6
IC
1711 return r
1712}
3af2954a 1713
ab78acc6
IC
1714function bnEquals(a) {
1715 return (this.compareTo(a) == 0)
1716}
3af2954a 1717
ab78acc6
IC
1718function bnMin(a) {
1719 return (this.compareTo(a) < 0) ? this : a
1720}
3af2954a 1721
ab78acc6
IC
1722function bnMax(a) {
1723 return (this.compareTo(a) > 0) ? this : a
1724}
3af2954a 1725
ab78acc6
IC
1726// (protected) r = this op a (bitwise)
1727function bnpBitwiseTo(a, op, r) {
1728 var self = this
1729 var i, f, m = Math.min(a.t, self.t)
1730 for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])
1731 if (a.t < self.t) {
1732 f = a.s & self.DM
1733 for (i = m; i < self.t; ++i) r[i] = op(self[i], f)
1734 r.t = self.t
1735 } else {
1736 f = self.s & self.DM
1737 for (i = m; i < a.t; ++i) r[i] = op(f, a[i])
1738 r.t = a.t
3af2954a 1739 }
ab78acc6
IC
1740 r.s = op(self.s, a.s)
1741 r.clamp()
1742}
3af2954a 1743
ab78acc6
IC
1744// (public) this & a
1745function op_and(x, y) {
1746 return x & y
1747}
3af2954a 1748
ab78acc6
IC
1749function bnAnd(a) {
1750 var r = new BigInteger()
1751 this.bitwiseTo(a, op_and, r)
1752 return r
1753}
3af2954a 1754
ab78acc6
IC
1755// (public) this | a
1756function op_or(x, y) {
1757 return x | y
1758}
3af2954a 1759
ab78acc6
IC
1760function bnOr(a) {
1761 var r = new BigInteger()
1762 this.bitwiseTo(a, op_or, r)
1763 return r
1764}
3af2954a 1765
ab78acc6
IC
1766// (public) this ^ a
1767function op_xor(x, y) {
1768 return x ^ y
1769}
3af2954a 1770
ab78acc6
IC
1771function bnXor(a) {
1772 var r = new BigInteger()
1773 this.bitwiseTo(a, op_xor, r)
1774 return r
1775}
3af2954a 1776
ab78acc6
IC
1777// (public) this & ~a
1778function op_andnot(x, y) {
1779 return x & ~y
1780}
3af2954a 1781
ab78acc6
IC
1782function bnAndNot(a) {
1783 var r = new BigInteger()
1784 this.bitwiseTo(a, op_andnot, r)
1785 return r
1786}
3af2954a 1787
ab78acc6
IC
1788// (public) ~this
1789function bnNot() {
1790 var r = new BigInteger()
1791 for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]
1792 r.t = this.t
1793 r.s = ~this.s
1794 return r
1795}
3af2954a 1796
ab78acc6
IC
1797// (public) this << n
1798function bnShiftLeft(n) {
1799 var r = new BigInteger()
1800 if (n < 0) this.rShiftTo(-n, r)
1801 else this.lShiftTo(n, r)
1802 return r
1803}
3af2954a 1804
ab78acc6
IC
1805// (public) this >> n
1806function bnShiftRight(n) {
1807 var r = new BigInteger()
1808 if (n < 0) this.lShiftTo(-n, r)
1809 else this.rShiftTo(n, r)
1810 return r
1811}
3af2954a 1812
ab78acc6
IC
1813// return index of lowest 1-bit in x, x < 2^31
1814function lbit(x) {
1815 if (x == 0) return -1
1816 var r = 0
1817 if ((x & 0xffff) == 0) {
1818 x >>= 16
1819 r += 16
3af2954a 1820 }
ab78acc6
IC
1821 if ((x & 0xff) == 0) {
1822 x >>= 8
1823 r += 8
1824 }
1825 if ((x & 0xf) == 0) {
1826 x >>= 4
1827 r += 4
1828 }
1829 if ((x & 3) == 0) {
1830 x >>= 2
1831 r += 2
1832 }
1833 if ((x & 1) == 0)++r
1834 return r
1835}
3af2954a 1836
ab78acc6
IC
1837// (public) returns index of lowest 1-bit (or -1 if none)
1838function bnGetLowestSetBit() {
1839 for (var i = 0; i < this.t; ++i)
1840 if (this[i] != 0) return i * this.DB + lbit(this[i])
1841 if (this.s < 0) return this.t * this.DB
1842 return -1
1843}
3af2954a 1844
ab78acc6
IC
1845// return number of 1 bits in x
1846function cbit(x) {
1847 var r = 0
1848 while (x != 0) {
1849 x &= x - 1
1850 ++r
3af2954a 1851 }
ab78acc6
IC
1852 return r
1853}
3af2954a 1854
ab78acc6
IC
1855// (public) return number of set bits
1856function bnBitCount() {
1857 var r = 0,
1858 x = this.s & this.DM
1859 for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)
1860 return r
1861}
1862
1863// (public) true iff nth bit is set
1864function bnTestBit(n) {
1865 var j = Math.floor(n / this.DB)
1866 if (j >= this.t) return (this.s != 0)
1867 return ((this[j] & (1 << (n % this.DB))) != 0)
1868}
3af2954a 1869
ab78acc6
IC
1870// (protected) this op (1<<n)
1871function bnpChangeBit(n, op) {
1872 var r = BigInteger.ONE.shiftLeft(n)
1873 this.bitwiseTo(r, op, r)
1874 return r
1875}
3af2954a 1876
ab78acc6
IC
1877// (public) this | (1<<n)
1878function bnSetBit(n) {
1879 return this.changeBit(n, op_or)
1880}
3af2954a 1881
ab78acc6
IC
1882// (public) this & ~(1<<n)
1883function bnClearBit(n) {
1884 return this.changeBit(n, op_andnot)
1885}
3af2954a 1886
ab78acc6
IC
1887// (public) this ^ (1<<n)
1888function bnFlipBit(n) {
1889 return this.changeBit(n, op_xor)
1890}
3af2954a 1891
ab78acc6
IC
1892// (protected) r = this + a
1893function bnpAddTo(a, r) {
1894 var self = this
3af2954a 1895
ab78acc6
IC
1896 var i = 0,
1897 c = 0,
1898 m = Math.min(a.t, self.t)
1899 while (i < m) {
1900 c += self[i] + a[i]
1901 r[i++] = c & self.DM
1902 c >>= self.DB
1903 }
1904 if (a.t < self.t) {
1905 c += a.s
1906 while (i < self.t) {
1907 c += self[i]
1908 r[i++] = c & self.DM
1909 c >>= self.DB
1910 }
1911 c += self.s
1912 } else {
1913 c += self.s
1914 while (i < a.t) {
1915 c += a[i]
1916 r[i++] = c & self.DM
1917 c >>= self.DB
1918 }
1919 c += a.s
1920 }
1921 r.s = (c < 0) ? -1 : 0
1922 if (c > 0) r[i++] = c
1923 else if (c < -1) r[i++] = self.DV + c
1924 r.t = i
1925 r.clamp()
1926}
3af2954a 1927
ab78acc6
IC
1928// (public) this + a
1929function bnAdd(a) {
1930 var r = new BigInteger()
1931 this.addTo(a, r)
1932 return r
1933}
3af2954a 1934
ab78acc6
IC
1935// (public) this - a
1936function bnSubtract(a) {
1937 var r = new BigInteger()
1938 this.subTo(a, r)
1939 return r
1940}
3af2954a 1941
ab78acc6
IC
1942// (public) this * a
1943function bnMultiply(a) {
1944 var r = new BigInteger()
1945 this.multiplyTo(a, r)
1946 return r
1947}
3af2954a 1948
ab78acc6
IC
1949// (public) this^2
1950function bnSquare() {
1951 var r = new BigInteger()
1952 this.squareTo(r)
1953 return r
1954}
3af2954a 1955
ab78acc6
IC
1956// (public) this / a
1957function bnDivide(a) {
1958 var r = new BigInteger()
1959 this.divRemTo(a, r, null)
1960 return r
1961}
3af2954a 1962
ab78acc6
IC
1963// (public) this % a
1964function bnRemainder(a) {
1965 var r = new BigInteger()
1966 this.divRemTo(a, null, r)
1967 return r
1968}
3af2954a 1969
ab78acc6
IC
1970// (public) [this/a,this%a]
1971function bnDivideAndRemainder(a) {
1972 var q = new BigInteger(),
1973 r = new BigInteger()
1974 this.divRemTo(a, q, r)
1975 return new Array(q, r)
1976}
3af2954a 1977
ab78acc6
IC
1978// (protected) this *= n, this >= 0, 1 < n < DV
1979function bnpDMultiply(n) {
1980 this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)
1981 ++this.t
1982 this.clamp()
1983}
3af2954a 1984
ab78acc6
IC
1985// (protected) this += n << w words, this >= 0
1986function bnpDAddOffset(n, w) {
1987 if (n == 0) return
1988 while (this.t <= w) this[this.t++] = 0
1989 this[w] += n
1990 while (this[w] >= this.DV) {
1991 this[w] -= this.DV
1992 if (++w >= this.t) this[this.t++] = 0
1993 ++this[w]
3af2954a 1994 }
ab78acc6 1995}
3af2954a 1996
ab78acc6
IC
1997// A "null" reducer
1998function NullExp() {}
3af2954a 1999
ab78acc6
IC
2000function nNop(x) {
2001 return x
2002}
3af2954a 2003
ab78acc6
IC
2004function nMulTo(x, y, r) {
2005 x.multiplyTo(y, r)
2006}
3af2954a 2007
ab78acc6
IC
2008function nSqrTo(x, r) {
2009 x.squareTo(r)
2010}
3af2954a 2011
ab78acc6
IC
2012NullExp.prototype.convert = nNop
2013NullExp.prototype.revert = nNop
2014NullExp.prototype.mulTo = nMulTo
2015NullExp.prototype.sqrTo = nSqrTo
3af2954a 2016
ab78acc6
IC
2017// (public) this^e
2018function bnPow(e) {
2019 return this.exp(e, new NullExp())
2020}
3af2954a 2021
ab78acc6
IC
2022// (protected) r = lower n words of "this * a", a.t <= n
2023// "this" should be the larger one if appropriate.
2024function bnpMultiplyLowerTo(a, n, r) {
2025 var i = Math.min(this.t + a.t, n)
2026 r.s = 0; // assumes a,this >= 0
2027 r.t = i
2028 while (i > 0) r[--i] = 0
2029 var j
2030 for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)
2031 for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)
2032 r.clamp()
2033}
3af2954a 2034
ab78acc6
IC
2035// (protected) r = "this * a" without lower n words, n > 0
2036// "this" should be the larger one if appropriate.
2037function bnpMultiplyUpperTo(a, n, r) {
2038 --n
2039 var i = r.t = this.t + a.t - n
2040 r.s = 0; // assumes a,this >= 0
2041 while (--i >= 0) r[i] = 0
2042 for (i = Math.max(n - this.t, 0); i < a.t; ++i)
2043 r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)
2044 r.clamp()
2045 r.drShiftTo(1, r)
2046}
3af2954a 2047
ab78acc6
IC
2048// Barrett modular reduction
2049function Barrett(m) {
2050 // setup Barrett
2051 this.r2 = new BigInteger()
2052 this.q3 = new BigInteger()
2053 BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)
2054 this.mu = this.r2.divide(m)
2055 this.m = m
2056}
3af2954a 2057
ab78acc6
IC
2058function barrettConvert(x) {
2059 if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)
2060 else if (x.compareTo(this.m) < 0) return x
2061 else {
2062 var r = new BigInteger()
2063 x.copyTo(r)
2064 this.reduce(r)
2065 return r
3af2954a 2066 }
ab78acc6 2067}
3af2954a 2068
ab78acc6
IC
2069function barrettRevert(x) {
2070 return x
2071}
3af2954a 2072
ab78acc6
IC
2073// x = x mod m (HAC 14.42)
2074function barrettReduce(x) {
2075 var self = this
2076 x.drShiftTo(self.m.t - 1, self.r2)
2077 if (x.t > self.m.t + 1) {
2078 x.t = self.m.t + 1
2079 x.clamp()
3af2954a 2080 }
ab78acc6
IC
2081 self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)
2082 self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)
2083 while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)
2084 x.subTo(self.r2, x)
2085 while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)
2086}
3af2954a 2087
ab78acc6
IC
2088// r = x^2 mod m; x != r
2089function barrettSqrTo(x, r) {
2090 x.squareTo(r)
2091 this.reduce(r)
2092}
3af2954a 2093
ab78acc6
IC
2094// r = x*y mod m; x,y != r
2095function barrettMulTo(x, y, r) {
2096 x.multiplyTo(y, r)
2097 this.reduce(r)
2098}
3af2954a 2099
ab78acc6
IC
2100Barrett.prototype.convert = barrettConvert
2101Barrett.prototype.revert = barrettRevert
2102Barrett.prototype.reduce = barrettReduce
2103Barrett.prototype.mulTo = barrettMulTo
2104Barrett.prototype.sqrTo = barrettSqrTo
3af2954a 2105
ab78acc6
IC
2106// (public) this^e % m (HAC 14.85)
2107function bnModPow(e, m) {
2108 var i = e.bitLength(),
2109 k, r = nbv(1),
2110 z
2111 if (i <= 0) return r
2112 else if (i < 18) k = 1
2113 else if (i < 48) k = 3
2114 else if (i < 144) k = 4
2115 else if (i < 768) k = 5
2116 else k = 6
2117 if (i < 8)
2118 z = new Classic(m)
2119 else if (m.isEven())
2120 z = new Barrett(m)
2121 else
2122 z = new Montgomery(m)
3af2954a 2123
ab78acc6
IC
2124 // precomputation
2125 var g = new Array(),
2126 n = 3,
2127 k1 = k - 1,
2128 km = (1 << k) - 1
2129 g[1] = z.convert(this)
2130 if (k > 1) {
2131 var g2 = new BigInteger()
2132 z.sqrTo(g[1], g2)
2133 while (n <= km) {
2134 g[n] = new BigInteger()
2135 z.mulTo(g2, g[n - 2], g[n])
2136 n += 2
2137 }
2138 }
2139
2140 var j = e.t - 1,
2141 w, is1 = true,
2142 r2 = new BigInteger(),
2143 t
2144 i = nbits(e[j]) - 1
2145 while (j >= 0) {
2146 if (i >= k1) w = (e[j] >> (i - k1)) & km
2147 else {
2148 w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)
2149 if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)
2150 }
3af2954a 2151
ab78acc6
IC
2152 n = k
2153 while ((w & 1) == 0) {
2154 w >>= 1
2155 --n
2156 }
2157 if ((i -= n) < 0) {
2158 i += this.DB
2159 --j
2160 }
2161 if (is1) { // ret == 1, don't bother squaring or multiplying it
2162 g[w].copyTo(r)
2163 is1 = false
2164 } else {
2165 while (n > 1) {
2166 z.sqrTo(r, r2)
2167 z.sqrTo(r2, r)
2168 n -= 2
2169 }
2170 if (n > 0) z.sqrTo(r, r2)
2171 else {
2172 t = r
2173 r = r2
2174 r2 = t
2175 }
2176 z.mulTo(r2, g[w], r)
2177 }
3af2954a 2178
ab78acc6
IC
2179 while (j >= 0 && (e[j] & (1 << i)) == 0) {
2180 z.sqrTo(r, r2)
2181 t = r
2182 r = r2
2183 r2 = t
2184 if (--i < 0) {
2185 i = this.DB - 1
2186 --j
3af2954a 2187 }
3af2954a
IC
2188 }
2189 }
ab78acc6
IC
2190 return z.revert(r)
2191}
3af2954a 2192
ab78acc6
IC
2193// (public) gcd(this,a) (HAC 14.54)
2194function bnGCD(a) {
2195 var x = (this.s < 0) ? this.negate() : this.clone()
2196 var y = (a.s < 0) ? a.negate() : a.clone()
2197 if (x.compareTo(y) < 0) {
2198 var t = x
2199 x = y
2200 y = t
2201 }
2202 var i = x.getLowestSetBit(),
2203 g = y.getLowestSetBit()
2204 if (g < 0) return x
2205 if (i < g) g = i
2206 if (g > 0) {
2207 x.rShiftTo(g, x)
2208 y.rShiftTo(g, y)
2209 }
2210 while (x.signum() > 0) {
2211 if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)
2212 if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)
2213 if (x.compareTo(y) >= 0) {
2214 x.subTo(y, x)
2215 x.rShiftTo(1, x)
2216 } else {
2217 y.subTo(x, y)
2218 y.rShiftTo(1, y)
2219 }
3af2954a 2220 }
ab78acc6
IC
2221 if (g > 0) y.lShiftTo(g, y)
2222 return y
2223}
3af2954a 2224
ab78acc6
IC
2225// (protected) this % n, n < 2^26
2226function bnpModInt(n) {
2227 if (n <= 0) return 0
2228 var d = this.DV % n,
2229 r = (this.s < 0) ? n - 1 : 0
2230 if (this.t > 0)
2231 if (d == 0) r = this[0] % n
2232 else
2233 for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n
2234 return r
2235}
3af2954a 2236
ab78acc6
IC
2237// (public) 1/this % m (HAC 14.61)
2238function bnModInverse(m) {
2239 var ac = m.isEven()
2240 if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO
2241 var u = m.clone(),
2242 v = this.clone()
2243 var a = nbv(1),
2244 b = nbv(0),
2245 c = nbv(0),
2246 d = nbv(1)
2247 while (u.signum() != 0) {
2248 while (u.isEven()) {
2249 u.rShiftTo(1, u)
2250 if (ac) {
2251 if (!a.isEven() || !b.isEven()) {
2252 a.addTo(this, a)
2253 b.subTo(m, b)
2254 }
2255 a.rShiftTo(1, a)
2256 } else if (!b.isEven()) b.subTo(m, b)
2257 b.rShiftTo(1, b)
2258 }
2259 while (v.isEven()) {
2260 v.rShiftTo(1, v)
2261 if (ac) {
2262 if (!c.isEven() || !d.isEven()) {
2263 c.addTo(this, c)
2264 d.subTo(m, d)
2265 }
2266 c.rShiftTo(1, c)
2267 } else if (!d.isEven()) d.subTo(m, d)
2268 d.rShiftTo(1, d)
2269 }
2270 if (u.compareTo(v) >= 0) {
2271 u.subTo(v, u)
2272 if (ac) a.subTo(c, a)
2273 b.subTo(d, b)
2274 } else {
2275 v.subTo(u, v)
2276 if (ac) c.subTo(a, c)
2277 d.subTo(b, d)
2278 }
2279 }
2280 if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO
2281 if (d.compareTo(m) >= 0) return d.subtract(m)
2282 if (d.signum() < 0) d.addTo(m, d)
2283 else return d
2284 if (d.signum() < 0) return d.add(m)
2285 else return d
2286}
2287
2288var lowprimes = [
2289 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
2290 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
2291 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
2292 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
2293 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
2294 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
2295 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
2296 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
2297 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
2298 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
2299 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
2300]
2301
2302var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]
2303
2304// (public) test primality with certainty >= 1-.5^t
2305function bnIsProbablePrime(t) {
2306 var i, x = this.abs()
2307 if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
2308 for (i = 0; i < lowprimes.length; ++i)
2309 if (x[0] == lowprimes[i]) return true
2310 return false
3af2954a 2311 }
ab78acc6
IC
2312 if (x.isEven()) return false
2313 i = 1
2314 while (i < lowprimes.length) {
2315 var m = lowprimes[i],
2316 j = i + 1
2317 while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]
2318 m = x.modInt(m)
2319 while (i < j) if (m % lowprimes[i++] == 0) return false
2320 }
2321 return x.millerRabin(t)
2322}
2323
2324// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
2325function bnpMillerRabin(t) {
2326 var n1 = this.subtract(BigInteger.ONE)
2327 var k = n1.getLowestSetBit()
2328 if (k <= 0) return false
2329 var r = n1.shiftRight(k)
2330 t = (t + 1) >> 1
2331 if (t > lowprimes.length) t = lowprimes.length
2332 var a = new BigInteger(null)
2333 var j, bases = []
2334 for (var i = 0; i < t; ++i) {
2335 for (;;) {
2336 j = lowprimes[Math.floor(Math.random() * lowprimes.length)]
2337 if (bases.indexOf(j) == -1) break
2338 }
2339 bases.push(j)
2340 a.fromInt(j)
2341 var y = a.modPow(r, this)
2342 if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
2343 var j = 1
2344 while (j++ < k && y.compareTo(n1) != 0) {
2345 y = y.modPowInt(2, this)
2346 if (y.compareTo(BigInteger.ONE) == 0) return false
2347 }
2348 if (y.compareTo(n1) != 0) return false
2349 }
3af2954a 2350 }
ab78acc6
IC
2351 return true
2352}
3af2954a 2353
ab78acc6
IC
2354// protected
2355proto.chunkSize = bnpChunkSize
2356proto.toRadix = bnpToRadix
2357proto.fromRadix = bnpFromRadix
2358proto.fromNumber = bnpFromNumber
2359proto.bitwiseTo = bnpBitwiseTo
2360proto.changeBit = bnpChangeBit
2361proto.addTo = bnpAddTo
2362proto.dMultiply = bnpDMultiply
2363proto.dAddOffset = bnpDAddOffset
2364proto.multiplyLowerTo = bnpMultiplyLowerTo
2365proto.multiplyUpperTo = bnpMultiplyUpperTo
2366proto.modInt = bnpModInt
2367proto.millerRabin = bnpMillerRabin
3af2954a 2368
ab78acc6
IC
2369// public
2370proto.clone = bnClone
2371proto.intValue = bnIntValue
2372proto.byteValue = bnByteValue
2373proto.shortValue = bnShortValue
2374proto.signum = bnSigNum
2375proto.toByteArray = bnToByteArray
2376proto.equals = bnEquals
2377proto.min = bnMin
2378proto.max = bnMax
2379proto.and = bnAnd
2380proto.or = bnOr
2381proto.xor = bnXor
2382proto.andNot = bnAndNot
2383proto.not = bnNot
2384proto.shiftLeft = bnShiftLeft
2385proto.shiftRight = bnShiftRight
2386proto.getLowestSetBit = bnGetLowestSetBit
2387proto.bitCount = bnBitCount
2388proto.testBit = bnTestBit
2389proto.setBit = bnSetBit
2390proto.clearBit = bnClearBit
2391proto.flipBit = bnFlipBit
2392proto.add = bnAdd
2393proto.subtract = bnSubtract
2394proto.multiply = bnMultiply
2395proto.divide = bnDivide
2396proto.remainder = bnRemainder
2397proto.divideAndRemainder = bnDivideAndRemainder
2398proto.modPow = bnModPow
2399proto.modInverse = bnModInverse
2400proto.pow = bnPow
2401proto.gcd = bnGCD
2402proto.isProbablePrime = bnIsProbablePrime
3af2954a 2403
ab78acc6
IC
2404// JSBN-specific extension
2405proto.square = bnSquare
3af2954a 2406
ab78acc6
IC
2407// constants
2408BigInteger.ZERO = nbv(0)
2409BigInteger.ONE = nbv(1)
2410BigInteger.valueOf = nbv
3af2954a 2411
ab78acc6 2412module.exports = BigInteger
3af2954a 2413
ab78acc6
IC
2414},{"../package.json":4}],2:[function(require,module,exports){
2415(function (Buffer){
2416// FIXME: Kind of a weird way to throw exceptions, consider removing
2417var assert = require('assert')
2418var BigInteger = require('./bigi')
3af2954a 2419
ab78acc6
IC
2420/**
2421 * Turns a byte array into a big integer.
2422 *
2423 * This function will interpret a byte array as a big integer in big
2424 * endian notation.
2425 */
2426BigInteger.fromByteArrayUnsigned = function(byteArray) {
2427 // BigInteger expects a DER integer conformant byte array
2428 if (byteArray[0] & 0x80) {
2429 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2430 }
2431
ab78acc6
IC
2432 return new BigInteger(byteArray)
2433}
3af2954a 2434
ab78acc6
IC
2435/**
2436 * Returns a byte array representation of the big integer.
2437 *
2438 * This returns the absolute of the contained value in big endian
2439 * form. A value of zero results in an empty array.
2440 */
2441BigInteger.prototype.toByteArrayUnsigned = function() {
2442 var byteArray = this.toByteArray()
2443 return byteArray[0] === 0 ? byteArray.slice(1) : byteArray
2444}
3af2954a 2445
ab78acc6
IC
2446BigInteger.fromDERInteger = function(byteArray) {
2447 return new BigInteger(byteArray)
2448}
3af2954a 2449
ab78acc6
IC
2450/*
2451 * Converts BigInteger to a DER integer representation.
2452 *
2453 * The format for this value uses the most significant bit as a sign
2454 * bit. If the most significant bit is already set and the integer is
2455 * positive, a 0x00 is prepended.
2456 *
2457 * Examples:
2458 *
2459 * 0 => 0x00
2460 * 1 => 0x01
2461 * -1 => 0xff
2462 * 127 => 0x7f
2463 * -127 => 0x81
2464 * 128 => 0x0080
2465 * -128 => 0x80
2466 * 255 => 0x00ff
2467 * -255 => 0xff01
2468 * 16300 => 0x3fac
2469 * -16300 => 0xc054
2470 * 62300 => 0x00f35c
2471 * -62300 => 0xff0ca4
2472*/
2473BigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray
3af2954a 2474
ab78acc6
IC
2475BigInteger.fromBuffer = function(buffer) {
2476 // BigInteger expects a DER integer conformant byte array
2477 if (buffer[0] & 0x80) {
2478 var byteArray = Array.prototype.slice.call(buffer)
3af2954a 2479
ab78acc6 2480 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2481 }
2482
ab78acc6
IC
2483 return new BigInteger(buffer)
2484}
3af2954a 2485
ab78acc6
IC
2486BigInteger.fromHex = function(hex) {
2487 if (hex === '') return BigInteger.ZERO
3af2954a 2488
ab78acc6
IC
2489 assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')
2490 assert.equal(hex.length % 2, 0, 'Incomplete hex')
2491 return new BigInteger(hex, 16)
2492}
3af2954a 2493
ab78acc6
IC
2494BigInteger.prototype.toBuffer = function(size) {
2495 var byteArray = this.toByteArrayUnsigned()
2496 var zeros = []
3af2954a 2497
ab78acc6
IC
2498 var padding = size - byteArray.length
2499 while (zeros.length < padding) zeros.push(0)
3af2954a 2500
ab78acc6
IC
2501 return new Buffer(zeros.concat(byteArray))
2502}
3af2954a 2503
ab78acc6
IC
2504BigInteger.prototype.toHex = function(size) {
2505 return this.toBuffer(size).toString('hex')
2506}
3af2954a 2507
ab78acc6
IC
2508}).call(this,require("buffer").Buffer)
2509},{"./bigi":1,"assert":5,"buffer":7}],3:[function(require,module,exports){
2510var BigInteger = require('./bigi')
3af2954a 2511
ab78acc6
IC
2512//addons
2513require('./convert')
3af2954a 2514
ab78acc6
IC
2515module.exports = BigInteger
2516},{"./bigi":1,"./convert":2}],4:[function(require,module,exports){
2517module.exports={
2518 "name": "bigi",
2519 "version": "1.4.0",
2520 "description": "Big integers.",
2521 "keywords": [
2522 "cryptography",
2523 "math",
2524 "bitcoin",
2525 "arbitrary",
2526 "precision",
2527 "arithmetic",
2528 "big",
2529 "integer",
2530 "int",
2531 "number",
2532 "biginteger",
2533 "bigint",
2534 "bignumber",
2535 "decimal",
2536 "float"
2537 ],
2538 "devDependencies": {
2539 "mocha": "^1.20.1",
2540 "jshint": "^2.5.1",
2541 "coveralls": "^2.10.0",
2542 "istanbul": "^0.2.11"
2543 },
2544 "repository": {
2545 "url": "https://github.com/cryptocoinjs/bigi",
2546 "type": "git"
2547 },
2548 "main": "./lib/index.js",
2549 "scripts": {
2550 "test": "_mocha -- test/*.js",
2551 "jshint": "jshint --config jshint.json lib/*.js ; true",
2552 "unit": "mocha",
2553 "coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",
2554 "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"
2555 },
2556 "dependencies": {},
2557 "testling": {
2558 "files": "test/*.js",
2559 "harness": "mocha",
2560 "browsers": [
2561 "ie/9..latest",
2562 "firefox/latest",
2563 "chrome/latest",
2564 "safari/6.0..latest",
2565 "iphone/6.0..latest",
2566 "android-browser/4.2..latest"
2567 ]
2568 },
2569 "bugs": {
2570 "url": "https://github.com/cryptocoinjs/bigi/issues"
2571 },
2572 "homepage": "https://github.com/cryptocoinjs/bigi",
2573 "_id": "bigi@1.4.0",
2574 "dist": {
2575 "shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2576 "tarball": "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2577 },
2578 "_from": "bigi@^1.4.0",
2579 "_npmVersion": "1.4.3",
2580 "_npmUser": {
2581 "name": "jp",
2582 "email": "jprichardson@gmail.com"
2583 },
2584 "maintainers": [
2585 {
2586 "name": "jp",
2587 "email": "jprichardson@gmail.com"
2588 },
2589 {
2590 "name": "midnightlightning",
2591 "email": "boydb@midnightdesign.ws"
2592 },
2593 {
2594 "name": "sidazhang",
2595 "email": "sidazhang89@gmail.com"
2596 },
2597 {
2598 "name": "nadav",
2599 "email": "npm@shesek.info"
3af2954a 2600 }
ab78acc6
IC
2601 ],
2602 "directories": {},
2603 "_shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2604 "_resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2605}
3af2954a 2606
ab78acc6
IC
2607},{}],5:[function(require,module,exports){
2608// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
2609//
2610// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
2611//
2612// Originally from narwhal.js (http://narwhaljs.org)
2613// Copyright (c) 2009 Thomas Robinson <280north.com>
2614//
2615// Permission is hereby granted, free of charge, to any person obtaining a copy
2616// of this software and associated documentation files (the 'Software'), to
2617// deal in the Software without restriction, including without limitation the
2618// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2619// sell copies of the Software, and to permit persons to whom the Software is
2620// furnished to do so, subject to the following conditions:
2621//
2622// The above copyright notice and this permission notice shall be included in
2623// all copies or substantial portions of the Software.
2624//
2625// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2626// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2627// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2628// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
2629// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2630// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3af2954a 2631
ab78acc6
IC
2632// when used in node, this will actually load the util module we depend on
2633// versus loading the builtin util module as happens otherwise
2634// this is a bug in node module loading as far as I am concerned
2635var util = require('util/');
3af2954a 2636
ab78acc6
IC
2637var pSlice = Array.prototype.slice;
2638var hasOwn = Object.prototype.hasOwnProperty;
3af2954a 2639
ab78acc6
IC
2640// 1. The assert module provides functions that throw
2641// AssertionError's when particular conditions are not met. The
2642// assert module must conform to the following interface.
3af2954a 2643
ab78acc6 2644var assert = module.exports = ok;
3af2954a 2645
ab78acc6
IC
2646// 2. The AssertionError is defined in assert.
2647// new assert.AssertionError({ message: message,
2648// actual: actual,
2649// expected: expected })
3af2954a 2650
ab78acc6
IC
2651assert.AssertionError = function AssertionError(options) {
2652 this.name = 'AssertionError';
2653 this.actual = options.actual;
2654 this.expected = options.expected;
2655 this.operator = options.operator;
2656 if (options.message) {
2657 this.message = options.message;
2658 this.generatedMessage = false;
2659 } else {
2660 this.message = getMessage(this);
2661 this.generatedMessage = true;
2662 }
2663 var stackStartFunction = options.stackStartFunction || fail;
3af2954a 2664
ab78acc6
IC
2665 if (Error.captureStackTrace) {
2666 Error.captureStackTrace(this, stackStartFunction);
3af2954a 2667 }
ab78acc6
IC
2668 else {
2669 // non v8 browsers so we can have a stacktrace
2670 var err = new Error();
2671 if (err.stack) {
2672 var out = err.stack;
3af2954a 2673
ab78acc6
IC
2674 // try to strip useless frames
2675 var fn_name = stackStartFunction.name;
2676 var idx = out.indexOf('\n' + fn_name);
2677 if (idx >= 0) {
2678 // once we have located the function frame
2679 // we need to strip out everything before it (and its line)
2680 var next_line = out.indexOf('\n', idx + 1);
2681 out = out.substring(next_line + 1);
2682 }
3af2954a 2683
ab78acc6 2684 this.stack = out;
3af2954a 2685 }
3af2954a 2686 }
ab78acc6 2687};
3af2954a 2688
ab78acc6
IC
2689// assert.AssertionError instanceof Error
2690util.inherits(assert.AssertionError, Error);
3af2954a 2691
ab78acc6
IC
2692function replacer(key, value) {
2693 if (util.isUndefined(value)) {
2694 return '' + value;
2695 }
2696 if (util.isNumber(value) && !isFinite(value)) {
2697 return value.toString();
2698 }
2699 if (util.isFunction(value) || util.isRegExp(value)) {
2700 return value.toString();
2701 }
2702 return value;
2703}
3af2954a 2704
ab78acc6
IC
2705function truncate(s, n) {
2706 if (util.isString(s)) {
2707 return s.length < n ? s : s.slice(0, n);
2708 } else {
2709 return s;
2710 }
2711}
3af2954a 2712
ab78acc6
IC
2713function getMessage(self) {
2714 return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
2715 self.operator + ' ' +
2716 truncate(JSON.stringify(self.expected, replacer), 128);
2717}
3af2954a 2718
ab78acc6
IC
2719// At present only the three keys mentioned above are used and
2720// understood by the spec. Implementations or sub modules can pass
2721// other keys to the AssertionError's constructor - they will be
2722// ignored.
3af2954a 2723
ab78acc6
IC
2724// 3. All of the following functions must throw an AssertionError
2725// when a corresponding condition is not met, with a message that
2726// may be undefined if not provided. All assertion methods provide
2727// both the actual and expected values to the assertion error for
2728// display purposes.
3af2954a 2729
ab78acc6
IC
2730function fail(actual, expected, message, operator, stackStartFunction) {
2731 throw new assert.AssertionError({
2732 message: message,
2733 actual: actual,
2734 expected: expected,
2735 operator: operator,
2736 stackStartFunction: stackStartFunction
2737 });
2738}
3af2954a 2739
ab78acc6
IC
2740// EXTENSION! allows for well behaved errors defined elsewhere.
2741assert.fail = fail;
ebd8d4e8 2742
ab78acc6
IC
2743// 4. Pure assertion tests whether a value is truthy, as determined
2744// by !!guard.
2745// assert.ok(guard, message_opt);
2746// This statement is equivalent to assert.equal(true, !!guard,
2747// message_opt);. To test strictly for the value true, use
2748// assert.strictEqual(true, guard, message_opt);.
3af2954a 2749
ab78acc6
IC
2750function ok(value, message) {
2751 if (!value) fail(value, true, message, '==', assert.ok);
2752}
2753assert.ok = ok;
3af2954a 2754
ab78acc6
IC
2755// 5. The equality assertion tests shallow, coercive equality with
2756// ==.
2757// assert.equal(actual, expected, message_opt);
3af2954a 2758
ab78acc6
IC
2759assert.equal = function equal(actual, expected, message) {
2760 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
2761};
3af2954a 2762
ab78acc6
IC
2763// 6. The non-equality assertion tests for whether two objects are not equal
2764// with != assert.notEqual(actual, expected, message_opt);
3af2954a 2765
ab78acc6
IC
2766assert.notEqual = function notEqual(actual, expected, message) {
2767 if (actual == expected) {
2768 fail(actual, expected, message, '!=', assert.notEqual);
3af2954a 2769 }
ab78acc6 2770};
3af2954a 2771
ab78acc6
IC
2772// 7. The equivalence assertion tests a deep equality relation.
2773// assert.deepEqual(actual, expected, message_opt);
3af2954a 2774
ab78acc6
IC
2775assert.deepEqual = function deepEqual(actual, expected, message) {
2776 if (!_deepEqual(actual, expected)) {
2777 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
2778 }
2779};
3af2954a 2780
ab78acc6
IC
2781function _deepEqual(actual, expected) {
2782 // 7.1. All identical values are equivalent, as determined by ===.
2783 if (actual === expected) {
2784 return true;
3af2954a 2785
ab78acc6
IC
2786 } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
2787 if (actual.length != expected.length) return false;
3af2954a 2788
ab78acc6
IC
2789 for (var i = 0; i < actual.length; i++) {
2790 if (actual[i] !== expected[i]) return false;
3af2954a
IC
2791 }
2792
ab78acc6 2793 return true;
3af2954a 2794
ab78acc6
IC
2795 // 7.2. If the expected value is a Date object, the actual value is
2796 // equivalent if it is also a Date object that refers to the same time.
2797 } else if (util.isDate(actual) && util.isDate(expected)) {
2798 return actual.getTime() === expected.getTime();
3af2954a 2799
ab78acc6
IC
2800 // 7.3 If the expected value is a RegExp object, the actual value is
2801 // equivalent if it is also a RegExp object with the same source and
2802 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
2803 } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
2804 return actual.source === expected.source &&
2805 actual.global === expected.global &&
2806 actual.multiline === expected.multiline &&
2807 actual.lastIndex === expected.lastIndex &&
2808 actual.ignoreCase === expected.ignoreCase;
3af2954a 2809
ab78acc6
IC
2810 // 7.4. Other pairs that do not both pass typeof value == 'object',
2811 // equivalence is determined by ==.
2812 } else if (!util.isObject(actual) && !util.isObject(expected)) {
2813 return actual == expected;
3af2954a 2814
ab78acc6
IC
2815 // 7.5 For all other Object pairs, including Array objects, equivalence is
2816 // determined by having the same number of owned properties (as verified
2817 // with Object.prototype.hasOwnProperty.call), the same set of keys
2818 // (although not necessarily the same order), equivalent values for every
2819 // corresponding key, and an identical 'prototype' property. Note: this
2820 // accounts for both named and indexed properties on Arrays.
2821 } else {
2822 return objEquiv(actual, expected);
3af2954a 2823 }
ab78acc6 2824}
3af2954a 2825
ab78acc6
IC
2826function isArguments(object) {
2827 return Object.prototype.toString.call(object) == '[object Arguments]';
2828}
3af2954a 2829
ab78acc6
IC
2830function objEquiv(a, b) {
2831 if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
2832 return false;
2833 // an identical 'prototype' property.
2834 if (a.prototype !== b.prototype) return false;
2835 // if one is a primitive, the other must be same
2836 if (util.isPrimitive(a) || util.isPrimitive(b)) {
2837 return a === b;
3af2954a 2838 }
ab78acc6
IC
2839 var aIsArgs = isArguments(a),
2840 bIsArgs = isArguments(b);
2841 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
2842 return false;
2843 if (aIsArgs) {
2844 a = pSlice.call(a);
2845 b = pSlice.call(b);
2846 return _deepEqual(a, b);
3af2954a 2847 }
ab78acc6
IC
2848 var ka = objectKeys(a),
2849 kb = objectKeys(b),
2850 key, i;
2851 // having the same number of owned properties (keys incorporates
2852 // hasOwnProperty)
2853 if (ka.length != kb.length)
2854 return false;
2855 //the same set of keys (although not necessarily the same order),
2856 ka.sort();
2857 kb.sort();
2858 //~~~cheap key test
2859 for (i = ka.length - 1; i >= 0; i--) {
2860 if (ka[i] != kb[i])
2861 return false;
3af2954a 2862 }
ab78acc6
IC
2863 //equivalent values for every corresponding key, and
2864 //~~~possibly expensive deep test
2865 for (i = ka.length - 1; i >= 0; i--) {
2866 key = ka[i];
2867 if (!_deepEqual(a[key], b[key])) return false;
3af2954a 2868 }
ab78acc6
IC
2869 return true;
2870}
2871
2872// 8. The non-equivalence assertion tests for any deep inequality.
2873// assert.notDeepEqual(actual, expected, message_opt);
3af2954a 2874
ab78acc6
IC
2875assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
2876 if (_deepEqual(actual, expected)) {
2877 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
3af2954a 2878 }
ab78acc6 2879};
3af2954a 2880
ab78acc6
IC
2881// 9. The strict equality assertion tests strict equality, as determined by ===.
2882// assert.strictEqual(actual, expected, message_opt);
3af2954a 2883
ab78acc6
IC
2884assert.strictEqual = function strictEqual(actual, expected, message) {
2885 if (actual !== expected) {
2886 fail(actual, expected, message, '===', assert.strictEqual);
3af2954a 2887 }
ab78acc6 2888};
3af2954a 2889
ab78acc6
IC
2890// 10. The strict non-equality assertion tests for strict inequality, as
2891// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
3af2954a 2892
ab78acc6
IC
2893assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
2894 if (actual === expected) {
2895 fail(actual, expected, message, '!==', assert.notStrictEqual);
2896 }
2897};
3af2954a 2898
ab78acc6
IC
2899function expectedException(actual, expected) {
2900 if (!actual || !expected) {
2901 return false;
2902 }
3af2954a 2903
ab78acc6
IC
2904 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
2905 return expected.test(actual);
2906 } else if (actual instanceof expected) {
2907 return true;
2908 } else if (expected.call({}, actual) === true) {
2909 return true;
3af2954a
IC
2910 }
2911
ab78acc6
IC
2912 return false;
2913}
3af2954a 2914
ab78acc6
IC
2915function _throws(shouldThrow, block, expected, message) {
2916 var actual;
3af2954a 2917
ab78acc6
IC
2918 if (util.isString(expected)) {
2919 message = expected;
2920 expected = null;
3af2954a
IC
2921 }
2922
ab78acc6
IC
2923 try {
2924 block();
2925 } catch (e) {
2926 actual = e;
3af2954a
IC
2927 }
2928
ab78acc6
IC
2929 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
2930 (message ? ' ' + message : '.');
3af2954a 2931
ab78acc6
IC
2932 if (shouldThrow && !actual) {
2933 fail(actual, expected, 'Missing expected exception' + message);
3af2954a
IC
2934 }
2935
ab78acc6
IC
2936 if (!shouldThrow && expectedException(actual, expected)) {
2937 fail(actual, expected, 'Got unwanted exception' + message);
3af2954a
IC
2938 }
2939
ab78acc6
IC
2940 if ((shouldThrow && actual && expected &&
2941 !expectedException(actual, expected)) || (!shouldThrow && actual)) {
2942 throw actual;
3af2954a 2943 }
ab78acc6 2944}
3af2954a 2945
ab78acc6
IC
2946// 11. Expected to throw an error:
2947// assert.throws(block, Error_opt, message_opt);
3af2954a 2948
ab78acc6
IC
2949assert.throws = function(block, /*optional*/error, /*optional*/message) {
2950 _throws.apply(this, [true].concat(pSlice.call(arguments)));
2951};
3af2954a 2952
ab78acc6
IC
2953// EXTENSION! This is annoying to write outside this module.
2954assert.doesNotThrow = function(block, /*optional*/message) {
2955 _throws.apply(this, [false].concat(pSlice.call(arguments)));
2956};
3af2954a 2957
ab78acc6 2958assert.ifError = function(err) { if (err) {throw err;}};
3af2954a 2959
ab78acc6
IC
2960var objectKeys = Object.keys || function (obj) {
2961 var keys = [];
2962 for (var key in obj) {
2963 if (hasOwn.call(obj, key)) keys.push(key);
3af2954a 2964 }
ab78acc6
IC
2965 return keys;
2966};
3af2954a 2967
ab78acc6 2968},{"util/":29}],6:[function(require,module,exports){
3af2954a 2969
ab78acc6
IC
2970},{}],7:[function(require,module,exports){
2971/*!
2972 * The buffer module from node.js, for the browser.
2973 *
2974 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
2975 * @license MIT
2976 */
3af2954a 2977
ab78acc6
IC
2978var base64 = require('base64-js')
2979var ieee754 = require('ieee754')
2980var isArray = require('is-array')
3af2954a 2981
ab78acc6
IC
2982exports.Buffer = Buffer
2983exports.SlowBuffer = SlowBuffer
2984exports.INSPECT_MAX_BYTES = 50
2985Buffer.poolSize = 8192 // not used by this implementation
3af2954a 2986
ab78acc6 2987var rootParent = {}
3af2954a 2988
ab78acc6
IC
2989/**
2990 * If `Buffer.TYPED_ARRAY_SUPPORT`:
2991 * === true Use Uint8Array implementation (fastest)
2992 * === false Use Object implementation (most compatible, even IE6)
2993 *
2994 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
2995 * Opera 11.6+, iOS 4.2+.
2996 *
2997 * Due to various browser bugs, sometimes the Object implementation will be used even
2998 * when the browser supports typed arrays.
2999 *
3000 * Note:
3001 *
3002 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
3003 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
3004 *
3005 * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
3006 * on objects.
3007 *
3008 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
3009 *
3010 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
3011 * incorrect length in some situations.
3af2954a 3012
ab78acc6
IC
3013 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
3014 * get the Object implementation, which is slower but behaves correctly.
3015 */
3016Buffer.TYPED_ARRAY_SUPPORT = (function () {
3017 function Bar () {}
3018 try {
3019 var arr = new Uint8Array(1)
3020 arr.foo = function () { return 42 }
3021 arr.constructor = Bar
3022 return arr.foo() === 42 && // typed array instances can be augmented
3023 arr.constructor === Bar && // constructor can be set
3024 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
3025 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
3026 } catch (e) {
3027 return false
3028 }
3029})()
3af2954a 3030
ab78acc6
IC
3031function kMaxLength () {
3032 return Buffer.TYPED_ARRAY_SUPPORT
3033 ? 0x7fffffff
3034 : 0x3fffffff
3035}
3af2954a 3036
ab78acc6
IC
3037/**
3038 * Class: Buffer
3039 * =============
3040 *
3041 * The Buffer constructor returns instances of `Uint8Array` that are augmented
3042 * with function properties for all the node `Buffer` API functions. We use
3043 * `Uint8Array` so that square bracket notation works as expected -- it returns
3044 * a single octet.
3045 *
3046 * By augmenting the instances, we can avoid modifying the `Uint8Array`
3047 * prototype.
3048 */
3049function Buffer (arg) {
3050 if (!(this instanceof Buffer)) {
3051 // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
3052 if (arguments.length > 1) return new Buffer(arg, arguments[1])
3053 return new Buffer(arg)
3af2954a
IC
3054 }
3055
ab78acc6
IC
3056 this.length = 0
3057 this.parent = undefined
3af2954a 3058
ab78acc6
IC
3059 // Common case.
3060 if (typeof arg === 'number') {
3061 return fromNumber(this, arg)
3062 }
3af2954a 3063
ab78acc6
IC
3064 // Slightly less common case.
3065 if (typeof arg === 'string') {
3066 return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
3067 }
3af2954a 3068
ab78acc6
IC
3069 // Unusual.
3070 return fromObject(this, arg)
3071}
3af2954a 3072
ab78acc6
IC
3073function fromNumber (that, length) {
3074 that = allocate(that, length < 0 ? 0 : checked(length) | 0)
3075 if (!Buffer.TYPED_ARRAY_SUPPORT) {
3076 for (var i = 0; i < length; i++) {
3077 that[i] = 0
3078 }
3af2954a 3079 }
ab78acc6
IC
3080 return that
3081}
3af2954a 3082
ab78acc6
IC
3083function fromString (that, string, encoding) {
3084 if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
3af2954a 3085
ab78acc6
IC
3086 // Assumption: byteLength() return value is always < kMaxLength.
3087 var length = byteLength(string, encoding) | 0
3088 that = allocate(that, length)
3af2954a 3089
ab78acc6
IC
3090 that.write(string, encoding)
3091 return that
3092}
3af2954a 3093
ab78acc6
IC
3094function fromObject (that, object) {
3095 if (Buffer.isBuffer(object)) return fromBuffer(that, object)
3af2954a 3096
ab78acc6 3097 if (isArray(object)) return fromArray(that, object)
3af2954a 3098
ab78acc6
IC
3099 if (object == null) {
3100 throw new TypeError('must start with number, buffer, array or string')
3101 }
3af2954a 3102
ab78acc6
IC
3103 if (typeof ArrayBuffer !== 'undefined') {
3104 if (object.buffer instanceof ArrayBuffer) {
3105 return fromTypedArray(that, object)
3106 }
3107 if (object instanceof ArrayBuffer) {
3108 return fromArrayBuffer(that, object)
3109 }
3af2954a
IC
3110 }
3111
ab78acc6 3112 if (object.length) return fromArrayLike(that, object)
3af2954a 3113
ab78acc6
IC
3114 return fromJsonObject(that, object)
3115}
3af2954a 3116
ab78acc6
IC
3117function fromBuffer (that, buffer) {
3118 var length = checked(buffer.length) | 0
3119 that = allocate(that, length)
3120 buffer.copy(that, 0, 0, length)
3121 return that
3122}
3af2954a 3123
ab78acc6
IC
3124function fromArray (that, array) {
3125 var length = checked(array.length) | 0
3126 that = allocate(that, length)
3127 for (var i = 0; i < length; i += 1) {
3128 that[i] = array[i] & 255
3af2954a 3129 }
ab78acc6
IC
3130 return that
3131}
3af2954a 3132
ab78acc6
IC
3133// Duplicate of fromArray() to keep fromArray() monomorphic.
3134function fromTypedArray (that, array) {
3135 var length = checked(array.length) | 0
3136 that = allocate(that, length)
3137 // Truncating the elements is probably not what people expect from typed
3138 // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
3139 // of the old Buffer constructor.
3140 for (var i = 0; i < length; i += 1) {
3141 that[i] = array[i] & 255
3af2954a 3142 }
ab78acc6
IC
3143 return that
3144}
3af2954a 3145
ab78acc6
IC
3146function fromArrayBuffer (that, array) {
3147 if (Buffer.TYPED_ARRAY_SUPPORT) {
3148 // Return an augmented `Uint8Array` instance, for best performance
3149 array.byteLength
3150 that = Buffer._augment(new Uint8Array(array))
3151 } else {
3152 // Fallback: Return an object instance of the Buffer class
3153 that = fromTypedArray(that, new Uint8Array(array))
3154 }
3155 return that
3156}
3af2954a 3157
ab78acc6
IC
3158function fromArrayLike (that, array) {
3159 var length = checked(array.length) | 0
3160 that = allocate(that, length)
3161 for (var i = 0; i < length; i += 1) {
3162 that[i] = array[i] & 255
3af2954a 3163 }
ab78acc6
IC
3164 return that
3165}
3af2954a 3166
ab78acc6
IC
3167// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
3168// Returns a zero-length buffer for inputs that don't conform to the spec.
3169function fromJsonObject (that, object) {
3170 var array
3171 var length = 0
3172
3173 if (object.type === 'Buffer' && isArray(object.data)) {
3174 array = object.data
3175 length = checked(array.length) | 0
3af2954a 3176 }
ab78acc6 3177 that = allocate(that, length)
3af2954a 3178
ab78acc6
IC
3179 for (var i = 0; i < length; i += 1) {
3180 that[i] = array[i] & 255
3af2954a 3181 }
ab78acc6
IC
3182 return that
3183}
3af2954a 3184
ab78acc6
IC
3185function allocate (that, length) {
3186 if (Buffer.TYPED_ARRAY_SUPPORT) {
3187 // Return an augmented `Uint8Array` instance, for best performance
3188 that = Buffer._augment(new Uint8Array(length))
3189 } else {
3190 // Fallback: Return an object instance of the Buffer class
3191 that.length = length
3192 that._isBuffer = true
3193 }
3af2954a 3194
ab78acc6
IC
3195 var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
3196 if (fromPool) that.parent = rootParent
3af2954a 3197
ab78acc6
IC
3198 return that
3199}
3af2954a 3200
ab78acc6
IC
3201function checked (length) {
3202 // Note: cannot use `length < kMaxLength` here because that fails when
3203 // length is NaN (which is otherwise coerced to zero.)
3204 if (length >= kMaxLength()) {
3205 throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
3206 'size: 0x' + kMaxLength().toString(16) + ' bytes')
3af2954a 3207 }
ab78acc6
IC
3208 return length | 0
3209}
3af2954a 3210
ab78acc6
IC
3211function SlowBuffer (subject, encoding) {
3212 if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
3af2954a 3213
ab78acc6
IC
3214 var buf = new Buffer(subject, encoding)
3215 delete buf.parent
3216 return buf
3217}
3af2954a 3218
ab78acc6
IC
3219Buffer.isBuffer = function isBuffer (b) {
3220 return !!(b != null && b._isBuffer)
3221}
3af2954a 3222
ab78acc6
IC
3223Buffer.compare = function compare (a, b) {
3224 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
3225 throw new TypeError('Arguments must be Buffers')
3af2954a
IC
3226 }
3227
ab78acc6 3228 if (a === b) return 0
3af2954a 3229
ab78acc6
IC
3230 var x = a.length
3231 var y = b.length
3af2954a 3232
ab78acc6
IC
3233 var i = 0
3234 var len = Math.min(x, y)
3235 while (i < len) {
3236 if (a[i] !== b[i]) break
3af2954a 3237
ab78acc6
IC
3238 ++i
3239 }
3af2954a 3240
ab78acc6
IC
3241 if (i !== len) {
3242 x = a[i]
3243 y = b[i]
3244 }
3af2954a 3245
ab78acc6
IC
3246 if (x < y) return -1
3247 if (y < x) return 1
3248 return 0
3249}
3af2954a 3250
ab78acc6
IC
3251Buffer.isEncoding = function isEncoding (encoding) {
3252 switch (String(encoding).toLowerCase()) {
3253 case 'hex':
3254 case 'utf8':
3255 case 'utf-8':
3256 case 'ascii':
3257 case 'binary':
3258 case 'base64':
3259 case 'raw':
3260 case 'ucs2':
3261 case 'ucs-2':
3262 case 'utf16le':
3263 case 'utf-16le':
3264 return true
3265 default:
3266 return false
3af2954a 3267 }
ab78acc6 3268}
3af2954a 3269
ab78acc6
IC
3270Buffer.concat = function concat (list, length) {
3271 if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
3af2954a 3272
ab78acc6
IC
3273 if (list.length === 0) {
3274 return new Buffer(0)
3af2954a
IC
3275 }
3276
ab78acc6
IC
3277 var i
3278 if (length === undefined) {
3279 length = 0
3280 for (i = 0; i < list.length; i++) {
3281 length += list[i].length
3282 }
3af2954a
IC
3283 }
3284
ab78acc6
IC
3285 var buf = new Buffer(length)
3286 var pos = 0
3287 for (i = 0; i < list.length; i++) {
3288 var item = list[i]
3289 item.copy(buf, pos)
3290 pos += item.length
3291 }
3292 return buf
3293}
3af2954a 3294
ab78acc6
IC
3295function byteLength (string, encoding) {
3296 if (typeof string !== 'string') string = '' + string
3297
3298 var len = string.length
3299 if (len === 0) return 0
3300
3301 // Use a for loop to avoid recursion
3302 var loweredCase = false
3303 for (;;) {
3304 switch (encoding) {
3305 case 'ascii':
3306 case 'binary':
3307 // Deprecated
3308 case 'raw':
3309 case 'raws':
3310 return len
3311 case 'utf8':
3312 case 'utf-8':
3313 return utf8ToBytes(string).length
3314 case 'ucs2':
3315 case 'ucs-2':
3316 case 'utf16le':
3317 case 'utf-16le':
3318 return len * 2
3319 case 'hex':
3320 return len >>> 1
3321 case 'base64':
3322 return base64ToBytes(string).length
3323 default:
3324 if (loweredCase) return utf8ToBytes(string).length // assume utf8
3325 encoding = ('' + encoding).toLowerCase()
3326 loweredCase = true
3af2954a 3327 }
3af2954a 3328 }
ab78acc6
IC
3329}
3330Buffer.byteLength = byteLength
3af2954a 3331
ab78acc6
IC
3332// pre-set for values that may exist in the future
3333Buffer.prototype.length = undefined
3334Buffer.prototype.parent = undefined
3af2954a 3335
ab78acc6
IC
3336function slowToString (encoding, start, end) {
3337 var loweredCase = false
3af2954a 3338
ab78acc6
IC
3339 start = start | 0
3340 end = end === undefined || end === Infinity ? this.length : end | 0
3af2954a 3341
ab78acc6
IC
3342 if (!encoding) encoding = 'utf8'
3343 if (start < 0) start = 0
3344 if (end > this.length) end = this.length
3345 if (end <= start) return ''
3af2954a 3346
ab78acc6
IC
3347 while (true) {
3348 switch (encoding) {
3349 case 'hex':
3350 return hexSlice(this, start, end)
3af2954a 3351
ab78acc6
IC
3352 case 'utf8':
3353 case 'utf-8':
3354 return utf8Slice(this, start, end)
3af2954a 3355
ab78acc6
IC
3356 case 'ascii':
3357 return asciiSlice(this, start, end)
3af2954a 3358
ab78acc6
IC
3359 case 'binary':
3360 return binarySlice(this, start, end)
3af2954a 3361
ab78acc6
IC
3362 case 'base64':
3363 return base64Slice(this, start, end)
3af2954a 3364
ab78acc6
IC
3365 case 'ucs2':
3366 case 'ucs-2':
3367 case 'utf16le':
3368 case 'utf-16le':
3369 return utf16leSlice(this, start, end)
3af2954a 3370
ab78acc6
IC
3371 default:
3372 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3373 encoding = (encoding + '').toLowerCase()
3374 loweredCase = true
3375 }
3af2954a 3376 }
ab78acc6 3377}
3af2954a 3378
ab78acc6
IC
3379Buffer.prototype.toString = function toString () {
3380 var length = this.length | 0
3381 if (length === 0) return ''
3382 if (arguments.length === 0) return utf8Slice(this, 0, length)
3383 return slowToString.apply(this, arguments)
3384}
3af2954a 3385
ab78acc6
IC
3386Buffer.prototype.equals = function equals (b) {
3387 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3388 if (this === b) return true
3389 return Buffer.compare(this, b) === 0
3390}
3af2954a 3391
ab78acc6
IC
3392Buffer.prototype.inspect = function inspect () {
3393 var str = ''
3394 var max = exports.INSPECT_MAX_BYTES
3395 if (this.length > 0) {
3396 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
3397 if (this.length > max) str += ' ... '
3af2954a 3398 }
ab78acc6
IC
3399 return '<Buffer ' + str + '>'
3400}
3af2954a 3401
ab78acc6
IC
3402Buffer.prototype.compare = function compare (b) {
3403 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3404 if (this === b) return 0
3405 return Buffer.compare(this, b)
3406}
3af2954a 3407
ab78acc6
IC
3408Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
3409 if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
3410 else if (byteOffset < -0x80000000) byteOffset = -0x80000000
3411 byteOffset >>= 0
3af2954a 3412
ab78acc6
IC
3413 if (this.length === 0) return -1
3414 if (byteOffset >= this.length) return -1
3af2954a 3415
ab78acc6
IC
3416 // Negative offsets start from the end of the buffer
3417 if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
3af2954a 3418
ab78acc6
IC
3419 if (typeof val === 'string') {
3420 if (val.length === 0) return -1 // special case: looking for empty string always fails
3421 return String.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3422 }
ab78acc6
IC
3423 if (Buffer.isBuffer(val)) {
3424 return arrayIndexOf(this, val, byteOffset)
3af2954a 3425 }
ab78acc6
IC
3426 if (typeof val === 'number') {
3427 if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
3428 return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3429 }
ab78acc6 3430 return arrayIndexOf(this, [ val ], byteOffset)
3af2954a
IC
3431 }
3432
ab78acc6
IC
3433 function arrayIndexOf (arr, val, byteOffset) {
3434 var foundIndex = -1
3435 for (var i = 0; byteOffset + i < arr.length; i++) {
3436 if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
3437 if (foundIndex === -1) foundIndex = i
3438 if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
3af2954a 3439 } else {
ab78acc6 3440 foundIndex = -1
3af2954a 3441 }
3af2954a 3442 }
ab78acc6
IC
3443 return -1
3444 }
3af2954a 3445
ab78acc6
IC
3446 throw new TypeError('val must be string, number or Buffer')
3447}
3af2954a 3448
ab78acc6
IC
3449// `get` is deprecated
3450Buffer.prototype.get = function get (offset) {
3451 console.log('.get() is deprecated. Access using array indexes instead.')
3452 return this.readUInt8(offset)
3453}
3af2954a 3454
ab78acc6
IC
3455// `set` is deprecated
3456Buffer.prototype.set = function set (v, offset) {
3457 console.log('.set() is deprecated. Access using array indexes instead.')
3458 return this.writeUInt8(v, offset)
3459}
3af2954a 3460
ab78acc6
IC
3461function hexWrite (buf, string, offset, length) {
3462 offset = Number(offset) || 0
3463 var remaining = buf.length - offset
3464 if (!length) {
3465 length = remaining
3466 } else {
3467 length = Number(length)
3468 if (length > remaining) {
3469 length = remaining
3470 }
3471 }
3af2954a 3472
ab78acc6
IC
3473 // must be an even number of digits
3474 var strLen = string.length
3475 if (strLen % 2 !== 0) throw new Error('Invalid hex string')
3af2954a 3476
ab78acc6
IC
3477 if (length > strLen / 2) {
3478 length = strLen / 2
3479 }
3480 for (var i = 0; i < length; i++) {
3481 var parsed = parseInt(string.substr(i * 2, 2), 16)
3482 if (isNaN(parsed)) throw new Error('Invalid hex string')
3483 buf[offset + i] = parsed
3af2954a 3484 }
ab78acc6
IC
3485 return i
3486}
3487
3488function utf8Write (buf, string, offset, length) {
3489 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
3490}
3af2954a 3491
ab78acc6
IC
3492function asciiWrite (buf, string, offset, length) {
3493 return blitBuffer(asciiToBytes(string), buf, offset, length)
3494}
3af2954a 3495
ab78acc6
IC
3496function binaryWrite (buf, string, offset, length) {
3497 return asciiWrite(buf, string, offset, length)
3498}
3af2954a 3499
ab78acc6
IC
3500function base64Write (buf, string, offset, length) {
3501 return blitBuffer(base64ToBytes(string), buf, offset, length)
3502}
3af2954a 3503
ab78acc6
IC
3504function ucs2Write (buf, string, offset, length) {
3505 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
3506}
3af2954a 3507
ab78acc6
IC
3508Buffer.prototype.write = function write (string, offset, length, encoding) {
3509 // Buffer#write(string)
3510 if (offset === undefined) {
3511 encoding = 'utf8'
3512 length = this.length
3513 offset = 0
3514 // Buffer#write(string, encoding)
3515 } else if (length === undefined && typeof offset === 'string') {
3516 encoding = offset
3517 length = this.length
3518 offset = 0
3519 // Buffer#write(string, offset[, length][, encoding])
3520 } else if (isFinite(offset)) {
3521 offset = offset | 0
3522 if (isFinite(length)) {
3523 length = length | 0
3524 if (encoding === undefined) encoding = 'utf8'
3525 } else {
3526 encoding = length
3527 length = undefined
3528 }
3529 // legacy write(string, encoding, offset, length) - remove in v0.13
3530 } else {
3531 var swap = encoding
3532 encoding = offset
3533 offset = length | 0
3534 length = swap
3af2954a
IC
3535 }
3536
ab78acc6
IC
3537 var remaining = this.length - offset
3538 if (length === undefined || length > remaining) length = remaining
3af2954a 3539
ab78acc6
IC
3540 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
3541 throw new RangeError('attempt to write outside buffer bounds')
3542 }
3af2954a 3543
ab78acc6 3544 if (!encoding) encoding = 'utf8'
3af2954a 3545
ab78acc6
IC
3546 var loweredCase = false
3547 for (;;) {
3548 switch (encoding) {
3549 case 'hex':
3550 return hexWrite(this, string, offset, length)
ebd8d4e8 3551
ab78acc6
IC
3552 case 'utf8':
3553 case 'utf-8':
3554 return utf8Write(this, string, offset, length)
ebd8d4e8 3555
ab78acc6
IC
3556 case 'ascii':
3557 return asciiWrite(this, string, offset, length)
ebd8d4e8 3558
ab78acc6
IC
3559 case 'binary':
3560 return binaryWrite(this, string, offset, length)
ebd8d4e8 3561
ab78acc6
IC
3562 case 'base64':
3563 // Warning: maxLength not taken into account in base64Write
3564 return base64Write(this, string, offset, length)
ebd8d4e8 3565
ab78acc6
IC
3566 case 'ucs2':
3567 case 'ucs-2':
3568 case 'utf16le':
3569 case 'utf-16le':
3570 return ucs2Write(this, string, offset, length)
ebd8d4e8 3571
ab78acc6
IC
3572 default:
3573 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3574 encoding = ('' + encoding).toLowerCase()
3575 loweredCase = true
3576 }
3577 }
3578}
212b1b46 3579
ab78acc6
IC
3580Buffer.prototype.toJSON = function toJSON () {
3581 return {
3582 type: 'Buffer',
3583 data: Array.prototype.slice.call(this._arr || this, 0)
3584 }
3585}
212b1b46 3586
ab78acc6
IC
3587function base64Slice (buf, start, end) {
3588 if (start === 0 && end === buf.length) {
3589 return base64.fromByteArray(buf)
3590 } else {
3591 return base64.fromByteArray(buf.slice(start, end))
3af2954a 3592 }
ab78acc6
IC
3593}
3594
3595function utf8Slice (buf, start, end) {
3596 end = Math.min(buf.length, end)
3597 var firstByte
3598 var secondByte
3599 var thirdByte
3600 var fourthByte
3601 var bytesPerSequence
3602 var tempCodePoint
3603 var codePoint
3604 var res = []
3605 var i = start
3606
3607 for (; i < end; i += bytesPerSequence) {
3608 firstByte = buf[i]
3609 codePoint = 0xFFFD
3610
3611 if (firstByte > 0xEF) {
3612 bytesPerSequence = 4
3613 } else if (firstByte > 0xDF) {
3614 bytesPerSequence = 3
3615 } else if (firstByte > 0xBF) {
3616 bytesPerSequence = 2
3617 } else {
3618 bytesPerSequence = 1
3619 }
212b1b46 3620
ab78acc6
IC
3621 if (i + bytesPerSequence <= end) {
3622 switch (bytesPerSequence) {
3623 case 1:
3624 if (firstByte < 0x80) {
3625 codePoint = firstByte
3626 }
3627 break
3628 case 2:
3629 secondByte = buf[i + 1]
3630 if ((secondByte & 0xC0) === 0x80) {
3631 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
3632 if (tempCodePoint > 0x7F) {
3633 codePoint = tempCodePoint
3634 }
3635 }
3636 break
3637 case 3:
3638 secondByte = buf[i + 1]
3639 thirdByte = buf[i + 2]
3640 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
3641 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
3642 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
3643 codePoint = tempCodePoint
3644 }
3645 }
3646 break
3647 case 4:
3648 secondByte = buf[i + 1]
3649 thirdByte = buf[i + 2]
3650 fourthByte = buf[i + 3]
3651 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
3652 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
3653 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
3654 codePoint = tempCodePoint
3655 }
3656 }
3657 }
3658 }
212b1b46 3659
ab78acc6
IC
3660 if (codePoint === 0xFFFD) {
3661 // we generated an invalid codePoint so make sure to only advance by 1 byte
3662 bytesPerSequence = 1
3663 } else if (codePoint > 0xFFFF) {
3664 // encode to utf16 (surrogate pair dance)
3665 codePoint -= 0x10000
3666 res.push(codePoint >>> 10 & 0x3FF | 0xD800)
3667 codePoint = 0xDC00 | codePoint & 0x3FF
3668 }
212b1b46 3669
ab78acc6 3670 res.push(codePoint)
3af2954a 3671 }
212b1b46 3672
ab78acc6
IC
3673 return String.fromCharCode.apply(String, res)
3674}
212b1b46 3675
ab78acc6
IC
3676function asciiSlice (buf, start, end) {
3677 var ret = ''
3678 end = Math.min(buf.length, end)
3679
3680 for (var i = start; i < end; i++) {
3681 ret += String.fromCharCode(buf[i] & 0x7F)
3af2954a 3682 }
ab78acc6
IC
3683 return ret
3684}
212b1b46 3685
ab78acc6
IC
3686function binarySlice (buf, start, end) {
3687 var ret = ''
3688 end = Math.min(buf.length, end)
212b1b46 3689
ab78acc6
IC
3690 for (var i = start; i < end; i++) {
3691 ret += String.fromCharCode(buf[i])
3692 }
3693 return ret
3694}
212b1b46 3695
ab78acc6
IC
3696function hexSlice (buf, start, end) {
3697 var len = buf.length
212b1b46 3698
ab78acc6
IC
3699 if (!start || start < 0) start = 0
3700 if (!end || end < 0 || end > len) end = len
212b1b46 3701
ab78acc6
IC
3702 var out = ''
3703 for (var i = start; i < end; i++) {
3704 out += toHex(buf[i])
3705 }
3706 return out
3707}
212b1b46 3708
ab78acc6
IC
3709function utf16leSlice (buf, start, end) {
3710 var bytes = buf.slice(start, end)
3711 var res = ''
3712 for (var i = 0; i < bytes.length; i += 2) {
3713 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
3714 }
3715 return res
3716}
212b1b46 3717
ab78acc6
IC
3718Buffer.prototype.slice = function slice (start, end) {
3719 var len = this.length
3720 start = ~~start
3721 end = end === undefined ? len : ~~end
212b1b46 3722
ab78acc6
IC
3723 if (start < 0) {
3724 start += len
3725 if (start < 0) start = 0
3726 } else if (start > len) {
3727 start = len
3728 }
212b1b46 3729
ab78acc6
IC
3730 if (end < 0) {
3731 end += len
3732 if (end < 0) end = 0
3733 } else if (end > len) {
3734 end = len
3735 }
212b1b46 3736
ab78acc6 3737 if (end < start) end = start
212b1b46 3738
ab78acc6
IC
3739 var newBuf
3740 if (Buffer.TYPED_ARRAY_SUPPORT) {
3741 newBuf = Buffer._augment(this.subarray(start, end))
3742 } else {
3743 var sliceLen = end - start
3744 newBuf = new Buffer(sliceLen, undefined)
3745 for (var i = 0; i < sliceLen; i++) {
3746 newBuf[i] = this[i + start]
3af2954a
IC
3747 }
3748 }
212b1b46 3749
ab78acc6 3750 if (newBuf.length) newBuf.parent = this.parent || this
ebd8d4e8 3751
ab78acc6
IC
3752 return newBuf
3753}
ebd8d4e8 3754
ab78acc6
IC
3755/*
3756 * Need to make sure that buffer isn't trying to write out of bounds.
3757 */
3758function checkOffset (offset, ext, length) {
3759 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
3760 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
3761}
ebd8d4e8 3762
ab78acc6
IC
3763Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
3764 offset = offset | 0
3765 byteLength = byteLength | 0
3766 if (!noAssert) checkOffset(offset, byteLength, this.length)
3af2954a 3767
ab78acc6
IC
3768 var val = this[offset]
3769 var mul = 1
3770 var i = 0
3771 while (++i < byteLength && (mul *= 0x100)) {
3772 val += this[offset + i] * mul
3773 }
3af2954a 3774
ab78acc6
IC
3775 return val
3776}
3af2954a 3777
ab78acc6
IC
3778Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
3779 offset = offset | 0
3780 byteLength = byteLength | 0
3781 if (!noAssert) {
3782 checkOffset(offset, byteLength, this.length)
3783 }
3af2954a 3784
ab78acc6
IC
3785 var val = this[offset + --byteLength]
3786 var mul = 1
3787 while (byteLength > 0 && (mul *= 0x100)) {
3788 val += this[offset + --byteLength] * mul
3af2954a
IC
3789 }
3790
ab78acc6
IC
3791 return val
3792}
3af2954a 3793
ab78acc6
IC
3794Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
3795 if (!noAssert) checkOffset(offset, 1, this.length)
3796 return this[offset]
3797}
3af2954a 3798
ab78acc6
IC
3799Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
3800 if (!noAssert) checkOffset(offset, 2, this.length)
3801 return this[offset] | (this[offset + 1] << 8)
3802}
3af2954a 3803
ab78acc6
IC
3804Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
3805 if (!noAssert) checkOffset(offset, 2, this.length)
3806 return (this[offset] << 8) | this[offset + 1]
3807}
ebd8d4e8 3808
ab78acc6
IC
3809Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
3810 if (!noAssert) checkOffset(offset, 4, this.length)
3af2954a 3811
ab78acc6
IC
3812 return ((this[offset]) |
3813 (this[offset + 1] << 8) |
3814 (this[offset + 2] << 16)) +
3815 (this[offset + 3] * 0x1000000)
3816}
3af2954a 3817
ab78acc6
IC
3818Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
3819 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3820
ab78acc6
IC
3821 return (this[offset] * 0x1000000) +
3822 ((this[offset + 1] << 16) |
3823 (this[offset + 2] << 8) |
3824 this[offset + 3])
3825}
ebd8d4e8 3826
ab78acc6
IC
3827Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
3828 offset = offset | 0
3829 byteLength = byteLength | 0
3830 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3831
ab78acc6
IC
3832 var val = this[offset]
3833 var mul = 1
3834 var i = 0
3835 while (++i < byteLength && (mul *= 0x100)) {
3836 val += this[offset + i] * mul
ebd8d4e8 3837 }
ab78acc6 3838 mul *= 0x80
ebd8d4e8 3839
ab78acc6
IC
3840 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
3841
3842 return val
ebd8d4e8
IC
3843}
3844
ab78acc6
IC
3845Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
3846 offset = offset | 0
3847 byteLength = byteLength | 0
3848 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3849
ab78acc6
IC
3850 var i = byteLength
3851 var mul = 1
3852 var val = this[offset + --i]
3853 while (i > 0 && (mul *= 0x100)) {
3854 val += this[offset + --i] * mul
3855 }
3856 mul *= 0x80
ebd8d4e8 3857
ab78acc6 3858 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
ebd8d4e8 3859
ab78acc6
IC
3860 return val
3861}
ebd8d4e8 3862
ab78acc6
IC
3863Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
3864 if (!noAssert) checkOffset(offset, 1, this.length)
3865 if (!(this[offset] & 0x80)) return (this[offset])
3866 return ((0xff - this[offset] + 1) * -1)
ebd8d4e8 3867}
ab78acc6
IC
3868
3869Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
3870 if (!noAssert) checkOffset(offset, 2, this.length)
3871 var val = this[offset] | (this[offset + 1] << 8)
3872 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8 3873}
ab78acc6
IC
3874
3875Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
3876 if (!noAssert) checkOffset(offset, 2, this.length)
3877 var val = this[offset + 1] | (this[offset] << 8)
3878 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8
IC
3879}
3880
ab78acc6
IC
3881Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
3882 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3883
ab78acc6
IC
3884 return (this[offset]) |
3885 (this[offset + 1] << 8) |
3886 (this[offset + 2] << 16) |
3887 (this[offset + 3] << 24)
ebd8d4e8 3888}
ebd8d4e8 3889
ab78acc6
IC
3890Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
3891 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3892
ab78acc6
IC
3893 return (this[offset] << 24) |
3894 (this[offset + 1] << 16) |
3895 (this[offset + 2] << 8) |
3896 (this[offset + 3])
ebd8d4e8
IC
3897}
3898
ab78acc6
IC
3899Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
3900 if (!noAssert) checkOffset(offset, 4, this.length)
3901 return ieee754.read(this, offset, true, 23, 4)
ebd8d4e8
IC
3902}
3903
ab78acc6
IC
3904Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
3905 if (!noAssert) checkOffset(offset, 4, this.length)
3906 return ieee754.read(this, offset, false, 23, 4)
ebd8d4e8
IC
3907}
3908
ab78acc6
IC
3909Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
3910 if (!noAssert) checkOffset(offset, 8, this.length)
3911 return ieee754.read(this, offset, true, 52, 8)
ebd8d4e8
IC
3912}
3913
ab78acc6
IC
3914Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
3915 if (!noAssert) checkOffset(offset, 8, this.length)
3916 return ieee754.read(this, offset, false, 52, 8)
ebd8d4e8
IC
3917}
3918
ab78acc6
IC
3919function checkInt (buf, value, offset, ext, max, min) {
3920 if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
3921 if (value > max || value < min) throw new RangeError('value is out of bounds')
3922 if (offset + ext > buf.length) throw new RangeError('index out of range')
ebd8d4e8
IC
3923}
3924
ab78acc6
IC
3925Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
3926 value = +value
3927 offset = offset | 0
3928 byteLength = byteLength | 0
3929 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3930
ab78acc6
IC
3931 var mul = 1
3932 var i = 0
3933 this[offset] = value & 0xFF
3934 while (++i < byteLength && (mul *= 0x100)) {
3935 this[offset + i] = (value / mul) & 0xFF
3936 }
ebd8d4e8 3937
ab78acc6 3938 return offset + byteLength
ebd8d4e8
IC
3939}
3940
ab78acc6
IC
3941Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
3942 value = +value
3943 offset = offset | 0
3944 byteLength = byteLength | 0
3945 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3946
ab78acc6
IC
3947 var i = byteLength - 1
3948 var mul = 1
3949 this[offset + i] = value & 0xFF
3950 while (--i >= 0 && (mul *= 0x100)) {
3951 this[offset + i] = (value / mul) & 0xFF
3952 }
ebd8d4e8 3953
ab78acc6 3954 return offset + byteLength
ebd8d4e8
IC
3955}
3956
ab78acc6
IC
3957Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
3958 value = +value
3959 offset = offset | 0
3960 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
3961 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3962 this[offset] = value
3963 return offset + 1
ebd8d4e8
IC
3964}
3965
ab78acc6
IC
3966function objectWriteUInt16 (buf, value, offset, littleEndian) {
3967 if (value < 0) value = 0xffff + value + 1
3968 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
3969 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
3970 (littleEndian ? i : 1 - i) * 8
ebd8d4e8 3971 }
ebd8d4e8
IC
3972}
3973
ab78acc6
IC
3974Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
3975 value = +value
3976 offset = offset | 0
3977 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3978 if (Buffer.TYPED_ARRAY_SUPPORT) {
3979 this[offset] = value
3980 this[offset + 1] = (value >>> 8)
3981 } else {
3982 objectWriteUInt16(this, value, offset, true)
3983 }
3984 return offset + 2
ebd8d4e8
IC
3985}
3986
ab78acc6
IC
3987Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
3988 value = +value
3989 offset = offset | 0
3990 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3991 if (Buffer.TYPED_ARRAY_SUPPORT) {
3992 this[offset] = (value >>> 8)
3993 this[offset + 1] = value
3994 } else {
3995 objectWriteUInt16(this, value, offset, false)
ebd8d4e8 3996 }
ab78acc6 3997 return offset + 2
ebd8d4e8
IC
3998}
3999
ab78acc6
IC
4000function objectWriteUInt32 (buf, value, offset, littleEndian) {
4001 if (value < 0) value = 0xffffffff + value + 1
4002 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
4003 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
4004 }
ebd8d4e8
IC
4005}
4006
ab78acc6
IC
4007Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
4008 value = +value
4009 offset = offset | 0
4010 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
4011 if (Buffer.TYPED_ARRAY_SUPPORT) {
4012 this[offset + 3] = (value >>> 24)
4013 this[offset + 2] = (value >>> 16)
4014 this[offset + 1] = (value >>> 8)
4015 this[offset] = value
4016 } else {
4017 objectWriteUInt32(this, value, offset, true)
ebd8d4e8 4018 }
ab78acc6 4019 return offset + 4
ebd8d4e8
IC
4020}
4021
ab78acc6
IC
4022Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
4023 value = +value
4024 offset = offset | 0
4025 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
4026 if (Buffer.TYPED_ARRAY_SUPPORT) {
4027 this[offset] = (value >>> 24)
4028 this[offset + 1] = (value >>> 16)
4029 this[offset + 2] = (value >>> 8)
4030 this[offset + 3] = value
4031 } else {
4032 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4033 }
ab78acc6
IC
4034 return offset + 4
4035}
4036
4037Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
4038 value = +value
4039 offset = offset | 0
4040 if (!noAssert) {
4041 var limit = Math.pow(2, 8 * byteLength - 1)
4042
4043 checkInt(this, value, offset, byteLength, limit - 1, -limit)
ebd8d4e8 4044 }
ab78acc6
IC
4045
4046 var i = 0
4047 var mul = 1
4048 var sub = value < 0 ? 1 : 0
4049 this[offset] = value & 0xFF
4050 while (++i < byteLength && (mul *= 0x100)) {
4051 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
ebd8d4e8 4052 }
ebd8d4e8 4053
ab78acc6 4054 return offset + byteLength
ebd8d4e8
IC
4055}
4056
ab78acc6
IC
4057Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
4058 value = +value
4059 offset = offset | 0
4060 if (!noAssert) {
4061 var limit = Math.pow(2, 8 * byteLength - 1)
ebd8d4e8 4062
ab78acc6
IC
4063 checkInt(this, value, offset, byteLength, limit - 1, -limit)
4064 }
ebd8d4e8 4065
ab78acc6
IC
4066 var i = byteLength - 1
4067 var mul = 1
4068 var sub = value < 0 ? 1 : 0
4069 this[offset + i] = value & 0xFF
4070 while (--i >= 0 && (mul *= 0x100)) {
4071 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
4072 }
4073
4074 return offset + byteLength
ebd8d4e8
IC
4075}
4076
ab78acc6
IC
4077Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
4078 value = +value
4079 offset = offset | 0
4080 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
4081 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
4082 if (value < 0) value = 0xff + value + 1
4083 this[offset] = value
4084 return offset + 1
ebd8d4e8
IC
4085}
4086
ab78acc6
IC
4087Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
4088 value = +value
4089 offset = offset | 0
4090 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4091 if (Buffer.TYPED_ARRAY_SUPPORT) {
4092 this[offset] = value
4093 this[offset + 1] = (value >>> 8)
4094 } else {
4095 objectWriteUInt16(this, value, offset, true)
4096 }
4097 return offset + 2
ebd8d4e8
IC
4098}
4099
ab78acc6
IC
4100Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
4101 value = +value
4102 offset = offset | 0
4103 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4104 if (Buffer.TYPED_ARRAY_SUPPORT) {
4105 this[offset] = (value >>> 8)
4106 this[offset + 1] = value
4107 } else {
4108 objectWriteUInt16(this, value, offset, false)
4109 }
4110 return offset + 2
ebd8d4e8
IC
4111}
4112
ab78acc6
IC
4113Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
4114 value = +value
4115 offset = offset | 0
4116 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4117 if (Buffer.TYPED_ARRAY_SUPPORT) {
4118 this[offset] = value
4119 this[offset + 1] = (value >>> 8)
4120 this[offset + 2] = (value >>> 16)
4121 this[offset + 3] = (value >>> 24)
4122 } else {
4123 objectWriteUInt32(this, value, offset, true)
4124 }
4125 return offset + 4
4126}
4127
4128Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
4129 value = +value
4130 offset = offset | 0
4131 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4132 if (value < 0) value = 0xffffffff + value + 1
4133 if (Buffer.TYPED_ARRAY_SUPPORT) {
4134 this[offset] = (value >>> 24)
4135 this[offset + 1] = (value >>> 16)
4136 this[offset + 2] = (value >>> 8)
4137 this[offset + 3] = value
4138 } else {
4139 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4140 }
ab78acc6 4141 return offset + 4
ebd8d4e8
IC
4142}
4143
ab78acc6
IC
4144function checkIEEE754 (buf, value, offset, ext, max, min) {
4145 if (value > max || value < min) throw new RangeError('value is out of bounds')
4146 if (offset + ext > buf.length) throw new RangeError('index out of range')
4147 if (offset < 0) throw new RangeError('index out of range')
4148}
ebd8d4e8 4149
ab78acc6
IC
4150function writeFloat (buf, value, offset, littleEndian, noAssert) {
4151 if (!noAssert) {
4152 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
4153 }
4154 ieee754.write(buf, value, offset, littleEndian, 23, 4)
4155 return offset + 4
4156}
ebd8d4e8 4157
ab78acc6
IC
4158Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
4159 return writeFloat(this, value, offset, true, noAssert)
4160}
ebd8d4e8 4161
ab78acc6
IC
4162Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
4163 return writeFloat(this, value, offset, false, noAssert)
4164}
ebd8d4e8 4165
ab78acc6
IC
4166function writeDouble (buf, value, offset, littleEndian, noAssert) {
4167 if (!noAssert) {
4168 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
ebd8d4e8 4169 }
ab78acc6
IC
4170 ieee754.write(buf, value, offset, littleEndian, 52, 8)
4171 return offset + 8
ebd8d4e8
IC
4172}
4173
ab78acc6
IC
4174Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
4175 return writeDouble(this, value, offset, true, noAssert)
ebd8d4e8
IC
4176}
4177
ab78acc6
IC
4178Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
4179 return writeDouble(this, value, offset, false, noAssert)
4180}
ebd8d4e8 4181
ab78acc6
IC
4182// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
4183Buffer.prototype.copy = function copy (target, targetStart, start, end) {
4184 if (!start) start = 0
4185 if (!end && end !== 0) end = this.length
4186 if (targetStart >= target.length) targetStart = target.length
4187 if (!targetStart) targetStart = 0
4188 if (end > 0 && end < start) end = start
4189
4190 // Copy 0 bytes; we're done
4191 if (end === start) return 0
4192 if (target.length === 0 || this.length === 0) return 0
ebd8d4e8 4193
ab78acc6
IC
4194 // Fatal error conditions
4195 if (targetStart < 0) {
4196 throw new RangeError('targetStart out of bounds')
4197 }
4198 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
4199 if (end < 0) throw new RangeError('sourceEnd out of bounds')
ebd8d4e8 4200
ab78acc6
IC
4201 // Are we oob?
4202 if (end > this.length) end = this.length
4203 if (target.length - targetStart < end - start) {
4204 end = target.length - targetStart + start
4205 }
ebd8d4e8 4206
ab78acc6
IC
4207 var len = end - start
4208 var i
ebd8d4e8 4209
ab78acc6
IC
4210 if (this === target && start < targetStart && targetStart < end) {
4211 // descending copy from end
4212 for (i = len - 1; i >= 0; i--) {
4213 target[i + targetStart] = this[i + start]
4214 }
4215 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
4216 // ascending copy from start
4217 for (i = 0; i < len; i++) {
4218 target[i + targetStart] = this[i + start]
4219 }
4220 } else {
4221 target._set(this.subarray(start, start + len), targetStart)
ebd8d4e8 4222 }
ebd8d4e8 4223
ab78acc6
IC
4224 return len
4225}
ebd8d4e8 4226
ab78acc6
IC
4227// fill(value, start=0, end=buffer.length)
4228Buffer.prototype.fill = function fill (value, start, end) {
4229 if (!value) value = 0
4230 if (!start) start = 0
4231 if (!end) end = this.length
ebd8d4e8 4232
ab78acc6 4233 if (end < start) throw new RangeError('end < start')
ebd8d4e8 4234
ab78acc6
IC
4235 // Fill 0 bytes; we're done
4236 if (end === start) return
4237 if (this.length === 0) return
ebd8d4e8 4238
ab78acc6
IC
4239 if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
4240 if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
ebd8d4e8 4241
ab78acc6
IC
4242 var i
4243 if (typeof value === 'number') {
4244 for (i = start; i < end; i++) {
4245 this[i] = value
ebd8d4e8 4246 }
ab78acc6
IC
4247 } else {
4248 var bytes = utf8ToBytes(value.toString())
4249 var len = bytes.length
4250 for (i = start; i < end; i++) {
4251 this[i] = bytes[i % len]
ebd8d4e8
IC
4252 }
4253 }
ebd8d4e8 4254
ab78acc6 4255 return this
ebd8d4e8
IC
4256}
4257
ab78acc6
IC
4258/**
4259 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
4260 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
4261 */
4262Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
4263 if (typeof Uint8Array !== 'undefined') {
4264 if (Buffer.TYPED_ARRAY_SUPPORT) {
4265 return (new Buffer(this)).buffer
4266 } else {
4267 var buf = new Uint8Array(this.length)
4268 for (var i = 0, len = buf.length; i < len; i += 1) {
4269 buf[i] = this[i]
ebd8d4e8 4270 }
ab78acc6 4271 return buf.buffer
ebd8d4e8 4272 }
ab78acc6
IC
4273 } else {
4274 throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
ebd8d4e8 4275 }
ebd8d4e8
IC
4276}
4277
ab78acc6
IC
4278// HELPER FUNCTIONS
4279// ================
ebd8d4e8 4280
ab78acc6 4281var BP = Buffer.prototype
ebd8d4e8 4282
ab78acc6
IC
4283/**
4284 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
4285 */
4286Buffer._augment = function _augment (arr) {
4287 arr.constructor = Buffer
4288 arr._isBuffer = true
ebd8d4e8 4289
ab78acc6
IC
4290 // save reference to original Uint8Array set method before overwriting
4291 arr._set = arr.set
ebd8d4e8 4292
ab78acc6
IC
4293 // deprecated
4294 arr.get = BP.get
4295 arr.set = BP.set
ebd8d4e8 4296
ab78acc6
IC
4297 arr.write = BP.write
4298 arr.toString = BP.toString
4299 arr.toLocaleString = BP.toString
4300 arr.toJSON = BP.toJSON
4301 arr.equals = BP.equals
4302 arr.compare = BP.compare
4303 arr.indexOf = BP.indexOf
4304 arr.copy = BP.copy
4305 arr.slice = BP.slice
4306 arr.readUIntLE = BP.readUIntLE
4307 arr.readUIntBE = BP.readUIntBE
4308 arr.readUInt8 = BP.readUInt8
4309 arr.readUInt16LE = BP.readUInt16LE
4310 arr.readUInt16BE = BP.readUInt16BE
4311 arr.readUInt32LE = BP.readUInt32LE
4312 arr.readUInt32BE = BP.readUInt32BE
4313 arr.readIntLE = BP.readIntLE
4314 arr.readIntBE = BP.readIntBE
4315 arr.readInt8 = BP.readInt8
4316 arr.readInt16LE = BP.readInt16LE
4317 arr.readInt16BE = BP.readInt16BE
4318 arr.readInt32LE = BP.readInt32LE
4319 arr.readInt32BE = BP.readInt32BE
4320 arr.readFloatLE = BP.readFloatLE
4321 arr.readFloatBE = BP.readFloatBE
4322 arr.readDoubleLE = BP.readDoubleLE
4323 arr.readDoubleBE = BP.readDoubleBE
4324 arr.writeUInt8 = BP.writeUInt8
4325 arr.writeUIntLE = BP.writeUIntLE
4326 arr.writeUIntBE = BP.writeUIntBE
4327 arr.writeUInt16LE = BP.writeUInt16LE
4328 arr.writeUInt16BE = BP.writeUInt16BE
4329 arr.writeUInt32LE = BP.writeUInt32LE
4330 arr.writeUInt32BE = BP.writeUInt32BE
4331 arr.writeIntLE = BP.writeIntLE
4332 arr.writeIntBE = BP.writeIntBE
4333 arr.writeInt8 = BP.writeInt8
4334 arr.writeInt16LE = BP.writeInt16LE
4335 arr.writeInt16BE = BP.writeInt16BE
4336 arr.writeInt32LE = BP.writeInt32LE
4337 arr.writeInt32BE = BP.writeInt32BE
4338 arr.writeFloatLE = BP.writeFloatLE
4339 arr.writeFloatBE = BP.writeFloatBE
4340 arr.writeDoubleLE = BP.writeDoubleLE
4341 arr.writeDoubleBE = BP.writeDoubleBE
4342 arr.fill = BP.fill
4343 arr.inspect = BP.inspect
4344 arr.toArrayBuffer = BP.toArrayBuffer
ebd8d4e8 4345
ab78acc6 4346 return arr
ebd8d4e8
IC
4347}
4348
ab78acc6 4349var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
ebd8d4e8 4350
ab78acc6
IC
4351function base64clean (str) {
4352 // Node strips out invalid characters like \n and \t from the string, base64-js does not
4353 str = stringtrim(str).replace(INVALID_BASE64_RE, '')
4354 // Node converts strings with length < 2 to ''
4355 if (str.length < 2) return ''
4356 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
4357 while (str.length % 4 !== 0) {
4358 str = str + '='
4359 }
4360 return str
ebd8d4e8
IC
4361}
4362
ab78acc6
IC
4363function stringtrim (str) {
4364 if (str.trim) return str.trim()
4365 return str.replace(/^\s+|\s+$/g, '')
ebd8d4e8
IC
4366}
4367
ab78acc6
IC
4368function toHex (n) {
4369 if (n < 16) return '0' + n.toString(16)
4370 return n.toString(16)
ebd8d4e8
IC
4371}
4372
ab78acc6
IC
4373function utf8ToBytes (string, units) {
4374 units = units || Infinity
4375 var codePoint
4376 var length = string.length
4377 var leadSurrogate = null
4378 var bytes = []
ebd8d4e8 4379
ab78acc6
IC
4380 for (var i = 0; i < length; i++) {
4381 codePoint = string.charCodeAt(i)
ebd8d4e8 4382
ab78acc6
IC
4383 // is surrogate component
4384 if (codePoint > 0xD7FF && codePoint < 0xE000) {
4385 // last char was a lead
4386 if (!leadSurrogate) {
4387 // no lead yet
4388 if (codePoint > 0xDBFF) {
4389 // unexpected trail
4390 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4391 continue
ebd8d4e8 4392
ab78acc6
IC
4393 } else if (i + 1 === length) {
4394 // unpaired lead
4395 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4396 continue
4397 }
ebd8d4e8 4398
ab78acc6
IC
4399 // valid lead
4400 leadSurrogate = codePoint
ebd8d4e8 4401
ab78acc6
IC
4402 continue
4403 }
ebd8d4e8 4404
ab78acc6
IC
4405 // 2 leads in a row
4406 if (codePoint < 0xDC00) {
4407 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4408 leadSurrogate = codePoint
4409 continue
4410 }
ebd8d4e8 4411
ab78acc6
IC
4412 // valid surrogate pair
4413 codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
4414
4415 } else if (leadSurrogate) {
4416 // valid bmp char, but last char was a lead
4417 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4418 }
4419
4420 leadSurrogate = null
4421
4422 // encode utf8
4423 if (codePoint < 0x80) {
4424 if ((units -= 1) < 0) break
4425 bytes.push(codePoint)
4426 } else if (codePoint < 0x800) {
4427 if ((units -= 2) < 0) break
4428 bytes.push(
4429 codePoint >> 0x6 | 0xC0,
4430 codePoint & 0x3F | 0x80
4431 )
4432 } else if (codePoint < 0x10000) {
4433 if ((units -= 3) < 0) break
4434 bytes.push(
4435 codePoint >> 0xC | 0xE0,
4436 codePoint >> 0x6 & 0x3F | 0x80,
4437 codePoint & 0x3F | 0x80
4438 )
4439 } else if (codePoint < 0x110000) {
4440 if ((units -= 4) < 0) break
4441 bytes.push(
4442 codePoint >> 0x12 | 0xF0,
4443 codePoint >> 0xC & 0x3F | 0x80,
4444 codePoint >> 0x6 & 0x3F | 0x80,
4445 codePoint & 0x3F | 0x80
4446 )
4447 } else {
4448 throw new Error('Invalid code point')
ebd8d4e8 4449 }
ebd8d4e8 4450 }
ab78acc6
IC
4451
4452 return bytes
4453}
4454
4455function asciiToBytes (str) {
4456 var byteArray = []
4457 for (var i = 0; i < str.length; i++) {
4458 // Node's code seems to be doing this and not & 0x7F..
4459 byteArray.push(str.charCodeAt(i) & 0xFF)
ebd8d4e8 4460 }
ab78acc6 4461 return byteArray
ebd8d4e8
IC
4462}
4463
ab78acc6
IC
4464function utf16leToBytes (str, units) {
4465 var c, hi, lo
4466 var byteArray = []
4467 for (var i = 0; i < str.length; i++) {
4468 if ((units -= 2) < 0) break
ebd8d4e8 4469
ab78acc6
IC
4470 c = str.charCodeAt(i)
4471 hi = c >> 8
4472 lo = c % 256
4473 byteArray.push(lo)
4474 byteArray.push(hi)
4475 }
ebd8d4e8 4476
ab78acc6
IC
4477 return byteArray
4478}
ebd8d4e8 4479
ab78acc6
IC
4480function base64ToBytes (str) {
4481 return base64.toByteArray(base64clean(str))
4482}
ebd8d4e8 4483
ab78acc6
IC
4484function blitBuffer (src, dst, offset, length) {
4485 for (var i = 0; i < length; i++) {
4486 if ((i + offset >= dst.length) || (i >= src.length)) break
4487 dst[i + offset] = src[i]
4488 }
4489 return i
4490}
4491
4492},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){
4493var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
4494
4495;(function (exports) {
4496 'use strict';
4497
4498 var Arr = (typeof Uint8Array !== 'undefined')
4499 ? Uint8Array
4500 : Array
ebd8d4e8 4501
ab78acc6
IC
4502 var PLUS = '+'.charCodeAt(0)
4503 var SLASH = '/'.charCodeAt(0)
4504 var NUMBER = '0'.charCodeAt(0)
4505 var LOWER = 'a'.charCodeAt(0)
4506 var UPPER = 'A'.charCodeAt(0)
4507 var PLUS_URL_SAFE = '-'.charCodeAt(0)
4508 var SLASH_URL_SAFE = '_'.charCodeAt(0)
ebd8d4e8 4509
ab78acc6
IC
4510 function decode (elt) {
4511 var code = elt.charCodeAt(0)
4512 if (code === PLUS ||
4513 code === PLUS_URL_SAFE)
4514 return 62 // '+'
4515 if (code === SLASH ||
4516 code === SLASH_URL_SAFE)
4517 return 63 // '/'
4518 if (code < NUMBER)
4519 return -1 //no match
4520 if (code < NUMBER + 10)
4521 return code - NUMBER + 26 + 26
4522 if (code < UPPER + 26)
4523 return code - UPPER
4524 if (code < LOWER + 26)
4525 return code - LOWER + 26
4526 }
ebd8d4e8 4527
ab78acc6
IC
4528 function b64ToByteArray (b64) {
4529 var i, j, l, tmp, placeHolders, arr
ebd8d4e8 4530
ab78acc6
IC
4531 if (b64.length % 4 > 0) {
4532 throw new Error('Invalid string. Length must be a multiple of 4')
4533 }
ebd8d4e8 4534
ab78acc6
IC
4535 // the number of equal signs (place holders)
4536 // if there are two placeholders, than the two characters before it
4537 // represent one byte
4538 // if there is only one, then the three characters before it represent 2 bytes
4539 // this is just a cheap hack to not do indexOf twice
4540 var len = b64.length
4541 placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
ebd8d4e8 4542
ab78acc6
IC
4543 // base64 is 4/3 + up to two characters of the original data
4544 arr = new Arr(b64.length * 3 / 4 - placeHolders)
ebd8d4e8 4545
ab78acc6
IC
4546 // if there are placeholders, only get up to the last complete 4 chars
4547 l = placeHolders > 0 ? b64.length - 4 : b64.length
ebd8d4e8 4548
ab78acc6 4549 var L = 0
ebd8d4e8 4550
ab78acc6
IC
4551 function push (v) {
4552 arr[L++] = v
4553 }
ebd8d4e8 4554
ab78acc6
IC
4555 for (i = 0, j = 0; i < l; i += 4, j += 3) {
4556 tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
4557 push((tmp & 0xFF0000) >> 16)
4558 push((tmp & 0xFF00) >> 8)
4559 push(tmp & 0xFF)
4560 }
ebd8d4e8 4561
ab78acc6
IC
4562 if (placeHolders === 2) {
4563 tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
4564 push(tmp & 0xFF)
4565 } else if (placeHolders === 1) {
4566 tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
4567 push((tmp >> 8) & 0xFF)
4568 push(tmp & 0xFF)
4569 }
ebd8d4e8 4570
ab78acc6
IC
4571 return arr
4572 }
ebd8d4e8 4573
ab78acc6
IC
4574 function uint8ToBase64 (uint8) {
4575 var i,
4576 extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
4577 output = "",
4578 temp, length
ebd8d4e8 4579
ab78acc6
IC
4580 function encode (num) {
4581 return lookup.charAt(num)
4582 }
ebd8d4e8 4583
ab78acc6
IC
4584 function tripletToBase64 (num) {
4585 return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
4586 }
ebd8d4e8 4587
ab78acc6
IC
4588 // go through the array every three bytes, we'll deal with trailing stuff later
4589 for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
4590 temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
4591 output += tripletToBase64(temp)
4592 }
ebd8d4e8 4593
ab78acc6
IC
4594 // pad the end with zeros, but make sure to not forget the extra bytes
4595 switch (extraBytes) {
4596 case 1:
4597 temp = uint8[uint8.length - 1]
4598 output += encode(temp >> 2)
4599 output += encode((temp << 4) & 0x3F)
4600 output += '=='
4601 break
4602 case 2:
4603 temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
4604 output += encode(temp >> 10)
4605 output += encode((temp >> 4) & 0x3F)
4606 output += encode((temp << 2) & 0x3F)
4607 output += '='
4608 break
4609 }
ebd8d4e8 4610
ab78acc6
IC
4611 return output
4612 }
ebd8d4e8 4613
ab78acc6
IC
4614 exports.toByteArray = b64ToByteArray
4615 exports.fromByteArray = uint8ToBase64
4616}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
ebd8d4e8 4617
ab78acc6
IC
4618},{}],9:[function(require,module,exports){
4619exports.read = function (buffer, offset, isLE, mLen, nBytes) {
4620 var e, m
4621 var eLen = nBytes * 8 - mLen - 1
4622 var eMax = (1 << eLen) - 1
4623 var eBias = eMax >> 1
4624 var nBits = -7
4625 var i = isLE ? (nBytes - 1) : 0
4626 var d = isLE ? -1 : 1
4627 var s = buffer[offset + i]
4628
4629 i += d
4630
4631 e = s & ((1 << (-nBits)) - 1)
4632 s >>= (-nBits)
4633 nBits += eLen
4634 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
4635
4636 m = e & ((1 << (-nBits)) - 1)
4637 e >>= (-nBits)
4638 nBits += mLen
4639 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
ebd8d4e8 4640
ab78acc6
IC
4641 if (e === 0) {
4642 e = 1 - eBias
4643 } else if (e === eMax) {
4644 return m ? NaN : ((s ? -1 : 1) * Infinity)
4645 } else {
4646 m = m + Math.pow(2, mLen)
4647 e = e - eBias
ebd8d4e8 4648 }
ab78acc6 4649 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
ebd8d4e8
IC
4650}
4651
ab78acc6
IC
4652exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
4653 var e, m, c
4654 var eLen = nBytes * 8 - mLen - 1
4655 var eMax = (1 << eLen) - 1
4656 var eBias = eMax >> 1
4657 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
4658 var i = isLE ? 0 : (nBytes - 1)
4659 var d = isLE ? 1 : -1
4660 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
ebd8d4e8 4661
ab78acc6 4662 value = Math.abs(value)
ebd8d4e8 4663
ab78acc6
IC
4664 if (isNaN(value) || value === Infinity) {
4665 m = isNaN(value) ? 1 : 0
4666 e = eMax
4667 } else {
4668 e = Math.floor(Math.log(value) / Math.LN2)
4669 if (value * (c = Math.pow(2, -e)) < 1) {
4670 e--
4671 c *= 2
ebd8d4e8 4672 }
ab78acc6
IC
4673 if (e + eBias >= 1) {
4674 value += rt / c
4675 } else {
4676 value += rt * Math.pow(2, 1 - eBias)
ebd8d4e8 4677 }
ab78acc6
IC
4678 if (value * c >= 2) {
4679 e++
4680 c /= 2
ebd8d4e8 4681 }
ab78acc6
IC
4682
4683 if (e + eBias >= eMax) {
4684 m = 0
4685 e = eMax
4686 } else if (e + eBias >= 1) {
4687 m = (value * c - 1) * Math.pow(2, mLen)
4688 e = e + eBias
4689 } else {
4690 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
4691 e = 0
ebd8d4e8
IC
4692 }
4693 }
ebd8d4e8 4694
ab78acc6 4695 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
ebd8d4e8 4696
ab78acc6
IC
4697 e = (e << mLen) | m
4698 eLen += mLen
4699 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
ebd8d4e8 4700
ab78acc6
IC
4701 buffer[offset + i - d] |= s * 128
4702}
ebd8d4e8 4703
ab78acc6 4704},{}],10:[function(require,module,exports){
ebd8d4e8 4705
ab78acc6
IC
4706/**
4707 * isArray
4708 */
ebd8d4e8 4709
ab78acc6 4710var isArray = Array.isArray;
ebd8d4e8
IC
4711
4712/**
ab78acc6 4713 * toString
ebd8d4e8 4714 */
ebd8d4e8 4715
ab78acc6 4716var str = Object.prototype.toString;
ebd8d4e8
IC
4717
4718/**
ab78acc6
IC
4719 * Whether or not the given `val`
4720 * is an array.
ebd8d4e8 4721 *
ab78acc6
IC
4722 * example:
4723 *
4724 * isArray([]);
4725 * // > true
4726 * isArray(arguments);
4727 * // > false
4728 * isArray('');
4729 * // > false
4730 *
4731 * @param {mixed} val
4732 * @return {bool}
ebd8d4e8 4733 */
ebd8d4e8 4734
ab78acc6
IC
4735module.exports = isArray || function (val) {
4736 return !! val && '[object Array]' == str.call(val);
4737};
4738
4739},{}],11:[function(require,module,exports){
4740// Copyright Joyent, Inc. and other Node contributors.
4741//
4742// Permission is hereby granted, free of charge, to any person obtaining a
4743// copy of this software and associated documentation files (the
4744// "Software"), to deal in the Software without restriction, including
4745// without limitation the rights to use, copy, modify, merge, publish,
4746// distribute, sublicense, and/or sell copies of the Software, and to permit
4747// persons to whom the Software is furnished to do so, subject to the
4748// following conditions:
4749//
4750// The above copyright notice and this permission notice shall be included
4751// in all copies or substantial portions of the Software.
4752//
4753// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4754// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4755// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
4756// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4757// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4758// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
4759// USE OR OTHER DEALINGS IN THE SOFTWARE.
4760
4761function EventEmitter() {
4762 this._events = this._events || {};
4763 this._maxListeners = this._maxListeners || undefined;
ebd8d4e8 4764}
ab78acc6 4765module.exports = EventEmitter;
ebd8d4e8 4766
ab78acc6
IC
4767// Backwards-compat with node 0.10.x
4768EventEmitter.EventEmitter = EventEmitter;
ebd8d4e8 4769
ab78acc6
IC
4770EventEmitter.prototype._events = undefined;
4771EventEmitter.prototype._maxListeners = undefined;
4772
4773// By default EventEmitters will print a warning if more than 10 listeners are
4774// added to it. This is a useful default which helps finding memory leaks.
4775EventEmitter.defaultMaxListeners = 10;
4776
4777// Obviously not all Emitters should be limited to 10. This function allows
4778// that to be increased. Set to zero for unlimited.
4779EventEmitter.prototype.setMaxListeners = function(n) {
4780 if (!isNumber(n) || n < 0 || isNaN(n))
4781 throw TypeError('n must be a positive number');
4782 this._maxListeners = n;
4783 return this;
4784};
4785
4786EventEmitter.prototype.emit = function(type) {
4787 var er, handler, len, args, i, listeners;
4788
4789 if (!this._events)
4790 this._events = {};
4791
4792 // If there is no 'error' event listener then throw.
4793 if (type === 'error') {
4794 if (!this._events.error ||
4795 (isObject(this._events.error) && !this._events.error.length)) {
4796 er = arguments[1];
4797 if (er instanceof Error) {
4798 throw er; // Unhandled 'error' event
4799 }
4800 throw TypeError('Uncaught, unspecified "error" event.');
4801 }
4802 }
4803
4804 handler = this._events[type];
4805
4806 if (isUndefined(handler))
4807 return false;
4808
4809 if (isFunction(handler)) {
4810 switch (arguments.length) {
4811 // fast cases
4812 case 1:
4813 handler.call(this);
4814 break;
4815 case 2:
4816 handler.call(this, arguments[1]);
4817 break;
4818 case 3:
4819 handler.call(this, arguments[1], arguments[2]);
4820 break;
4821 // slower
4822 default:
4823 len = arguments.length;
4824 args = new Array(len - 1);
4825 for (i = 1; i < len; i++)
4826 args[i - 1] = arguments[i];
4827 handler.apply(this, args);
4828 }
4829 } else if (isObject(handler)) {
4830 len = arguments.length;
4831 args = new Array(len - 1);
4832 for (i = 1; i < len; i++)
4833 args[i - 1] = arguments[i];
ebd8d4e8 4834
ab78acc6
IC
4835 listeners = handler.slice();
4836 len = listeners.length;
4837 for (i = 0; i < len; i++)
4838 listeners[i].apply(this, args);
ebd8d4e8
IC
4839 }
4840
ab78acc6
IC
4841 return true;
4842};
ebd8d4e8 4843
ab78acc6
IC
4844EventEmitter.prototype.addListener = function(type, listener) {
4845 var m;
ebd8d4e8 4846
ab78acc6
IC
4847 if (!isFunction(listener))
4848 throw TypeError('listener must be a function');
ebd8d4e8 4849
ab78acc6
IC
4850 if (!this._events)
4851 this._events = {};
ebd8d4e8 4852
ab78acc6
IC
4853 // To avoid recursion in the case that type === "newListener"! Before
4854 // adding it to the listeners, first emit "newListener".
4855 if (this._events.newListener)
4856 this.emit('newListener', type,
4857 isFunction(listener.listener) ?
4858 listener.listener : listener);
ebd8d4e8 4859
ab78acc6
IC
4860 if (!this._events[type])
4861 // Optimize the case of one listener. Don't need the extra array object.
4862 this._events[type] = listener;
4863 else if (isObject(this._events[type]))
4864 // If we've already got an array, just append.
4865 this._events[type].push(listener);
4866 else
4867 // Adding the second element, need to change to array.
4868 this._events[type] = [this._events[type], listener];
4869
4870 // Check for listener leak
4871 if (isObject(this._events[type]) && !this._events[type].warned) {
4872 var m;
4873 if (!isUndefined(this._maxListeners)) {
4874 m = this._maxListeners;
4875 } else {
4876 m = EventEmitter.defaultMaxListeners;
4877 }
4878
4879 if (m && m > 0 && this._events[type].length > m) {
4880 this._events[type].warned = true;
4881 console.error('(node) warning: possible EventEmitter memory ' +
4882 'leak detected. %d listeners added. ' +
4883 'Use emitter.setMaxListeners() to increase limit.',
4884 this._events[type].length);
4885 if (typeof console.trace === 'function') {
4886 // not supported in IE 10
4887 console.trace();
4888 }
4889 }
4890 }
ebd8d4e8 4891
ab78acc6
IC
4892 return this;
4893};
ebd8d4e8 4894
ab78acc6 4895EventEmitter.prototype.on = EventEmitter.prototype.addListener;
ebd8d4e8 4896
ab78acc6
IC
4897EventEmitter.prototype.once = function(type, listener) {
4898 if (!isFunction(listener))
4899 throw TypeError('listener must be a function');
ebd8d4e8 4900
ab78acc6 4901 var fired = false;
ebd8d4e8 4902
ab78acc6
IC
4903 function g() {
4904 this.removeListener(type, g);
ebd8d4e8 4905
ab78acc6
IC
4906 if (!fired) {
4907 fired = true;
4908 listener.apply(this, arguments);
4909 }
4910 }
ebd8d4e8 4911
ab78acc6
IC
4912 g.listener = listener;
4913 this.on(type, g);
ebd8d4e8 4914
ab78acc6
IC
4915 return this;
4916};
ebd8d4e8 4917
ab78acc6
IC
4918// emits a 'removeListener' event iff the listener was removed
4919EventEmitter.prototype.removeListener = function(type, listener) {
4920 var list, position, length, i;
ebd8d4e8 4921
ab78acc6
IC
4922 if (!isFunction(listener))
4923 throw TypeError('listener must be a function');
ebd8d4e8 4924
ab78acc6
IC
4925 if (!this._events || !this._events[type])
4926 return this;
ebd8d4e8 4927
ab78acc6
IC
4928 list = this._events[type];
4929 length = list.length;
4930 position = -1;
4931
4932 if (list === listener ||
4933 (isFunction(list.listener) && list.listener === listener)) {
4934 delete this._events[type];
4935 if (this._events.removeListener)
4936 this.emit('removeListener', type, listener);
4937
4938 } else if (isObject(list)) {
4939 for (i = length; i-- > 0;) {
4940 if (list[i] === listener ||
4941 (list[i].listener && list[i].listener === listener)) {
4942 position = i;
4943 break;
ebd8d4e8 4944 }
ab78acc6 4945 }
ebd8d4e8 4946
ab78acc6
IC
4947 if (position < 0)
4948 return this;
4949
4950 if (list.length === 1) {
4951 list.length = 0;
4952 delete this._events[type];
4953 } else {
4954 list.splice(position, 1);
ebd8d4e8 4955 }
ab78acc6
IC
4956
4957 if (this._events.removeListener)
4958 this.emit('removeListener', type, listener);
ebd8d4e8 4959 }
ab78acc6
IC
4960
4961 return this;
ebd8d4e8
IC
4962};
4963
ab78acc6
IC
4964EventEmitter.prototype.removeAllListeners = function(type) {
4965 var key, listeners;
ebd8d4e8 4966
ab78acc6
IC
4967 if (!this._events)
4968 return this;
4969
4970 // not listening for removeListener, no need to emit
4971 if (!this._events.removeListener) {
4972 if (arguments.length === 0)
4973 this._events = {};
4974 else if (this._events[type])
4975 delete this._events[type];
4976 return this;
ebd8d4e8 4977 }
ab78acc6
IC
4978
4979 // emit removeListener for all listeners on all events
4980 if (arguments.length === 0) {
4981 for (key in this._events) {
4982 if (key === 'removeListener') continue;
4983 this.removeAllListeners(key);
4984 }
4985 this.removeAllListeners('removeListener');
4986 this._events = {};
4987 return this;
ebd8d4e8 4988 }
ebd8d4e8 4989
ab78acc6
IC
4990 listeners = this._events[type];
4991
4992 if (isFunction(listeners)) {
4993 this.removeListener(type, listeners);
ebd8d4e8 4994 } else {
ab78acc6
IC
4995 // LIFO order
4996 while (listeners.length)
4997 this.removeListener(type, listeners[listeners.length - 1]);
ebd8d4e8 4998 }
ab78acc6 4999 delete this._events[type];
ebd8d4e8 5000
ab78acc6
IC
5001 return this;
5002};
ebd8d4e8 5003
ab78acc6
IC
5004EventEmitter.prototype.listeners = function(type) {
5005 var ret;
5006 if (!this._events || !this._events[type])
5007 ret = [];
5008 else if (isFunction(this._events[type]))
5009 ret = [this._events[type]];
5010 else
5011 ret = this._events[type].slice();
5012 return ret;
5013};
ebd8d4e8 5014
ab78acc6
IC
5015EventEmitter.listenerCount = function(emitter, type) {
5016 var ret;
5017 if (!emitter._events || !emitter._events[type])
5018 ret = 0;
5019 else if (isFunction(emitter._events[type]))
5020 ret = 1;
5021 else
5022 ret = emitter._events[type].length;
5023 return ret;
5024};
ebd8d4e8 5025
ab78acc6
IC
5026function isFunction(arg) {
5027 return typeof arg === 'function';
ebd8d4e8
IC
5028}
5029
ab78acc6
IC
5030function isNumber(arg) {
5031 return typeof arg === 'number';
5032}
ebd8d4e8 5033
ab78acc6
IC
5034function isObject(arg) {
5035 return typeof arg === 'object' && arg !== null;
5036}
ebd8d4e8 5037
ab78acc6
IC
5038function isUndefined(arg) {
5039 return arg === void 0;
ebd8d4e8 5040}
ebd8d4e8 5041
ab78acc6
IC
5042},{}],12:[function(require,module,exports){
5043if (typeof Object.create === 'function') {
5044 // implementation from standard node.js 'util' module
5045 module.exports = function inherits(ctor, superCtor) {
5046 ctor.super_ = superCtor
5047 ctor.prototype = Object.create(superCtor.prototype, {
5048 constructor: {
5049 value: ctor,
5050 enumerable: false,
5051 writable: true,
5052 configurable: true
5053 }
5054 });
5055 };
5056} else {
5057 // old school shim for old browsers
5058 module.exports = function inherits(ctor, superCtor) {
5059 ctor.super_ = superCtor
5060 var TempCtor = function () {}
5061 TempCtor.prototype = superCtor.prototype
5062 ctor.prototype = new TempCtor()
5063 ctor.prototype.constructor = ctor
5064 }
5065}
ebd8d4e8 5066
ab78acc6
IC
5067},{}],13:[function(require,module,exports){
5068module.exports = Array.isArray || function (arr) {
5069 return Object.prototype.toString.call(arr) == '[object Array]';
ebd8d4e8
IC
5070};
5071
ab78acc6
IC
5072},{}],14:[function(require,module,exports){
5073// shim for using process in browser
ebd8d4e8 5074
ab78acc6
IC
5075var process = module.exports = {};
5076var queue = [];
5077var draining = false;
5078var currentQueue;
5079var queueIndex = -1;
5080
5081function cleanUpNextTick() {
5082 draining = false;
5083 if (currentQueue.length) {
5084 queue = currentQueue.concat(queue);
5085 } else {
5086 queueIndex = -1;
5087 }
5088 if (queue.length) {
5089 drainQueue();
5090 }
5091}
ebd8d4e8 5092
ab78acc6
IC
5093function drainQueue() {
5094 if (draining) {
5095 return;
5096 }
5097 var timeout = setTimeout(cleanUpNextTick);
5098 draining = true;
ebd8d4e8 5099
ab78acc6
IC
5100 var len = queue.length;
5101 while(len) {
5102 currentQueue = queue;
5103 queue = [];
5104 while (++queueIndex < len) {
5105 currentQueue[queueIndex].run();
5106 }
5107 queueIndex = -1;
5108 len = queue.length;
5109 }
5110 currentQueue = null;
5111 draining = false;
5112 clearTimeout(timeout);
5113}
5114
5115process.nextTick = function (fun) {
5116 var args = new Array(arguments.length - 1);
5117 if (arguments.length > 1) {
5118 for (var i = 1; i < arguments.length; i++) {
5119 args[i - 1] = arguments[i];
5120 }
5121 }
5122 queue.push(new Item(fun, args));
5123 if (queue.length === 1 && !draining) {
5124 setTimeout(drainQueue, 0);
5125 }
ebd8d4e8
IC
5126};
5127
ab78acc6
IC
5128// v8 likes predictible objects
5129function Item(fun, array) {
5130 this.fun = fun;
5131 this.array = array;
5132}
5133Item.prototype.run = function () {
5134 this.fun.apply(null, this.array);
5135};
5136process.title = 'browser';
5137process.browser = true;
5138process.env = {};
5139process.argv = [];
5140process.version = ''; // empty string to avoid regexp issues
5141process.versions = {};
ebd8d4e8 5142
ab78acc6
IC
5143function noop() {}
5144
5145process.on = noop;
5146process.addListener = noop;
5147process.once = noop;
5148process.off = noop;
5149process.removeListener = noop;
5150process.removeAllListeners = noop;
5151process.emit = noop;
5152
5153process.binding = function (name) {
5154 throw new Error('process.binding is not supported');
5155};
ebd8d4e8 5156
ab78acc6
IC
5157// TODO(shtylman)
5158process.cwd = function () { return '/' };
5159process.chdir = function (dir) {
5160 throw new Error('process.chdir is not supported');
5161};
5162process.umask = function() { return 0; };
ebd8d4e8 5163
ab78acc6
IC
5164},{}],15:[function(require,module,exports){
5165module.exports = require("./lib/_stream_duplex.js")
ebd8d4e8 5166
ab78acc6
IC
5167},{"./lib/_stream_duplex.js":16}],16:[function(require,module,exports){
5168(function (process){
5169// Copyright Joyent, Inc. and other Node contributors.
5170//
5171// Permission is hereby granted, free of charge, to any person obtaining a
5172// copy of this software and associated documentation files (the
5173// "Software"), to deal in the Software without restriction, including
5174// without limitation the rights to use, copy, modify, merge, publish,
5175// distribute, sublicense, and/or sell copies of the Software, and to permit
5176// persons to whom the Software is furnished to do so, subject to the
5177// following conditions:
5178//
5179// The above copyright notice and this permission notice shall be included
5180// in all copies or substantial portions of the Software.
5181//
5182// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5183// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5184// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5185// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5186// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5187// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5188// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5189
ab78acc6
IC
5190// a duplex stream is just a stream that is both readable and writable.
5191// Since JS doesn't have multiple prototypal inheritance, this class
5192// prototypally inherits from Readable, and then parasitically from
5193// Writable.
ebd8d4e8 5194
ab78acc6 5195module.exports = Duplex;
ebd8d4e8 5196
ab78acc6
IC
5197/*<replacement>*/
5198var objectKeys = Object.keys || function (obj) {
5199 var keys = [];
5200 for (var key in obj) keys.push(key);
5201 return keys;
ebd8d4e8 5202}
ab78acc6 5203/*</replacement>*/
ebd8d4e8 5204
ebd8d4e8 5205
ab78acc6
IC
5206/*<replacement>*/
5207var util = require('core-util-is');
5208util.inherits = require('inherits');
5209/*</replacement>*/
ebd8d4e8 5210
ab78acc6
IC
5211var Readable = require('./_stream_readable');
5212var Writable = require('./_stream_writable');
ebd8d4e8 5213
ab78acc6 5214util.inherits(Duplex, Readable);
ebd8d4e8 5215
ab78acc6
IC
5216forEach(objectKeys(Writable.prototype), function(method) {
5217 if (!Duplex.prototype[method])
5218 Duplex.prototype[method] = Writable.prototype[method];
5219});
ebd8d4e8 5220
ab78acc6
IC
5221function Duplex(options) {
5222 if (!(this instanceof Duplex))
5223 return new Duplex(options);
ebd8d4e8 5224
ab78acc6
IC
5225 Readable.call(this, options);
5226 Writable.call(this, options);
ebd8d4e8 5227
ab78acc6
IC
5228 if (options && options.readable === false)
5229 this.readable = false;
ebd8d4e8 5230
ab78acc6
IC
5231 if (options && options.writable === false)
5232 this.writable = false;
ebd8d4e8 5233
ab78acc6
IC
5234 this.allowHalfOpen = true;
5235 if (options && options.allowHalfOpen === false)
5236 this.allowHalfOpen = false;
ebd8d4e8 5237
ab78acc6 5238 this.once('end', onend);
ebd8d4e8
IC
5239}
5240
ab78acc6
IC
5241// the no-half-open enforcer
5242function onend() {
5243 // if we allow half-open state, or if the writable side ended,
5244 // then we're ok.
5245 if (this.allowHalfOpen || this._writableState.ended)
5246 return;
ebd8d4e8 5247
ab78acc6
IC
5248 // no more data can be written.
5249 // But allow more writes to happen in this tick.
5250 process.nextTick(this.end.bind(this));
5251}
ebd8d4e8 5252
ab78acc6
IC
5253function forEach (xs, f) {
5254 for (var i = 0, l = xs.length; i < l; i++) {
5255 f(xs[i], i);
ebd8d4e8 5256 }
ab78acc6 5257}
ebd8d4e8 5258
ab78acc6
IC
5259}).call(this,require('_process'))
5260},{"./_stream_readable":18,"./_stream_writable":20,"_process":14,"core-util-is":21,"inherits":12}],17:[function(require,module,exports){
5261// Copyright Joyent, Inc. and other Node contributors.
5262//
5263// Permission is hereby granted, free of charge, to any person obtaining a
5264// copy of this software and associated documentation files (the
5265// "Software"), to deal in the Software without restriction, including
5266// without limitation the rights to use, copy, modify, merge, publish,
5267// distribute, sublicense, and/or sell copies of the Software, and to permit
5268// persons to whom the Software is furnished to do so, subject to the
5269// following conditions:
5270//
5271// The above copyright notice and this permission notice shall be included
5272// in all copies or substantial portions of the Software.
5273//
5274// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5275// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5276// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5277// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5278// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5279// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5280// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5281
ab78acc6
IC
5282// a passthrough stream.
5283// basically just the most minimal sort of Transform stream.
5284// Every written chunk gets output as-is.
ebd8d4e8 5285
ab78acc6 5286module.exports = PassThrough;
ebd8d4e8 5287
ab78acc6 5288var Transform = require('./_stream_transform');
ebd8d4e8 5289
ab78acc6
IC
5290/*<replacement>*/
5291var util = require('core-util-is');
5292util.inherits = require('inherits');
5293/*</replacement>*/
ebd8d4e8 5294
ab78acc6 5295util.inherits(PassThrough, Transform);
ebd8d4e8 5296
ab78acc6
IC
5297function PassThrough(options) {
5298 if (!(this instanceof PassThrough))
5299 return new PassThrough(options);
ebd8d4e8 5300
ab78acc6
IC
5301 Transform.call(this, options);
5302}
ebd8d4e8 5303
ab78acc6
IC
5304PassThrough.prototype._transform = function(chunk, encoding, cb) {
5305 cb(null, chunk);
ebd8d4e8
IC
5306};
5307
ab78acc6
IC
5308},{"./_stream_transform":19,"core-util-is":21,"inherits":12}],18:[function(require,module,exports){
5309(function (process){
ebd8d4e8
IC
5310// Copyright Joyent, Inc. and other Node contributors.
5311//
5312// Permission is hereby granted, free of charge, to any person obtaining a
5313// copy of this software and associated documentation files (the
5314// "Software"), to deal in the Software without restriction, including
5315// without limitation the rights to use, copy, modify, merge, publish,
5316// distribute, sublicense, and/or sell copies of the Software, and to permit
5317// persons to whom the Software is furnished to do so, subject to the
5318// following conditions:
5319//
5320// The above copyright notice and this permission notice shall be included
5321// in all copies or substantial portions of the Software.
5322//
5323// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5324// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5325// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5326// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5327// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5328// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5329// USE OR OTHER DEALINGS IN THE SOFTWARE.
5330
ab78acc6 5331module.exports = Readable;
ebd8d4e8 5332
ab78acc6
IC
5333/*<replacement>*/
5334var isArray = require('isarray');
5335/*</replacement>*/
5336
5337
5338/*<replacement>*/
5339var Buffer = require('buffer').Buffer;
5340/*</replacement>*/
5341
5342Readable.ReadableState = ReadableState;
5343
5344var EE = require('events').EventEmitter;
5345
5346/*<replacement>*/
5347if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
5348 return emitter.listeners(type).length;
ebd8d4e8 5349};
ab78acc6
IC
5350/*</replacement>*/
5351
5352var Stream = require('stream');
5353
5354/*<replacement>*/
5355var util = require('core-util-is');
5356util.inherits = require('inherits');
5357/*</replacement>*/
5358
5359var StringDecoder;
5360
5361
5362/*<replacement>*/
5363var debug = require('util');
5364if (debug && debug.debuglog) {
5365 debug = debug.debuglog('stream');
5366} else {
5367 debug = function () {};
5368}
5369/*</replacement>*/
5370
5371
5372util.inherits(Readable, Stream);
5373
5374function ReadableState(options, stream) {
5375 var Duplex = require('./_stream_duplex');
5376
5377 options = options || {};
5378
5379 // the point at which it stops calling _read() to fill the buffer
5380 // Note: 0 is a valid value, means "don't call _read preemptively ever"
5381 var hwm = options.highWaterMark;
5382 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
5383 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
5384
5385 // cast to ints.
5386 this.highWaterMark = ~~this.highWaterMark;
5387
5388 this.buffer = [];
5389 this.length = 0;
5390 this.pipes = null;
5391 this.pipesCount = 0;
5392 this.flowing = null;
5393 this.ended = false;
5394 this.endEmitted = false;
5395 this.reading = false;
ebd8d4e8 5396
ab78acc6
IC
5397 // a flag to be able to tell if the onwrite cb is called immediately,
5398 // or on a later tick. We set this to true at first, because any
5399 // actions that shouldn't happen until "later" should generally also
5400 // not happen before the first write call.
5401 this.sync = true;
ebd8d4e8 5402
ab78acc6
IC
5403 // whenever we return null, then we set a flag to say
5404 // that we're awaiting a 'readable' event emission.
5405 this.needReadable = false;
5406 this.emittedReadable = false;
5407 this.readableListening = false;
ebd8d4e8 5408
ab78acc6
IC
5409
5410 // object stream flag. Used to make read(n) ignore n and to
5411 // make all the buffer merging and length checks go away
5412 this.objectMode = !!options.objectMode;
5413
5414 if (stream instanceof Duplex)
5415 this.objectMode = this.objectMode || !!options.readableObjectMode;
5416
5417 // Crypto is kind of old and crusty. Historically, its default string
5418 // encoding is 'binary' so we have to make this configurable.
5419 // Everything else in the universe uses 'utf8', though.
5420 this.defaultEncoding = options.defaultEncoding || 'utf8';
5421
5422 // when piping, we only care about 'readable' events that happen
5423 // after read()ing all the bytes and not getting any pushback.
5424 this.ranOut = false;
5425
5426 // the number of writers that are awaiting a drain event in .pipe()s
5427 this.awaitDrain = 0;
5428
5429 // if true, a maybeReadMore has been scheduled
5430 this.readingMore = false;
5431
5432 this.decoder = null;
5433 this.encoding = null;
5434 if (options.encoding) {
5435 if (!StringDecoder)
5436 StringDecoder = require('string_decoder/').StringDecoder;
5437 this.decoder = new StringDecoder(options.encoding);
5438 this.encoding = options.encoding;
ebd8d4e8 5439 }
ab78acc6 5440}
ebd8d4e8 5441
ab78acc6
IC
5442function Readable(options) {
5443 var Duplex = require('./_stream_duplex');
5444
5445 if (!(this instanceof Readable))
5446 return new Readable(options);
5447
5448 this._readableState = new ReadableState(options, this);
5449
5450 // legacy
5451 this.readable = true;
5452
5453 Stream.call(this);
5454}
5455
5456// Manually shove something into the read() buffer.
5457// This returns true if the highWaterMark has not been hit yet,
5458// similar to how Writable.write() returns true if you should
5459// write() some more.
5460Readable.prototype.push = function(chunk, encoding) {
5461 var state = this._readableState;
5462
5463 if (util.isString(chunk) && !state.objectMode) {
5464 encoding = encoding || state.defaultEncoding;
5465 if (encoding !== state.encoding) {
5466 chunk = new Buffer(chunk, encoding);
5467 encoding = '';
ebd8d4e8 5468 }
ebd8d4e8
IC
5469 }
5470
ab78acc6 5471 return readableAddChunk(this, state, chunk, encoding, false);
ebd8d4e8
IC
5472};
5473
ab78acc6
IC
5474// Unshift should *always* be something directly out of read()
5475Readable.prototype.unshift = function(chunk) {
5476 var state = this._readableState;
5477 return readableAddChunk(this, state, chunk, '', true);
5478};
ebd8d4e8 5479
ab78acc6
IC
5480function readableAddChunk(stream, state, chunk, encoding, addToFront) {
5481 var er = chunkInvalid(state, chunk);
5482 if (er) {
5483 stream.emit('error', er);
5484 } else if (util.isNullOrUndefined(chunk)) {
5485 state.reading = false;
5486 if (!state.ended)
5487 onEofChunk(stream, state);
5488 } else if (state.objectMode || chunk && chunk.length > 0) {
5489 if (state.ended && !addToFront) {
5490 var e = new Error('stream.push() after EOF');
5491 stream.emit('error', e);
5492 } else if (state.endEmitted && addToFront) {
5493 var e = new Error('stream.unshift() after end event');
5494 stream.emit('error', e);
ebd8d4e8 5495 } else {
ab78acc6
IC
5496 if (state.decoder && !addToFront && !encoding)
5497 chunk = state.decoder.write(chunk);
5498
5499 if (!addToFront)
5500 state.reading = false;
5501
5502 // if we want the data now, just emit it.
5503 if (state.flowing && state.length === 0 && !state.sync) {
5504 stream.emit('data', chunk);
5505 stream.read(0);
5506 } else {
5507 // update the buffer info.
5508 state.length += state.objectMode ? 1 : chunk.length;
5509 if (addToFront)
5510 state.buffer.unshift(chunk);
5511 else
5512 state.buffer.push(chunk);
5513
5514 if (state.needReadable)
5515 emitReadable(stream);
5516 }
5517
5518 maybeReadMore(stream, state);
ebd8d4e8 5519 }
ab78acc6
IC
5520 } else if (!addToFront) {
5521 state.reading = false;
ebd8d4e8 5522 }
ebd8d4e8 5523
ab78acc6
IC
5524 return needMoreData(state);
5525}
ebd8d4e8 5526
ab78acc6
IC
5527
5528
5529// if it's past the high water mark, we can push in some more.
5530// Also, if we have no data yet, we can stand some
5531// more bytes. This is to work around cases where hwm=0,
5532// such as the repl. Also, if the push() triggered a
5533// readable event, and the user called read(largeNumber) such that
5534// needReadable was set, then we ought to push more, so that another
5535// 'readable' event will be triggered.
5536function needMoreData(state) {
5537 return !state.ended &&
5538 (state.needReadable ||
5539 state.length < state.highWaterMark ||
5540 state.length === 0);
5541}
5542
5543// backwards compatibility.
5544Readable.prototype.setEncoding = function(enc) {
5545 if (!StringDecoder)
5546 StringDecoder = require('string_decoder/').StringDecoder;
5547 this._readableState.decoder = new StringDecoder(enc);
5548 this._readableState.encoding = enc;
5549 return this;
5550};
5551
5552// Don't raise the hwm > 128MB
5553var MAX_HWM = 0x800000;
5554function roundUpToNextPowerOf2(n) {
5555 if (n >= MAX_HWM) {
5556 n = MAX_HWM;
5557 } else {
5558 // Get the next highest power of 2
5559 n--;
5560 for (var p = 1; p < 32; p <<= 1) n |= n >> p;
5561 n++;
ebd8d4e8 5562 }
ab78acc6 5563 return n;
ebd8d4e8 5564}
ebd8d4e8 5565
ab78acc6
IC
5566function howMuchToRead(n, state) {
5567 if (state.length === 0 && state.ended)
5568 return 0;
ebd8d4e8 5569
ab78acc6
IC
5570 if (state.objectMode)
5571 return n === 0 ? 0 : 1;
ebd8d4e8 5572
ab78acc6
IC
5573 if (isNaN(n) || util.isNull(n)) {
5574 // only flow one buffer at a time
5575 if (state.flowing && state.buffer.length)
5576 return state.buffer[0].length;
5577 else
5578 return state.length;
5579 }
ebd8d4e8 5580
ab78acc6
IC
5581 if (n <= 0)
5582 return 0;
ebd8d4e8 5583
ab78acc6
IC
5584 // If we're asking for more than the target buffer level,
5585 // then raise the water mark. Bump up to the next highest
5586 // power of 2, to prevent increasing it excessively in tiny
5587 // amounts.
5588 if (n > state.highWaterMark)
5589 state.highWaterMark = roundUpToNextPowerOf2(n);
ebd8d4e8 5590
ab78acc6
IC
5591 // don't have that much. return null, unless we've ended.
5592 if (n > state.length) {
5593 if (!state.ended) {
5594 state.needReadable = true;
5595 return 0;
5596 } else
5597 return state.length;
ebd8d4e8 5598 }
ab78acc6
IC
5599
5600 return n;
ebd8d4e8
IC
5601}
5602
ab78acc6
IC
5603// you can override either this method, or the async _read(n) below.
5604Readable.prototype.read = function(n) {
5605 debug('read', n);
5606 var state = this._readableState;
5607 var nOrig = n;
ebd8d4e8 5608
ab78acc6
IC
5609 if (!util.isNumber(n) || n > 0)
5610 state.emittedReadable = false;
5611
5612 // if we're doing read(0) to trigger a readable event, but we
5613 // already have a bunch of data in the buffer, then just trigger
5614 // the 'readable' event and move on.
5615 if (n === 0 &&
5616 state.needReadable &&
5617 (state.length >= state.highWaterMark || state.ended)) {
5618 debug('read: emitReadable', state.length, state.ended);
5619 if (state.length === 0 && state.ended)
5620 endReadable(this);
5621 else
5622 emitReadable(this);
5623 return null;
5624 }
5625
5626 n = howMuchToRead(n, state);
5627
5628 // if we've ended, and we're now clear, then finish it up.
5629 if (n === 0 && state.ended) {
5630 if (state.length === 0)
5631 endReadable(this);
5632 return null;
5633 }
5634
5635 // All the actual chunk generation logic needs to be
5636 // *below* the call to _read. The reason is that in certain
5637 // synthetic stream cases, such as passthrough streams, _read
5638 // may be a completely synchronous operation which may change
5639 // the state of the read buffer, providing enough data when
5640 // before there was *not* enough.
5641 //
5642 // So, the steps are:
5643 // 1. Figure out what the state of things will be after we do
5644 // a read from the buffer.
5645 //
5646 // 2. If that resulting state will trigger a _read, then call _read.
5647 // Note that this may be asynchronous, or synchronous. Yes, it is
5648 // deeply ugly to write APIs this way, but that still doesn't mean
5649 // that the Readable class should behave improperly, as streams are
5650 // designed to be sync/async agnostic.
5651 // Take note if the _read call is sync or async (ie, if the read call
5652 // has returned yet), so that we know whether or not it's safe to emit
5653 // 'readable' etc.
5654 //
5655 // 3. Actually pull the requested chunks out of the buffer and return.
5656
5657 // if we need a readable event, then we need to do some reading.
5658 var doRead = state.needReadable;
5659 debug('need readable', doRead);
5660
5661 // if we currently have less than the highWaterMark, then also read some
5662 if (state.length === 0 || state.length - n < state.highWaterMark) {
5663 doRead = true;
5664 debug('length less than watermark', doRead);
5665 }
5666
5667 // however, if we've ended, then there's no point, and if we're already
5668 // reading, then it's unnecessary.
5669 if (state.ended || state.reading) {
5670 doRead = false;
5671 debug('reading or ended', doRead);
5672 }
5673
5674 if (doRead) {
5675 debug('do read');
5676 state.reading = true;
5677 state.sync = true;
5678 // if the length is currently zero, then we *need* a readable event.
5679 if (state.length === 0)
5680 state.needReadable = true;
5681 // call internal read method
5682 this._read(state.highWaterMark);
5683 state.sync = false;
5684 }
5685
5686 // If _read pushed data synchronously, then `reading` will be false,
5687 // and we need to re-evaluate how much data we can return to the user.
5688 if (doRead && !state.reading)
5689 n = howMuchToRead(nOrig, state);
5690
5691 var ret;
5692 if (n > 0)
5693 ret = fromList(n, state);
5694 else
5695 ret = null;
ebd8d4e8 5696
ab78acc6
IC
5697 if (util.isNull(ret)) {
5698 state.needReadable = true;
5699 n = 0;
5700 }
ebd8d4e8 5701
ab78acc6 5702 state.length -= n;
ebd8d4e8 5703
ab78acc6
IC
5704 // If we have nothing in the buffer, then we want to know
5705 // as soon as we *do* get something into the buffer.
5706 if (state.length === 0 && !state.ended)
5707 state.needReadable = true;
ebd8d4e8 5708
ab78acc6
IC
5709 // If we tried to read() past the EOF, then emit end on the next tick.
5710 if (nOrig !== n && state.ended && state.length === 0)
5711 endReadable(this);
5712
5713 if (!util.isNull(ret))
5714 this.emit('data', ret);
5715
5716 return ret;
5717};
5718
5719function chunkInvalid(state, chunk) {
5720 var er = null;
5721 if (!util.isBuffer(chunk) &&
5722 !util.isString(chunk) &&
5723 !util.isNullOrUndefined(chunk) &&
5724 !state.objectMode) {
5725 er = new TypeError('Invalid non-string/buffer chunk');
5726 }
5727 return er;
ebd8d4e8
IC
5728}
5729
5730
ab78acc6
IC
5731function onEofChunk(stream, state) {
5732 if (state.decoder && !state.ended) {
5733 var chunk = state.decoder.end();
5734 if (chunk && chunk.length) {
5735 state.buffer.push(chunk);
5736 state.length += state.objectMode ? 1 : chunk.length;
ebd8d4e8 5737 }
ebd8d4e8 5738 }
ab78acc6 5739 state.ended = true;
ebd8d4e8 5740
ab78acc6
IC
5741 // emit 'readable' now to make sure it gets picked up.
5742 emitReadable(stream);
5743}
5744
5745// Don't emit readable right away in sync mode, because this can trigger
5746// another read() call => stack overflow. This way, it might trigger
5747// a nextTick recursion warning, but that's not so bad.
5748function emitReadable(stream) {
5749 var state = stream._readableState;
5750 state.needReadable = false;
5751 if (!state.emittedReadable) {
5752 debug('emitReadable', state.flowing);
5753 state.emittedReadable = true;
5754 if (state.sync)
5755 process.nextTick(function() {
5756 emitReadable_(stream);
5757 });
5758 else
5759 emitReadable_(stream);
ebd8d4e8 5760 }
ab78acc6 5761}
ebd8d4e8 5762
ab78acc6
IC
5763function emitReadable_(stream) {
5764 debug('emit readable');
5765 stream.emit('readable');
5766 flow(stream);
5767}
ebd8d4e8 5768
ab78acc6
IC
5769
5770// at this point, the user has presumably seen the 'readable' event,
5771// and called read() to consume some data. that may have triggered
5772// in turn another _read(n) call, in which case reading = true if
5773// it's in progress.
5774// However, if we're not ended, or reading, and the length < hwm,
5775// then go ahead and try to read some more preemptively.
5776function maybeReadMore(stream, state) {
5777 if (!state.readingMore) {
5778 state.readingMore = true;
5779 process.nextTick(function() {
5780 maybeReadMore_(stream, state);
5781 });
ebd8d4e8 5782 }
ab78acc6 5783}
ebd8d4e8 5784
ab78acc6
IC
5785function maybeReadMore_(stream, state) {
5786 var len = state.length;
5787 while (!state.reading && !state.flowing && !state.ended &&
5788 state.length < state.highWaterMark) {
5789 debug('maybeReadMore read 0');
5790 stream.read(0);
5791 if (len === state.length)
5792 // didn't get any data, stop spinning.
5793 break;
5794 else
5795 len = state.length;
ebd8d4e8 5796 }
ab78acc6
IC
5797 state.readingMore = false;
5798}
ebd8d4e8 5799
ab78acc6
IC
5800// abstract method. to be overridden in specific implementation classes.
5801// call cb(er, data) where data is <= n in length.
5802// for virtual (non-string, non-buffer) streams, "length" is somewhat
5803// arbitrary, and perhaps not very meaningful.
5804Readable.prototype._read = function(n) {
5805 this.emit('error', new Error('not implemented'));
5806};
5807
5808Readable.prototype.pipe = function(dest, pipeOpts) {
5809 var src = this;
5810 var state = this._readableState;
5811
5812 switch (state.pipesCount) {
5813 case 0:
5814 state.pipes = dest;
5815 break;
5816 case 1:
5817 state.pipes = [state.pipes, dest];
5818 break;
5819 default:
5820 state.pipes.push(dest);
5821 break;
ebd8d4e8 5822 }
ab78acc6
IC
5823 state.pipesCount += 1;
5824 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
ebd8d4e8 5825
ab78acc6
IC
5826 var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
5827 dest !== process.stdout &&
5828 dest !== process.stderr;
ebd8d4e8 5829
ab78acc6
IC
5830 var endFn = doEnd ? onend : cleanup;
5831 if (state.endEmitted)
5832 process.nextTick(endFn);
5833 else
5834 src.once('end', endFn);
5835
5836 dest.on('unpipe', onunpipe);
5837 function onunpipe(readable) {
5838 debug('onunpipe');
5839 if (readable === src) {
5840 cleanup();
5841 }
5842 }
5843
5844 function onend() {
5845 debug('onend');
5846 dest.end();
5847 }
5848
5849 // when the dest drains, it reduces the awaitDrain counter
5850 // on the source. This would be more elegant with a .once()
5851 // handler in flow(), but adding and removing repeatedly is
5852 // too slow.
5853 var ondrain = pipeOnDrain(src);
5854 dest.on('drain', ondrain);
5855
5856 function cleanup() {
5857 debug('cleanup');
5858 // cleanup event handlers once the pipe is broken
5859 dest.removeListener('close', onclose);
5860 dest.removeListener('finish', onfinish);
5861 dest.removeListener('drain', ondrain);
5862 dest.removeListener('error', onerror);
5863 dest.removeListener('unpipe', onunpipe);
5864 src.removeListener('end', onend);
5865 src.removeListener('end', cleanup);
5866 src.removeListener('data', ondata);
5867
5868 // if the reader is waiting for a drain event from this
5869 // specific writer, then it would cause it to never start
5870 // flowing again.
5871 // So, if this is awaiting a drain, then we just call it now.
5872 // If we don't know, then assume that we are waiting for one.
5873 if (state.awaitDrain &&
5874 (!dest._writableState || dest._writableState.needDrain))
5875 ondrain();
5876 }
5877
5878 src.on('data', ondata);
5879 function ondata(chunk) {
5880 debug('ondata');
5881 var ret = dest.write(chunk);
5882 if (false === ret) {
5883 debug('false write response, pause',
5884 src._readableState.awaitDrain);
5885 src._readableState.awaitDrain++;
5886 src.pause();
5887 }
5888 }
5889
5890 // if the dest has an error, then stop piping into it.
5891 // however, don't suppress the throwing behavior for this.
5892 function onerror(er) {
5893 debug('onerror', er);
5894 unpipe();
5895 dest.removeListener('error', onerror);
5896 if (EE.listenerCount(dest, 'error') === 0)
5897 dest.emit('error', er);
5898 }
5899 // This is a brutally ugly hack to make sure that our error handler
5900 // is attached before any userland ones. NEVER DO THIS.
5901 if (!dest._events || !dest._events.error)
5902 dest.on('error', onerror);
5903 else if (isArray(dest._events.error))
5904 dest._events.error.unshift(onerror);
5905 else
5906 dest._events.error = [onerror, dest._events.error];
5907
5908
5909
5910 // Both close and finish should trigger unpipe, but only once.
5911 function onclose() {
5912 dest.removeListener('finish', onfinish);
5913 unpipe();
ebd8d4e8 5914 }
ab78acc6
IC
5915 dest.once('close', onclose);
5916 function onfinish() {
5917 debug('onfinish');
5918 dest.removeListener('close', onclose);
5919 unpipe();
5920 }
5921 dest.once('finish', onfinish);
ebd8d4e8 5922
ab78acc6
IC
5923 function unpipe() {
5924 debug('unpipe');
5925 src.unpipe(dest);
ebd8d4e8
IC
5926 }
5927
ab78acc6
IC
5928 // tell the dest that it's being piped to
5929 dest.emit('pipe', src);
5930
5931 // start the flow if it hasn't been started already.
5932 if (!state.flowing) {
5933 debug('pipe resume');
5934 src.resume();
ebd8d4e8
IC
5935 }
5936
ab78acc6
IC
5937 return dest;
5938};
5939
5940function pipeOnDrain(src) {
5941 return function() {
5942 var state = src._readableState;
5943 debug('pipeOnDrain', state.awaitDrain);
5944 if (state.awaitDrain)
5945 state.awaitDrain--;
5946 if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
5947 state.flowing = true;
5948 flow(src);
5949 }
5950 };
5951}
5952
5953
5954Readable.prototype.unpipe = function(dest) {
5955 var state = this._readableState;
5956
5957 // if we're not piping anywhere, then do nothing.
5958 if (state.pipesCount === 0)
5959 return this;
5960
5961 // just one destination. most common case.
5962 if (state.pipesCount === 1) {
5963 // passed in one, but it's not the right one.
5964 if (dest && dest !== state.pipes)
5965 return this;
5966
5967 if (!dest)
5968 dest = state.pipes;
5969
5970 // got a match.
5971 state.pipes = null;
5972 state.pipesCount = 0;
5973 state.flowing = false;
5974 if (dest)
5975 dest.emit('unpipe', this);
5976 return this;
ebd8d4e8
IC
5977 }
5978
ab78acc6
IC
5979 // slow case. multiple pipe destinations.
5980
5981 if (!dest) {
5982 // remove all.
5983 var dests = state.pipes;
5984 var len = state.pipesCount;
5985 state.pipes = null;
5986 state.pipesCount = 0;
5987 state.flowing = false;
5988
5989 for (var i = 0; i < len; i++)
5990 dests[i].emit('unpipe', this);
5991 return this;
ebd8d4e8
IC
5992 }
5993
ab78acc6
IC
5994 // try to find the right one.
5995 var i = indexOf(state.pipes, dest);
5996 if (i === -1)
5997 return this;
5998
5999 state.pipes.splice(i, 1);
6000 state.pipesCount -= 1;
6001 if (state.pipesCount === 1)
6002 state.pipes = state.pipes[0];
6003
6004 dest.emit('unpipe', this);
ebd8d4e8 6005
ab78acc6
IC
6006 return this;
6007};
6008
6009// set up data events if they are asked for
6010// Ensure readable listeners eventually get something
6011Readable.prototype.on = function(ev, fn) {
6012 var res = Stream.prototype.on.call(this, ev, fn);
6013
6014 // If listening to data, and it has not explicitly been paused,
6015 // then call resume to start the flow of data on the next tick.
6016 if (ev === 'data' && false !== this._readableState.flowing) {
6017 this.resume();
6018 }
6019
6020 if (ev === 'readable' && this.readable) {
6021 var state = this._readableState;
6022 if (!state.readableListening) {
6023 state.readableListening = true;
6024 state.emittedReadable = false;
6025 state.needReadable = true;
6026 if (!state.reading) {
6027 var self = this;
6028 process.nextTick(function() {
6029 debug('readable nexttick read 0');
6030 self.read(0);
6031 });
6032 } else if (state.length) {
6033 emitReadable(this, state);
6034 }
ebd8d4e8
IC
6035 }
6036 }
6037
ab78acc6
IC
6038 return res;
6039};
6040Readable.prototype.addListener = Readable.prototype.on;
6041
6042// pause() and resume() are remnants of the legacy readable stream API
6043// If the user uses them, then switch into old mode.
6044Readable.prototype.resume = function() {
6045 var state = this._readableState;
6046 if (!state.flowing) {
6047 debug('resume');
6048 state.flowing = true;
6049 if (!state.reading) {
6050 debug('resume read 0');
6051 this.read(0);
6052 }
6053 resume(this, state);
6054 }
6055 return this;
6056};
ebd8d4e8 6057
ab78acc6
IC
6058function resume(stream, state) {
6059 if (!state.resumeScheduled) {
6060 state.resumeScheduled = true;
6061 process.nextTick(function() {
6062 resume_(stream, state);
ebd8d4e8
IC
6063 });
6064 }
ebd8d4e8
IC
6065}
6066
ab78acc6
IC
6067function resume_(stream, state) {
6068 state.resumeScheduled = false;
6069 stream.emit('resume');
6070 flow(stream);
6071 if (state.flowing && !state.reading)
6072 stream.read(0);
ebd8d4e8
IC
6073}
6074
ab78acc6
IC
6075Readable.prototype.pause = function() {
6076 debug('call pause flowing=%j', this._readableState.flowing);
6077 if (false !== this._readableState.flowing) {
6078 debug('pause');
6079 this._readableState.flowing = false;
6080 this.emit('pause');
6081 }
6082 return this;
6083};
ebd8d4e8 6084
ab78acc6
IC
6085function flow(stream) {
6086 var state = stream._readableState;
6087 debug('flow', state.flowing);
6088 if (state.flowing) {
6089 do {
6090 var chunk = stream.read();
6091 } while (null !== chunk && state.flowing);
6092 }
ebd8d4e8
IC
6093}
6094
ab78acc6
IC
6095// wrap an old-style stream as the async data source.
6096// This is *not* part of the readable stream interface.
6097// It is an ugly unfortunate mess of history.
6098Readable.prototype.wrap = function(stream) {
6099 var state = this._readableState;
6100 var paused = false;
ebd8d4e8 6101
ab78acc6
IC
6102 var self = this;
6103 stream.on('end', function() {
6104 debug('wrapped end');
6105 if (state.decoder && !state.ended) {
6106 var chunk = state.decoder.end();
6107 if (chunk && chunk.length)
6108 self.push(chunk);
ebd8d4e8 6109 }
ab78acc6
IC
6110
6111 self.push(null);
ebd8d4e8 6112 });
ebd8d4e8 6113
ab78acc6
IC
6114 stream.on('data', function(chunk) {
6115 debug('wrapped data');
6116 if (state.decoder)
6117 chunk = state.decoder.write(chunk);
6118 if (!chunk || !state.objectMode && !chunk.length)
6119 return;
ebd8d4e8 6120
ab78acc6
IC
6121 var ret = self.push(chunk);
6122 if (!ret) {
6123 paused = true;
6124 stream.pause();
ebd8d4e8 6125 }
ab78acc6
IC
6126 });
6127
6128 // proxy all the other methods.
6129 // important when wrapping filters and duplexes.
6130 for (var i in stream) {
6131 if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
6132 this[i] = function(method) { return function() {
6133 return stream[method].apply(stream, arguments);
6134 }}(i);
ebd8d4e8
IC
6135 }
6136 }
ab78acc6
IC
6137
6138 // proxy certain important events.
6139 var events = ['error', 'close', 'destroy', 'pause', 'resume'];
6140 forEach(events, function(ev) {
6141 stream.on(ev, self.emit.bind(self, ev));
6142 });
6143
6144 // when we try to consume some more bytes, simply unpause the
6145 // underlying stream.
6146 self._read = function(n) {
6147 debug('wrapped _read', n);
6148 if (paused) {
6149 paused = false;
6150 stream.resume();
ebd8d4e8 6151 }
ab78acc6
IC
6152 };
6153
6154 return self;
6155};
6156
6157
6158
6159// exposed for testing purposes only.
6160Readable._fromList = fromList;
6161
6162// Pluck off n bytes from an array of buffers.
6163// Length is the combined lengths of all the buffers in the list.
6164function fromList(n, state) {
6165 var list = state.buffer;
6166 var length = state.length;
6167 var stringMode = !!state.decoder;
6168 var objectMode = !!state.objectMode;
6169 var ret;
6170
6171 // nothing in the list, definitely empty.
6172 if (list.length === 0)
6173 return null;
6174
6175 if (length === 0)
6176 ret = null;
6177 else if (objectMode)
6178 ret = list.shift();
6179 else if (!n || n >= length) {
6180 // read it all, truncate the array.
6181 if (stringMode)
6182 ret = list.join('');
6183 else
6184 ret = Buffer.concat(list, length);
6185 list.length = 0;
6186 } else {
6187 // read just some of it.
6188 if (n < list[0].length) {
6189 // just take a part of the first list item.
6190 // slice is the same for buffers and strings.
6191 var buf = list[0];
6192 ret = buf.slice(0, n);
6193 list[0] = buf.slice(n);
6194 } else if (n === list[0].length) {
6195 // first list is a perfect match
6196 ret = list.shift();
ebd8d4e8 6197 } else {
ab78acc6
IC
6198 // complex case.
6199 // we have enough to cover it, but it spans past the first buffer.
6200 if (stringMode)
6201 ret = '';
6202 else
6203 ret = new Buffer(n);
ebd8d4e8 6204
ab78acc6
IC
6205 var c = 0;
6206 for (var i = 0, l = list.length; i < l && c < n; i++) {
6207 var buf = list[0];
6208 var cpy = Math.min(n - c, buf.length);
ebd8d4e8 6209
ab78acc6
IC
6210 if (stringMode)
6211 ret += buf.slice(0, cpy);
6212 else
6213 buf.copy(ret, c, 0, cpy);
ebd8d4e8 6214
ab78acc6
IC
6215 if (cpy < buf.length)
6216 list[0] = buf.slice(cpy);
6217 else
6218 list.shift();
ebd8d4e8 6219
ab78acc6
IC
6220 c += cpy;
6221 }
6222 }
ebd8d4e8
IC
6223 }
6224
ab78acc6 6225 return ret;
ebd8d4e8
IC
6226}
6227
ab78acc6
IC
6228function endReadable(stream) {
6229 var state = stream._readableState;
ebd8d4e8 6230
ab78acc6
IC
6231 // If we get here before consuming all the bytes, then that is a
6232 // bug in node. Should never happen.
6233 if (state.length > 0)
6234 throw new Error('endReadable called on non-empty stream');
ebd8d4e8 6235
ab78acc6
IC
6236 if (!state.endEmitted) {
6237 state.ended = true;
6238 process.nextTick(function() {
6239 // Check that we didn't get one last unshift.
6240 if (!state.endEmitted && state.length === 0) {
6241 state.endEmitted = true;
6242 stream.readable = false;
6243 stream.emit('end');
6244 }
6245 });
6246 }
ebd8d4e8 6247}
ebd8d4e8 6248
ab78acc6
IC
6249function forEach (xs, f) {
6250 for (var i = 0, l = xs.length; i < l; i++) {
6251 f(xs[i], i);
6252 }
ebd8d4e8 6253}
ebd8d4e8 6254
ab78acc6
IC
6255function indexOf (xs, x) {
6256 for (var i = 0, l = xs.length; i < l; i++) {
6257 if (xs[i] === x) return i;
6258 }
6259 return -1;
ebd8d4e8 6260}
ebd8d4e8 6261
ab78acc6
IC
6262}).call(this,require('_process'))
6263},{"./_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){
6264// Copyright Joyent, Inc. and other Node contributors.
6265//
6266// Permission is hereby granted, free of charge, to any person obtaining a
6267// copy of this software and associated documentation files (the
6268// "Software"), to deal in the Software without restriction, including
6269// without limitation the rights to use, copy, modify, merge, publish,
6270// distribute, sublicense, and/or sell copies of the Software, and to permit
6271// persons to whom the Software is furnished to do so, subject to the
6272// following conditions:
6273//
6274// The above copyright notice and this permission notice shall be included
6275// in all copies or substantial portions of the Software.
6276//
6277// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6278// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6279// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6280// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6281// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6282// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6283// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6284
ebd8d4e8 6285
ab78acc6
IC
6286// a transform stream is a readable/writable stream where you do
6287// something with the data. Sometimes it's called a "filter",
6288// but that's not a great name for it, since that implies a thing where
6289// some bits pass through, and others are simply ignored. (That would
6290// be a valid example of a transform, of course.)
6291//
6292// While the output is causally related to the input, it's not a
6293// necessarily symmetric or synchronous transformation. For example,
6294// a zlib stream might take multiple plain-text writes(), and then
6295// emit a single compressed chunk some time in the future.
6296//
6297// Here's how this works:
6298//
6299// The Transform stream has all the aspects of the readable and writable
6300// stream classes. When you write(chunk), that calls _write(chunk,cb)
6301// internally, and returns false if there's a lot of pending writes
6302// buffered up. When you call read(), that calls _read(n) until
6303// there's enough pending readable data buffered up.
6304//
6305// In a transform stream, the written data is placed in a buffer. When
6306// _read(n) is called, it transforms the queued up data, calling the
6307// buffered _write cb's as it consumes chunks. If consuming a single
6308// written chunk would result in multiple output chunks, then the first
6309// outputted bit calls the readcb, and subsequent chunks just go into
6310// the read buffer, and will cause it to emit 'readable' if necessary.
6311//
6312// This way, back-pressure is actually determined by the reading side,
6313// since _read has to be called to start processing a new chunk. However,
6314// a pathological inflate type of transform can cause excessive buffering
6315// here. For example, imagine a stream where every byte of input is
6316// interpreted as an integer from 0-255, and then results in that many
6317// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
6318// 1kb of data being output. In this case, you could write a very small
6319// amount of input, and end up with a very large amount of output. In
6320// such a pathological inflating mechanism, there'd be no way to tell
6321// the system to stop doing the transform. A single 4MB write could
6322// cause the system to run out of memory.
6323//
6324// However, even in such a pathological case, only a single written chunk
6325// would be consumed, and then the rest would wait (un-transformed) until
6326// the results of the previous transformed chunk were consumed.
ebd8d4e8 6327
ab78acc6 6328module.exports = Transform;
ebd8d4e8 6329
ab78acc6 6330var Duplex = require('./_stream_duplex');
ebd8d4e8 6331
ab78acc6
IC
6332/*<replacement>*/
6333var util = require('core-util-is');
6334util.inherits = require('inherits');
6335/*</replacement>*/
6336
6337util.inherits(Transform, Duplex);
6338
6339
6340function TransformState(options, stream) {
6341 this.afterTransform = function(er, data) {
6342 return afterTransform(stream, er, data);
6343 };
6344
6345 this.needTransform = false;
6346 this.transforming = false;
6347 this.writecb = null;
6348 this.writechunk = null;
ebd8d4e8 6349}
ebd8d4e8 6350
ab78acc6
IC
6351function afterTransform(stream, er, data) {
6352 var ts = stream._transformState;
6353 ts.transforming = false;
6354
6355 var cb = ts.writecb;
6356
6357 if (!cb)
6358 return stream.emit('error', new Error('no writecb in Transform class'));
6359
6360 ts.writechunk = null;
6361 ts.writecb = null;
6362
6363 if (!util.isNullOrUndefined(data))
6364 stream.push(data);
6365
6366 if (cb)
6367 cb(er);
6368
6369 var rs = stream._readableState;
6370 rs.reading = false;
6371 if (rs.needReadable || rs.length < rs.highWaterMark) {
6372 stream._read(rs.highWaterMark);
6373 }
ebd8d4e8 6374}
ebd8d4e8 6375
ab78acc6
IC
6376
6377function Transform(options) {
6378 if (!(this instanceof Transform))
6379 return new Transform(options);
6380
6381 Duplex.call(this, options);
6382
6383 this._transformState = new TransformState(options, this);
6384
6385 // when the writable side finishes, then flush out anything remaining.
6386 var stream = this;
6387
6388 // start out asking for a readable event once data is transformed.
6389 this._readableState.needReadable = true;
6390
6391 // we have implemented the _read method, and done the other things
6392 // that Readable wants before the first _read call, so unset the
6393 // sync guard flag.
6394 this._readableState.sync = false;
6395
6396 this.once('prefinish', function() {
6397 if (util.isFunction(this._flush))
6398 this._flush(function(er) {
6399 done(stream, er);
6400 });
6401 else
6402 done(stream);
6403 });
ebd8d4e8 6404}
ebd8d4e8 6405
ab78acc6
IC
6406Transform.prototype.push = function(chunk, encoding) {
6407 this._transformState.needTransform = false;
6408 return Duplex.prototype.push.call(this, chunk, encoding);
6409};
6410
6411// This is the part where you do stuff!
6412// override this function in implementation classes.
6413// 'chunk' is an input chunk.
6414//
6415// Call `push(newChunk)` to pass along transformed output
6416// to the readable side. You may call 'push' zero or more times.
6417//
6418// Call `cb(err)` when you are done with this chunk. If you pass
6419// an error, then that'll put the hurt on the whole operation. If you
6420// never call cb(), then you'll never get another chunk.
6421Transform.prototype._transform = function(chunk, encoding, cb) {
6422 throw new Error('not implemented');
6423};
6424
6425Transform.prototype._write = function(chunk, encoding, cb) {
6426 var ts = this._transformState;
6427 ts.writecb = cb;
6428 ts.writechunk = chunk;
6429 ts.writeencoding = encoding;
6430 if (!ts.transforming) {
6431 var rs = this._readableState;
6432 if (ts.needTransform ||
6433 rs.needReadable ||
6434 rs.length < rs.highWaterMark)
6435 this._read(rs.highWaterMark);
6436 }
6437};
6438
6439// Doesn't matter what the args are here.
6440// _transform does all the work.
6441// That we got here means that the readable side wants more data.
6442Transform.prototype._read = function(n) {
6443 var ts = this._transformState;
ebd8d4e8 6444
ab78acc6
IC
6445 if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
6446 ts.transforming = true;
6447 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
6448 } else {
6449 // mark that we need a transform, so that any data that comes in
6450 // will get processed, now that we've asked for it.
6451 ts.needTransform = true;
6452 }
6453};
ebd8d4e8 6454
ebd8d4e8 6455
ab78acc6
IC
6456function done(stream, er) {
6457 if (er)
6458 return stream.emit('error', er);
ebd8d4e8 6459
ab78acc6
IC
6460 // if there's nothing in the write buffer, then that means
6461 // that nothing more will ever be provided
6462 var ws = stream._writableState;
6463 var ts = stream._transformState;
ebd8d4e8 6464
ab78acc6
IC
6465 if (ws.length)
6466 throw new Error('calling transform done when ws.length != 0');
6467
6468 if (ts.transforming)
6469 throw new Error('calling transform done when still transforming');
6470
6471 return stream.push(null);
ebd8d4e8
IC
6472}
6473
ab78acc6
IC
6474},{"./_stream_duplex":16,"core-util-is":21,"inherits":12}],20:[function(require,module,exports){
6475(function (process){
6476// Copyright Joyent, Inc. and other Node contributors.
6477//
6478// Permission is hereby granted, free of charge, to any person obtaining a
6479// copy of this software and associated documentation files (the
6480// "Software"), to deal in the Software without restriction, including
6481// without limitation the rights to use, copy, modify, merge, publish,
6482// distribute, sublicense, and/or sell copies of the Software, and to permit
6483// persons to whom the Software is furnished to do so, subject to the
6484// following conditions:
6485//
6486// The above copyright notice and this permission notice shall be included
6487// in all copies or substantial portions of the Software.
6488//
6489// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6490// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6491// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6492// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6493// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6494// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6495// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6496
ab78acc6
IC
6497// A bit simpler than readable streams.
6498// Implement an async ._write(chunk, cb), and it'll handle all
6499// the drain event emission and buffering.
ebd8d4e8 6500
ab78acc6 6501module.exports = Writable;
ebd8d4e8 6502
ab78acc6
IC
6503/*<replacement>*/
6504var Buffer = require('buffer').Buffer;
6505/*</replacement>*/
ebd8d4e8 6506
ab78acc6 6507Writable.WritableState = WritableState;
ebd8d4e8
IC
6508
6509
ab78acc6
IC
6510/*<replacement>*/
6511var util = require('core-util-is');
6512util.inherits = require('inherits');
6513/*</replacement>*/
ebd8d4e8 6514
ab78acc6 6515var Stream = require('stream');
ebd8d4e8 6516
ab78acc6 6517util.inherits(Writable, Stream);
ebd8d4e8 6518
ab78acc6
IC
6519function WriteReq(chunk, encoding, cb) {
6520 this.chunk = chunk;
6521 this.encoding = encoding;
6522 this.callback = cb;
ebd8d4e8
IC
6523}
6524
ab78acc6
IC
6525function WritableState(options, stream) {
6526 var Duplex = require('./_stream_duplex');
ebd8d4e8 6527
ab78acc6 6528 options = options || {};
ebd8d4e8 6529
ab78acc6
IC
6530 // the point at which write() starts returning false
6531 // Note: 0 is a valid value, means that we always return false if
6532 // the entire buffer is not flushed immediately on write()
6533 var hwm = options.highWaterMark;
6534 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
6535 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
ebd8d4e8 6536
ab78acc6
IC
6537 // object stream flag to indicate whether or not this stream
6538 // contains buffers or objects.
6539 this.objectMode = !!options.objectMode;
ebd8d4e8 6540
ab78acc6
IC
6541 if (stream instanceof Duplex)
6542 this.objectMode = this.objectMode || !!options.writableObjectMode;
ebd8d4e8 6543
ab78acc6
IC
6544 // cast to ints.
6545 this.highWaterMark = ~~this.highWaterMark;
ebd8d4e8 6546
ab78acc6
IC
6547 this.needDrain = false;
6548 // at the start of calling end()
6549 this.ending = false;
6550 // when end() has been called, and returned
6551 this.ended = false;
6552 // when 'finish' is emitted
6553 this.finished = false;
ebd8d4e8 6554
ab78acc6
IC
6555 // should we decode strings into buffers before passing to _write?
6556 // this is here so that some node-core streams can optimize string
6557 // handling at a lower level.
6558 var noDecode = options.decodeStrings === false;
6559 this.decodeStrings = !noDecode;
ebd8d4e8 6560
ab78acc6
IC
6561 // Crypto is kind of old and crusty. Historically, its default string
6562 // encoding is 'binary' so we have to make this configurable.
6563 // Everything else in the universe uses 'utf8', though.
6564 this.defaultEncoding = options.defaultEncoding || 'utf8';
ebd8d4e8 6565
ab78acc6
IC
6566 // not an actual buffer we keep track of, but a measurement
6567 // of how much we're waiting to get pushed to some underlying
6568 // socket or file.
6569 this.length = 0;
ebd8d4e8 6570
ab78acc6
IC
6571 // a flag to see when we're in the middle of a write.
6572 this.writing = false;
ebd8d4e8 6573
ab78acc6
IC
6574 // when true all writes will be buffered until .uncork() call
6575 this.corked = 0;
ebd8d4e8 6576
ab78acc6
IC
6577 // a flag to be able to tell if the onwrite cb is called immediately,
6578 // or on a later tick. We set this to true at first, because any
6579 // actions that shouldn't happen until "later" should generally also
6580 // not happen before the first write call.
6581 this.sync = true;
ebd8d4e8 6582
ab78acc6
IC
6583 // a flag to know if we're processing previously buffered items, which
6584 // may call the _write() callback in the same tick, so that we don't
6585 // end up in an overlapped onwrite situation.
6586 this.bufferProcessing = false;
ebd8d4e8 6587
ab78acc6
IC
6588 // the callback that's passed to _write(chunk,cb)
6589 this.onwrite = function(er) {
6590 onwrite(stream, er);
6591 };
ebd8d4e8 6592
ab78acc6
IC
6593 // the callback that the user supplies to write(chunk,encoding,cb)
6594 this.writecb = null;
ebd8d4e8 6595
ab78acc6
IC
6596 // the amount that is being written when _write is called.
6597 this.writelen = 0;
ebd8d4e8 6598
ab78acc6 6599 this.buffer = [];
ebd8d4e8 6600
ab78acc6
IC
6601 // number of pending user-supplied write callbacks
6602 // this must be 0 before 'finish' can be emitted
6603 this.pendingcb = 0;
ebd8d4e8 6604
ab78acc6
IC
6605 // emit prefinish if the only thing we're waiting for is _write cbs
6606 // This is relevant for synchronous Transform streams
6607 this.prefinished = false;
ebd8d4e8 6608
ab78acc6
IC
6609 // True if the error was already emitted and should not be thrown again
6610 this.errorEmitted = false;
ebd8d4e8
IC
6611}
6612
ab78acc6
IC
6613function Writable(options) {
6614 var Duplex = require('./_stream_duplex');
ebd8d4e8 6615
ab78acc6
IC
6616 // Writable ctor is applied to Duplexes, though they're not
6617 // instanceof Writable, they're instanceof Readable.
6618 if (!(this instanceof Writable) && !(this instanceof Duplex))
6619 return new Writable(options);
ebd8d4e8 6620
ab78acc6 6621 this._writableState = new WritableState(options, this);
ebd8d4e8 6622
ab78acc6
IC
6623 // legacy.
6624 this.writable = true;
ebd8d4e8 6625
ab78acc6 6626 Stream.call(this);
ebd8d4e8
IC
6627}
6628
ab78acc6
IC
6629// Otherwise people can pipe Writable streams, which is just wrong.
6630Writable.prototype.pipe = function() {
6631 this.emit('error', new Error('Cannot pipe. Not readable.'));
6632};
ebd8d4e8 6633
ebd8d4e8 6634
ab78acc6
IC
6635function writeAfterEnd(stream, state, cb) {
6636 var er = new Error('write after end');
6637 // TODO: defer error events consistently everywhere, not just the cb
6638 stream.emit('error', er);
6639 process.nextTick(function() {
6640 cb(er);
6641 });
ebd8d4e8
IC
6642}
6643
ab78acc6
IC
6644// If we get something that is not a buffer, string, null, or undefined,
6645// and we're not in objectMode, then that's an error.
6646// Otherwise stream chunks are all considered to be of length=1, and the
6647// watermarks determine how many objects to keep in the buffer, rather than
6648// how many bytes or characters.
6649function validChunk(stream, state, chunk, cb) {
6650 var valid = true;
6651 if (!util.isBuffer(chunk) &&
6652 !util.isString(chunk) &&
6653 !util.isNullOrUndefined(chunk) &&
6654 !state.objectMode) {
6655 var er = new TypeError('Invalid non-string/buffer chunk');
6656 stream.emit('error', er);
6657 process.nextTick(function() {
6658 cb(er);
6659 });
6660 valid = false;
6661 }
6662 return valid;
ebd8d4e8
IC
6663}
6664
ab78acc6
IC
6665Writable.prototype.write = function(chunk, encoding, cb) {
6666 var state = this._writableState;
6667 var ret = false;
ebd8d4e8 6668
ab78acc6
IC
6669 if (util.isFunction(encoding)) {
6670 cb = encoding;
6671 encoding = null;
ebd8d4e8 6672 }
ebd8d4e8 6673
ab78acc6
IC
6674 if (util.isBuffer(chunk))
6675 encoding = 'buffer';
6676 else if (!encoding)
6677 encoding = state.defaultEncoding;
6678
6679 if (!util.isFunction(cb))
6680 cb = function() {};
6681
6682 if (state.ended)
6683 writeAfterEnd(this, state, cb);
6684 else if (validChunk(this, state, chunk, cb)) {
6685 state.pendingcb++;
6686 ret = writeOrBuffer(this, state, chunk, encoding, cb);
ebd8d4e8 6687 }
ebd8d4e8 6688
ab78acc6
IC
6689 return ret;
6690};
6691
6692Writable.prototype.cork = function() {
6693 var state = this._writableState;
6694
6695 state.corked++;
6696};
ebd8d4e8 6697
ab78acc6
IC
6698Writable.prototype.uncork = function() {
6699 var state = this._writableState;
ebd8d4e8 6700
ab78acc6
IC
6701 if (state.corked) {
6702 state.corked--;
ebd8d4e8 6703
ab78acc6
IC
6704 if (!state.writing &&
6705 !state.corked &&
6706 !state.finished &&
6707 !state.bufferProcessing &&
6708 state.buffer.length)
6709 clearBuffer(this, state);
ebd8d4e8 6710 }
ab78acc6 6711};
ebd8d4e8 6712
ab78acc6
IC
6713function decodeChunk(state, chunk, encoding) {
6714 if (!state.objectMode &&
6715 state.decodeStrings !== false &&
6716 util.isString(chunk)) {
6717 chunk = new Buffer(chunk, encoding);
ebd8d4e8 6718 }
ab78acc6 6719 return chunk;
ebd8d4e8
IC
6720}
6721
ab78acc6
IC
6722// if we're already writing something, then just put this
6723// in the queue, and wait our turn. Otherwise, call _write
6724// If we return false, then we need a drain event, so set that flag.
6725function writeOrBuffer(stream, state, chunk, encoding, cb) {
6726 chunk = decodeChunk(state, chunk, encoding);
6727 if (util.isBuffer(chunk))
6728 encoding = 'buffer';
6729 var len = state.objectMode ? 1 : chunk.length;
6730
6731 state.length += len;
6732
6733 var ret = state.length < state.highWaterMark;
6734 // we must ensure that previous needDrain will not be reset to false.
6735 if (!ret)
6736 state.needDrain = true;
6737
6738 if (state.writing || state.corked)
6739 state.buffer.push(new WriteReq(chunk, encoding, cb));
6740 else
6741 doWrite(stream, state, false, len, chunk, encoding, cb);
6742
6743 return ret;
ebd8d4e8
IC
6744}
6745
ab78acc6
IC
6746function doWrite(stream, state, writev, len, chunk, encoding, cb) {
6747 state.writelen = len;
6748 state.writecb = cb;
6749 state.writing = true;
6750 state.sync = true;
6751 if (writev)
6752 stream._writev(chunk, state.onwrite);
6753 else
6754 stream._write(chunk, encoding, state.onwrite);
6755 state.sync = false;
ebd8d4e8
IC
6756}
6757
ab78acc6
IC
6758function onwriteError(stream, state, sync, er, cb) {
6759 if (sync)
6760 process.nextTick(function() {
6761 state.pendingcb--;
6762 cb(er);
6763 });
6764 else {
6765 state.pendingcb--;
6766 cb(er);
6767 }
ebd8d4e8 6768
ab78acc6
IC
6769 stream._writableState.errorEmitted = true;
6770 stream.emit('error', er);
6771}
ebd8d4e8 6772
ab78acc6
IC
6773function onwriteStateUpdate(state) {
6774 state.writing = false;
6775 state.writecb = null;
6776 state.length -= state.writelen;
6777 state.writelen = 0;
6778}
ebd8d4e8 6779
ab78acc6
IC
6780function onwrite(stream, er) {
6781 var state = stream._writableState;
6782 var sync = state.sync;
6783 var cb = state.writecb;
ebd8d4e8 6784
ab78acc6 6785 onwriteStateUpdate(state);
ebd8d4e8 6786
ab78acc6
IC
6787 if (er)
6788 onwriteError(stream, state, sync, er, cb);
6789 else {
6790 // Check if we're actually ready to finish, but don't emit yet
6791 var finished = needFinish(stream, state);
ebd8d4e8 6792
ab78acc6
IC
6793 if (!finished &&
6794 !state.corked &&
6795 !state.bufferProcessing &&
6796 state.buffer.length) {
6797 clearBuffer(stream, state);
6798 }
6799
6800 if (sync) {
6801 process.nextTick(function() {
6802 afterWrite(stream, state, finished, cb);
6803 });
6804 } else {
6805 afterWrite(stream, state, finished, cb);
ebd8d4e8 6806 }
ebd8d4e8
IC
6807 }
6808}
6809
ab78acc6
IC
6810function afterWrite(stream, state, finished, cb) {
6811 if (!finished)
6812 onwriteDrain(stream, state);
6813 state.pendingcb--;
6814 cb();
6815 finishMaybe(stream, state);
6816}
6817
6818// Must force callback to be called on nextTick, so that we don't
6819// emit 'drain' before the write() consumer gets the 'false' return
6820// value, and has a chance to attach a 'drain' listener.
6821function onwriteDrain(stream, state) {
6822 if (state.length === 0 && state.needDrain) {
6823 state.needDrain = false;
6824 stream.emit('drain');
ebd8d4e8
IC
6825 }
6826}
6827
ebd8d4e8 6828
ab78acc6
IC
6829// if there's something in the buffer waiting, then process it
6830function clearBuffer(stream, state) {
6831 state.bufferProcessing = true;
6832
6833 if (stream._writev && state.buffer.length > 1) {
6834 // Fast case, write everything using _writev()
6835 var cbs = [];
6836 for (var c = 0; c < state.buffer.length; c++)
6837 cbs.push(state.buffer[c].callback);
6838
6839 // count the one we are adding, as well.
6840 // TODO(isaacs) clean this up
6841 state.pendingcb++;
6842 doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
6843 for (var i = 0; i < cbs.length; i++) {
6844 state.pendingcb--;
6845 cbs[i](err);
6846 }
6847 });
6848
6849 // Clear buffer
6850 state.buffer = [];
6851 } else {
6852 // Slow case, write chunks one-by-one
6853 for (var c = 0; c < state.buffer.length; c++) {
6854 var entry = state.buffer[c];
6855 var chunk = entry.chunk;
6856 var encoding = entry.encoding;
6857 var cb = entry.callback;
6858 var len = state.objectMode ? 1 : chunk.length;
6859
6860 doWrite(stream, state, false, len, chunk, encoding, cb);
6861
6862 // if we didn't call the onwrite immediately, then
6863 // it means that we need to wait until it does.
6864 // also, that means that the chunk and cb are currently
6865 // being processed, so move the buffer counter past them.
6866 if (state.writing) {
6867 c++;
6868 break;
6869 }
ebd8d4e8 6870 }
ab78acc6
IC
6871
6872 if (c < state.buffer.length)
6873 state.buffer = state.buffer.slice(c);
6874 else
6875 state.buffer.length = 0;
ebd8d4e8
IC
6876 }
6877
ab78acc6 6878 state.bufferProcessing = false;
ebd8d4e8
IC
6879}
6880
ab78acc6
IC
6881Writable.prototype._write = function(chunk, encoding, cb) {
6882 cb(new Error('not implemented'));
ebd8d4e8 6883
ab78acc6 6884};
ebd8d4e8 6885
ab78acc6 6886Writable.prototype._writev = null;
ebd8d4e8 6887
ab78acc6
IC
6888Writable.prototype.end = function(chunk, encoding, cb) {
6889 var state = this._writableState;
ebd8d4e8 6890
ab78acc6
IC
6891 if (util.isFunction(chunk)) {
6892 cb = chunk;
6893 chunk = null;
6894 encoding = null;
6895 } else if (util.isFunction(encoding)) {
6896 cb = encoding;
6897 encoding = null;
6898 }
ebd8d4e8 6899
ab78acc6
IC
6900 if (!util.isNullOrUndefined(chunk))
6901 this.write(chunk, encoding);
6902
6903 // .end() fully uncorks
6904 if (state.corked) {
6905 state.corked = 1;
6906 this.uncork();
ebd8d4e8 6907 }
ab78acc6
IC
6908
6909 // ignore unnecessary end() calls.
6910 if (!state.ending && !state.finished)
6911 endWritable(this, state, cb);
6912};
6913
6914
6915function needFinish(stream, state) {
6916 return (state.ending &&
6917 state.length === 0 &&
6918 !state.finished &&
6919 !state.writing);
ebd8d4e8
IC
6920}
6921
ab78acc6
IC
6922function prefinish(stream, state) {
6923 if (!state.prefinished) {
6924 state.prefinished = true;
6925 stream.emit('prefinish');
ebd8d4e8 6926 }
ebd8d4e8
IC
6927}
6928
ab78acc6
IC
6929function finishMaybe(stream, state) {
6930 var need = needFinish(stream, state);
6931 if (need) {
6932 if (state.pendingcb === 0) {
6933 prefinish(stream, state);
6934 state.finished = true;
6935 stream.emit('finish');
6936 } else
6937 prefinish(stream, state);
6938 }
6939 return need;
6940}
ebd8d4e8 6941
ab78acc6
IC
6942function endWritable(stream, state, cb) {
6943 state.ending = true;
6944 finishMaybe(stream, state);
6945 if (cb) {
6946 if (state.finished)
6947 process.nextTick(cb);
6948 else
6949 stream.once('finish', cb);
ebd8d4e8 6950 }
ab78acc6 6951 state.ended = true;
ebd8d4e8
IC
6952}
6953
ab78acc6
IC
6954}).call(this,require('_process'))
6955},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"inherits":12,"stream":26}],21:[function(require,module,exports){
6956(function (Buffer){
6957// Copyright Joyent, Inc. and other Node contributors.
6958//
6959// Permission is hereby granted, free of charge, to any person obtaining a
6960// copy of this software and associated documentation files (the
6961// "Software"), to deal in the Software without restriction, including
6962// without limitation the rights to use, copy, modify, merge, publish,
6963// distribute, sublicense, and/or sell copies of the Software, and to permit
6964// persons to whom the Software is furnished to do so, subject to the
6965// following conditions:
6966//
6967// The above copyright notice and this permission notice shall be included
6968// in all copies or substantial portions of the Software.
6969//
6970// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6971// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6972// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6973// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6974// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6975// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6976// USE OR OTHER DEALINGS IN THE SOFTWARE.
6977
6978// NOTE: These type checking functions intentionally don't use `instanceof`
6979// because it is fragile and can be easily faked with `Object.create()`.
6980function isArray(ar) {
6981 return Array.isArray(ar);
ebd8d4e8 6982}
ab78acc6 6983exports.isArray = isArray;
ebd8d4e8 6984
ab78acc6
IC
6985function isBoolean(arg) {
6986 return typeof arg === 'boolean';
ebd8d4e8 6987}
ab78acc6 6988exports.isBoolean = isBoolean;
ebd8d4e8 6989
ab78acc6
IC
6990function isNull(arg) {
6991 return arg === null;
6992}
6993exports.isNull = isNull;
ebd8d4e8 6994
ab78acc6
IC
6995function isNullOrUndefined(arg) {
6996 return arg == null;
6997}
6998exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 6999
ab78acc6
IC
7000function isNumber(arg) {
7001 return typeof arg === 'number';
ebd8d4e8 7002}
ab78acc6 7003exports.isNumber = isNumber;
ebd8d4e8 7004
ab78acc6
IC
7005function isString(arg) {
7006 return typeof arg === 'string';
7007}
7008exports.isString = isString;
ebd8d4e8 7009
ab78acc6
IC
7010function isSymbol(arg) {
7011 return typeof arg === 'symbol';
7012}
7013exports.isSymbol = isSymbol;
ebd8d4e8 7014
ab78acc6
IC
7015function isUndefined(arg) {
7016 return arg === void 0;
ebd8d4e8 7017}
ab78acc6 7018exports.isUndefined = isUndefined;
ebd8d4e8 7019
ab78acc6
IC
7020function isRegExp(re) {
7021 return isObject(re) && objectToString(re) === '[object RegExp]';
ebd8d4e8 7022}
ab78acc6 7023exports.isRegExp = isRegExp;
ebd8d4e8 7024
ab78acc6
IC
7025function isObject(arg) {
7026 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7027}
ab78acc6 7028exports.isObject = isObject;
ebd8d4e8 7029
ab78acc6
IC
7030function isDate(d) {
7031 return isObject(d) && objectToString(d) === '[object Date]';
7032}
7033exports.isDate = isDate;
ebd8d4e8 7034
ab78acc6
IC
7035function isError(e) {
7036 return isObject(e) &&
7037 (objectToString(e) === '[object Error]' || e instanceof Error);
7038}
7039exports.isError = isError;
ebd8d4e8 7040
ab78acc6
IC
7041function isFunction(arg) {
7042 return typeof arg === 'function';
7043}
7044exports.isFunction = isFunction;
7045
7046function isPrimitive(arg) {
7047 return arg === null ||
7048 typeof arg === 'boolean' ||
7049 typeof arg === 'number' ||
7050 typeof arg === 'string' ||
7051 typeof arg === 'symbol' || // ES6 symbol
7052 typeof arg === 'undefined';
ebd8d4e8 7053}
ab78acc6 7054exports.isPrimitive = isPrimitive;
ebd8d4e8 7055
ab78acc6
IC
7056function isBuffer(arg) {
7057 return Buffer.isBuffer(arg);
ebd8d4e8 7058}
ab78acc6 7059exports.isBuffer = isBuffer;
ebd8d4e8 7060
ab78acc6
IC
7061function objectToString(o) {
7062 return Object.prototype.toString.call(o);
ebd8d4e8 7063}
ab78acc6
IC
7064}).call(this,require("buffer").Buffer)
7065},{"buffer":7}],22:[function(require,module,exports){
7066module.exports = require("./lib/_stream_passthrough.js")
ebd8d4e8 7067
ab78acc6
IC
7068},{"./lib/_stream_passthrough.js":17}],23:[function(require,module,exports){
7069exports = module.exports = require('./lib/_stream_readable.js');
7070exports.Stream = require('stream');
7071exports.Readable = exports;
7072exports.Writable = require('./lib/_stream_writable.js');
7073exports.Duplex = require('./lib/_stream_duplex.js');
7074exports.Transform = require('./lib/_stream_transform.js');
7075exports.PassThrough = require('./lib/_stream_passthrough.js');
ebd8d4e8 7076
ab78acc6
IC
7077},{"./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){
7078module.exports = require("./lib/_stream_transform.js")
ebd8d4e8 7079
ab78acc6
IC
7080},{"./lib/_stream_transform.js":19}],25:[function(require,module,exports){
7081module.exports = require("./lib/_stream_writable.js")
7082
7083},{"./lib/_stream_writable.js":20}],26:[function(require,module,exports){
7084// Copyright Joyent, Inc. and other Node contributors.
7085//
7086// Permission is hereby granted, free of charge, to any person obtaining a
7087// copy of this software and associated documentation files (the
7088// "Software"), to deal in the Software without restriction, including
7089// without limitation the rights to use, copy, modify, merge, publish,
7090// distribute, sublicense, and/or sell copies of the Software, and to permit
7091// persons to whom the Software is furnished to do so, subject to the
7092// following conditions:
7093//
7094// The above copyright notice and this permission notice shall be included
7095// in all copies or substantial portions of the Software.
7096//
7097// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7098// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7099// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7100// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7101// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7102// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7103// USE OR OTHER DEALINGS IN THE SOFTWARE.
7104
7105module.exports = Stream;
7106
7107var EE = require('events').EventEmitter;
7108var inherits = require('inherits');
7109
7110inherits(Stream, EE);
7111Stream.Readable = require('readable-stream/readable.js');
7112Stream.Writable = require('readable-stream/writable.js');
7113Stream.Duplex = require('readable-stream/duplex.js');
7114Stream.Transform = require('readable-stream/transform.js');
7115Stream.PassThrough = require('readable-stream/passthrough.js');
7116
7117// Backwards-compat with node 0.4.x
7118Stream.Stream = Stream;
7119
7120
7121
7122// old-style streams. Note that the pipe method (the only relevant
7123// part of this class) is overridden in the Readable class.
7124
7125function Stream() {
7126 EE.call(this);
ebd8d4e8
IC
7127}
7128
ab78acc6
IC
7129Stream.prototype.pipe = function(dest, options) {
7130 var source = this;
ebd8d4e8 7131
ab78acc6
IC
7132 function ondata(chunk) {
7133 if (dest.writable) {
7134 if (false === dest.write(chunk) && source.pause) {
7135 source.pause();
7136 }
7137 }
7138 }
ebd8d4e8 7139
ab78acc6 7140 source.on('data', ondata);
ebd8d4e8 7141
ab78acc6
IC
7142 function ondrain() {
7143 if (source.readable && source.resume) {
7144 source.resume();
7145 }
7146 }
ebd8d4e8 7147
ab78acc6 7148 dest.on('drain', ondrain);
ebd8d4e8 7149
ab78acc6
IC
7150 // If the 'end' option is not supplied, dest.end() will be called when
7151 // source gets the 'end' or 'close' events. Only dest.end() once.
7152 if (!dest._isStdio && (!options || options.end !== false)) {
7153 source.on('end', onend);
7154 source.on('close', onclose);
ebd8d4e8
IC
7155 }
7156
ab78acc6
IC
7157 var didOnEnd = false;
7158 function onend() {
7159 if (didOnEnd) return;
7160 didOnEnd = true;
ebd8d4e8 7161
ab78acc6
IC
7162 dest.end();
7163 }
ebd8d4e8 7164
ebd8d4e8 7165
ab78acc6
IC
7166 function onclose() {
7167 if (didOnEnd) return;
7168 didOnEnd = true;
ebd8d4e8 7169
ab78acc6 7170 if (typeof dest.destroy === 'function') dest.destroy();
ebd8d4e8
IC
7171 }
7172
ab78acc6
IC
7173 // don't leave dangling pipes when there are errors.
7174 function onerror(er) {
7175 cleanup();
7176 if (EE.listenerCount(this, 'error') === 0) {
7177 throw er; // Unhandled stream error in pipe.
7178 }
7179 }
ebd8d4e8 7180
ab78acc6
IC
7181 source.on('error', onerror);
7182 dest.on('error', onerror);
ebd8d4e8 7183
ab78acc6
IC
7184 // remove all the event listeners that were added.
7185 function cleanup() {
7186 source.removeListener('data', ondata);
7187 dest.removeListener('drain', ondrain);
ebd8d4e8 7188
ab78acc6
IC
7189 source.removeListener('end', onend);
7190 source.removeListener('close', onclose);
7191
7192 source.removeListener('error', onerror);
7193 dest.removeListener('error', onerror);
7194
7195 source.removeListener('end', cleanup);
7196 source.removeListener('close', cleanup);
7197
7198 dest.removeListener('close', cleanup);
ebd8d4e8
IC
7199 }
7200
ab78acc6
IC
7201 source.on('end', cleanup);
7202 source.on('close', cleanup);
ebd8d4e8 7203
ab78acc6 7204 dest.on('close', cleanup);
ebd8d4e8 7205
ab78acc6 7206 dest.emit('pipe', source);
ebd8d4e8 7207
ab78acc6
IC
7208 // Allow for unix-like usage: A.pipe(B).pipe(C)
7209 return dest;
7210};
ebd8d4e8 7211
ab78acc6
IC
7212},{"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){
7213// Copyright Joyent, Inc. and other Node contributors.
7214//
7215// Permission is hereby granted, free of charge, to any person obtaining a
7216// copy of this software and associated documentation files (the
7217// "Software"), to deal in the Software without restriction, including
7218// without limitation the rights to use, copy, modify, merge, publish,
7219// distribute, sublicense, and/or sell copies of the Software, and to permit
7220// persons to whom the Software is furnished to do so, subject to the
7221// following conditions:
7222//
7223// The above copyright notice and this permission notice shall be included
7224// in all copies or substantial portions of the Software.
7225//
7226// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7227// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7228// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7229// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7230// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7231// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7232// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7233
ab78acc6 7234var Buffer = require('buffer').Buffer;
ebd8d4e8 7235
ab78acc6
IC
7236var isBufferEncoding = Buffer.isEncoding
7237 || function(encoding) {
7238 switch (encoding && encoding.toLowerCase()) {
7239 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;
7240 default: return false;
7241 }
7242 }
ebd8d4e8 7243
ebd8d4e8 7244
ab78acc6
IC
7245function assertEncoding(encoding) {
7246 if (encoding && !isBufferEncoding(encoding)) {
7247 throw new Error('Unknown encoding: ' + encoding);
ebd8d4e8 7248 }
ebd8d4e8
IC
7249}
7250
ab78acc6
IC
7251// StringDecoder provides an interface for efficiently splitting a series of
7252// buffers into a series of JS strings without breaking apart multi-byte
7253// characters. CESU-8 is handled as part of the UTF-8 encoding.
7254//
7255// @TODO Handling all encodings inside a single object makes it very difficult
7256// to reason about this code, so it should be split up in the future.
7257// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
7258// points as used by CESU-8.
7259var StringDecoder = exports.StringDecoder = function(encoding) {
7260 this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
7261 assertEncoding(encoding);
7262 switch (this.encoding) {
7263 case 'utf8':
7264 // CESU-8 represents each of Surrogate Pair by 3-bytes
7265 this.surrogateSize = 3;
7266 break;
7267 case 'ucs2':
7268 case 'utf16le':
7269 // UTF-16 represents each of Surrogate Pair by 2-bytes
7270 this.surrogateSize = 2;
7271 this.detectIncompleteChar = utf16DetectIncompleteChar;
7272 break;
7273 case 'base64':
7274 // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
7275 this.surrogateSize = 3;
7276 this.detectIncompleteChar = base64DetectIncompleteChar;
7277 break;
7278 default:
7279 this.write = passThroughWrite;
7280 return;
7281 }
ebd8d4e8 7282
ab78acc6
IC
7283 // Enough space to store all bytes of a single character. UTF-8 needs 4
7284 // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
7285 this.charBuffer = new Buffer(6);
7286 // Number of bytes received for the current incomplete multi-byte character.
7287 this.charReceived = 0;
7288 // Number of bytes expected for the current incomplete multi-byte character.
7289 this.charLength = 0;
7290};
ebd8d4e8 7291
ebd8d4e8 7292
ab78acc6
IC
7293// write decodes the given buffer and returns it as JS string that is
7294// guaranteed to not contain any partial multi-byte characters. Any partial
7295// character found at the end of the buffer is buffered up, and will be
7296// returned when calling write again with the remaining bytes.
7297//
7298// Note: Converting a Buffer containing an orphan surrogate to a String
7299// currently works, but converting a String to a Buffer (via `new Buffer`, or
7300// Buffer#write) will replace incomplete surrogates with the unicode
7301// replacement character. See https://codereview.chromium.org/121173009/ .
7302StringDecoder.prototype.write = function(buffer) {
7303 var charStr = '';
7304 // if our last write ended with an incomplete multibyte character
7305 while (this.charLength) {
7306 // determine how many remaining bytes this buffer has to offer for this char
7307 var available = (buffer.length >= this.charLength - this.charReceived) ?
7308 this.charLength - this.charReceived :
7309 buffer.length;
7310
7311 // add the new bytes to the char buffer
7312 buffer.copy(this.charBuffer, this.charReceived, 0, available);
7313 this.charReceived += available;
7314
7315 if (this.charReceived < this.charLength) {
7316 // still not enough chars in this buffer? wait for more ...
7317 return '';
7318 }
7319
7320 // remove bytes belonging to the current character from the buffer
7321 buffer = buffer.slice(available, buffer.length);
7322
7323 // get the character that was split
7324 charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
7325
7326 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7327 var charCode = charStr.charCodeAt(charStr.length - 1);
7328 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7329 this.charLength += this.surrogateSize;
7330 charStr = '';
7331 continue;
7332 }
7333 this.charReceived = this.charLength = 0;
ebd8d4e8 7334
ab78acc6
IC
7335 // if there are no more bytes in this buffer, just emit our char
7336 if (buffer.length === 0) {
7337 return charStr;
7338 }
7339 break;
ebd8d4e8 7340 }
ebd8d4e8 7341
ab78acc6
IC
7342 // determine and set charLength / charReceived
7343 this.detectIncompleteChar(buffer);
ebd8d4e8 7344
ab78acc6
IC
7345 var end = buffer.length;
7346 if (this.charLength) {
7347 // buffer the incomplete character bytes we got
7348 buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
7349 end -= this.charReceived;
ebd8d4e8
IC
7350 }
7351
ab78acc6 7352 charStr += buffer.toString(this.encoding, 0, end);
ebd8d4e8 7353
ab78acc6
IC
7354 var end = charStr.length - 1;
7355 var charCode = charStr.charCodeAt(end);
7356 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7357 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7358 var size = this.surrogateSize;
7359 this.charLength += size;
7360 this.charReceived += size;
7361 this.charBuffer.copy(this.charBuffer, size, 0, size);
7362 buffer.copy(this.charBuffer, 0, 0, size);
7363 return charStr.substring(0, end);
ebd8d4e8
IC
7364 }
7365
ab78acc6
IC
7366 // or just emit the charStr
7367 return charStr;
7368};
ebd8d4e8 7369
ab78acc6
IC
7370// detectIncompleteChar determines if there is an incomplete UTF-8 character at
7371// the end of the given buffer. If so, it sets this.charLength to the byte
7372// length that character, and sets this.charReceived to the number of bytes
7373// that are available for this character.
7374StringDecoder.prototype.detectIncompleteChar = function(buffer) {
7375 // determine how many bytes we have to check at the end of this buffer
7376 var i = (buffer.length >= 3) ? 3 : buffer.length;
ebd8d4e8 7377
ab78acc6
IC
7378 // Figure out if one of the last i bytes of our buffer announces an
7379 // incomplete char.
7380 for (; i > 0; i--) {
7381 var c = buffer[buffer.length - i];
ebd8d4e8 7382
ab78acc6 7383 // See http://en.wikipedia.org/wiki/UTF-8#Description
ebd8d4e8 7384
ab78acc6
IC
7385 // 110XXXXX
7386 if (i == 1 && c >> 5 == 0x06) {
7387 this.charLength = 2;
7388 break;
7389 }
ebd8d4e8 7390
ab78acc6
IC
7391 // 1110XXXX
7392 if (i <= 2 && c >> 4 == 0x0E) {
7393 this.charLength = 3;
7394 break;
7395 }
ebd8d4e8 7396
ab78acc6
IC
7397 // 11110XXX
7398 if (i <= 3 && c >> 3 == 0x1E) {
7399 this.charLength = 4;
7400 break;
7401 }
7402 }
7403 this.charReceived = i;
7404};
ebd8d4e8 7405
ab78acc6
IC
7406StringDecoder.prototype.end = function(buffer) {
7407 var res = '';
7408 if (buffer && buffer.length)
7409 res = this.write(buffer);
ebd8d4e8 7410
ab78acc6
IC
7411 if (this.charReceived) {
7412 var cr = this.charReceived;
7413 var buf = this.charBuffer;
7414 var enc = this.encoding;
7415 res += buf.slice(0, cr).toString(enc);
ebd8d4e8
IC
7416 }
7417
ab78acc6
IC
7418 return res;
7419};
ebd8d4e8 7420
ab78acc6
IC
7421function passThroughWrite(buffer) {
7422 return buffer.toString(this.encoding);
ebd8d4e8
IC
7423}
7424
ab78acc6
IC
7425function utf16DetectIncompleteChar(buffer) {
7426 this.charReceived = buffer.length % 2;
7427 this.charLength = this.charReceived ? 2 : 0;
ebd8d4e8
IC
7428}
7429
ab78acc6
IC
7430function base64DetectIncompleteChar(buffer) {
7431 this.charReceived = buffer.length % 3;
7432 this.charLength = this.charReceived ? 3 : 0;
ebd8d4e8
IC
7433}
7434
ab78acc6
IC
7435},{"buffer":7}],28:[function(require,module,exports){
7436module.exports = function isBuffer(arg) {
7437 return arg && typeof arg === 'object'
7438 && typeof arg.copy === 'function'
7439 && typeof arg.fill === 'function'
7440 && typeof arg.readUInt8 === 'function';
7441}
7442},{}],29:[function(require,module,exports){
7443(function (process,global){
7444// Copyright Joyent, Inc. and other Node contributors.
7445//
7446// Permission is hereby granted, free of charge, to any person obtaining a
7447// copy of this software and associated documentation files (the
7448// "Software"), to deal in the Software without restriction, including
7449// without limitation the rights to use, copy, modify, merge, publish,
7450// distribute, sublicense, and/or sell copies of the Software, and to permit
7451// persons to whom the Software is furnished to do so, subject to the
7452// following conditions:
7453//
7454// The above copyright notice and this permission notice shall be included
7455// in all copies or substantial portions of the Software.
7456//
7457// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7458// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7459// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7460// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7461// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7462// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7463// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7464
ab78acc6
IC
7465var formatRegExp = /%[sdj%]/g;
7466exports.format = function(f) {
7467 if (!isString(f)) {
7468 var objects = [];
7469 for (var i = 0; i < arguments.length; i++) {
7470 objects.push(inspect(arguments[i]));
7471 }
7472 return objects.join(' ');
7473 }
ebd8d4e8 7474
ab78acc6
IC
7475 var i = 1;
7476 var args = arguments;
7477 var len = args.length;
7478 var str = String(f).replace(formatRegExp, function(x) {
7479 if (x === '%%') return '%';
7480 if (i >= len) return x;
7481 switch (x) {
7482 case '%s': return String(args[i++]);
7483 case '%d': return Number(args[i++]);
7484 case '%j':
7485 try {
7486 return JSON.stringify(args[i++]);
7487 } catch (_) {
7488 return '[Circular]';
7489 }
7490 default:
7491 return x;
7492 }
7493 });
7494 for (var x = args[i]; i < len; x = args[++i]) {
7495 if (isNull(x) || !isObject(x)) {
7496 str += ' ' + x;
7497 } else {
7498 str += ' ' + inspect(x);
7499 }
7500 }
7501 return str;
7502};
ebd8d4e8 7503
ebd8d4e8 7504
ab78acc6
IC
7505// Mark that a method should not be used.
7506// Returns a modified function which warns once by default.
7507// If --no-deprecation is set, then it is a no-op.
7508exports.deprecate = function(fn, msg) {
7509 // Allow for deprecating things in the process of starting up.
7510 if (isUndefined(global.process)) {
7511 return function() {
7512 return exports.deprecate(fn, msg).apply(this, arguments);
7513 };
7514 }
ebd8d4e8 7515
ab78acc6
IC
7516 if (process.noDeprecation === true) {
7517 return fn;
7518 }
ebd8d4e8 7519
ab78acc6
IC
7520 var warned = false;
7521 function deprecated() {
7522 if (!warned) {
7523 if (process.throwDeprecation) {
7524 throw new Error(msg);
7525 } else if (process.traceDeprecation) {
7526 console.trace(msg);
7527 } else {
7528 console.error(msg);
7529 }
7530 warned = true;
7531 }
7532 return fn.apply(this, arguments);
7533 }
ebd8d4e8 7534
ab78acc6
IC
7535 return deprecated;
7536};
ebd8d4e8 7537
ebd8d4e8 7538
ab78acc6
IC
7539var debugs = {};
7540var debugEnviron;
7541exports.debuglog = function(set) {
7542 if (isUndefined(debugEnviron))
7543 debugEnviron = process.env.NODE_DEBUG || '';
7544 set = set.toUpperCase();
7545 if (!debugs[set]) {
7546 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
7547 var pid = process.pid;
7548 debugs[set] = function() {
7549 var msg = exports.format.apply(exports, arguments);
7550 console.error('%s %d: %s', set, pid, msg);
7551 };
7552 } else {
7553 debugs[set] = function() {};
ebd8d4e8
IC
7554 }
7555 }
ab78acc6
IC
7556 return debugs[set];
7557};
ebd8d4e8 7558
ebd8d4e8
IC
7559
7560/**
ab78acc6
IC
7561 * Echos the value of a value. Trys to print the value out
7562 * in the best way possible given the different types.
7563 *
7564 * @param {Object} obj The object to print out.
7565 * @param {Object} opts Optional options object that alters the output.
ebd8d4e8 7566 */
ab78acc6
IC
7567/* legacy: obj, showHidden, depth, colors*/
7568function inspect(obj, opts) {
7569 // default options
7570 var ctx = {
7571 seen: [],
7572 stylize: stylizeNoColor
7573 };
7574 // legacy...
7575 if (arguments.length >= 3) ctx.depth = arguments[2];
7576 if (arguments.length >= 4) ctx.colors = arguments[3];
7577 if (isBoolean(opts)) {
7578 // legacy...
7579 ctx.showHidden = opts;
7580 } else if (opts) {
7581 // got an "options" object
7582 exports._extend(ctx, opts);
ebd8d4e8 7583 }
ab78acc6
IC
7584 // set default options
7585 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
7586 if (isUndefined(ctx.depth)) ctx.depth = 2;
7587 if (isUndefined(ctx.colors)) ctx.colors = false;
7588 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
7589 if (ctx.colors) ctx.stylize = stylizeWithColor;
7590 return formatValue(ctx, obj, ctx.depth);
ebd8d4e8 7591}
ab78acc6 7592exports.inspect = inspect;
ebd8d4e8 7593
ebd8d4e8 7594
ab78acc6
IC
7595// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
7596inspect.colors = {
7597 'bold' : [1, 22],
7598 'italic' : [3, 23],
7599 'underline' : [4, 24],
7600 'inverse' : [7, 27],
7601 'white' : [37, 39],
7602 'grey' : [90, 39],
7603 'black' : [30, 39],
7604 'blue' : [34, 39],
7605 'cyan' : [36, 39],
7606 'green' : [32, 39],
7607 'magenta' : [35, 39],
7608 'red' : [31, 39],
7609 'yellow' : [33, 39]
7610};
ebd8d4e8 7611
ab78acc6
IC
7612// Don't use 'blue' not visible on cmd.exe
7613inspect.styles = {
7614 'special': 'cyan',
7615 'number': 'yellow',
7616 'boolean': 'yellow',
7617 'undefined': 'grey',
7618 'null': 'bold',
7619 'string': 'green',
7620 'date': 'magenta',
7621 // "name": intentionally not styling
7622 'regexp': 'red'
7623};
ebd8d4e8 7624
ebd8d4e8 7625
ab78acc6
IC
7626function stylizeWithColor(str, styleType) {
7627 var style = inspect.styles[styleType];
ebd8d4e8 7628
ab78acc6
IC
7629 if (style) {
7630 return '\u001b[' + inspect.colors[style][0] + 'm' + str +
7631 '\u001b[' + inspect.colors[style][1] + 'm';
7632 } else {
7633 return str;
ebd8d4e8 7634 }
ebd8d4e8
IC
7635}
7636
ebd8d4e8 7637
ab78acc6
IC
7638function stylizeNoColor(str, styleType) {
7639 return str;
ebd8d4e8
IC
7640}
7641
ebd8d4e8 7642
ab78acc6
IC
7643function arrayToHash(array) {
7644 var hash = {};
ebd8d4e8 7645
ab78acc6
IC
7646 array.forEach(function(val, idx) {
7647 hash[val] = true;
7648 });
ebd8d4e8 7649
ab78acc6 7650 return hash;
ebd8d4e8
IC
7651}
7652
ebd8d4e8 7653
ab78acc6
IC
7654function formatValue(ctx, value, recurseTimes) {
7655 // Provide a hook for user-specified inspect functions.
7656 // Check that value is an object with an inspect function on it
7657 if (ctx.customInspect &&
7658 value &&
7659 isFunction(value.inspect) &&
7660 // Filter out the util module, it's inspect function is special
7661 value.inspect !== exports.inspect &&
7662 // Also filter out any prototype objects using the circular check.
7663 !(value.constructor && value.constructor.prototype === value)) {
7664 var ret = value.inspect(recurseTimes, ctx);
7665 if (!isString(ret)) {
7666 ret = formatValue(ctx, ret, recurseTimes);
7667 }
7668 return ret;
ebd8d4e8 7669 }
ebd8d4e8 7670
ab78acc6
IC
7671 // Primitive types cannot have properties
7672 var primitive = formatPrimitive(ctx, value);
7673 if (primitive) {
7674 return primitive;
ebd8d4e8
IC
7675 }
7676
ab78acc6
IC
7677 // Look up the keys of the object.
7678 var keys = Object.keys(value);
7679 var visibleKeys = arrayToHash(keys);
ebd8d4e8 7680
ab78acc6
IC
7681 if (ctx.showHidden) {
7682 keys = Object.getOwnPropertyNames(value);
7683 }
ebd8d4e8 7684
ab78acc6
IC
7685 // IE doesn't make error fields non-enumerable
7686 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
7687 if (isError(value)
7688 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
7689 return formatError(value);
ebd8d4e8 7690 }
ebd8d4e8 7691
ab78acc6
IC
7692 // Some type of object without properties can be shortcutted.
7693 if (keys.length === 0) {
7694 if (isFunction(value)) {
7695 var name = value.name ? ': ' + value.name : '';
7696 return ctx.stylize('[Function' + name + ']', 'special');
7697 }
7698 if (isRegExp(value)) {
7699 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7700 }
7701 if (isDate(value)) {
7702 return ctx.stylize(Date.prototype.toString.call(value), 'date');
7703 }
7704 if (isError(value)) {
7705 return formatError(value);
7706 }
ebd8d4e8 7707 }
ebd8d4e8 7708
ab78acc6 7709 var base = '', array = false, braces = ['{', '}'];
ebd8d4e8 7710
ab78acc6
IC
7711 // Make Array say that they are Array
7712 if (isArray(value)) {
7713 array = true;
7714 braces = ['[', ']'];
7715 }
ebd8d4e8 7716
ab78acc6
IC
7717 // Make functions say that they are functions
7718 if (isFunction(value)) {
7719 var n = value.name ? ': ' + value.name : '';
7720 base = ' [Function' + n + ']';
7721 }
ebd8d4e8 7722
ab78acc6
IC
7723 // Make RegExps say that they are RegExps
7724 if (isRegExp(value)) {
7725 base = ' ' + RegExp.prototype.toString.call(value);
7726 }
ebd8d4e8 7727
ab78acc6
IC
7728 // Make dates with properties first say the date
7729 if (isDate(value)) {
7730 base = ' ' + Date.prototype.toUTCString.call(value);
7731 }
ebd8d4e8 7732
ab78acc6
IC
7733 // Make error with message first say the error
7734 if (isError(value)) {
7735 base = ' ' + formatError(value);
7736 }
ebd8d4e8 7737
ab78acc6
IC
7738 if (keys.length === 0 && (!array || value.length == 0)) {
7739 return braces[0] + base + braces[1];
7740 }
ebd8d4e8 7741
ab78acc6
IC
7742 if (recurseTimes < 0) {
7743 if (isRegExp(value)) {
7744 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7745 } else {
7746 return ctx.stylize('[Object]', 'special');
7747 }
7748 }
ebd8d4e8 7749
ab78acc6 7750 ctx.seen.push(value);
ebd8d4e8 7751
ab78acc6
IC
7752 var output;
7753 if (array) {
7754 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
7755 } else {
7756 output = keys.map(function(key) {
7757 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
7758 });
7759 }
ebd8d4e8 7760
ab78acc6 7761 ctx.seen.pop();
ebd8d4e8 7762
ab78acc6
IC
7763 return reduceToSingleString(output, base, braces);
7764}
ebd8d4e8 7765
ebd8d4e8 7766
ab78acc6
IC
7767function formatPrimitive(ctx, value) {
7768 if (isUndefined(value))
7769 return ctx.stylize('undefined', 'undefined');
7770 if (isString(value)) {
7771 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
7772 .replace(/'/g, "\\'")
7773 .replace(/\\"/g, '"') + '\'';
7774 return ctx.stylize(simple, 'string');
7775 }
7776 if (isNumber(value))
7777 return ctx.stylize('' + value, 'number');
7778 if (isBoolean(value))
7779 return ctx.stylize('' + value, 'boolean');
7780 // For some reason typeof null is "object", so special case here.
7781 if (isNull(value))
7782 return ctx.stylize('null', 'null');
7783}
ebd8d4e8 7784
ebd8d4e8 7785
ab78acc6
IC
7786function formatError(value) {
7787 return '[' + Error.prototype.toString.call(value) + ']';
7788}
ebd8d4e8 7789
ebd8d4e8 7790
ab78acc6
IC
7791function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
7792 var output = [];
7793 for (var i = 0, l = value.length; i < l; ++i) {
7794 if (hasOwnProperty(value, String(i))) {
7795 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7796 String(i), true));
7797 } else {
7798 output.push('');
7799 }
7800 }
7801 keys.forEach(function(key) {
7802 if (!key.match(/^\d+$/)) {
7803 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7804 key, true));
7805 }
7806 });
7807 return output;
7808}
ebd8d4e8 7809
ebd8d4e8 7810
ab78acc6
IC
7811function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
7812 var name, str, desc;
7813 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
7814 if (desc.get) {
7815 if (desc.set) {
7816 str = ctx.stylize('[Getter/Setter]', 'special');
7817 } else {
7818 str = ctx.stylize('[Getter]', 'special');
7819 }
7820 } else {
7821 if (desc.set) {
7822 str = ctx.stylize('[Setter]', 'special');
7823 }
7824 }
7825 if (!hasOwnProperty(visibleKeys, key)) {
7826 name = '[' + key + ']';
7827 }
7828 if (!str) {
7829 if (ctx.seen.indexOf(desc.value) < 0) {
7830 if (isNull(recurseTimes)) {
7831 str = formatValue(ctx, desc.value, null);
7832 } else {
7833 str = formatValue(ctx, desc.value, recurseTimes - 1);
7834 }
7835 if (str.indexOf('\n') > -1) {
7836 if (array) {
7837 str = str.split('\n').map(function(line) {
7838 return ' ' + line;
7839 }).join('\n').substr(2);
7840 } else {
7841 str = '\n' + str.split('\n').map(function(line) {
7842 return ' ' + line;
7843 }).join('\n');
7844 }
7845 }
7846 } else {
7847 str = ctx.stylize('[Circular]', 'special');
7848 }
7849 }
7850 if (isUndefined(name)) {
7851 if (array && key.match(/^\d+$/)) {
7852 return str;
7853 }
7854 name = JSON.stringify('' + key);
7855 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
7856 name = name.substr(1, name.length - 2);
7857 name = ctx.stylize(name, 'name');
7858 } else {
7859 name = name.replace(/'/g, "\\'")
7860 .replace(/\\"/g, '"')
7861 .replace(/(^"|"$)/g, "'");
7862 name = ctx.stylize(name, 'string');
7863 }
7864 }
ebd8d4e8 7865
ab78acc6
IC
7866 return name + ': ' + str;
7867}
ebd8d4e8 7868
ebd8d4e8 7869
ab78acc6
IC
7870function reduceToSingleString(output, base, braces) {
7871 var numLinesEst = 0;
7872 var length = output.reduce(function(prev, cur) {
7873 numLinesEst++;
7874 if (cur.indexOf('\n') >= 0) numLinesEst++;
7875 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
7876 }, 0);
ebd8d4e8 7877
ab78acc6
IC
7878 if (length > 60) {
7879 return braces[0] +
7880 (base === '' ? '' : base + '\n ') +
7881 ' ' +
7882 output.join(',\n ') +
7883 ' ' +
7884 braces[1];
7885 }
ebd8d4e8 7886
ab78acc6
IC
7887 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
7888}
ebd8d4e8 7889
ebd8d4e8 7890
ab78acc6
IC
7891// NOTE: These type checking functions intentionally don't use `instanceof`
7892// because it is fragile and can be easily faked with `Object.create()`.
7893function isArray(ar) {
7894 return Array.isArray(ar);
7895}
7896exports.isArray = isArray;
ebd8d4e8 7897
ab78acc6
IC
7898function isBoolean(arg) {
7899 return typeof arg === 'boolean';
7900}
7901exports.isBoolean = isBoolean;
ebd8d4e8 7902
ab78acc6
IC
7903function isNull(arg) {
7904 return arg === null;
7905}
7906exports.isNull = isNull;
ebd8d4e8 7907
ab78acc6
IC
7908function isNullOrUndefined(arg) {
7909 return arg == null;
7910}
7911exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7912
ab78acc6
IC
7913function isNumber(arg) {
7914 return typeof arg === 'number';
7915}
7916exports.isNumber = isNumber;
ebd8d4e8 7917
ab78acc6
IC
7918function isString(arg) {
7919 return typeof arg === 'string';
7920}
7921exports.isString = isString;
ebd8d4e8 7922
ab78acc6
IC
7923function isSymbol(arg) {
7924 return typeof arg === 'symbol';
7925}
7926exports.isSymbol = isSymbol;
ebd8d4e8 7927
ab78acc6
IC
7928function isUndefined(arg) {
7929 return arg === void 0;
7930}
7931exports.isUndefined = isUndefined;
ebd8d4e8 7932
ab78acc6
IC
7933function isRegExp(re) {
7934 return isObject(re) && objectToString(re) === '[object RegExp]';
7935}
7936exports.isRegExp = isRegExp;
ebd8d4e8 7937
ab78acc6
IC
7938function isObject(arg) {
7939 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7940}
ab78acc6 7941exports.isObject = isObject;
ebd8d4e8 7942
ab78acc6
IC
7943function isDate(d) {
7944 return isObject(d) && objectToString(d) === '[object Date]';
7945}
7946exports.isDate = isDate;
ebd8d4e8 7947
ab78acc6
IC
7948function isError(e) {
7949 return isObject(e) &&
7950 (objectToString(e) === '[object Error]' || e instanceof Error);
7951}
7952exports.isError = isError;
ebd8d4e8 7953
ab78acc6
IC
7954function isFunction(arg) {
7955 return typeof arg === 'function';
7956}
7957exports.isFunction = isFunction;
ebd8d4e8 7958
ab78acc6
IC
7959function isPrimitive(arg) {
7960 return arg === null ||
7961 typeof arg === 'boolean' ||
7962 typeof arg === 'number' ||
7963 typeof arg === 'string' ||
7964 typeof arg === 'symbol' || // ES6 symbol
7965 typeof arg === 'undefined';
7966}
7967exports.isPrimitive = isPrimitive;
ebd8d4e8 7968
ab78acc6 7969exports.isBuffer = require('./support/isBuffer');
ebd8d4e8 7970
ab78acc6
IC
7971function objectToString(o) {
7972 return Object.prototype.toString.call(o);
7973}
ebd8d4e8 7974
ebd8d4e8 7975
ab78acc6
IC
7976function pad(n) {
7977 return n < 10 ? '0' + n.toString(10) : n.toString(10);
7978}
ebd8d4e8 7979
ebd8d4e8 7980
ab78acc6
IC
7981var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
7982 'Oct', 'Nov', 'Dec'];
ebd8d4e8 7983
ab78acc6
IC
7984// 26 Feb 16:19:34
7985function timestamp() {
7986 var d = new Date();
7987 var time = [pad(d.getHours()),
7988 pad(d.getMinutes()),
7989 pad(d.getSeconds())].join(':');
7990 return [d.getDate(), months[d.getMonth()], time].join(' ');
ebd8d4e8
IC
7991}
7992
ab78acc6
IC
7993
7994// log is just a thin wrapper to console.log that prepends a timestamp
7995exports.log = function() {
7996 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
ebd8d4e8
IC
7997};
7998
ab78acc6
IC
7999
8000/**
8001 * Inherit the prototype methods from one constructor into another.
8002 *
8003 * The Function.prototype.inherits from lang.js rewritten as a standalone
8004 * function (not on Function.prototype). NOTE: If this file is to be loaded
8005 * during bootstrapping this function needs to be rewritten using some native
8006 * functions as prototype setup using normal JavaScript does not work as
8007 * expected during bootstrapping (see mirror.js in r114903).
8008 *
8009 * @param {function} ctor Constructor function which needs to inherit the
8010 * prototype.
8011 * @param {function} superCtor Constructor function to inherit prototype from.
8012 */
8013exports.inherits = require('inherits');
8014
8015exports._extend = function(origin, add) {
8016 // Don't do anything if add isn't an object
8017 if (!add || !isObject(add)) return origin;
8018
8019 var keys = Object.keys(add);
8020 var i = keys.length;
8021 while (i--) {
8022 origin[keys[i]] = add[keys[i]];
8023 }
8024 return origin;
8025};
8026
8027function hasOwnProperty(obj, prop) {
8028 return Object.prototype.hasOwnProperty.call(obj, prop);
8029}
8030
8031}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
8032},{"./support/isBuffer":28,"_process":14,"inherits":12}],30:[function(require,module,exports){
ebd8d4e8
IC
8033// Base58 encoding/decoding
8034// Originally written by Mike Hearn for BitcoinJ
8035// Copyright (c) 2011 Google Inc
8036// Ported to JavaScript by Stefan Thomas
8037// Merged Buffer refactorings from base58-native by Stephen Pair
8038// Copyright (c) 2013 BitPay Inc
8039
ebd8d4e8 8040var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
ebd8d4e8
IC
8041var ALPHABET_MAP = {}
8042for(var i = 0; i < ALPHABET.length; i++) {
ab78acc6 8043 ALPHABET_MAP[ALPHABET.charAt(i)] = i
ebd8d4e8 8044}
ab78acc6 8045var BASE = 58
ebd8d4e8
IC
8046
8047function encode(buffer) {
ab78acc6
IC
8048 if (buffer.length === 0) return ''
8049
8050 var i, j, digits = [0]
8051 for (i = 0; i < buffer.length; i++) {
8052 for (j = 0; j < digits.length; j++) digits[j] <<= 8
8053
8054 digits[0] += buffer[i]
ebd8d4e8 8055
ab78acc6
IC
8056 var carry = 0
8057 for (j = 0; j < digits.length; ++j) {
8058 digits[j] += carry
ebd8d4e8 8059
ab78acc6
IC
8060 carry = (digits[j] / BASE) | 0
8061 digits[j] %= BASE
8062 }
8063
8064 while (carry) {
8065 digits.push(carry % BASE)
8066
8067 carry = (carry / BASE) | 0
8068 }
ebd8d4e8
IC
8069 }
8070
8071 // deal with leading zeros
ab78acc6 8072 for (i = 0; buffer[i] === 0 && i < buffer.length - 1; i++) digits.push(0)
ebd8d4e8 8073
ab78acc6
IC
8074 // convert digits to a string
8075 var stringOutput = ""
8076 for (var i = digits.length - 1; i >= 0; i--) {
8077 stringOutput = stringOutput + ALPHABET[digits[i]]
8078 }
8079 return stringOutput
ebd8d4e8
IC
8080}
8081
8082function decode(string) {
ab78acc6 8083 if (string.length === 0) return []
ebd8d4e8 8084
ab78acc6
IC
8085 var i, j, bytes = [0]
8086 for (i = 0; i < string.length; i++) {
8087 var c = string[i]
8088 if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character')
ebd8d4e8 8089
ab78acc6
IC
8090 for (j = 0; j < bytes.length; j++) bytes[j] *= BASE
8091 bytes[0] += ALPHABET_MAP[c]
ebd8d4e8 8092
ab78acc6
IC
8093 var carry = 0
8094 for (j = 0; j < bytes.length; ++j) {
8095 bytes[j] += carry
ebd8d4e8 8096
ab78acc6
IC
8097 carry = bytes[j] >> 8
8098 bytes[j] &= 0xff
8099 }
ebd8d4e8 8100
ab78acc6
IC
8101 while (carry) {
8102 bytes.push(carry & 0xff)
8103
8104 carry >>= 8
8105 }
ebd8d4e8
IC
8106 }
8107
ab78acc6
IC
8108 // deal with leading zeros
8109 for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)
ebd8d4e8 8110
ab78acc6 8111 return bytes.reverse()
ebd8d4e8
IC
8112}
8113
8114module.exports = {
8115 encode: encode,
8116 decode: decode
8117}
8118
ab78acc6 8119},{}],31:[function(require,module,exports){
ebd8d4e8 8120(function (Buffer){
ab78acc6
IC
8121'use strict'
8122
8123var base58 = require('bs58')
8124var createHash = require('create-hash')
8125
8126// SHA256(SHA256(buffer))
8127function sha256x2 (buffer) {
8128 buffer = createHash('sha256').update(buffer).digest()
8129 return createHash('sha256').update(buffer).digest()
8130}
8131
8132// Encode a buffer as a base58-check encoded string
8133function encode (payload) {
8134 var checksum = sha256x2(payload).slice(0, 4)
8135
8136 return base58.encode(Buffer.concat([
8137 payload,
8138 checksum
8139 ]))
8140}
8141
8142// Decode a base58-check encoded string to a buffer
8143function decode (string) {
8144 var buffer = new Buffer(base58.decode(string))
8145
8146 var payload = buffer.slice(0, -4)
8147 var checksum = buffer.slice(-4)
8148 var newChecksum = sha256x2(payload).slice(0, 4)
8149
8150 for (var i = 0; i < newChecksum.length; ++i) {
8151 if (newChecksum[i] === checksum[i]) continue
8152
8153 throw new Error('Invalid checksum')
ebd8d4e8 8154 }
ab78acc6
IC
8155
8156 return payload
ebd8d4e8
IC
8157}
8158
ab78acc6
IC
8159module.exports = {
8160 encode: encode,
8161 decode: decode
ebd8d4e8
IC
8162}
8163
ab78acc6
IC
8164}).call(this,require("buffer").Buffer)
8165},{"bs58":30,"buffer":7,"create-hash":32}],32:[function(require,module,exports){
ebd8d4e8 8166(function (Buffer){
ab78acc6
IC
8167'use strict';
8168var inherits = require('inherits')
8169var md5 = require('./md5')
8170var rmd160 = require('ripemd160')
8171var sha = require('sha.js')
ebd8d4e8 8172
ab78acc6 8173var Transform = require('stream').Transform
ebd8d4e8 8174
ab78acc6
IC
8175function HashNoConstructor(hash) {
8176 Transform.call(this)
ebd8d4e8 8177
ab78acc6
IC
8178 this._hash = hash
8179 this.buffers = []
8180}
ebd8d4e8 8181
ab78acc6 8182inherits(HashNoConstructor, Transform)
ebd8d4e8 8183
ab78acc6
IC
8184HashNoConstructor.prototype._transform = function (data, _, next) {
8185 this.buffers.push(data)
ebd8d4e8 8186
ab78acc6
IC
8187 next()
8188}
ebd8d4e8 8189
ab78acc6
IC
8190HashNoConstructor.prototype._flush = function (next) {
8191 this.push(this.digest())
8192 next()
8193}
8194
8195HashNoConstructor.prototype.update = function (data, enc) {
8196 if (typeof data === 'string') {
8197 data = new Buffer(data, enc)
ebd8d4e8
IC
8198 }
8199
ab78acc6
IC
8200 this.buffers.push(data)
8201 return this
8202}
8203
8204HashNoConstructor.prototype.digest = function (enc) {
8205 var buf = Buffer.concat(this.buffers)
8206 var r = this._hash(buf)
8207 this.buffers = null
8208
8209 return enc ? r.toString(enc) : r
8210}
8211
8212function Hash(hash) {
8213 Transform.call(this)
8214
8215 this._hash = hash
8216}
8217
8218inherits(Hash, Transform)
8219
8220Hash.prototype._transform = function (data, enc, next) {
8221 if (enc) data = new Buffer(data, enc)
8222
8223 this._hash.update(data)
8224
8225 next()
ebd8d4e8
IC
8226}
8227
ab78acc6
IC
8228Hash.prototype._flush = function (next) {
8229 this.push(this._hash.digest())
8230 this._hash = null
8231
8232 next()
8233}
8234
8235Hash.prototype.update = function (data, enc) {
8236 if (typeof data === 'string') {
8237 data = new Buffer(data, enc)
8238 }
8239
8240 this._hash.update(data)
ebd8d4e8
IC
8241 return this
8242}
8243
ab78acc6
IC
8244Hash.prototype.digest = function (enc) {
8245 var outData = this._hash.digest()
8246
8247 return enc ? outData.toString(enc) : outData
ebd8d4e8
IC
8248}
8249
ab78acc6
IC
8250module.exports = function createHash (alg) {
8251 if ('md5' === alg) return new HashNoConstructor(md5)
8252 if ('rmd160' === alg) return new HashNoConstructor(rmd160)
8253
8254 return new Hash(sha(alg))
8255}
ebd8d4e8 8256
ab78acc6
IC
8257}).call(this,require("buffer").Buffer)
8258},{"./md5":34,"buffer":7,"inherits":35,"ripemd160":36,"sha.js":38,"stream":26}],33:[function(require,module,exports){
ebd8d4e8 8259(function (Buffer){
ab78acc6 8260'use strict';
ebd8d4e8
IC
8261var intSize = 4;
8262var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
8263var chrsz = 8;
8264
8265function toArray(buf, bigEndian) {
8266 if ((buf.length % intSize) !== 0) {
8267 var len = buf.length + (intSize - (buf.length % intSize));
8268 buf = Buffer.concat([buf, zeroBuffer], len);
8269 }
8270
8271 var arr = [];
8272 var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
8273 for (var i = 0; i < buf.length; i += intSize) {
8274 arr.push(fn.call(buf, i));
8275 }
8276 return arr;
8277}
8278
8279function toBuffer(arr, size, bigEndian) {
8280 var buf = new Buffer(size);
8281 var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
8282 for (var i = 0; i < arr.length; i++) {
8283 fn.call(buf, arr[i], i * 4, true);
8284 }
8285 return buf;
8286}
8287
8288function hash(buf, fn, hashSize, bigEndian) {
8289 if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
8290 var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
8291 return toBuffer(arr, hashSize, bigEndian);
8292}
ab78acc6
IC
8293exports.hash = hash;
8294}).call(this,require("buffer").Buffer)
8295},{"buffer":7}],34:[function(require,module,exports){
8296'use strict';
ebd8d4e8
IC
8297/*
8298 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
8299 * Digest Algorithm, as defined in RFC 1321.
8300 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
8301 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8302 * Distributed under the BSD License
8303 * See http://pajhome.org.uk/crypt/md5 for more info.
8304 */
8305
ab78acc6 8306var helpers = require('./helpers');
ebd8d4e8
IC
8307
8308/*
8309 * Calculate the MD5 of an array of little-endian words, and a bit length
8310 */
8311function core_md5(x, len)
8312{
8313 /* append padding */
8314 x[len >> 5] |= 0x80 << ((len) % 32);
8315 x[(((len + 64) >>> 9) << 4) + 14] = len;
8316
8317 var a = 1732584193;
8318 var b = -271733879;
8319 var c = -1732584194;
8320 var d = 271733878;
8321
8322 for(var i = 0; i < x.length; i += 16)
8323 {
8324 var olda = a;
8325 var oldb = b;
8326 var oldc = c;
8327 var oldd = d;
8328
8329 a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
8330 d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
8331 c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
8332 b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
8333 a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
8334 d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
8335 c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
8336 b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
8337 a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
8338 d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
8339 c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
8340 b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
8341 a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
8342 d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
8343 c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
8344 b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
8345
8346 a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
8347 d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
8348 c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
8349 b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
8350 a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
8351 d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
8352 c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
8353 b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
8354 a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
8355 d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
8356 c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
8357 b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
8358 a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
8359 d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
8360 c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
8361 b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
8362
8363 a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
8364 d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
8365 c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
8366 b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
8367 a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
8368 d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
8369 c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
8370 b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
8371 a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
8372 d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
8373 c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
8374 b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
8375 a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
8376 d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
8377 c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
8378 b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
8379
8380 a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
8381 d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
8382 c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
8383 b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
8384 a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
8385 d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
8386 c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
8387 b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
8388 a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
8389 d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
8390 c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
8391 b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
8392 a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
8393 d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
8394 c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
8395 b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
8396
8397 a = safe_add(a, olda);
8398 b = safe_add(b, oldb);
8399 c = safe_add(c, oldc);
8400 d = safe_add(d, oldd);
8401 }
8402 return Array(a, b, c, d);
8403
8404}
8405
8406/*
8407 * These functions implement the four basic operations the algorithm uses.
8408 */
8409function md5_cmn(q, a, b, x, s, t)
8410{
8411 return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
8412}
8413function md5_ff(a, b, c, d, x, s, t)
8414{
8415 return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
8416}
8417function md5_gg(a, b, c, d, x, s, t)
8418{
8419 return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
8420}
8421function md5_hh(a, b, c, d, x, s, t)
8422{
8423 return md5_cmn(b ^ c ^ d, a, b, x, s, t);
8424}
8425function md5_ii(a, b, c, d, x, s, t)
8426{
8427 return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
8428}
8429
8430/*
8431 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
8432 * to work around bugs in some JS interpreters.
8433 */
8434function safe_add(x, y)
8435{
8436 var lsw = (x & 0xFFFF) + (y & 0xFFFF);
8437 var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
8438 return (msw << 16) | (lsw & 0xFFFF);
8439}
8440
8441/*
8442 * Bitwise rotate a 32-bit number to the left.
8443 */
8444function bit_rol(num, cnt)
8445{
8446 return (num << cnt) | (num >>> (32 - cnt));
8447}
8448
8449module.exports = function md5(buf) {
8450 return helpers.hash(buf, core_md5, 16);
8451};
ab78acc6
IC
8452},{"./helpers":33}],35:[function(require,module,exports){
8453arguments[4][12][0].apply(exports,arguments)
8454},{"dup":12}],36:[function(require,module,exports){
ebd8d4e8 8455(function (Buffer){
ebd8d4e8
IC
8456/*
8457CryptoJS v3.1.2
8458code.google.com/p/crypto-js
8459(c) 2009-2013 by Jeff Mott. All rights reserved.
8460code.google.com/p/crypto-js/wiki/License
8461*/
8462/** @preserve
8463(c) 2012 by Cédric Mesnil. All rights reserved.
8464
8465Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8466
8467 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8468 - 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.
8469
8470THIS 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.
8471*/
8472
ab78acc6 8473// constants table
ebd8d4e8 8474var zl = [
ab78acc6
IC
8475 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8476 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
8477 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
8478 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
8479 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
8480]
8481
ebd8d4e8 8482var zr = [
ab78acc6
IC
8483 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
8484 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
8485 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8486 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
8487 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
8488]
8489
ebd8d4e8 8490var sl = [
ab78acc6
IC
8491 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
8492 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
8493 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
8494 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
8495 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
8496]
8497
ebd8d4e8 8498var sr = [
ab78acc6
IC
8499 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
8500 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
8501 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
8502 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8503 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
8504]
ebd8d4e8 8505
ab78acc6
IC
8506var hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]
8507var hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]
ebd8d4e8 8508
ab78acc6
IC
8509function bytesToWords (bytes) {
8510 var words = []
ebd8d4e8 8511 for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
ab78acc6 8512 words[b >>> 5] |= bytes[i] << (24 - b % 32)
ebd8d4e8 8513 }
ab78acc6
IC
8514 return words
8515}
ebd8d4e8 8516
ab78acc6
IC
8517function wordsToBytes (words) {
8518 var bytes = []
ebd8d4e8 8519 for (var b = 0; b < words.length * 32; b += 8) {
ab78acc6 8520 bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)
ebd8d4e8 8521 }
ab78acc6
IC
8522 return bytes
8523}
ebd8d4e8 8524
ab78acc6
IC
8525function processBlock (H, M, offset) {
8526 // swap endian
ebd8d4e8 8527 for (var i = 0; i < 16; i++) {
ab78acc6
IC
8528 var offset_i = offset + i
8529 var M_offset_i = M[offset_i]
ebd8d4e8
IC
8530
8531 // Swap
8532 M[offset_i] = (
ab78acc6
IC
8533 (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
8534 (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
8535 )
ebd8d4e8
IC
8536 }
8537
8538 // Working variables
ab78acc6
IC
8539 var al, bl, cl, dl, el
8540 var ar, br, cr, dr, er
8541
8542 ar = al = H[0]
8543 br = bl = H[1]
8544 cr = cl = H[2]
8545 dr = dl = H[3]
8546 er = el = H[4]
8547
8548 // computation
8549 var t
8550 for (i = 0; i < 80; i += 1) {
8551 t = (al + M[offset + zl[i]]) | 0
8552 if (i < 16) {
8553 t += f1(bl, cl, dl) + hl[0]
8554 } else if (i < 32) {
8555 t += f2(bl, cl, dl) + hl[1]
8556 } else if (i < 48) {
8557 t += f3(bl, cl, dl) + hl[2]
8558 } else if (i < 64) {
8559 t += f4(bl, cl, dl) + hl[3]
ebd8d4e8 8560 } else {// if (i<80) {
ab78acc6
IC
8561 t += f5(bl, cl, dl) + hl[4]
8562 }
8563 t = t | 0
8564 t = rotl(t, sl[i])
8565 t = (t + el) | 0
8566 al = el
8567 el = dl
8568 dl = rotl(cl, 10)
8569 cl = bl
8570 bl = t
8571
8572 t = (ar + M[offset + zr[i]]) | 0
8573 if (i < 16) {
8574 t += f5(br, cr, dr) + hr[0]
8575 } else if (i < 32) {
8576 t += f4(br, cr, dr) + hr[1]
8577 } else if (i < 48) {
8578 t += f3(br, cr, dr) + hr[2]
8579 } else if (i < 64) {
8580 t += f2(br, cr, dr) + hr[3]
ebd8d4e8 8581 } else {// if (i<80) {
ab78acc6 8582 t += f1(br, cr, dr) + hr[4]
ebd8d4e8 8583 }
ebd8d4e8 8584
ab78acc6
IC
8585 t = t | 0
8586 t = rotl(t, sr[i])
8587 t = (t + er) | 0
8588 ar = er
8589 er = dr
8590 dr = rotl(cr, 10)
8591 cr = br
8592 br = t
8593 }
8594
8595 // intermediate hash value
8596 t = (H[1] + cl + dr) | 0
8597 H[1] = (H[2] + dl + er) | 0
8598 H[2] = (H[3] + el + ar) | 0
8599 H[3] = (H[4] + al + br) | 0
8600 H[4] = (H[0] + bl + cr) | 0
8601 H[0] = t
ebd8d4e8
IC
8602}
8603
ab78acc6
IC
8604function f1 (x, y, z) {
8605 return ((x) ^ (y) ^ (z))
ebd8d4e8
IC
8606}
8607
ab78acc6
IC
8608function f2 (x, y, z) {
8609 return (((x) & (y)) | ((~x) & (z)))
ebd8d4e8
IC
8610}
8611
ab78acc6
IC
8612function f3 (x, y, z) {
8613 return (((x) | (~(y))) ^ (z))
ebd8d4e8
IC
8614}
8615
ab78acc6
IC
8616function f4 (x, y, z) {
8617 return (((x) & (z)) | ((y) & (~(z))))
ebd8d4e8
IC
8618}
8619
ab78acc6
IC
8620function f5 (x, y, z) {
8621 return ((x) ^ ((y) | (~(z))))
ebd8d4e8
IC
8622}
8623
ab78acc6
IC
8624function rotl (x, n) {
8625 return (x << n) | (x >>> (32 - n))
8626}
8627
8628function ripemd160 (message) {
8629 var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]
ebd8d4e8 8630
ab78acc6
IC
8631 if (typeof message === 'string') {
8632 message = new Buffer(message, 'utf8')
8633 }
ebd8d4e8 8634
ab78acc6 8635 var m = bytesToWords(message)
ebd8d4e8 8636
ab78acc6
IC
8637 var nBitsLeft = message.length * 8
8638 var nBitsTotal = message.length * 8
ebd8d4e8
IC
8639
8640 // Add padding
ab78acc6 8641 m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32)
ebd8d4e8 8642 m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
ab78acc6
IC
8643 (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
8644 (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
8645 )
ebd8d4e8 8646
ab78acc6
IC
8647 for (var i = 0; i < m.length; i += 16) {
8648 processBlock(H, m, i)
ebd8d4e8
IC
8649 }
8650
ab78acc6
IC
8651 // swap endian
8652 for (i = 0; i < 5; i++) {
8653 // shortcut
8654 var H_i = H[i]
ebd8d4e8
IC
8655
8656 // Swap
ab78acc6
IC
8657 H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
8658 (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00)
ebd8d4e8
IC
8659 }
8660
ab78acc6
IC
8661 var digestbytes = wordsToBytes(H)
8662 return new Buffer(digestbytes)
ebd8d4e8
IC
8663}
8664
ab78acc6
IC
8665module.exports = ripemd160
8666
8667}).call(this,require("buffer").Buffer)
8668},{"buffer":7}],37:[function(require,module,exports){
8669(function (Buffer){
8670// prototype class for hash functions
8671function Hash (blockSize, finalSize) {
8672 this._block = new Buffer(blockSize)
8673 this._finalSize = finalSize
8674 this._blockSize = blockSize
8675 this._len = 0
8676 this._s = 0
8677}
ebd8d4e8 8678
ab78acc6
IC
8679Hash.prototype.update = function (data, enc) {
8680 if (typeof data === 'string') {
8681 enc = enc || 'utf8'
8682 data = new Buffer(data, enc)
8683 }
ebd8d4e8 8684
ab78acc6
IC
8685 var l = this._len += data.length
8686 var s = this._s || 0
8687 var f = 0
8688 var buffer = this._block
ebd8d4e8 8689
ab78acc6
IC
8690 while (s < l) {
8691 var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
8692 var ch = (t - f)
ebd8d4e8 8693
ab78acc6
IC
8694 for (var i = 0; i < ch; i++) {
8695 buffer[(s % this._blockSize) + i] = data[i + f]
8696 }
8697
8698 s += ch
8699 f += ch
ebd8d4e8 8700
ab78acc6
IC
8701 if ((s % this._blockSize) === 0) {
8702 this._update(buffer)
8703 }
ebd8d4e8 8704 }
ab78acc6
IC
8705 this._s = s
8706
8707 return this
8708}
ebd8d4e8 8709
ab78acc6
IC
8710Hash.prototype.digest = function (enc) {
8711 // Suppose the length of the message M, in bits, is l
8712 var l = this._len * 8
8713
8714 // Append the bit 1 to the end of the message
8715 this._block[this._len % this._blockSize] = 0x80
8716
8717 // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
8718 this._block.fill(0, this._len % this._blockSize + 1)
8719
8720 if (l % (this._blockSize * 8) >= this._finalSize * 8) {
8721 this._update(this._block)
8722 this._block.fill(0)
ebd8d4e8
IC
8723 }
8724
ab78acc6
IC
8725 // to this append the block which is equal to the number l written in binary
8726 // TODO: handle case where l is > Math.pow(2, 29)
8727 this._block.writeInt32BE(l, this._blockSize - 4)
8728
8729 var hash = this._update(this._block) || this._hash()
ebd8d4e8 8730
ab78acc6
IC
8731 return enc ? hash.toString(enc) : hash
8732}
ebd8d4e8 8733
ab78acc6
IC
8734Hash.prototype._update = function () {
8735 throw new Error('_update must be implemented by subclass')
8736}
ebd8d4e8 8737
ab78acc6 8738module.exports = Hash
ebd8d4e8 8739
ab78acc6
IC
8740}).call(this,require("buffer").Buffer)
8741},{"buffer":7}],38:[function(require,module,exports){
8742var exports = module.exports = function SHA (algorithm) {
8743 algorithm = algorithm.toLowerCase()
ebd8d4e8 8744
ab78acc6
IC
8745 var Algorithm = exports[algorithm]
8746 if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
ebd8d4e8 8747
ab78acc6
IC
8748 return new Algorithm()
8749}
8750
8751exports.sha = require('./sha')
8752exports.sha1 = require('./sha1')
8753exports.sha224 = require('./sha224')
8754exports.sha256 = require('./sha256')
8755exports.sha384 = require('./sha384')
8756exports.sha512 = require('./sha512')
8757
8758},{"./sha":39,"./sha1":40,"./sha224":41,"./sha256":42,"./sha384":43,"./sha512":44}],39:[function(require,module,exports){
8759(function (Buffer){
8760/*
8761 * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
8762 * in FIPS PUB 180-1
8763 * This source code is derived from sha1.js of the same repository.
8764 * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
8765 * operation was added.
8766 */
ebd8d4e8 8767
ab78acc6
IC
8768var inherits = require('inherits')
8769var Hash = require('./hash')
ebd8d4e8 8770
ab78acc6 8771var W = new Array(80)
ebd8d4e8 8772
ab78acc6
IC
8773function Sha () {
8774 this.init()
8775 this._w = W
ebd8d4e8 8776
ab78acc6
IC
8777 Hash.call(this, 64, 56)
8778}
ebd8d4e8 8779
ab78acc6 8780inherits(Sha, Hash)
ebd8d4e8 8781
ab78acc6
IC
8782Sha.prototype.init = function () {
8783 this._a = 0x67452301 | 0
8784 this._b = 0xefcdab89 | 0
8785 this._c = 0x98badcfe | 0
8786 this._d = 0x10325476 | 0
8787 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8788
ab78acc6
IC
8789 return this
8790}
8791
8792/*
8793 * Bitwise rotate a 32-bit number to the left.
8794 */
8795function rol (num, cnt) {
8796 return (num << cnt) | (num >>> (32 - cnt))
8797}
8798
8799Sha.prototype._update = function (M) {
8800 var W = this._w
8801
8802 var a = this._a
8803 var b = this._b
8804 var c = this._c
8805 var d = this._d
8806 var e = this._e
ebd8d4e8 8807
ab78acc6
IC
8808 var j = 0, k
8809
8810 /*
8811 * SHA-1 has a bitwise rotate left operation. But, SHA is not
8812 * function calcW() { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8813 */
8814 function calcW () { return W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16] }
8815 function loop (w, f) {
8816 W[j] = w
8817
8818 var t = rol(a, 5) + f + e + w + k
8819
8820 e = d
8821 d = c
8822 c = rol(b, 30)
8823 b = a
8824 a = t
8825 j++
ebd8d4e8
IC
8826 }
8827
ab78acc6
IC
8828 k = 1518500249
8829 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8830 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8831 k = 1859775393
8832 while (j < 40) loop(calcW(), b ^ c ^ d)
8833 k = -1894007588
8834 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8835 k = -899497514
8836 while (j < 80) loop(calcW(), b ^ c ^ d)
8837
8838 this._a = (a + this._a) | 0
8839 this._b = (b + this._b) | 0
8840 this._c = (c + this._c) | 0
8841 this._d = (d + this._d) | 0
8842 this._e = (e + this._e) | 0
ebd8d4e8
IC
8843}
8844
ab78acc6
IC
8845Sha.prototype._hash = function () {
8846 var H = new Buffer(20)
8847
8848 H.writeInt32BE(this._a | 0, 0)
8849 H.writeInt32BE(this._b | 0, 4)
8850 H.writeInt32BE(this._c | 0, 8)
8851 H.writeInt32BE(this._d | 0, 12)
8852 H.writeInt32BE(this._e | 0, 16)
8853
8854 return H
ebd8d4e8
IC
8855}
8856
ab78acc6 8857module.exports = Sha
ebd8d4e8 8858
ebd8d4e8 8859
ab78acc6
IC
8860}).call(this,require("buffer").Buffer)
8861},{"./hash":37,"buffer":7,"inherits":35}],40:[function(require,module,exports){
8862(function (Buffer){
ebd8d4e8
IC
8863/*
8864 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
8865 * in FIPS PUB 180-1
8866 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
8867 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8868 * Distributed under the BSD License
8869 * See http://pajhome.org.uk/crypt/md5 for details.
8870 */
ebd8d4e8 8871
ab78acc6
IC
8872var inherits = require('inherits')
8873var Hash = require('./hash')
ebd8d4e8 8874
ab78acc6 8875var W = new Array(80)
ebd8d4e8 8876
ab78acc6
IC
8877function Sha1 () {
8878 this.init()
8879 this._w = W
ebd8d4e8 8880
ab78acc6
IC
8881 Hash.call(this, 64, 56)
8882}
ebd8d4e8 8883
ab78acc6 8884inherits(Sha1, Hash)
ebd8d4e8 8885
ab78acc6
IC
8886Sha1.prototype.init = function () {
8887 this._a = 0x67452301 | 0
8888 this._b = 0xefcdab89 | 0
8889 this._c = 0x98badcfe | 0
8890 this._d = 0x10325476 | 0
8891 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8892
ab78acc6
IC
8893 return this
8894}
ebd8d4e8 8895
ab78acc6
IC
8896/*
8897 * Bitwise rotate a 32-bit number to the left.
8898 */
8899function rol (num, cnt) {
8900 return (num << cnt) | (num >>> (32 - cnt))
8901}
ebd8d4e8 8902
ab78acc6
IC
8903Sha1.prototype._update = function (M) {
8904 var W = this._w
ebd8d4e8 8905
ab78acc6
IC
8906 var a = this._a
8907 var b = this._b
8908 var c = this._c
8909 var d = this._d
8910 var e = this._e
ebd8d4e8 8911
ab78acc6 8912 var j = 0, k
ebd8d4e8 8913
ab78acc6
IC
8914 function calcW () { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8915 function loop (w, f) {
8916 W[j] = w
ebd8d4e8 8917
ab78acc6 8918 var t = rol(a, 5) + f + e + w + k
ebd8d4e8 8919
ab78acc6
IC
8920 e = d
8921 d = c
8922 c = rol(b, 30)
8923 b = a
8924 a = t
8925 j++
ebd8d4e8
IC
8926 }
8927
ab78acc6
IC
8928 k = 1518500249
8929 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8930 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8931 k = 1859775393
8932 while (j < 40) loop(calcW(), b ^ c ^ d)
8933 k = -1894007588
8934 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8935 k = -899497514
8936 while (j < 80) loop(calcW(), b ^ c ^ d)
ebd8d4e8 8937
ab78acc6
IC
8938 this._a = (a + this._a) | 0
8939 this._b = (b + this._b) | 0
8940 this._c = (c + this._c) | 0
8941 this._d = (d + this._d) | 0
8942 this._e = (e + this._e) | 0
8943}
ebd8d4e8 8944
ab78acc6
IC
8945Sha1.prototype._hash = function () {
8946 var H = new Buffer(20)
ebd8d4e8 8947
ab78acc6
IC
8948 H.writeInt32BE(this._a | 0, 0)
8949 H.writeInt32BE(this._b | 0, 4)
8950 H.writeInt32BE(this._c | 0, 8)
8951 H.writeInt32BE(this._d | 0, 12)
8952 H.writeInt32BE(this._e | 0, 16)
ebd8d4e8 8953
ab78acc6
IC
8954 return H
8955}
ebd8d4e8 8956
ab78acc6 8957module.exports = Sha1
ebd8d4e8 8958
ab78acc6
IC
8959}).call(this,require("buffer").Buffer)
8960},{"./hash":37,"buffer":7,"inherits":35}],41:[function(require,module,exports){
8961(function (Buffer){
8962/**
8963 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8964 * in FIPS 180-2
8965 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8966 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8967 *
8968 */
ebd8d4e8 8969
ab78acc6
IC
8970var inherits = require('inherits')
8971var Sha256 = require('./sha256')
8972var Hash = require('./hash')
ebd8d4e8 8973
ab78acc6 8974var W = new Array(64)
ebd8d4e8 8975
ab78acc6
IC
8976function Sha224 () {
8977 this.init()
ebd8d4e8 8978
ab78acc6 8979 this._w = W // new Array(64)
ebd8d4e8 8980
ab78acc6
IC
8981 Hash.call(this, 64, 56)
8982}
ebd8d4e8 8983
ab78acc6 8984inherits(Sha224, Sha256)
ebd8d4e8 8985
ab78acc6
IC
8986Sha224.prototype.init = function () {
8987 this._a = 0xc1059ed8 | 0
8988 this._b = 0x367cd507 | 0
8989 this._c = 0x3070dd17 | 0
8990 this._d = 0xf70e5939 | 0
8991 this._e = 0xffc00b31 | 0
8992 this._f = 0x68581511 | 0
8993 this._g = 0x64f98fa7 | 0
8994 this._h = 0xbefa4fa4 | 0
8995
8996 return this
8997}
8998
8999Sha224.prototype._hash = function () {
9000 var H = new Buffer(28)
9001
9002 H.writeInt32BE(this._a, 0)
9003 H.writeInt32BE(this._b, 4)
9004 H.writeInt32BE(this._c, 8)
9005 H.writeInt32BE(this._d, 12)
9006 H.writeInt32BE(this._e, 16)
9007 H.writeInt32BE(this._f, 20)
9008 H.writeInt32BE(this._g, 24)
9009
9010 return H
ebd8d4e8
IC
9011}
9012
ab78acc6 9013module.exports = Sha224
ebd8d4e8 9014
ab78acc6
IC
9015}).call(this,require("buffer").Buffer)
9016},{"./hash":37,"./sha256":42,"buffer":7,"inherits":35}],42:[function(require,module,exports){
9017(function (Buffer){
ebd8d4e8
IC
9018/**
9019 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
9020 * in FIPS 180-2
9021 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
9022 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
9023 *
9024 */
9025
ab78acc6
IC
9026var inherits = require('inherits')
9027var Hash = require('./hash')
9028
9029var K = [
9030 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
9031 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
9032 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
9033 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
9034 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
9035 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
9036 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
9037 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
9038 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
9039 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
9040 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
9041 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
9042 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
9043 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
9044 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
9045 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
9046]
9047
9048var W = new Array(64)
9049
9050function Sha256 () {
9051 this.init()
9052
9053 this._w = W // new Array(64)
9054
9055 Hash.call(this, 64, 56)
9056}
9057
9058inherits(Sha256, Hash)
9059
9060Sha256.prototype.init = function () {
9061 this._a = 0x6a09e667 | 0
9062 this._b = 0xbb67ae85 | 0
9063 this._c = 0x3c6ef372 | 0
9064 this._d = 0xa54ff53a | 0
9065 this._e = 0x510e527f | 0
9066 this._f = 0x9b05688c | 0
9067 this._g = 0x1f83d9ab | 0
9068 this._h = 0x5be0cd19 | 0
ebd8d4e8 9069
ab78acc6
IC
9070 return this
9071}
ebd8d4e8 9072
ab78acc6
IC
9073function S (X, n) {
9074 return (X >>> n) | (X << (32 - n))
9075}
ebd8d4e8 9076
ab78acc6
IC
9077function R (X, n) {
9078 return (X >>> n)
9079}
ebd8d4e8 9080
ab78acc6
IC
9081function Ch (x, y, z) {
9082 return ((x & y) ^ ((~x) & z))
9083}
ebd8d4e8 9084
ab78acc6
IC
9085function Maj (x, y, z) {
9086 return ((x & y) ^ (x & z) ^ (y & z))
9087}
ebd8d4e8 9088
ab78acc6
IC
9089function Sigma0256 (x) {
9090 return (S(x, 2) ^ S(x, 13) ^ S(x, 22))
9091}
ebd8d4e8 9092
ab78acc6
IC
9093function Sigma1256 (x) {
9094 return (S(x, 6) ^ S(x, 11) ^ S(x, 25))
9095}
ebd8d4e8 9096
ab78acc6
IC
9097function Gamma0256 (x) {
9098 return (S(x, 7) ^ S(x, 18) ^ R(x, 3))
9099}
ebd8d4e8 9100
ab78acc6
IC
9101function Gamma1256 (x) {
9102 return (S(x, 17) ^ S(x, 19) ^ R(x, 10))
9103}
ebd8d4e8 9104
ab78acc6
IC
9105Sha256.prototype._update = function (M) {
9106 var W = this._w
ebd8d4e8 9107
ab78acc6
IC
9108 var a = this._a | 0
9109 var b = this._b | 0
9110 var c = this._c | 0
9111 var d = this._d | 0
9112 var e = this._e | 0
9113 var f = this._f | 0
9114 var g = this._g | 0
9115 var h = this._h | 0
ebd8d4e8 9116
ab78acc6 9117 var j = 0
ebd8d4e8 9118
ab78acc6
IC
9119 function calcW () { return Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16] }
9120 function loop (w) {
9121 W[j] = w
ebd8d4e8 9122
ab78acc6
IC
9123 var T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w
9124 var T2 = Sigma0256(a) + Maj(a, b, c)
ebd8d4e8 9125
ab78acc6
IC
9126 h = g
9127 g = f
9128 f = e
9129 e = d + T1
9130 d = c
9131 c = b
9132 b = a
9133 a = T1 + T2
ebd8d4e8 9134
ab78acc6 9135 j++
ebd8d4e8
IC
9136 }
9137
ab78acc6
IC
9138 while (j < 16) loop(M.readInt32BE(j * 4))
9139 while (j < 64) loop(calcW())
ebd8d4e8 9140
ab78acc6
IC
9141 this._a = (a + this._a) | 0
9142 this._b = (b + this._b) | 0
9143 this._c = (c + this._c) | 0
9144 this._d = (d + this._d) | 0
9145 this._e = (e + this._e) | 0
9146 this._f = (f + this._f) | 0
9147 this._g = (g + this._g) | 0
9148 this._h = (h + this._h) | 0
9149}
ebd8d4e8 9150
ab78acc6
IC
9151Sha256.prototype._hash = function () {
9152 var H = new Buffer(32)
ebd8d4e8 9153
ab78acc6
IC
9154 H.writeInt32BE(this._a, 0)
9155 H.writeInt32BE(this._b, 4)
9156 H.writeInt32BE(this._c, 8)
9157 H.writeInt32BE(this._d, 12)
9158 H.writeInt32BE(this._e, 16)
9159 H.writeInt32BE(this._f, 20)
9160 H.writeInt32BE(this._g, 24)
9161 H.writeInt32BE(this._h, 28)
ebd8d4e8 9162
ab78acc6
IC
9163 return H
9164}
ebd8d4e8 9165
ab78acc6 9166module.exports = Sha256
ebd8d4e8 9167
ab78acc6
IC
9168}).call(this,require("buffer").Buffer)
9169},{"./hash":37,"buffer":7,"inherits":35}],43:[function(require,module,exports){
9170(function (Buffer){
9171var inherits = require('inherits')
9172var SHA512 = require('./sha512')
9173var Hash = require('./hash')
ebd8d4e8 9174
ab78acc6 9175var W = new Array(160)
ebd8d4e8 9176
ab78acc6
IC
9177function Sha384 () {
9178 this.init()
9179 this._w = W
ebd8d4e8 9180
ab78acc6
IC
9181 Hash.call(this, 128, 112)
9182}
ebd8d4e8 9183
ab78acc6 9184inherits(Sha384, SHA512)
ebd8d4e8 9185
ab78acc6
IC
9186Sha384.prototype.init = function () {
9187 this._a = 0xcbbb9d5d | 0
9188 this._b = 0x629a292a | 0
9189 this._c = 0x9159015a | 0
9190 this._d = 0x152fecd8 | 0
9191 this._e = 0x67332667 | 0
9192 this._f = 0x8eb44a87 | 0
9193 this._g = 0xdb0c2e0d | 0
9194 this._h = 0x47b5481d | 0
ebd8d4e8 9195
ab78acc6
IC
9196 this._al = 0xc1059ed8 | 0
9197 this._bl = 0x367cd507 | 0
9198 this._cl = 0x3070dd17 | 0
9199 this._dl = 0xf70e5939 | 0
9200 this._el = 0xffc00b31 | 0
9201 this._fl = 0x68581511 | 0
9202 this._gl = 0x64f98fa7 | 0
9203 this._hl = 0xbefa4fa4 | 0
ebd8d4e8 9204
ab78acc6 9205 return this
ebd8d4e8
IC
9206}
9207
ab78acc6
IC
9208Sha384.prototype._hash = function () {
9209 var H = new Buffer(48)
ebd8d4e8 9210
ab78acc6
IC
9211 function writeInt64BE (h, l, offset) {
9212 H.writeInt32BE(h, offset)
9213 H.writeInt32BE(l, offset + 4)
ebd8d4e8 9214 }
ebd8d4e8 9215
ab78acc6
IC
9216 writeInt64BE(this._a, this._al, 0)
9217 writeInt64BE(this._b, this._bl, 8)
9218 writeInt64BE(this._c, this._cl, 16)
9219 writeInt64BE(this._d, this._dl, 24)
9220 writeInt64BE(this._e, this._el, 32)
9221 writeInt64BE(this._f, this._fl, 40)
9222
9223 return H
ebd8d4e8
IC
9224}
9225
ab78acc6 9226module.exports = Sha384
ebd8d4e8 9227
ab78acc6
IC
9228}).call(this,require("buffer").Buffer)
9229},{"./hash":37,"./sha512":44,"buffer":7,"inherits":35}],44:[function(require,module,exports){
ebd8d4e8 9230(function (Buffer){
ab78acc6
IC
9231var inherits = require('inherits')
9232var Hash = require('./hash')
9233
9234var K = [
9235 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
9236 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
9237 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
9238 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
9239 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
9240 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
9241 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
9242 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
9243 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
9244 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
9245 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
9246 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
9247 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
9248 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
9249 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
9250 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
9251 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
9252 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
9253 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
9254 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
9255 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
9256 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
9257 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
9258 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
9259 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
9260 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
9261 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
9262 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
9263 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
9264 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
9265 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
9266 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
9267 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
9268 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
9269 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
9270 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
9271 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
9272 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
9273 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
9274 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
9275]
9276
9277var W = new Array(160)
9278
9279function Sha512 () {
9280 this.init()
9281 this._w = W
9282
9283 Hash.call(this, 128, 112)
9284}
9285
9286inherits(Sha512, Hash)
9287
9288Sha512.prototype.init = function () {
9289 this._a = 0x6a09e667 | 0
9290 this._b = 0xbb67ae85 | 0
9291 this._c = 0x3c6ef372 | 0
9292 this._d = 0xa54ff53a | 0
9293 this._e = 0x510e527f | 0
9294 this._f = 0x9b05688c | 0
9295 this._g = 0x1f83d9ab | 0
9296 this._h = 0x5be0cd19 | 0
9297
9298 this._al = 0xf3bcc908 | 0
9299 this._bl = 0x84caa73b | 0
9300 this._cl = 0xfe94f82b | 0
9301 this._dl = 0x5f1d36f1 | 0
9302 this._el = 0xade682d1 | 0
9303 this._fl = 0x2b3e6c1f | 0
9304 this._gl = 0xfb41bd6b | 0
9305 this._hl = 0x137e2179 | 0
ebd8d4e8 9306
ab78acc6 9307 return this
ebd8d4e8
IC
9308}
9309
ab78acc6
IC
9310function S (X, Xl, n) {
9311 return (X >>> n) | (Xl << (32 - n))
9312}
9313
9314function Ch (x, y, z) {
9315 return ((x & y) ^ ((~x) & z))
9316}
9317
9318function Maj (x, y, z) {
9319 return ((x & y) ^ (x & z) ^ (y & z))
9320}
9321
9322Sha512.prototype._update = function (M) {
9323 var W = this._w
9324
9325 var a = this._a | 0
9326 var b = this._b | 0
9327 var c = this._c | 0
9328 var d = this._d | 0
9329 var e = this._e | 0
9330 var f = this._f | 0
9331 var g = this._g | 0
9332 var h = this._h | 0
9333
9334 var al = this._al | 0
9335 var bl = this._bl | 0
9336 var cl = this._cl | 0
9337 var dl = this._dl | 0
9338 var el = this._el | 0
9339 var fl = this._fl | 0
9340 var gl = this._gl | 0
9341 var hl = this._hl | 0
9342
9343 var i = 0, j = 0
9344 var Wi, Wil
9345 function calcW () {
9346 var x = W[j - 15 * 2]
9347 var xl = W[j - 15 * 2 + 1]
9348 var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
9349 var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
9350
9351 x = W[j - 2 * 2]
9352 xl = W[j - 2 * 2 + 1]
9353 var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
9354 var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
9355
9356 // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
9357 var Wi7 = W[j - 7 * 2]
9358 var Wi7l = W[j - 7 * 2 + 1]
9359
9360 var Wi16 = W[j - 16 * 2]
9361 var Wi16l = W[j - 16 * 2 + 1]
ebd8d4e8 9362
ab78acc6
IC
9363 Wil = gamma0l + Wi7l
9364 Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
9365 Wil = Wil + gamma1l
9366 Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
9367 Wil = Wil + Wi16l
9368 Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
9369 }
9370
9371 function loop () {
9372 W[j] = Wi
9373 W[j + 1] = Wil
ebd8d4e8 9374
ab78acc6
IC
9375 var maj = Maj(a, b, c)
9376 var majl = Maj(al, bl, cl)
ebd8d4e8 9377
ab78acc6
IC
9378 var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
9379 var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
9380 var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
9381 var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)
ebd8d4e8 9382
ab78acc6
IC
9383 // t1 = h + sigma1 + ch + K[i] + W[i]
9384 var Ki = K[j]
9385 var Kil = K[j + 1]
ebd8d4e8 9386
ab78acc6
IC
9387 var ch = Ch(e, f, g)
9388 var chl = Ch(el, fl, gl)
ebd8d4e8 9389
ab78acc6
IC
9390 var t1l = hl + sigma1l
9391 var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
9392 t1l = t1l + chl
9393 t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
9394 t1l = t1l + Kil
9395 t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
9396 t1l = t1l + Wil
9397 t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)
ebd8d4e8 9398
ab78acc6
IC
9399 // t2 = sigma0 + maj
9400 var t2l = sigma0l + majl
9401 var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)
ebd8d4e8 9402
ab78acc6
IC
9403 h = g
9404 hl = gl
9405 g = f
9406 gl = fl
9407 f = e
9408 fl = el
9409 el = (dl + t1l) | 0
9410 e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9411 d = c
9412 dl = cl
9413 c = b
9414 cl = bl
9415 b = a
9416 bl = al
9417 al = (t1l + t2l) | 0
9418 a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
9419
9420 i++
9421 j += 2
9422 }
9423
9424 while (i < 16) {
9425 Wi = M.readInt32BE(j * 4)
9426 Wil = M.readInt32BE(j * 4 + 4)
9427
9428 loop()
9429 }
9430
9431 while (i < 80) {
9432 calcW()
9433 loop()
9434 }
9435
9436 this._al = (this._al + al) | 0
9437 this._bl = (this._bl + bl) | 0
9438 this._cl = (this._cl + cl) | 0
9439 this._dl = (this._dl + dl) | 0
9440 this._el = (this._el + el) | 0
9441 this._fl = (this._fl + fl) | 0
9442 this._gl = (this._gl + gl) | 0
9443 this._hl = (this._hl + hl) | 0
9444
9445 this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
9446 this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
9447 this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
9448 this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9449 this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
9450 this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
9451 this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
9452 this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
9453}
9454
9455Sha512.prototype._hash = function () {
9456 var H = new Buffer(64)
9457
9458 function writeInt64BE (h, l, offset) {
9459 H.writeInt32BE(h, offset)
9460 H.writeInt32BE(l, offset + 4)
9461 }
9462
9463 writeInt64BE(this._a, this._al, 0)
9464 writeInt64BE(this._b, this._bl, 8)
9465 writeInt64BE(this._c, this._cl, 16)
9466 writeInt64BE(this._d, this._dl, 24)
9467 writeInt64BE(this._e, this._el, 32)
9468 writeInt64BE(this._f, this._fl, 40)
9469 writeInt64BE(this._g, this._gl, 48)
9470 writeInt64BE(this._h, this._hl, 56)
9471
9472 return H
9473}
9474
9475module.exports = Sha512
9476
9477}).call(this,require("buffer").Buffer)
9478},{"./hash":37,"buffer":7,"inherits":35}],45:[function(require,module,exports){
9479(function (Buffer){
9480'use strict';
9481var createHash = require('create-hash/browser');
9482var inherits = require('inherits')
ebd8d4e8 9483
ab78acc6 9484var Transform = require('stream').Transform
ebd8d4e8 9485
ab78acc6
IC
9486var ZEROS = new Buffer(128)
9487ZEROS.fill(0)
ebd8d4e8 9488
ab78acc6
IC
9489function Hmac(alg, key) {
9490 Transform.call(this)
ebd8d4e8 9491
ab78acc6
IC
9492 if (typeof key === 'string') {
9493 key = new Buffer(key)
9494 }
ebd8d4e8 9495
ab78acc6 9496 var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
ebd8d4e8 9497
ab78acc6
IC
9498 this._alg = alg
9499 this._key = key
ebd8d4e8 9500
ab78acc6
IC
9501 if (key.length > blocksize) {
9502 key = createHash(alg).update(key).digest()
ebd8d4e8 9503
ab78acc6
IC
9504 } else if (key.length < blocksize) {
9505 key = Buffer.concat([key, ZEROS], blocksize)
9506 }
ebd8d4e8 9507
ab78acc6
IC
9508 var ipad = this._ipad = new Buffer(blocksize)
9509 var opad = this._opad = new Buffer(blocksize)
ebd8d4e8 9510
ab78acc6
IC
9511 for (var i = 0; i < blocksize; i++) {
9512 ipad[i] = key[i] ^ 0x36
9513 opad[i] = key[i] ^ 0x5C
9514 }
ebd8d4e8 9515
ab78acc6
IC
9516 this._hash = createHash(alg).update(ipad)
9517}
ebd8d4e8 9518
ab78acc6 9519inherits(Hmac, Transform)
ebd8d4e8 9520
ab78acc6
IC
9521Hmac.prototype.update = function (data, enc) {
9522 this._hash.update(data, enc)
ebd8d4e8 9523
ab78acc6
IC
9524 return this
9525}
ebd8d4e8 9526
ab78acc6
IC
9527Hmac.prototype._transform = function (data, _, next) {
9528 this._hash.update(data)
ebd8d4e8 9529
ab78acc6
IC
9530 next()
9531}
ebd8d4e8 9532
ab78acc6
IC
9533Hmac.prototype._flush = function (next) {
9534 this.push(this.digest())
ebd8d4e8 9535
ab78acc6
IC
9536 next()
9537}
ebd8d4e8 9538
ab78acc6
IC
9539Hmac.prototype.digest = function (enc) {
9540 var h = this._hash.digest()
ebd8d4e8 9541
ab78acc6
IC
9542 return createHash(this._alg).update(this._opad).update(h).digest(enc)
9543}
ebd8d4e8 9544
ab78acc6
IC
9545module.exports = function createHmac(alg, key) {
9546 return new Hmac(alg, key)
9547}
ebd8d4e8 9548
ab78acc6
IC
9549}).call(this,require("buffer").Buffer)
9550},{"buffer":7,"create-hash/browser":32,"inherits":46,"stream":26}],46:[function(require,module,exports){
9551arguments[4][12][0].apply(exports,arguments)
9552},{"dup":12}],47:[function(require,module,exports){
9553var assert = require('assert')
9554var BigInteger = require('bigi')
ebd8d4e8 9555
ab78acc6 9556var Point = require('./point')
ebd8d4e8
IC
9557
9558function Curve(p, a, b, Gx, Gy, n, h) {
9559 this.p = p
9560 this.a = a
9561 this.b = b
9562 this.G = Point.fromAffine(this, Gx, Gy)
9563 this.n = n
9564 this.h = h
9565
9566 this.infinity = new Point(this, null, null, BigInteger.ZERO)
9567
9568 // result caching
9569 this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)
9570}
9571
9572Curve.prototype.pointFromX = function(isOdd, x) {
9573 var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)
ab78acc6 9574 var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves
ebd8d4e8
IC
9575
9576 var y = beta
9577 if (beta.isEven() ^ !isOdd) {
9578 y = this.p.subtract(y) // -y % p
9579 }
9580
9581 return Point.fromAffine(this, x, y)
9582}
9583
9584Curve.prototype.isInfinity = function(Q) {
9585 if (Q === this.infinity) return true
9586
9587 return Q.z.signum() === 0 && Q.y.signum() !== 0
9588}
9589
9590Curve.prototype.isOnCurve = function(Q) {
9591 if (this.isInfinity(Q)) return true
9592
9593 var x = Q.affineX
9594 var y = Q.affineY
9595 var a = this.a
9596 var b = this.b
9597 var p = this.p
9598
9599 // Check that xQ and yQ are integers in the interval [0, p - 1]
9600 if (x.signum() < 0 || x.compareTo(p) >= 0) return false
9601 if (y.signum() < 0 || y.compareTo(p) >= 0) return false
9602
9603 // and check that y^2 = x^3 + ax + b (mod p)
9604 var lhs = y.square().mod(p)
9605 var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)
9606 return lhs.equals(rhs)
9607}
9608
9609/**
9610 * Validate an elliptic curve point.
9611 *
9612 * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive
9613 */
9614Curve.prototype.validate = function(Q) {
9615 // Check Q != O
9616 assert(!this.isInfinity(Q), 'Point is at infinity')
9617 assert(this.isOnCurve(Q), 'Point is not on the curve')
9618
9619 // Check nQ = O (where Q is a scalar multiple of G)
9620 var nQ = Q.multiply(this.n)
9621 assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')
9622
9623 return true
9624}
9625
9626module.exports = Curve
9627
ab78acc6 9628},{"./point":51,"assert":5,"bigi":3}],48:[function(require,module,exports){
ebd8d4e8
IC
9629module.exports={
9630 "secp128r1": {
9631 "p": "fffffffdffffffffffffffffffffffff",
9632 "a": "fffffffdfffffffffffffffffffffffc",
9633 "b": "e87579c11079f43dd824993c2cee5ed3",
9634 "n": "fffffffe0000000075a30d1b9038a115",
9635 "h": "01",
9636 "Gx": "161ff7528b899b2d0c28607ca52c5b86",
9637 "Gy": "cf5ac8395bafeb13c02da292dded7a83"
9638 },
9639 "secp160k1": {
9640 "p": "fffffffffffffffffffffffffffffffeffffac73",
9641 "a": "00",
9642 "b": "07",
9643 "n": "0100000000000000000001b8fa16dfab9aca16b6b3",
9644 "h": "01",
9645 "Gx": "3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
9646 "Gy": "938cf935318fdced6bc28286531733c3f03c4fee"
9647 },
9648 "secp160r1": {
9649 "p": "ffffffffffffffffffffffffffffffff7fffffff",
9650 "a": "ffffffffffffffffffffffffffffffff7ffffffc",
9651 "b": "1c97befc54bd7a8b65acf89f81d4d4adc565fa45",
9652 "n": "0100000000000000000001f4c8f927aed3ca752257",
9653 "h": "01",
9654 "Gx": "4a96b5688ef573284664698968c38bb913cbfc82",
9655 "Gy": "23a628553168947d59dcc912042351377ac5fb32"
9656 },
9657 "secp192k1": {
9658 "p": "fffffffffffffffffffffffffffffffffffffffeffffee37",
9659 "a": "00",
9660 "b": "03",
9661 "n": "fffffffffffffffffffffffe26f2fc170f69466a74defd8d",
9662 "h": "01",
9663 "Gx": "db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
9664 "Gy": "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
9665 },
9666 "secp192r1": {
9667 "p": "fffffffffffffffffffffffffffffffeffffffffffffffff",
9668 "a": "fffffffffffffffffffffffffffffffefffffffffffffffc",
9669 "b": "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
9670 "n": "ffffffffffffffffffffffff99def836146bc9b1b4d22831",
9671 "h": "01",
9672 "Gx": "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
9673 "Gy": "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"
9674 },
ebd8d4e8
IC
9675 "secp256k1": {
9676 "p": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
9677 "a": "00",
9678 "b": "07",
9679 "n": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
9680 "h": "01",
9681 "Gx": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
9682 "Gy": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
9683 },
9684 "secp256r1": {
9685 "p": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
9686 "a": "ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",
9687 "b": "5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
9688 "n": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
9689 "h": "01",
9690 "Gx": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
9691 "Gy": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
9692 }
9693}
9694
ab78acc6
IC
9695},{}],49:[function(require,module,exports){
9696var Point = require('./point')
9697var Curve = require('./curve')
ebd8d4e8 9698
ab78acc6 9699var getCurveByName = require('./names')
ebd8d4e8
IC
9700
9701module.exports = {
9702 Curve: Curve,
9703 Point: Point,
9704 getCurveByName: getCurveByName
9705}
9706
ab78acc6
IC
9707},{"./curve":47,"./names":50,"./point":51}],50:[function(require,module,exports){
9708var BigInteger = require('bigi')
ebd8d4e8 9709
ab78acc6
IC
9710var curves = require('./curves')
9711var Curve = require('./curve')
ebd8d4e8
IC
9712
9713function getCurveByName(name) {
9714 var curve = curves[name]
9715 if (!curve) return null
9716
9717 var p = new BigInteger(curve.p, 16)
9718 var a = new BigInteger(curve.a, 16)
9719 var b = new BigInteger(curve.b, 16)
9720 var n = new BigInteger(curve.n, 16)
9721 var h = new BigInteger(curve.h, 16)
9722 var Gx = new BigInteger(curve.Gx, 16)
9723 var Gy = new BigInteger(curve.Gy, 16)
9724
9725 return new Curve(p, a, b, Gx, Gy, n, h)
9726}
9727
9728module.exports = getCurveByName
9729
ab78acc6 9730},{"./curve":47,"./curves":48,"bigi":3}],51:[function(require,module,exports){
ebd8d4e8 9731(function (Buffer){
ab78acc6
IC
9732var assert = require('assert')
9733var BigInteger = require('bigi')
ebd8d4e8
IC
9734
9735var THREE = BigInteger.valueOf(3)
9736
9737function Point(curve, x, y, z) {
9738 assert.notStrictEqual(z, undefined, 'Missing Z coordinate')
9739
9740 this.curve = curve
9741 this.x = x
9742 this.y = y
9743 this.z = z
9744 this._zInv = null
9745
9746 this.compressed = true
9747}
9748
9749Object.defineProperty(Point.prototype, 'zInv', {
9750 get: function() {
9751 if (this._zInv === null) {
9752 this._zInv = this.z.modInverse(this.curve.p)
9753 }
9754
9755 return this._zInv
9756 }
9757})
9758
9759Object.defineProperty(Point.prototype, 'affineX', {
9760 get: function() {
9761 return this.x.multiply(this.zInv).mod(this.curve.p)
9762 }
9763})
9764
9765Object.defineProperty(Point.prototype, 'affineY', {
9766 get: function() {
9767 return this.y.multiply(this.zInv).mod(this.curve.p)
9768 }
9769})
9770
9771Point.fromAffine = function(curve, x, y) {
9772 return new Point(curve, x, y, BigInteger.ONE)
9773}
9774
9775Point.prototype.equals = function(other) {
9776 if (other === this) return true
9777 if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)
9778 if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)
9779
9780 // u = Y2 * Z1 - Y1 * Z2
9781 var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)
9782
9783 if (u.signum() !== 0) return false
9784
9785 // v = X2 * Z1 - X1 * Z2
9786 var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)
9787
9788 return v.signum() === 0
9789}
9790
9791Point.prototype.negate = function() {
9792 var y = this.curve.p.subtract(this.y)
9793
9794 return new Point(this.curve, this.x, y, this.z)
9795}
9796
9797Point.prototype.add = function(b) {
9798 if (this.curve.isInfinity(this)) return b
9799 if (this.curve.isInfinity(b)) return this
9800
9801 var x1 = this.x
9802 var y1 = this.y
9803 var x2 = b.x
9804 var y2 = b.y
9805
9806 // u = Y2 * Z1 - Y1 * Z2
9807 var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)
9808 // v = X2 * Z1 - X1 * Z2
9809 var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)
9810
9811 if (v.signum() === 0) {
9812 if (u.signum() === 0) {
9813 return this.twice() // this == b, so double
9814 }
9815
9816 return this.curve.infinity // this = -b, so infinity
9817 }
9818
9819 var v2 = v.square()
9820 var v3 = v2.multiply(v)
9821 var x1v2 = x1.multiply(v2)
9822 var zu2 = u.square().multiply(this.z)
9823
9824 // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
9825 var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)
9826 // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
9827 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)
9828 // z3 = v^3 * z1 * z2
9829 var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)
9830
9831 return new Point(this.curve, x3, y3, z3)
9832}
9833
9834Point.prototype.twice = function() {
9835 if (this.curve.isInfinity(this)) return this
9836 if (this.y.signum() === 0) return this.curve.infinity
9837
9838 var x1 = this.x
9839 var y1 = this.y
9840
9841 var y1z1 = y1.multiply(this.z)
9842 var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)
9843 var a = this.curve.a
9844
9845 // w = 3 * x1^2 + a * z1^2
9846 var w = x1.square().multiply(THREE)
9847
9848 if (a.signum() !== 0) {
9849 w = w.add(this.z.square().multiply(a))
9850 }
9851
9852 w = w.mod(this.curve.p)
9853 // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
9854 var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)
9855 // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
9856 var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)
9857 // z3 = 8 * (y1 * z1)^3
9858 var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)
9859
9860 return new Point(this.curve, x3, y3, z3)
9861}
9862
9863// Simple NAF (Non-Adjacent Form) multiplication algorithm
9864// TODO: modularize the multiplication algorithm
9865Point.prototype.multiply = function(k) {
9866 if (this.curve.isInfinity(this)) return this
9867 if (k.signum() === 0) return this.curve.infinity
9868
9869 var e = k
9870 var h = e.multiply(THREE)
9871
9872 var neg = this.negate()
9873 var R = this
9874
9875 for (var i = h.bitLength() - 2; i > 0; --i) {
9876 R = R.twice()
9877
9878 var hBit = h.testBit(i)
9879 var eBit = e.testBit(i)
9880
9881 if (hBit != eBit) {
9882 R = R.add(hBit ? this : neg)
9883 }
9884 }
9885
9886 return R
9887}
9888
9889// Compute this*j + x*k (simultaneous multiplication)
9890Point.prototype.multiplyTwo = function(j, x, k) {
9891 var i
9892
9893 if (j.bitLength() > k.bitLength())
9894 i = j.bitLength() - 1
9895 else
9896 i = k.bitLength() - 1
9897
9898 var R = this.curve.infinity
9899 var both = this.add(x)
9900
9901 while (i >= 0) {
9902 R = R.twice()
9903
9904 var jBit = j.testBit(i)
9905 var kBit = k.testBit(i)
9906
9907 if (jBit) {
9908 if (kBit) {
9909 R = R.add(both)
9910
9911 } else {
9912 R = R.add(this)
9913 }
9914
9915 } else {
9916 if (kBit) {
9917 R = R.add(x)
9918 }
9919 }
9920 --i
9921 }
9922
9923 return R
9924}
9925
9926Point.prototype.getEncoded = function(compressed) {
9927 if (compressed == undefined) compressed = this.compressed
9928 if (this.curve.isInfinity(this)) return new Buffer('00', 'hex') // Infinity point encoded is simply '00'
9929
9930 var x = this.affineX
9931 var y = this.affineY
9932
9933 var buffer
9934
9935 // Determine size of q in bytes
9936 var byteLength = Math.floor((this.curve.p.bitLength() + 7) / 8)
9937
9938 // 0x02/0x03 | X
9939 if (compressed) {
9940 buffer = new Buffer(1 + byteLength)
9941 buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)
9942
9943 // 0x04 | X | Y
9944 } else {
9945 buffer = new Buffer(1 + byteLength + byteLength)
9946 buffer.writeUInt8(0x04, 0)
9947
9948 y.toBuffer(byteLength).copy(buffer, 1 + byteLength)
9949 }
9950
9951 x.toBuffer(byteLength).copy(buffer, 1)
9952
9953 return buffer
9954}
9955
9956Point.decodeFrom = function(curve, buffer) {
9957 var type = buffer.readUInt8(0)
9958 var compressed = (type !== 4)
9959
ebd8d4e8 9960 var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)
ab78acc6 9961 var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))
ebd8d4e8
IC
9962
9963 var Q
9964 if (compressed) {
9965 assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')
9966 assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')
9967
9968 var isOdd = (type === 0x03)
9969 Q = curve.pointFromX(isOdd, x)
9970
9971 } else {
9972 assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')
9973
9974 var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))
9975 Q = Point.fromAffine(curve, x, y)
9976 }
9977
9978 Q.compressed = compressed
9979 return Q
9980}
9981
9982Point.prototype.toString = function () {
9983 if (this.curve.isInfinity(this)) return '(INFINITY)'
9984
9985 return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'
9986}
9987
9988module.exports = Point
9989
ab78acc6
IC
9990}).call(this,require("buffer").Buffer)
9991},{"assert":5,"bigi":3,"buffer":7}],52:[function(require,module,exports){
9992(function (process,global,Buffer){
9993'use strict';
ebd8d4e8 9994
ab78acc6
IC
9995var crypto = global.crypto || global.msCrypto
9996if(crypto && crypto.getRandomValues) {
9997 module.exports = randomBytes;
9998} else {
9999 module.exports = oldBrowser;
10000}
10001function randomBytes(size, cb) {
10002 var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
10003 /* This will not work in older browsers.
10004 * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
10005 */
10006
10007 crypto.getRandomValues(bytes);
10008 if (typeof cb === 'function') {
10009 return process.nextTick(function () {
10010 cb(null, bytes);
10011 });
ebd8d4e8 10012 }
ab78acc6
IC
10013 return bytes;
10014}
10015function oldBrowser() {
10016 throw new Error(
10017 'secure random number generation not supported by this browser\n'+
10018 'use chrome, FireFox or Internet Explorer 11'
10019 )
ebd8d4e8
IC
10020}
10021
ab78acc6
IC
10022}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
10023},{"_process":14,"buffer":7}],53:[function(require,module,exports){
10024(function (Buffer){
10025'use strict';
ebd8d4e8 10026
ab78acc6
IC
10027function getFunctionName(fn) {
10028 return fn.name || fn.toString().match(/function (.*?)\s*\(/)[1];
10029}
10030
10031function getTypeTypeName(type) {
10032 if (nativeTypes.Function(type)) {
10033 type = type.toJSON ? type.toJSON() : getFunctionName(type);
ebd8d4e8 10034 }
ab78acc6
IC
10035 if (nativeTypes.Object(type)) return JSON.stringify(type);
10036
10037 return type;
ebd8d4e8
IC
10038}
10039
ab78acc6
IC
10040function getValueTypeName(value) {
10041 if (nativeTypes.Null(value)) return '';
ebd8d4e8 10042
ab78acc6
IC
10043 return getFunctionName(value.constructor);
10044}
10045
10046function tfErrorString(type, value) {
10047 var typeTypeName = getTypeTypeName(type);
10048 var valueTypeName = getValueTypeName(value);
10049
10050 return 'Expected ' + typeTypeName + ', got ' + (valueTypeName && valueTypeName + ' ') + JSON.stringify(value);
10051}
10052
10053function tfPropertyErrorString(type, name, value) {
10054 return tfErrorString('property \"' + name + '\" of type ' + getTypeTypeName(type), value);
10055}
10056
10057var nativeTypes = {
10058 Array: (function (_Array) {
10059 function Array(_x) {
10060 return _Array.apply(this, arguments);
10061 }
10062
10063 Array.toString = function () {
10064 return _Array.toString();
10065 };
10066
10067 return Array;
10068 })(function (value) {
10069 return value !== null && value !== undefined && value.constructor === Array;
10070 }),
10071 Boolean: function Boolean(value) {
10072 return typeof value === 'boolean';
10073 },
10074 Buffer: (function (_Buffer) {
10075 function Buffer(_x2) {
10076 return _Buffer.apply(this, arguments);
10077 }
10078
10079 Buffer.toString = function () {
10080 return _Buffer.toString();
10081 };
10082
10083 return Buffer;
10084 })(function (value) {
10085 return Buffer.isBuffer(value);
10086 }),
10087 Function: function Function(value) {
10088 return typeof value === 'function';
10089 },
10090 Null: function Null(value) {
10091 return value === undefined || value === null;
10092 },
10093 Number: function Number(value) {
10094 return typeof value === 'number';
10095 },
10096 Object: function Object(value) {
10097 return typeof value === 'object';
10098 },
10099 String: function String(value) {
10100 return typeof value === 'string';
10101 },
10102 '': function _() {
10103 return true;
ebd8d4e8 10104 }
ab78acc6
IC
10105};
10106
10107function tJSON(type) {
10108 return type && type.toJSON ? type.toJSON() : type;
ebd8d4e8
IC
10109}
10110
ab78acc6
IC
10111function sJSON(type) {
10112 var json = tJSON(type);
10113 return nativeTypes.Object(json) ? JSON.stringify(json) : json;
ebd8d4e8
IC
10114}
10115
ab78acc6
IC
10116var otherTypes = {
10117 arrayOf: function arrayOf(type) {
10118 function arrayOf(value, strict) {
10119 try {
10120 return nativeTypes.Array(value) && value.every(function (x) {
10121 return typeforce(type, x, strict);
10122 });
10123 } catch (e) {
10124 return false;
10125 }
10126 }
10127 arrayOf.toJSON = function () {
10128 return [tJSON(type)];
10129 };
10130
10131 return arrayOf;
10132 },
10133
10134 maybe: function maybe(type) {
10135 function maybe(value, strict) {
10136 return nativeTypes.Null(value) || typeforce(type, value, strict);
10137 }
10138 maybe.toJSON = function () {
10139 return '?' + sJSON(type);
10140 };
10141
10142 return maybe;
10143 },
10144
10145 object: function object(type) {
10146 function object(value, strict) {
10147 typeforce(nativeTypes.Object, value, strict);
10148
10149 var propertyName, propertyType, propertyValue;
10150
10151 try {
10152 for (propertyName in type) {
10153 propertyType = type[propertyName];
10154 propertyValue = value[propertyName];
10155
10156 typeforce(propertyType, propertyValue, strict);
10157 }
10158 } catch (e) {
10159 throw new TypeError(tfPropertyErrorString(propertyType, propertyName, propertyValue));
10160 }
10161
10162 if (strict) {
10163 for (propertyName in value) {
10164 if (type[propertyName]) continue;
10165
10166 throw new TypeError('Unexpected property "' + propertyName + '"');
10167 }
10168 }
10169
10170 return true;
10171 }
10172 object.toJSON = function () {
10173 return type;
10174 };
10175
10176 return object;
10177 },
10178
10179 oneOf: function oneOf() {
10180 for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
10181 types[_key] = arguments[_key];
10182 }
10183
10184 function oneOf(value, strict) {
10185 return types.some(function (type) {
10186 try {
10187 return typeforce(type, value, strict);
10188 } catch (e) {
10189 return false;
10190 }
10191 });
10192 }
10193 oneOf.toJSON = function () {
10194 return types.map(sJSON).join('|');
10195 };
10196
10197 return oneOf;
10198 },
10199
10200 quacksLike: function quacksLike(type) {
10201 function quacksLike(value, strict) {
10202 return type === getValueTypeName(value);
10203 }
10204 quacksLike.toJSON = function () {
10205 return type;
10206 };
10207
10208 return quacksLike;
10209 },
10210
10211 tuple: function tuple() {
10212 for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10213 types[_key2] = arguments[_key2];
10214 }
10215
10216 function tuple(value, strict) {
10217 return types.every(function (type, i) {
10218 return typeforce(type, value[i], strict);
10219 });
10220 }
10221 tuple.toJSON = function () {
10222 return '(' + types.map(sJSON).join(', ') + ')';
10223 };
10224
10225 return tuple;
10226 },
10227
10228 value: function value(expected) {
10229 function value(actual) {
10230 return actual === expected;
10231 }
10232 value.toJSON = function () {
10233 return expected;
10234 };
10235
10236 return value;
10237 }
10238};
10239
10240function compile(type) {
10241 if (nativeTypes.String(type)) {
10242 if (type[0] === '?') return otherTypes.maybe(compile(type.slice(1)));
10243
10244 return nativeTypes[type] || otherTypes.quacksLike(type);
10245 } else if (type && nativeTypes.Object(type)) {
10246 if (nativeTypes.Array(type)) return otherTypes.arrayOf(compile(type[0]));
10247
10248 var compiled = {};
10249
10250 for (var propertyName in type) {
10251 compiled[propertyName] = compile(type[propertyName]);
10252 }
10253
10254 return otherTypes.object(compiled);
10255 } else if (nativeTypes.Function(type)) {
10256 return type;
10257 }
10258
10259 return otherTypes.value(type);
ebd8d4e8
IC
10260}
10261
ab78acc6
IC
10262function typeforce(_x3, _x4, _x5) {
10263 var _again = true;
10264
10265 _function: while (_again) {
10266 var type = _x3,
10267 value = _x4,
10268 strict = _x5;
10269 _again = false;
10270
10271 if (nativeTypes.Function(type)) {
10272 if (type(value, strict)) return true;
10273
10274 throw new TypeError(tfErrorString(type, value));
10275 }
10276
10277 // JIT
10278 _x3 = compile(type);
10279 _x4 = value;
10280 _x5 = strict;
10281 _again = true;
10282 continue _function;
10283 }
ebd8d4e8
IC
10284}
10285
ab78acc6
IC
10286// assign all types to typeforce function
10287var typeName;
10288Object.keys(nativeTypes).forEach(function (typeName) {
10289 var nativeType = nativeTypes[typeName];
10290 nativeType.toJSON = function () {
10291 return typeName;
10292 };
10293
10294 typeforce[typeName] = nativeType;
10295});
ebd8d4e8 10296
ab78acc6
IC
10297for (typeName in otherTypes) {
10298 typeforce[typeName] = otherTypes[typeName];
10299}
ebd8d4e8 10300
ab78acc6
IC
10301module.exports = typeforce;
10302module.exports.compile = compile;
10303}).call(this,require("buffer").Buffer)
10304},{"buffer":7}],54:[function(require,module,exports){
ebd8d4e8 10305(function (Buffer){
ab78acc6
IC
10306var assert = require('assert')
10307var base58check = require('bs58check')
10308var typeForce = require('typeforce')
10309var networks = require('./networks')
10310var scripts = require('./scripts')
ebd8d4e8 10311
ab78acc6 10312function findScriptTypeByVersion (version) {
ebd8d4e8
IC
10313 for (var networkName in networks) {
10314 var network = networks[networkName]
10315
10316 if (version === network.pubKeyHash) return 'pubkeyhash'
10317 if (version === network.scriptHash) return 'scripthash'
10318 }
10319}
10320
ab78acc6
IC
10321function Address (hash, version) {
10322 typeForce('Buffer', hash)
10323
ebd8d4e8
IC
10324 assert.strictEqual(hash.length, 20, 'Invalid hash length')
10325 assert.strictEqual(version & 0xff, version, 'Invalid version byte')
10326
10327 this.hash = hash
10328 this.version = version
10329}
10330
ab78acc6 10331Address.fromBase58Check = function (string) {
ebd8d4e8
IC
10332 var payload = base58check.decode(string)
10333 var version = payload.readUInt8(0)
10334 var hash = payload.slice(1)
10335
10336 return new Address(hash, version)
10337}
10338
ab78acc6 10339Address.fromOutputScript = function (script, network) {
ebd8d4e8
IC
10340 network = network || networks.bitcoin
10341
ab78acc6
IC
10342 if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash)
10343 if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash)
ebd8d4e8 10344
ab78acc6 10345 assert(false, script.toASM() + ' has no matching Address')
ebd8d4e8
IC
10346}
10347
ebd8d4e8
IC
10348Address.prototype.toBase58Check = function () {
10349 var payload = new Buffer(21)
10350 payload.writeUInt8(this.version, 0)
10351 this.hash.copy(payload, 1)
10352
10353 return base58check.encode(payload)
10354}
10355
ab78acc6 10356Address.prototype.toOutputScript = function () {
ebd8d4e8
IC
10357 var scriptType = findScriptTypeByVersion(this.version)
10358
10359 if (scriptType === 'pubkeyhash') return scripts.pubKeyHashOutput(this.hash)
10360 if (scriptType === 'scripthash') return scripts.scriptHashOutput(this.hash)
10361
ab78acc6
IC
10362 assert(false, this.toString() + ' has no matching Script')
10363}
10364
10365Address.prototype.toString = Address.prototype.toBase58Check
10366
10367module.exports = Address
10368
10369}).call(this,require("buffer").Buffer)
10370},{"./networks":66,"./scripts":69,"assert":5,"bs58check":31,"buffer":7,"typeforce":53}],55:[function(require,module,exports){
10371var bs58check = require('bs58check')
10372
10373function decode () {
10374 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10375
10376 return bs58check.decode.apply(undefined, arguments)
10377}
10378
10379function encode () {
10380 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10381
10382 return bs58check.encode.apply(undefined, arguments)
10383}
10384
10385module.exports = {
10386 decode: decode,
10387 encode: encode
10388}
10389
10390},{"bs58check":31}],56:[function(require,module,exports){
10391(function (Buffer){
10392var assert = require('assert')
10393var bufferutils = require('./bufferutils')
10394var crypto = require('./crypto')
10395
10396var Transaction = require('./transaction')
10397
10398function Block () {
10399 this.version = 1
10400 this.prevHash = null
10401 this.merkleRoot = null
10402 this.timestamp = 0
10403 this.bits = 0
10404 this.nonce = 0
10405}
10406
10407Block.fromBuffer = function (buffer) {
10408 assert(buffer.length >= 80, 'Buffer too small (< 80 bytes)')
10409
10410 var offset = 0
10411 function readSlice (n) {
10412 offset += n
10413 return buffer.slice(offset - n, offset)
10414 }
10415
10416 function readUInt32 () {
10417 var i = buffer.readUInt32LE(offset)
10418 offset += 4
10419 return i
10420 }
10421
10422 var block = new Block()
10423 block.version = readUInt32()
10424 block.prevHash = readSlice(32)
10425 block.merkleRoot = readSlice(32)
10426 block.timestamp = readUInt32()
10427 block.bits = readUInt32()
10428 block.nonce = readUInt32()
10429
10430 if (buffer.length === 80) return block
10431
10432 function readVarInt () {
10433 var vi = bufferutils.readVarInt(buffer, offset)
10434 offset += vi.size
10435 return vi.number
10436 }
10437
10438 // FIXME: poor performance
10439 function readTransaction () {
10440 var tx = Transaction.fromBuffer(buffer.slice(offset), true)
10441
10442 offset += tx.toBuffer().length
10443 return tx
10444 }
10445
10446 var nTransactions = readVarInt()
10447 block.transactions = []
10448
10449 for (var i = 0; i < nTransactions; ++i) {
10450 var tx = readTransaction()
10451 block.transactions.push(tx)
10452 }
10453
10454 return block
10455}
10456
10457Block.fromHex = function (hex) {
10458 return Block.fromBuffer(new Buffer(hex, 'hex'))
10459}
10460
10461Block.prototype.getHash = function () {
10462 return crypto.hash256(this.toBuffer(true))
10463}
10464
10465Block.prototype.getId = function () {
10466 return bufferutils.reverse(this.getHash()).toString('hex')
ebd8d4e8
IC
10467}
10468
ab78acc6
IC
10469Block.prototype.getUTCDate = function () {
10470 var date = new Date(0) // epoch
10471 date.setUTCSeconds(this.timestamp)
ebd8d4e8 10472
ab78acc6
IC
10473 return date
10474}
ebd8d4e8 10475
ab78acc6
IC
10476Block.prototype.toBuffer = function (headersOnly) {
10477 var buffer = new Buffer(80)
ebd8d4e8 10478
ab78acc6
IC
10479 var offset = 0
10480 function writeSlice (slice) {
10481 slice.copy(buffer, offset)
10482 offset += slice.length
10483 }
ebd8d4e8 10484
ab78acc6
IC
10485 function writeUInt32 (i) {
10486 buffer.writeUInt32LE(i, offset)
10487 offset += 4
10488 }
ebd8d4e8 10489
ab78acc6
IC
10490 writeUInt32(this.version)
10491 writeSlice(this.prevHash)
10492 writeSlice(this.merkleRoot)
10493 writeUInt32(this.timestamp)
10494 writeUInt32(this.bits)
10495 writeUInt32(this.nonce)
ebd8d4e8 10496
ab78acc6 10497 if (headersOnly || !this.transactions) return buffer
ebd8d4e8 10498
ab78acc6
IC
10499 var txLenBuffer = bufferutils.varIntBuffer(this.transactions.length)
10500 var txBuffers = this.transactions.map(function (tx) {
10501 return tx.toBuffer()
10502 })
ebd8d4e8 10503
ab78acc6 10504 return Buffer.concat([buffer, txLenBuffer].concat(txBuffers))
ebd8d4e8
IC
10505}
10506
ab78acc6
IC
10507Block.prototype.toHex = function (headersOnly) {
10508 return this.toBuffer(headersOnly).toString('hex')
ebd8d4e8
IC
10509}
10510
ab78acc6
IC
10511module.exports = Block
10512
10513}).call(this,require("buffer").Buffer)
10514},{"./bufferutils":57,"./crypto":58,"./transaction":70,"assert":5,"buffer":7}],57:[function(require,module,exports){
10515(function (Buffer){
10516var assert = require('assert')
10517var opcodes = require('./opcodes')
ebd8d4e8
IC
10518
10519// https://github.com/feross/buffer/blob/master/index.js#L1127
ab78acc6 10520function verifuint (value, max) {
ebd8d4e8
IC
10521 assert(typeof value === 'number', 'cannot write a non-number as a number')
10522 assert(value >= 0, 'specified a negative value for writing an unsigned value')
10523 assert(value <= max, 'value is larger than maximum value for type')
10524 assert(Math.floor(value) === value, 'value has a fractional component')
10525}
10526
ab78acc6 10527function pushDataSize (i) {
ebd8d4e8 10528 return i < opcodes.OP_PUSHDATA1 ? 1
ab78acc6
IC
10529 : i < 0xff ? 2
10530 : i < 0xffff ? 3
10531 : 5
ebd8d4e8
IC
10532}
10533
ab78acc6 10534function readPushDataInt (buffer, offset) {
ebd8d4e8
IC
10535 var opcode = buffer.readUInt8(offset)
10536 var number, size
10537
10538 // ~6 bit
10539 if (opcode < opcodes.OP_PUSHDATA1) {
10540 number = opcode
10541 size = 1
10542
10543 // 8 bit
10544 } else if (opcode === opcodes.OP_PUSHDATA1) {
ab78acc6 10545 if (offset + 2 > buffer.length) return null
ebd8d4e8
IC
10546 number = buffer.readUInt8(offset + 1)
10547 size = 2
10548
10549 // 16 bit
10550 } else if (opcode === opcodes.OP_PUSHDATA2) {
ab78acc6 10551 if (offset + 3 > buffer.length) return null
ebd8d4e8
IC
10552 number = buffer.readUInt16LE(offset + 1)
10553 size = 3
10554
10555 // 32 bit
10556 } else {
ab78acc6 10557 if (offset + 5 > buffer.length) return null
ebd8d4e8
IC
10558 assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
10559
10560 number = buffer.readUInt32LE(offset + 1)
10561 size = 5
ebd8d4e8
IC
10562 }
10563
10564 return {
10565 opcode: opcode,
10566 number: number,
10567 size: size
10568 }
10569}
10570
ab78acc6 10571function readUInt64LE (buffer, offset) {
ebd8d4e8
IC
10572 var a = buffer.readUInt32LE(offset)
10573 var b = buffer.readUInt32LE(offset + 4)
10574 b *= 0x100000000
10575
10576 verifuint(b + a, 0x001fffffffffffff)
10577
10578 return b + a
10579}
10580
ab78acc6 10581function readVarInt (buffer, offset) {
ebd8d4e8
IC
10582 var t = buffer.readUInt8(offset)
10583 var number, size
10584
10585 // 8 bit
10586 if (t < 253) {
10587 number = t
10588 size = 1
10589
10590 // 16 bit
10591 } else if (t < 254) {
10592 number = buffer.readUInt16LE(offset + 1)
10593 size = 3
10594
10595 // 32 bit
10596 } else if (t < 255) {
10597 number = buffer.readUInt32LE(offset + 1)
10598 size = 5
10599
10600 // 64 bit
10601 } else {
10602 number = readUInt64LE(buffer, offset + 1)
10603 size = 9
10604 }
10605
10606 return {
10607 number: number,
10608 size: size
10609 }
10610}
10611
ab78acc6 10612function writePushDataInt (buffer, number, offset) {
ebd8d4e8
IC
10613 var size = pushDataSize(number)
10614
10615 // ~6 bit
10616 if (size === 1) {
10617 buffer.writeUInt8(number, offset)
10618
10619 // 8 bit
10620 } else if (size === 2) {
10621 buffer.writeUInt8(opcodes.OP_PUSHDATA1, offset)
10622 buffer.writeUInt8(number, offset + 1)
10623
10624 // 16 bit
10625 } else if (size === 3) {
10626 buffer.writeUInt8(opcodes.OP_PUSHDATA2, offset)
10627 buffer.writeUInt16LE(number, offset + 1)
10628
10629 // 32 bit
10630 } else {
10631 buffer.writeUInt8(opcodes.OP_PUSHDATA4, offset)
10632 buffer.writeUInt32LE(number, offset + 1)
ebd8d4e8
IC
10633 }
10634
10635 return size
10636}
10637
ab78acc6 10638function writeUInt64LE (buffer, value, offset) {
ebd8d4e8
IC
10639 verifuint(value, 0x001fffffffffffff)
10640
10641 buffer.writeInt32LE(value & -1, offset)
10642 buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4)
10643}
10644
ab78acc6
IC
10645function varIntSize (i) {
10646 return i < 253 ? 1
10647 : i < 0x10000 ? 3
10648 : i < 0x100000000 ? 5
10649 : 9
ebd8d4e8
IC
10650}
10651
ab78acc6 10652function writeVarInt (buffer, number, offset) {
ebd8d4e8
IC
10653 var size = varIntSize(number)
10654
10655 // 8 bit
10656 if (size === 1) {
10657 buffer.writeUInt8(number, offset)
10658
10659 // 16 bit
10660 } else if (size === 3) {
10661 buffer.writeUInt8(253, offset)
10662 buffer.writeUInt16LE(number, offset + 1)
10663
10664 // 32 bit
10665 } else if (size === 5) {
10666 buffer.writeUInt8(254, offset)
10667 buffer.writeUInt32LE(number, offset + 1)
10668
10669 // 64 bit
10670 } else {
10671 buffer.writeUInt8(255, offset)
10672 writeUInt64LE(buffer, number, offset + 1)
10673 }
10674
10675 return size
10676}
10677
ab78acc6
IC
10678function varIntBuffer (i) {
10679 var size = varIntSize(i)
10680 var buffer = new Buffer(size)
10681 writeVarInt(buffer, i, 0)
10682
10683 return buffer
10684}
10685
10686function reverse (buffer) {
10687 var buffer2 = new Buffer(buffer)
10688 Array.prototype.reverse.call(buffer2)
10689 return buffer2
10690}
10691
ebd8d4e8
IC
10692module.exports = {
10693 pushDataSize: pushDataSize,
10694 readPushDataInt: readPushDataInt,
10695 readUInt64LE: readUInt64LE,
10696 readVarInt: readVarInt,
ab78acc6
IC
10697 reverse: reverse,
10698 varIntBuffer: varIntBuffer,
ebd8d4e8
IC
10699 varIntSize: varIntSize,
10700 writePushDataInt: writePushDataInt,
10701 writeUInt64LE: writeUInt64LE,
10702 writeVarInt: writeVarInt
10703}
10704
ab78acc6
IC
10705}).call(this,require("buffer").Buffer)
10706},{"./opcodes":67,"assert":5,"buffer":7}],58:[function(require,module,exports){
10707var createHash = require('create-hash')
ebd8d4e8 10708
ab78acc6 10709function hash160 (buffer) {
ebd8d4e8
IC
10710 return ripemd160(sha256(buffer))
10711}
10712
ab78acc6 10713function hash256 (buffer) {
ebd8d4e8
IC
10714 return sha256(sha256(buffer))
10715}
10716
ab78acc6
IC
10717function ripemd160 (buffer) {
10718 return createHash('rmd160').update(buffer).digest()
ebd8d4e8
IC
10719}
10720
ab78acc6
IC
10721function sha1 (buffer) {
10722 return createHash('sha1').update(buffer).digest()
ebd8d4e8
IC
10723}
10724
ab78acc6
IC
10725function sha256 (buffer) {
10726 return createHash('sha256').update(buffer).digest()
ebd8d4e8
IC
10727}
10728
10729// FIXME: Name not consistent with others
ab78acc6 10730var createHmac = require('create-hmac')
ebd8d4e8 10731
ab78acc6
IC
10732function HmacSHA256 (buffer, secret) {
10733 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10734 return createHmac('sha256', secret).update(buffer).digest()
10735}
ebd8d4e8 10736
ab78acc6
IC
10737function HmacSHA512 (buffer, secret) {
10738 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10739 return createHmac('sha512', secret).update(buffer).digest()
ebd8d4e8
IC
10740}
10741
10742module.exports = {
10743 ripemd160: ripemd160,
10744 sha1: sha1,
10745 sha256: sha256,
10746 hash160: hash160,
10747 hash256: hash256,
10748 HmacSHA256: HmacSHA256,
10749 HmacSHA512: HmacSHA512
10750}
10751
ab78acc6 10752},{"create-hash":32,"create-hmac":45}],59:[function(require,module,exports){
ebd8d4e8 10753(function (Buffer){
ab78acc6
IC
10754var assert = require('assert')
10755var createHmac = require('create-hmac')
10756var typeForce = require('typeforce')
ebd8d4e8 10757
ab78acc6
IC
10758var BigInteger = require('bigi')
10759var ECSignature = require('./ecsignature')
10760
10761var ZERO = new Buffer([0])
10762var ONE = new Buffer([1])
ebd8d4e8
IC
10763
10764// https://tools.ietf.org/html/rfc6979#section-3.2
ab78acc6
IC
10765function deterministicGenerateK (curve, hash, d, checkSig) {
10766 typeForce('Buffer', hash)
10767 typeForce('BigInteger', d)
10768
10769 // FIXME: remove/uncomment for 2.0.0
10770 // typeForce('Function', checkSig)
10771
10772 if (typeof checkSig !== 'function') {
10773 console.warn('deterministicGenerateK requires a checkSig callback in 2.0.0, see #337 for more information')
10774
10775 checkSig = function (k) {
10776 var G = curve.G
10777 var n = curve.n
10778 var e = BigInteger.fromBuffer(hash)
10779
10780 var Q = G.multiply(k)
10781
10782 if (curve.isInfinity(Q))
10783 return false
10784
10785 var r = Q.affineX.mod(n)
10786 if (r.signum() === 0)
10787 return false
10788
10789 var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10790 if (s.signum() === 0)
10791 return false
10792
10793 return true
10794 }
10795 }
10796
10797 // sanity check
ebd8d4e8 10798 assert.equal(hash.length, 32, 'Hash must be 256 bit')
ebd8d4e8
IC
10799
10800 var x = d.toBuffer(32)
10801 var k = new Buffer(32)
10802 var v = new Buffer(32)
10803
ab78acc6 10804 // Step A, ignored as hash already provided
ebd8d4e8
IC
10805 // Step B
10806 v.fill(1)
10807
10808 // Step C
10809 k.fill(0)
10810
10811 // Step D
ab78acc6
IC
10812 k = createHmac('sha256', k)
10813 .update(v)
10814 .update(ZERO)
10815 .update(x)
10816 .update(hash)
10817 .digest()
ebd8d4e8
IC
10818
10819 // Step E
ab78acc6 10820 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10821
10822 // Step F
ab78acc6
IC
10823 k = createHmac('sha256', k)
10824 .update(v)
10825 .update(ONE)
10826 .update(x)
10827 .update(hash)
10828 .digest()
ebd8d4e8
IC
10829
10830 // Step G
ab78acc6 10831 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10832
10833 // Step H1/H2a, ignored as tlen === qlen (256 bit)
10834 // Step H2b
ab78acc6 10835 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10836
10837 var T = BigInteger.fromBuffer(v)
10838
ab78acc6
IC
10839 // Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
10840 while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
10841 k = createHmac('sha256', k)
10842 .update(v)
10843 .update(ZERO)
10844 .digest()
10845
10846 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8 10847
ab78acc6
IC
10848 // Step H1/H2a, again, ignored as tlen === qlen (256 bit)
10849 // Step H2b again
10850 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10851 T = BigInteger.fromBuffer(v)
10852 }
10853
10854 return T
10855}
10856
ab78acc6
IC
10857function sign (curve, hash, d) {
10858 var r, s
ebd8d4e8 10859
ab78acc6 10860 var e = BigInteger.fromBuffer(hash)
ebd8d4e8
IC
10861 var n = curve.n
10862 var G = curve.G
ebd8d4e8 10863
ab78acc6
IC
10864 deterministicGenerateK(curve, hash, d, function (k) {
10865 var Q = G.multiply(k)
10866
10867 if (curve.isInfinity(Q))
10868 return false
10869
10870 r = Q.affineX.mod(n)
10871 if (r.signum() === 0)
10872 return false
10873
10874 s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10875 if (s.signum() === 0)
10876 return false
ebd8d4e8 10877
ab78acc6
IC
10878 return true
10879 })
ebd8d4e8
IC
10880
10881 var N_OVER_TWO = n.shiftRight(1)
10882
10883 // enforce low S values, see bip62: 'low s values in signatures'
10884 if (s.compareTo(N_OVER_TWO) > 0) {
10885 s = n.subtract(s)
10886 }
10887
10888 return new ECSignature(r, s)
10889}
10890
ab78acc6 10891function verifyRaw (curve, e, signature, Q) {
ebd8d4e8
IC
10892 var n = curve.n
10893 var G = curve.G
10894
10895 var r = signature.r
10896 var s = signature.s
10897
ab78acc6
IC
10898 // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]
10899 if (r.signum() <= 0 || r.compareTo(n) >= 0) return false
10900 if (s.signum() <= 0 || s.compareTo(n) >= 0) return false
ebd8d4e8 10901
ab78acc6 10902 // c = s^-1 mod n
ebd8d4e8
IC
10903 var c = s.modInverse(n)
10904
ab78acc6
IC
10905 // 1.4.4 Compute u1 = es^−1 mod n
10906 // u2 = rs^−1 mod n
ebd8d4e8
IC
10907 var u1 = e.multiply(c).mod(n)
10908 var u2 = r.multiply(c).mod(n)
10909
ab78acc6
IC
10910 // 1.4.5 Compute R = (xR, yR) = u1G + u2Q
10911 var R = G.multiplyTwo(u1, Q, u2)
10912 var v = R.affineX.mod(n)
ebd8d4e8 10913
ab78acc6
IC
10914 // 1.4.5 (cont.) Enforce R is not at infinity
10915 if (curve.isInfinity(R)) return false
10916
10917 // 1.4.8 If v = r, output "valid", and if v != r, output "invalid"
ebd8d4e8
IC
10918 return v.equals(r)
10919}
10920
ab78acc6
IC
10921function verify (curve, hash, signature, Q) {
10922 // 1.4.2 H = Hash(M), already done by the user
10923 // 1.4.3 e = H
10924 var e = BigInteger.fromBuffer(hash)
10925
10926 return verifyRaw(curve, e, signature, Q)
10927}
10928
ebd8d4e8
IC
10929/**
10930 * Recover a public key from a signature.
10931 *
10932 * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, "Public
10933 * Key Recovery Operation".
10934 *
10935 * http://www.secg.org/download/aid-780/sec1-v2.pdf
10936 */
ab78acc6 10937function recoverPubKey (curve, e, signature, i) {
ebd8d4e8
IC
10938 assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')
10939
ab78acc6
IC
10940 var n = curve.n
10941 var G = curve.G
10942
ebd8d4e8
IC
10943 var r = signature.r
10944 var s = signature.s
10945
ab78acc6
IC
10946 assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')
10947 assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')
10948
ebd8d4e8
IC
10949 // A set LSB signifies that the y-coordinate is odd
10950 var isYOdd = i & 1
10951
10952 // The more significant bit specifies whether we should use the
10953 // first or second candidate key.
10954 var isSecondKey = i >> 1
10955
ebd8d4e8
IC
10956 // 1.1 Let x = r + jn
10957 var x = isSecondKey ? r.add(n) : r
10958 var R = curve.pointFromX(isYOdd, x)
10959
10960 // 1.4 Check that nR is at infinity
10961 var nR = R.multiply(n)
10962 assert(curve.isInfinity(nR), 'nR is not a valid curve point')
10963
10964 // Compute -e from e
10965 var eNeg = e.negate().mod(n)
10966
10967 // 1.6.1 Compute Q = r^-1 (sR - eG)
10968 // Q = r^-1 (sR + -eG)
10969 var rInv = r.modInverse(n)
10970
10971 var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)
10972 curve.validate(Q)
10973
10974 return Q
10975}
10976
10977/**
10978 * Calculate pubkey extraction parameter.
10979 *
10980 * When extracting a pubkey from a signature, we have to
10981 * distinguish four different cases. Rather than putting this
10982 * burden on the verifier, Bitcoin includes a 2-bit value with the
10983 * signature.
10984 *
10985 * This function simply tries all four cases and returns the value
10986 * that resulted in a successful pubkey recovery.
10987 */
ab78acc6 10988function calcPubKeyRecoveryParam (curve, e, signature, Q) {
ebd8d4e8
IC
10989 for (var i = 0; i < 4; i++) {
10990 var Qprime = recoverPubKey(curve, e, signature, i)
10991
10992 // 1.6.2 Verify Q
10993 if (Qprime.equals(Q)) {
10994 return i
10995 }
10996 }
10997
10998 throw new Error('Unable to find valid recovery factor')
10999}
11000
11001module.exports = {
11002 calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,
11003 deterministicGenerateK: deterministicGenerateK,
11004 recoverPubKey: recoverPubKey,
11005 sign: sign,
11006 verify: verify,
11007 verifyRaw: verifyRaw
11008}
11009
ab78acc6
IC
11010}).call(this,require("buffer").Buffer)
11011},{"./ecsignature":62,"assert":5,"bigi":3,"buffer":7,"create-hmac":45,"typeforce":53}],60:[function(require,module,exports){
ebd8d4e8 11012(function (Buffer){
ab78acc6
IC
11013var assert = require('assert')
11014var base58check = require('bs58check')
11015var ecdsa = require('./ecdsa')
11016var networks = require('./networks')
11017var randomBytes = require('randombytes')
11018var typeForce = require('typeforce')
ebd8d4e8 11019
ab78acc6
IC
11020var BigInteger = require('bigi')
11021var ECPubKey = require('./ecpubkey')
ebd8d4e8 11022
ab78acc6
IC
11023var ecurve = require('ecurve')
11024var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11025
ab78acc6 11026function ECKey (d, compressed) {
ebd8d4e8 11027 assert(d.signum() > 0, 'Private key must be greater than 0')
ab78acc6 11028 assert(d.compareTo(ECKey.curve.n) < 0, 'Private key must be less than the curve order')
ebd8d4e8 11029
ab78acc6 11030 var Q = ECKey.curve.G.multiply(d)
ebd8d4e8
IC
11031
11032 this.d = d
11033 this.pub = new ECPubKey(Q, compressed)
11034}
11035
ab78acc6
IC
11036// Constants
11037ECKey.curve = secp256k1
11038
ebd8d4e8 11039// Static constructors
ab78acc6 11040ECKey.fromWIF = function (string) {
ebd8d4e8
IC
11041 var payload = base58check.decode(string)
11042 var compressed = false
11043
11044 // Ignore the version byte
11045 payload = payload.slice(1)
11046
11047 if (payload.length === 33) {
11048 assert.strictEqual(payload[32], 0x01, 'Invalid compression flag')
11049
11050 // Truncate the compression flag
11051 payload = payload.slice(0, -1)
11052 compressed = true
11053 }
11054
11055 assert.equal(payload.length, 32, 'Invalid WIF payload length')
11056
11057 var d = BigInteger.fromBuffer(payload)
11058 return new ECKey(d, compressed)
11059}
11060
ab78acc6
IC
11061ECKey.makeRandom = function (compressed, rng) {
11062 rng = rng || randomBytes
ebd8d4e8
IC
11063
11064 var buffer = rng(32)
ab78acc6
IC
11065 typeForce('Buffer', buffer)
11066 assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
ebd8d4e8
IC
11067
11068 var d = BigInteger.fromBuffer(buffer)
ab78acc6 11069 d = d.mod(ECKey.curve.n)
ebd8d4e8
IC
11070
11071 return new ECKey(d, compressed)
11072}
11073
11074// Export functions
ab78acc6 11075ECKey.prototype.toWIF = function (network) {
ebd8d4e8
IC
11076 network = network || networks.bitcoin
11077
11078 var bufferLen = this.pub.compressed ? 34 : 33
11079 var buffer = new Buffer(bufferLen)
11080
11081 buffer.writeUInt8(network.wif, 0)
11082 this.d.toBuffer(32).copy(buffer, 1)
11083
11084 if (this.pub.compressed) {
11085 buffer.writeUInt8(0x01, 33)
11086 }
11087
11088 return base58check.encode(buffer)
11089}
11090
11091// Operations
ab78acc6
IC
11092ECKey.prototype.sign = function (hash) {
11093 return ecdsa.sign(ECKey.curve, hash, this.d)
ebd8d4e8
IC
11094}
11095
11096module.exports = ECKey
11097
ab78acc6
IC
11098}).call(this,require("buffer").Buffer)
11099},{"./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 11100(function (Buffer){
ab78acc6
IC
11101var crypto = require('./crypto')
11102var ecdsa = require('./ecdsa')
11103var typeForce = require('typeforce')
11104var networks = require('./networks')
ebd8d4e8 11105
ab78acc6 11106var Address = require('./address')
ebd8d4e8 11107
ab78acc6
IC
11108var ecurve = require('ecurve')
11109var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11110
ab78acc6
IC
11111function ECPubKey (Q, compressed) {
11112 if (compressed === undefined) {
11113 compressed = true
11114 }
ebd8d4e8 11115
ab78acc6
IC
11116 typeForce('Point', Q)
11117 typeForce('Boolean', compressed)
ebd8d4e8
IC
11118
11119 this.compressed = compressed
11120 this.Q = Q
11121}
11122
ab78acc6
IC
11123// Constants
11124ECPubKey.curve = secp256k1
11125
ebd8d4e8 11126// Static constructors
ab78acc6
IC
11127ECPubKey.fromBuffer = function (buffer) {
11128 var Q = ecurve.Point.decodeFrom(ECPubKey.curve, buffer)
ebd8d4e8
IC
11129 return new ECPubKey(Q, Q.compressed)
11130}
11131
ab78acc6 11132ECPubKey.fromHex = function (hex) {
ebd8d4e8
IC
11133 return ECPubKey.fromBuffer(new Buffer(hex, 'hex'))
11134}
11135
11136// Operations
ab78acc6 11137ECPubKey.prototype.getAddress = function (network) {
ebd8d4e8
IC
11138 network = network || networks.bitcoin
11139
11140 return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash)
11141}
11142
ab78acc6
IC
11143ECPubKey.prototype.verify = function (hash, signature) {
11144 return ecdsa.verify(ECPubKey.curve, hash, signature, this.Q)
ebd8d4e8
IC
11145}
11146
11147// Export functions
ab78acc6 11148ECPubKey.prototype.toBuffer = function () {
ebd8d4e8
IC
11149 return this.Q.getEncoded(this.compressed)
11150}
11151
ab78acc6 11152ECPubKey.prototype.toHex = function () {
ebd8d4e8
IC
11153 return this.toBuffer().toString('hex')
11154}
11155
11156module.exports = ECPubKey
11157
ab78acc6
IC
11158}).call(this,require("buffer").Buffer)
11159},{"./address":54,"./crypto":58,"./ecdsa":59,"./networks":66,"buffer":7,"ecurve":49,"typeforce":53}],62:[function(require,module,exports){
ebd8d4e8 11160(function (Buffer){
ab78acc6
IC
11161var assert = require('assert')
11162var typeForce = require('typeforce')
11163
11164var BigInteger = require('bigi')
11165
11166function ECSignature (r, s) {
11167 typeForce('BigInteger', r)
11168 typeForce('BigInteger', s)
ebd8d4e8 11169
ebd8d4e8
IC
11170 this.r = r
11171 this.s = s
11172}
11173
ab78acc6 11174ECSignature.parseCompact = function (buffer) {
ebd8d4e8
IC
11175 assert.equal(buffer.length, 65, 'Invalid signature length')
11176 var i = buffer.readUInt8(0) - 27
11177
11178 // At most 3 bits
11179 assert.equal(i, i & 7, 'Invalid signature parameter')
11180 var compressed = !!(i & 4)
11181
11182 // Recovery param only
11183 i = i & 3
11184
11185 var r = BigInteger.fromBuffer(buffer.slice(1, 33))
11186 var s = BigInteger.fromBuffer(buffer.slice(33))
11187
11188 return {
11189 compressed: compressed,
11190 i: i,
11191 signature: new ECSignature(r, s)
11192 }
11193}
11194
ab78acc6 11195ECSignature.fromDER = function (buffer) {
ebd8d4e8
IC
11196 assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')
11197 assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')
11198 assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')
11199
11200 var rLen = buffer.readUInt8(3)
11201 assert(rLen > 0, 'R length is zero')
11202
11203 var offset = 4 + rLen
11204 assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')
11205
11206 var sLen = buffer.readUInt8(offset + 1)
11207 assert(sLen > 0, 'S length is zero')
11208
11209 var rB = buffer.slice(4, offset)
11210 var sB = buffer.slice(offset + 2)
11211 offset += 2 + sLen
11212
11213 if (rLen > 1 && rB.readUInt8(0) === 0x00) {
11214 assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')
11215 }
11216
11217 if (sLen > 1 && sB.readUInt8(0) === 0x00) {
11218 assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')
11219 }
11220
11221 assert.equal(offset, buffer.length, 'Invalid DER encoding')
11222 var r = BigInteger.fromDERInteger(rB)
11223 var s = BigInteger.fromDERInteger(sB)
11224
11225 assert(r.signum() >= 0, 'R value is negative')
11226 assert(s.signum() >= 0, 'S value is negative')
11227
11228 return new ECSignature(r, s)
11229}
11230
ab78acc6
IC
11231// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
11232ECSignature.parseScriptSignature = function (buffer) {
ebd8d4e8
IC
11233 var hashType = buffer.readUInt8(buffer.length - 1)
11234 var hashTypeMod = hashType & ~0x80
11235
ab78acc6 11236 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
ebd8d4e8
IC
11237
11238 return {
11239 signature: ECSignature.fromDER(buffer.slice(0, -1)),
11240 hashType: hashType
11241 }
11242}
11243
ab78acc6
IC
11244ECSignature.prototype.toCompact = function (i, compressed) {
11245 if (compressed) {
11246 i += 4
11247 }
11248
ebd8d4e8
IC
11249 i += 27
11250
11251 var buffer = new Buffer(65)
11252 buffer.writeUInt8(i, 0)
11253
11254 this.r.toBuffer(32).copy(buffer, 1)
11255 this.s.toBuffer(32).copy(buffer, 33)
11256
11257 return buffer
11258}
11259
ab78acc6 11260ECSignature.prototype.toDER = function () {
ebd8d4e8
IC
11261 var rBa = this.r.toDERInteger()
11262 var sBa = this.s.toDERInteger()
11263
11264 var sequence = []
ab78acc6
IC
11265
11266 // INTEGER
11267 sequence.push(0x02, rBa.length)
ebd8d4e8
IC
11268 sequence = sequence.concat(rBa)
11269
ab78acc6
IC
11270 // INTEGER
11271 sequence.push(0x02, sBa.length)
ebd8d4e8
IC
11272 sequence = sequence.concat(sBa)
11273
ab78acc6
IC
11274 // SEQUENCE
11275 sequence.unshift(0x30, sequence.length)
ebd8d4e8
IC
11276
11277 return new Buffer(sequence)
11278}
11279
ab78acc6
IC
11280ECSignature.prototype.toScriptSignature = function (hashType) {
11281 var hashTypeMod = hashType & ~0x80
11282 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
11283
ebd8d4e8
IC
11284 var hashTypeBuffer = new Buffer(1)
11285 hashTypeBuffer.writeUInt8(hashType, 0)
11286
11287 return Buffer.concat([this.toDER(), hashTypeBuffer])
11288}
11289
11290module.exports = ECSignature
11291
ab78acc6
IC
11292}).call(this,require("buffer").Buffer)
11293},{"assert":5,"bigi":3,"buffer":7,"typeforce":53}],63:[function(require,module,exports){
ebd8d4e8 11294(function (Buffer){
ab78acc6
IC
11295var assert = require('assert')
11296var base58check = require('bs58check')
11297var bcrypto = require('./crypto')
11298var createHmac = require('create-hmac')
11299var typeForce = require('typeforce')
11300var networks = require('./networks')
11301
11302var BigInteger = require('bigi')
11303var ECKey = require('./eckey')
11304var ECPubKey = require('./ecpubkey')
11305
11306var ecurve = require('ecurve')
ebd8d4e8
IC
11307var curve = ecurve.getCurveByName('secp256k1')
11308
ab78acc6 11309function findBIP32NetworkByVersion (version) {
ebd8d4e8
IC
11310 for (var name in networks) {
11311 var network = networks[name]
11312
ab78acc6
IC
11313 if (version === network.bip32.private || version === network.bip32.public) {
11314 return network
ebd8d4e8
IC
11315 }
11316 }
11317
ab78acc6 11318 assert(false, 'Could not find network for ' + version.toString(16))
ebd8d4e8
IC
11319}
11320
ab78acc6 11321function HDNode (K, chainCode, network) {
ebd8d4e8
IC
11322 network = network || networks.bitcoin
11323
ab78acc6
IC
11324 typeForce('Buffer', chainCode)
11325
11326 assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
ebd8d4e8
IC
11327 assert(network.bip32, 'Unknown BIP32 constants for network')
11328
11329 this.chainCode = chainCode
11330 this.depth = 0
11331 this.index = 0
ab78acc6 11332 this.parentFingerprint = 0x00000000
ebd8d4e8
IC
11333 this.network = network
11334
11335 if (K instanceof BigInteger) {
11336 this.privKey = new ECKey(K, true)
11337 this.pubKey = this.privKey.pub
ab78acc6
IC
11338 } else if (K instanceof ECKey) {
11339 assert(K.pub.compressed, 'ECKey must be compressed')
11340 this.privKey = K
11341 this.pubKey = K.pub
11342 } else if (K instanceof ECPubKey) {
11343 assert(K.compressed, 'ECPubKey must be compressed')
11344 this.pubKey = K
ebd8d4e8
IC
11345 } else {
11346 this.pubKey = new ECPubKey(K, true)
11347 }
11348}
11349
11350HDNode.MASTER_SECRET = new Buffer('Bitcoin seed')
11351HDNode.HIGHEST_BIT = 0x80000000
11352HDNode.LENGTH = 78
11353
ab78acc6
IC
11354HDNode.fromSeedBuffer = function (seed, network) {
11355 typeForce('Buffer', seed)
11356
11357 assert(seed.length >= 16, 'Seed should be at least 128 bits')
11358 assert(seed.length <= 64, 'Seed should be at most 512 bits')
11359
11360 var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
ebd8d4e8
IC
11361 var IL = I.slice(0, 32)
11362 var IR = I.slice(32)
11363
11364 // In case IL is 0 or >= n, the master key is invalid
11365 // This is handled by `new ECKey` in the HDNode constructor
11366 var pIL = BigInteger.fromBuffer(IL)
11367
11368 return new HDNode(pIL, IR, network)
11369}
11370
ab78acc6 11371HDNode.fromSeedHex = function (hex, network) {
ebd8d4e8
IC
11372 return HDNode.fromSeedBuffer(new Buffer(hex, 'hex'), network)
11373}
11374
ab78acc6
IC
11375HDNode.fromBase58 = function (string, network) {
11376 return HDNode.fromBuffer(base58check.decode(string), network, true)
ebd8d4e8
IC
11377}
11378
ab78acc6
IC
11379// FIXME: remove in 2.x.y
11380HDNode.fromBuffer = function (buffer, network, __ignoreDeprecation) {
11381 if (!__ignoreDeprecation) {
11382 console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead')
11383 }
11384
ebd8d4e8
IC
11385 assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length')
11386
11387 // 4 byte: version bytes
11388 var version = buffer.readUInt32BE(0)
ab78acc6
IC
11389
11390 if (network) {
11391 assert(version === network.bip32.private || version === network.bip32.public, "Network doesn't match")
11392
11393 // auto-detect
11394 } else {
11395 network = findBIP32NetworkByVersion(version)
11396 }
ebd8d4e8
IC
11397
11398 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
11399 var depth = buffer.readUInt8(4)
11400
11401 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
11402 var parentFingerprint = buffer.readUInt32BE(5)
11403 if (depth === 0) {
11404 assert.strictEqual(parentFingerprint, 0x00000000, 'Invalid parent fingerprint')
11405 }
11406
11407 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11408 // This is encoded in MSB order. (0x00000000 if master key)
11409 var index = buffer.readUInt32BE(9)
11410 assert(depth > 0 || index === 0, 'Invalid index')
11411
11412 // 32 bytes: the chain code
11413 var chainCode = buffer.slice(13, 45)
ab78acc6 11414 var data, hd
ebd8d4e8
IC
11415
11416 // 33 bytes: private key data (0x00 + k)
ab78acc6 11417 if (version === network.bip32.private) {
ebd8d4e8 11418 assert.strictEqual(buffer.readUInt8(45), 0x00, 'Invalid private key')
ab78acc6 11419 data = buffer.slice(46, 78)
ebd8d4e8 11420 var d = BigInteger.fromBuffer(data)
ab78acc6 11421 hd = new HDNode(d, chainCode, network)
ebd8d4e8
IC
11422
11423 // 33 bytes: public key data (0x02 + X or 0x03 + X)
11424 } else {
ab78acc6 11425 data = buffer.slice(45, 78)
ebd8d4e8
IC
11426 var Q = ecurve.Point.decodeFrom(curve, data)
11427 assert.equal(Q.compressed, true, 'Invalid public key')
11428
11429 // Verify that the X coordinate in the public point corresponds to a point on the curve.
11430 // If not, the extended public key is invalid.
11431 curve.validate(Q)
11432
ab78acc6 11433 hd = new HDNode(Q, chainCode, network)
ebd8d4e8
IC
11434 }
11435
11436 hd.depth = depth
11437 hd.index = index
11438 hd.parentFingerprint = parentFingerprint
11439
11440 return hd
11441}
11442
ab78acc6
IC
11443// FIXME: remove in 2.x.y
11444HDNode.fromHex = function (hex, network) {
11445 return HDNode.fromBuffer(new Buffer(hex, 'hex'), network)
ebd8d4e8
IC
11446}
11447
ab78acc6
IC
11448HDNode.prototype.getIdentifier = function () {
11449 return bcrypto.hash160(this.pubKey.toBuffer())
ebd8d4e8
IC
11450}
11451
ab78acc6 11452HDNode.prototype.getFingerprint = function () {
ebd8d4e8
IC
11453 return this.getIdentifier().slice(0, 4)
11454}
11455
ab78acc6 11456HDNode.prototype.getAddress = function () {
ebd8d4e8
IC
11457 return this.pubKey.getAddress(this.network)
11458}
11459
ab78acc6
IC
11460HDNode.prototype.neutered = function () {
11461 var neutered = new HDNode(this.pubKey.Q, this.chainCode, this.network)
11462 neutered.depth = this.depth
11463 neutered.index = this.index
11464 neutered.parentFingerprint = this.parentFingerprint
11465
11466 return neutered
11467}
11468
11469HDNode.prototype.toBase58 = function (isPrivate) {
11470 return base58check.encode(this.toBuffer(isPrivate, true))
ebd8d4e8
IC
11471}
11472
ab78acc6
IC
11473// FIXME: remove in 2.x.y
11474HDNode.prototype.toBuffer = function (isPrivate, __ignoreDeprecation) {
11475 if (isPrivate === undefined) {
11476 isPrivate = !!this.privKey
11477
11478 // FIXME: remove in 2.x.y
11479 } else {
11480 console.warn('isPrivate flag is deprecated, please use the .neutered() method instead')
11481 }
11482
11483 if (!__ignoreDeprecation) {
11484 console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead')
11485 }
ebd8d4e8
IC
11486
11487 // Version
11488 var version = isPrivate ? this.network.bip32.private : this.network.bip32.public
11489 var buffer = new Buffer(HDNode.LENGTH)
11490
11491 // 4 bytes: version bytes
11492 buffer.writeUInt32BE(version, 0)
11493
11494 // Depth
11495 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
11496 buffer.writeUInt8(this.depth, 4)
11497
11498 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
ab78acc6 11499 buffer.writeUInt32BE(this.parentFingerprint, 5)
ebd8d4e8
IC
11500
11501 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11502 // This is encoded in Big endian. (0x00000000 if master key)
11503 buffer.writeUInt32BE(this.index, 9)
11504
11505 // 32 bytes: the chain code
11506 this.chainCode.copy(buffer, 13)
11507
11508 // 33 bytes: the public key or private key data
11509 if (isPrivate) {
ab78acc6 11510 // FIXME: remove in 2.x.y
ebd8d4e8
IC
11511 assert(this.privKey, 'Missing private key')
11512
11513 // 0x00 + k for private keys
11514 buffer.writeUInt8(0, 45)
11515 this.privKey.d.toBuffer(32).copy(buffer, 46)
11516 } else {
ebd8d4e8
IC
11517 // X9.62 encoding for public keys
11518 this.pubKey.toBuffer().copy(buffer, 45)
11519 }
11520
11521 return buffer
11522}
11523
ab78acc6
IC
11524// FIXME: remove in 2.x.y
11525HDNode.prototype.toHex = function (isPrivate) {
ebd8d4e8
IC
11526 return this.toBuffer(isPrivate).toString('hex')
11527}
11528
11529// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
ab78acc6 11530HDNode.prototype.derive = function (index) {
ebd8d4e8
IC
11531 var isHardened = index >= HDNode.HIGHEST_BIT
11532 var indexBuffer = new Buffer(4)
11533 indexBuffer.writeUInt32BE(index, 0)
11534
11535 var data
11536
11537 // Hardened child
11538 if (isHardened) {
11539 assert(this.privKey, 'Could not derive hardened child key')
11540
11541 // data = 0x00 || ser256(kpar) || ser32(index)
11542 data = Buffer.concat([
11543 this.privKey.d.toBuffer(33),
11544 indexBuffer
11545 ])
11546
11547 // Normal child
11548 } else {
11549 // data = serP(point(kpar)) || ser32(index)
11550 // = serP(Kpar) || ser32(index)
11551 data = Buffer.concat([
11552 this.pubKey.toBuffer(),
11553 indexBuffer
11554 ])
11555 }
11556
ab78acc6 11557 var I = createHmac('sha512', this.chainCode).update(data).digest()
ebd8d4e8
IC
11558 var IL = I.slice(0, 32)
11559 var IR = I.slice(32)
11560
11561 var pIL = BigInteger.fromBuffer(IL)
11562
11563 // In case parse256(IL) >= n, proceed with the next value for i
11564 if (pIL.compareTo(curve.n) >= 0) {
11565 return this.derive(index + 1)
11566 }
11567
11568 // Private parent key -> private child key
11569 var hd
11570 if (this.privKey) {
11571 // ki = parse256(IL) + kpar (mod n)
11572 var ki = pIL.add(this.privKey.d).mod(curve.n)
11573
11574 // In case ki == 0, proceed with the next value for i
11575 if (ki.signum() === 0) {
11576 return this.derive(index + 1)
11577 }
11578
11579 hd = new HDNode(ki, IR, this.network)
11580
11581 // Public parent key -> public child key
11582 } else {
11583 // Ki = point(parse256(IL)) + Kpar
11584 // = G*IL + Kpar
11585 var Ki = curve.G.multiply(pIL).add(this.pubKey.Q)
11586
11587 // In case Ki is the point at infinity, proceed with the next value for i
11588 if (curve.isInfinity(Ki)) {
11589 return this.derive(index + 1)
11590 }
11591
11592 hd = new HDNode(Ki, IR, this.network)
11593 }
11594
11595 hd.depth = this.depth + 1
11596 hd.index = index
11597 hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
11598
11599 return hd
11600}
11601
ab78acc6 11602HDNode.prototype.deriveHardened = function (index) {
ebd8d4e8
IC
11603 // Only derives hardened private keys by default
11604 return this.derive(index + HDNode.HIGHEST_BIT)
11605}
11606
11607HDNode.prototype.toString = HDNode.prototype.toBase58
11608
11609module.exports = HDNode
11610
ab78acc6
IC
11611}).call(this,require("buffer").Buffer)
11612},{"./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 11613module.exports = {
ab78acc6
IC
11614 Address: require('./address'),
11615 base58check: require('./base58check'),
11616 Block: require('./block'),
11617 bufferutils: require('./bufferutils'),
11618 crypto: require('./crypto'),
11619 ecdsa: require('./ecdsa'),
11620 ECKey: require('./eckey'),
11621 ECPubKey: require('./ecpubkey'),
11622 ECSignature: require('./ecsignature'),
11623 Message: require('./message'),
11624 opcodes: require('./opcodes'),
11625 HDNode: require('./hdnode'),
11626 Script: require('./script'),
11627 scripts: require('./scripts'),
11628 Transaction: require('./transaction'),
11629 TransactionBuilder: require('./transaction_builder'),
11630 networks: require('./networks'),
11631 Wallet: require('./wallet')
11632}
11633
11634},{"./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 11635(function (Buffer){
ab78acc6
IC
11636var bufferutils = require('./bufferutils')
11637var crypto = require('./crypto')
11638var ecdsa = require('./ecdsa')
11639var networks = require('./networks')
11640
11641var BigInteger = require('bigi')
11642var ECPubKey = require('./ecpubkey')
11643var ECSignature = require('./ecsignature')
11644
11645var ecurve = require('ecurve')
ebd8d4e8
IC
11646var ecparams = ecurve.getCurveByName('secp256k1')
11647
ab78acc6 11648function magicHash (message, network) {
ebd8d4e8
IC
11649 var magicPrefix = new Buffer(network.magicPrefix)
11650 var messageBuffer = new Buffer(message)
ab78acc6 11651 var lengthBuffer = bufferutils.varIntBuffer(messageBuffer.length)
ebd8d4e8
IC
11652
11653 var buffer = Buffer.concat([magicPrefix, lengthBuffer, messageBuffer])
11654 return crypto.hash256(buffer)
11655}
11656
ab78acc6 11657function sign (privKey, message, network) {
ebd8d4e8
IC
11658 network = network || networks.bitcoin
11659
11660 var hash = magicHash(message, network)
11661 var signature = privKey.sign(hash)
11662 var e = BigInteger.fromBuffer(hash)
11663 var i = ecdsa.calcPubKeyRecoveryParam(ecparams, e, signature, privKey.pub.Q)
11664
11665 return signature.toCompact(i, privKey.pub.compressed)
11666}
11667
11668// TODO: network could be implied from address
ab78acc6
IC
11669function verify (address, signature, message, network) {
11670 if (!Buffer.isBuffer(signature)) {
11671 signature = new Buffer(signature, 'base64')
ebd8d4e8 11672 }
ab78acc6 11673
ebd8d4e8
IC
11674 network = network || networks.bitcoin
11675
11676 var hash = magicHash(message, network)
ab78acc6 11677 var parsed = ECSignature.parseCompact(signature)
ebd8d4e8
IC
11678 var e = BigInteger.fromBuffer(hash)
11679 var Q = ecdsa.recoverPubKey(ecparams, e, parsed.signature, parsed.i)
11680
11681 var pubKey = new ECPubKey(Q, parsed.compressed)
ab78acc6 11682 return pubKey.getAddress(network).toString() === address.toString()
ebd8d4e8
IC
11683}
11684
11685module.exports = {
11686 magicHash: magicHash,
11687 sign: sign,
11688 verify: verify
11689}
11690
ab78acc6
IC
11691}).call(this,require("buffer").Buffer)
11692},{"./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
11693// https://en.bitcoin.it/wiki/List_of_address_prefixes
11694// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
11695
11696var networks = {
11697 bitcoin: {
11698 magicPrefix: '\x18Bitcoin Signed Message:\n',
11699 bip32: {
11700 public: 0x0488b21e,
11701 private: 0x0488ade4
11702 },
11703 pubKeyHash: 0x00,
11704 scriptHash: 0x05,
11705 wif: 0x80,
11706 dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162
11707 feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53
11708 estimateFee: estimateFee('bitcoin')
a9385c1b 11709 },
ab78acc6
IC
11710 testnet: {
11711 magicPrefix: '\x18Bitcoin Signed Message:\n',
a9385c1b 11712 bip32: {
ab78acc6
IC
11713 public: 0x043587cf,
11714 private: 0x04358394
a9385c1b 11715 },
ab78acc6
IC
11716 pubKeyHash: 0x6f,
11717 scriptHash: 0xc4,
11718 wif: 0xef,
11719 dustThreshold: 546,
cb325c58 11720 feePerKb: 10000,
ab78acc6 11721 estimateFee: estimateFee('testnet')
a9385c1b 11722 },
ab78acc6
IC
11723 litecoin: {
11724 magicPrefix: '\x19Litecoin Signed Message:\n',
a9385c1b 11725 bip32: {
ab78acc6
IC
11726 public: 0x019da462,
11727 private: 0x019d9cfe
a9385c1b 11728 },
ab78acc6
IC
11729 pubKeyHash: 0x30,
11730 scriptHash: 0x05,
11731 wif: 0xb0,
11732 dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365
11733 dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53
11734 feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56
11735 estimateFee: estimateFee('litecoin')
ebd8d4e8
IC
11736 },
11737 dogecoin: {
11738 magicPrefix: '\x19Dogecoin Signed Message:\n',
11739 bip32: {
11740 public: 0x02facafd,
11741 private: 0x02fac398
11742 },
11743 pubKeyHash: 0x1e,
11744 scriptHash: 0x16,
11745 wif: 0x9e,
11746 dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160
11747 dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62
11748 feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58
11749 estimateFee: estimateFee('dogecoin')
11750 },
ab78acc6
IC
11751 viacoin: {
11752 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8 11753 bip32: {
ab78acc6
IC
11754 public: 0x0488b21e,
11755 private: 0x0488ade4
ebd8d4e8 11756 },
ab78acc6
IC
11757 pubKeyHash: 0x47,
11758 scriptHash: 0x21,
11759 wif: 0xc7,
11760 dustThreshold: 560,
11761 dustSoftThreshold: 100000,
11762 feePerKb: 100000, //
11763 estimateFee: estimateFee('viacoin')
ebd8d4e8 11764 },
ab78acc6
IC
11765 viacointestnet: {
11766 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8
IC
11767 bip32: {
11768 public: 0x043587cf,
11769 private: 0x04358394
11770 },
ab78acc6 11771 pubKeyHash: 0x7f,
ebd8d4e8 11772 scriptHash: 0xc4,
ab78acc6
IC
11773 wif: 0xff,
11774 dustThreshold: 560,
11775 dustSoftThreshold: 100000,
11776 feePerKb: 100000,
11777 estimateFee: estimateFee('viacointestnet')
11778 },
11779 gamerscoin: {
11780 magicPrefix: '\x19Gamerscoin Signed Message:\n',
11781 bip32: {
11782 public: 0x019da462,
11783 private: 0x019d9cfe
11784 },
11785 pubKeyHash: 0x26,
11786 scriptHash: 0x05,
11787 wif: 0xA6,
11788 dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363
11789 dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51
11790 feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54
11791 estimateFee: estimateFee('gamerscoin')
11792 },
11793 jumbucks: {
11794 magicPrefix: '\x19Jumbucks Signed Message:\n',
11795 bip32: {
11796 public: 0x037a689a,
11797 private: 0x037a6460
11798 },
11799 pubKeyHash: 0x2b,
11800 scriptHash: 0x05,
11801 wif: 0xab,
11802 dustThreshold: 0,
11803 dustSoftThreshold: 10000,
ebd8d4e8 11804 feePerKb: 10000,
ab78acc6
IC
11805 estimateFee: estimateFee('jumbucks')
11806 },
11807 zetacoin: {
11808 magicPrefix: '\x18Zetacoin Signed Message:\n',
11809 bip32: {
11810 public: 0x0488b21e,
11811 private: 0x0488ade4
11812 },
11813 pubKeyHash: 0x50,
11814 scriptHash: 0x09,
11815 wif: 0xe0,
11816 dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159
11817 feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54
11818 estimateFee: estimateFee('zetacoin')
ebd8d4e8
IC
11819 }
11820}
11821
ab78acc6
IC
11822function estimateFee (type) {
11823 return function (tx) {
ebd8d4e8
IC
11824 var network = networks[type]
11825 var baseFee = network.feePerKb
11826 var byteSize = tx.toBuffer().length
11827
11828 var fee = baseFee * Math.ceil(byteSize / 1000)
ab78acc6 11829 if (network.dustSoftThreshold === undefined) return fee
ebd8d4e8 11830
ab78acc6 11831 tx.outs.forEach(function (e) {
ebd8d4e8
IC
11832 if (e.value < network.dustSoftThreshold) {
11833 fee += baseFee
11834 }
11835 })
11836
11837 return fee
11838 }
11839}
11840
11841module.exports = networks
11842
ab78acc6 11843},{}],67:[function(require,module,exports){
ebd8d4e8
IC
11844module.exports = {
11845 // push value
ab78acc6
IC
11846 OP_FALSE: 0,
11847 OP_0: 0,
11848 OP_PUSHDATA1: 76,
11849 OP_PUSHDATA2: 77,
11850 OP_PUSHDATA4: 78,
11851 OP_1NEGATE: 79,
11852 OP_RESERVED: 80,
11853 OP_1: 81,
11854 OP_TRUE: 81,
11855 OP_2: 82,
11856 OP_3: 83,
11857 OP_4: 84,
11858 OP_5: 85,
11859 OP_6: 86,
11860 OP_7: 87,
11861 OP_8: 88,
11862 OP_9: 89,
11863 OP_10: 90,
11864 OP_11: 91,
11865 OP_12: 92,
11866 OP_13: 93,
11867 OP_14: 94,
11868 OP_15: 95,
11869 OP_16: 96,
ebd8d4e8
IC
11870
11871 // control
ab78acc6
IC
11872 OP_NOP: 97,
11873 OP_VER: 98,
11874 OP_IF: 99,
11875 OP_NOTIF: 100,
11876 OP_VERIF: 101,
11877 OP_VERNOTIF: 102,
11878 OP_ELSE: 103,
11879 OP_ENDIF: 104,
11880 OP_VERIFY: 105,
11881 OP_RETURN: 106,
ebd8d4e8
IC
11882
11883 // stack ops
ab78acc6
IC
11884 OP_TOALTSTACK: 107,
11885 OP_FROMALTSTACK: 108,
11886 OP_2DROP: 109,
11887 OP_2DUP: 110,
11888 OP_3DUP: 111,
11889 OP_2OVER: 112,
11890 OP_2ROT: 113,
11891 OP_2SWAP: 114,
11892 OP_IFDUP: 115,
11893 OP_DEPTH: 116,
11894 OP_DROP: 117,
11895 OP_DUP: 118,
11896 OP_NIP: 119,
11897 OP_OVER: 120,
11898 OP_PICK: 121,
11899 OP_ROLL: 122,
11900 OP_ROT: 123,
11901 OP_SWAP: 124,
11902 OP_TUCK: 125,
ebd8d4e8
IC
11903
11904 // splice ops
ab78acc6
IC
11905 OP_CAT: 126,
11906 OP_SUBSTR: 127,
11907 OP_LEFT: 128,
11908 OP_RIGHT: 129,
11909 OP_SIZE: 130,
ebd8d4e8
IC
11910
11911 // bit logic
ab78acc6
IC
11912 OP_INVERT: 131,
11913 OP_AND: 132,
11914 OP_OR: 133,
11915 OP_XOR: 134,
11916 OP_EQUAL: 135,
11917 OP_EQUALVERIFY: 136,
11918 OP_RESERVED1: 137,
11919 OP_RESERVED2: 138,
ebd8d4e8
IC
11920
11921 // numeric
ab78acc6
IC
11922 OP_1ADD: 139,
11923 OP_1SUB: 140,
11924 OP_2MUL: 141,
11925 OP_2DIV: 142,
11926 OP_NEGATE: 143,
11927 OP_ABS: 144,
11928 OP_NOT: 145,
11929 OP_0NOTEQUAL: 146,
11930
11931 OP_ADD: 147,
11932 OP_SUB: 148,
11933 OP_MUL: 149,
11934 OP_DIV: 150,
11935 OP_MOD: 151,
11936 OP_LSHIFT: 152,
11937 OP_RSHIFT: 153,
11938
11939 OP_BOOLAND: 154,
11940 OP_BOOLOR: 155,
11941 OP_NUMEQUAL: 156,
11942 OP_NUMEQUALVERIFY: 157,
11943 OP_NUMNOTEQUAL: 158,
11944 OP_LESSTHAN: 159,
11945 OP_GREATERTHAN: 160,
11946 OP_LESSTHANOREQUAL: 161,
11947 OP_GREATERTHANOREQUAL: 162,
11948 OP_MIN: 163,
11949 OP_MAX: 164,
11950
11951 OP_WITHIN: 165,
ebd8d4e8
IC
11952
11953 // crypto
ab78acc6
IC
11954 OP_RIPEMD160: 166,
11955 OP_SHA1: 167,
11956 OP_SHA256: 168,
11957 OP_HASH160: 169,
11958 OP_HASH256: 170,
11959 OP_CODESEPARATOR: 171,
11960 OP_CHECKSIG: 172,
11961 OP_CHECKSIGVERIFY: 173,
11962 OP_CHECKMULTISIG: 174,
11963 OP_CHECKMULTISIGVERIFY: 175,
ebd8d4e8
IC
11964
11965 // expansion
ab78acc6
IC
11966 OP_NOP1: 176,
11967 OP_NOP2: 177,
11968 OP_NOP3: 178,
11969 OP_NOP4: 179,
11970 OP_NOP5: 180,
11971 OP_NOP6: 181,
11972 OP_NOP7: 182,
11973 OP_NOP8: 183,
11974 OP_NOP9: 184,
11975 OP_NOP10: 185,
ebd8d4e8
IC
11976
11977 // template matching params
ab78acc6
IC
11978 OP_PUBKEYHASH: 253,
11979 OP_PUBKEY: 254,
11980 OP_INVALIDOPCODE: 255
ebd8d4e8
IC
11981}
11982
ab78acc6 11983},{}],68:[function(require,module,exports){
ebd8d4e8 11984(function (Buffer){
ab78acc6
IC
11985var assert = require('assert')
11986var bufferutils = require('./bufferutils')
11987var crypto = require('./crypto')
11988var typeForce = require('typeforce')
11989var opcodes = require('./opcodes')
ebd8d4e8 11990
ab78acc6
IC
11991function Script (buffer, chunks) {
11992 typeForce('Buffer', buffer)
11993 typeForce('Array', chunks)
ebd8d4e8
IC
11994
11995 this.buffer = buffer
11996 this.chunks = chunks
11997}
11998
ab78acc6 11999Script.fromASM = function (asm) {
ebd8d4e8 12000 var strChunks = asm.split(' ')
ab78acc6
IC
12001 var chunks = strChunks.map(function (strChunk) {
12002 // opcode
ebd8d4e8
IC
12003 if (strChunk in opcodes) {
12004 return opcodes[strChunk]
12005
ab78acc6 12006 // data chunk
ebd8d4e8
IC
12007 } else {
12008 return new Buffer(strChunk, 'hex')
12009 }
12010 })
12011
12012 return Script.fromChunks(chunks)
12013}
12014
ab78acc6 12015Script.fromBuffer = function (buffer) {
ebd8d4e8 12016 var chunks = []
ebd8d4e8
IC
12017 var i = 0
12018
12019 while (i < buffer.length) {
12020 var opcode = buffer.readUInt8(i)
12021
ab78acc6 12022 // data chunk
ebd8d4e8
IC
12023 if ((opcode > opcodes.OP_0) && (opcode <= opcodes.OP_PUSHDATA4)) {
12024 var d = bufferutils.readPushDataInt(buffer, i)
ab78acc6
IC
12025
12026 // did reading a pushDataInt fail? return non-chunked script
12027 if (d === null) return new Script(buffer, [])
ebd8d4e8
IC
12028 i += d.size
12029
ab78acc6
IC
12030 // attempt to read too much data?
12031 if (i + d.number > buffer.length) return new Script(buffer, [])
12032
ebd8d4e8
IC
12033 var data = buffer.slice(i, i + d.number)
12034 i += d.number
12035
12036 chunks.push(data)
12037
ab78acc6 12038 // opcode
ebd8d4e8
IC
12039 } else {
12040 chunks.push(opcode)
12041
12042 i += 1
12043 }
12044 }
12045
12046 return new Script(buffer, chunks)
12047}
12048
ab78acc6
IC
12049Script.fromChunks = function (chunks) {
12050 typeForce('Array', chunks)
ebd8d4e8 12051
ab78acc6
IC
12052 var bufferSize = chunks.reduce(function (accum, chunk) {
12053 // data chunk
ebd8d4e8
IC
12054 if (Buffer.isBuffer(chunk)) {
12055 return accum + bufferutils.pushDataSize(chunk.length) + chunk.length
12056 }
12057
ab78acc6 12058 // opcode
ebd8d4e8
IC
12059 return accum + 1
12060 }, 0.0)
12061
12062 var buffer = new Buffer(bufferSize)
12063 var offset = 0
12064
ab78acc6
IC
12065 chunks.forEach(function (chunk) {
12066 // data chunk
ebd8d4e8
IC
12067 if (Buffer.isBuffer(chunk)) {
12068 offset += bufferutils.writePushDataInt(buffer, chunk.length, offset)
12069
12070 chunk.copy(buffer, offset)
12071 offset += chunk.length
12072
ab78acc6 12073 // opcode
ebd8d4e8
IC
12074 } else {
12075 buffer.writeUInt8(chunk, offset)
12076 offset += 1
12077 }
12078 })
12079
12080 assert.equal(offset, buffer.length, 'Could not decode chunks')
12081 return new Script(buffer, chunks)
12082}
12083
ab78acc6 12084Script.fromHex = function (hex) {
ebd8d4e8
IC
12085 return Script.fromBuffer(new Buffer(hex, 'hex'))
12086}
12087
ebd8d4e8
IC
12088Script.EMPTY = Script.fromChunks([])
12089
ab78acc6 12090Script.prototype.getHash = function () {
ebd8d4e8
IC
12091 return crypto.hash160(this.buffer)
12092}
12093
12094// FIXME: doesn't work for data chunks, maybe time to use buffertools.compare...
ab78acc6
IC
12095Script.prototype.without = function (needle) {
12096 return Script.fromChunks(this.chunks.filter(function (op) {
ebd8d4e8
IC
12097 return op !== needle
12098 }))
12099}
12100
ebd8d4e8
IC
12101var reverseOps = []
12102for (var op in opcodes) {
12103 var code = opcodes[op]
12104 reverseOps[code] = op
12105}
12106
ab78acc6
IC
12107Script.prototype.toASM = function () {
12108 return this.chunks.map(function (chunk) {
12109 // data chunk
ebd8d4e8
IC
12110 if (Buffer.isBuffer(chunk)) {
12111 return chunk.toString('hex')
12112
ab78acc6 12113 // opcode
ebd8d4e8
IC
12114 } else {
12115 return reverseOps[chunk]
12116 }
12117 }).join(' ')
12118}
12119
ab78acc6 12120Script.prototype.toBuffer = function () {
ebd8d4e8
IC
12121 return this.buffer
12122}
12123
ab78acc6 12124Script.prototype.toHex = function () {
ebd8d4e8
IC
12125 return this.toBuffer().toString('hex')
12126}
12127
12128module.exports = Script
12129
ab78acc6
IC
12130}).call(this,require("buffer").Buffer)
12131},{"./bufferutils":57,"./crypto":58,"./opcodes":67,"assert":5,"buffer":7,"typeforce":53}],69:[function(require,module,exports){
ebd8d4e8 12132(function (Buffer){
ab78acc6
IC
12133var assert = require('assert')
12134var ops = require('./opcodes')
12135var typeForce = require('typeforce')
ebd8d4e8 12136
ab78acc6 12137var ecurve = require('ecurve')
ebd8d4e8
IC
12138var curve = ecurve.getCurveByName('secp256k1')
12139
ab78acc6
IC
12140var ECSignature = require('./ecsignature')
12141var Script = require('./script')
ebd8d4e8 12142
ab78acc6 12143function isCanonicalPubKey (buffer) {
ebd8d4e8
IC
12144 if (!Buffer.isBuffer(buffer)) return false
12145
12146 try {
ebd8d4e8
IC
12147 ecurve.Point.decodeFrom(curve, buffer)
12148 } catch (e) {
ab78acc6
IC
12149 if (!(e.message.match(/Invalid sequence (length|tag)/)))
12150 throw e
ebd8d4e8
IC
12151
12152 return false
12153 }
12154
12155 return true
12156}
12157
ab78acc6 12158function isCanonicalSignature (buffer) {
ebd8d4e8
IC
12159 if (!Buffer.isBuffer(buffer)) return false
12160
12161 try {
12162 ECSignature.parseScriptSignature(buffer)
ab78acc6
IC
12163 } catch (e) {
12164 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/))) {
12165 throw e
12166 }
ebd8d4e8
IC
12167
12168 return false
12169 }
12170
12171 return true
12172}
12173
ab78acc6
IC
12174function isPubKeyHashInput (script) {
12175 return script.chunks.length === 2 &&
12176 isCanonicalSignature(script.chunks[0]) &&
12177 isCanonicalPubKey(script.chunks[1])
ebd8d4e8
IC
12178}
12179
ab78acc6
IC
12180function isPubKeyHashOutput (script) {
12181 return script.chunks.length === 5 &&
12182 script.chunks[0] === ops.OP_DUP &&
12183 script.chunks[1] === ops.OP_HASH160 &&
12184 Buffer.isBuffer(script.chunks[2]) &&
12185 script.chunks[2].length === 20 &&
12186 script.chunks[3] === ops.OP_EQUALVERIFY &&
12187 script.chunks[4] === ops.OP_CHECKSIG
ebd8d4e8
IC
12188}
12189
ab78acc6
IC
12190function isPubKeyInput (script) {
12191 return script.chunks.length === 1 &&
12192 isCanonicalSignature(script.chunks[0])
ebd8d4e8
IC
12193}
12194
ab78acc6
IC
12195function isPubKeyOutput (script) {
12196 return script.chunks.length === 2 &&
12197 isCanonicalPubKey(script.chunks[0]) &&
12198 script.chunks[1] === ops.OP_CHECKSIG
ebd8d4e8
IC
12199}
12200
ab78acc6
IC
12201function isScriptHashInput (script, allowIncomplete) {
12202 if (script.chunks.length < 2) return false
ebd8d4e8 12203
ab78acc6 12204 var lastChunk = script.chunks[script.chunks.length - 1]
ebd8d4e8
IC
12205 if (!Buffer.isBuffer(lastChunk)) return false
12206
ab78acc6
IC
12207 var scriptSig = Script.fromChunks(script.chunks.slice(0, -1))
12208 var redeemScript = Script.fromBuffer(lastChunk)
ebd8d4e8 12209
ab78acc6
IC
12210 // is redeemScript a valid script?
12211 if (redeemScript.chunks.length === 0) return false
12212
12213 return classifyInput(scriptSig, allowIncomplete) === classifyOutput(redeemScript)
ebd8d4e8
IC
12214}
12215
ab78acc6
IC
12216function isScriptHashOutput (script) {
12217 return script.chunks.length === 3 &&
12218 script.chunks[0] === ops.OP_HASH160 &&
12219 Buffer.isBuffer(script.chunks[1]) &&
12220 script.chunks[1].length === 20 &&
12221 script.chunks[2] === ops.OP_EQUAL
ebd8d4e8
IC
12222}
12223
ab78acc6
IC
12224// allowIncomplete is to account for combining signatures
12225// See https://github.com/bitcoin/bitcoin/blob/f425050546644a36b0b8e0eb2f6934a3e0f6f80f/src/script/sign.cpp#L195-L197
12226function isMultisigInput (script, allowIncomplete) {
12227 if (script.chunks.length < 2) return false
12228 if (script.chunks[0] !== ops.OP_0) return false
12229
12230 if (allowIncomplete) {
12231 return script.chunks.slice(1).every(function (chunk) {
12232 return chunk === ops.OP_0 || isCanonicalSignature(chunk)
12233 })
12234 }
12235
12236 return script.chunks.slice(1).every(isCanonicalSignature)
ebd8d4e8
IC
12237}
12238
ab78acc6
IC
12239function isMultisigOutput (script) {
12240 if (script.chunks.length < 4) return false
12241 if (script.chunks[script.chunks.length - 1] !== ops.OP_CHECKMULTISIG) return false
ebd8d4e8 12242
ab78acc6
IC
12243 var mOp = script.chunks[0]
12244 if (mOp === ops.OP_0) return false
12245 if (mOp < ops.OP_1) return false
12246 if (mOp > ops.OP_16) return false
ebd8d4e8 12247
ab78acc6
IC
12248 var nOp = script.chunks[script.chunks.length - 2]
12249 if (nOp === ops.OP_0) return false
12250 if (nOp < ops.OP_1) return false
12251 if (nOp > ops.OP_16) return false
ebd8d4e8 12252
ab78acc6
IC
12253 var m = mOp - (ops.OP_1 - 1)
12254 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8
IC
12255 if (n < m) return false
12256
ab78acc6 12257 var pubKeys = script.chunks.slice(1, -2)
ebd8d4e8
IC
12258 if (n < pubKeys.length) return false
12259
12260 return pubKeys.every(isCanonicalPubKey)
12261}
12262
ab78acc6
IC
12263function isNullDataOutput (script) {
12264 return script.chunks[0] === ops.OP_RETURN
12265}
12266
12267function classifyOutput (script) {
12268 typeForce('Script', script)
12269
12270 if (isPubKeyHashOutput(script)) {
12271 return 'pubkeyhash'
12272 } else if (isScriptHashOutput(script)) {
12273 return 'scripthash'
12274 } else if (isMultisigOutput(script)) {
12275 return 'multisig'
12276 } else if (isPubKeyOutput(script)) {
12277 return 'pubkey'
12278 } else if (isNullDataOutput(script)) {
12279 return 'nulldata'
12280 }
12281
12282 return 'nonstandard'
12283}
12284
12285function classifyInput (script, allowIncomplete) {
12286 typeForce('Script', script)
12287
12288 if (isPubKeyHashInput(script)) {
12289 return 'pubkeyhash'
12290 } else if (isMultisigInput(script, allowIncomplete)) {
12291 return 'multisig'
12292 } else if (isScriptHashInput(script, allowIncomplete)) {
12293 return 'scripthash'
12294 } else if (isPubKeyInput(script)) {
12295 return 'pubkey'
12296 }
12297
12298 return 'nonstandard'
ebd8d4e8
IC
12299}
12300
12301// Standard Script Templates
12302// {pubKey} OP_CHECKSIG
ab78acc6 12303function pubKeyOutput (pubKey) {
ebd8d4e8
IC
12304 return Script.fromChunks([
12305 pubKey.toBuffer(),
ab78acc6 12306 ops.OP_CHECKSIG
ebd8d4e8
IC
12307 ])
12308}
12309
12310// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
ab78acc6
IC
12311function pubKeyHashOutput (hash) {
12312 typeForce('Buffer', hash)
ebd8d4e8
IC
12313
12314 return Script.fromChunks([
ab78acc6
IC
12315 ops.OP_DUP,
12316 ops.OP_HASH160,
ebd8d4e8 12317 hash,
ab78acc6
IC
12318 ops.OP_EQUALVERIFY,
12319 ops.OP_CHECKSIG
ebd8d4e8
IC
12320 ])
12321}
12322
12323// OP_HASH160 {scriptHash} OP_EQUAL
ab78acc6
IC
12324function scriptHashOutput (hash) {
12325 typeForce('Buffer', hash)
ebd8d4e8
IC
12326
12327 return Script.fromChunks([
ab78acc6 12328 ops.OP_HASH160,
ebd8d4e8 12329 hash,
ab78acc6 12330 ops.OP_EQUAL
ebd8d4e8
IC
12331 ])
12332}
12333
12334// m [pubKeys ...] n OP_CHECKMULTISIG
ab78acc6
IC
12335function multisigOutput (m, pubKeys) {
12336 typeForce(['ECPubKey'], pubKeys)
12337
ebd8d4e8
IC
12338 assert(pubKeys.length >= m, 'Not enough pubKeys provided')
12339
ab78acc6 12340 var pubKeyBuffers = pubKeys.map(function (pubKey) {
ebd8d4e8
IC
12341 return pubKey.toBuffer()
12342 })
12343 var n = pubKeys.length
12344
12345 return Script.fromChunks([].concat(
ab78acc6 12346 (ops.OP_1 - 1) + m,
ebd8d4e8 12347 pubKeyBuffers,
ab78acc6
IC
12348 (ops.OP_1 - 1) + n,
12349 ops.OP_CHECKMULTISIG
ebd8d4e8
IC
12350 ))
12351}
12352
12353// {signature}
ab78acc6
IC
12354function pubKeyInput (signature) {
12355 typeForce('Buffer', signature)
ebd8d4e8
IC
12356
12357 return Script.fromChunks([signature])
12358}
12359
12360// {signature} {pubKey}
ab78acc6
IC
12361function pubKeyHashInput (signature, pubKey) {
12362 typeForce('Buffer', signature)
ebd8d4e8
IC
12363
12364 return Script.fromChunks([signature, pubKey.toBuffer()])
12365}
12366
12367// <scriptSig> {serialized scriptPubKey script}
ab78acc6 12368function scriptHashInput (scriptSig, scriptPubKey) {
ebd8d4e8
IC
12369 return Script.fromChunks([].concat(
12370 scriptSig.chunks,
12371 scriptPubKey.toBuffer()
12372 ))
12373}
12374
12375// OP_0 [signatures ...]
ab78acc6 12376function multisigInput (signatures, scriptPubKey) {
ebd8d4e8 12377 if (scriptPubKey) {
ab78acc6
IC
12378 assert(isMultisigOutput(scriptPubKey))
12379
12380 var mOp = scriptPubKey.chunks[0]
12381 var nOp = scriptPubKey.chunks[scriptPubKey.chunks.length - 2]
12382 var m = mOp - (ops.OP_1 - 1)
12383 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8 12384
ab78acc6
IC
12385 assert(signatures.length >= m, 'Not enough signatures provided')
12386 assert(signatures.length <= n, 'Too many signatures provided')
ebd8d4e8
IC
12387 }
12388
ab78acc6
IC
12389 return Script.fromChunks([].concat(ops.OP_0, signatures))
12390}
12391
12392function nullDataOutput (data) {
12393 return Script.fromChunks([ops.OP_RETURN, data])
ebd8d4e8
IC
12394}
12395
12396module.exports = {
ab78acc6
IC
12397 isCanonicalPubKey: isCanonicalPubKey,
12398 isCanonicalSignature: isCanonicalSignature,
12399 isPubKeyHashInput: isPubKeyHashInput,
12400 isPubKeyHashOutput: isPubKeyHashOutput,
12401 isPubKeyInput: isPubKeyInput,
12402 isPubKeyOutput: isPubKeyOutput,
12403 isScriptHashInput: isScriptHashInput,
12404 isScriptHashOutput: isScriptHashOutput,
12405 isMultisigInput: isMultisigInput,
12406 isMultisigOutput: isMultisigOutput,
12407 isNullDataOutput: isNullDataOutput,
ebd8d4e8 12408 classifyOutput: classifyOutput,
ab78acc6
IC
12409 classifyInput: classifyInput,
12410 pubKeyOutput: pubKeyOutput,
ebd8d4e8 12411 pubKeyHashOutput: pubKeyHashOutput,
ab78acc6
IC
12412 scriptHashOutput: scriptHashOutput,
12413 multisigOutput: multisigOutput,
ebd8d4e8 12414 pubKeyInput: pubKeyInput,
ab78acc6 12415 pubKeyHashInput: pubKeyHashInput,
ebd8d4e8 12416 scriptHashInput: scriptHashInput,
ab78acc6
IC
12417 multisigInput: multisigInput,
12418 dataOutput: function (data) {
12419 console.warn('dataOutput is deprecated, use nullDataOutput by 2.0.0')
12420 return nullDataOutput(data)
12421 },
12422 nullDataOutput: nullDataOutput
ebd8d4e8
IC
12423}
12424
ab78acc6
IC
12425}).call(this,require("buffer").Buffer)
12426},{"./ecsignature":62,"./opcodes":67,"./script":68,"assert":5,"buffer":7,"ecurve":49,"typeforce":53}],70:[function(require,module,exports){
ebd8d4e8 12427(function (Buffer){
ab78acc6
IC
12428var assert = require('assert')
12429var bufferutils = require('./bufferutils')
12430var crypto = require('./crypto')
12431var typeForce = require('typeforce')
12432var opcodes = require('./opcodes')
12433var scripts = require('./scripts')
12434
12435var Address = require('./address')
12436var ECSignature = require('./ecsignature')
12437var Script = require('./script')
12438
12439function Transaction () {
12440 this.version = 1
12441 this.locktime = 0
12442 this.ins = []
12443 this.outs = []
12444}
ebd8d4e8
IC
12445
12446Transaction.DEFAULT_SEQUENCE = 0xffffffff
12447Transaction.SIGHASH_ALL = 0x01
12448Transaction.SIGHASH_NONE = 0x02
12449Transaction.SIGHASH_SINGLE = 0x03
12450Transaction.SIGHASH_ANYONECANPAY = 0x80
12451
ab78acc6
IC
12452Transaction.fromBuffer = function (buffer, __disableAssert) {
12453 var offset = 0
12454 function readSlice (n) {
12455 offset += n
12456 return buffer.slice(offset - n, offset)
12457 }
12458
12459 function readUInt32 () {
12460 var i = buffer.readUInt32LE(offset)
12461 offset += 4
12462 return i
12463 }
12464
12465 function readUInt64 () {
12466 var i = bufferutils.readUInt64LE(buffer, offset)
12467 offset += 8
12468 return i
12469 }
12470
12471 function readVarInt () {
12472 var vi = bufferutils.readVarInt(buffer, offset)
12473 offset += vi.size
12474 return vi.number
12475 }
12476
12477 function readScript () {
12478 return Script.fromBuffer(readSlice(readVarInt()))
12479 }
12480
12481 function readGenerationScript () {
12482 return new Script(readSlice(readVarInt()), [])
12483 }
12484
12485 var tx = new Transaction()
12486 tx.version = readUInt32()
12487
12488 var vinLen = readVarInt()
12489 for (var i = 0; i < vinLen; ++i) {
12490 var hash = readSlice(32)
12491
12492 if (Transaction.isCoinbaseHash(hash)) {
12493 tx.ins.push({
12494 hash: hash,
12495 index: readUInt32(),
12496 script: readGenerationScript(),
12497 sequence: readUInt32()
12498 })
12499 } else {
12500 tx.ins.push({
12501 hash: hash,
12502 index: readUInt32(),
12503 script: readScript(),
12504 sequence: readUInt32()
12505 })
12506 }
12507 }
12508
12509 var voutLen = readVarInt()
12510 for (i = 0; i < voutLen; ++i) {
12511 tx.outs.push({
12512 value: readUInt64(),
12513 script: readScript()
12514 })
12515 }
12516
12517 tx.locktime = readUInt32()
12518
12519 if (!__disableAssert) {
12520 assert.equal(offset, buffer.length, 'Transaction has unexpected data')
12521 }
12522
12523 return tx
12524}
12525
12526Transaction.fromHex = function (hex) {
12527 return Transaction.fromBuffer(new Buffer(hex, 'hex'))
12528}
12529
12530Transaction.isCoinbaseHash = function (buffer) {
12531 return Array.prototype.every.call(buffer, function (x) {
12532 return x === 0
12533 })
ebd8d4e8
IC
12534}
12535
12536/**
ab78acc6 12537 * Create a new txIn.
ebd8d4e8
IC
12538 *
12539 * Can be called with any of:
12540 *
12541 * - A transaction and an index
12542 * - A transaction hash and an index
12543 *
12544 * Note that this method does not sign the created input.
12545 */
ab78acc6
IC
12546Transaction.prototype.addInput = function (hash, index, sequence, script) {
12547 if (sequence === undefined || sequence === null) {
12548 sequence = Transaction.DEFAULT_SEQUENCE
12549 }
ebd8d4e8 12550
ab78acc6 12551 script = script || Script.EMPTY
ebd8d4e8 12552
ab78acc6 12553 if (typeof hash === 'string') {
ebd8d4e8 12554 // TxId hex is big-endian, we need little-endian
ab78acc6
IC
12555 hash = bufferutils.reverse(new Buffer(hash, 'hex'))
12556 } else if (hash instanceof Transaction) {
12557 hash = hash.getHash()
ebd8d4e8
IC
12558 }
12559
ab78acc6
IC
12560 typeForce('Buffer', hash)
12561 typeForce('Number', index)
12562 typeForce('Number', sequence)
12563 typeForce('Script', script)
12564
ebd8d4e8 12565 assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
ebd8d4e8 12566
ab78acc6 12567 // Add the input and return the input's index
ebd8d4e8
IC
12568 return (this.ins.push({
12569 hash: hash,
12570 index: index,
ab78acc6 12571 script: script,
ebd8d4e8
IC
12572 sequence: sequence
12573 }) - 1)
12574}
12575
12576/**
ab78acc6 12577 * Create a new txOut.
ebd8d4e8
IC
12578 *
12579 * Can be called with:
12580 *
12581 * - A base58 address string and a value
12582 * - An Address object and a value
12583 * - A scriptPubKey Script and a value
12584 */
ab78acc6 12585Transaction.prototype.addOutput = function (scriptPubKey, value) {
ebd8d4e8
IC
12586 // Attempt to get a valid address if it's a base58 address string
12587 if (typeof scriptPubKey === 'string') {
12588 scriptPubKey = Address.fromBase58Check(scriptPubKey)
12589 }
12590
12591 // Attempt to get a valid script if it's an Address object
12592 if (scriptPubKey instanceof Address) {
ab78acc6 12593 scriptPubKey = scriptPubKey.toOutputScript()
ebd8d4e8
IC
12594 }
12595
ab78acc6
IC
12596 typeForce('Script', scriptPubKey)
12597 typeForce('Number', value)
12598
12599 // Add the output and return the output's index
ebd8d4e8
IC
12600 return (this.outs.push({
12601 script: scriptPubKey,
ab78acc6 12602 value: value
ebd8d4e8
IC
12603 }) - 1)
12604}
12605
ab78acc6
IC
12606Transaction.prototype.clone = function () {
12607 var newTx = new Transaction()
12608 newTx.version = this.version
12609 newTx.locktime = this.locktime
12610
12611 newTx.ins = this.ins.map(function (txIn) {
12612 return {
12613 hash: txIn.hash,
12614 index: txIn.index,
12615 script: txIn.script,
12616 sequence: txIn.sequence
12617 }
12618 })
12619
12620 newTx.outs = this.outs.map(function (txOut) {
12621 return {
12622 script: txOut.script,
12623 value: txOut.value
12624 }
12625 })
12626
12627 return newTx
12628}
12629
12630/**
12631 * Hash transaction for signing a specific input.
12632 *
12633 * Bitcoin uses a different hash for each signed transaction input. This
12634 * method copies the transaction, makes the necessary changes based on the
12635 * hashType, serializes and finally hashes the result. This hash can then be
12636 * used to sign the transaction input in question.
12637 */
12638Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
12639 // FIXME: remove in 2.x.y
12640 if (arguments[0] instanceof Script) {
12641 console.warn('hashForSignature(prevOutScript, inIndex, ...) has been deprecated. Use hashForSignature(inIndex, prevOutScript, ...)')
12642
12643 // swap the arguments (must be stored in tmp, arguments is special)
12644 var tmp = arguments[0]
12645 inIndex = arguments[1]
12646 prevOutScript = tmp
12647 }
12648
12649 typeForce('Number', inIndex)
12650 typeForce('Script', prevOutScript)
12651 typeForce('Number', hashType)
12652
12653 assert(inIndex >= 0, 'Invalid vin index')
12654 assert(inIndex < this.ins.length, 'Invalid vin index')
12655
12656 var txTmp = this.clone()
12657 var hashScript = prevOutScript.without(opcodes.OP_CODESEPARATOR)
12658
12659 // Blank out other inputs' signatures
12660 txTmp.ins.forEach(function (txIn) {
12661 txIn.script = Script.EMPTY
12662 })
12663 txTmp.ins[inIndex].script = hashScript
12664
12665 var hashTypeModifier = hashType & 0x1f
12666
12667 if (hashTypeModifier === Transaction.SIGHASH_NONE) {
12668 assert(false, 'SIGHASH_NONE not yet supported')
12669 } else if (hashTypeModifier === Transaction.SIGHASH_SINGLE) {
12670 assert(false, 'SIGHASH_SINGLE not yet supported')
12671 }
12672
12673 if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
12674 assert(false, 'SIGHASH_ANYONECANPAY not yet supported')
12675 }
12676
12677 var hashTypeBuffer = new Buffer(4)
12678 hashTypeBuffer.writeInt32LE(hashType, 0)
12679
12680 var buffer = Buffer.concat([txTmp.toBuffer(), hashTypeBuffer])
12681 return crypto.hash256(buffer)
12682}
12683
12684Transaction.prototype.getHash = function () {
12685 return crypto.hash256(this.toBuffer())
12686}
12687
12688Transaction.prototype.getId = function () {
12689 // TxHash is little-endian, we need big-endian
12690 return bufferutils.reverse(this.getHash()).toString('hex')
12691}
12692
ebd8d4e8 12693Transaction.prototype.toBuffer = function () {
ab78acc6
IC
12694 function scriptSize (script) {
12695 var length = script.buffer.length
ebd8d4e8 12696
ab78acc6
IC
12697 return bufferutils.varIntSize(length) + length
12698 }
ebd8d4e8
IC
12699
12700 var buffer = new Buffer(
12701 8 +
12702 bufferutils.varIntSize(this.ins.length) +
12703 bufferutils.varIntSize(this.outs.length) +
ab78acc6
IC
12704 this.ins.reduce(function (sum, input) { return sum + 40 + scriptSize(input.script) }, 0) +
12705 this.outs.reduce(function (sum, output) { return sum + 8 + scriptSize(output.script) }, 0)
ebd8d4e8
IC
12706 )
12707
12708 var offset = 0
ab78acc6 12709 function writeSlice (slice) {
ebd8d4e8
IC
12710 slice.copy(buffer, offset)
12711 offset += slice.length
12712 }
ab78acc6
IC
12713
12714 function writeUInt32 (i) {
ebd8d4e8
IC
12715 buffer.writeUInt32LE(i, offset)
12716 offset += 4
12717 }
ab78acc6
IC
12718
12719 function writeUInt64 (i) {
ebd8d4e8
IC
12720 bufferutils.writeUInt64LE(buffer, i, offset)
12721 offset += 8
12722 }
ab78acc6
IC
12723
12724 function writeVarInt (i) {
ebd8d4e8
IC
12725 var n = bufferutils.writeVarInt(buffer, i, offset)
12726 offset += n
12727 }
12728
12729 writeUInt32(this.version)
12730 writeVarInt(this.ins.length)
12731
ab78acc6
IC
12732 this.ins.forEach(function (txIn) {
12733 writeSlice(txIn.hash)
12734 writeUInt32(txIn.index)
12735 writeVarInt(txIn.script.buffer.length)
12736 writeSlice(txIn.script.buffer)
12737 writeUInt32(txIn.sequence)
ebd8d4e8
IC
12738 })
12739
12740 writeVarInt(this.outs.length)
ab78acc6
IC
12741 this.outs.forEach(function (txOut) {
12742 writeUInt64(txOut.value)
12743 writeVarInt(txOut.script.buffer.length)
12744 writeSlice(txOut.script.buffer)
ebd8d4e8
IC
12745 })
12746
12747 writeUInt32(this.locktime)
12748
12749 return buffer
12750}
12751
ab78acc6 12752Transaction.prototype.toHex = function () {
ebd8d4e8
IC
12753 return this.toBuffer().toString('hex')
12754}
12755
ab78acc6
IC
12756Transaction.prototype.setInputScript = function (index, script) {
12757 typeForce('Number', index)
12758 typeForce('Script', script)
12759
12760 this.ins[index].script = script
12761}
12762
12763// FIXME: remove in 2.x.y
12764Transaction.prototype.sign = function (index, privKey, hashType) {
12765 console.warn('Transaction.prototype.sign is deprecated. Use TransactionBuilder instead.')
12766
12767 var prevOutScript = privKey.pub.getAddress().toOutputScript()
12768 var signature = this.signInput(index, prevOutScript, privKey, hashType)
12769
12770 var scriptSig = scripts.pubKeyHashInput(signature, privKey.pub)
12771 this.setInputScript(index, scriptSig)
12772}
12773
12774// FIXME: remove in 2.x.y
12775Transaction.prototype.signInput = function (index, prevOutScript, privKey, hashType) {
12776 console.warn('Transaction.prototype.signInput is deprecated. Use TransactionBuilder instead.')
12777
12778 hashType = hashType || Transaction.SIGHASH_ALL
12779
12780 var hash = this.hashForSignature(index, prevOutScript, hashType)
12781 var signature = privKey.sign(hash)
12782
12783 return signature.toScriptSignature(hashType)
12784}
12785
12786// FIXME: remove in 2.x.y
12787Transaction.prototype.validateInput = function (index, prevOutScript, pubKey, buffer) {
12788 console.warn('Transaction.prototype.validateInput is deprecated. Use TransactionBuilder instead.')
12789
12790 var parsed = ECSignature.parseScriptSignature(buffer)
12791 var hash = this.hashForSignature(index, prevOutScript, parsed.hashType)
12792
12793 return pubKey.verify(hash, parsed.signature)
12794}
12795
12796module.exports = Transaction
12797
12798}).call(this,require("buffer").Buffer)
12799},{"./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){
12800(function (Buffer){
12801var assert = require('assert')
12802var ops = require('./opcodes')
12803var scripts = require('./scripts')
12804
12805var ECPubKey = require('./ecpubkey')
12806var ECSignature = require('./ecsignature')
12807var Script = require('./script')
12808var Transaction = require('./transaction')
12809
12810function extractInput (txIn) {
12811 var redeemScript
12812 var scriptSig = txIn.script
12813 var prevOutScript
12814 var prevOutType = scripts.classifyInput(scriptSig, true)
12815 var scriptType
12816
12817 // Re-classify if scriptHash
12818 if (prevOutType === 'scripthash') {
12819 redeemScript = Script.fromBuffer(scriptSig.chunks.slice(-1)[0])
12820 prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
12821
12822 scriptSig = Script.fromChunks(scriptSig.chunks.slice(0, -1))
12823 scriptType = scripts.classifyInput(scriptSig, true)
12824 } else {
12825 scriptType = prevOutType
12826 }
12827
12828 // Extract hashType, pubKeys and signatures
12829 var hashType, parsed, pubKeys, signatures
12830
12831 switch (scriptType) {
12832 case 'pubkeyhash': {
12833 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12834 hashType = parsed.hashType
12835 pubKeys = [ECPubKey.fromBuffer(scriptSig.chunks[1])]
12836 signatures = [parsed.signature]
12837 prevOutScript = pubKeys[0].getAddress().toOutputScript()
12838
12839 break
12840 }
12841
12842 case 'pubkey': {
12843 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12844 hashType = parsed.hashType
12845 signatures = [parsed.signature]
12846
12847 if (redeemScript) {
12848 pubKeys = [ECPubKey.fromBuffer(redeemScript.chunks[0])]
12849 }
12850
12851 break
12852 }
12853
12854 case 'multisig': {
12855 signatures = scriptSig.chunks.slice(1).map(function (chunk) {
12856 if (chunk === ops.OP_0) return chunk
12857
12858 var parsed = ECSignature.parseScriptSignature(chunk)
12859 hashType = parsed.hashType
12860
12861 return parsed.signature
12862 })
12863
12864 if (redeemScript) {
12865 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12866 }
12867
12868 break
12869 }
12870 }
12871
12872 return {
12873 hashType: hashType,
12874 prevOutScript: prevOutScript,
12875 prevOutType: prevOutType,
12876 pubKeys: pubKeys,
12877 redeemScript: redeemScript,
12878 scriptType: scriptType,
12879 signatures: signatures
12880 }
12881}
12882
12883function TransactionBuilder () {
12884 this.prevTxMap = {}
12885 this.prevOutScripts = {}
12886 this.prevOutTypes = {}
12887
12888 this.inputs = []
12889 this.tx = new Transaction()
12890}
12891
12892TransactionBuilder.fromTransaction = function (transaction) {
12893 var txb = new TransactionBuilder()
12894
12895 // Copy other transaction fields
12896 txb.tx.version = transaction.version
12897 txb.tx.locktime = transaction.locktime
12898
12899 // Extract/add inputs
12900 transaction.ins.forEach(function (txIn) {
12901 txb.addInput(txIn.hash, txIn.index, txIn.sequence)
12902 })
12903
12904 // Extract/add outputs
12905 transaction.outs.forEach(function (txOut) {
12906 txb.addOutput(txOut.script, txOut.value)
12907 })
12908
12909 // Extract/add signatures
12910 txb.inputs = transaction.ins.map(function (txIn) {
12911 // TODO: remove me after testcase added
12912 assert(!Transaction.isCoinbaseHash(txIn.hash), 'coinbase inputs not supported')
12913
12914 // Ignore empty scripts
12915 if (txIn.script.buffer.length === 0) return {}
12916
12917 return extractInput(txIn)
12918 })
12919
12920 return txb
12921}
12922
12923TransactionBuilder.prototype.addInput = function (prevTx, index, sequence, prevOutScript) {
12924 var prevOutHash
12925
12926 // txId
12927 if (typeof prevTx === 'string') {
12928 prevOutHash = new Buffer(prevTx, 'hex')
12929
12930 // TxId hex is big-endian, we want little-endian hash
12931 Array.prototype.reverse.call(prevOutHash)
12932
12933 // Transaction
12934 } else if (prevTx instanceof Transaction) {
12935 prevOutHash = prevTx.getHash()
12936 prevOutScript = prevTx.outs[index].script
12937
12938 // txHash
12939 } else {
12940 prevOutHash = prevTx
12941 }
12942
12943 var input = {}
12944 if (prevOutScript) {
12945 var prevOutType = scripts.classifyOutput(prevOutScript)
12946
12947 // if we can, extract pubKey information
12948 switch (prevOutType) {
12949 case 'multisig': {
12950 input.pubKeys = prevOutScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12951 break
12952 }
12953
12954 case 'pubkey': {
12955 input.pubKeys = prevOutScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
12956 break
12957 }
12958 }
12959
12960 if (prevOutType !== 'scripthash') {
12961 input.scriptType = prevOutType
12962 }
12963
12964 input.prevOutScript = prevOutScript
12965 input.prevOutType = prevOutType
12966 }
12967
12968 assert(this.inputs.every(function (input2) {
12969 if (input2.hashType === undefined) return true
12970
12971 return input2.hashType & Transaction.SIGHASH_ANYONECANPAY
12972 }), 'No, this would invalidate signatures')
12973
12974 var prevOut = prevOutHash.toString('hex') + ':' + index
12975 assert(!(prevOut in this.prevTxMap), 'Transaction is already an input')
12976
12977 var vin = this.tx.addInput(prevOutHash, index, sequence)
12978 this.inputs[vin] = input
12979 this.prevTxMap[prevOut] = vin
12980
12981 return vin
12982}
12983
12984TransactionBuilder.prototype.addOutput = function (scriptPubKey, value) {
12985 assert(this.inputs.every(function (input) {
12986 if (input.hashType === undefined) return true
ebd8d4e8 12987
ab78acc6
IC
12988 return (input.hashType & 0x1f) === Transaction.SIGHASH_SINGLE
12989 }), 'No, this would invalidate signatures')
ebd8d4e8 12990
ab78acc6
IC
12991 return this.tx.addOutput(scriptPubKey, value)
12992}
ebd8d4e8 12993
ab78acc6
IC
12994TransactionBuilder.prototype.build = function () {
12995 return this.__build(false)
12996}
12997TransactionBuilder.prototype.buildIncomplete = function () {
12998 return this.__build(true)
12999}
ebd8d4e8 13000
ab78acc6
IC
13001var canSignTypes = {
13002 'pubkeyhash': true,
13003 'multisig': true,
13004 'pubkey': true
13005}
ebd8d4e8 13006
ab78acc6
IC
13007TransactionBuilder.prototype.__build = function (allowIncomplete) {
13008 if (!allowIncomplete) {
13009 assert(this.tx.ins.length > 0, 'Transaction has no inputs')
13010 assert(this.tx.outs.length > 0, 'Transaction has no outputs')
ebd8d4e8
IC
13011 }
13012
ab78acc6 13013 var tx = this.tx.clone()
ebd8d4e8 13014
ab78acc6
IC
13015 // Create script signatures from signature meta-data
13016 this.inputs.forEach(function (input, index) {
13017 var scriptType = input.scriptType
13018 var scriptSig
ebd8d4e8 13019
ab78acc6
IC
13020 if (!allowIncomplete) {
13021 assert(!!scriptType, 'Transaction is not complete')
13022 assert(scriptType in canSignTypes, scriptType + ' not supported')
13023 assert(input.signatures, 'Transaction is missing signatures')
13024 }
ebd8d4e8 13025
ab78acc6
IC
13026 if (input.signatures) {
13027 switch (scriptType) {
13028 case 'pubkeyhash': {
13029 var pkhSignature = input.signatures[0].toScriptSignature(input.hashType)
13030 scriptSig = scripts.pubKeyHashInput(pkhSignature, input.pubKeys[0])
13031 break
13032 }
ebd8d4e8 13033
ab78acc6
IC
13034 case 'multisig': {
13035 // Array.prototype.map is sparse-compatible
13036 var msSignatures = input.signatures.map(function (signature) {
13037 return signature && signature.toScriptSignature(input.hashType)
13038 })
ebd8d4e8 13039
ab78acc6
IC
13040 // fill in blanks with OP_0
13041 if (allowIncomplete) {
13042 for (var i = 0; i < msSignatures.length; ++i) {
13043 if (msSignatures[i]) continue
ebd8d4e8 13044
ab78acc6
IC
13045 msSignatures[i] = ops.OP_0
13046 }
13047 } else {
13048 // Array.prototype.filter returns non-sparse array
13049 msSignatures = msSignatures.filter(function (x) { return x })
13050 }
ebd8d4e8 13051
ab78acc6
IC
13052 var redeemScript = allowIncomplete ? undefined : input.redeemScript
13053 scriptSig = scripts.multisigInput(msSignatures, redeemScript)
13054 break
13055 }
ebd8d4e8 13056
ab78acc6
IC
13057 case 'pubkey': {
13058 var pkSignature = input.signatures[0].toScriptSignature(input.hashType)
13059 scriptSig = scripts.pubKeyInput(pkSignature)
13060 break
13061 }
13062 }
ebd8d4e8 13063 }
ebd8d4e8 13064
ab78acc6
IC
13065 // did we build a scriptSig?
13066 if (scriptSig) {
13067 // wrap as scriptHash if necessary
13068 if (input.prevOutType === 'scripthash') {
13069 scriptSig = scripts.scriptHashInput(scriptSig, input.redeemScript)
13070 }
13071
13072 tx.setInputScript(index, scriptSig)
ebd8d4e8
IC
13073 }
13074 })
13075
ab78acc6 13076 return tx
ebd8d4e8
IC
13077}
13078
ab78acc6
IC
13079TransactionBuilder.prototype.sign = function (index, privKey, redeemScript, hashType) {
13080 assert(index in this.inputs, 'No input at index: ' + index)
13081 hashType = hashType || Transaction.SIGHASH_ALL
ebd8d4e8 13082
ab78acc6
IC
13083 var input = this.inputs[index]
13084 var canSign = input.hashType &&
13085 input.prevOutScript &&
13086 input.prevOutType &&
13087 input.pubKeys &&
13088 input.scriptType &&
13089 input.signatures
ebd8d4e8 13090
ab78acc6
IC
13091 // are we almost ready to sign?
13092 if (canSign) {
13093 // if redeemScript was provided, enforce consistency
13094 if (redeemScript) {
13095 assert.deepEqual(input.redeemScript, redeemScript, 'Inconsistent redeemScript')
13096 }
ebd8d4e8 13097
ab78acc6 13098 assert.equal(input.hashType, hashType, 'Inconsistent hashType')
ebd8d4e8 13099
ab78acc6
IC
13100 // no? prepare
13101 } else {
13102 // must be pay-to-scriptHash?
13103 if (redeemScript) {
13104 // if we have a prevOutScript, enforce scriptHash equality to the redeemScript
13105 if (input.prevOutScript) {
13106 assert.equal(input.prevOutType, 'scripthash', 'PrevOutScript must be P2SH')
13107
13108 var scriptHash = input.prevOutScript.chunks[1]
13109 assert.deepEqual(scriptHash, redeemScript.getHash(), 'RedeemScript does not match ' + scriptHash.toString('hex'))
13110 }
ebd8d4e8 13111
ab78acc6
IC
13112 var scriptType = scripts.classifyOutput(redeemScript)
13113 assert(scriptType in canSignTypes, 'RedeemScript not supported (' + scriptType + ')')
ebd8d4e8 13114
ab78acc6
IC
13115 var pubKeys = []
13116 switch (scriptType) {
13117 case 'multisig': {
13118 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
13119 break
13120 }
ebd8d4e8 13121
ab78acc6
IC
13122 case 'pubkeyhash': {
13123 var pkh1 = redeemScript.chunks[2]
13124 var pkh2 = privKey.pub.getAddress().hash
ebd8d4e8 13125
ab78acc6
IC
13126 assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
13127 pubKeys = [privKey.pub]
13128 break
13129 }
ebd8d4e8 13130
ab78acc6
IC
13131 case 'pubkey': {
13132 pubKeys = redeemScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
13133 break
13134 }
13135 }
ebd8d4e8 13136
ab78acc6
IC
13137 if (!input.prevOutScript) {
13138 input.prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
13139 input.prevOutType = 'scripthash'
13140 }
ebd8d4e8 13141
ab78acc6
IC
13142 input.pubKeys = pubKeys
13143 input.redeemScript = redeemScript
13144 input.scriptType = scriptType
ebd8d4e8 13145
ab78acc6
IC
13146 // cannot be pay-to-scriptHash
13147 } else {
13148 assert.notEqual(input.prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript')
ebd8d4e8 13149
ab78acc6
IC
13150 // can we otherwise sign this?
13151 if (input.scriptType) {
13152 assert(input.pubKeys, input.scriptType + ' not supported')
ebd8d4e8 13153
ab78acc6
IC
13154 // we know nothin' Jon Snow, assume pubKeyHash
13155 } else {
13156 input.prevOutScript = privKey.pub.getAddress().toOutputScript()
13157 input.prevOutType = 'pubkeyhash'
13158 input.pubKeys = [privKey.pub]
13159 input.scriptType = input.prevOutType
13160 }
13161 }
ebd8d4e8 13162
ab78acc6
IC
13163 input.hashType = hashType
13164 input.signatures = input.signatures || []
13165 }
13166
13167 var signatureScript = input.redeemScript || input.prevOutScript
13168 var signatureHash = this.tx.hashForSignature(index, signatureScript, hashType)
13169
13170 // enforce signature order matches public keys
13171 if (input.scriptType === 'multisig' && input.redeemScript && input.signatures.length !== input.pubKeys.length) {
13172 // maintain a local copy of unmatched signatures
13173 var unmatched = input.signatures.slice()
13174
13175 input.signatures = input.pubKeys.map(function (pubKey) {
13176 var match
13177
13178 // check for any matching signatures
13179 unmatched.some(function (signature, i) {
13180 if (!pubKey.verify(signatureHash, signature)) return false
13181 match = signature
13182
13183 // remove matched signature from unmatched
13184 unmatched.splice(i, 1)
13185
13186 return true
13187 })
13188
13189 return match || undefined
13190 })
13191 }
13192
13193 // enforce in order signing of public keys
13194 assert(input.pubKeys.some(function (pubKey, i) {
13195 if (!privKey.pub.Q.equals(pubKey.Q)) return false
13196
13197 assert(!input.signatures[i], 'Signature already exists')
13198 var signature = privKey.sign(signatureHash)
13199 input.signatures[i] = signature
13200
13201 return true
13202 }, this), 'privateKey cannot sign for this input')
ebd8d4e8
IC
13203}
13204
ab78acc6 13205module.exports = TransactionBuilder
ebd8d4e8 13206
ab78acc6
IC
13207}).call(this,require("buffer").Buffer)
13208},{"./ecpubkey":61,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"assert":5,"buffer":7}],72:[function(require,module,exports){
ebd8d4e8 13209(function (Buffer){
ab78acc6
IC
13210var assert = require('assert')
13211var bufferutils = require('./bufferutils')
13212var typeForce = require('typeforce')
13213var networks = require('./networks')
13214var randomBytes = require('randombytes')
ebd8d4e8 13215
ab78acc6
IC
13216var Address = require('./address')
13217var HDNode = require('./hdnode')
13218var TransactionBuilder = require('./transaction_builder')
13219var Script = require('./script')
ebd8d4e8 13220
ab78acc6
IC
13221function Wallet (seed, network) {
13222 console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296')
13223
13224 seed = seed || randomBytes(32)
ebd8d4e8
IC
13225 network = network || networks.bitcoin
13226
13227 // Stored in a closure to make accidental serialization less likely
ab78acc6
IC
13228 var masterKey = HDNode.fromSeedBuffer(seed, network)
13229
13230 // HD first-level child derivation method should be hardened
13231 // See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
13232 var accountZero = masterKey.deriveHardened(0)
13233 var externalAccount = accountZero.derive(0)
13234 var internalAccount = accountZero.derive(1)
ebd8d4e8 13235
ebd8d4e8
IC
13236 this.addresses = []
13237 this.changeAddresses = []
ab78acc6
IC
13238 this.network = network
13239 this.unspents = []
ebd8d4e8 13240
ab78acc6
IC
13241 // FIXME: remove in 2.0.0
13242 this.unspentMap = {}
ebd8d4e8 13243
ab78acc6
IC
13244 // FIXME: remove in 2.0.0
13245 var me = this
13246 this.newMasterKey = function (seed) {
13247 console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
13248
13249 seed = seed || randomBytes(32)
13250 masterKey = HDNode.fromSeedBuffer(seed, network)
ebd8d4e8 13251
ab78acc6 13252 accountZero = masterKey.deriveHardened(0)
ebd8d4e8
IC
13253 externalAccount = accountZero.derive(0)
13254 internalAccount = accountZero.derive(1)
13255
13256 me.addresses = []
13257 me.changeAddresses = []
13258
ab78acc6
IC
13259 me.unspents = []
13260 me.unspentMap = {}
ebd8d4e8
IC
13261 }
13262
ab78acc6
IC
13263 this.getMasterKey = function () {
13264 return masterKey
ebd8d4e8 13265 }
ab78acc6
IC
13266 this.getAccountZero = function () {
13267 return accountZero
ebd8d4e8 13268 }
ab78acc6
IC
13269 this.getExternalAccount = function () {
13270 return externalAccount
13271 }
13272 this.getInternalAccount = function () {
13273 return internalAccount
ebd8d4e8 13274 }
ab78acc6 13275}
ebd8d4e8 13276
ab78acc6
IC
13277Wallet.prototype.createTransaction = function (to, value, options) {
13278 // FIXME: remove in 2.0.0
13279 if (typeof options !== 'object') {
13280 if (options !== undefined) {
13281 console.warn('Non options object parameters are deprecated, use options object instead')
ebd8d4e8 13282
ab78acc6
IC
13283 options = {
13284 fixedFee: arguments[2],
13285 changeAddress: arguments[3]
13286 }
ebd8d4e8 13287 }
ebd8d4e8
IC
13288 }
13289
ab78acc6 13290 options = options || {}
ebd8d4e8 13291
ab78acc6 13292 assert(value > this.network.dustThreshold, value + ' must be above dust threshold (' + this.network.dustThreshold + ' Satoshis)')
ebd8d4e8 13293
ab78acc6
IC
13294 var changeAddress = options.changeAddress
13295 var fixedFee = options.fixedFee
13296 var minConf = options.minConf === undefined ? 0 : options.minConf // FIXME: change minConf:1 by default in 2.0.0
ebd8d4e8 13297
ab78acc6
IC
13298 // filter by minConf, then pending and sort by descending value
13299 var unspents = this.unspents.filter(function (unspent) {
13300 return unspent.confirmations >= minConf
13301 }).filter(function (unspent) {
13302 return !unspent.pending
13303 }).sort(function (o1, o2) {
13304 return o2.value - o1.value
13305 })
ebd8d4e8 13306
ab78acc6
IC
13307 var accum = 0
13308 var addresses = []
13309 var subTotal = value
ebd8d4e8 13310
ab78acc6
IC
13311 var txb = new TransactionBuilder()
13312 txb.addOutput(to, value)
ebd8d4e8 13313
ab78acc6
IC
13314 for (var i = 0; i < unspents.length; ++i) {
13315 var unspent = unspents[i]
13316 addresses.push(unspent.address)
ebd8d4e8 13317
ab78acc6
IC
13318 txb.addInput(unspent.txHash, unspent.index)
13319
13320 var fee = fixedFee === undefined ? estimatePaddedFee(txb.buildIncomplete(), this.network) : fixedFee
ebd8d4e8 13321
ab78acc6
IC
13322 accum += unspent.value
13323 subTotal = value + fee
13324
13325 if (accum >= subTotal) {
13326 var change = accum - subTotal
13327
13328 if (change > this.network.dustThreshold) {
13329 txb.addOutput(changeAddress || this.getChangeAddress(), change)
ebd8d4e8 13330 }
ebd8d4e8 13331
ab78acc6 13332 break
ebd8d4e8
IC
13333 }
13334 }
13335
ab78acc6 13336 assert(accum >= subTotal, 'Not enough funds (incl. fee): ' + accum + ' < ' + subTotal)
ebd8d4e8 13337
ab78acc6
IC
13338 return this.signWith(txb, addresses).build()
13339}
ebd8d4e8 13340
ab78acc6
IC
13341// FIXME: remove in 2.0.0
13342Wallet.prototype.processPendingTx = function (tx) {
13343 this.__processTx(tx, true)
13344}
ebd8d4e8 13345
ab78acc6
IC
13346// FIXME: remove in 2.0.0
13347Wallet.prototype.processConfirmedTx = function (tx) {
13348 this.__processTx(tx, false)
13349}
ebd8d4e8 13350
ab78acc6
IC
13351// FIXME: remove in 2.0.0
13352Wallet.prototype.__processTx = function (tx, isPending) {
13353 console.warn('processTransaction is considered harmful, see issue #260 for more information')
ebd8d4e8 13354
ab78acc6
IC
13355 var txId = tx.getId()
13356 var txHash = tx.getHash()
ebd8d4e8 13357
ab78acc6
IC
13358 tx.outs.forEach(function (txOut, i) {
13359 var address
ebd8d4e8 13360
ab78acc6
IC
13361 try {
13362 address = Address.fromOutputScript(txOut.script, this.network).toString()
13363 } catch (e) {
13364 if (!(e.message.match(/has no matching Address/)))
13365 throw e
13366 }
13367
13368 var myAddresses = this.addresses.concat(this.changeAddresses)
13369 if (myAddresses.indexOf(address) > -1) {
13370 var lookup = txId + ':' + i
13371 if (lookup in this.unspentMap) return
13372
13373 // its unique, add it
13374 var unspent = {
13375 address: address,
13376 confirmations: 0, // no way to determine this without more information
13377 index: i,
13378 txHash: txHash,
13379 txId: txId,
13380 value: txOut.value,
13381 pending: isPending
ebd8d4e8 13382 }
ebd8d4e8 13383
ab78acc6
IC
13384 this.unspentMap[lookup] = unspent
13385 this.unspents.push(unspent)
13386 }
13387 }, this)
ebd8d4e8 13388
ab78acc6
IC
13389 tx.ins.forEach(function (txIn) {
13390 // copy and convert to big-endian hex
13391 var txInId = bufferutils.reverse(txIn.hash).toString('hex')
ebd8d4e8 13392
ab78acc6
IC
13393 var lookup = txInId + ':' + txIn.index
13394 if (!(lookup in this.unspentMap)) return
ebd8d4e8 13395
ab78acc6 13396 var unspent = this.unspentMap[lookup]
ebd8d4e8 13397
ab78acc6
IC
13398 if (isPending) {
13399 unspent.pending = true
13400 unspent.spent = true
13401 } else {
13402 delete this.unspentMap[lookup]
ebd8d4e8 13403
ab78acc6
IC
13404 this.unspents = this.unspents.filter(function (unspent2) {
13405 return unspent !== unspent2
13406 })
13407 }
13408 }, this)
13409}
ebd8d4e8 13410
ab78acc6
IC
13411Wallet.prototype.generateAddress = function () {
13412 var k = this.addresses.length
13413 var address = this.getExternalAccount().derive(k).getAddress()
ebd8d4e8 13414
ab78acc6 13415 this.addresses.push(address.toString())
ebd8d4e8 13416
ab78acc6
IC
13417 return this.getReceiveAddress()
13418}
ebd8d4e8 13419
ab78acc6
IC
13420Wallet.prototype.generateChangeAddress = function () {
13421 var k = this.changeAddresses.length
13422 var address = this.getInternalAccount().derive(k).getAddress()
ebd8d4e8 13423
ab78acc6 13424 this.changeAddresses.push(address.toString())
ebd8d4e8 13425
ab78acc6
IC
13426 return this.getChangeAddress()
13427}
ebd8d4e8 13428
ab78acc6
IC
13429Wallet.prototype.getAddress = function () {
13430 if (this.addresses.length === 0) {
13431 this.generateAddress()
ebd8d4e8
IC
13432 }
13433
ab78acc6
IC
13434 return this.addresses[this.addresses.length - 1]
13435}
ebd8d4e8 13436
ab78acc6
IC
13437Wallet.prototype.getBalance = function (minConf) {
13438 minConf = minConf || 0
ebd8d4e8 13439
ab78acc6
IC
13440 return this.unspents.filter(function (unspent) {
13441 return unspent.confirmations >= minConf
13442
13443 // FIXME: remove spent filter in 2.0.0
13444 }).filter(function (unspent) {
13445 return !unspent.spent
13446 }).reduce(function (accum, unspent) {
13447 return accum + unspent.value
13448 }, 0)
13449}
ebd8d4e8 13450
ab78acc6
IC
13451Wallet.prototype.getChangeAddress = function () {
13452 if (this.changeAddresses.length === 0) {
13453 this.generateChangeAddress()
ebd8d4e8
IC
13454 }
13455
ab78acc6
IC
13456 return this.changeAddresses[this.changeAddresses.length - 1]
13457}
13458
13459Wallet.prototype.getInternalPrivateKey = function (index) {
13460 return this.getInternalAccount().derive(index).privKey
13461}
13462
13463Wallet.prototype.getPrivateKey = function (index) {
13464 return this.getExternalAccount().derive(index).privKey
13465}
13466
13467Wallet.prototype.getPrivateKeyForAddress = function (address) {
13468 var index
ebd8d4e8 13469
ab78acc6
IC
13470 if ((index = this.addresses.indexOf(address)) > -1) {
13471 return this.getPrivateKey(index)
ebd8d4e8
IC
13472 }
13473
ab78acc6
IC
13474 if ((index = this.changeAddresses.indexOf(address)) > -1) {
13475 return this.getInternalPrivateKey(index)
ebd8d4e8
IC
13476 }
13477
ab78acc6
IC
13478 assert(false, 'Unknown address. Make sure the address is from the keychain and has been generated')
13479}
ebd8d4e8 13480
ab78acc6
IC
13481Wallet.prototype.getUnspentOutputs = function (minConf) {
13482 minConf = minConf || 0
ebd8d4e8 13483
ab78acc6
IC
13484 return this.unspents.filter(function (unspent) {
13485 return unspent.confirmations >= minConf
ebd8d4e8 13486
ab78acc6
IC
13487 // FIXME: remove spent filter in 2.0.0
13488 }).filter(function (unspent) {
13489 return !unspent.spent
13490 }).map(function (unspent) {
13491 return {
13492 address: unspent.address,
13493 confirmations: unspent.confirmations,
13494 index: unspent.index,
13495 txId: unspent.txId,
13496 value: unspent.value,
13497
13498 // FIXME: remove in 2.0.0
13499 hash: unspent.txId,
13500 pending: unspent.pending
13501 }
13502 })
13503}
ebd8d4e8 13504
ab78acc6
IC
13505Wallet.prototype.setUnspentOutputs = function (unspents) {
13506 this.unspentMap = {}
13507 this.unspents = unspents.map(function (unspent) {
13508 // FIXME: remove unspent.hash in 2.0.0
13509 var txId = unspent.txId || unspent.hash
13510 var index = unspent.index
ebd8d4e8 13511
ab78acc6
IC
13512 // FIXME: remove in 2.0.0
13513 if (unspent.hash !== undefined) {
13514 console.warn('unspent.hash is deprecated, use unspent.txId instead')
13515 }
ebd8d4e8 13516
ab78acc6
IC
13517 // FIXME: remove in 2.0.0
13518 if (index === undefined) {
13519 console.warn('unspent.outputIndex is deprecated, use unspent.index instead')
13520 index = unspent.outputIndex
13521 }
ebd8d4e8 13522
ab78acc6
IC
13523 typeForce('String', txId)
13524 typeForce('Number', index)
13525 typeForce('Number', unspent.value)
13526
13527 assert.equal(txId.length, 64, 'Expected valid txId, got ' + txId)
13528 assert.doesNotThrow(function () {
13529 Address.fromBase58Check(unspent.address)
13530 }, 'Expected Base58 Address, got ' + unspent.address)
13531 assert(isFinite(index), 'Expected finite index, got ' + index)
13532
13533 // FIXME: remove branch in 2.0.0
13534 if (unspent.confirmations !== undefined) {
13535 typeForce('Number', unspent.confirmations)
ebd8d4e8 13536 }
ebd8d4e8 13537
ab78acc6 13538 var txHash = bufferutils.reverse(new Buffer(txId, 'hex'))
ebd8d4e8 13539
ab78acc6
IC
13540 unspent = {
13541 address: unspent.address,
13542 confirmations: unspent.confirmations || 0,
13543 index: index,
13544 txHash: txHash,
13545 txId: txId,
13546 value: unspent.value,
ebd8d4e8 13547
ab78acc6
IC
13548 // FIXME: remove in 2.0.0
13549 pending: unspent.pending || false
13550 }
13551
13552 // FIXME: remove in 2.0.0
13553 this.unspentMap[txId + ':' + index] = unspent
13554
13555 return unspent
13556 }, this)
13557}
13558
13559Wallet.prototype.signWith = function (tx, addresses) {
13560 addresses.forEach(function (address, i) {
13561 var privKey = this.getPrivateKeyForAddress(address)
13562
13563 tx.sign(i, privKey)
13564 }, this)
13565
13566 return tx
13567}
13568
13569function estimatePaddedFee (tx, network) {
13570 var tmpTx = tx.clone()
13571 tmpTx.addOutput(Script.EMPTY, network.dustSoftThreshold || 0)
13572
13573 return network.estimateFee(tmpTx)
ebd8d4e8
IC
13574}
13575
ab78acc6
IC
13576// FIXME: 1.0.0 shims, remove in 2.0.0
13577Wallet.prototype.getReceiveAddress = Wallet.prototype.getAddress
13578Wallet.prototype.createTx = Wallet.prototype.createTransaction
13579
ebd8d4e8
IC
13580module.exports = Wallet
13581
ab78acc6
IC
13582}).call(this,require("buffer").Buffer)
13583},{"./address":54,"./bufferutils":57,"./hdnode":63,"./networks":66,"./script":68,"./transaction_builder":71,"assert":5,"buffer":7,"randombytes":52,"typeforce":53}]},{},[64])(64)
13584});</script>
d5dc92fd
IC
13585 <script>bitcoin.networks.shadow = {
13586 magicPrefix: '\x19ShadowCash Signed Message:\n',
13587 bip32: {
13588 public: 0xEE80286A,
13589 private: 0xEE8031E8
13590 },
13591 pubKeyHash: 0x3f,
13592 scriptHash: 0x7d,
13593 wif: 0xbf,
13594 dustThreshold: 0,
13595 feePerKb: 1000,
13596 estimateFee: function() { return "unused in this app" },
13597};
13598
13599bitcoin.networks.shadowtn = {
13600 magicPrefix: '\x19ShadowCash Signed Message:\n',
13601 bip32: {
13602 public: 0x76C0FDFB,
13603 private: 0x76C1077A
13604 },
13605 pubKeyHash: 0x7f,
13606 scriptHash: 0xc4,
13607 wif: 0xff,
13608 dustThreshold: 0,
13609 feePerKb: 1000,
13610 estimateFee: function() { return "unused in this app" },
13611};
5c434a8a
CM
13612
13613bitcoin.networks.clam = {
13614 bip32: {
13615 public: 0xa8c26d64,
13616 private: 0xa8c17826
13617 },
13618 pubKeyHash: 0x89,
13619 wif: 0x85,
13620};
5493efc3 13621
13622bitcoin.networks.dash = {
13623 bip32: {
13624 public: 0x0488b21e,
13625 private: 0x0488ade4
13626 },
68151a47 13627 pubKeyHash: 0x4c,
5493efc3 13628 scriptHash: 0x10,
13629 wif: 0xcc,
13630};
13631
07ac4350 13632bitcoin.networks.namecoin = {
13633 bip32: {
13634 public: 0x0488b21e,
13635 private: 0x0488ade4
13636 },
13637 pubKeyHash: 0x34,
13638 //scriptHash: 0x10,
13639 wif: 0x80,
13640};
13641
13642bitcoin.networks.peercoin = {
13643 bip32: {
13644 public: 0x0488b21e,
13645 private: 0x0488ade4
13646 },
13647 pubKeyHash: 0x37,
13648 //scriptHash: 0x10,
13649 wif: 0xb7,
13650};
13651
d5dc92fd 13652</script>
ab78acc6 13653 <script>// Select components from sjcl to suit the crypto operations bip39 requires.
80c4dd2a
IC
13654
13655//// base.js
13656
13657/** @fileOverview Javascript cryptography implementation.
13658 *
13659 * Crush to remove comments, shorten variable names and
13660 * generally reduce transmission size.
13661 *
13662 * @author Emily Stark
13663 * @author Mike Hamburg
13664 * @author Dan Boneh
13665 */
13666
13667"use strict";
13668/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */
13669/*global document, window, escape, unescape, module, require, Uint32Array */
13670
13671/** @namespace The Stanford Javascript Crypto Library, top-level namespace. */
13672var sjcl = {
13673 /** @namespace Symmetric ciphers. */
13674 cipher: {},
13675
13676 /** @namespace Hash functions. Right now only SHA256 is implemented. */
13677 hash: {},
13678
13679 /** @namespace Key exchange functions. Right now only SRP is implemented. */
13680 keyexchange: {},
13681
13682 /** @namespace Block cipher modes of operation. */
13683 mode: {},
13684
13685 /** @namespace Miscellaneous. HMAC and PBKDF2. */
13686 misc: {},
13687
13688 /**
13689 * @namespace Bit array encoders and decoders.
13690 *
13691 * @description
13692 * The members of this namespace are functions which translate between
13693 * SJCL's bitArrays and other objects (usually strings). Because it
13694 * isn't always clear which direction is encoding and which is decoding,
13695 * the method names are "fromBits" and "toBits".
13696 */
13697 codec: {},
13698
13699 /** @namespace Exceptions. */
13700 exception: {
13701 /** @constructor Ciphertext is corrupt. */
13702 corrupt: function(message) {
13703 this.toString = function() { return "CORRUPT: "+this.message; };
13704 this.message = message;
13705 },
13706
13707 /** @constructor Invalid parameter. */
13708 invalid: function(message) {
13709 this.toString = function() { return "INVALID: "+this.message; };
13710 this.message = message;
13711 },
13712
13713 /** @constructor Bug or missing feature in SJCL. @constructor */
13714 bug: function(message) {
13715 this.toString = function() { return "BUG: "+this.message; };
13716 this.message = message;
13717 },
13718
13719 /** @constructor Something isn't ready. */
13720 notReady: function(message) {
13721 this.toString = function() { return "NOT READY: "+this.message; };
13722 this.message = message;
ebd8d4e8 13723 }
80c4dd2a
IC
13724 }
13725};
13726
13727if(typeof module !== 'undefined' && module.exports){
13728 module.exports = sjcl;
13729}
13730if (typeof define === "function") {
13731 define([], function () {
13732 return sjcl;
13733 });
13734}
13735
13736
13737//// bitArray.js
13738
13739/** @fileOverview Arrays of bits, encoded as arrays of Numbers.
13740 *
13741 * @author Emily Stark
13742 * @author Mike Hamburg
13743 * @author Dan Boneh
13744 */
13745
13746/** @namespace Arrays of bits, encoded as arrays of Numbers.
13747 *
13748 * @description
13749 * <p>
13750 * These objects are the currency accepted by SJCL's crypto functions.
13751 * </p>
13752 *
13753 * <p>
13754 * Most of our crypto primitives operate on arrays of 4-byte words internally,
13755 * but many of them can take arguments that are not a multiple of 4 bytes.
13756 * This library encodes arrays of bits (whose size need not be a multiple of 8
13757 * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an
13758 * array of words, 32 bits at a time. Since the words are double-precision
13759 * floating point numbers, they fit some extra data. We use this (in a private,
13760 * possibly-changing manner) to encode the number of bits actually present
13761 * in the last word of the array.
13762 * </p>
13763 *
13764 * <p>
13765 * Because bitwise ops clear this out-of-band data, these arrays can be passed
13766 * to ciphers like AES which want arrays of words.
13767 * </p>
13768 */
13769sjcl.bitArray = {
13770 /**
13771 * Array slices in units of bits.
13772 * @param {bitArray} a The array to slice.
13773 * @param {Number} bstart The offset to the start of the slice, in bits.
13774 * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
13775 * slice until the end of the array.
13776 * @return {bitArray} The requested slice.
13777 */
13778 bitSlice: function (a, bstart, bend) {
13779 a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);
13780 return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);
13781 },
13782
13783 /**
13784 * Extract a number packed into a bit array.
13785 * @param {bitArray} a The array to slice.
13786 * @param {Number} bstart The offset to the start of the slice, in bits.
13787 * @param {Number} length The length of the number to extract.
13788 * @return {Number} The requested slice.
13789 */
13790 extract: function(a, bstart, blength) {
13791 // FIXME: this Math.floor is not necessary at all, but for some reason
13792 // seems to suppress a bug in the Chromium JIT.
13793 var x, sh = Math.floor((-bstart-blength) & 31);
13794 if ((bstart + blength - 1 ^ bstart) & -32) {
13795 // it crosses a boundary
13796 x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);
13797 } else {
13798 // within a single word
13799 x = a[bstart/32|0] >>> sh;
ebd8d4e8 13800 }
80c4dd2a
IC
13801 return x & ((1<<blength) - 1);
13802 },
13803
13804 /**
13805 * Concatenate two bit arrays.
13806 * @param {bitArray} a1 The first array.
13807 * @param {bitArray} a2 The second array.
13808 * @return {bitArray} The concatenation of a1 and a2.
13809 */
13810 concat: function (a1, a2) {
13811 if (a1.length === 0 || a2.length === 0) {
13812 return a1.concat(a2);
13813 }
13814
13815 var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);
13816 if (shift === 32) {
13817 return a1.concat(a2);
13818 } else {
13819 return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));
ebd8d4e8 13820 }
80c4dd2a
IC
13821 },
13822
13823 /**
13824 * Find the length of an array of bits.
13825 * @param {bitArray} a The array.
13826 * @return {Number} The length of a, in bits.
13827 */
13828 bitLength: function (a) {
13829 var l = a.length, x;
13830 if (l === 0) { return 0; }
13831 x = a[l - 1];
13832 return (l-1) * 32 + sjcl.bitArray.getPartial(x);
13833 },
13834
13835 /**
13836 * Truncate an array.
13837 * @param {bitArray} a The array.
13838 * @param {Number} len The length to truncate to, in bits.
13839 * @return {bitArray} A new array, truncated to len bits.
13840 */
13841 clamp: function (a, len) {
13842 if (a.length * 32 < len) { return a; }
13843 a = a.slice(0, Math.ceil(len / 32));
13844 var l = a.length;
13845 len = len & 31;
13846 if (l > 0 && len) {
13847 a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);
13848 }
13849 return a;
13850 },
13851
13852 /**
13853 * Make a partial word for a bit array.
13854 * @param {Number} len The number of bits in the word.
13855 * @param {Number} x The bits.
13856 * @param {Number} [0] _end Pass 1 if x has already been shifted to the high side.
13857 * @return {Number} The partial word.
13858 */
13859 partial: function (len, x, _end) {
13860 if (len === 32) { return x; }
13861 return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;
13862 },
13863
13864 /**
13865 * Get the number of bits used by a partial word.
13866 * @param {Number} x The partial word.
13867 * @return {Number} The number of bits used by the partial word.
13868 */
13869 getPartial: function (x) {
13870 return Math.round(x/0x10000000000) || 32;
13871 },
13872
13873 /**
13874 * Compare two arrays for equality in a predictable amount of time.
13875 * @param {bitArray} a The first array.
13876 * @param {bitArray} b The second array.
13877 * @return {boolean} true if a == b; false otherwise.
13878 */
13879 equal: function (a, b) {
13880 if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {
13881 return false;
ebd8d4e8 13882 }
80c4dd2a
IC
13883 var x = 0, i;
13884 for (i=0; i<a.length; i++) {
13885 x |= a[i]^b[i];
ebd8d4e8 13886 }
80c4dd2a
IC
13887 return (x === 0);
13888 },
13889
13890 /** Shift an array right.
13891 * @param {bitArray} a The array to shift.
13892 * @param {Number} shift The number of bits to shift.
13893 * @param {Number} [carry=0] A byte to carry in
13894 * @param {bitArray} [out=[]] An array to prepend to the output.
13895 * @private
13896 */
13897 _shiftRight: function (a, shift, carry, out) {
13898 var i, last2=0, shift2;
13899 if (out === undefined) { out = []; }
13900
13901 for (; shift >= 32; shift -= 32) {
13902 out.push(carry);
13903 carry = 0;
13904 }
13905 if (shift === 0) {
13906 return out.concat(a);
13907 }
13908
13909 for (i=0; i<a.length; i++) {
13910 out.push(carry | a[i]>>>shift);
13911 carry = a[i] << (32-shift);
13912 }
13913 last2 = a.length ? a[a.length-1] : 0;
13914 shift2 = sjcl.bitArray.getPartial(last2);
13915 out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));
13916 return out;
13917 },
13918
13919 /** xor a block of 4 words together.
13920 * @private
13921 */
13922 _xor4: function(x,y) {
13923 return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];
13924 },
13925
13926 /** byteswap a word array inplace.
13927 * (does not handle partial words)
13928 * @param {sjcl.bitArray} a word array
13929 * @return {sjcl.bitArray} byteswapped array
13930 */
13931 byteswapM: function(a) {
13932 var i, v, m = 0xff00;
13933 for (i = 0; i < a.length; ++i) {
13934 v = a[i];
13935 a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);
ebd8d4e8 13936 }
80c4dd2a
IC
13937 return a;
13938 }
13939};
13940
13941
13942//// codecString.js
13943
13944/** @fileOverview Bit array codec implementations.
13945 *
13946 * @author Emily Stark
13947 * @author Mike Hamburg
13948 * @author Dan Boneh
13949 */
13950
13951/** @namespace UTF-8 strings */
13952sjcl.codec.utf8String = {
13953 /** Convert from a bitArray to a UTF-8 string. */
13954 fromBits: function (arr) {
13955 var out = "", bl = sjcl.bitArray.bitLength(arr), i, tmp;
13956 for (i=0; i<bl/8; i++) {
13957 if ((i&3) === 0) {
13958 tmp = arr[i/4];
13959 }
13960 out += String.fromCharCode(tmp >>> 24);
13961 tmp <<= 8;
ebd8d4e8 13962 }
80c4dd2a
IC
13963 return decodeURIComponent(escape(out));
13964 },
13965
13966 /** Convert from a UTF-8 string to a bitArray. */
13967 toBits: function (str) {
13968 str = unescape(encodeURIComponent(str));
13969 var out = [], i, tmp=0;
13970 for (i=0; i<str.length; i++) {
13971 tmp = tmp << 8 | str.charCodeAt(i);
13972 if ((i&3) === 3) {
13973 out.push(tmp);
13974 tmp = 0;
13975 }
ebd8d4e8 13976 }
80c4dd2a
IC
13977 if (i&3) {
13978 out.push(sjcl.bitArray.partial(8*(i&3), tmp));
ebd8d4e8 13979 }
80c4dd2a
IC
13980 return out;
13981 }
13982};
13983
13984
13985//// codecHex.js
13986
13987/** @fileOverview Bit array codec implementations.
13988 *
13989 * @author Emily Stark
13990 * @author Mike Hamburg
13991 * @author Dan Boneh
13992 */
13993
13994/** @namespace Hexadecimal */
13995sjcl.codec.hex = {
13996 /** Convert from a bitArray to a hex string. */
13997 fromBits: function (arr) {
13998 var out = "", i;
13999 for (i=0; i<arr.length; i++) {
14000 out += ((arr[i]|0)+0xF00000000000).toString(16).substr(4);
ebd8d4e8 14001 }
80c4dd2a
IC
14002 return out.substr(0, sjcl.bitArray.bitLength(arr)/4);//.replace(/(.{8})/g, "$1 ");
14003 },
14004 /** Convert from a hex string to a bitArray. */
14005 toBits: function (str) {
14006 var i, out=[], len;
14007 str = str.replace(/\s|0x/g, "");
14008 len = str.length;
14009 str = str + "00000000";
14010 for (i=0; i<str.length; i+=8) {
14011 out.push(parseInt(str.substr(i,8),16)^0);
ebd8d4e8 14012 }
80c4dd2a
IC
14013 return sjcl.bitArray.clamp(out, len*4);
14014 }
14015};
14016
14017
14018//// sha512.js
14019
14020/** @fileOverview Javascript SHA-512 implementation.
14021 *
14022 * This implementation was written for CryptoJS by Jeff Mott and adapted for
14023 * SJCL by Stefan Thomas.
14024 *
14025 * CryptoJS (c) 2009–2012 by Jeff Mott. All rights reserved.
14026 * Released with New BSD License
14027 *
14028 * @author Emily Stark
14029 * @author Mike Hamburg
14030 * @author Dan Boneh
14031 * @author Jeff Mott
14032 * @author Stefan Thomas
14033 */
14034
14035/**
14036 * Context for a SHA-512 operation in progress.
14037 * @constructor
14038 * @class Secure Hash Algorithm, 512 bits.
14039 */
14040sjcl.hash.sha512 = function (hash) {
14041 if (!this._key[0]) { this._precompute(); }
14042 if (hash) {
14043 this._h = hash._h.slice(0);
14044 this._buffer = hash._buffer.slice(0);
14045 this._length = hash._length;
14046 } else {
14047 this.reset();
14048 }
14049};
14050
14051/**
14052 * Hash a string or an array of words.
14053 * @static
14054 * @param {bitArray|String} data the data to hash.
14055 * @return {bitArray} The hash value, an array of 16 big-endian words.
14056 */
14057sjcl.hash.sha512.hash = function (data) {
14058 return (new sjcl.hash.sha512()).update(data).finalize();
14059};
14060
14061sjcl.hash.sha512.prototype = {
14062 /**
14063 * The hash's block size, in bits.
14064 * @constant
14065 */
14066 blockSize: 1024,
14067
14068 /**
14069 * Reset the hash state.
14070 * @return this
14071 */
14072 reset:function () {
14073 this._h = this._init.slice(0);
14074 this._buffer = [];
14075 this._length = 0;
14076 return this;
14077 },
14078
14079 /**
14080 * Input several words to the hash.
14081 * @param {bitArray|String} data the data to hash.
14082 * @return this
14083 */
14084 update: function (data) {
14085 if (typeof data === "string") {
14086 data = sjcl.codec.utf8String.toBits(data);
ebd8d4e8 14087 }
80c4dd2a
IC
14088 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14089 ol = this._length,
14090 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14091 for (i = 1024+ol & -1024; i <= nl; i+= 1024) {
14092 this._block(b.splice(0,32));
ebd8d4e8 14093 }
80c4dd2a
IC
14094 return this;
14095 },
14096
14097 /**
14098 * Complete hashing and output the hash value.
14099 * @return {bitArray} The hash value, an array of 16 big-endian words.
14100 */
14101 finalize:function () {
14102 var i, b = this._buffer, h = this._h;
14103
14104 // Round out and push the buffer
14105 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14106
14107 // Round out the buffer to a multiple of 32 words, less the 4 length words.
14108 for (i = b.length + 4; i & 31; i++) {
14109 b.push(0);
ebd8d4e8 14110 }
80c4dd2a
IC
14111
14112 // append the length
14113 b.push(0);
14114 b.push(0);
14115 b.push(Math.floor(this._length / 0x100000000));
14116 b.push(this._length | 0);
14117
14118 while (b.length) {
14119 this._block(b.splice(0,32));
ebd8d4e8 14120 }
80c4dd2a
IC
14121
14122 this.reset();
14123 return h;
14124 },
14125
14126 /**
14127 * The SHA-512 initialization vector, to be precomputed.
14128 * @private
14129 */
14130 _init:[],
14131
14132 /**
14133 * Least significant 24 bits of SHA512 initialization values.
14134 *
14135 * Javascript only has 53 bits of precision, so we compute the 40 most
14136 * significant bits and add the remaining 24 bits as constants.
14137 *
14138 * @private
14139 */
14140 _initr: [ 0xbcc908, 0xcaa73b, 0x94f82b, 0x1d36f1, 0xe682d1, 0x3e6c1f, 0x41bd6b, 0x7e2179 ],
14141
14142 /*
14143 _init:
14144 [0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
14145 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179],
14146 */
14147
14148 /**
14149 * The SHA-512 hash key, to be precomputed.
14150 * @private
14151 */
14152 _key:[],
14153
14154 /**
14155 * Least significant 24 bits of SHA512 key values.
14156 * @private
14157 */
14158 _keyr:
14159 [0x28ae22, 0xef65cd, 0x4d3b2f, 0x89dbbc, 0x48b538, 0x05d019, 0x194f9b, 0x6d8118,
14160 0x030242, 0x706fbe, 0xe4b28c, 0xffb4e2, 0x7b896f, 0x1696b1, 0xc71235, 0x692694,
14161 0xf14ad2, 0x4f25e3, 0x8cd5b5, 0xac9c65, 0x2b0275, 0xa6e483, 0x41fbd4, 0x1153b5,
14162 0x66dfab, 0xb43210, 0xfb213f, 0xef0ee4, 0xa88fc2, 0x0aa725, 0x03826f, 0x0e6e70,
14163 0xd22ffc, 0x26c926, 0xc42aed, 0x95b3df, 0xaf63de, 0x77b2a8, 0xedaee6, 0x82353b,
14164 0xf10364, 0x423001, 0xf89791, 0x54be30, 0xef5218, 0x65a910, 0x71202a, 0xbbd1b8,
14165 0xd2d0c8, 0x41ab53, 0x8eeb99, 0x9b48a8, 0xc95a63, 0x418acb, 0x63e373, 0xb2b8a3,
14166 0xefb2fc, 0x172f60, 0xf0ab72, 0x6439ec, 0x631e28, 0x82bde9, 0xc67915, 0x72532b,
14167 0x26619c, 0xc0c207, 0xe0eb1e, 0x6ed178, 0x176fba, 0xc898a6, 0xf90dae, 0x1c471b,
14168 0x047d84, 0xc72493, 0xc9bebc, 0x100d4c, 0x3e42b6, 0x657e2a, 0xd6faec, 0x475817],
14169
14170 /*
14171 _key:
14172 [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
14173 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
14174 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
14175 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
14176 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
14177 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
14178 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
14179 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
14180 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
14181 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
14182 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
14183 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
14184 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
14185 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
14186 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
14187 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
14188 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
14189 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
14190 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
14191 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817],
14192 */
14193
14194 /**
14195 * Function to precompute _init and _key.
14196 * @private
14197 */
14198 _precompute: function () {
14199 // XXX: This code is for precomputing the SHA256 constants, change for
14200 // SHA512 and re-enable.
14201 var i = 0, prime = 2, factor;
14202
14203 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14204 function frac2(x) { return (x-Math.floor(x)) * 0x10000000000 & 0xff; }
14205
14206 outer: for (; i<80; prime++) {
14207 for (factor=2; factor*factor <= prime; factor++) {
14208 if (prime % factor === 0) {
14209 // not a prime
14210 continue outer;
ebd8d4e8 14211 }
80c4dd2a
IC
14212 }
14213
14214 if (i<8) {
14215 this._init[i*2] = frac(Math.pow(prime, 1/2));
14216 this._init[i*2+1] = (frac2(Math.pow(prime, 1/2)) << 24) | this._initr[i];
14217 }
14218 this._key[i*2] = frac(Math.pow(prime, 1/3));
14219 this._key[i*2+1] = (frac2(Math.pow(prime, 1/3)) << 24) | this._keyr[i];
14220 i++;
ebd8d4e8 14221 }
80c4dd2a
IC
14222 },
14223
14224 /**
14225 * Perform one cycle of SHA-512.
14226 * @param {bitArray} words one block of words.
14227 * @private
14228 */
14229 _block:function (words) {
14230 var i, wrh, wrl,
14231 w = words.slice(0),
14232 h = this._h,
14233 k = this._key,
14234 h0h = h[ 0], h0l = h[ 1], h1h = h[ 2], h1l = h[ 3],
14235 h2h = h[ 4], h2l = h[ 5], h3h = h[ 6], h3l = h[ 7],
14236 h4h = h[ 8], h4l = h[ 9], h5h = h[10], h5l = h[11],
14237 h6h = h[12], h6l = h[13], h7h = h[14], h7l = h[15];
14238
14239 // Working variables
14240 var ah = h0h, al = h0l, bh = h1h, bl = h1l,
14241 ch = h2h, cl = h2l, dh = h3h, dl = h3l,
14242 eh = h4h, el = h4l, fh = h5h, fl = h5l,
14243 gh = h6h, gl = h6l, hh = h7h, hl = h7l;
14244
14245 for (i=0; i<80; i++) {
14246 // load up the input word for this round
14247 if (i<16) {
14248 wrh = w[i * 2];
14249 wrl = w[i * 2 + 1];
14250 } else {
14251 // Gamma0
14252 var gamma0xh = w[(i-15) * 2];
14253 var gamma0xl = w[(i-15) * 2 + 1];
14254 var gamma0h =
14255 ((gamma0xl << 31) | (gamma0xh >>> 1)) ^
14256 ((gamma0xl << 24) | (gamma0xh >>> 8)) ^
14257 (gamma0xh >>> 7);
14258 var gamma0l =
14259 ((gamma0xh << 31) | (gamma0xl >>> 1)) ^
14260 ((gamma0xh << 24) | (gamma0xl >>> 8)) ^
14261 ((gamma0xh << 25) | (gamma0xl >>> 7));
14262
14263 // Gamma1
14264 var gamma1xh = w[(i-2) * 2];
14265 var gamma1xl = w[(i-2) * 2 + 1];
14266 var gamma1h =
14267 ((gamma1xl << 13) | (gamma1xh >>> 19)) ^
14268 ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
14269 (gamma1xh >>> 6);
14270 var gamma1l =
14271 ((gamma1xh << 13) | (gamma1xl >>> 19)) ^
14272 ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
14273 ((gamma1xh << 26) | (gamma1xl >>> 6));
14274
14275 // Shortcuts
14276 var wr7h = w[(i-7) * 2];
14277 var wr7l = w[(i-7) * 2 + 1];
14278
14279 var wr16h = w[(i-16) * 2];
14280 var wr16l = w[(i-16) * 2 + 1];
14281
14282 // W(round) = gamma0 + W(round - 7) + gamma1 + W(round - 16)
14283 wrl = gamma0l + wr7l;
14284 wrh = gamma0h + wr7h + ((wrl >>> 0) < (gamma0l >>> 0) ? 1 : 0);
14285 wrl += gamma1l;
14286 wrh += gamma1h + ((wrl >>> 0) < (gamma1l >>> 0) ? 1 : 0);
14287 wrl += wr16l;
14288 wrh += wr16h + ((wrl >>> 0) < (wr16l >>> 0) ? 1 : 0);
14289 }
14290
14291 w[i*2] = wrh |= 0;
14292 w[i*2 + 1] = wrl |= 0;
14293
14294 // Ch
14295 var chh = (eh & fh) ^ (~eh & gh);
14296 var chl = (el & fl) ^ (~el & gl);
14297
14298 // Maj
14299 var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
14300 var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
14301
14302 // Sigma0
14303 var sigma0h = ((al << 4) | (ah >>> 28)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
14304 var sigma0l = ((ah << 4) | (al >>> 28)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
14305
14306 // Sigma1
14307 var sigma1h = ((el << 18) | (eh >>> 14)) ^ ((el << 14) | (eh >>> 18)) ^ ((eh << 23) | (el >>> 9));
14308 var sigma1l = ((eh << 18) | (el >>> 14)) ^ ((eh << 14) | (el >>> 18)) ^ ((el << 23) | (eh >>> 9));
14309
14310 // K(round)
14311 var krh = k[i*2];
14312 var krl = k[i*2+1];
14313
14314 // t1 = h + sigma1 + ch + K(round) + W(round)
14315 var t1l = hl + sigma1l;
14316 var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
14317 t1l += chl;
14318 t1h += chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
14319 t1l += krl;
14320 t1h += krh + ((t1l >>> 0) < (krl >>> 0) ? 1 : 0);
14321 t1l = t1l + wrl|0; // FF32..FF34 perf issue https://bugzilla.mozilla.org/show_bug.cgi?id=1054972
14322 t1h += wrh + ((t1l >>> 0) < (wrl >>> 0) ? 1 : 0);
14323
14324 // t2 = sigma0 + maj
14325 var t2l = sigma0l + majl;
14326 var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
14327
14328 // Update working variables
14329 hh = gh;
14330 hl = gl;
14331 gh = fh;
14332 gl = fl;
14333 fh = eh;
14334 fl = el;
14335 el = (dl + t1l) | 0;
14336 eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14337 dh = ch;
14338 dl = cl;
14339 ch = bh;
14340 cl = bl;
14341 bh = ah;
14342 bl = al;
14343 al = (t1l + t2l) | 0;
14344 ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
14345 }
14346
14347 // Intermediate hash
14348 h0l = h[1] = (h0l + al) | 0;
14349 h[0] = (h0h + ah + ((h0l >>> 0) < (al >>> 0) ? 1 : 0)) | 0;
14350 h1l = h[3] = (h1l + bl) | 0;
14351 h[2] = (h1h + bh + ((h1l >>> 0) < (bl >>> 0) ? 1 : 0)) | 0;
14352 h2l = h[5] = (h2l + cl) | 0;
14353 h[4] = (h2h + ch + ((h2l >>> 0) < (cl >>> 0) ? 1 : 0)) | 0;
14354 h3l = h[7] = (h3l + dl) | 0;
14355 h[6] = (h3h + dh + ((h3l >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14356 h4l = h[9] = (h4l + el) | 0;
14357 h[8] = (h4h + eh + ((h4l >>> 0) < (el >>> 0) ? 1 : 0)) | 0;
14358 h5l = h[11] = (h5l + fl) | 0;
14359 h[10] = (h5h + fh + ((h5l >>> 0) < (fl >>> 0) ? 1 : 0)) | 0;
14360 h6l = h[13] = (h6l + gl) | 0;
14361 h[12] = (h6h + gh + ((h6l >>> 0) < (gl >>> 0) ? 1 : 0)) | 0;
14362 h7l = h[15] = (h7l + hl) | 0;
14363 h[14] = (h7h + hh + ((h7l >>> 0) < (hl >>> 0) ? 1 : 0)) | 0;
14364 }
14365};
14366
14367
14368//// hmac.js
14369
14370/** @fileOverview HMAC implementation.
14371 *
14372 * @author Emily Stark
14373 * @author Mike Hamburg
14374 * @author Dan Boneh
14375 */
14376
14377/** HMAC with the specified hash function.
14378 * @constructor
14379 * @param {bitArray} key the key for HMAC.
14380 * @param {Object} [hash=sjcl.hash.sha256] The hash function to use.
14381 */
14382sjcl.misc.hmac = function (key, Hash) {
14383 this._hash = Hash = Hash || sjcl.hash.sha256;
14384 var exKey = [[],[]], i,
14385 bs = Hash.prototype.blockSize / 32;
14386 this._baseHash = [new Hash(), new Hash()];
14387
14388 if (key.length > bs) {
14389 key = Hash.hash(key);
14390 }
14391
14392 for (i=0; i<bs; i++) {
14393 exKey[0][i] = key[i]^0x36363636;
14394 exKey[1][i] = key[i]^0x5C5C5C5C;
14395 }
14396
14397 this._baseHash[0].update(exKey[0]);
14398 this._baseHash[1].update(exKey[1]);
14399 this._resultHash = new Hash(this._baseHash[0]);
14400};
14401
14402/** HMAC with the specified hash function. Also called encrypt since it's a prf.
14403 * @param {bitArray|String} data The data to mac.
14404 */
14405sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function (data) {
14406 if (!this._updated) {
14407 this.update(data);
14408 return this.digest(data);
14409 } else {
14410 throw new sjcl.exception.invalid("encrypt on already updated hmac called!");
14411 }
14412};
14413
14414sjcl.misc.hmac.prototype.reset = function () {
14415 this._resultHash = new this._hash(this._baseHash[0]);
14416 this._updated = false;
14417};
14418
14419sjcl.misc.hmac.prototype.update = function (data) {
14420 this._updated = true;
14421 this._resultHash.update(data);
14422};
14423
14424sjcl.misc.hmac.prototype.digest = function () {
14425 var w = this._resultHash.finalize(), result = new (this._hash)(this._baseHash[1]).update(w).finalize();
14426
14427 this.reset();
14428
14429 return result;
14430};
14431
14432
14433//// pbkdf2.js
14434
14435
14436/** @fileOverview Password-based key-derivation function, version 2.0.
14437 *
14438 * @author Emily Stark
14439 * @author Mike Hamburg
14440 * @author Dan Boneh
14441 */
14442
14443/** Password-Based Key-Derivation Function, version 2.0.
14444 *
14445 * Generate keys from passwords using PBKDF2-HMAC-SHA256.
14446 *
14447 * This is the method specified by RSA's PKCS #5 standard.
14448 *
14449 * @param {bitArray|String} password The password.
14450 * @param {bitArray|String} salt The salt. Should have lots of entropy.
14451 * @param {Number} [count=1000] The number of iterations. Higher numbers make the function slower but more secure.
14452 * @param {Number} [length] The length of the derived key. Defaults to the
14453 output size of the hash function.
14454 * @param {Object} [Prff=sjcl.misc.hmac] The pseudorandom function family.
14455 * @return {bitArray} the derived key.
14456 */
14457sjcl.misc.pbkdf2 = function (password, salt, count, length, Prff) {
14458 count = count || 1000;
14459
14460 if (length < 0 || count < 0) {
14461 throw sjcl.exception.invalid("invalid params to pbkdf2");
14462 }
14463
14464 if (typeof password === "string") {
14465 password = sjcl.codec.utf8String.toBits(password);
14466 }
14467
14468 if (typeof salt === "string") {
14469 salt = sjcl.codec.utf8String.toBits(salt);
14470 }
14471
14472 Prff = Prff || sjcl.misc.hmac;
14473
14474 var prf = new Prff(password),
14475 u, ui, i, j, k, out = [], b = sjcl.bitArray;
14476
14477 for (k = 1; 32 * out.length < (length || 1); k++) {
14478 u = ui = prf.encrypt(b.concat(salt,[k]));
14479
14480 for (i=1; i<count; i++) {
14481 ui = prf.encrypt(ui);
14482 for (j=0; j<ui.length; j++) {
14483 u[j] ^= ui[j];
14484 }
ebd8d4e8 14485 }
80c4dd2a
IC
14486
14487 out = out.concat(u);
14488 }
14489
14490 if (length) { out = b.clamp(out, length); }
14491
14492 return out;
14493};
14494
14495
14496//// sha256.js
14497
14498/** @fileOverview Javascript SHA-256 implementation.
14499 *
14500 * An older version of this implementation is available in the public
14501 * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
14502 * Stanford University 2008-2010 and BSD-licensed for liability
14503 * reasons.
14504 *
14505 * Special thanks to Aldo Cortesi for pointing out several bugs in
14506 * this code.
14507 *
14508 * @author Emily Stark
14509 * @author Mike Hamburg
14510 * @author Dan Boneh
14511 */
14512
14513/**
14514 * Context for a SHA-256 operation in progress.
14515 * @constructor
14516 * @class Secure Hash Algorithm, 256 bits.
14517 */
14518sjcl.hash.sha256 = function (hash) {
14519 if (!this._key[0]) { this._precompute(); }
14520 if (hash) {
14521 this._h = hash._h.slice(0);
14522 this._buffer = hash._buffer.slice(0);
14523 this._length = hash._length;
14524 } else {
14525 this.reset();
14526 }
14527};
14528
14529/**
14530 * Hash a string or an array of words.
14531 * @static
14532 * @param {bitArray|String} data the data to hash.
14533 * @return {bitArray} The hash value, an array of 16 big-endian words.
14534 */
14535sjcl.hash.sha256.hash = function (data) {
14536 return (new sjcl.hash.sha256()).update(data).finalize();
14537};
14538
14539sjcl.hash.sha256.prototype = {
14540 /**
14541 * The hash's block size, in bits.
14542 * @constant
14543 */
14544 blockSize: 512,
14545
14546 /**
14547 * Reset the hash state.
14548 * @return this
14549 */
14550 reset:function () {
14551 this._h = this._init.slice(0);
14552 this._buffer = [];
14553 this._length = 0;
14554 return this;
14555 },
14556
14557 /**
14558 * Input several words to the hash.
14559 * @param {bitArray|String} data the data to hash.
14560 * @return this
14561 */
14562 update: function (data) {
14563 if (typeof data === "string") {
14564 data = sjcl.codec.utf8String.toBits(data);
14565 }
14566 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14567 ol = this._length,
14568 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14569 for (i = 512+ol & -512; i <= nl; i+= 512) {
14570 this._block(b.splice(0,16));
ebd8d4e8 14571 }
3af2954a 14572 return this;
80c4dd2a
IC
14573 },
14574
14575 /**
14576 * Complete hashing and output the hash value.
14577 * @return {bitArray} The hash value, an array of 8 big-endian words.
14578 */
14579 finalize:function () {
14580 var i, b = this._buffer, h = this._h;
14581
14582 // Round out and push the buffer
14583 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14584
14585 // Round out the buffer to a multiple of 16 words, less the 2 length words.
14586 for (i = b.length + 2; i & 15; i++) {
14587 b.push(0);
14588 }
14589
14590 // append the length
14591 b.push(Math.floor(this._length / 0x100000000));
14592 b.push(this._length | 0);
14593
14594 while (b.length) {
14595 this._block(b.splice(0,16));
14596 }
14597
14598 this.reset();
14599 return h;
14600 },
14601
14602 /**
14603 * The SHA-256 initialization vector, to be precomputed.
14604 * @private
14605 */
14606 _init:[],
14607 /*
14608 _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],
14609 */
14610
14611 /**
14612 * The SHA-256 hash key, to be precomputed.
14613 * @private
14614 */
14615 _key:[],
14616 /*
14617 _key:
14618 [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
14619 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
14620 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
14621 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
14622 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
14623 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
14624 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
14625 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],
14626 */
14627
14628
14629 /**
14630 * Function to precompute _init and _key.
14631 * @private
14632 */
14633 _precompute: function () {
14634 var i = 0, prime = 2, factor;
14635
14636 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14637
14638 outer: for (; i<64; prime++) {
14639 for (factor=2; factor*factor <= prime; factor++) {
14640 if (prime % factor === 0) {
14641 // not a prime
14642 continue outer;
ebd8d4e8 14643 }
80c4dd2a
IC
14644 }
14645
14646 if (i<8) {
14647 this._init[i] = frac(Math.pow(prime, 1/2));
14648 }
14649 this._key[i] = frac(Math.pow(prime, 1/3));
14650 i++;
ebd8d4e8 14651 }
80c4dd2a
IC
14652 },
14653
14654 /**
14655 * Perform one cycle of SHA-256.
14656 * @param {bitArray} words one block of words.
14657 * @private
14658 */
14659 _block:function (words) {
14660 var i, tmp, a, b,
14661 w = words.slice(0),
14662 h = this._h,
14663 k = this._key,
14664 h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],
14665 h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];
14666
14667 /* Rationale for placement of |0 :
14668 * If a value can overflow is original 32 bits by a factor of more than a few
14669 * million (2^23 ish), there is a possibility that it might overflow the
14670 * 53-bit mantissa and lose precision.
14671 *
14672 * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that
14673 * propagates around the loop, and on the hash state h[]. I don't believe
14674 * that the clamps on h4 and on h0 are strictly necessary, but it's close
14675 * (for h4 anyway), and better safe than sorry.
14676 *
14677 * The clamps on h[] are necessary for the output to be correct even in the
14678 * common case and for short inputs.
14679 */
14680 for (i=0; i<64; i++) {
14681 // load up the input word for this round
14682 if (i<16) {
14683 tmp = w[i];
14684 } else {
14685 a = w[(i+1 ) & 15];
14686 b = w[(i+14) & 15];
14687 tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) +
14688 (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +
14689 w[i&15] + w[(i+9) & 15]) | 0;
14690 }
14691
14692 tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;
14693
14694 // shift register
14695 h7 = h6; h6 = h5; h5 = h4;
14696 h4 = h3 + tmp | 0;
14697 h3 = h2; h2 = h1; h1 = h0;
14698
14699 h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;
14700 }
14701
14702 h[0] = h[0]+h0 | 0;
14703 h[1] = h[1]+h1 | 0;
14704 h[2] = h[2]+h2 | 0;
14705 h[3] = h[3]+h3 | 0;
14706 h[4] = h[4]+h4 | 0;
14707 h[5] = h[5]+h5 | 0;
14708 h[6] = h[6]+h6 | 0;
14709 h[7] = h[7]+h7 | 0;
14710 }
14711};
ea87f1d3
IC
14712</script>
14713 <script>// An extremely basic translation library
14714//
14715// Example usage:
14716//
14717// Set some html to be translated. Do this using the 'data-translate' attribute:
14718//
14719// <div data-translate>Test</div>
14720// <div data-translate-html><em>keep em tag</em></div>
52da415f
IC
14721// <input data-translate-placeholder placeholder="Example placeholder">
14722// <span data-translate-title title="Example title"></span>
ea87f1d3
IC
14723//
14724// Obtain all the phrases to be translated via js debug console:
14725//
14726// Translate.phrasesAsJson();
14727//
14728// Use that template to translate the phrases into another language.
14729// Leave the key the same. Change the value to the new language.
14730//
14731// Create a js file to load the new phrases. In this example for Spanish,
14732// es.js will contain the following code:
14733//
14734// Translate.loadForeignPhrases("es", {
14735// "Test": "Test in Spanish",
14736// "<em>keep em tag</em>": "<em>keep em tag in Spanish</em>",
52da415f
IC
14737// "Example placeholder": "Example placeholder in Spanish"
14738// "Example title": "Example title in Spanish"
ea87f1d3
IC
14739// });
14740//
14741// In your UI put a listener for clicking on the Spanish button:
14742//
14743// mySpanishButton.addEventListener("click", function() {
14744// Translate.setLanguage("es");
14745// });
14746// myEnglishButton.addEventListener("click", function() {
14747// Translate.setLanguage("en");
14748// });
14749
14750Translate = new (function() {
14751
14752 var defaultLanguage = "en";
14753
14754 var allPhrases = {};
14755 allPhrases[defaultLanguage] = {};
14756
14757 // Node types
14758
14759 var text = {
14760 selector: "[data-translate]",
14761 getKey: function() {
14762 return this.textContent.trim().replace(/\s+/g, " ");
14763 },
14764 setPhrase: function(p) {
14765 this.textContent = p;
14766 },
14767 }
14768
14769 var html = {
14770 selector: "[data-translate-html]",
14771 getKey: function() {
14772 return this.innerHTML.trim().replace(/\s+/g, " ");
14773 },
14774 setPhrase: function(p) {
14775 this.innerHTML = p;
14776 },
14777 }
14778
14779 var placeholder = {
14780 selector: "[data-translate-placeholder]",
14781 getKey: function() {
14782 return this.getAttribute("placeholder").trim().replace(/\s+/g, " ");
14783 },
14784 setPhrase: function(p) {
14785 this.setAttribute("placeholder", p);
14786 },
14787 }
14788
52da415f
IC
14789 var title = {
14790 selector: "[data-translate-title]",
14791 getKey: function() {
14792 return this.getAttribute("title").trim().replace(/\s+/g, " ");
14793 },
14794 setPhrase: function(p) {
14795 this.setAttribute("title", p);
14796 },
14797 }
14798
ea87f1d3
IC
14799 // Get elements to be translated
14800 var allEls = getEls(text)
14801 .concat(getEls(html))
52da415f
IC
14802 .concat(getEls(placeholder))
14803 .concat(getEls(title));
ea87f1d3
IC
14804
14805 // Provides access to phrases from a non-default language.
14806 // See phrases_en.js for example usage.
14807 this.loadForeignPhrases = function(language, phrases) {
14808 allPhrases[language] = phrases;
14809 }
14810
14811 // Displays a different language, eg "en" or "fr"
14812 this.setLanguage = function(language) {
14813 for (var i=0; i<allEls.length; i++) {
14814 var el = allEls[i];
14815 var key = el.key;
14816 if (!(language in allPhrases)) {
14817 console.log(language + " not in allPhrases");
14818 return;
14819 }
14820 if (!(key in allPhrases[language])) {
14821 console.log(language + " does not contain phrase: " + key);
14822 return;
14823 }
14824 var phrase = allPhrases[language][key];
14825 el.setPhrase(phrase);
14826 }
14827 }
14828
14829 // Converts the phrases to a key-pair json file.
14830 // This is a good way to export phrases for use in translation tools.
14831 this.phrasesAsJson = function(language) {
14832 var keys = [];
14833 for (var i=0; i<allEls.length; i++) {
14834 var el = allEls[i];
14835 var key = el.key;
14836 keys.push(key);
14837 }
14838 keys.sort();
14839 var output = {};
14840 for (var i=0; i<keys.length; i++) {
14841 var key = keys[i];
14842 var translated = "";
14843 if (language in allPhrases && key in allPhrases[language]) {
14844 translated = allPhrases[language][key];
14845 }
14846 output[key] = translated;
14847 }
14848 return JSON.stringify(output, null, 2);
14849 }
14850
14851 function getEls(nodeType) {
14852 var nodes = document.querySelectorAll(nodeType.selector);
14853 var els = [];
14854 for (var i=0; i<nodes.length; i++) {
14855 var node = nodes[i];
14856 node.getKey = nodeType.getKey;
14857 node.setPhrase = nodeType.setPhrase;
14858 node.key = node.getKey();
14859 allPhrases[defaultLanguage][node.key] = node.key;
14860 els.push(node);
14861 }
14862 return els;
14863 }
14864
14865})();
14866</script>
14867 <script>Translate.loadForeignPhrases("en",
14868{
14869 "<code>m/44'/0'/0'/0</code> generates public addresses": "<code>m/44'/0'/0'/0</code> generates public addresses",
14870 "<code>m/44'/0'/0'/1</code> generates change addresses": "<code>m/44'/0'/0'/1</code> generates change addresses",
14871 "<code>m/44'/0'/0'</code> generates extended keys for import / export": "<code>m/44'/0'/0'</code> generates extended keys for import / export",
14872 "<code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).": "<code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).",
14873 "Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards": "Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards",
14874 "Account": "Account",
14875 "Address": "Address",
14876 "Alternatively, download the file from the repository": "Alternatively, download the file from the repository",
14877 "BIP32 Derivation Path": "BIP32 Derivation Path",
14878 "BIP32 Extended Key": "BIP32 Extended Key",
14879 "BIP32 Extended Key (addresses only)": "BIP32 Extended Key (addresses only)",
14880 "BIP32 Root Key": "BIP32 Root Key",
14881 "BIP39 Mnemonic": "BIP39 Mnemonic",
14882 "BIP39 Passphrase (optional)": "BIP39 Passphrase (optional)",
14883 "BIP39 Seed": "BIP39 Seed",
14884 "Base 10": "Base 10",
14885 "Base 6": "Base 6",
14886 "Be careful - it can be easy to make mistakes if you don't know what you're doing.": "Be careful - it can be easy to make mistakes if you don't know what you're doing.",
14887 "Binary": "Binary",
14888 "Bitcoin Core": "Bitcoin Core",
14889 "Bits Per Event": "Bits Per Event",
14890 "Block Explorers": "Block Explorers",
14891 "Can be used with": "Can be used with",
14892 "Card": "Card",
14893 "Coin": "Coin",
14894 "Dice": "Dice",
14895 "Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't random enough for the needs of this tool.": "Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't random enough for the needs of this tool.",
14896 "Double-click that file to open it in a browser on any offline computer.": "Double-click that file to open it in a browser on any offline computer.",
14897 "Entropy": "Entropy",
14898 "Entropy Type": "Entropy Type",
14899 "Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.": "Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.",
14900 "Entropy values must be sourced from a <a href=\"https://en.wikipedia.org/wiki/Random_number_generation\" target=\"_blank\">strong source of randomness</a>.": "Entropy values must be sourced from a <a href=\"https://en.wikipedia.org/wiki/Random_number_generation\" target=\"_blank\">strong source of randomness</a>.",
14901 "Event Count": "Event Count",
14902 "External / Internal": "External / Internal",
14903 "Filtered Entropy": "Filtered Entropy",
14904 "For more info see the <a href=\"http://www.mycelium.com/\" target=\"_blank\">Mycelium Wallet homepage</a>": "For more info see the <a href=\"http://www.mycelium.com/\" target=\"_blank\">Mycelium Wallet homepage</a>",
14905 "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\" target=\"_blank\">BIP39 spec</a>.": "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\" target=\"_blank\">BIP39 spec</a>.",
14906 "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">BIP44 spec</a>.": "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">BIP44 spec</a>.",
14907 "For more info see the <a href=\"https://github.com/bitcoin/bitcoin/pull/8035\" target=\"_blank\">Bitcoin Core BIP32 implementation</a>": "For more info see the <a href=\"https://github.com/bitcoin/bitcoin/pull/8035\" target=\"_blank\">Bitcoin Core BIP32 implementation</a>",
14908 "For more info see the BIP32 spec": "For more info see the BIP32 spec",
14909 "From entropy length (3 words per 32 bits)": "From entropy length (3 words per 32 bits)",
14910 "Generate a random mnemonic, or enter your own below": "Generate a random mnemonic, or enter your own below",
14911 "Get the source code from the repository": "Get the source code from the repository",
14912 "Hex": "Hex",
14913 "Hierarchical Deterministic Wallets": "Hierarchical Deterministic Wallets",
14914 "If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.": "If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.",
14915 "In that case you might choose to use your own source of entropy.": "In that case you might choose to use your own source of entropy.",
14916 "In your browser, select file save-as, and save this page as a file.": "In your browser, select file save-as, and save this page as a file.",
14917 "Libraries": "Libraries",
14918 "Mnemonic Language": "Mnemonic Language",
14919 "Mnemonic Length": "Mnemonic Length",
14920 "Mnemonic code for generating deterministic keys": "Mnemonic code for generating deterministic keys",
14921 "More info": "More info",
14922 "Multi-Account Hierarchy for Deterministic Wallets": "Multi-Account Hierarchy for Deterministic Wallets",
14923 "Mycelium Wallet": "Mycelium Wallet",
14924 "Note these addreses are derived from the BIP32 Extended Key": "Note these addreses are derived from the BIP32 Extended Key",
14925 "Offline Usage": "Offline Usage",
14926 "Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.": "Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.",
14927 "Path": "Path",
14928 "Private Key": "Private Key",
14929 "Private Keys": "Private Keys",
14930 "Public Key": "Public Key",
14931 "Purpose": "Purpose",
14932 "Raw Binary": "Raw Binary",
14933 "Read more": "Read more",
14934 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki\" target=\"_blank\">official BIP32 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki\" target=\"_blank\">official BIP32 spec</a>",
14935 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\">official BIP39 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\">official BIP39 spec</a>",
14936 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">official BIP44 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">official BIP44 spec</a>",
14937 "See the demo at <a href=\"http://bip32.org/\" target=\"_blank\">bip32.org</a>": "See the demo at <a href=\"http://bip32.org/\" target=\"_blank\">bip32.org</a>",
14938 "Show": "Show",
14939 "Show more rows": "Show more rows",
14940 "Strength": "Strength",
14941 "Supply my own source of entropy": "Supply my own source of entropy",
14942 "The built in random generator can generally be trusted more than your own intuition about randomness.": "The built in random generator can generally be trusted more than your own intuition about randomness.",
14943 "The random mnemonic generator on this page uses a <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues\" target=\"_blank\">cryptographically secure random number generator</a>.": "The random mnemonic generator on this page uses a <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues\" target=\"_blank\">cryptographically secure random number generator</a>.",
14944 "This means flipping a fair coin, rolling a fair dice, noise measurements etc.": "This means flipping a fair coin, rolling a fair dice, noise measurements etc.",
14945 "This project is 100% open-source code": "This project is 100% open-source code",
14946 "Toggle": "Toggle",
14947 "Total Bits": "Total Bits",
14948 "Use hardened addresses": "Use hardened addresses",
14949 "Use path <code>m/0'/0'</code> with hardened addresses.": "Use path <code>m/0'/0'</code> with hardened addresses.",
14950 "Use path <code>m/44'/0'/0'</code>.": "Use path <code>m/44'/0'/0'</code>.",
14951 "Use private keys at <a href=\"https://web.archive.org/web/20150707020924/https://brainwallet.org/\" target=\"_blank\">brainwallet.org</a>.": "Use private keys at <a href=\"https://web.archive.org/web/20150707020924/https://brainwallet.org/\" target=\"_blank\">brainwallet.org</a>.",
14952 "Valid entropy values include:": "Valid entropy values include:",
14953 "Warning": "Warning",
14954 "Word Count": "Word Count",
14955 "You are not a good source of entropy.": "You are not a good source of entropy.",
14956 "You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).": "You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).",
14957 "You can use this tool without having to be online.": "You can use this tool without having to be online.",
14958 "words": "words"
14959}
14960);
dc55c6b0 14961</script>
ab78acc6 14962 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
3af2954a 14963WORDLISTS["english"] = [
ebd8d4e8
IC
14964"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
14965"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
14966"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",
14967"adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent",
14968"agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert",
14969"alien","all","alley","allow","almost","alone","alpha","already","also","alter",
14970"always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger",
14971"angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique",
14972"anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic",
14973"area","arena","argue","arm","armed","armor","army","around","arrange","arrest",
14974"arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset",
14975"assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction",
14976"audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake",
14977"aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge",
14978"bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain",
14979"barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
14980"beef","before","begin","behave","behind","believe","below","belt","bench","benefit",
14981"best","betray","better","between","beyond","bicycle","bid","bike","bind","biology",
14982"bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless",
14983"blind","blood","blossom","blouse","blue","blur","blush","board","boat","body",
14984"boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
14985"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread",
14986"breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze",
14987"broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb",
14988"bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy",
14989"butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
14990"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas",
14991"canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry",
14992"cart","case","cash","casino","castle","casual","cat","catalog","catch","category",
14993"cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century",
14994"cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase",
14995"chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child",
14996"chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
14997"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk",
14998"clever","click","client","cliff","climb","clinic","clip","clock","clog","close",
14999"cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut",
15000"code","coffee","coil","coin","collect","color","column","combine","come","comfort",
15001"comic","common","company","concert","conduct","confirm","congress","connect","consider","control",
15002"convince","cook","cool","copper","copy","coral","core","corn","correct","cost",
15003"cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle",
15004"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek",
15005"crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial",
15006"cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup",
15007"cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad",
15008"damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
15009"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense",
15010"define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny",
15011"depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk",
15012"despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond",
15013"diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur",
15014"direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance",
15015"divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain",
15016"donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
15017"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop",
15018"drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf",
15019"dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo",
15020"ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow",
15021"elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
15022"embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless",
15023"endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough",
15024"enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip",
15025"era","erase","erode","erosion","error","erupt","escape","essay","essence","estate",
15026"eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange",
15027"excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
15028"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye",
15029"eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame",
15030"family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father",
15031"fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female",
15032"fence","festival","fetch","fever","few","fiber","fiction","field","figure","file",
15033"film","filter","final","find","fine","finger","finish","fire","firm","first",
15034"fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor",
15035"flee","flight","flip","float","flock","floor","flower","fluid","flush","fly",
15036"foam","focus","fog","foil","fold","follow","food","foot","force","forest",
15037"forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile",
15038"frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen",
15039"fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy",
15040"gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp",
15041"gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture",
15042"ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance",
15043"glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue",
15044"goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown",
15045"grab","grace","grain","grant","grape","grass","gravity","great","green","grid",
15046"grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt",
15047"guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy",
15048"harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health",
15049"heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden",
15050"high","hill","hint","hip","hire","history","hobby","hockey","hold","hole",
15051"holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital",
15052"host","hotel","hour","hover","hub","huge","human","humble","humor","hundred",
15053"hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea",
15054"identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune",
15055"impact","impose","improve","impulse","inch","include","income","increase","index","indicate",
15056"indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury",
15057"inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install",
15058"intact","interest","into","invest","invite","involve","iron","island","isolate","issue",
15059"item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel",
15060"job","join","joke","journey","joy","judge","juice","jump","jungle","junior",
15061"junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney",
15062"kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife",
15063"knock","know","lab","label","labor","ladder","lady","lake","lamp","language",
15064"laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit",
15065"layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal",
15066"legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level",
15067"liar","liberty","library","license","life","lift","light","like","limb","limit",
15068"link","lion","liquid","list","little","live","lizard","load","loan","lobster",
15069"local","lock","logic","lonely","long","loop","lottery","loud","lounge","love",
15070"loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad",
15071"magic","magnet","maid","mail","main","major","make","mammal","man","manage",
15072"mandate","mango","mansion","manual","maple","marble","march","margin","marine","market",
15073"marriage","mask","mass","master","match","material","math","matrix","matter","maximum",
15074"maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt",
15075"member","memory","mention","menu","mercy","merge","merit","merry","mesh","message",
15076"metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor",
15077"minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile",
15078"model","modify","mom","moment","monitor","monkey","monster","month","moon","moral",
15079"more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie",
15080"much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual",
15081"myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature",
15082"near","neck","need","negative","neglect","neither","nephew","nerve","nest","net",
15083"network","neutral","never","news","next","nice","night","noble","noise","nominee",
15084"noodle","normal","north","nose","notable","note","nothing","notice","novel","now",
15085"nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe",
15086"obtain","obvious","occur","ocean","october","odor","off","offer","office","often",
15087"oil","okay","old","olive","olympic","omit","once","one","onion","online",
15088"only","open","opera","opinion","oppose","option","orange","orbit","orchard","order",
15089"ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output",
15090"outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact",
15091"paddle","page","pair","palace","palm","panda","panel","panic","panther","paper",
15092"parade","parent","park","parrot","party","pass","patch","path","patient","patrol",
15093"pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen",
15094"penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo",
15095"phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot",
15096"pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate",
15097"play","please","pledge","pluck","plug","plunge","poem","poet","point","polar",
15098"pole","police","pond","pony","pool","popular","portion","position","possible","post",
15099"potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare",
15100"present","pretty","prevent","price","pride","primary","print","priority","prison","private",
15101"prize","problem","process","produce","profit","program","project","promote","proof","property",
15102"prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin",
15103"punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle",
15104"pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit",
15105"raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp",
15106"ranch","random","range","rapid","rare","rate","rather","raven","raw","razor",
15107"ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle",
15108"reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release",
15109"relief","rely","remain","remember","remind","remove","render","renew","rent","reopen",
15110"repair","repeat","replace","report","require","rescue","resemble","resist","resource","response",
15111"result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib",
15112"ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot",
15113"ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket",
15114"romance","roof","rookie","room","rose","rotate","rough","round","route","royal",
15115"rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness",
15116"safe","sail","salad","salmon","salon","salt","salute","same","sample","sand",
15117"satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter",
15118"scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script",
15119"scrub","sea","search","season","seat","second","secret","section","security","seed",
15120"seek","segment","select","sell","seminar","senior","sense","sentence","series","service",
15121"session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell",
15122"sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop",
15123"short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side",
15124"siege","sight","sign","silent","silk","silly","silver","similar","simple","since",
15125"sing","siren","sister","situate","six","size","skate","sketch","ski","skill",
15126"skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight",
15127"slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth",
15128"snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda",
15129"soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry",
15130"sort","soul","sound","soup","source","south","space","spare","spatial","spawn",
15131"speak","special","speed","spell","spend","sphere","spice","spider","spike","spin",
15132"spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring",
15133"spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp",
15134"stand","start","state","stay","steak","steel","stem","step","stereo","stick",
15135"still","sting","stock","stomach","stone","stool","story","stove","strategy","street",
15136"strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway",
15137"success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny",
15138"sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey",
15139"suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim",
15140"swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag",
15141"tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi",
15142"teach","team","tell","ten","tenant","tennis","tent","term","test","text",
15143"thank","that","theme","then","theory","there","they","thing","this","thought",
15144"three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber",
15145"time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler",
15146"toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool",
15147"tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist",
15148"toward","tower","town","toy","track","trade","traffic","tragic","train","transfer",
15149"trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick",
15150"trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust",
15151"truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle",
15152"twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella",
15153"unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform",
15154"unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade",
15155"uphold","upon","upper","upset","urban","urge","usage","use","used","useful",
15156"useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van",
15157"vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue",
15158"verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory",
15159"video","view","village","vintage","violin","virtual","virus","visa","visit","visual",
15160"vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage",
15161"wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash",
15162"wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather",
15163"web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat",
15164"wheel","when","where","whip","whisper","wide","width","wife","wild","will",
15165"win","window","wine","wing","wink","winner","winter","wire","wisdom","wise",
15166"wish","witness","wolf","woman","wonder","wood","wool","word","work","world",
15167"worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year",
15168"yellow","you","young","youth","zebra","zero","zone","zoo"]
0515eeec
IC
15169</script>
15170 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15171WORDLISTS["japanese"] = [
15172"あいこくしん", "あいさつ", "あいだ", "あおぞら", "あかちゃん", "あきる", "あけがた", "あける", "あこがれる", "あさい",
15173"あさひ", "あしあと", "あじわう", "あずかる", "あずき", "あそぶ", "あたえる", "あたためる", "あたりまえ", "あたる",
15174"あつい", "あつかう", "あっしゅく", "あつまり", "あつめる", "あてな", "あてはまる", "あひる", "あぶら", "あぶる",
15175"あふれる", "あまい", "あまど", "あまやかす", "あまり", "あみもの", "あめりか", "あやまる", "あゆむ", "あらいぐま",
15176"あらし", "あらすじ", "あらためる", "あらゆる", "あらわす", "ありがとう", "あわせる", "あわてる", "あんい", "あんがい",
15177"あんこ", "あんぜん", "あんてい", "あんない", "あんまり", "いいだす", "いおん", "いがい", "いがく", "いきおい",
15178"いきなり", "いきもの", "いきる", "いくじ", "いくぶん", "いけばな", "いけん", "いこう", "いこく", "いこつ",
15179"いさましい", "いさん", "いしき", "いじゅう", "いじょう", "いじわる", "いずみ", "いずれ", "いせい", "いせえび",
15180"いせかい", "いせき", "いぜん", "いそうろう", "いそがしい", "いだい", "いだく", "いたずら", "いたみ", "いたりあ",
15181"いちおう", "いちじ", "いちど", "いちば", "いちぶ", "いちりゅう", "いつか", "いっしゅん", "いっせい", "いっそう",
15182"いったん", "いっち", "いってい", "いっぽう", "いてざ", "いてん", "いどう", "いとこ", "いない", "いなか",
15183"いねむり", "いのち", "いのる", "いはつ", "いばる", "いはん", "いびき", "いひん", "いふく", "いへん",
15184"いほう", "いみん", "いもうと", "いもたれ", "いもり", "いやがる", "いやす", "いよかん", "いよく", "いらい",
15185"いらすと", "いりぐち", "いりょう", "いれい", "いれもの", "いれる", "いろえんぴつ", "いわい", "いわう", "いわかん",
15186"いわば", "いわゆる", "いんげんまめ", "いんさつ", "いんしょう", "いんよう", "うえき", "うえる", "うおざ", "うがい",
15187"うかぶ", "うかべる", "うきわ", "うくらいな", "うくれれ", "うけたまわる", "うけつけ", "うけとる", "うけもつ", "うける",
15188"うごかす", "うごく", "うこん", "うさぎ", "うしなう", "うしろがみ", "うすい", "うすぎ", "うすぐらい", "うすめる",
15189"うせつ", "うちあわせ", "うちがわ", "うちき", "うちゅう", "うっかり", "うつくしい", "うったえる", "うつる", "うどん",
15190"うなぎ", "うなじ", "うなずく", "うなる", "うねる", "うのう", "うぶげ", "うぶごえ", "うまれる", "うめる",
15191"うもう", "うやまう", "うよく", "うらがえす", "うらぐち", "うらない", "うりあげ", "うりきれ", "うるさい", "うれしい",
15192"うれゆき", "うれる", "うろこ", "うわき", "うわさ", "うんこう", "うんちん", "うんてん", "うんどう", "えいえん",
15193"えいが", "えいきょう", "えいご", "えいせい", "えいぶん", "えいよう", "えいわ", "えおり", "えがお", "えがく",
15194"えきたい", "えくせる", "えしゃく", "えすて", "えつらん", "えのぐ", "えほうまき", "えほん", "えまき", "えもじ",
15195"えもの", "えらい", "えらぶ", "えりあ", "えんえん", "えんかい", "えんぎ", "えんげき", "えんしゅう", "えんぜつ",
15196"えんそく", "えんちょう", "えんとつ", "おいかける", "おいこす", "おいしい", "おいつく", "おうえん", "おうさま", "おうじ",
15197"おうせつ", "おうたい", "おうふく", "おうべい", "おうよう", "おえる", "おおい", "おおう", "おおどおり", "おおや",
15198"おおよそ", "おかえり", "おかず", "おがむ", "おかわり", "おぎなう", "おきる", "おくさま", "おくじょう", "おくりがな",
15199"おくる", "おくれる", "おこす", "おこなう", "おこる", "おさえる", "おさない", "おさめる", "おしいれ", "おしえる",
15200"おじぎ", "おじさん", "おしゃれ", "おそらく", "おそわる", "おたがい", "おたく", "おだやか", "おちつく", "おっと",
15201"おつり", "おでかけ", "おとしもの", "おとなしい", "おどり", "おどろかす", "おばさん", "おまいり", "おめでとう", "おもいで",
15202"おもう", "おもたい", "おもちゃ", "おやつ", "おやゆび", "およぼす", "おらんだ", "おろす", "おんがく", "おんけい",
15203"おんしゃ", "おんせん", "おんだん", "おんちゅう", "おんどけい", "かあつ", "かいが", "がいき", "がいけん", "がいこう",
15204"かいさつ", "かいしゃ", "かいすいよく", "かいぜん", "かいぞうど", "かいつう", "かいてん", "かいとう", "かいふく", "がいへき",
15205"かいほう", "かいよう", "がいらい", "かいわ", "かえる", "かおり", "かかえる", "かがく", "かがし", "かがみ",
15206"かくご", "かくとく", "かざる", "がぞう", "かたい", "かたち", "がちょう", "がっきゅう", "がっこう", "がっさん",
15207"がっしょう", "かなざわし", "かのう", "がはく", "かぶか", "かほう", "かほご", "かまう", "かまぼこ", "かめれおん",
15208"かゆい", "かようび", "からい", "かるい", "かろう", "かわく", "かわら", "がんか", "かんけい", "かんこう",
15209"かんしゃ", "かんそう", "かんたん", "かんち", "がんばる", "きあい", "きあつ", "きいろ", "ぎいん", "きうい",
15210"きうん", "きえる", "きおう", "きおく", "きおち", "きおん", "きかい", "きかく", "きかんしゃ", "ききて",
15211"きくばり", "きくらげ", "きけんせい", "きこう", "きこえる", "きこく", "きさい", "きさく", "きさま", "きさらぎ",
15212"ぎじかがく", "ぎしき", "ぎじたいけん", "ぎじにってい", "ぎじゅつしゃ", "きすう", "きせい", "きせき", "きせつ", "きそう",
15213"きぞく", "きぞん", "きたえる", "きちょう", "きつえん", "ぎっちり", "きつつき", "きつね", "きてい", "きどう",
15214"きどく", "きない", "きなが", "きなこ", "きぬごし", "きねん", "きのう", "きのした", "きはく", "きびしい",
15215"きひん", "きふく", "きぶん", "きぼう", "きほん", "きまる", "きみつ", "きむずかしい", "きめる", "きもだめし",
15216"きもち", "きもの", "きゃく", "きやく", "ぎゅうにく", "きよう", "きょうりゅう", "きらい", "きらく", "きりん",
15217"きれい", "きれつ", "きろく", "ぎろん", "きわめる", "ぎんいろ", "きんかくじ", "きんじょ", "きんようび", "ぐあい",
15218"くいず", "くうかん", "くうき", "くうぐん", "くうこう", "ぐうせい", "くうそう", "ぐうたら", "くうふく", "くうぼ",
15219"くかん", "くきょう", "くげん", "ぐこう", "くさい", "くさき", "くさばな", "くさる", "くしゃみ", "くしょう",
15220"くすのき", "くすりゆび", "くせげ", "くせん", "ぐたいてき", "くださる", "くたびれる", "くちこみ", "くちさき", "くつした",
15221"ぐっすり", "くつろぐ", "くとうてん", "くどく", "くなん", "くねくね", "くのう", "くふう", "くみあわせ", "くみたてる",
15222"くめる", "くやくしょ", "くらす", "くらべる", "くるま", "くれる", "くろう", "くわしい", "ぐんかん", "ぐんしょく",
15223"ぐんたい", "ぐんて", "けあな", "けいかく", "けいけん", "けいこ", "けいさつ", "げいじゅつ", "けいたい", "げいのうじん",
15224"けいれき", "けいろ", "けおとす", "けおりもの", "げきか", "げきげん", "げきだん", "げきちん", "げきとつ", "げきは",
15225"げきやく", "げこう", "げこくじょう", "げざい", "けさき", "げざん", "けしき", "けしごむ", "けしょう", "げすと",
15226"けたば", "けちゃっぷ", "けちらす", "けつあつ", "けつい", "けつえき", "けっこん", "けつじょ", "けっせき", "けってい",
15227"けつまつ", "げつようび", "げつれい", "けつろん", "げどく", "けとばす", "けとる", "けなげ", "けなす", "けなみ",
15228"けぬき", "げねつ", "けねん", "けはい", "げひん", "けぶかい", "げぼく", "けまり", "けみかる", "けむし",
15229"けむり", "けもの", "けらい", "けろけろ", "けわしい", "けんい", "けんえつ", "けんお", "けんか", "げんき",
15230"けんげん", "けんこう", "けんさく", "けんしゅう", "けんすう", "げんそう", "けんちく", "けんてい", "けんとう", "けんない",
15231"けんにん", "げんぶつ", "けんま", "けんみん", "けんめい", "けんらん", "けんり", "こあくま", "こいぬ", "こいびと",
15232"ごうい", "こうえん", "こうおん", "こうかん", "ごうきゅう", "ごうけい", "こうこう", "こうさい", "こうじ", "こうすい",
15233"ごうせい", "こうそく", "こうたい", "こうちゃ", "こうつう", "こうてい", "こうどう", "こうない", "こうはい", "ごうほう",
15234"ごうまん", "こうもく", "こうりつ", "こえる", "こおり", "ごかい", "ごがつ", "ごかん", "こくご", "こくさい",
15235"こくとう", "こくない", "こくはく", "こぐま", "こけい", "こける", "ここのか", "こころ", "こさめ", "こしつ",
15236"こすう", "こせい", "こせき", "こぜん", "こそだて", "こたい", "こたえる", "こたつ", "こちょう", "こっか",
15237"こつこつ", "こつばん", "こつぶ", "こてい", "こてん", "ことがら", "ことし", "ことば", "ことり", "こなごな",
15238"こねこね", "このまま", "このみ", "このよ", "ごはん", "こひつじ", "こふう", "こふん", "こぼれる", "ごまあぶら",
15239"こまかい", "ごますり", "こまつな", "こまる", "こむぎこ", "こもじ", "こもち", "こもの", "こもん", "こやく",
15240"こやま", "こゆう", "こゆび", "こよい", "こよう", "こりる", "これくしょん", "ころっけ", "こわもて", "こわれる",
15241"こんいん", "こんかい", "こんき", "こんしゅう", "こんすい", "こんだて", "こんとん", "こんなん", "こんびに", "こんぽん",
15242"こんまけ", "こんや", "こんれい", "こんわく", "ざいえき", "さいかい", "さいきん", "ざいげん", "ざいこ", "さいしょ",
15243"さいせい", "ざいたく", "ざいちゅう", "さいてき", "ざいりょう", "さうな", "さかいし", "さがす", "さかな", "さかみち",
15244"さがる", "さぎょう", "さくし", "さくひん", "さくら", "さこく", "さこつ", "さずかる", "ざせき", "さたん",
15245"さつえい", "ざつおん", "ざっか", "ざつがく", "さっきょく", "ざっし", "さつじん", "ざっそう", "さつたば", "さつまいも",
15246"さてい", "さといも", "さとう", "さとおや", "さとし", "さとる", "さのう", "さばく", "さびしい", "さべつ",
15247"さほう", "さほど", "さます", "さみしい", "さみだれ", "さむけ", "さめる", "さやえんどう", "さゆう", "さよう",
15248"さよく", "さらだ", "ざるそば", "さわやか", "さわる", "さんいん", "さんか", "さんきゃく", "さんこう", "さんさい",
15249"ざんしょ", "さんすう", "さんせい", "さんそ", "さんち", "さんま", "さんみ", "さんらん", "しあい", "しあげ",
15250"しあさって", "しあわせ", "しいく", "しいん", "しうち", "しえい", "しおけ", "しかい", "しかく", "じかん",
15251"しごと", "しすう", "じだい", "したうけ", "したぎ", "したて", "したみ", "しちょう", "しちりん", "しっかり",
15252"しつじ", "しつもん", "してい", "してき", "してつ", "じてん", "じどう", "しなぎれ", "しなもの", "しなん",
15253"しねま", "しねん", "しのぐ", "しのぶ", "しはい", "しばかり", "しはつ", "しはらい", "しはん", "しひょう",
15254"しふく", "じぶん", "しへい", "しほう", "しほん", "しまう", "しまる", "しみん", "しむける", "じむしょ",
15255"しめい", "しめる", "しもん", "しゃいん", "しゃうん", "しゃおん", "じゃがいも", "しやくしょ", "しゃくほう", "しゃけん",
15256"しゃこ", "しゃざい", "しゃしん", "しゃせん", "しゃそう", "しゃたい", "しゃちょう", "しゃっきん", "じゃま", "しゃりん",
15257"しゃれい", "じゆう", "じゅうしょ", "しゅくはく", "じゅしん", "しゅっせき", "しゅみ", "しゅらば", "じゅんばん", "しょうかい",
15258"しょくたく", "しょっけん", "しょどう", "しょもつ", "しらせる", "しらべる", "しんか", "しんこう", "じんじゃ", "しんせいじ",
15259"しんちく", "しんりん", "すあげ", "すあし", "すあな", "ずあん", "すいえい", "すいか", "すいとう", "ずいぶん",
15260"すいようび", "すうがく", "すうじつ", "すうせん", "すおどり", "すきま", "すくう", "すくない", "すける", "すごい",
15261"すこし", "ずさん", "すずしい", "すすむ", "すすめる", "すっかり", "ずっしり", "ずっと", "すてき", "すてる",
15262"すねる", "すのこ", "すはだ", "すばらしい", "ずひょう", "ずぶぬれ", "すぶり", "すふれ", "すべて", "すべる",
15263"ずほう", "すぼん", "すまい", "すめし", "すもう", "すやき", "すらすら", "するめ", "すれちがう", "すろっと",
15264"すわる", "すんぜん", "すんぽう", "せあぶら", "せいかつ", "せいげん", "せいじ", "せいよう", "せおう", "せかいかん",
15265"せきにん", "せきむ", "せきゆ", "せきらんうん", "せけん", "せこう", "せすじ", "せたい", "せたけ", "せっかく",
15266"せっきゃく", "ぜっく", "せっけん", "せっこつ", "せっさたくま", "せつぞく", "せつだん", "せつでん", "せっぱん", "せつび",
15267"せつぶん", "せつめい", "せつりつ", "せなか", "せのび", "せはば", "せびろ", "せぼね", "せまい", "せまる",
15268"せめる", "せもたれ", "せりふ", "ぜんあく", "せんい", "せんえい", "せんか", "せんきょ", "せんく", "せんげん",
15269"ぜんご", "せんさい", "せんしゅ", "せんすい", "せんせい", "せんぞ", "せんたく", "せんちょう", "せんてい", "せんとう",
15270"せんぬき", "せんねん", "せんぱい", "ぜんぶ", "ぜんぽう", "せんむ", "せんめんじょ", "せんもん", "せんやく", "せんゆう",
15271"せんよう", "ぜんら", "ぜんりゃく", "せんれい", "せんろ", "そあく", "そいとげる", "そいね", "そうがんきょう", "そうき",
15272"そうご", "そうしん", "そうだん", "そうなん", "そうび", "そうめん", "そうり", "そえもの", "そえん", "そがい",
15273"そげき", "そこう", "そこそこ", "そざい", "そしな", "そせい", "そせん", "そそぐ", "そだてる", "そつう",
15274"そつえん", "そっかん", "そつぎょう", "そっけつ", "そっこう", "そっせん", "そっと", "そとがわ", "そとづら", "そなえる",
15275"そなた", "そふぼ", "そぼく", "そぼろ", "そまつ", "そまる", "そむく", "そむりえ", "そめる", "そもそも",
15276"そよかぜ", "そらまめ", "そろう", "そんかい", "そんけい", "そんざい", "そんしつ", "そんぞく", "そんちょう", "ぞんび",
15277"ぞんぶん", "そんみん", "たあい", "たいいん", "たいうん", "たいえき", "たいおう", "だいがく", "たいき", "たいぐう",
15278"たいけん", "たいこ", "たいざい", "だいじょうぶ", "だいすき", "たいせつ", "たいそう", "だいたい", "たいちょう", "たいてい",
15279"だいどころ", "たいない", "たいねつ", "たいのう", "たいはん", "だいひょう", "たいふう", "たいへん", "たいほ", "たいまつばな",
15280"たいみんぐ", "たいむ", "たいめん", "たいやき", "たいよう", "たいら", "たいりょく", "たいる", "たいわん", "たうえ",
15281"たえる", "たおす", "たおる", "たおれる", "たかい", "たかね", "たきび", "たくさん", "たこく", "たこやき",
15282"たさい", "たしざん", "だじゃれ", "たすける", "たずさわる", "たそがれ", "たたかう", "たたく", "ただしい", "たたみ",
15283"たちばな", "だっかい", "だっきゃく", "だっこ", "だっしゅつ", "だったい", "たてる", "たとえる", "たなばた", "たにん",
15284"たぬき", "たのしみ", "たはつ", "たぶん", "たべる", "たぼう", "たまご", "たまる", "だむる", "ためいき",
15285"ためす", "ためる", "たもつ", "たやすい", "たよる", "たらす", "たりきほんがん", "たりょう", "たりる", "たると",
15286"たれる", "たれんと", "たろっと", "たわむれる", "だんあつ", "たんい", "たんおん", "たんか", "たんき", "たんけん",
15287"たんご", "たんさん", "たんじょうび", "だんせい", "たんそく", "たんたい", "だんち", "たんてい", "たんとう", "だんな",
15288"たんにん", "だんねつ", "たんのう", "たんぴん", "だんぼう", "たんまつ", "たんめい", "だんれつ", "だんろ", "だんわ",
15289"ちあい", "ちあん", "ちいき", "ちいさい", "ちえん", "ちかい", "ちから", "ちきゅう", "ちきん", "ちけいず",
15290"ちけん", "ちこく", "ちさい", "ちしき", "ちしりょう", "ちせい", "ちそう", "ちたい", "ちたん", "ちちおや",
15291"ちつじょ", "ちてき", "ちてん", "ちぬき", "ちぬり", "ちのう", "ちひょう", "ちへいせん", "ちほう", "ちまた",
15292"ちみつ", "ちみどろ", "ちめいど", "ちゃんこなべ", "ちゅうい", "ちゆりょく", "ちょうし", "ちょさくけん", "ちらし", "ちらみ",
15293"ちりがみ", "ちりょう", "ちるど", "ちわわ", "ちんたい", "ちんもく", "ついか", "ついたち", "つうか", "つうじょう",
15294"つうはん", "つうわ", "つかう", "つかれる", "つくね", "つくる", "つけね", "つける", "つごう", "つたえる",
15295"つづく", "つつじ", "つつむ", "つとめる", "つながる", "つなみ", "つねづね", "つのる", "つぶす", "つまらない",
15296"つまる", "つみき", "つめたい", "つもり", "つもる", "つよい", "つるぼ", "つるみく", "つわもの", "つわり",
15297"てあし", "てあて", "てあみ", "ていおん", "ていか", "ていき", "ていけい", "ていこく", "ていさつ", "ていし",
15298"ていせい", "ていたい", "ていど", "ていねい", "ていひょう", "ていへん", "ていぼう", "てうち", "ておくれ", "てきとう",
15299"てくび", "でこぼこ", "てさぎょう", "てさげ", "てすり", "てそう", "てちがい", "てちょう", "てつがく", "てつづき",
15300"でっぱ", "てつぼう", "てつや", "でぬかえ", "てぬき", "てぬぐい", "てのひら", "てはい", "てぶくろ", "てふだ",
15301"てほどき", "てほん", "てまえ", "てまきずし", "てみじか", "てみやげ", "てらす", "てれび", "てわけ", "てわたし",
15302"でんあつ", "てんいん", "てんかい", "てんき", "てんぐ", "てんけん", "てんごく", "てんさい", "てんし", "てんすう",
15303"でんち", "てんてき", "てんとう", "てんない", "てんぷら", "てんぼうだい", "てんめつ", "てんらんかい", "でんりょく", "でんわ",
15304"どあい", "といれ", "どうかん", "とうきゅう", "どうぐ", "とうし", "とうむぎ", "とおい", "とおか", "とおく",
15305"とおす", "とおる", "とかい", "とかす", "ときおり", "ときどき", "とくい", "とくしゅう", "とくてん", "とくに",
15306"とくべつ", "とけい", "とける", "とこや", "とさか", "としょかん", "とそう", "とたん", "とちゅう", "とっきゅう",
15307"とっくん", "とつぜん", "とつにゅう", "とどける", "ととのえる", "とない", "となえる", "となり", "とのさま", "とばす",
15308"どぶがわ", "とほう", "とまる", "とめる", "ともだち", "ともる", "どようび", "とらえる", "とんかつ", "どんぶり",
15309"ないかく", "ないこう", "ないしょ", "ないす", "ないせん", "ないそう", "なおす", "ながい", "なくす", "なげる",
15310"なこうど", "なさけ", "なたでここ", "なっとう", "なつやすみ", "ななおし", "なにごと", "なにもの", "なにわ", "なのか",
15311"なふだ", "なまいき", "なまえ", "なまみ", "なみだ", "なめらか", "なめる", "なやむ", "ならう", "ならび",
15312"ならぶ", "なれる", "なわとび", "なわばり", "にあう", "にいがた", "にうけ", "におい", "にかい", "にがて",
15313"にきび", "にくしみ", "にくまん", "にげる", "にさんかたんそ", "にしき", "にせもの", "にちじょう", "にちようび", "にっか",
15314"にっき", "にっけい", "にっこう", "にっさん", "にっしょく", "にっすう", "にっせき", "にってい", "になう", "にほん",
15315"にまめ", "にもつ", "にやり", "にゅういん", "にりんしゃ", "にわとり", "にんい", "にんか", "にんき", "にんげん",
15316"にんしき", "にんずう", "にんそう", "にんたい", "にんち", "にんてい", "にんにく", "にんぷ", "にんまり", "にんむ",
15317"にんめい", "にんよう", "ぬいくぎ", "ぬかす", "ぬぐいとる", "ぬぐう", "ぬくもり", "ぬすむ", "ぬまえび", "ぬめり",
15318"ぬらす", "ぬんちゃく", "ねあげ", "ねいき", "ねいる", "ねいろ", "ねぐせ", "ねくたい", "ねくら", "ねこぜ",
15319"ねこむ", "ねさげ", "ねすごす", "ねそべる", "ねだん", "ねつい", "ねっしん", "ねつぞう", "ねったいぎょ", "ねぶそく",
15320"ねふだ", "ねぼう", "ねほりはほり", "ねまき", "ねまわし", "ねみみ", "ねむい", "ねむたい", "ねもと", "ねらう",
15321"ねわざ", "ねんいり", "ねんおし", "ねんかん", "ねんきん", "ねんぐ", "ねんざ", "ねんし", "ねんちゃく", "ねんど",
15322"ねんぴ", "ねんぶつ", "ねんまつ", "ねんりょう", "ねんれい", "のいず", "のおづま", "のがす", "のきなみ", "のこぎり",
15323"のこす", "のこる", "のせる", "のぞく", "のぞむ", "のたまう", "のちほど", "のっく", "のばす", "のはら",
15324"のべる", "のぼる", "のみもの", "のやま", "のらいぬ", "のらねこ", "のりもの", "のりゆき", "のれん", "のんき",
15325"ばあい", "はあく", "ばあさん", "ばいか", "ばいく", "はいけん", "はいご", "はいしん", "はいすい", "はいせん",
15326"はいそう", "はいち", "ばいばい", "はいれつ", "はえる", "はおる", "はかい", "ばかり", "はかる", "はくしゅ",
15327"はけん", "はこぶ", "はさみ", "はさん", "はしご", "ばしょ", "はしる", "はせる", "ぱそこん", "はそん",
15328"はたん", "はちみつ", "はつおん", "はっかく", "はづき", "はっきり", "はっくつ", "はっけん", "はっこう", "はっさん",
15329"はっしん", "はったつ", "はっちゅう", "はってん", "はっぴょう", "はっぽう", "はなす", "はなび", "はにかむ", "はぶらし",
15330"はみがき", "はむかう", "はめつ", "はやい", "はやし", "はらう", "はろうぃん", "はわい", "はんい", "はんえい",
15331"はんおん", "はんかく", "はんきょう", "ばんぐみ", "はんこ", "はんしゃ", "はんすう", "はんだん", "ぱんち", "ぱんつ",
15332"はんてい", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい", "はんらん", "はんろん",
15333"ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかる", "ひかん", "ひくい", "ひけつ", "ひこうき",
15334"ひこく", "ひさい", "ひさしぶり", "ひさん", "びじゅつかん", "ひしょ", "ひそか", "ひそむ", "ひたむき", "ひだり",
15335"ひたる", "ひつぎ", "ひっこし", "ひっし", "ひつじゅひん", "ひっす", "ひつぜん", "ぴったり", "ぴっちり", "ひつよう",
15336"ひてい", "ひとごみ", "ひなまつり", "ひなん", "ひねる", "ひはん", "ひびく", "ひひょう", "ひほう", "ひまわり",
15337"ひまん", "ひみつ", "ひめい", "ひめじし", "ひやけ", "ひやす", "ひよう", "びょうき", "ひらがな", "ひらく",
15338"ひりつ", "ひりょう", "ひるま", "ひるやすみ", "ひれい", "ひろい", "ひろう", "ひろき", "ひろゆき", "ひんかく",
15339"ひんけつ", "ひんこん", "ひんしゅ", "ひんそう", "ぴんち", "ひんぱん", "びんぼう", "ふあん", "ふいうち", "ふうけい",
15340"ふうせん", "ぷうたろう", "ふうとう", "ふうふ", "ふえる", "ふおん", "ふかい", "ふきん", "ふくざつ", "ふくぶくろ",
15341"ふこう", "ふさい", "ふしぎ", "ふじみ", "ふすま", "ふせい", "ふせぐ", "ふそく", "ぶたにく", "ふたん",
15342"ふちょう", "ふつう", "ふつか", "ふっかつ", "ふっき", "ふっこく", "ぶどう", "ふとる", "ふとん", "ふのう",
15343"ふはい", "ふひょう", "ふへん", "ふまん", "ふみん", "ふめつ", "ふめん", "ふよう", "ふりこ", "ふりる",
15344"ふるい", "ふんいき", "ぶんがく", "ぶんぐ", "ふんしつ", "ぶんせき", "ふんそう", "ぶんぽう", "へいあん", "へいおん",
15345"へいがい", "へいき", "へいげん", "へいこう", "へいさ", "へいしゃ", "へいせつ", "へいそ", "へいたく", "へいてん",
15346"へいねつ", "へいわ", "へきが", "へこむ", "べにいろ", "べにしょうが", "へらす", "へんかん", "べんきょう", "べんごし",
15347"へんさい", "へんたい", "べんり", "ほあん", "ほいく", "ぼうぎょ", "ほうこく", "ほうそう", "ほうほう", "ほうもん",
15348"ほうりつ", "ほえる", "ほおん", "ほかん", "ほきょう", "ぼきん", "ほくろ", "ほけつ", "ほけん", "ほこう",
15349"ほこる", "ほしい", "ほしつ", "ほしゅ", "ほしょう", "ほせい", "ほそい", "ほそく", "ほたて", "ほたる",
15350"ぽちぶくろ", "ほっきょく", "ほっさ", "ほったん", "ほとんど", "ほめる", "ほんい", "ほんき", "ほんけ", "ほんしつ",
15351"ほんやく", "まいにち", "まかい", "まかせる", "まがる", "まける", "まこと", "まさつ", "まじめ", "ますく",
15352"まぜる", "まつり", "まとめ", "まなぶ", "まぬけ", "まねく", "まほう", "まもる", "まゆげ", "まよう",
15353"まろやか", "まわす", "まわり", "まわる", "まんが", "まんきつ", "まんぞく", "まんなか", "みいら", "みうち",
15354"みえる", "みがく", "みかた", "みかん", "みけん", "みこん", "みじかい", "みすい", "みすえる", "みせる",
15355"みっか", "みつかる", "みつける", "みてい", "みとめる", "みなと", "みなみかさい", "みねらる", "みのう", "みのがす",
15356"みほん", "みもと", "みやげ", "みらい", "みりょく", "みわく", "みんか", "みんぞく", "むいか", "むえき",
15357"むえん", "むかい", "むかう", "むかえ", "むかし", "むぎちゃ", "むける", "むげん", "むさぼる", "むしあつい",
15358"むしば", "むじゅん", "むしろ", "むすう", "むすこ", "むすぶ", "むすめ", "むせる", "むせん", "むちゅう",
15359"むなしい", "むのう", "むやみ", "むよう", "むらさき", "むりょう", "むろん", "めいあん", "めいうん", "めいえん",
15360"めいかく", "めいきょく", "めいさい", "めいし", "めいそう", "めいぶつ", "めいれい", "めいわく", "めぐまれる", "めざす",
15361"めした", "めずらしい", "めだつ", "めまい", "めやす", "めんきょ", "めんせき", "めんどう", "もうしあげる", "もうどうけん",
15362"もえる", "もくし", "もくてき", "もくようび", "もちろん", "もどる", "もらう", "もんく", "もんだい", "やおや",
15363"やける", "やさい", "やさしい", "やすい", "やすたろう", "やすみ", "やせる", "やそう", "やたい", "やちん",
15364"やっと", "やっぱり", "やぶる", "やめる", "ややこしい", "やよい", "やわらかい", "ゆうき", "ゆうびんきょく", "ゆうべ",
15365"ゆうめい", "ゆけつ", "ゆしゅつ", "ゆせん", "ゆそう", "ゆたか", "ゆちゃく", "ゆでる", "ゆにゅう", "ゆびわ",
15366"ゆらい", "ゆれる", "ようい", "ようか", "ようきゅう", "ようじ", "ようす", "ようちえん", "よかぜ", "よかん",
15367"よきん", "よくせい", "よくぼう", "よけい", "よごれる", "よさん", "よしゅう", "よそう", "よそく", "よっか",
15368"よてい", "よどがわく", "よねつ", "よやく", "よゆう", "よろこぶ", "よろしい", "らいう", "らくがき", "らくご",
15369"らくさつ", "らくだ", "らしんばん", "らせん", "らぞく", "らたい", "らっか", "られつ", "りえき", "りかい",
15370"りきさく", "りきせつ", "りくぐん", "りくつ", "りけん", "りこう", "りせい", "りそう", "りそく", "りてん",
15371"りねん", "りゆう", "りゅうがく", "りよう", "りょうり", "りょかん", "りょくちゃ", "りょこう", "りりく", "りれき",
15372"りろん", "りんご", "るいけい", "るいさい", "るいじ", "るいせき", "るすばん", "るりがわら", "れいかん", "れいぎ",
15373"れいせい", "れいぞうこ", "れいとう", "れいぼう", "れきし", "れきだい", "れんあい", "れんけい", "れんこん", "れんさい",
15374"れんしゅう", "れんぞく", "れんらく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろくが", "ろこつ", "ろじうら",
15375"ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わかす",
15376"わかめ", "わかやま", "わかれる", "わしつ", "わじまし", "わすれもの", "わらう", "われる"]
15377</script>
15378 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15379WORDLISTS["spanish"] = [
15380"ábaco", "abdomen", "abeja", "abierto", "abogado", "abono", "aborto", "abrazo", "abrir", "abuelo",
15381"abuso", "acabar", "academia", "acceso", "acción", "aceite", "acelga", "acento", "aceptar", "ácido",
15382"aclarar", "acné", "acoger", "acoso", "activo", "acto", "actriz", "actuar", "acudir", "acuerdo",
15383"acusar", "adicto", "admitir", "adoptar", "adorno", "aduana", "adulto", "aéreo", "afectar", "afición",
15384"afinar", "afirmar", "ágil", "agitar", "agonía", "agosto", "agotar", "agregar", "agrio", "agua",
15385"agudo", "águila", "aguja", "ahogo", "ahorro", "aire", "aislar", "ajedrez", "ajeno", "ajuste",
15386"alacrán", "alambre", "alarma", "alba", "álbum", "alcalde", "aldea", "alegre", "alejar", "alerta",
15387"aleta", "alfiler", "alga", "algodón", "aliado", "aliento", "alivio", "alma", "almeja", "almíbar",
15388"altar", "alteza", "altivo", "alto", "altura", "alumno", "alzar", "amable", "amante", "amapola",
15389"amargo", "amasar", "ámbar", "ámbito", "ameno", "amigo", "amistad", "amor", "amparo", "amplio",
15390"ancho", "anciano", "ancla", "andar", "andén", "anemia", "ángulo", "anillo", "ánimo", "anís",
15391"anotar", "antena", "antiguo", "antojo", "anual", "anular", "anuncio", "añadir", "añejo", "año",
15392"apagar", "aparato", "apetito", "apio", "aplicar", "apodo", "aporte", "apoyo", "aprender", "aprobar",
15393"apuesta", "apuro", "arado", "araña", "arar", "árbitro", "árbol", "arbusto", "archivo", "arco",
15394"arder", "ardilla", "arduo", "área", "árido", "aries", "armonía", "arnés", "aroma", "arpa",
15395"arpón", "arreglo", "arroz", "arruga", "arte", "artista", "asa", "asado", "asalto", "ascenso",
15396"asegurar", "aseo", "asesor", "asiento", "asilo", "asistir", "asno", "asombro", "áspero", "astilla",
15397"astro", "astuto", "asumir", "asunto", "atajo", "ataque", "atar", "atento", "ateo", "ático",
15398"atleta", "átomo", "atraer", "atroz", "atún", "audaz", "audio", "auge", "aula", "aumento",
15399"ausente", "autor", "aval", "avance", "avaro", "ave", "avellana", "avena", "avestruz", "avión",
15400"aviso", "ayer", "ayuda", "ayuno", "azafrán", "azar", "azote", "azúcar", "azufre", "azul",
15401"baba", "babor", "bache", "bahía", "baile", "bajar", "balanza", "balcón", "balde", "bambú",
15402"banco", "banda", "baño", "barba", "barco", "barniz", "barro", "báscula", "bastón", "basura",
15403"batalla", "batería", "batir", "batuta", "baúl", "bazar", "bebé", "bebida", "bello", "besar",
15404"beso", "bestia", "bicho", "bien", "bingo", "blanco", "bloque", "blusa", "boa", "bobina",
15405"bobo", "boca", "bocina", "boda", "bodega", "boina", "bola", "bolero", "bolsa", "bomba",
15406"bondad", "bonito", "bono", "bonsái", "borde", "borrar", "bosque", "bote", "botín", "bóveda",
15407"bozal", "bravo", "brazo", "brecha", "breve", "brillo", "brinco", "brisa", "broca", "broma",
15408"bronce", "brote", "bruja", "brusco", "bruto", "buceo", "bucle", "bueno", "buey", "bufanda",
15409"bufón", "búho", "buitre", "bulto", "burbuja", "burla", "burro", "buscar", "butaca", "buzón",
15410"caballo", "cabeza", "cabina", "cabra", "cacao", "cadáver", "cadena", "caer", "café", "caída",
15411"caimán", "caja", "cajón", "cal", "calamar", "calcio", "caldo", "calidad", "calle", "calma",
15412"calor", "calvo", "cama", "cambio", "camello", "camino", "campo", "cáncer", "candil", "canela",
15413"canguro", "canica", "canto", "caña", "cañón", "caoba", "caos", "capaz", "capitán", "capote",
15414"captar", "capucha", "cara", "carbón", "cárcel", "careta", "carga", "cariño", "carne", "carpeta",
15415"carro", "carta", "casa", "casco", "casero", "caspa", "castor", "catorce", "catre", "caudal",
15416"causa", "cazo", "cebolla", "ceder", "cedro", "celda", "célebre", "celoso", "célula", "cemento",
15417"ceniza", "centro", "cerca", "cerdo", "cereza", "cero", "cerrar", "certeza", "césped", "cetro",
15418"chacal", "chaleco", "champú", "chancla", "chapa", "charla", "chico", "chiste", "chivo", "choque",
15419"choza", "chuleta", "chupar", "ciclón", "ciego", "cielo", "cien", "cierto", "cifra", "cigarro",
15420"cima", "cinco", "cine", "cinta", "ciprés", "circo", "ciruela", "cisne", "cita", "ciudad",
15421"clamor", "clan", "claro", "clase", "clave", "cliente", "clima", "clínica", "cobre", "cocción",
15422"cochino", "cocina", "coco", "código", "codo", "cofre", "coger", "cohete", "cojín", "cojo",
15423"cola", "colcha", "colegio", "colgar", "colina", "collar", "colmo", "columna", "combate", "comer",
15424"comida", "cómodo", "compra", "conde", "conejo", "conga", "conocer", "consejo", "contar", "copa",
15425"copia", "corazón", "corbata", "corcho", "cordón", "corona", "correr", "coser", "cosmos", "costa",
15426"cráneo", "cráter", "crear", "crecer", "creído", "crema", "cría", "crimen", "cripta", "crisis",
15427"cromo", "crónica", "croqueta", "crudo", "cruz", "cuadro", "cuarto", "cuatro", "cubo", "cubrir",
15428"cuchara", "cuello", "cuento", "cuerda", "cuesta", "cueva", "cuidar", "culebra", "culpa", "culto",
15429"cumbre", "cumplir", "cuna", "cuneta", "cuota", "cupón", "cúpula", "curar", "curioso", "curso",
15430"curva", "cutis", "dama", "danza", "dar", "dardo", "dátil", "deber", "débil", "década",
15431"decir", "dedo", "defensa", "definir", "dejar", "delfín", "delgado", "delito", "demora", "denso",
15432"dental", "deporte", "derecho", "derrota", "desayuno", "deseo", "desfile", "desnudo", "destino", "desvío",
15433"detalle", "detener", "deuda", "día", "diablo", "diadema", "diamante", "diana", "diario", "dibujo",
15434"dictar", "diente", "dieta", "diez", "difícil", "digno", "dilema", "diluir", "dinero", "directo",
15435"dirigir", "disco", "diseño", "disfraz", "diva", "divino", "doble", "doce", "dolor", "domingo",
15436"don", "donar", "dorado", "dormir", "dorso", "dos", "dosis", "dragón", "droga", "ducha",
15437"duda", "duelo", "dueño", "dulce", "dúo", "duque", "durar", "dureza", "duro", "ébano",
15438"ebrio", "echar", "eco", "ecuador", "edad", "edición", "edificio", "editor", "educar", "efecto",
15439"eficaz", "eje", "ejemplo", "elefante", "elegir", "elemento", "elevar", "elipse", "élite", "elixir",
15440"elogio", "eludir", "embudo", "emitir", "emoción", "empate", "empeño", "empleo", "empresa", "enano",
15441"encargo", "enchufe", "encía", "enemigo", "enero", "enfado", "enfermo", "engaño", "enigma", "enlace",
15442"enorme", "enredo", "ensayo", "enseñar", "entero", "entrar", "envase", "envío", "época", "equipo",
15443"erizo", "escala", "escena", "escolar", "escribir", "escudo", "esencia", "esfera", "esfuerzo", "espada",
15444"espejo", "espía", "esposa", "espuma", "esquí", "estar", "este", "estilo", "estufa", "etapa",
15445"eterno", "ética", "etnia", "evadir", "evaluar", "evento", "evitar", "exacto", "examen", "exceso",
15446"excusa", "exento", "exigir", "exilio", "existir", "éxito", "experto", "explicar", "exponer", "extremo",
15447"fábrica", "fábula", "fachada", "fácil", "factor", "faena", "faja", "falda", "fallo", "falso",
15448"faltar", "fama", "familia", "famoso", "faraón", "farmacia", "farol", "farsa", "fase", "fatiga",
15449"fauna", "favor", "fax", "febrero", "fecha", "feliz", "feo", "feria", "feroz", "fértil",
15450"fervor", "festín", "fiable", "fianza", "fiar", "fibra", "ficción", "ficha", "fideo", "fiebre",
15451"fiel", "fiera", "fiesta", "figura", "fijar", "fijo", "fila", "filete", "filial", "filtro",
15452"fin", "finca", "fingir", "finito", "firma", "flaco", "flauta", "flecha", "flor", "flota",
15453"fluir", "flujo", "flúor", "fobia", "foca", "fogata", "fogón", "folio", "folleto", "fondo",
15454"forma", "forro", "fortuna", "forzar", "fosa", "foto", "fracaso", "frágil", "franja", "frase",
15455"fraude", "freír", "freno", "fresa", "frío", "frito", "fruta", "fuego", "fuente", "fuerza",
15456"fuga", "fumar", "función", "funda", "furgón", "furia", "fusil", "fútbol", "futuro", "gacela",
15457"gafas", "gaita", "gajo", "gala", "galería", "gallo", "gamba", "ganar", "gancho", "ganga",
15458"ganso", "garaje", "garza", "gasolina", "gastar", "gato", "gavilán", "gemelo", "gemir", "gen",
15459"género", "genio", "gente", "geranio", "gerente", "germen", "gesto", "gigante", "gimnasio", "girar",
15460"giro", "glaciar", "globo", "gloria", "gol", "golfo", "goloso", "golpe", "goma", "gordo",
15461"gorila", "gorra", "gota", "goteo", "gozar", "grada", "gráfico", "grano", "grasa", "gratis",
15462"grave", "grieta", "grillo", "gripe", "gris", "grito", "grosor", "grúa", "grueso", "grumo",
15463"grupo", "guante", "guapo", "guardia", "guerra", "guía", "guiño", "guion", "guiso", "guitarra",
15464"gusano", "gustar", "haber", "hábil", "hablar", "hacer", "hacha", "hada", "hallar", "hamaca",
15465"harina", "haz", "hazaña", "hebilla", "hebra", "hecho", "helado", "helio", "hembra", "herir",
15466"hermano", "héroe", "hervir", "hielo", "hierro", "hígado", "higiene", "hijo", "himno", "historia",
15467"hocico", "hogar", "hoguera", "hoja", "hombre", "hongo", "honor", "honra", "hora", "hormiga",
15468"horno", "hostil", "hoyo", "hueco", "huelga", "huerta", "hueso", "huevo", "huida", "huir",
15469"humano", "húmedo", "humilde", "humo", "hundir", "huracán", "hurto", "icono", "ideal", "idioma",
15470"ídolo", "iglesia", "iglú", "igual", "ilegal", "ilusión", "imagen", "imán", "imitar", "impar",
15471"imperio", "imponer", "impulso", "incapaz", "índice", "inerte", "infiel", "informe", "ingenio", "inicio",
15472"inmenso", "inmune", "innato", "insecto", "instante", "interés", "íntimo", "intuir", "inútil", "invierno",
15473"ira", "iris", "ironía", "isla", "islote", "jabalí", "jabón", "jamón", "jarabe", "jardín",
15474"jarra", "jaula", "jazmín", "jefe", "jeringa", "jinete", "jornada", "joroba", "joven", "joya",
15475"juerga", "jueves", "juez", "jugador", "jugo", "juguete", "juicio", "junco", "jungla", "junio",
15476"juntar", "júpiter", "jurar", "justo", "juvenil", "juzgar", "kilo", "koala", "labio", "lacio",
15477"lacra", "lado", "ladrón", "lagarto", "lágrima", "laguna", "laico", "lamer", "lámina", "lámpara",
15478"lana", "lancha", "langosta", "lanza", "lápiz", "largo", "larva", "lástima", "lata", "látex",
15479"latir", "laurel", "lavar", "lazo", "leal", "lección", "leche", "lector", "leer", "legión",
15480"legumbre", "lejano", "lengua", "lento", "leña", "león", "leopardo", "lesión", "letal", "letra",
15481"leve", "leyenda", "libertad", "libro", "licor", "líder", "lidiar", "lienzo", "liga", "ligero",
15482"lima", "límite", "limón", "limpio", "lince", "lindo", "línea", "lingote", "lino", "linterna",
15483"líquido", "liso", "lista", "litera", "litio", "litro", "llaga", "llama", "llanto", "llave",
15484"llegar", "llenar", "llevar", "llorar", "llover", "lluvia", "lobo", "loción", "loco", "locura",
15485"lógica", "logro", "lombriz", "lomo", "lonja", "lote", "lucha", "lucir", "lugar", "lujo",
15486"luna", "lunes", "lupa", "lustro", "luto", "luz", "maceta", "macho", "madera", "madre",
15487"maduro", "maestro", "mafia", "magia", "mago", "maíz", "maldad", "maleta", "malla", "malo",
15488"mamá", "mambo", "mamut", "manco", "mando", "manejar", "manga", "maniquí", "manjar", "mano",
15489"manso", "manta", "mañana", "mapa", "máquina", "mar", "marco", "marea", "marfil", "margen",
15490"marido", "mármol", "marrón", "martes", "marzo", "masa", "máscara", "masivo", "matar", "materia",
15491"matiz", "matriz", "máximo", "mayor", "mazorca", "mecha", "medalla", "medio", "médula", "mejilla",
15492"mejor", "melena", "melón", "memoria", "menor", "mensaje", "mente", "menú", "mercado", "merengue",
15493"mérito", "mes", "mesón", "meta", "meter", "método", "metro", "mezcla", "miedo", "miel",
15494"miembro", "miga", "mil", "milagro", "militar", "millón", "mimo", "mina", "minero", "mínimo",
15495"minuto", "miope", "mirar", "misa", "miseria", "misil", "mismo", "mitad", "mito", "mochila",
15496"moción", "moda", "modelo", "moho", "mojar", "molde", "moler", "molino", "momento", "momia",
15497"monarca", "moneda", "monja", "monto", "moño", "morada", "morder", "moreno", "morir", "morro",
15498"morsa", "mortal", "mosca", "mostrar", "motivo", "mover", "móvil", "mozo", "mucho", "mudar",
15499"mueble", "muela", "muerte", "muestra", "mugre", "mujer", "mula", "muleta", "multa", "mundo",
15500"muñeca", "mural", "muro", "músculo", "museo", "musgo", "música", "muslo", "nácar", "nación",
15501"nadar", "naipe", "naranja", "nariz", "narrar", "nasal", "natal", "nativo", "natural", "náusea",
15502"naval", "nave", "navidad", "necio", "néctar", "negar", "negocio", "negro", "neón", "nervio",
15503"neto", "neutro", "nevar", "nevera", "nicho", "nido", "niebla", "nieto", "niñez", "niño",
15504"nítido", "nivel", "nobleza", "noche", "nómina", "noria", "norma", "norte", "nota", "noticia",
15505"novato", "novela", "novio", "nube", "nuca", "núcleo", "nudillo", "nudo", "nuera", "nueve",
15506"nuez", "nulo", "número", "nutria", "oasis", "obeso", "obispo", "objeto", "obra", "obrero",
15507"observar", "obtener", "obvio", "oca", "ocaso", "océano", "ochenta", "ocho", "ocio", "ocre",
15508"octavo", "octubre", "oculto", "ocupar", "ocurrir", "odiar", "odio", "odisea", "oeste", "ofensa",
15509"oferta", "oficio", "ofrecer", "ogro", "oído", "oír", "ojo", "ola", "oleada", "olfato",
15510"olivo", "olla", "olmo", "olor", "olvido", "ombligo", "onda", "onza", "opaco", "opción",
15511"ópera", "opinar", "oponer", "optar", "óptica", "opuesto", "oración", "orador", "oral", "órbita",
15512"orca", "orden", "oreja", "órgano", "orgía", "orgullo", "oriente", "origen", "orilla", "oro",
15513"orquesta", "oruga", "osadía", "oscuro", "osezno", "oso", "ostra", "otoño", "otro", "oveja",
15514"óvulo", "óxido", "oxígeno", "oyente", "ozono", "pacto", "padre", "paella", "página", "pago",
15515"país", "pájaro", "palabra", "palco", "paleta", "pálido", "palma", "paloma", "palpar", "pan",
15516"panal", "pánico", "pantera", "pañuelo", "papá", "papel", "papilla", "paquete", "parar", "parcela",
15517"pared", "parir", "paro", "párpado", "parque", "párrafo", "parte", "pasar", "paseo", "pasión",
15518"paso", "pasta", "pata", "patio", "patria", "pausa", "pauta", "pavo", "payaso", "peatón",
15519"pecado", "pecera", "pecho", "pedal", "pedir", "pegar", "peine", "pelar", "peldaño", "pelea",
15520"peligro", "pellejo", "pelo", "peluca", "pena", "pensar", "peñón", "peón", "peor", "pepino",
15521"pequeño", "pera", "percha", "perder", "pereza", "perfil", "perico", "perla", "permiso", "perro",
15522"persona", "pesa", "pesca", "pésimo", "pestaña", "pétalo", "petróleo", "pez", "pezuña", "picar",
15523"pichón", "pie", "piedra", "pierna", "pieza", "pijama", "pilar", "piloto", "pimienta", "pino",
15524"pintor", "pinza", "piña", "piojo", "pipa", "pirata", "pisar", "piscina", "piso", "pista",
15525"pitón", "pizca", "placa", "plan", "plata", "playa", "plaza", "pleito", "pleno", "plomo",
15526"pluma", "plural", "pobre", "poco", "poder", "podio", "poema", "poesía", "poeta", "polen",
15527"policía", "pollo", "polvo", "pomada", "pomelo", "pomo", "pompa", "poner", "porción", "portal",
15528"posada", "poseer", "posible", "poste", "potencia", "potro", "pozo", "prado", "precoz", "pregunta",
15529"premio", "prensa", "preso", "previo", "primo", "príncipe", "prisión", "privar", "proa", "probar",
15530"proceso", "producto", "proeza", "profesor", "programa", "prole", "promesa", "pronto", "propio", "próximo",
15531"prueba", "público", "puchero", "pudor", "pueblo", "puerta", "puesto", "pulga", "pulir", "pulmón",
15532"pulpo", "pulso", "puma", "punto", "puñal", "puño", "pupa", "pupila", "puré", "quedar",
15533"queja", "quemar", "querer", "queso", "quieto", "química", "quince", "quitar", "rábano", "rabia",
15534"rabo", "ración", "radical", "raíz", "rama", "rampa", "rancho", "rango", "rapaz", "rápido",
15535"rapto", "rasgo", "raspa", "rato", "rayo", "raza", "razón", "reacción", "realidad", "rebaño",
15536"rebote", "recaer", "receta", "rechazo", "recoger", "recreo", "recto", "recurso", "red", "redondo",
15537"reducir", "reflejo", "reforma", "refrán", "refugio", "regalo", "regir", "regla", "regreso", "rehén",
15538"reino", "reír", "reja", "relato", "relevo", "relieve", "relleno", "reloj", "remar", "remedio",
15539"remo", "rencor", "rendir", "renta", "reparto", "repetir", "reposo", "reptil", "res", "rescate",
15540"resina", "respeto", "resto", "resumen", "retiro", "retorno", "retrato", "reunir", "revés", "revista",
15541"rey", "rezar", "rico", "riego", "rienda", "riesgo", "rifa", "rígido", "rigor", "rincón",
15542"riñón", "río", "riqueza", "risa", "ritmo", "rito", "rizo", "roble", "roce", "rociar",
15543"rodar", "rodeo", "rodilla", "roer", "rojizo", "rojo", "romero", "romper", "ron", "ronco",
15544"ronda", "ropa", "ropero", "rosa", "rosca", "rostro", "rotar", "rubí", "rubor", "rudo",
15545"rueda", "rugir", "ruido", "ruina", "ruleta", "rulo", "rumbo", "rumor", "ruptura", "ruta",
15546"rutina", "sábado", "saber", "sabio", "sable", "sacar", "sagaz", "sagrado", "sala", "saldo",
15547"salero", "salir", "salmón", "salón", "salsa", "salto", "salud", "salvar", "samba", "sanción",
15548"sandía", "sanear", "sangre", "sanidad", "sano", "santo", "sapo", "saque", "sardina", "sartén",
15549"sastre", "satán", "sauna", "saxofón", "sección", "seco", "secreto", "secta", "sed", "seguir",
15550"seis", "sello", "selva", "semana", "semilla", "senda", "sensor", "señal", "señor", "separar",
15551"sepia", "sequía", "ser", "serie", "sermón", "servir", "sesenta", "sesión", "seta", "setenta",
15552"severo", "sexo", "sexto", "sidra", "siesta", "siete", "siglo", "signo", "sílaba", "silbar",
15553"silencio", "silla", "símbolo", "simio", "sirena", "sistema", "sitio", "situar", "sobre", "socio",
15554"sodio", "sol", "solapa", "soldado", "soledad", "sólido", "soltar", "solución", "sombra", "sondeo",
15555"sonido", "sonoro", "sonrisa", "sopa", "soplar", "soporte", "sordo", "sorpresa", "sorteo", "sostén",
15556"sótano", "suave", "subir", "suceso", "sudor", "suegra", "suelo", "sueño", "suerte", "sufrir",
15557"sujeto", "sultán", "sumar", "superar", "suplir", "suponer", "supremo", "sur", "surco", "sureño",
15558"surgir", "susto", "sutil", "tabaco", "tabique", "tabla", "tabú", "taco", "tacto", "tajo",
15559"talar", "talco", "talento", "talla", "talón", "tamaño", "tambor", "tango", "tanque", "tapa",
15560"tapete", "tapia", "tapón", "taquilla", "tarde", "tarea", "tarifa", "tarjeta", "tarot", "tarro",
15561"tarta", "tatuaje", "tauro", "taza", "tazón", "teatro", "techo", "tecla", "técnica", "tejado",
15562"tejer", "tejido", "tela", "teléfono", "tema", "temor", "templo", "tenaz", "tender", "tener",
15563"tenis", "tenso", "teoría", "terapia", "terco", "término", "ternura", "terror", "tesis", "tesoro",
15564"testigo", "tetera", "texto", "tez", "tibio", "tiburón", "tiempo", "tienda", "tierra", "tieso",
15565"tigre", "tijera", "tilde", "timbre", "tímido", "timo", "tinta", "tío", "típico", "tipo",
15566"tira", "tirón", "titán", "títere", "título", "tiza", "toalla", "tobillo", "tocar", "tocino",
15567"todo", "toga", "toldo", "tomar", "tono", "tonto", "topar", "tope", "toque", "tórax",
15568"torero", "tormenta", "torneo", "toro", "torpedo", "torre", "torso", "tortuga", "tos", "tosco",
15569"toser", "tóxico", "trabajo", "tractor", "traer", "tráfico", "trago", "traje", "tramo", "trance",
15570"trato", "trauma", "trazar", "trébol", "tregua", "treinta", "tren", "trepar", "tres", "tribu",
15571"trigo", "tripa", "triste", "triunfo", "trofeo", "trompa", "tronco", "tropa", "trote", "trozo",
15572"truco", "trueno", "trufa", "tubería", "tubo", "tuerto", "tumba", "tumor", "túnel", "túnica",
15573"turbina", "turismo", "turno", "tutor", "ubicar", "úlcera", "umbral", "unidad", "unir", "universo",
15574"uno", "untar", "uña", "urbano", "urbe", "urgente", "urna", "usar", "usuario", "útil",
15575"utopía", "uva", "vaca", "vacío", "vacuna", "vagar", "vago", "vaina", "vajilla", "vale",
15576"válido", "valle", "valor", "válvula", "vampiro", "vara", "variar", "varón", "vaso", "vecino",
15577"vector", "vehículo", "veinte", "vejez", "vela", "velero", "veloz", "vena", "vencer", "venda",
15578"veneno", "vengar", "venir", "venta", "venus", "ver", "verano", "verbo", "verde", "vereda",
15579"verja", "verso", "verter", "vía", "viaje", "vibrar", "vicio", "víctima", "vida", "vídeo",
15580"vidrio", "viejo", "viernes", "vigor", "vil", "villa", "vinagre", "vino", "viñedo", "violín",
15581"viral", "virgo", "virtud", "visor", "víspera", "vista", "vitamina", "viudo", "vivaz", "vivero",
15582"vivir", "vivo", "volcán", "volumen", "volver", "voraz", "votar", "voto", "voz", "vuelo",
15583"vulgar", "yacer", "yate", "yegua", "yema", "yerno", "yeso", "yodo", "yoga", "yogur",
15584"zafiro", "zanja", "zapato", "zarza", "zona", "zorro", "zumo", "zurdo"]
15585</script>
15586 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15587WORDLISTS["chinese_simplified"] = [
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"河", "态", "封", "另", "施", "减", "树", "溶", "怎", "止",
15644"案", "言", "士", "均", "武", "固", "叶", "鱼", "波", "视",
15645"仅", "费", "紧", "爱", "左", "章", "早", "朝", "害", "续",
15646"轻", "服", "试", "食", "充", "兵", "源", "判", "护", "司",
15647"足", "某", "练", "差", "致", "板", "田", "降", "黑", "犯",
15648"负", "击", "范", "继", "兴", "似", "余", "坚", "曲", "输",
15649"修", "故", "城", "夫", "够", "送", "笔", "船", "占", "右",
15650"财", "吃", "富", "春", "职", "觉", "汉", "画", "功", "巴",
15651"跟", "虽", "杂", "飞", "检", "吸", "助", "升", "阳", "互",
15652"初", "创", "抗", "考", "投", "坏", "策", "古", "径", "换",
15653"未", "跑", "留", "钢", "曾", "端", "责", "站", "简", "述",
15654"钱", "副", "尽", "帝", "射", "草", "冲", "承", "独", "令",
15655"限", "阿", "宣", "环", "双", "请", "超", "微", "让", "控",
15656"州", "良", "轴", "找", "否", "纪", "益", "依", "优", "顶",
15657"础", "载", "倒", "房", "突", "坐", "粉", "敌", "略", "客",
15658"袁", "冷", "胜", "绝", "析", "块", "剂", "测", "丝", "协",
15659"诉", "念", "陈", "仍", "罗", "盐", "友", "洋", "错", "苦",
15660"夜", "刑", "移", "频", "逐", "靠", "混", "母", "短", "皮",
15661"终", "聚", "汽", "村", "云", "哪", "既", "距", "卫", "停",
15662"烈", "央", "察", "烧", "迅", "境", "若", "印", "洲", "刻",
15663"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15664"侵", "吧", "甲", "游", "久", "菜", "味", "旧", "模", "湖",
15665"货", "损", "预", "阻", "毫", "普", "稳", "乙", "妈", "植",
15666"息", "扩", "银", "语", "挥", "酒", "守", "拿", "序", "纸",
15667"医", "缺", "雨", "吗", "针", "刘", "啊", "急", "唱", "误",
15668"训", "愿", "审", "附", "获", "茶", "鲜", "粮", "斤", "孩",
15669"脱", "硫", "肥", "善", "龙", "演", "父", "渐", "血", "欢",
15670"械", "掌", "歌", "沙", "刚", "攻", "谓", "盾", "讨", "晚",
15671"粒", "乱", "燃", "矛", "乎", "杀", "药", "宁", "鲁", "贵",
15672"钟", "煤", "读", "班", "伯", "香", "介", "迫", "句", "丰",
15673"培", "握", "兰", "担", "弦", "蛋", "沉", "假", "穿", "执",
15674"答", "乐", "谁", "顺", "烟", "缩", "征", "脸", "喜", "松",
15675"脚", "困", "异", "免", "背", "星", "福", "买", "染", "井",
15676"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "静", "补",
15677"评", "翻", "肉", "践", "尼", "衣", "宽", "扬", "棉", "希",
15678"伤", "操", "垂", "秋", "宜", "氢", "套", "督", "振", "架",
15679"亮", "末", "宪", "庆", "编", "牛", "触", "映", "雷", "销",
15680"诗", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15681"绿", "晶", "厚", "盟", "衡", "鸡", "孙", "延", "危", "胶",
15682"屋", "乡", "临", "陆", "顾", "掉", "呀", "灯", "岁", "措",
15683"束", "耐", "剧", "玉", "赵", "跳", "哥", "季", "课", "凯",
15684"胡", "额", "款", "绍", "卷", "齐", "伟", "蒸", "殖", "永",
15685"宗", "苗", "川", "炉", "岩", "弱", "零", "杨", "奏", "沿",
15686"露", "杆", "探", "滑", "镇", "饭", "浓", "航", "怀", "赶",
15687"库", "夺", "伊", "灵", "税", "途", "灭", "赛", "归", "召",
15688"鼓", "播", "盘", "裁", "险", "康", "唯", "录", "菌", "纯",
15689"借", "糖", "盖", "横", "符", "私", "努", "堂", "域", "枪",
15690"润", "幅", "哈", "竟", "熟", "虫", "泽", "脑", "壤", "碳",
15691"欧", "遍", "侧", "寨", "敢", "彻", "虑", "斜", "薄", "庭",
15692"纳", "弹", "饲", "伸", "折", "麦", "湿", "暗", "荷", "瓦",
15693"塞", "床", "筑", "恶", "户", "访", "塔", "奇", "透", "梁",
15694"刀", "旋", "迹", "卡", "氯", "遇", "份", "毒", "泥", "退",
15695"洗", "摆", "灰", "彩", "卖", "耗", "夏", "择", "忙", "铜",
15696"献", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15697"阵", "阴", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15698"楼", "避", "谋", "吨", "野", "猪", "旗", "累", "偏", "典",
15699"馆", "索", "秦", "脂", "潮", "爷", "豆", "忽", "托", "惊",
15700"塑", "遗", "愈", "朱", "替", "纤", "粗", "倾", "尚", "痛",
15701"楚", "谢", "奋", "购", "磨", "君", "池", "旁", "碎", "骨",
15702"监", "捕", "弟", "暴", "割", "贯", "殊", "释", "词", "亡",
15703"壁", "顿", "宝", "午", "尘", "闻", "揭", "炮", "残", "冬",
15704"桥", "妇", "警", "综", "招", "吴", "付", "浮", "遭", "徐",
15705"您", "摇", "谷", "赞", "箱", "隔", "订", "男", "吹", "园",
15706"纷", "唐", "败", "宋", "玻", "巨", "耕", "坦", "荣", "闭",
15707"湾", "键", "凡", "驻", "锅", "救", "恩", "剥", "凝", "碱",
15708"齿", "截", "炼", "麻", "纺", "禁", "废", "盛", "版", "缓",
15709"净", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15710"庄", "街", "藏", "姑", "贸", "腐", "奴", "啦", "惯", "乘",
15711"伙", "恢", "匀", "纱", "扎", "辩", "耳", "彪", "臣", "亿",
15712"璃", "抵", "脉", "秀", "萨", "俄", "网", "舞", "店", "喷",
15713"纵", "寸", "汗", "挂", "洪", "贺", "闪", "柬", "爆", "烯",
15714"津", "稻", "墙", "软", "勇", "像", "滚", "厘", "蒙", "芳",
15715"肯", "坡", "柱", "荡", "腿", "仪", "旅", "尾", "轧", "冰",
15716"贡", "登", "黎", "削", "钻", "勒", "逃", "障", "氨", "郭",
15717"峰", "币", "港", "伏", "轨", "亩", "毕", "擦", "莫", "刺",
15718"浪", "秘", "援", "株", "健", "售", "股", "岛", "甘", "泡",
15719"睡", "童", "铸", "汤", "阀", "休", "汇", "舍", "牧", "绕",
15720"炸", "哲", "磷", "绩", "朋", "淡", "尖", "启", "陷", "柴",
15721"呈", "徒", "颜", "泪", "稍", "忘", "泵", "蓝", "拖", "洞",
15722"授", "镜", "辛", "壮", "锋", "贫", "虚", "弯", "摩", "泰",
15723"幼", "廷", "尊", "窗", "纲", "弄", "隶", "疑", "氏", "宫",
15724"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "违",
15725"夹", "腰", "缘", "珠", "穷", "森", "枝", "竹", "沟", "催",
15726"绳", "忆", "邦", "剩", "幸", "浆", "栏", "拥", "牙", "贮",
15727"礼", "滤", "钠", "纹", "罢", "拍", "咱", "喊", "袖", "埃",
15728"勤", "罚", "焦", "潜", "伍", "墨", "欲", "缝", "姓", "刊",
15729"饱", "仿", "奖", "铝", "鬼", "丽", "跨", "默", "挖", "链",
15730"扫", "喝", "袋", "炭", "污", "幕", "诸", "弧", "励", "梅",
15731"奶", "洁", "灾", "舟", "鉴", "苯", "讼", "抱", "毁", "懂",
15732"寒", "智", "埔", "寄", "届", "跃", "渡", "挑", "丹", "艰",
15733"贝", "碰", "拔", "爹", "戴", "码", "梦", "芽", "熔", "赤",
15734"渔", "哭", "敬", "颗", "奔", "铅", "仲", "虎", "稀", "妹",
15735"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "仓", "魏",
15736"锐", "晓", "氮", "兼", "隐", "碍", "赫", "拨", "忠", "肃",
15737"缸", "牵", "抢", "博", "巧", "壳", "兄", "杜", "讯", "诚",
15738"碧", "祥", "柯", "页", "巡", "矩", "悲", "灌", "龄", "伦",
15739"票", "寻", "桂", "铺", "圣", "恐", "恰", "郑", "趣", "抬",
15740"荒", "腾", "贴", "柔", "滴", "猛", "阔", "辆", "妻", "填",
15741"撤", "储", "签", "闹", "扰", "紫", "砂", "递", "戏", "吊",
15742"陶", "伐", "喂", "疗", "瓶", "婆", "抚", "臂", "摸", "忍",
15743"虾", "蜡", "邻", "胸", "巩", "挤", "偶", "弃", "槽", "劲",
15744"乳", "邓", "吉", "仁", "烂", "砖", "租", "乌", "舰", "伴",
15745"瓜", "浅", "丙", "暂", "燥", "橡", "柳", "迷", "暖", "牌",
15746"秧", "胆", "详", "簧", "踏", "瓷", "谱", "呆", "宾", "糊",
15747"洛", "辉", "愤", "竞", "隙", "怒", "粘", "乃", "绪", "肩",
15748"籍", "敏", "涂", "熙", "皆", "侦", "悬", "掘", "享", "纠",
15749"醒", "狂", "锁", "淀", "恨", "牲", "霸", "爬", "赏", "逆",
15750"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鸭",
15751"趋", "凤", "晨", "畜", "辈", "秩", "卵", "署", "梯", "炎",
15752"滩", "棋", "驱", "筛", "峡", "冒", "啥", "寿", "译", "浸",
15753"泉", "帽", "迟", "硅", "疆", "贷", "漏", "稿", "冠", "嫩",
15754"胁", "芯", "牢", "叛", "蚀", "奥", "鸣", "岭", "羊", "凭",
15755"串", "塘", "绘", "酵", "融", "盆", "锡", "庙", "筹", "冻",
15756"辅", "摄", "袭", "筋", "拒", "僚", "旱", "钾", "鸟", "漆",
15757"沈", "眉", "疏", "添", "棒", "穗", "硝", "韩", "逼", "扭",
15758"侨", "凉", "挺", "碗", "栽", "炒", "杯", "患", "馏", "劝",
15759"豪", "辽", "勃", "鸿", "旦", "吏", "拜", "狗", "埋", "辊",
15760"掩", "饮", "搬", "骂", "辞", "勾", "扣", "估", "蒋", "绒",
15761"雾", "丈", "朵", "姆", "拟", "宇", "辑", "陕", "雕", "偿",
15762"蓄", "崇", "剪", "倡", "厅", "咬", "驶", "薯", "刷", "斥",
15763"番", "赋", "奉", "佛", "浇", "漫", "曼", "扇", "钙", "桃",
15764"扶", "仔", "返", "俗", "亏", "腔", "鞋", "棱", "覆", "框",
15765"悄", "叔", "撞", "骗", "勘", "旺", "沸", "孤", "吐", "孟",
15766"渠", "屈", "疾", "妙", "惜", "仰", "狠", "胀", "谐", "抛",
15767"霉", "桑", "岗", "嘛", "衰", "盗", "渗", "脏", "赖", "涌",
15768"甜", "曹", "阅", "肌", "哩", "厉", "烃", "纬", "毅", "昨",
15769"伪", "症", "煮", "叹", "钉", "搭", "茎", "笼", "酷", "偷",
15770"弓", "锥", "恒", "杰", "坑", "鼻", "翼", "纶", "叙", "狱",
15771"逮", "罐", "络", "棚", "抑", "膨", "蔬", "寺", "骤", "穆",
15772"冶", "枯", "册", "尸", "凸", "绅", "坯", "牺", "焰", "轰",
15773"欣", "晋", "瘦", "御", "锭", "锦", "丧", "旬", "锻", "垄",
15774"搜", "扑", "邀", "亭", "酯", "迈", "舒", "脆", "酶", "闲",
15775"忧", "酚", "顽", "羽", "涨", "卸", "仗", "陪", "辟", "惩",
15776"杭", "姚", "肚", "捉", "飘", "漂", "昆", "欺", "吾", "郎",
15777"烷", "汁", "呵", "饰", "萧", "雅", "邮", "迁", "燕", "撒",
15778"姻", "赴", "宴", "烦", "债", "帐", "斑", "铃", "旨", "醇",
15779"董", "饼", "雏", "姿", "拌", "傅", "腹", "妥", "揉", "贤",
15780"拆", "歪", "葡", "胺", "丢", "浩", "徽", "昂", "垫", "挡",
15781"览", "贪", "慰", "缴", "汪", "慌", "冯", "诺", "姜", "谊",
15782"凶", "劣", "诬", "耀", "昏", "躺", "盈", "骑", "乔", "溪",
15783"丛", "卢", "抹", "闷", "咨", "刮", "驾", "缆", "悟", "摘",
15784"铒", "掷", "颇", "幻", "柄", "惠", "惨", "佳", "仇", "腊",
15785"窝", "涤", "剑", "瞧", "堡", "泼", "葱", "罩", "霍", "捞",
15786"胎", "苍", "滨", "俩", "捅", "湘", "砍", "霞", "邵", "萄",
15787"疯", "淮", "遂", "熊", "粪", "烘", "宿", "档", "戈", "驳",
15788"嫂", "裕", "徙", "箭", "捐", "肠", "撑", "晒", "辨", "殿",
15789"莲", "摊", "搅", "酱", "屏", "疫", "哀", "蔡", "堵", "沫",
15790"皱", "畅", "叠", "阁", "莱", "敲", "辖", "钩", "痕", "坝",
15791"巷", "饿", "祸", "丘", "玄", "溜", "曰", "逻", "彭", "尝",
15792"卿", "妨", "艇", "吞", "韦", "怨", "矮", "歇" ]
15793</script>
15794 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15795WORDLISTS["chinese_traditional"] = [
15796"的", "一", "是", "在", "不", "了", "有", "和", "人", "這",
15797"中", "大", "為", "上", "個", "國", "我", "以", "要", "他",
15798"時", "來", "用", "們", "生", "到", "作", "地", "於", "出",
15799"就", "分", "對", "成", "會", "可", "主", "發", "年", "動",
15800"同", "工", "也", "能", "下", "過", "子", "說", "產", "種",
15801"面", "而", "方", "後", "多", "定", "行", "學", "法", "所",
15802"民", "得", "經", "十", "三", "之", "進", "著", "等", "部",
15803"度", "家", "電", "力", "裡", "如", "水", "化", "高", "自",
15804"二", "理", "起", "小", "物", "現", "實", "加", "量", "都",
15805"兩", "體", "制", "機", "當", "使", "點", "從", "業", "本",
15806"去", "把", "性", "好", "應", "開", "它", "合", "還", "因",
15807"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15808"那", "社", "義", "事", "平", "形", "相", "全", "表", "間",
15809"樣", "與", "關", "各", "重", "新", "線", "內", "數", "正",
15810"心", "反", "你", "明", "看", "原", "又", "麼", "利", "比",
15811"或", "但", "質", "氣", "第", "向", "道", "命", "此", "變",
15812"條", "只", "沒", "結", "解", "問", "意", "建", "月", "公",
15813"無", "系", "軍", "很", "情", "者", "最", "立", "代", "想",
15814"已", "通", "並", "提", "直", "題", "黨", "程", "展", "五",
15815"果", "料", "象", "員", "革", "位", "入", "常", "文", "總",
15816"次", "品", "式", "活", "設", "及", "管", "特", "件", "長",
15817"求", "老", "頭", "基", "資", "邊", "流", "路", "級", "少",
15818"圖", "山", "統", "接", "知", "較", "將", "組", "見", "計",
15819"別", "她", "手", "角", "期", "根", "論", "運", "農", "指",
15820"幾", "九", "區", "強", "放", "決", "西", "被", "幹", "做",
15821"必", "戰", "先", "回", "則", "任", "取", "據", "處", "隊",
15822"南", "給", "色", "光", "門", "即", "保", "治", "北", "造",
15823"百", "規", "熱", "領", "七", "海", "口", "東", "導", "器",
15824"壓", "志", "世", "金", "增", "爭", "濟", "階", "油", "思",
15825"術", "極", "交", "受", "聯", "什", "認", "六", "共", "權",
15826"收", "證", "改", "清", "美", "再", "採", "轉", "更", "單",
15827"風", "切", "打", "白", "教", "速", "花", "帶", "安", "場",
15828"身", "車", "例", "真", "務", "具", "萬", "每", "目", "至",
15829"達", "走", "積", "示", "議", "聲", "報", "鬥", "完", "類",
15830"八", "離", "華", "名", "確", "才", "科", "張", "信", "馬",
15831"節", "話", "米", "整", "空", "元", "況", "今", "集", "溫",
15832"傳", "土", "許", "步", "群", "廣", "石", "記", "需", "段",
15833"研", "界", "拉", "林", "律", "叫", "且", "究", "觀", "越",
15834"織", "裝", "影", "算", "低", "持", "音", "眾", "書", "布",
15835"复", "容", "兒", "須", "際", "商", "非", "驗", "連", "斷",
15836"深", "難", "近", "礦", "千", "週", "委", "素", "技", "備",
15837"半", "辦", "青", "省", "列", "習", "響", "約", "支", "般",
15838"史", "感", "勞", "便", "團", "往", "酸", "歷", "市", "克",
15839"何", "除", "消", "構", "府", "稱", "太", "準", "精", "值",
15840"號", "率", "族", "維", "劃", "選", "標", "寫", "存", "候",
15841"毛", "親", "快", "效", "斯", "院", "查", "江", "型", "眼",
15842"王", "按", "格", "養", "易", "置", "派", "層", "片", "始",
15843"卻", "專", "狀", "育", "廠", "京", "識", "適", "屬", "圓",
15844"包", "火", "住", "調", "滿", "縣", "局", "照", "參", "紅",
15845"細", "引", "聽", "該", "鐵", "價", "嚴", "首", "底", "液",
15846"官", "德", "隨", "病", "蘇", "失", "爾", "死", "講", "配",
15847"女", "黃", "推", "顯", "談", "罪", "神", "藝", "呢", "席",
15848"含", "企", "望", "密", "批", "營", "項", "防", "舉", "球",
15849"英", "氧", "勢", "告", "李", "台", "落", "木", "幫", "輪",
15850"破", "亞", "師", "圍", "注", "遠", "字", "材", "排", "供",
15851"河", "態", "封", "另", "施", "減", "樹", "溶", "怎", "止",
15852"案", "言", "士", "均", "武", "固", "葉", "魚", "波", "視",
15853"僅", "費", "緊", "愛", "左", "章", "早", "朝", "害", "續",
15854"輕", "服", "試", "食", "充", "兵", "源", "判", "護", "司",
15855"足", "某", "練", "差", "致", "板", "田", "降", "黑", "犯",
15856"負", "擊", "范", "繼", "興", "似", "餘", "堅", "曲", "輸",
15857"修", "故", "城", "夫", "夠", "送", "筆", "船", "佔", "右",
15858"財", "吃", "富", "春", "職", "覺", "漢", "畫", "功", "巴",
15859"跟", "雖", "雜", "飛", "檢", "吸", "助", "昇", "陽", "互",
15860"初", "創", "抗", "考", "投", "壞", "策", "古", "徑", "換",
15861"未", "跑", "留", "鋼", "曾", "端", "責", "站", "簡", "述",
15862"錢", "副", "盡", "帝", "射", "草", "衝", "承", "獨", "令",
15863"限", "阿", "宣", "環", "雙", "請", "超", "微", "讓", "控",
15864"州", "良", "軸", "找", "否", "紀", "益", "依", "優", "頂",
15865"礎", "載", "倒", "房", "突", "坐", "粉", "敵", "略", "客",
15866"袁", "冷", "勝", "絕", "析", "塊", "劑", "測", "絲", "協",
15867"訴", "念", "陳", "仍", "羅", "鹽", "友", "洋", "錯", "苦",
15868"夜", "刑", "移", "頻", "逐", "靠", "混", "母", "短", "皮",
15869"終", "聚", "汽", "村", "雲", "哪", "既", "距", "衛", "停",
15870"烈", "央", "察", "燒", "迅", "境", "若", "印", "洲", "刻",
15871"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15872"侵", "吧", "甲", "遊", "久", "菜", "味", "舊", "模", "湖",
15873"貨", "損", "預", "阻", "毫", "普", "穩", "乙", "媽", "植",
15874"息", "擴", "銀", "語", "揮", "酒", "守", "拿", "序", "紙",
15875"醫", "缺", "雨", "嗎", "針", "劉", "啊", "急", "唱", "誤",
15876"訓", "願", "審", "附", "獲", "茶", "鮮", "糧", "斤", "孩",
15877"脫", "硫", "肥", "善", "龍", "演", "父", "漸", "血", "歡",
15878"械", "掌", "歌", "沙", "剛", "攻", "謂", "盾", "討", "晚",
15879"粒", "亂", "燃", "矛", "乎", "殺", "藥", "寧", "魯", "貴",
15880"鐘", "煤", "讀", "班", "伯", "香", "介", "迫", "句", "豐",
15881"培", "握", "蘭", "擔", "弦", "蛋", "沉", "假", "穿", "執",
15882"答", "樂", "誰", "順", "煙", "縮", "徵", "臉", "喜", "松",
15883"腳", "困", "異", "免", "背", "星", "福", "買", "染", "井",
15884"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "靜", "補",
15885"評", "翻", "肉", "踐", "尼", "衣", "寬", "揚", "棉", "希",
15886"傷", "操", "垂", "秋", "宜", "氫", "套", "督", "振", "架",
15887"亮", "末", "憲", "慶", "編", "牛", "觸", "映", "雷", "銷",
15888"詩", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15889"綠", "晶", "厚", "盟", "衡", "雞", "孫", "延", "危", "膠",
15890"屋", "鄉", "臨", "陸", "顧", "掉", "呀", "燈", "歲", "措",
15891"束", "耐", "劇", "玉", "趙", "跳", "哥", "季", "課", "凱",
15892"胡", "額", "款", "紹", "卷", "齊", "偉", "蒸", "殖", "永",
15893"宗", "苗", "川", "爐", "岩", "弱", "零", "楊", "奏", "沿",
15894"露", "桿", "探", "滑", "鎮", "飯", "濃", "航", "懷", "趕",
15895"庫", "奪", "伊", "靈", "稅", "途", "滅", "賽", "歸", "召",
15896"鼓", "播", "盤", "裁", "險", "康", "唯", "錄", "菌", "純",
15897"借", "糖", "蓋", "橫", "符", "私", "努", "堂", "域", "槍",
15898"潤", "幅", "哈", "竟", "熟", "蟲", "澤", "腦", "壤", "碳",
15899"歐", "遍", "側", "寨", "敢", "徹", "慮", "斜", "薄", "庭",
15900"納", "彈", "飼", "伸", "折", "麥", "濕", "暗", "荷", "瓦",
15901"塞", "床", "築", "惡", "戶", "訪", "塔", "奇", "透", "梁",
15902"刀", "旋", "跡", "卡", "氯", "遇", "份", "毒", "泥", "退",
15903"洗", "擺", "灰", "彩", "賣", "耗", "夏", "擇", "忙", "銅",
15904"獻", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15905"陣", "陰", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15906"樓", "避", "謀", "噸", "野", "豬", "旗", "累", "偏", "典",
15907"館", "索", "秦", "脂", "潮", "爺", "豆", "忽", "托", "驚",
15908"塑", "遺", "愈", "朱", "替", "纖", "粗", "傾", "尚", "痛",
15909"楚", "謝", "奮", "購", "磨", "君", "池", "旁", "碎", "骨",
15910"監", "捕", "弟", "暴", "割", "貫", "殊", "釋", "詞", "亡",
15911"壁", "頓", "寶", "午", "塵", "聞", "揭", "炮", "殘", "冬",
15912"橋", "婦", "警", "綜", "招", "吳", "付", "浮", "遭", "徐",
15913"您", "搖", "谷", "贊", "箱", "隔", "訂", "男", "吹", "園",
15914"紛", "唐", "敗", "宋", "玻", "巨", "耕", "坦", "榮", "閉",
15915"灣", "鍵", "凡", "駐", "鍋", "救", "恩", "剝", "凝", "鹼",
15916"齒", "截", "煉", "麻", "紡", "禁", "廢", "盛", "版", "緩",
15917"淨", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15918"莊", "街", "藏", "姑", "貿", "腐", "奴", "啦", "慣", "乘",
15919"夥", "恢", "勻", "紗", "扎", "辯", "耳", "彪", "臣", "億",
15920"璃", "抵", "脈", "秀", "薩", "俄", "網", "舞", "店", "噴",
15921"縱", "寸", "汗", "掛", "洪", "賀", "閃", "柬", "爆", "烯",
15922"津", "稻", "牆", "軟", "勇", "像", "滾", "厘", "蒙", "芳",
15923"肯", "坡", "柱", "盪", "腿", "儀", "旅", "尾", "軋", "冰",
15924"貢", "登", "黎", "削", "鑽", "勒", "逃", "障", "氨", "郭",
15925"峰", "幣", "港", "伏", "軌", "畝", "畢", "擦", "莫", "刺",
15926"浪", "秘", "援", "株", "健", "售", "股", "島", "甘", "泡",
15927"睡", "童", "鑄", "湯", "閥", "休", "匯", "舍", "牧", "繞",
15928"炸", "哲", "磷", "績", "朋", "淡", "尖", "啟", "陷", "柴",
15929"呈", "徒", "顏", "淚", "稍", "忘", "泵", "藍", "拖", "洞",
15930"授", "鏡", "辛", "壯", "鋒", "貧", "虛", "彎", "摩", "泰",
15931"幼", "廷", "尊", "窗", "綱", "弄", "隸", "疑", "氏", "宮",
15932"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "違",
15933"夾", "腰", "緣", "珠", "窮", "森", "枝", "竹", "溝", "催",
15934"繩", "憶", "邦", "剩", "幸", "漿", "欄", "擁", "牙", "貯",
15935"禮", "濾", "鈉", "紋", "罷", "拍", "咱", "喊", "袖", "埃",
15936"勤", "罰", "焦", "潛", "伍", "墨", "欲", "縫", "姓", "刊",
15937"飽", "仿", "獎", "鋁", "鬼", "麗", "跨", "默", "挖", "鏈",
15938"掃", "喝", "袋", "炭", "污", "幕", "諸", "弧", "勵", "梅",
15939"奶", "潔", "災", "舟", "鑑", "苯", "訟", "抱", "毀", "懂",
15940"寒", "智", "埔", "寄", "屆", "躍", "渡", "挑", "丹", "艱",
15941"貝", "碰", "拔", "爹", "戴", "碼", "夢", "芽", "熔", "赤",
15942"漁", "哭", "敬", "顆", "奔", "鉛", "仲", "虎", "稀", "妹",
15943"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "倉", "魏",
15944"銳", "曉", "氮", "兼", "隱", "礙", "赫", "撥", "忠", "肅",
15945"缸", "牽", "搶", "博", "巧", "殼", "兄", "杜", "訊", "誠",
15946"碧", "祥", "柯", "頁", "巡", "矩", "悲", "灌", "齡", "倫",
15947"票", "尋", "桂", "鋪", "聖", "恐", "恰", "鄭", "趣", "抬",
15948"荒", "騰", "貼", "柔", "滴", "猛", "闊", "輛", "妻", "填",
15949"撤", "儲", "簽", "鬧", "擾", "紫", "砂", "遞", "戲", "吊",
15950"陶", "伐", "餵", "療", "瓶", "婆", "撫", "臂", "摸", "忍",
15951"蝦", "蠟", "鄰", "胸", "鞏", "擠", "偶", "棄", "槽", "勁",
15952"乳", "鄧", "吉", "仁", "爛", "磚", "租", "烏", "艦", "伴",
15953"瓜", "淺", "丙", "暫", "燥", "橡", "柳", "迷", "暖", "牌",
15954"秧", "膽", "詳", "簧", "踏", "瓷", "譜", "呆", "賓", "糊",
15955"洛", "輝", "憤", "競", "隙", "怒", "粘", "乃", "緒", "肩",
15956"籍", "敏", "塗", "熙", "皆", "偵", "懸", "掘", "享", "糾",
15957"醒", "狂", "鎖", "淀", "恨", "牲", "霸", "爬", "賞", "逆",
15958"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鴨",
15959"趨", "鳳", "晨", "畜", "輩", "秩", "卵", "署", "梯", "炎",
15960"灘", "棋", "驅", "篩", "峽", "冒", "啥", "壽", "譯", "浸",
15961"泉", "帽", "遲", "矽", "疆", "貸", "漏", "稿", "冠", "嫩",
15962"脅", "芯", "牢", "叛", "蝕", "奧", "鳴", "嶺", "羊", "憑",
15963"串", "塘", "繪", "酵", "融", "盆", "錫", "廟", "籌", "凍",
15964"輔", "攝", "襲", "筋", "拒", "僚", "旱", "鉀", "鳥", "漆",
15965"沈", "眉", "疏", "添", "棒", "穗", "硝", "韓", "逼", "扭",
15966"僑", "涼", "挺", "碗", "栽", "炒", "杯", "患", "餾", "勸",
15967"豪", "遼", "勃", "鴻", "旦", "吏", "拜", "狗", "埋", "輥",
15968"掩", "飲", "搬", "罵", "辭", "勾", "扣", "估", "蔣", "絨",
15969"霧", "丈", "朵", "姆", "擬", "宇", "輯", "陝", "雕", "償",
15970"蓄", "崇", "剪", "倡", "廳", "咬", "駛", "薯", "刷", "斥",
15971"番", "賦", "奉", "佛", "澆", "漫", "曼", "扇", "鈣", "桃",
15972"扶", "仔", "返", "俗", "虧", "腔", "鞋", "棱", "覆", "框",
15973"悄", "叔", "撞", "騙", "勘", "旺", "沸", "孤", "吐", "孟",
15974"渠", "屈", "疾", "妙", "惜", "仰", "狠", "脹", "諧", "拋",
15975"黴", "桑", "崗", "嘛", "衰", "盜", "滲", "臟", "賴", "湧",
15976"甜", "曹", "閱", "肌", "哩", "厲", "烴", "緯", "毅", "昨",
15977"偽", "症", "煮", "嘆", "釘", "搭", "莖", "籠", "酷", "偷",
15978"弓", "錐", "恆", "傑", "坑", "鼻", "翼", "綸", "敘", "獄",
15979"逮", "罐", "絡", "棚", "抑", "膨", "蔬", "寺", "驟", "穆",
15980"冶", "枯", "冊", "屍", "凸", "紳", "坯", "犧", "焰", "轟",
15981"欣", "晉", "瘦", "禦", "錠", "錦", "喪", "旬", "鍛", "壟",
15982"搜", "撲", "邀", "亭", "酯", "邁", "舒", "脆", "酶", "閒",
15983"憂", "酚", "頑", "羽", "漲", "卸", "仗", "陪", "闢", "懲",
15984"杭", "姚", "肚", "捉", "飄", "漂", "昆", "欺", "吾", "郎",
15985"烷", "汁", "呵", "飾", "蕭", "雅", "郵", "遷", "燕", "撒",
15986"姻", "赴", "宴", "煩", "債", "帳", "斑", "鈴", "旨", "醇",
15987"董", "餅", "雛", "姿", "拌", "傅", "腹", "妥", "揉", "賢",
15988"拆", "歪", "葡", "胺", "丟", "浩", "徽", "昂", "墊", "擋",
15989"覽", "貪", "慰", "繳", "汪", "慌", "馮", "諾", "姜", "誼",
15990"兇", "劣", "誣", "耀", "昏", "躺", "盈", "騎", "喬", "溪",
15991"叢", "盧", "抹", "悶", "諮", "刮", "駕", "纜", "悟", "摘",
15992"鉺", "擲", "頗", "幻", "柄", "惠", "慘", "佳", "仇", "臘",
15993"窩", "滌", "劍", "瞧", "堡", "潑", "蔥", "罩", "霍", "撈",
15994"胎", "蒼", "濱", "倆", "捅", "湘", "砍", "霞", "邵", "萄",
15995"瘋", "淮", "遂", "熊", "糞", "烘", "宿", "檔", "戈", "駁",
15996"嫂", "裕", "徙", "箭", "捐", "腸", "撐", "曬", "辨", "殿",
15997"蓮", "攤", "攪", "醬", "屏", "疫", "哀", "蔡", "堵", "沫",
15998"皺", "暢", "疊", "閣", "萊", "敲", "轄", "鉤", "痕", "壩",
15999"巷", "餓", "禍", "丘", "玄", "溜", "曰", "邏", "彭", "嘗",
16000"卿", "妨", "艇", "吞", "韋", "怨", "矮", "歇" ]
16001</script>
16002 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
16003WORDLISTS["french"] = [
16004"abaisser", "abandon", "abdiquer", "abeille", "abolir", "aborder", "aboutir", "aboyer", "abrasif", "abreuver",
16005"abriter", "abroger", "abrupt", "absence", "absolu", "absurde", "abusif", "abyssal", "académie", "acajou",
16006"acarien", "accabler", "accepter", "acclamer", "accolade", "accroche", "accuser", "acerbe", "achat", "acheter",
16007"aciduler", "acier", "acompte", "acquérir", "acronyme", "acteur", "actif", "actuel", "adepte", "adéquat",
16008"adhésif", "adjectif", "adjuger", "admettre", "admirer", "adopter", "adorer", "adoucir", "adresse", "adroit",
16009"adulte", "adverbe", "aérer", "aéronef", "affaire", "affecter", "affiche", "affreux", "affubler", "agacer",
16010"agencer", "agile", "agiter", "agrafer", "agréable", "agrume", "aider", "aiguille", "ailier", "aimable",
16011"aisance", "ajouter", "ajuster", "alarmer", "alchimie", "alerte", "algèbre", "algue", "aliéner", "aliment",
16012"alléger", "alliage", "allouer", "allumer", "alourdir", "alpaga", "altesse", "alvéole", "amateur", "ambigu",
16013"ambre", "aménager", "amertume", "amidon", "amiral", "amorcer", "amour", "amovible", "amphibie", "ampleur",
16014"amusant", "analyse", "anaphore", "anarchie", "anatomie", "ancien", "anéantir", "angle", "angoisse", "anguleux",
16015"animal", "annexer", "annonce", "annuel", "anodin", "anomalie", "anonyme", "anormal", "antenne", "antidote",
16016"anxieux", "apaiser", "apéritif", "aplanir", "apologie", "appareil", "appeler", "apporter", "appuyer", "aquarium",
16017"aqueduc", "arbitre", "arbuste", "ardeur", "ardoise", "argent", "arlequin", "armature", "armement", "armoire",
16018"armure", "arpenter", "arracher", "arriver", "arroser", "arsenic", "artériel", "article", "aspect", "asphalte",
16019"aspirer", "assaut", "asservir", "assiette", "associer", "assurer", "asticot", "astre", "astuce", "atelier",
16020"atome", "atrium", "atroce", "attaque", "attentif", "attirer", "attraper", "aubaine", "auberge", "audace",
16021"audible", "augurer", "aurore", "automne", "autruche", "avaler", "avancer", "avarice", "avenir", "averse",
16022"aveugle", "aviateur", "avide", "avion", "aviser", "avoine", "avouer", "avril", "axial", "axiome",
16023"badge", "bafouer", "bagage", "baguette", "baignade", "balancer", "balcon", "baleine", "balisage", "bambin",
16024"bancaire", "bandage", "banlieue", "bannière", "banquier", "barbier", "baril", "baron", "barque", "barrage",
16025"bassin", "bastion", "bataille", "bateau", "batterie", "baudrier", "bavarder", "belette", "bélier", "belote",
16026"bénéfice", "berceau", "berger", "berline", "bermuda", "besace", "besogne", "bétail", "beurre", "biberon",
16027"bicycle", "bidule", "bijou", "bilan", "bilingue", "billard", "binaire", "biologie", "biopsie", "biotype",
16028"biscuit", "bison", "bistouri", "bitume", "bizarre", "blafard", "blague", "blanchir", "blessant", "blinder",
16029"blond", "bloquer", "blouson", "bobard", "bobine", "boire", "boiser", "bolide", "bonbon", "bondir",
16030"bonheur", "bonifier", "bonus", "bordure", "borne", "botte", "boucle", "boueux", "bougie", "boulon",
16031"bouquin", "bourse", "boussole", "boutique", "boxeur", "branche", "brasier", "brave", "brebis", "brèche",
16032"breuvage", "bricoler", "brigade", "brillant", "brioche", "brique", "brochure", "broder", "bronzer", "brousse",
16033"broyeur", "brume", "brusque", "brutal", "bruyant", "buffle", "buisson", "bulletin", "bureau", "burin",
16034"bustier", "butiner", "butoir", "buvable", "buvette", "cabanon", "cabine", "cachette", "cadeau", "cadre",
16035"caféine", "caillou", "caisson", "calculer", "calepin", "calibre", "calmer", "calomnie", "calvaire", "camarade",
16036"caméra", "camion", "campagne", "canal", "caneton", "canon", "cantine", "canular", "capable", "caporal",
16037"caprice", "capsule", "capter", "capuche", "carabine", "carbone", "caresser", "caribou", "carnage", "carotte",
16038"carreau", "carton", "cascade", "casier", "casque", "cassure", "causer", "caution", "cavalier", "caverne",
16039"caviar", "cédille", "ceinture", "céleste", "cellule", "cendrier", "censurer", "central", "cercle", "cérébral",
16040"cerise", "cerner", "cerveau", "cesser", "chagrin", "chaise", "chaleur", "chambre", "chance", "chapitre",
16041"charbon", "chasseur", "chaton", "chausson", "chavirer", "chemise", "chenille", "chéquier", "chercher", "cheval",
16042"chien", "chiffre", "chignon", "chimère", "chiot", "chlorure", "chocolat", "choisir", "chose", "chouette",
16043"chrome", "chute", "cigare", "cigogne", "cimenter", "cinéma", "cintrer", "circuler", "cirer", "cirque",
16044"citerne", "citoyen", "citron", "civil", "clairon", "clameur", "claquer", "classe", "clavier", "client",
16045"cligner", "climat", "clivage", "cloche", "clonage", "cloporte", "cobalt", "cobra", "cocasse", "cocotier",
16046"coder", "codifier", "coffre", "cogner", "cohésion", "coiffer", "coincer", "colère", "colibri", "colline",
16047"colmater", "colonel", "combat", "comédie", "commande", "compact", "concert", "conduire", "confier", "congeler",
16048"connoter", "consonne", "contact", "convexe", "copain", "copie", "corail", "corbeau", "cordage", "corniche",
16049"corpus", "correct", "cortège", "cosmique", "costume", "coton", "coude", "coupure", "courage", "couteau",
16050"couvrir", "coyote", "crabe", "crainte", "cravate", "crayon", "créature", "créditer", "crémeux", "creuser",
16051"crevette", "cribler", "crier", "cristal", "critère", "croire", "croquer", "crotale", "crucial", "cruel",
16052"crypter", "cubique", "cueillir", "cuillère", "cuisine", "cuivre", "culminer", "cultiver", "cumuler", "cupide",
16053"curatif", "curseur", "cyanure", "cycle", "cylindre", "cynique", "daigner", "damier", "danger", "danseur",
16054"dauphin", "débattre", "débiter", "déborder", "débrider", "débutant", "décaler", "décembre", "déchirer", "décider",
16055"déclarer", "décorer", "décrire", "décupler", "dédale", "déductif", "déesse", "défensif", "défiler", "défrayer",
16056"dégager", "dégivrer", "déglutir", "dégrafer", "déjeuner", "délice", "déloger", "demander", "demeurer", "démolir",
16057"dénicher", "dénouer", "dentelle", "dénuder", "départ", "dépenser", "déphaser", "déplacer", "déposer", "déranger",
16058"dérober", "désastre", "descente", "désert", "désigner", "désobéir", "dessiner", "destrier", "détacher", "détester",
16059"détourer", "détresse", "devancer", "devenir", "deviner", "devoir", "diable", "dialogue", "diamant", "dicter",
16060"différer", "digérer", "digital", "digne", "diluer", "dimanche", "diminuer", "dioxyde", "directif", "diriger",
16061"discuter", "disposer", "dissiper", "distance", "divertir", "diviser", "docile", "docteur", "dogme", "doigt",
16062"domaine", "domicile", "dompter", "donateur", "donjon", "donner", "dopamine", "dortoir", "dorure", "dosage",
16063"doseur", "dossier", "dotation", "douanier", "double", "douceur", "douter", "doyen", "dragon", "draper",
16064"dresser", "dribbler", "droiture", "duperie", "duplexe", "durable", "durcir", "dynastie", "éblouir", "écarter",
16065"écharpe", "échelle", "éclairer", "éclipse", "éclore", "écluse", "école", "économie", "écorce", "écouter",
16066"écraser", "écrémer", "écrivain", "écrou", "écume", "écureuil", "édifier", "éduquer", "effacer", "effectif",
16067"effigie", "effort", "effrayer", "effusion", "égaliser", "égarer", "éjecter", "élaborer", "élargir", "électron",
16068"élégant", "éléphant", "élève", "éligible", "élitisme", "éloge", "élucider", "éluder", "emballer", "embellir",
16069"embryon", "émeraude", "émission", "emmener", "émotion", "émouvoir", "empereur", "employer", "emporter", "emprise",
16070"émulsion", "encadrer", "enchère", "enclave", "encoche", "endiguer", "endosser", "endroit", "enduire", "énergie",
16071"enfance", "enfermer", "enfouir", "engager", "engin", "englober", "énigme", "enjamber", "enjeu", "enlever",
16072"ennemi", "ennuyeux", "enrichir", "enrobage", "enseigne", "entasser", "entendre", "entier", "entourer", "entraver",
16073"énumérer", "envahir", "enviable", "envoyer", "enzyme", "éolien", "épaissir", "épargne", "épatant", "épaule",
16074"épicerie", "épidémie", "épier", "épilogue", "épine", "épisode", "épitaphe", "époque", "épreuve", "éprouver",
16075"épuisant", "équerre", "équipe", "ériger", "érosion", "erreur", "éruption", "escalier", "espadon", "espèce",
16076"espiègle", "espoir", "esprit", "esquiver", "essayer", "essence", "essieu", "essorer", "estime", "estomac",
16077"estrade", "étagère", "étaler", "étanche", "étatique", "éteindre", "étendoir", "éternel", "éthanol", "éthique",
16078"ethnie", "étirer", "étoffer", "étoile", "étonnant", "étourdir", "étrange", "étroit", "étude", "euphorie",
16079"évaluer", "évasion", "éventail", "évidence", "éviter", "évolutif", "évoquer", "exact", "exagérer", "exaucer",
16080"exceller", "excitant", "exclusif", "excuse", "exécuter", "exemple", "exercer", "exhaler", "exhorter", "exigence",
16081"exiler", "exister", "exotique", "expédier", "explorer", "exposer", "exprimer", "exquis", "extensif", "extraire",
16082"exulter", "fable", "fabuleux", "facette", "facile", "facture", "faiblir", "falaise", "fameux", "famille",
16083"farceur", "farfelu", "farine", "farouche", "fasciner", "fatal", "fatigue", "faucon", "fautif", "faveur",
16084"favori", "fébrile", "féconder", "fédérer", "félin", "femme", "fémur", "fendoir", "féodal", "fermer",
16085"féroce", "ferveur", "festival", "feuille", "feutre", "février", "fiasco", "ficeler", "fictif", "fidèle",
16086"figure", "filature", "filetage", "filière", "filleul", "filmer", "filou", "filtrer", "financer", "finir",
16087"fiole", "firme", "fissure", "fixer", "flairer", "flamme", "flasque", "flatteur", "fléau", "flèche",
16088"fleur", "flexion", "flocon", "flore", "fluctuer", "fluide", "fluvial", "folie", "fonderie", "fongible",
16089"fontaine", "forcer", "forgeron", "formuler", "fortune", "fossile", "foudre", "fougère", "fouiller", "foulure",
16090"fourmi", "fragile", "fraise", "franchir", "frapper", "frayeur", "frégate", "freiner", "frelon", "frémir",
16091"frénésie", "frère", "friable", "friction", "frisson", "frivole", "froid", "fromage", "frontal", "frotter",
16092"fruit", "fugitif", "fuite", "fureur", "furieux", "furtif", "fusion", "futur", "gagner", "galaxie",
16093"galerie", "gambader", "garantir", "gardien", "garnir", "garrigue", "gazelle", "gazon", "géant", "gélatine",
16094"gélule", "gendarme", "général", "génie", "genou", "gentil", "géologie", "géomètre", "géranium", "germe",
16095"gestuel", "geyser", "gibier", "gicler", "girafe", "givre", "glace", "glaive", "glisser", "globe",
16096"gloire", "glorieux", "golfeur", "gomme", "gonfler", "gorge", "gorille", "goudron", "gouffre", "goulot",
16097"goupille", "gourmand", "goutte", "graduel", "graffiti", "graine", "grand", "grappin", "gratuit", "gravir",
16098"grenat", "griffure", "griller", "grimper", "grogner", "gronder", "grotte", "groupe", "gruger", "grutier",
16099"gruyère", "guépard", "guerrier", "guide", "guimauve", "guitare", "gustatif", "gymnaste", "gyrostat", "habitude",
16100"hachoir", "halte", "hameau", "hangar", "hanneton", "haricot", "harmonie", "harpon", "hasard", "hélium",
16101"hématome", "herbe", "hérisson", "hermine", "héron", "hésiter", "heureux", "hiberner", "hibou", "hilarant",
16102"histoire", "hiver", "homard", "hommage", "homogène", "honneur", "honorer", "honteux", "horde", "horizon",
16103"horloge", "hormone", "horrible", "houleux", "housse", "hublot", "huileux", "humain", "humble", "humide",
16104"humour", "hurler", "hydromel", "hygiène", "hymne", "hypnose", "idylle", "ignorer", "iguane", "illicite",
16105"illusion", "image", "imbiber", "imiter", "immense", "immobile", "immuable", "impact", "impérial", "implorer",
16106"imposer", "imprimer", "imputer", "incarner", "incendie", "incident", "incliner", "incolore", "indexer", "indice",
16107"inductif", "inédit", "ineptie", "inexact", "infini", "infliger", "informer", "infusion", "ingérer", "inhaler",
16108"inhiber", "injecter", "injure", "innocent", "inoculer", "inonder", "inscrire", "insecte", "insigne", "insolite",
16109"inspirer", "instinct", "insulter", "intact", "intense", "intime", "intrigue", "intuitif", "inutile", "invasion",
16110"inventer", "inviter", "invoquer", "ironique", "irradier", "irréel", "irriter", "isoler", "ivoire", "ivresse",
16111"jaguar", "jaillir", "jambe", "janvier", "jardin", "jauger", "jaune", "javelot", "jetable", "jeton",
16112"jeudi", "jeunesse", "joindre", "joncher", "jongler", "joueur", "jouissif", "journal", "jovial", "joyau",
16113"joyeux", "jubiler", "jugement", "junior", "jupon", "juriste", "justice", "juteux", "juvénile", "kayak",
16114"kimono", "kiosque", "label", "labial", "labourer", "lacérer", "lactose", "lagune", "laine", "laisser",
16115"laitier", "lambeau", "lamelle", "lampe", "lanceur", "langage", "lanterne", "lapin", "largeur", "larme",
16116"laurier", "lavabo", "lavoir", "lecture", "légal", "léger", "légume", "lessive", "lettre", "levier",
16117"lexique", "lézard", "liasse", "libérer", "libre", "licence", "licorne", "liège", "lièvre", "ligature",
16118"ligoter", "ligue", "limer", "limite", "limonade", "limpide", "linéaire", "lingot", "lionceau", "liquide",
16119"lisière", "lister", "lithium", "litige", "littoral", "livreur", "logique", "lointain", "loisir", "lombric",
16120"loterie", "louer", "lourd", "loutre", "louve", "loyal", "lubie", "lucide", "lucratif", "lueur",
16121"lugubre", "luisant", "lumière", "lunaire", "lundi", "luron", "lutter", "luxueux", "machine", "magasin",
16122"magenta", "magique", "maigre", "maillon", "maintien", "mairie", "maison", "majorer", "malaxer", "maléfice",
16123"malheur", "malice", "mallette", "mammouth", "mandater", "maniable", "manquant", "manteau", "manuel", "marathon",
16124"marbre", "marchand", "mardi", "maritime", "marqueur", "marron", "marteler", "mascotte", "massif", "matériel",
16125"matière", "matraque", "maudire", "maussade", "mauve", "maximal", "méchant", "méconnu", "médaille", "médecin",
16126"méditer", "méduse", "meilleur", "mélange", "mélodie", "membre", "mémoire", "menacer", "mener", "menhir",
16127"mensonge", "mentor", "mercredi", "mérite", "merle", "messager", "mesure", "métal", "météore", "méthode",
16128"métier", "meuble", "miauler", "microbe", "miette", "mignon", "migrer", "milieu", "million", "mimique",
16129"mince", "minéral", "minimal", "minorer", "minute", "miracle", "miroiter", "missile", "mixte", "mobile",
16130"moderne", "moelleux", "mondial", "moniteur", "monnaie", "monotone", "monstre", "montagne", "monument", "moqueur",
16131"morceau", "morsure", "mortier", "moteur", "motif", "mouche", "moufle", "moulin", "mousson", "mouton",
16132"mouvant", "multiple", "munition", "muraille", "murène", "murmure", "muscle", "muséum", "musicien", "mutation",
16133"muter", "mutuel", "myriade", "myrtille", "mystère", "mythique", "nageur", "nappe", "narquois", "narrer",
16134"natation", "nation", "nature", "naufrage", "nautique", "navire", "nébuleux", "nectar", "néfaste", "négation",
16135"négliger", "négocier", "neige", "nerveux", "nettoyer", "neurone", "neutron", "neveu", "niche", "nickel",
16136"nitrate", "niveau", "noble", "nocif", "nocturne", "noirceur", "noisette", "nomade", "nombreux", "nommer",
16137"normatif", "notable", "notifier", "notoire", "nourrir", "nouveau", "novateur", "novembre", "novice", "nuage",
16138"nuancer", "nuire", "nuisible", "numéro", "nuptial", "nuque", "nutritif", "obéir", "objectif", "obliger",
16139"obscur", "observer", "obstacle", "obtenir", "obturer", "occasion", "occuper", "océan", "octobre", "octroyer",
16140"octupler", "oculaire", "odeur", "odorant", "offenser", "officier", "offrir", "ogive", "oiseau", "oisillon",
16141"olfactif", "olivier", "ombrage", "omettre", "onctueux", "onduler", "onéreux", "onirique", "opale", "opaque",
16142"opérer", "opinion", "opportun", "opprimer", "opter", "optique", "orageux", "orange", "orbite", "ordonner",
16143"oreille", "organe", "orgueil", "orifice", "ornement", "orque", "ortie", "osciller", "osmose", "ossature",
16144"otarie", "ouragan", "ourson", "outil", "outrager", "ouvrage", "ovation", "oxyde", "oxygène", "ozone",
16145"paisible", "palace", "palmarès", "palourde", "palper", "panache", "panda", "pangolin", "paniquer", "panneau",
16146"panorama", "pantalon", "papaye", "papier", "papoter", "papyrus", "paradoxe", "parcelle", "paresse", "parfumer",
16147"parler", "parole", "parrain", "parsemer", "partager", "parure", "parvenir", "passion", "pastèque", "paternel",
16148"patience", "patron", "pavillon", "pavoiser", "payer", "paysage", "peigne", "peintre", "pelage", "pélican",
16149"pelle", "pelouse", "peluche", "pendule", "pénétrer", "pénible", "pensif", "pénurie", "pépite", "péplum",
16150"perdrix", "perforer", "période", "permuter", "perplexe", "persil", "perte", "peser", "pétale", "petit",
16151"pétrir", "peuple", "pharaon", "phobie", "phoque", "photon", "phrase", "physique", "piano", "pictural",
16152"pièce", "pierre", "pieuvre", "pilote", "pinceau", "pipette", "piquer", "pirogue", "piscine", "piston",
16153"pivoter", "pixel", "pizza", "placard", "plafond", "plaisir", "planer", "plaque", "plastron", "plateau",
16154"pleurer", "plexus", "pliage", "plomb", "plonger", "pluie", "plumage", "pochette", "poésie", "poète",
16155"pointe", "poirier", "poisson", "poivre", "polaire", "policier", "pollen", "polygone", "pommade", "pompier",
16156"ponctuel", "pondérer", "poney", "portique", "position", "posséder", "posture", "potager", "poteau", "potion",
16157"pouce", "poulain", "poumon", "pourpre", "poussin", "pouvoir", "prairie", "pratique", "précieux", "prédire",
16158"préfixe", "prélude", "prénom", "présence", "prétexte", "prévoir", "primitif", "prince", "prison", "priver",
16159"problème", "procéder", "prodige", "profond", "progrès", "proie", "projeter", "prologue", "promener", "propre",
16160"prospère", "protéger", "prouesse", "proverbe", "prudence", "pruneau", "psychose", "public", "puceron", "puiser",
16161"pulpe", "pulsar", "punaise", "punitif", "pupitre", "purifier", "puzzle", "pyramide", "quasar", "querelle",
16162"question", "quiétude", "quitter", "quotient", "racine", "raconter", "radieux", "ragondin", "raideur", "raisin",
16163"ralentir", "rallonge", "ramasser", "rapide", "rasage", "ratisser", "ravager", "ravin", "rayonner", "réactif",
16164"réagir", "réaliser", "réanimer", "recevoir", "réciter", "réclamer", "récolter", "recruter", "reculer", "recycler",
16165"rédiger", "redouter", "refaire", "réflexe", "réformer", "refrain", "refuge", "régalien", "région", "réglage",
16166"régulier", "réitérer", "rejeter", "rejouer", "relatif", "relever", "relief", "remarque", "remède", "remise",
16167"remonter", "remplir", "remuer", "renard", "renfort", "renifler", "renoncer", "rentrer", "renvoi", "replier",
16168"reporter", "reprise", "reptile", "requin", "réserve", "résineux", "résoudre", "respect", "rester", "résultat",
16169"rétablir", "retenir", "réticule", "retomber", "retracer", "réunion", "réussir", "revanche", "revivre", "révolte",
16170"révulsif", "richesse", "rideau", "rieur", "rigide", "rigoler", "rincer", "riposter", "risible", "risque",
16171"rituel", "rival", "rivière", "rocheux", "romance", "rompre", "ronce", "rondin", "roseau", "rosier",
16172"rotatif", "rotor", "rotule", "rouge", "rouille", "rouleau", "routine", "royaume", "ruban", "rubis",
16173"ruche", "ruelle", "rugueux", "ruiner", "ruisseau", "ruser", "rustique", "rythme", "sabler", "saboter",
16174"sabre", "sacoche", "safari", "sagesse", "saisir", "salade", "salive", "salon", "saluer", "samedi",
16175"sanction", "sanglier", "sarcasme", "sardine", "saturer", "saugrenu", "saumon", "sauter", "sauvage", "savant",
16176"savonner", "scalpel", "scandale", "scélérat", "scénario", "sceptre", "schéma", "science", "scinder", "score",
16177"scrutin", "sculpter", "séance", "sécable", "sécher", "secouer", "sécréter", "sédatif", "séduire", "seigneur",
16178"séjour", "sélectif", "semaine", "sembler", "semence", "séminal", "sénateur", "sensible", "sentence", "séparer",
16179"séquence", "serein", "sergent", "sérieux", "serrure", "sérum", "service", "sésame", "sévir", "sevrage",
16180"sextuple", "sidéral", "siècle", "siéger", "siffler", "sigle", "signal", "silence", "silicium", "simple",
16181"sincère", "sinistre", "siphon", "sirop", "sismique", "situer", "skier", "social", "socle", "sodium",
16182"soigneux", "soldat", "soleil", "solitude", "soluble", "sombre", "sommeil", "somnoler", "sonde", "songeur",
16183"sonnette", "sonore", "sorcier", "sortir", "sosie", "sottise", "soucieux", "soudure", "souffle", "soulever",
16184"soupape", "source", "soutirer", "souvenir", "spacieux", "spatial", "spécial", "sphère", "spiral", "stable",
16185"station", "sternum", "stimulus", "stipuler", "strict", "studieux", "stupeur", "styliste", "sublime", "substrat",
16186"subtil", "subvenir", "succès", "sucre", "suffixe", "suggérer", "suiveur", "sulfate", "superbe", "supplier",
16187"surface", "suricate", "surmener", "surprise", "sursaut", "survie", "suspect", "syllabe", "symbole", "symétrie",
16188"synapse", "syntaxe", "système", "tabac", "tablier", "tactile", "tailler", "talent", "talisman", "talonner",
16189"tambour", "tamiser", "tangible", "tapis", "taquiner", "tarder", "tarif", "tartine", "tasse", "tatami",
16190"tatouage", "taupe", "taureau", "taxer", "témoin", "temporel", "tenaille", "tendre", "teneur", "tenir",
16191"tension", "terminer", "terne", "terrible", "tétine", "texte", "thème", "théorie", "thérapie", "thorax",
16192"tibia", "tiède", "timide", "tirelire", "tiroir", "tissu", "titane", "titre", "tituber", "toboggan",
16193"tolérant", "tomate", "tonique", "tonneau", "toponyme", "torche", "tordre", "tornade", "torpille", "torrent",
16194"torse", "tortue", "totem", "toucher", "tournage", "tousser", "toxine", "traction", "trafic", "tragique",
16195"trahir", "train", "trancher", "travail", "trèfle", "tremper", "trésor", "treuil", "triage", "tribunal",
16196"tricoter", "trilogie", "triomphe", "tripler", "triturer", "trivial", "trombone", "tronc", "tropical", "troupeau",
16197"tuile", "tulipe", "tumulte", "tunnel", "turbine", "tuteur", "tutoyer", "tuyau", "tympan", "typhon",
16198"typique", "tyran", "ubuesque", "ultime", "ultrason", "unanime", "unifier", "union", "unique", "unitaire",
16199"univers", "uranium", "urbain", "urticant", "usage", "usine", "usuel", "usure", "utile", "utopie",
16200"vacarme", "vaccin", "vagabond", "vague", "vaillant", "vaincre", "vaisseau", "valable", "valise", "vallon",
16201"valve", "vampire", "vanille", "vapeur", "varier", "vaseux", "vassal", "vaste", "vecteur", "vedette",
16202"végétal", "véhicule", "veinard", "véloce", "vendredi", "vénérer", "venger", "venimeux", "ventouse", "verdure",
16203"vérin", "vernir", "verrou", "verser", "vertu", "veston", "vétéran", "vétuste", "vexant", "vexer",
16204"viaduc", "viande", "victoire", "vidange", "vidéo", "vignette", "vigueur", "vilain", "village", "vinaigre",
16205"violon", "vipère", "virement", "virtuose", "virus", "visage", "viseur", "vision", "visqueux", "visuel",
16206"vital", "vitesse", "viticole", "vitrine", "vivace", "vivipare", "vocation", "voguer", "voile", "voisin",
16207"voiture", "volaille", "volcan", "voltiger", "volume", "vorace", "vortex", "voter", "vouloir", "voyage",
16208"voyelle", "wagon", "xénon", "yacht", "zèbre", "zénith", "zeste", "zoologie"]
16209</script>
16210 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
16211WORDLISTS["italian"] = [
16212"abaco", "abbaglio", "abbinato", "abete", "abisso", "abolire", "abrasivo", "abrogato", "accadere", "accenno",
16213"accusato", "acetone", "achille", "acido", "acqua", "acre", "acrilico", "acrobata", "acuto", "adagio",
16214"addebito", "addome", "adeguato", "aderire", "adipe", "adottare", "adulare", "affabile", "affetto", "affisso",
16215"affranto", "aforisma", "afoso", "africano", "agave", "agente", "agevole", "aggancio", "agire", "agitare",
16216"agonismo", "agricolo", "agrumeto", "aguzzo", "alabarda", "alato", "albatro", "alberato", "albo", "albume",
16217"alce", "alcolico", "alettone", "alfa", "algebra", "aliante", "alibi", "alimento", "allagato", "allegro",
16218"allievo", "allodola", "allusivo", "almeno", "alogeno", "alpaca", "alpestre", "altalena", "alterno", "alticcio",
16219"altrove", "alunno", "alveolo", "alzare", "amalgama", "amanita", "amarena", "ambito", "ambrato", "ameba",
16220"america", "ametista", "amico", "ammasso", "ammenda", "ammirare", "ammonito", "amore", "ampio", "ampliare",
16221"amuleto", "anacardo", "anagrafe", "analista", "anarchia", "anatra", "anca", "ancella", "ancora", "andare",
16222"andrea", "anello", "angelo", "angolare", "angusto", "anima", "annegare", "annidato", "anno", "annuncio",
16223"anonimo", "anticipo", "anzi", "apatico", "apertura", "apode", "apparire", "appetito", "appoggio", "approdo",
16224"appunto", "aprile", "arabica", "arachide", "aragosta", "araldica", "arancio", "aratura", "arazzo", "arbitro",
16225"archivio", "ardito", "arenile", "argento", "argine", "arguto", "aria", "armonia", "arnese", "arredato",
16226"arringa", "arrosto", "arsenico", "arso", "artefice", "arzillo", "asciutto", "ascolto", "asepsi", "asettico",
16227"asfalto", "asino", "asola", "aspirato", "aspro", "assaggio", "asse", "assoluto", "assurdo", "asta",
16228"astenuto", "astice", "astratto", "atavico", "ateismo", "atomico", "atono", "attesa", "attivare", "attorno",
16229"attrito", "attuale", "ausilio", "austria", "autista", "autonomo", "autunno", "avanzato", "avere", "avvenire",
16230"avviso", "avvolgere", "azione", "azoto", "azzimo", "azzurro", "babele", "baccano", "bacino", "baco",
16231"badessa", "badilata", "bagnato", "baita", "balcone", "baldo", "balena", "ballata", "balzano", "bambino",
16232"bandire", "baraonda", "barbaro", "barca", "baritono", "barlume", "barocco", "basilico", "basso", "batosta",
16233"battuto", "baule", "bava", "bavosa", "becco", "beffa", "belgio", "belva", "benda", "benevole",
16234"benigno", "benzina", "bere", "berlina", "beta", "bibita", "bici", "bidone", "bifido", "biga",
16235"bilancia", "bimbo", "binocolo", "biologo", "bipede", "bipolare", "birbante", "birra", "biscotto", "bisesto",
16236"bisnonno", "bisonte", "bisturi", "bizzarro", "blando", "blatta", "bollito", "bonifico", "bordo", "bosco",
16237"botanico", "bottino", "bozzolo", "braccio", "bradipo", "brama", "branca", "bravura", "bretella", "brevetto",
16238"brezza", "briglia", "brillante", "brindare", "broccolo", "brodo", "bronzina", "brullo", "bruno", "bubbone",
16239"buca", "budino", "buffone", "buio", "bulbo", "buono", "burlone", "burrasca", "bussola", "busta",
16240"cadetto", "caduco", "calamaro", "calcolo", "calesse", "calibro", "calmo", "caloria", "cambusa", "camerata",
16241"camicia", "cammino", "camola", "campale", "canapa", "candela", "cane", "canino", "canotto", "cantina",
16242"capace", "capello", "capitolo", "capogiro", "cappero", "capra", "capsula", "carapace", "carcassa", "cardo",
16243"carisma", "carovana", "carretto", "cartolina", "casaccio", "cascata", "caserma", "caso", "cassone", "castello",
16244"casuale", "catasta", "catena", "catrame", "cauto", "cavillo", "cedibile", "cedrata", "cefalo", "celebre",
16245"cellulare", "cena", "cenone", "centesimo", "ceramica", "cercare", "certo", "cerume", "cervello", "cesoia",
16246"cespo", "ceto", "chela", "chiaro", "chicca", "chiedere", "chimera", "china", "chirurgo", "chitarra",
16247"ciao", "ciclismo", "cifrare", "cigno", "cilindro", "ciottolo", "circa", "cirrosi", "citrico", "cittadino",
16248"ciuffo", "civetta", "civile", "classico", "clinica", "cloro", "cocco", "codardo", "codice", "coerente",
16249"cognome", "collare", "colmato", "colore", "colposo", "coltivato", "colza", "coma", "cometa", "commando",
16250"comodo", "computer", "comune", "conciso", "condurre", "conferma", "congelare", "coniuge", "connesso", "conoscere",
16251"consumo", "continuo", "convegno", "coperto", "copione", "coppia", "copricapo", "corazza", "cordata", "coricato",
16252"cornice", "corolla", "corpo", "corredo", "corsia", "cortese", "cosmico", "costante", "cottura", "covato",
16253"cratere", "cravatta", "creato", "credere", "cremoso", "crescita", "creta", "criceto", "crinale", "crisi",
16254"critico", "croce", "cronaca", "crostata", "cruciale", "crusca", "cucire", "cuculo", "cugino", "cullato",
16255"cupola", "curatore", "cursore", "curvo", "cuscino", "custode", "dado", "daino", "dalmata", "damerino",
16256"daniela", "dannoso", "danzare", "datato", "davanti", "davvero", "debutto", "decennio", "deciso", "declino",
16257"decollo", "decreto", "dedicato", "definito", "deforme", "degno", "delegare", "delfino", "delirio", "delta",
16258"demenza", "denotato", "dentro", "deposito", "derapata", "derivare", "deroga", "descritto", "deserto", "desiderio",
16259"desumere", "detersivo", "devoto", "diametro", "dicembre", "diedro", "difeso", "diffuso", "digerire", "digitale",
16260"diluvio", "dinamico", "dinnanzi", "dipinto", "diploma", "dipolo", "diradare", "dire", "dirotto", "dirupo",
16261"disagio", "discreto", "disfare", "disgelo", "disposto", "distanza", "disumano", "dito", "divano", "divelto",
16262"dividere", "divorato", "doblone", "docente", "doganale", "dogma", "dolce", "domato", "domenica", "dominare",
16263"dondolo", "dono", "dormire", "dote", "dottore", "dovuto", "dozzina", "drago", "druido", "dubbio",
16264"dubitare", "ducale", "duna", "duomo", "duplice", "duraturo", "ebano", "eccesso", "ecco", "eclissi",
16265"economia", "edera", "edicola", "edile", "editoria", "educare", "egemonia", "egli", "egoismo", "egregio",
16266"elaborato", "elargire", "elegante", "elencato", "eletto", "elevare", "elfico", "elica", "elmo", "elsa",
16267"eluso", "emanato", "emblema", "emesso", "emiro", "emotivo", "emozione", "empirico", "emulo", "endemico",
16268"enduro", "energia", "enfasi", "enoteca", "entrare", "enzima", "epatite", "epilogo", "episodio", "epocale",
16269"eppure", "equatore", "erario", "erba", "erboso", "erede", "eremita", "erigere", "ermetico", "eroe",
16270"erosivo", "errante", "esagono", "esame", "esanime", "esaudire", "esca", "esempio", "esercito", "esibito",
16271"esigente", "esistere", "esito", "esofago", "esortato", "esoso", "espanso", "espresso", "essenza", "esso",
16272"esteso", "estimare", "estonia", "estroso", "esultare", "etilico", "etnico", "etrusco", "etto", "euclideo",
16273"europa", "evaso", "evidenza", "evitato", "evoluto", "evviva", "fabbrica", "faccenda", "fachiro", "falco",
16274"famiglia", "fanale", "fanfara", "fango", "fantasma", "fare", "farfalla", "farinoso", "farmaco", "fascia",
16275"fastoso", "fasullo", "faticare", "fato", "favoloso", "febbre", "fecola", "fede", "fegato", "felpa",
16276"feltro", "femmina", "fendere", "fenomeno", "fermento", "ferro", "fertile", "fessura", "festivo", "fetta",
16277"feudo", "fiaba", "fiducia", "fifa", "figurato", "filo", "finanza", "finestra", "finire", "fiore",
16278"fiscale", "fisico", "fiume", "flacone", "flamenco", "flebo", "flemma", "florido", "fluente", "fluoro",
16279"fobico", "focaccia", "focoso", "foderato", "foglio", "folata", "folclore", "folgore", "fondente", "fonetico",
16280"fonia", "fontana", "forbito", "forchetta", "foresta", "formica", "fornaio", "foro", "fortezza", "forzare",
16281"fosfato", "fosso", "fracasso", "frana", "frassino", "fratello", "freccetta", "frenata", "fresco", "frigo",
16282"frollino", "fronde", "frugale", "frutta", "fucilata", "fucsia", "fuggente", "fulmine", "fulvo", "fumante",
16283"fumetto", "fumoso", "fune", "funzione", "fuoco", "furbo", "furgone", "furore", "fuso", "futile",
16284"gabbiano", "gaffe", "galateo", "gallina", "galoppo", "gambero", "gamma", "garanzia", "garbo", "garofano",
16285"garzone", "gasdotto", "gasolio", "gastrico", "gatto", "gaudio", "gazebo", "gazzella", "geco", "gelatina",
16286"gelso", "gemello", "gemmato", "gene", "genitore", "gennaio", "genotipo", "gergo", "ghepardo", "ghiaccio",
16287"ghisa", "giallo", "gilda", "ginepro", "giocare", "gioiello", "giorno", "giove", "girato", "girone",
16288"gittata", "giudizio", "giurato", "giusto", "globulo", "glutine", "gnomo", "gobba", "golf", "gomito",
16289"gommone", "gonfio", "gonna", "governo", "gracile", "grado", "grafico", "grammo", "grande", "grattare",
16290"gravoso", "grazia", "greca", "gregge", "grifone", "grigio", "grinza", "grotta", "gruppo", "guadagno",
16291"guaio", "guanto", "guardare", "gufo", "guidare", "ibernato", "icona", "identico", "idillio", "idolo",
16292"idra", "idrico", "idrogeno", "igiene", "ignaro", "ignorato", "ilare", "illeso", "illogico", "illudere",
16293"imballo", "imbevuto", "imbocco", "imbuto", "immane", "immerso", "immolato", "impacco", "impeto", "impiego",
16294"importo", "impronta", "inalare", "inarcare", "inattivo", "incanto", "incendio", "inchino", "incisivo", "incluso",
16295"incontro", "incrocio", "incubo", "indagine", "india", "indole", "inedito", "infatti", "infilare", "inflitto",
16296"ingaggio", "ingegno", "inglese", "ingordo", "ingrosso", "innesco", "inodore", "inoltrare", "inondato", "insano",
16297"insetto", "insieme", "insonnia", "insulina", "intasato", "intero", "intonaco", "intuito", "inumidire", "invalido",
16298"invece", "invito", "iperbole", "ipnotico", "ipotesi", "ippica", "iride", "irlanda", "ironico", "irrigato",
16299"irrorare", "isolato", "isotopo", "isterico", "istituto", "istrice", "italia", "iterare", "labbro", "labirinto",
16300"lacca", "lacerato", "lacrima", "lacuna", "laddove", "lago", "lampo", "lancetta", "lanterna", "lardoso",
16301"larga", "laringe", "lastra", "latenza", "latino", "lattuga", "lavagna", "lavoro", "legale", "leggero",
16302"lembo", "lentezza", "lenza", "leone", "lepre", "lesivo", "lessato", "lesto", "letterale", "leva",
16303"levigato", "libero", "lido", "lievito", "lilla", "limatura", "limitare", "limpido", "lineare", "lingua",
16304"liquido", "lira", "lirica", "lisca", "lite", "litigio", "livrea", "locanda", "lode", "logica",
16305"lombare", "londra", "longevo", "loquace", "lorenzo", "loto", "lotteria", "luce", "lucidato", "lumaca",
16306"luminoso", "lungo", "lupo", "luppolo", "lusinga", "lusso", "lutto", "macabro", "macchina", "macero",
16307"macinato", "madama", "magico", "maglia", "magnete", "magro", "maiolica", "malafede", "malgrado", "malinteso",
16308"malsano", "malto", "malumore", "mana", "mancia", "mandorla", "mangiare", "manifesto", "mannaro", "manovra",
16309"mansarda", "mantide", "manubrio", "mappa", "maratona", "marcire", "maretta", "marmo", "marsupio", "maschera",
16310"massaia", "mastino", "materasso", "matricola", "mattone", "maturo", "mazurca", "meandro", "meccanico", "mecenate",
16311"medesimo", "meditare", "mega", "melassa", "melis", "melodia", "meninge", "meno", "mensola", "mercurio",
16312"merenda", "merlo", "meschino", "mese", "messere", "mestolo", "metallo", "metodo", "mettere", "miagolare",
16313"mica", "micelio", "michele", "microbo", "midollo", "miele", "migliore", "milano", "milite", "mimosa",
16314"minerale", "mini", "minore", "mirino", "mirtillo", "miscela", "missiva", "misto", "misurare", "mitezza",
16315"mitigare", "mitra", "mittente", "mnemonico", "modello", "modifica", "modulo", "mogano", "mogio", "mole",
16316"molosso", "monastero", "monco", "mondina", "monetario", "monile", "monotono", "monsone", "montato", "monviso",
16317"mora", "mordere", "morsicato", "mostro", "motivato", "motosega", "motto", "movenza", "movimento", "mozzo",
16318"mucca", "mucosa", "muffa", "mughetto", "mugnaio", "mulatto", "mulinello", "multiplo", "mummia", "munto",
16319"muovere", "murale", "musa", "muscolo", "musica", "mutevole", "muto", "nababbo", "nafta", "nanometro",
16320"narciso", "narice", "narrato", "nascere", "nastrare", "naturale", "nautica", "naviglio", "nebulosa", "necrosi",
16321"negativo", "negozio", "nemmeno", "neofita", "neretto", "nervo", "nessuno", "nettuno", "neutrale", "neve",
16322"nevrotico", "nicchia", "ninfa", "nitido", "nobile", "nocivo", "nodo", "nome", "nomina", "nordico",
16323"normale", "norvegese", "nostrano", "notare", "notizia", "notturno", "novella", "nucleo", "nulla", "numero",
16324"nuovo", "nutrire", "nuvola", "nuziale", "oasi", "obbedire", "obbligo", "obelisco", "oblio", "obolo",
16325"obsoleto", "occasione", "occhio", "occidente", "occorrere", "occultare", "ocra", "oculato", "odierno", "odorare",
16326"offerta", "offrire", "offuscato", "oggetto", "oggi", "ognuno", "olandese", "olfatto", "oliato", "oliva",
16327"ologramma", "oltre", "omaggio", "ombelico", "ombra", "omega", "omissione", "ondoso", "onere", "onice",
16328"onnivoro", "onorevole", "onta", "operato", "opinione", "opposto", "oracolo", "orafo", "ordine", "orecchino",
16329"orefice", "orfano", "organico", "origine", "orizzonte", "orma", "ormeggio", "ornativo", "orologio", "orrendo",
16330"orribile", "ortensia", "ortica", "orzata", "orzo", "osare", "oscurare", "osmosi", "ospedale", "ospite",
16331"ossa", "ossidare", "ostacolo", "oste", "otite", "otre", "ottagono", "ottimo", "ottobre", "ovale",
16332"ovest", "ovino", "oviparo", "ovocito", "ovunque", "ovviare", "ozio", "pacchetto", "pace", "pacifico",
16333"padella", "padrone", "paese", "paga", "pagina", "palazzina", "palesare", "pallido", "palo", "palude",
16334"pandoro", "pannello", "paolo", "paonazzo", "paprica", "parabola", "parcella", "parere", "pargolo", "pari",
16335"parlato", "parola", "partire", "parvenza", "parziale", "passivo", "pasticca", "patacca", "patologia", "pattume",
16336"pavone", "peccato", "pedalare", "pedonale", "peggio", "peloso", "penare", "pendice", "penisola", "pennuto",
16337"penombra", "pensare", "pentola", "pepe", "pepita", "perbene", "percorso", "perdonato", "perforare", "pergamena",
16338"periodo", "permesso", "perno", "perplesso", "persuaso", "pertugio", "pervaso", "pesatore", "pesista", "peso",
16339"pestifero", "petalo", "pettine", "petulante", "pezzo", "piacere", "pianta", "piattino", "piccino", "picozza",
16340"piega", "pietra", "piffero", "pigiama", "pigolio", "pigro", "pila", "pilifero", "pillola", "pilota",
16341"pimpante", "pineta", "pinna", "pinolo", "pioggia", "piombo", "piramide", "piretico", "pirite", "pirolisi",
16342"pitone", "pizzico", "placebo", "planare", "plasma", "platano", "plenario", "pochezza", "poderoso", "podismo",
16343"poesia", "poggiare", "polenta", "poligono", "pollice", "polmonite", "polpetta", "polso", "poltrona", "polvere",
16344"pomice", "pomodoro", "ponte", "popoloso", "porfido", "poroso", "porpora", "porre", "portata", "posa",
16345"positivo", "possesso", "postulato", "potassio", "potere", "pranzo", "prassi", "pratica", "precluso", "predica",
16346"prefisso", "pregiato", "prelievo", "premere", "prenotare", "preparato", "presenza", "pretesto", "prevalso", "prima",
16347"principe", "privato", "problema", "procura", "produrre", "profumo", "progetto", "prolunga", "promessa", "pronome",
16348"proposta", "proroga", "proteso", "prova", "prudente", "prugna", "prurito", "psiche", "pubblico", "pudica",
16349"pugilato", "pugno", "pulce", "pulito", "pulsante", "puntare", "pupazzo", "pupilla", "puro", "quadro",
16350"qualcosa", "quasi", "querela", "quota", "raccolto", "raddoppio", "radicale", "radunato", "raffica", "ragazzo",
16351"ragione", "ragno", "ramarro", "ramingo", "ramo", "randagio", "rantolare", "rapato", "rapina", "rappreso",
16352"rasatura", "raschiato", "rasente", "rassegna", "rastrello", "rata", "ravveduto", "reale", "recepire", "recinto",
16353"recluta", "recondito", "recupero", "reddito", "redimere", "regalato", "registro", "regola", "regresso", "relazione",
16354"remare", "remoto", "renna", "replica", "reprimere", "reputare", "resa", "residente", "responso", "restauro",
16355"rete", "retina", "retorica", "rettifica", "revocato", "riassunto", "ribadire", "ribelle", "ribrezzo", "ricarica",
16356"ricco", "ricevere", "riciclato", "ricordo", "ricreduto", "ridicolo", "ridurre", "rifasare", "riflesso", "riforma",
16357"rifugio", "rigare", "rigettato", "righello", "rilassato", "rilevato", "rimanere", "rimbalzo", "rimedio", "rimorchio",
16358"rinascita", "rincaro", "rinforzo", "rinnovo", "rinomato", "rinsavito", "rintocco", "rinuncia", "rinvenire", "riparato",
16359"ripetuto", "ripieno", "riportare", "ripresa", "ripulire", "risata", "rischio", "riserva", "risibile", "riso",
16360"rispetto", "ristoro", "risultato", "risvolto", "ritardo", "ritegno", "ritmico", "ritrovo", "riunione", "riva",
16361"riverso", "rivincita", "rivolto", "rizoma", "roba", "robotico", "robusto", "roccia", "roco", "rodaggio",
16362"rodere", "roditore", "rogito", "rollio", "romantico", "rompere", "ronzio", "rosolare", "rospo", "rotante",
16363"rotondo", "rotula", "rovescio", "rubizzo", "rubrica", "ruga", "rullino", "rumine", "rumoroso", "ruolo",
16364"rupe", "russare", "rustico", "sabato", "sabbiare", "sabotato", "sagoma", "salasso", "saldatura", "salgemma",
16365"salivare", "salmone", "salone", "saltare", "saluto", "salvo", "sapere", "sapido", "saporito", "saraceno",
16366"sarcasmo", "sarto", "sassoso", "satellite", "satira", "satollo", "saturno", "savana", "savio", "saziato",
16367"sbadiglio", "sbalzo", "sbancato", "sbarra", "sbattere", "sbavare", "sbendare", "sbirciare", "sbloccato", "sbocciato",
16368"sbrinare", "sbruffone", "sbuffare", "scabroso", "scadenza", "scala", "scambiare", "scandalo", "scapola", "scarso",
16369"scatenare", "scavato", "scelto", "scenico", "scettro", "scheda", "schiena", "sciarpa", "scienza", "scindere",
16370"scippo", "sciroppo", "scivolo", "sclerare", "scodella", "scolpito", "scomparto", "sconforto", "scoprire", "scorta",
16371"scossone", "scozzese", "scriba", "scrollare", "scrutinio", "scuderia", "scultore", "scuola", "scuro", "scusare",
16372"sdebitare", "sdoganare", "seccatura", "secondo", "sedano", "seggiola", "segnalato", "segregato", "seguito", "selciato",
16373"selettivo", "sella", "selvaggio", "semaforo", "sembrare", "seme", "seminato", "sempre", "senso", "sentire",
16374"sepolto", "sequenza", "serata", "serbato", "sereno", "serio", "serpente", "serraglio", "servire", "sestina",
16375"setola", "settimana", "sfacelo", "sfaldare", "sfamato", "sfarzoso", "sfaticato", "sfera", "sfida", "sfilato",
16376"sfinge", "sfocato", "sfoderare", "sfogo", "sfoltire", "sforzato", "sfratto", "sfruttato", "sfuggito", "sfumare",
16377"sfuso", "sgabello", "sgarbato", "sgonfiare", "sgorbio", "sgrassato", "sguardo", "sibilo", "siccome", "sierra",
16378"sigla", "signore", "silenzio", "sillaba", "simbolo", "simpatico", "simulato", "sinfonia", "singolo", "sinistro",
16379"sino", "sintesi", "sinusoide", "sipario", "sisma", "sistole", "situato", "slitta", "slogatura", "sloveno",
16380"smarrito", "smemorato", "smentito", "smeraldo", "smilzo", "smontare", "smottato", "smussato", "snellire", "snervato",
16381"snodo", "sobbalzo", "sobrio", "soccorso", "sociale", "sodale", "soffitto", "sogno", "soldato", "solenne",
16382"solido", "sollazzo", "solo", "solubile", "solvente", "somatico", "somma", "sonda", "sonetto", "sonnifero",
16383"sopire", "soppeso", "sopra", "sorgere", "sorpasso", "sorriso", "sorso", "sorteggio", "sorvolato", "sospiro",
16384"sosta", "sottile", "spada", "spalla", "spargere", "spatola", "spavento", "spazzola", "specie", "spedire",
16385"spegnere", "spelatura", "speranza", "spessore", "spettrale", "spezzato", "spia", "spigoloso", "spillato", "spinoso",
16386"spirale", "splendido", "sportivo", "sposo", "spranga", "sprecare", "spronato", "spruzzo", "spuntino", "squillo",
16387"sradicare", "srotolato", "stabile", "stacco", "staffa", "stagnare", "stampato", "stantio", "starnuto", "stasera",
16388"statuto", "stelo", "steppa", "sterzo", "stiletto", "stima", "stirpe", "stivale", "stizzoso", "stonato",
16389"storico", "strappo", "stregato", "stridulo", "strozzare", "strutto", "stuccare", "stufo", "stupendo", "subentro",
16390"succoso", "sudore", "suggerito", "sugo", "sultano", "suonare", "superbo", "supporto", "surgelato", "surrogato",
16391"sussurro", "sutura", "svagare", "svedese", "sveglio", "svelare", "svenuto", "svezia", "sviluppo", "svista",
16392"svizzera", "svolta", "svuotare", "tabacco", "tabulato", "tacciare", "taciturno", "tale", "talismano", "tampone",
16393"tannino", "tara", "tardivo", "targato", "tariffa", "tarpare", "tartaruga", "tasto", "tattico", "taverna",
16394"tavolata", "tazza", "teca", "tecnico", "telefono", "temerario", "tempo", "temuto", "tendone", "tenero",
16395"tensione", "tentacolo", "teorema", "terme", "terrazzo", "terzetto", "tesi", "tesserato", "testato", "tetro",
16396"tettoia", "tifare", "tigella", "timbro", "tinto", "tipico", "tipografo", "tiraggio", "tiro", "titanio",
16397"titolo", "titubante", "tizio", "tizzone", "toccare", "tollerare", "tolto", "tombola", "tomo", "tonfo",
16398"tonsilla", "topazio", "topologia", "toppa", "torba", "tornare", "torrone", "tortora", "toscano", "tossire",
16399"tostatura", "totano", "trabocco", "trachea", "trafila", "tragedia", "tralcio", "tramonto", "transito", "trapano",
16400"trarre", "trasloco", "trattato", "trave", "treccia", "tremolio", "trespolo", "tributo", "tricheco", "trifoglio",
16401"trillo", "trincea", "trio", "tristezza", "triturato", "trivella", "tromba", "trono", "troppo", "trottola",
16402"trovare", "truccato", "tubatura", "tuffato", "tulipano", "tumulto", "tunisia", "turbare", "turchino", "tuta",
16403"tutela", "ubicato", "uccello", "uccisore", "udire", "uditivo", "uffa", "ufficio", "uguale", "ulisse",
16404"ultimato", "umano", "umile", "umorismo", "uncinetto", "ungere", "ungherese", "unicorno", "unificato", "unisono",
16405"unitario", "unte", "uovo", "upupa", "uragano", "urgenza", "urlo", "usanza", "usato", "uscito",
16406"usignolo", "usuraio", "utensile", "utilizzo", "utopia", "vacante", "vaccinato", "vagabondo", "vagliato", "valanga",
16407"valgo", "valico", "valletta", "valoroso", "valutare", "valvola", "vampata", "vangare", "vanitoso", "vano",
16408"vantaggio", "vanvera", "vapore", "varano", "varcato", "variante", "vasca", "vedetta", "vedova", "veduto",
16409"vegetale", "veicolo", "velcro", "velina", "velluto", "veloce", "venato", "vendemmia", "vento", "verace",
16410"verbale", "vergogna", "verifica", "vero", "verruca", "verticale", "vescica", "vessillo", "vestale", "veterano",
16411"vetrina", "vetusto", "viandante", "vibrante", "vicenda", "vichingo", "vicinanza", "vidimare", "vigilia", "vigneto",
16412"vigore", "vile", "villano", "vimini", "vincitore", "viola", "vipera", "virgola", "virologo", "virulento",
16413"viscoso", "visione", "vispo", "vissuto", "visura", "vita", "vitello", "vittima", "vivanda", "vivido",
16414"viziare", "voce", "voga", "volatile", "volere", "volpe", "voragine", "vulcano", "zampogna", "zanna",
16415"zappato", "zattera", "zavorra", "zefiro", "zelante", "zelo", "zenzero", "zerbino", "zibetto", "zinco",
16416"zircone", "zitto", "zolla", "zotico", "zucchero", "zufolo", "zulu", "zuppa"]
dc55c6b0 16417</script>
ab78acc6 16418 <script>/*
3af2954a
IC
16419 * Copyright (c) 2013 Pavol Rusnak
16420 *
16421 * Permission is hereby granted, free of charge, to any person obtaining a copy of
16422 * this software and associated documentation files (the "Software"), to deal in
16423 * the Software without restriction, including without limitation the rights to
16424 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16425 * of the Software, and to permit persons to whom the Software is furnished to do
16426 * so, subject to the following conditions:
16427 *
16428 * The above copyright notice and this permission notice shall be included in all
16429 * copies or substantial portions of the Software.
16430 *
16431 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16432 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16433 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16434 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16435 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16436 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16437 */
16438
16439/*
16440 * Javascript port from python by Ian Coleman
16441 *
80c4dd2a
IC
16442 * Requires code from sjcl
16443 * https://github.com/bitwiseshiftleft/sjcl
3af2954a
IC
16444 */
16445
16446var Mnemonic = function(language) {
16447
16448 var PBKDF2_ROUNDS = 2048;
16449 var RADIX = 2048;
16450
16451 var self = this;
16452 var wordlist = [];
16453
80c4dd2a
IC
16454 var hmacSHA512 = function(key) {
16455 var hasher = new sjcl.misc.hmac(key, sjcl.hash.sha512);
16456 this.encrypt = function() {
16457 return hasher.encrypt.apply(hasher, arguments);
16458 };
16459 };
16460
3af2954a
IC
16461 function init() {
16462 wordlist = WORDLISTS[language];
16463 if (wordlist.length != RADIX) {
16464 err = 'Wordlist should contain ' + RADIX + ' words, but it contains ' + wordlist.length + ' words.';
16465 throw err;
16466 }
16467 }
16468
16469 self.generate = function(strength) {
16470 strength = strength || 128;
16471 var r = strength % 32;
16472 if (r > 0) {
16473 throw 'Strength should be divisible by 32, but it is not (' + r + ').';
16474 }
16475 var hasStrongCrypto = 'crypto' in window && window['crypto'] !== null;
16476 if (!hasStrongCrypto) {
16477 throw 'Mnemonic should be generated with strong randomness, but crypto.getRandomValues is unavailable';
16478 }
16479 var buffer = new Uint8Array(strength / 8);
16480 var data = crypto.getRandomValues(buffer);
16481 return self.toMnemonic(data);
16482 }
16483
80c4dd2a
IC
16484 self.toMnemonic = function(byteArray) {
16485 if (byteArray.length % 4 > 0) {
16486 throw 'Data length in bits should be divisible by 32, but it is not (' + byteArray.length + ' bytes = ' + byteArray.length*8 + ' bits).'
3af2954a
IC
16487 }
16488
16489 //h = hashlib.sha256(data).hexdigest()
80c4dd2a
IC
16490 var data = byteArrayToWordArray(byteArray);
16491 var hash = sjcl.hash.sha256.hash(data);
16492 var h = sjcl.codec.hex.fromBits(hash);
3af2954a
IC
16493
16494 // b is a binary string, eg '00111010101100...'
16495 //b = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8) + \
16496 // bin(int(h, 16))[2:].zfill(256)[:len(data) * 8 / 32]
16497 //
16498 // a = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8)
16499 // c = bin(int(h, 16))[2:].zfill(256)
16500 // d = c[:len(data) * 8 / 32]
80c4dd2a
IC
16501 var a = byteArrayToBinaryString(byteArray);
16502 var c = zfill(hexStringToBinaryString(h), 256);
16503 var d = c.substring(0, byteArray.length * 8 / 32);
3af2954a
IC
16504 // b = line1 + line2
16505 var b = a + d;
16506
16507 var result = [];
16508 var blen = b.length / 11;
16509 for (var i=0; i<blen; i++) {
16510 var idx = parseInt(b.substring(i * 11, (i + 1) * 11), 2);
16511 result.push(wordlist[idx]);
16512 }
0515eeec 16513 return self.joinWords(result);
3af2954a
IC
16514 }
16515
16516 self.check = function(mnemonic) {
0515eeec 16517 var mnemonic = self.splitWords(mnemonic);
18abe53b 16518 if (mnemonic.length == 0 || mnemonic.length % 3 > 0) {
3af2954a
IC
16519 return false
16520 }
16521 // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic)
16522 var idx = [];
16523 for (var i=0; i<mnemonic.length; i++) {
16524 var word = mnemonic[i];
16525 var wordIndex = wordlist.indexOf(word);
16526 if (wordIndex == -1) {
16527 return false;
16528 }
16529 var binaryIndex = zfill(wordIndex.toString(2), 11);
16530 idx.push(binaryIndex);
16531 }
16532 var b = idx.join('');
16533 var l = b.length;
16534 //d = b[:l / 33 * 32]
16535 //h = b[-l / 33:]
16536 var d = b.substring(0, l / 33 * 32);
16537 var h = b.substring(l - l / 33, l);
16538 //nd = binascii.unhexlify(hex(int(d, 2))[2:].rstrip('L').zfill(l / 33 * 8))
80c4dd2a 16539 var nd = binaryStringToWordArray(d);
3af2954a 16540 //nh = bin(int(hashlib.sha256(nd).hexdigest(), 16))[2:].zfill(256)[:l / 33]
80c4dd2a
IC
16541 var ndHash = sjcl.hash.sha256.hash(nd);
16542 var ndHex = sjcl.codec.hex.fromBits(ndHash);
16543 var ndBstr = zfill(hexStringToBinaryString(ndHex), 256);
3af2954a
IC
16544 var nh = ndBstr.substring(0,l/33);
16545 return h == nh;
16546 }
16547
16548 self.toSeed = function(mnemonic, passphrase) {
16549 passphrase = passphrase || '';
0515eeec 16550 mnemonic = self.joinWords(self.splitWords(self.normalizeString(mnemonic))); // removes blanks
3af2954a
IC
16551 passphrase = self.normalizeString(passphrase)
16552 passphrase = "mnemonic" + passphrase;
80c4dd2a
IC
16553 var mnemonicBits = sjcl.codec.utf8String.toBits(mnemonic);
16554 var passphraseBits = sjcl.codec.utf8String.toBits(passphrase);
16555 var result = sjcl.misc.pbkdf2(mnemonicBits, passphraseBits, PBKDF2_ROUNDS, 512, hmacSHA512);
16556 var hashHex = sjcl.codec.hex.fromBits(result);
16557 return hashHex;
3af2954a
IC
16558 }
16559
0515eeec
IC
16560 self.splitWords = function(mnemonic) {
16561 return mnemonic.split(/\s/g).filter(function(x) { return x.length; });
16562 }
16563
16564 self.joinWords = function(words) {
16565 // Set space correctly depending on the language
16566 // see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
16567 var space = " ";
16568 if (language == "japanese") {
16569 space = "\u3000"; // ideographic space
16570 }
16571 return words.join(space);
16572 }
16573
3af2954a
IC
16574 self.normalizeString = function(str) {
16575 if (typeof str.normalize == "function") {
16576 return str.normalize("NFKD");
16577 }
16578 else {
16579 // TODO decide how to handle this in the future.
16580 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
16581 return str;
16582 }
16583 }
16584
80c4dd2a
IC
16585 function byteArrayToWordArray(data) {
16586 var a = [];
16587 for (var i=0; i<data.length/4; i++) {
16588 v = 0;
16589 v += data[i*4 + 0] << 8 * 3;
16590 v += data[i*4 + 1] << 8 * 2;
16591 v += data[i*4 + 2] << 8 * 1;
16592 v += data[i*4 + 3] << 8 * 0;
16593 a.push(v);
16594 }
16595 return a;
16596 }
16597
3af2954a
IC
16598 function byteArrayToBinaryString(data) {
16599 var bin = "";
16600 for (var i=0; i<data.length; i++) {
16601 bin += zfill(data[i].toString(2), 8);
16602 }
16603 return bin;
16604 }
16605
80c4dd2a
IC
16606 function hexStringToBinaryString(hexString) {
16607 binaryString = "";
16608 for (var i=0; i<hexString.length; i++) {
16609 binaryString += zfill(parseInt(hexString[i], 16).toString(2),4);
16610 }
16611 return binaryString;
16612 }
16613
16614 function binaryStringToWordArray(binary) {
16615 var aLen = binary.length / 32;
16616 var a = [];
16617 for (var i=0; i<aLen; i++) {
16618 var valueStr = binary.substring(0,32);
3af2954a 16619 var value = parseInt(valueStr, 2);
80c4dd2a
IC
16620 a.push(value);
16621 binary = binary.slice(32);
3af2954a 16622 }
80c4dd2a 16623 return a;
3af2954a
IC
16624 }
16625
16626 // Pad a numeric string on the left with zero digits until the given width
16627 // is reached.
16628 // Note this differs to the python implementation because it does not
16629 // handle numbers starting with a sign.
16630 function zfill(source, length) {
16631 source = source.toString();
16632 while (source.length < length) {
16633 source = '0' + source;
16634 }
16635 return source;
16636 }
16637
16638 init();
ebd8d4e8 16639
3af2954a 16640}
dc55c6b0 16641</script>
95f04905
IC
16642 <script>/*
16643 JavaScript BigInteger library version 0.9.1
16644 http://silentmatt.com/biginteger/
18abe53b 16645
95f04905
IC
16646 Copyright (c) 2009 Matthew Crumley <email@matthewcrumley.com>
16647 Copyright (c) 2010,2011 by John Tobey <John.Tobey@gmail.com>
16648 Licensed under the MIT license.
c6624d51 16649
95f04905
IC
16650 Support for arbitrary internal representation base was added by
16651 Vitaly Magerya.
16652*/
18abe53b 16653
95f04905
IC
16654/*
16655 File: biginteger.js
18abe53b 16656
95f04905 16657 Exports:
18abe53b 16658
95f04905
IC
16659 <BigInteger>
16660*/
16661(function(exports) {
16662"use strict";
16663/*
16664 Class: BigInteger
16665 An arbitrarily-large integer.
18abe53b 16666
95f04905
IC
16667 <BigInteger> objects should be considered immutable. None of the "built-in"
16668 methods modify *this* or their arguments. All properties should be
16669 considered private.
18abe53b 16670
95f04905
IC
16671 All the methods of <BigInteger> instances can be called "statically". The
16672 static versions are convenient if you don't already have a <BigInteger>
16673 object.
18abe53b 16674
95f04905 16675 As an example, these calls are equivalent.
18abe53b 16676
95f04905
IC
16677 > BigInteger(4).multiply(5); // returns BigInteger(20);
16678 > BigInteger.multiply(4, 5); // returns BigInteger(20);
18abe53b 16679
95f04905
IC
16680 > var a = 42;
16681 > var a = BigInteger.toJSValue("0b101010"); // Not completely useless...
16682*/
c6624d51 16683
95f04905 16684var CONSTRUCT = {}; // Unique token to call "private" version of constructor
c6624d51
IC
16685
16686/*
16687 Constructor: BigInteger()
16688 Convert a value to a <BigInteger>.
16689
16690 Although <BigInteger()> is the constructor for <BigInteger> objects, it is
16691 best not to call it as a constructor. If *n* is a <BigInteger> object, it is
16692 simply returned as-is. Otherwise, <BigInteger()> is equivalent to <parse>
16693 without a radix argument.
16694
16695 > var n0 = BigInteger(); // Same as <BigInteger.ZERO>
16696 > var n1 = BigInteger("123"); // Create a new <BigInteger> with value 123
16697 > var n2 = BigInteger(123); // Create a new <BigInteger> with value 123
16698 > var n3 = BigInteger(n2); // Return n2, unchanged
16699
16700 The constructor form only takes an array and a sign. *n* must be an
16701 array of numbers in little-endian order, where each digit is between 0
16702 and BigInteger.base. The second parameter sets the sign: -1 for
16703 negative, +1 for positive, or 0 for zero. The array is *not copied and
16704 may be modified*. If the array contains only zeros, the sign parameter
16705 is ignored and is forced to zero.
16706
16707 > new BigInteger([5], -1): create a new BigInteger with value -5
16708
16709 Parameters:
16710
16711 n - Value to convert to a <BigInteger>.
16712
16713 Returns:
16714
16715 A <BigInteger> value.
16716
16717 See Also:
16718
16719 <parse>, <BigInteger>
16720*/
16721function BigInteger(n, s, token) {
16722 if (token !== CONSTRUCT) {
16723 if (n instanceof BigInteger) {
16724 return n;
16725 }
16726 else if (typeof n === "undefined") {
16727 return ZERO;
16728 }
16729 return BigInteger.parse(n);
16730 }
16731
16732 n = n || []; // Provide the nullary constructor for subclasses.
16733 while (n.length && !n[n.length - 1]) {
16734 --n.length;
16735 }
16736 this._d = n;
16737 this._s = n.length ? (s || 1) : 0;
16738}
16739
16740BigInteger._construct = function(n, s) {
16741 return new BigInteger(n, s, CONSTRUCT);
16742};
16743
16744// Base-10 speedup hacks in parse, toString, exp10 and log functions
16745// require base to be a power of 10. 10^7 is the largest such power
16746// that won't cause a precision loss when digits are multiplied.
16747var BigInteger_base = 10000000;
16748var BigInteger_base_log10 = 7;
16749
16750BigInteger.base = BigInteger_base;
16751BigInteger.base_log10 = BigInteger_base_log10;
16752
16753var ZERO = new BigInteger([], 0, CONSTRUCT);
16754// Constant: ZERO
16755// <BigInteger> 0.
16756BigInteger.ZERO = ZERO;
16757
16758var ONE = new BigInteger([1], 1, CONSTRUCT);
16759// Constant: ONE
16760// <BigInteger> 1.
16761BigInteger.ONE = ONE;
16762
16763var M_ONE = new BigInteger(ONE._d, -1, CONSTRUCT);
16764// Constant: M_ONE
16765// <BigInteger> -1.
16766BigInteger.M_ONE = M_ONE;
16767
16768// Constant: _0
16769// Shortcut for <ZERO>.
16770BigInteger._0 = ZERO;
16771
16772// Constant: _1
16773// Shortcut for <ONE>.
16774BigInteger._1 = ONE;
16775
16776/*
16777 Constant: small
16778 Array of <BigIntegers> from 0 to 36.
16779
16780 These are used internally for parsing, but useful when you need a "small"
16781 <BigInteger>.
16782
16783 See Also:
16784
16785 <ZERO>, <ONE>, <_0>, <_1>
16786*/
16787BigInteger.small = [
16788 ZERO,
16789 ONE,
16790 /* Assuming BigInteger_base > 36 */
16791 new BigInteger( [2], 1, CONSTRUCT),
16792 new BigInteger( [3], 1, CONSTRUCT),
16793 new BigInteger( [4], 1, CONSTRUCT),
16794 new BigInteger( [5], 1, CONSTRUCT),
16795 new BigInteger( [6], 1, CONSTRUCT),
16796 new BigInteger( [7], 1, CONSTRUCT),
16797 new BigInteger( [8], 1, CONSTRUCT),
16798 new BigInteger( [9], 1, CONSTRUCT),
16799 new BigInteger([10], 1, CONSTRUCT),
16800 new BigInteger([11], 1, CONSTRUCT),
16801 new BigInteger([12], 1, CONSTRUCT),
16802 new BigInteger([13], 1, CONSTRUCT),
16803 new BigInteger([14], 1, CONSTRUCT),
16804 new BigInteger([15], 1, CONSTRUCT),
16805 new BigInteger([16], 1, CONSTRUCT),
16806 new BigInteger([17], 1, CONSTRUCT),
16807 new BigInteger([18], 1, CONSTRUCT),
16808 new BigInteger([19], 1, CONSTRUCT),
16809 new BigInteger([20], 1, CONSTRUCT),
16810 new BigInteger([21], 1, CONSTRUCT),
16811 new BigInteger([22], 1, CONSTRUCT),
16812 new BigInteger([23], 1, CONSTRUCT),
16813 new BigInteger([24], 1, CONSTRUCT),
16814 new BigInteger([25], 1, CONSTRUCT),
16815 new BigInteger([26], 1, CONSTRUCT),
16816 new BigInteger([27], 1, CONSTRUCT),
16817 new BigInteger([28], 1, CONSTRUCT),
16818 new BigInteger([29], 1, CONSTRUCT),
16819 new BigInteger([30], 1, CONSTRUCT),
16820 new BigInteger([31], 1, CONSTRUCT),
16821 new BigInteger([32], 1, CONSTRUCT),
16822 new BigInteger([33], 1, CONSTRUCT),
16823 new BigInteger([34], 1, CONSTRUCT),
16824 new BigInteger([35], 1, CONSTRUCT),
16825 new BigInteger([36], 1, CONSTRUCT)
16826];
16827
16828// Used for parsing/radix conversion
16829BigInteger.digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
16830
16831/*
16832 Method: toString
16833 Convert a <BigInteger> to a string.
16834
16835 When *base* is greater than 10, letters are upper case.
16836
16837 Parameters:
16838
16839 base - Optional base to represent the number in (default is base 10).
16840 Must be between 2 and 36 inclusive, or an Error will be thrown.
16841
16842 Returns:
16843
16844 The string representation of the <BigInteger>.
16845*/
16846BigInteger.prototype.toString = function(base) {
16847 base = +base || 10;
16848 if (base < 2 || base > 36) {
16849 throw new Error("illegal radix " + base + ".");
16850 }
16851 if (this._s === 0) {
16852 return "0";
16853 }
16854 if (base === 10) {
16855 var str = this._s < 0 ? "-" : "";
16856 str += this._d[this._d.length - 1].toString();
16857 for (var i = this._d.length - 2; i >= 0; i--) {
16858 var group = this._d[i].toString();
16859 while (group.length < BigInteger_base_log10) group = '0' + group;
16860 str += group;
16861 }
16862 return str;
16863 }
16864 else {
16865 var numerals = BigInteger.digits;
16866 base = BigInteger.small[base];
16867 var sign = this._s;
16868
16869 var n = this.abs();
16870 var digits = [];
16871 var digit;
16872
16873 while (n._s !== 0) {
16874 var divmod = n.divRem(base);
16875 n = divmod[0];
16876 digit = divmod[1];
16877 // TODO: This could be changed to unshift instead of reversing at the end.
16878 // Benchmark both to compare speeds.
16879 digits.push(numerals[digit.valueOf()]);
16880 }
16881 return (sign < 0 ? "-" : "") + digits.reverse().join("");
16882 }
16883};
16884
16885// Verify strings for parsing
16886BigInteger.radixRegex = [
16887 /^$/,
16888 /^$/,
16889 /^[01]*$/,
16890 /^[012]*$/,
16891 /^[0-3]*$/,
16892 /^[0-4]*$/,
16893 /^[0-5]*$/,
16894 /^[0-6]*$/,
16895 /^[0-7]*$/,
16896 /^[0-8]*$/,
16897 /^[0-9]*$/,
16898 /^[0-9aA]*$/,
16899 /^[0-9abAB]*$/,
16900 /^[0-9abcABC]*$/,
16901 /^[0-9a-dA-D]*$/,
16902 /^[0-9a-eA-E]*$/,
16903 /^[0-9a-fA-F]*$/,
16904 /^[0-9a-gA-G]*$/,
16905 /^[0-9a-hA-H]*$/,
16906 /^[0-9a-iA-I]*$/,
16907 /^[0-9a-jA-J]*$/,
16908 /^[0-9a-kA-K]*$/,
16909 /^[0-9a-lA-L]*$/,
16910 /^[0-9a-mA-M]*$/,
16911 /^[0-9a-nA-N]*$/,
16912 /^[0-9a-oA-O]*$/,
16913 /^[0-9a-pA-P]*$/,
16914 /^[0-9a-qA-Q]*$/,
16915 /^[0-9a-rA-R]*$/,
16916 /^[0-9a-sA-S]*$/,
16917 /^[0-9a-tA-T]*$/,
16918 /^[0-9a-uA-U]*$/,
16919 /^[0-9a-vA-V]*$/,
16920 /^[0-9a-wA-W]*$/,
16921 /^[0-9a-xA-X]*$/,
16922 /^[0-9a-yA-Y]*$/,
16923 /^[0-9a-zA-Z]*$/
16924];
16925
16926/*
16927 Function: parse
16928 Parse a string into a <BigInteger>.
16929
16930 *base* is optional but, if provided, must be from 2 to 36 inclusive. If
16931 *base* is not provided, it will be guessed based on the leading characters
16932 of *s* as follows:
16933
16934 - "0x" or "0X": *base* = 16
16935 - "0c" or "0C": *base* = 8
16936 - "0b" or "0B": *base* = 2
16937 - else: *base* = 10
16938
16939 If no base is provided, or *base* is 10, the number can be in exponential
16940 form. For example, these are all valid:
16941
16942 > BigInteger.parse("1e9"); // Same as "1000000000"
16943 > BigInteger.parse("1.234*10^3"); // Same as 1234
16944 > BigInteger.parse("56789 * 10 ** -2"); // Same as 567
16945
16946 If any characters fall outside the range defined by the radix, an exception
16947 will be thrown.
16948
16949 Parameters:
16950
16951 s - The string to parse.
16952 base - Optional radix (default is to guess based on *s*).
16953
16954 Returns:
16955
16956 a <BigInteger> instance.
16957*/
16958BigInteger.parse = function(s, base) {
16959 // Expands a number in exponential form to decimal form.
16960 // expandExponential("-13.441*10^5") === "1344100";
16961 // expandExponential("1.12300e-1") === "0.112300";
16962 // expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
16963 function expandExponential(str) {
16964 str = str.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/, "e");
16965
16966 return str.replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/, function(x, s, n, f, c) {
16967 c = +c;
16968 var l = c < 0;
16969 var i = n.length + c;
16970 x = (l ? n : f).length;
16971 c = ((c = Math.abs(c)) >= x ? c - x + l : 0);
16972 var z = (new Array(c + 1)).join("0");
16973 var r = n + f;
16974 return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
16975 });
16976 }
16977
16978 s = s.toString();
16979 if (typeof base === "undefined" || +base === 10) {
16980 s = expandExponential(s);
16981 }
16982
16983 var prefixRE;
16984 if (typeof base === "undefined") {
16985 prefixRE = '0[xcb]';
16986 }
16987 else if (base == 16) {
16988 prefixRE = '0x';
16989 }
16990 else if (base == 8) {
16991 prefixRE = '0c';
16992 }
16993 else if (base == 2) {
16994 prefixRE = '0b';
16995 }
16996 else {
16997 prefixRE = '';
16998 }
16999 var parts = new RegExp('^([+\\-]?)(' + prefixRE + ')?([0-9a-z]*)(?:\\.\\d*)?$', 'i').exec(s);
17000 if (parts) {
17001 var sign = parts[1] || "+";
17002 var baseSection = parts[2] || "";
17003 var digits = parts[3] || "";
17004
17005 if (typeof base === "undefined") {
17006 // Guess base
17007 if (baseSection === "0x" || baseSection === "0X") { // Hex
17008 base = 16;
17009 }
17010 else if (baseSection === "0c" || baseSection === "0C") { // Octal
17011 base = 8;
17012 }
17013 else if (baseSection === "0b" || baseSection === "0B") { // Binary
17014 base = 2;
17015 }
17016 else {
17017 base = 10;
17018 }
17019 }
17020 else if (base < 2 || base > 36) {
17021 throw new Error("Illegal radix " + base + ".");
17022 }
17023
17024 base = +base;
17025
17026 // Check for digits outside the range
17027 if (!(BigInteger.radixRegex[base].test(digits))) {
17028 throw new Error("Bad digit for radix " + base);
17029 }
17030
17031 // Strip leading zeros, and convert to array
17032 digits = digits.replace(/^0+/, "").split("");
17033 if (digits.length === 0) {
17034 return ZERO;
17035 }
17036
17037 // Get the sign (we know it's not zero)
17038 sign = (sign === "-") ? -1 : 1;
17039
17040 // Optimize 10
17041 if (base == 10) {
17042 var d = [];
17043 while (digits.length >= BigInteger_base_log10) {
17044 d.push(parseInt(digits.splice(digits.length-BigInteger.base_log10, BigInteger.base_log10).join(''), 10));
17045 }
17046 d.push(parseInt(digits.join(''), 10));
17047 return new BigInteger(d, sign, CONSTRUCT);
17048 }
17049
17050 // Do the conversion
17051 var d = ZERO;
17052 base = BigInteger.small[base];
17053 var small = BigInteger.small;
17054 for (var i = 0; i < digits.length; i++) {
17055 d = d.multiply(base).add(small[parseInt(digits[i], 36)]);
17056 }
17057 return new BigInteger(d._d, sign, CONSTRUCT);
17058 }
17059 else {
17060 throw new Error("Invalid BigInteger format: " + s);
17061 }
17062};
17063
17064/*
17065 Function: add
17066 Add two <BigIntegers>.
17067
17068 Parameters:
17069
17070 n - The number to add to *this*. Will be converted to a <BigInteger>.
17071
17072 Returns:
17073
17074 The numbers added together.
17075
17076 See Also:
17077
17078 <subtract>, <multiply>, <quotient>, <next>
17079*/
17080BigInteger.prototype.add = function(n) {
17081 if (this._s === 0) {
17082 return BigInteger(n);
17083 }
17084
17085 n = BigInteger(n);
17086 if (n._s === 0) {
17087 return this;
17088 }
17089 if (this._s !== n._s) {
17090 n = n.negate();
17091 return this.subtract(n);
17092 }
17093
17094 var a = this._d;
17095 var b = n._d;
17096 var al = a.length;
17097 var bl = b.length;
17098 var sum = new Array(Math.max(al, bl) + 1);
17099 var size = Math.min(al, bl);
17100 var carry = 0;
17101 var digit;
17102
17103 for (var i = 0; i < size; i++) {
17104 digit = a[i] + b[i] + carry;
17105 sum[i] = digit % BigInteger_base;
17106 carry = (digit / BigInteger_base) | 0;
17107 }
17108 if (bl > al) {
17109 a = b;
17110 al = bl;
17111 }
17112 for (i = size; carry && i < al; i++) {
17113 digit = a[i] + carry;
17114 sum[i] = digit % BigInteger_base;
17115 carry = (digit / BigInteger_base) | 0;
17116 }
17117 if (carry) {
17118 sum[i] = carry;
17119 }
17120
17121 for ( ; i < al; i++) {
17122 sum[i] = a[i];
17123 }
17124
17125 return new BigInteger(sum, this._s, CONSTRUCT);
17126};
17127
17128/*
17129 Function: negate
17130 Get the additive inverse of a <BigInteger>.
17131
17132 Returns:
17133
17134 A <BigInteger> with the same magnatude, but with the opposite sign.
17135
17136 See Also:
17137
17138 <abs>
17139*/
17140BigInteger.prototype.negate = function() {
17141 return new BigInteger(this._d, (-this._s) | 0, CONSTRUCT);
17142};
17143
17144/*
17145 Function: abs
17146 Get the absolute value of a <BigInteger>.
17147
17148 Returns:
17149
17150 A <BigInteger> with the same magnatude, but always positive (or zero).
17151
17152 See Also:
17153
17154 <negate>
17155*/
17156BigInteger.prototype.abs = function() {
17157 return (this._s < 0) ? this.negate() : this;
17158};
17159
17160/*
17161 Function: subtract
17162 Subtract two <BigIntegers>.
17163
17164 Parameters:
17165
17166 n - The number to subtract from *this*. Will be converted to a <BigInteger>.
17167
17168 Returns:
17169
17170 The *n* subtracted from *this*.
17171
17172 See Also:
17173
17174 <add>, <multiply>, <quotient>, <prev>
17175*/
17176BigInteger.prototype.subtract = function(n) {
17177 if (this._s === 0) {
17178 return BigInteger(n).negate();
17179 }
17180
17181 n = BigInteger(n);
17182 if (n._s === 0) {
17183 return this;
17184 }
17185 if (this._s !== n._s) {
17186 n = n.negate();
17187 return this.add(n);
17188 }
17189
17190 var m = this;
17191 // negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
17192 if (this._s < 0) {
17193 m = new BigInteger(n._d, 1, CONSTRUCT);
17194 n = new BigInteger(this._d, 1, CONSTRUCT);
17195 }
17196
17197 // Both are positive => a - b
17198 var sign = m.compareAbs(n);
17199 if (sign === 0) {
17200 return ZERO;
17201 }
17202 else if (sign < 0) {
17203 // swap m and n
17204 var t = n;
17205 n = m;
17206 m = t;
17207 }
17208
17209 // a > b
17210 var a = m._d;
17211 var b = n._d;
17212 var al = a.length;
17213 var bl = b.length;
17214 var diff = new Array(al); // al >= bl since a > b
17215 var borrow = 0;
17216 var i;
17217 var digit;
17218
17219 for (i = 0; i < bl; i++) {
17220 digit = a[i] - borrow - b[i];
17221 if (digit < 0) {
17222 digit += BigInteger_base;
17223 borrow = 1;
17224 }
17225 else {
17226 borrow = 0;
17227 }
17228 diff[i] = digit;
17229 }
17230 for (i = bl; i < al; i++) {
17231 digit = a[i] - borrow;
17232 if (digit < 0) {
17233 digit += BigInteger_base;
17234 }
17235 else {
17236 diff[i++] = digit;
17237 break;
17238 }
17239 diff[i] = digit;
17240 }
17241 for ( ; i < al; i++) {
17242 diff[i] = a[i];
17243 }
17244
17245 return new BigInteger(diff, sign, CONSTRUCT);
17246};
17247
17248(function() {
17249 function addOne(n, sign) {
17250 var a = n._d;
17251 var sum = a.slice();
17252 var carry = true;
17253 var i = 0;
17254
17255 while (true) {
17256 var digit = (a[i] || 0) + 1;
17257 sum[i] = digit % BigInteger_base;
17258 if (digit <= BigInteger_base - 1) {
17259 break;
17260 }
17261 ++i;
17262 }
17263
17264 return new BigInteger(sum, sign, CONSTRUCT);
17265 }
17266
17267 function subtractOne(n, sign) {
17268 var a = n._d;
17269 var sum = a.slice();
17270 var borrow = true;
17271 var i = 0;
17272
17273 while (true) {
17274 var digit = (a[i] || 0) - 1;
17275 if (digit < 0) {
17276 sum[i] = digit + BigInteger_base;
17277 }
17278 else {
17279 sum[i] = digit;
17280 break;
17281 }
17282 ++i;
17283 }
17284
17285 return new BigInteger(sum, sign, CONSTRUCT);
17286 }
17287
17288 /*
17289 Function: next
17290 Get the next <BigInteger> (add one).
17291
17292 Returns:
17293
17294 *this* + 1.
17295
17296 See Also:
17297
17298 <add>, <prev>
17299 */
17300 BigInteger.prototype.next = function() {
17301 switch (this._s) {
17302 case 0:
17303 return ONE;
17304 case -1:
17305 return subtractOne(this, -1);
17306 // case 1:
17307 default:
17308 return addOne(this, 1);
17309 }
17310 };
17311
17312 /*
17313 Function: prev
17314 Get the previous <BigInteger> (subtract one).
17315
17316 Returns:
17317
17318 *this* - 1.
17319
17320 See Also:
17321
17322 <next>, <subtract>
17323 */
17324 BigInteger.prototype.prev = function() {
17325 switch (this._s) {
17326 case 0:
17327 return M_ONE;
17328 case -1:
17329 return addOne(this, -1);
17330 // case 1:
17331 default:
17332 return subtractOne(this, 1);
17333 }
17334 };
17335})();
17336
17337/*
17338 Function: compareAbs
17339 Compare the absolute value of two <BigIntegers>.
17340
17341 Calling <compareAbs> is faster than calling <abs> twice, then <compare>.
17342
17343 Parameters:
17344
17345 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17346
17347 Returns:
17348
17349 -1, 0, or +1 if *|this|* is less than, equal to, or greater than *|n|*.
17350
17351 See Also:
17352
17353 <compare>, <abs>
17354*/
17355BigInteger.prototype.compareAbs = function(n) {
17356 if (this === n) {
17357 return 0;
17358 }
17359
17360 if (!(n instanceof BigInteger)) {
17361 if (!isFinite(n)) {
17362 return(isNaN(n) ? n : -1);
17363 }
17364 n = BigInteger(n);
17365 }
17366
17367 if (this._s === 0) {
17368 return (n._s !== 0) ? -1 : 0;
17369 }
17370 if (n._s === 0) {
17371 return 1;
17372 }
17373
17374 var l = this._d.length;
17375 var nl = n._d.length;
17376 if (l < nl) {
17377 return -1;
17378 }
17379 else if (l > nl) {
17380 return 1;
17381 }
17382
17383 var a = this._d;
17384 var b = n._d;
17385 for (var i = l-1; i >= 0; i--) {
17386 if (a[i] !== b[i]) {
17387 return a[i] < b[i] ? -1 : 1;
17388 }
17389 }
17390
17391 return 0;
17392};
17393
17394/*
17395 Function: compare
17396 Compare two <BigIntegers>.
17397
17398 Parameters:
17399
17400 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17401
17402 Returns:
17403
17404 -1, 0, or +1 if *this* is less than, equal to, or greater than *n*.
17405
17406 See Also:
17407
17408 <compareAbs>, <isPositive>, <isNegative>, <isUnit>
17409*/
17410BigInteger.prototype.compare = function(n) {
17411 if (this === n) {
17412 return 0;
17413 }
17414
17415 n = BigInteger(n);
17416
17417 if (this._s === 0) {
17418 return -n._s;
17419 }
17420
17421 if (this._s === n._s) { // both positive or both negative
17422 var cmp = this.compareAbs(n);
17423 return cmp * this._s;
17424 }
17425 else {
17426 return this._s;
17427 }
17428};
17429
17430/*
17431 Function: isUnit
17432 Return true iff *this* is either 1 or -1.
17433
17434 Returns:
17435
17436 true if *this* compares equal to <BigInteger.ONE> or <BigInteger.M_ONE>.
17437
17438 See Also:
17439
17440 <isZero>, <isNegative>, <isPositive>, <compareAbs>, <compare>,
17441 <BigInteger.ONE>, <BigInteger.M_ONE>
17442*/
17443BigInteger.prototype.isUnit = function() {
17444 return this === ONE ||
17445 this === M_ONE ||
17446 (this._d.length === 1 && this._d[0] === 1);
17447};
17448
17449/*
17450 Function: multiply
17451 Multiply two <BigIntegers>.
17452
17453 Parameters:
17454
17455 n - The number to multiply *this* by. Will be converted to a
17456 <BigInteger>.
17457
17458 Returns:
17459
17460 The numbers multiplied together.
17461
17462 See Also:
17463
17464 <add>, <subtract>, <quotient>, <square>
17465*/
17466BigInteger.prototype.multiply = function(n) {
17467 // TODO: Consider adding Karatsuba multiplication for large numbers
17468 if (this._s === 0) {
17469 return ZERO;
17470 }
17471
17472 n = BigInteger(n);
17473 if (n._s === 0) {
17474 return ZERO;
17475 }
17476 if (this.isUnit()) {
17477 if (this._s < 0) {
17478 return n.negate();
17479 }
17480 return n;
17481 }
17482 if (n.isUnit()) {
17483 if (n._s < 0) {
17484 return this.negate();
17485 }
17486 return this;
17487 }
17488 if (this === n) {
17489 return this.square();
17490 }
17491
17492 var r = (this._d.length >= n._d.length);
17493 var a = (r ? this : n)._d; // a will be longer than b
17494 var b = (r ? n : this)._d;
17495 var al = a.length;
17496 var bl = b.length;
17497
17498 var pl = al + bl;
17499 var partial = new Array(pl);
17500 var i;
17501 for (i = 0; i < pl; i++) {
17502 partial[i] = 0;
17503 }
17504
17505 for (i = 0; i < bl; i++) {
17506 var carry = 0;
17507 var bi = b[i];
17508 var jlimit = al + i;
17509 var digit;
17510 for (var j = i; j < jlimit; j++) {
17511 digit = partial[j] + bi * a[j - i] + carry;
17512 carry = (digit / BigInteger_base) | 0;
17513 partial[j] = (digit % BigInteger_base) | 0;
17514 }
17515 if (carry) {
17516 digit = partial[j] + carry;
17517 carry = (digit / BigInteger_base) | 0;
17518 partial[j] = digit % BigInteger_base;
17519 }
17520 }
17521 return new BigInteger(partial, this._s * n._s, CONSTRUCT);
17522};
17523
17524// Multiply a BigInteger by a single-digit native number
17525// Assumes that this and n are >= 0
17526// This is not really intended to be used outside the library itself
17527BigInteger.prototype.multiplySingleDigit = function(n) {
17528 if (n === 0 || this._s === 0) {
17529 return ZERO;
17530 }
17531 if (n === 1) {
17532 return this;
17533 }
17534
17535 var digit;
17536 if (this._d.length === 1) {
17537 digit = this._d[0] * n;
17538 if (digit >= BigInteger_base) {
17539 return new BigInteger([(digit % BigInteger_base)|0,
17540 (digit / BigInteger_base)|0], 1, CONSTRUCT);
17541 }
17542 return new BigInteger([digit], 1, CONSTRUCT);
17543 }
17544
17545 if (n === 2) {
17546 return this.add(this);
17547 }
17548 if (this.isUnit()) {
17549 return new BigInteger([n], 1, CONSTRUCT);
17550 }
17551
17552 var a = this._d;
17553 var al = a.length;
17554
17555 var pl = al + 1;
17556 var partial = new Array(pl);
17557 for (var i = 0; i < pl; i++) {
17558 partial[i] = 0;
17559 }
17560
17561 var carry = 0;
17562 for (var j = 0; j < al; j++) {
17563 digit = n * a[j] + carry;
17564 carry = (digit / BigInteger_base) | 0;
17565 partial[j] = (digit % BigInteger_base) | 0;
17566 }
17567 if (carry) {
17568 partial[j] = carry;
17569 }
17570
17571 return new BigInteger(partial, 1, CONSTRUCT);
17572};
17573
17574/*
17575 Function: square
17576 Multiply a <BigInteger> by itself.
17577
17578 This is slightly faster than regular multiplication, since it removes the
17579 duplicated multiplcations.
17580
17581 Returns:
17582
17583 > this.multiply(this)
17584
17585 See Also:
17586 <multiply>
17587*/
17588BigInteger.prototype.square = function() {
17589 // Normally, squaring a 10-digit number would take 100 multiplications.
17590 // Of these 10 are unique diagonals, of the remaining 90 (100-10), 45 are repeated.
17591 // This procedure saves (N*(N-1))/2 multiplications, (e.g., 45 of 100 multiplies).
17592 // Based on code by Gary Darby, Intellitech Systems Inc., www.DelphiForFun.org
17593
17594 if (this._s === 0) {
17595 return ZERO;
17596 }
17597 if (this.isUnit()) {
17598 return ONE;
17599 }
17600
17601 var digits = this._d;
17602 var length = digits.length;
17603 var imult1 = new Array(length + length + 1);
17604 var product, carry, k;
17605 var i;
17606
17607 // Calculate diagonal
17608 for (i = 0; i < length; i++) {
17609 k = i * 2;
17610 product = digits[i] * digits[i];
17611 carry = (product / BigInteger_base) | 0;
17612 imult1[k] = product % BigInteger_base;
17613 imult1[k + 1] = carry;
17614 }
17615
17616 // Calculate repeating part
17617 for (i = 0; i < length; i++) {
17618 carry = 0;
17619 k = i * 2 + 1;
17620 for (var j = i + 1; j < length; j++, k++) {
17621 product = digits[j] * digits[i] * 2 + imult1[k] + carry;
17622 carry = (product / BigInteger_base) | 0;
17623 imult1[k] = product % BigInteger_base;
17624 }
17625 k = length + i;
17626 var digit = carry + imult1[k];
17627 carry = (digit / BigInteger_base) | 0;
17628 imult1[k] = digit % BigInteger_base;
17629 imult1[k + 1] += carry;
17630 }
17631
17632 return new BigInteger(imult1, 1, CONSTRUCT);
17633};
17634
17635/*
17636 Function: quotient
17637 Divide two <BigIntegers> and truncate towards zero.
17638
17639 <quotient> throws an exception if *n* is zero.
17640
17641 Parameters:
17642
17643 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17644
17645 Returns:
17646
17647 The *this* / *n*, truncated to an integer.
17648
17649 See Also:
17650
17651 <add>, <subtract>, <multiply>, <divRem>, <remainder>
17652*/
17653BigInteger.prototype.quotient = function(n) {
17654 return this.divRem(n)[0];
17655};
17656
17657/*
17658 Function: divide
17659 Deprecated synonym for <quotient>.
17660*/
17661BigInteger.prototype.divide = BigInteger.prototype.quotient;
17662
17663/*
17664 Function: remainder
17665 Calculate the remainder of two <BigIntegers>.
17666
17667 <remainder> throws an exception if *n* is zero.
17668
17669 Parameters:
17670
17671 n - The remainder after *this* is divided *this* by *n*. Will be
17672 converted to a <BigInteger>.
17673
17674 Returns:
17675
17676 *this* % *n*.
17677
17678 See Also:
17679
17680 <divRem>, <quotient>
17681*/
17682BigInteger.prototype.remainder = function(n) {
17683 return this.divRem(n)[1];
17684};
17685
17686/*
17687 Function: divRem
17688 Calculate the integer quotient and remainder of two <BigIntegers>.
17689
17690 <divRem> throws an exception if *n* is zero.
17691
17692 Parameters:
17693
17694 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17695
17696 Returns:
17697
17698 A two-element array containing the quotient and the remainder.
17699
17700 > a.divRem(b)
17701
17702 is exactly equivalent to
17703
17704 > [a.quotient(b), a.remainder(b)]
17705
17706 except it is faster, because they are calculated at the same time.
17707
17708 See Also:
17709
17710 <quotient>, <remainder>
17711*/
17712BigInteger.prototype.divRem = function(n) {
17713 n = BigInteger(n);
17714 if (n._s === 0) {
17715 throw new Error("Divide by zero");
17716 }
17717 if (this._s === 0) {
17718 return [ZERO, ZERO];
17719 }
17720 if (n._d.length === 1) {
17721 return this.divRemSmall(n._s * n._d[0]);
17722 }
17723
17724 // Test for easy cases -- |n1| <= |n2|
17725 switch (this.compareAbs(n)) {
17726 case 0: // n1 == n2
17727 return [this._s === n._s ? ONE : M_ONE, ZERO];
17728 case -1: // |n1| < |n2|
17729 return [ZERO, this];
17730 }
17731
17732 var sign = this._s * n._s;
17733 var a = n.abs();
17734 var b_digits = this._d;
17735 var b_index = b_digits.length;
17736 var digits = n._d.length;
17737 var quot = [];
17738 var guess;
17739
17740 var part = new BigInteger([], 0, CONSTRUCT);
17741
17742 while (b_index) {
17743 part._d.unshift(b_digits[--b_index]);
17744 part = new BigInteger(part._d, 1, CONSTRUCT);
17745
17746 if (part.compareAbs(n) < 0) {
17747 quot.push(0);
17748 continue;
17749 }
17750 if (part._s === 0) {
17751 guess = 0;
17752 }
17753 else {
17754 var xlen = part._d.length, ylen = a._d.length;
17755 var highx = part._d[xlen-1]*BigInteger_base + part._d[xlen-2];
17756 var highy = a._d[ylen-1]*BigInteger_base + a._d[ylen-2];
17757 if (part._d.length > a._d.length) {
17758 // The length of part._d can either match a._d length,
17759 // or exceed it by one.
17760 highx = (highx+1)*BigInteger_base;
17761 }
17762 guess = Math.ceil(highx/highy);
17763 }
17764 do {
17765 var check = a.multiplySingleDigit(guess);
17766 if (check.compareAbs(part) <= 0) {
17767 break;
17768 }
17769 guess--;
17770 } while (guess);
17771
17772 quot.push(guess);
17773 if (!guess) {
17774 continue;
17775 }
17776 var diff = part.subtract(check);
17777 part._d = diff._d.slice();
17778 }
17779
17780 return [new BigInteger(quot.reverse(), sign, CONSTRUCT),
17781 new BigInteger(part._d, this._s, CONSTRUCT)];
17782};
17783
17784// Throws an exception if n is outside of (-BigInteger.base, -1] or
17785// [1, BigInteger.base). It's not necessary to call this, since the
17786// other division functions will call it if they are able to.
17787BigInteger.prototype.divRemSmall = function(n) {
17788 var r;
17789 n = +n;
17790 if (n === 0) {
17791 throw new Error("Divide by zero");
17792 }
17793
17794 var n_s = n < 0 ? -1 : 1;
17795 var sign = this._s * n_s;
17796 n = Math.abs(n);
17797
17798 if (n < 1 || n >= BigInteger_base) {
17799 throw new Error("Argument out of range");
17800 }
17801
17802 if (this._s === 0) {
17803 return [ZERO, ZERO];
17804 }
17805
17806 if (n === 1 || n === -1) {
17807 return [(sign === 1) ? this.abs() : new BigInteger(this._d, sign, CONSTRUCT), ZERO];
17808 }
17809
17810 // 2 <= n < BigInteger_base
17811
17812 // divide a single digit by a single digit
17813 if (this._d.length === 1) {
17814 var q = new BigInteger([(this._d[0] / n) | 0], 1, CONSTRUCT);
17815 r = new BigInteger([(this._d[0] % n) | 0], 1, CONSTRUCT);
17816 if (sign < 0) {
17817 q = q.negate();
17818 }
17819 if (this._s < 0) {
17820 r = r.negate();
17821 }
17822 return [q, r];
17823 }
17824
17825 var digits = this._d.slice();
17826 var quot = new Array(digits.length);
17827 var part = 0;
17828 var diff = 0;
17829 var i = 0;
17830 var guess;
17831
17832 while (digits.length) {
17833 part = part * BigInteger_base + digits[digits.length - 1];
17834 if (part < n) {
17835 quot[i++] = 0;
17836 digits.pop();
17837 diff = BigInteger_base * diff + part;
17838 continue;
17839 }
17840 if (part === 0) {
17841 guess = 0;
17842 }
17843 else {
17844 guess = (part / n) | 0;
17845 }
17846
17847 var check = n * guess;
17848 diff = part - check;
17849 quot[i++] = guess;
17850 if (!guess) {
17851 digits.pop();
17852 continue;
17853 }
17854
17855 digits.pop();
17856 part = diff;
17857 }
17858
17859 r = new BigInteger([diff], 1, CONSTRUCT);
17860 if (this._s < 0) {
17861 r = r.negate();
17862 }
17863 return [new BigInteger(quot.reverse(), sign, CONSTRUCT), r];
17864};
17865
17866/*
17867 Function: isEven
17868 Return true iff *this* is divisible by two.
17869
17870 Note that <BigInteger.ZERO> is even.
17871
17872 Returns:
17873
17874 true if *this* is even, false otherwise.
17875
17876 See Also:
17877
17878 <isOdd>
17879*/
17880BigInteger.prototype.isEven = function() {
17881 var digits = this._d;
17882 return this._s === 0 || digits.length === 0 || (digits[0] % 2) === 0;
17883};
17884
17885/*
17886 Function: isOdd
17887 Return true iff *this* is not divisible by two.
17888
17889 Returns:
17890
17891 true if *this* is odd, false otherwise.
17892
17893 See Also:
17894
17895 <isEven>
17896*/
17897BigInteger.prototype.isOdd = function() {
17898 return !this.isEven();
17899};
17900
17901/*
17902 Function: sign
17903 Get the sign of a <BigInteger>.
17904
17905 Returns:
17906
17907 * -1 if *this* < 0
17908 * 0 if *this* == 0
17909 * +1 if *this* > 0
17910
17911 See Also:
17912
17913 <isZero>, <isPositive>, <isNegative>, <compare>, <BigInteger.ZERO>
17914*/
17915BigInteger.prototype.sign = function() {
17916 return this._s;
17917};
17918
17919/*
17920 Function: isPositive
17921 Return true iff *this* > 0.
17922
17923 Returns:
17924
17925 true if *this*.compare(<BigInteger.ZERO>) == 1.
17926
17927 See Also:
17928
17929 <sign>, <isZero>, <isNegative>, <isUnit>, <compare>, <BigInteger.ZERO>
17930*/
17931BigInteger.prototype.isPositive = function() {
17932 return this._s > 0;
17933};
17934
17935/*
17936 Function: isNegative
17937 Return true iff *this* < 0.
17938
17939 Returns:
17940
17941 true if *this*.compare(<BigInteger.ZERO>) == -1.
17942
17943 See Also:
17944
17945 <sign>, <isPositive>, <isZero>, <isUnit>, <compare>, <BigInteger.ZERO>
17946*/
17947BigInteger.prototype.isNegative = function() {
17948 return this._s < 0;
17949};
17950
17951/*
17952 Function: isZero
17953 Return true iff *this* == 0.
17954
17955 Returns:
17956
17957 true if *this*.compare(<BigInteger.ZERO>) == 0.
17958
17959 See Also:
17960
17961 <sign>, <isPositive>, <isNegative>, <isUnit>, <BigInteger.ZERO>
17962*/
17963BigInteger.prototype.isZero = function() {
17964 return this._s === 0;
17965};
17966
17967/*
17968 Function: exp10
17969 Multiply a <BigInteger> by a power of 10.
17970
17971 This is equivalent to, but faster than
17972
17973 > if (n >= 0) {
17974 > return this.multiply(BigInteger("1e" + n));
17975 > }
17976 > else { // n <= 0
17977 > return this.quotient(BigInteger("1e" + -n));
17978 > }
17979
17980 Parameters:
17981
17982 n - The power of 10 to multiply *this* by. *n* is converted to a
17983 javascipt number and must be no greater than <BigInteger.MAX_EXP>
17984 (0x7FFFFFFF), or an exception will be thrown.
17985
17986 Returns:
17987
17988 *this* * (10 ** *n*), truncated to an integer if necessary.
17989
17990 See Also:
17991
17992 <pow>, <multiply>
17993*/
17994BigInteger.prototype.exp10 = function(n) {
17995 n = +n;
17996 if (n === 0) {
17997 return this;
17998 }
17999 if (Math.abs(n) > Number(MAX_EXP)) {
18000 throw new Error("exponent too large in BigInteger.exp10");
18001 }
18002 // Optimization for this == 0. This also keeps us from having to trim zeros in the positive n case
18003 if (this._s === 0) {
18004 return ZERO;
18005 }
18006 if (n > 0) {
18007 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
18008
18009 for (; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
18010 k._d.unshift(0);
18011 }
18012 if (n == 0)
18013 return k;
18014 k._s = 1;
18015 k = k.multiplySingleDigit(Math.pow(10, n));
18016 return (this._s < 0 ? k.negate() : k);
18017 } else if (-n >= this._d.length*BigInteger_base_log10) {
18018 return ZERO;
18019 } else {
18020 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
18021
18022 for (n = -n; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
18023 k._d.shift();
18024 }
18025 return (n == 0) ? k : k.divRemSmall(Math.pow(10, n))[0];
18026 }
18027};
18028
18029/*
18030 Function: pow
18031 Raise a <BigInteger> to a power.
18032
18033 In this implementation, 0**0 is 1.
18034
18035 Parameters:
18036
18037 n - The exponent to raise *this* by. *n* must be no greater than
18038 <BigInteger.MAX_EXP> (0x7FFFFFFF), or an exception will be thrown.
18039
18040 Returns:
18041
18042 *this* raised to the *nth* power.
18043
18044 See Also:
18045
18046 <modPow>
18047*/
18048BigInteger.prototype.pow = function(n) {
18049 if (this.isUnit()) {
18050 if (this._s > 0) {
18051 return this;
18052 }
18053 else {
18054 return BigInteger(n).isOdd() ? this : this.negate();
18055 }
18056 }
18057
18058 n = BigInteger(n);
18059 if (n._s === 0) {
18060 return ONE;
18061 }
18062 else if (n._s < 0) {
18063 if (this._s === 0) {
18064 throw new Error("Divide by zero");
18065 }
18066 else {
18067 return ZERO;
18068 }
18069 }
18070 if (this._s === 0) {
18071 return ZERO;
18072 }
18073 if (n.isUnit()) {
18074 return this;
18075 }
18076
18077 if (n.compareAbs(MAX_EXP) > 0) {
18078 throw new Error("exponent too large in BigInteger.pow");
18079 }
18080 var x = this;
18081 var aux = ONE;
18082 var two = BigInteger.small[2];
18083
18084 while (n.isPositive()) {
18085 if (n.isOdd()) {
18086 aux = aux.multiply(x);
18087 if (n.isUnit()) {
18088 return aux;
18089 }
18090 }
18091 x = x.square();
18092 n = n.quotient(two);
18093 }
18094
18095 return aux;
18096};
18097
18098/*
18099 Function: modPow
18100 Raise a <BigInteger> to a power (mod m).
18101
18102 Because it is reduced by a modulus, <modPow> is not limited by
18103 <BigInteger.MAX_EXP> like <pow>.
18104
18105 Parameters:
18106
18107 exponent - The exponent to raise *this* by. Must be positive.
18108 modulus - The modulus.
18109
18110 Returns:
18111
18112 *this* ^ *exponent* (mod *modulus*).
18113
18114 See Also:
18115
18116 <pow>, <mod>
18117*/
18118BigInteger.prototype.modPow = function(exponent, modulus) {
18119 var result = ONE;
18120 var base = this;
18121
18122 while (exponent.isPositive()) {
18123 if (exponent.isOdd()) {
18124 result = result.multiply(base).remainder(modulus);
18125 }
18126
18127 exponent = exponent.quotient(BigInteger.small[2]);
18128 if (exponent.isPositive()) {
18129 base = base.square().remainder(modulus);
18130 }
18131 }
18132
18133 return result;
18134};
18135
18136/*
18137 Function: log
18138 Get the natural logarithm of a <BigInteger> as a native JavaScript number.
18139
18140 This is equivalent to
18141
18142 > Math.log(this.toJSValue())
18143
18144 but handles values outside of the native number range.
18145
18146 Returns:
18147
18148 log( *this* )
18149
18150 See Also:
18151
18152 <toJSValue>
18153*/
18154BigInteger.prototype.log = function() {
18155 switch (this._s) {
18156 case 0: return -Infinity;
18157 case -1: return NaN;
18158 default: // Fall through.
18159 }
18160
18161 var l = this._d.length;
18162
18163 if (l*BigInteger_base_log10 < 30) {
18164 return Math.log(this.valueOf());
18165 }
18166
18167 var N = Math.ceil(30/BigInteger_base_log10);
18168 var firstNdigits = this._d.slice(l - N);
18169 return Math.log((new BigInteger(firstNdigits, 1, CONSTRUCT)).valueOf()) + (l - N) * Math.log(BigInteger_base);
18170};
18171
18172/*
18173 Function: valueOf
18174 Convert a <BigInteger> to a native JavaScript integer.
18175
18176 This is called automatically by JavaScipt to convert a <BigInteger> to a
18177 native value.
18178
18179 Returns:
18180
18181 > parseInt(this.toString(), 10)
18182
18183 See Also:
18184
18185 <toString>, <toJSValue>
18186*/
18187BigInteger.prototype.valueOf = function() {
18188 return parseInt(this.toString(), 10);
18189};
18190
18191/*
18192 Function: toJSValue
18193 Convert a <BigInteger> to a native JavaScript integer.
18194
18195 This is the same as valueOf, but more explicitly named.
18196
18197 Returns:
18198
18199 > parseInt(this.toString(), 10)
18200
18201 See Also:
18202
18203 <toString>, <valueOf>
18204*/
18205BigInteger.prototype.toJSValue = function() {
18206 return parseInt(this.toString(), 10);
18207};
18208
18209var MAX_EXP = BigInteger(0x7FFFFFFF);
18210// Constant: MAX_EXP
18211// The largest exponent allowed in <pow> and <exp10> (0x7FFFFFFF or 2147483647).
18212BigInteger.MAX_EXP = MAX_EXP;
18213
18214(function() {
18215 function makeUnary(fn) {
18216 return function(a) {
18217 return fn.call(BigInteger(a));
18218 };
18219 }
18220
18221 function makeBinary(fn) {
18222 return function(a, b) {
18223 return fn.call(BigInteger(a), BigInteger(b));
18224 };
18225 }
18226
18227 function makeTrinary(fn) {
18228 return function(a, b, c) {
18229 return fn.call(BigInteger(a), BigInteger(b), BigInteger(c));
18230 };
18231 }
18232
18233 (function() {
18234 var i, fn;
18235 var unary = "toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(",");
18236 var binary = "compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(",");
18237 var trinary = ["modPow"];
18238
18239 for (i = 0; i < unary.length; i++) {
18240 fn = unary[i];
18241 BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
18242 }
18243
18244 for (i = 0; i < binary.length; i++) {
18245 fn = binary[i];
18246 BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
18247 }
18248
18249 for (i = 0; i < trinary.length; i++) {
18250 fn = trinary[i];
18251 BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
18252 }
18253
18254 BigInteger.exp10 = function(x, n) {
18255 return BigInteger(x).exp10(n);
18256 };
18257 })();
18258})();
18259
18260exports.BigInteger = BigInteger;
18261})(typeof exports !== 'undefined' ? exports : this);
95f04905
IC
18262</script>
18263 <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){
18264var 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;
18265
18266},{}],2:[function(require,module,exports){
18267var 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;
18268
18269},{"./scoring":6}],3:[function(require,module,exports){
18270var 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(","),
18271english_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(","),
18272female_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(","),
18273us_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(","),
18274male_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;
18275
18276},{}],4:[function(require,module,exports){
18277var 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;
18278
18279},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){
18280var 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;
18281
18282},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){
18283var 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;
18284
18285},{"./adjacency_graphs":1}],7:[function(require,module,exports){
18286var 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;
18287
18288},{}]},{},[4])(4)
18289});
18290//# sourceMappingURL=zxcvbn.js.map
18291</script>
18292 <script>/*
18293 * Detects entropy from a string.
18294 *
18295 * Formats include:
18296 * binary [0-1]
18297 * base 6 [0-5]
18298 * dice 6 [1-6]
18299 * decimal [0-9]
18300 * hexadecimal [0-9A-F]
9e97eb76 18301 * card [A2-9TJQK][CDHS]
95f04905
IC
18302 *
18303 * Automatically uses lowest entropy to avoid issues such as interpretting 0101
18304 * as hexadecimal which would be 16 bits when really it's only 4 bits of binary
18305 * entropy.
18306 */
18307
18308window.Entropy = new (function() {
18309
78b8d604
IC
18310 var TWO = new BigInteger(2);
18311
95f04905
IC
18312 // matchers returns an array of the matched events for each type of entropy.
18313 // eg
18314 // matchers.binary("010") returns ["0", "1", "0"]
18315 // matchers.binary("a10") returns ["1", "0"]
18316 // matchers.hex("a10") returns ["a", "1", "0"]
18317 var matchers = {
18318 binary: function(str) {
18319 return str.match(/[0-1]/gi) || [];
18320 },
18321 base6: function(str) {
18322 return str.match(/[0-5]/gi) || [];
18323 },
18324 dice: function(str) {
18325 return str.match(/[1-6]/gi) || []; // ie dice numbers
18326 },
18327 base10: function(str) {
18328 return str.match(/[0-9]/gi) || [];
18329 },
18330 hex: function(str) {
18331 return str.match(/[0-9A-F]/gi) || [];
18332 },
18333 card: function(str) {
18334 // Format is NumberSuit, eg
18335 // AH ace of hearts
18336 // 8C eight of clubs
18337 // TD ten of diamonds
18338 // JS jack of spades
18339 // QH queen of hearts
18340 // KC king of clubs
18341 return str.match(/([A2-9TJQK][CDHS])/gi) || [];
18342 }
18343 }
18344
18345 // Convert array of cards from ["ac", "4d", "ks"]
18346 // to numbers between 0 and 51 [0, 16, 51]
18347 function convertCardsToInts(cards) {
18348 var ints = [];
18349 var values = "a23456789tjqk";
18350 var suits = "cdhs";
18351 for (var i=0; i<cards.length; i++) {
18352 var card = cards[i].toLowerCase();
18353 var value = card[0];
18354 var suit = card[1];
18355 var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
18356 ints.push(asInt);
18357 }
18358 return ints;
18359 }
18360
18361 this.fromString = function(rawEntropyStr) {
18362 // Find type of entropy being used (binary, hex, dice etc)
18363 var base = getBase(rawEntropyStr);
18364 // Convert dice to base6 entropy (ie 1-6 to 0-5)
18365 // This is done by changing all 6s to 0s
18366 if (base.str == "dice") {
18367 var newParts = [];
18368 var newInts = [];
18369 for (var i=0; i<base.parts.length; i++) {
18370 var c = base.parts[i];
18371 if ("12345".indexOf(c) > -1) {
18372 newParts[i] = base.parts[i];
18373 newInts[i] = base.ints[i];
18374 }
18375 else {
18376 newParts[i] = "0";
18377 newInts[i] = 0;
18378 }
18379 }
18380 base.str = "base 6 (dice)";
18381 base.ints = newInts;
18382 base.parts = newParts;
18383 base.matcher = matchers.base6;
18384 }
18385 // Detect empty entropy
18386 if (base.parts.length == 0) {
18387 return {
18388 binaryStr: "",
18389 cleanStr: "",
18390 cleanHtml: "",
18391 base: base,
18392 };
18393 }
18394 // Convert base.ints to BigInteger.
18395 // Due to using unusual bases, eg cards of base52, this is not as simple as
18396 // using BigInteger.parse()
18397 var entropyInt = BigInteger.ZERO;
18398 for (var i=base.ints.length-1; i>=0; i--) {
18399 var thisInt = BigInteger.parse(base.ints[i]);
18400 var power = (base.ints.length - 1) - i;
18401 var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
18402 entropyInt = entropyInt.add(additionalEntropy);
18403 }
18404 // Convert entropy to binary
18405 var entropyBin = entropyInt.toString(2);
18406 // If the first integer is small, it must be padded with zeros.
18407 // Otherwise the chance of the first bit being 1 is 100%, which is
18408 // obviously incorrect.
18409 // This is not perfect for non-2^n bases.
18410 var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
18411 while (entropyBin.length < expectedBits) {
18412 entropyBin = "0" + entropyBin;
18413 }
94959756
IC
18414 // Calculate the number of bits per event
18415 var bitsPerEvent = Math.log2(base.asInt);
ea87f1d3 18416 // Cards binary must be handled differently, since they're not replaced
9e97eb76 18417 if (base.asInt == 52) {
94959756
IC
18418 var cardEntropy = processCardEntropy(base.parts);
18419 entropyBin = cardEntropy.binaryStr;
18420 bitsPerEvent = cardEntropy.bitsPerEvent;
9e97eb76 18421 }
95f04905
IC
18422 // Supply a 'filtered' entropy string for display purposes
18423 var entropyClean = base.parts.join("");
18424 var entropyHtml = base.parts.join("");
18425 if (base.asInt == 52) {
18426 entropyClean = base.parts.join(" ").toUpperCase();
18427 entropyClean = entropyClean.replace(/C/g, "\u2663");
18428 entropyClean = entropyClean.replace(/D/g, "\u2666");
18429 entropyClean = entropyClean.replace(/H/g, "\u2665");
18430 entropyClean = entropyClean.replace(/S/g, "\u2660");
18431 entropyHtml = base.parts.join(" ").toUpperCase();
18432 entropyHtml = entropyHtml.replace(/C/g, "<span class='card-suit club'>\u2663</span>");
18433 entropyHtml = entropyHtml.replace(/D/g, "<span class='card-suit diamond'>\u2666</span>");
18434 entropyHtml = entropyHtml.replace(/H/g, "<span class='card-suit heart'>\u2665</span>");
18435 entropyHtml = entropyHtml.replace(/S/g, "<span class='card-suit spade'>\u2660</span>");
18436 }
9e97eb76 18437 // Return the result
95f04905
IC
18438 var e = {
18439 binaryStr: entropyBin,
18440 cleanStr: entropyClean,
18441 cleanHtml: entropyHtml,
94959756 18442 bitsPerEvent: bitsPerEvent,
95f04905
IC
18443 base: base,
18444 }
18445 return e;
18446 }
18447
78b8d604
IC
18448 function getSortedDeck() {
18449 var s = [];
18450 var suits = "CDHS";
18451 var values = "A23456789TJQK";
18452 for (var i=0; i<suits.length; i++) {
18453 for (var j=0; j<values.length; j++) {
18454 s.push(values[j]+suits[i]);
18455 }
18456 }
18457 return s;
18458 }
18459
95f04905
IC
18460 function getBase(str) {
18461 // Need to get the lowest base for the supplied entropy.
18462 // This prevents interpreting, say, dice rolls as hexadecimal.
18463 var binaryMatches = matchers.binary(str);
18464 var hexMatches = matchers.hex(str);
18465 // Find the lowest base that can be used, whilst ignoring any irrelevant chars
18466 if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
18467 var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
18468 return {
18469 ints: ints,
18470 parts: binaryMatches,
18471 matcher: matchers.binary,
18472 asInt: 2,
18473 str: "binary",
18474 }
18475 }
18476 var cardMatches = matchers.card(str);
18477 if (cardMatches.length >= hexMatches.length / 2) {
18478 var ints = convertCardsToInts(cardMatches);
18479 return {
18480 ints: ints,
18481 parts: cardMatches,
18482 matcher: matchers.card,
18483 asInt: 52,
18484 str: "card",
18485 }
18486 }
18487 var diceMatches = matchers.dice(str);
18488 if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
18489 var ints = diceMatches.map(function(i) { return parseInt(i) });
18490 return {
18491 ints: ints,
18492 parts: diceMatches,
18493 matcher: matchers.dice,
18494 asInt: 6,
18495 str: "dice",
18496 }
18497 }
18498 var base6Matches = matchers.base6(str);
18499 if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
18500 var ints = base6Matches.map(function(i) { return parseInt(i) });
18501 return {
18502 ints: ints,
18503 parts: base6Matches,
18504 matcher: matchers.base6,
18505 asInt: 6,
18506 str: "base 6",
18507 }
18508 }
18509 var base10Matches = matchers.base10(str);
18510 if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
18511 var ints = base10Matches.map(function(i) { return parseInt(i) });
18512 return {
18513 ints: ints,
18514 parts: base10Matches,
18515 matcher: matchers.base10,
18516 asInt: 10,
18517 str: "base 10",
18518 }
18519 }
18520 var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
18521 return {
18522 ints: ints,
18523 parts: hexMatches,
18524 matcher: matchers.hex,
18525 asInt: 16,
18526 str: "hexadecimal",
18527 }
18528 }
18529
ea87f1d3
IC
18530 // Assume cards are NOT replaced.
18531 // Additional entropy decreases as more cards are used. This means
18532 // total possible entropy is measured using n!, not base^n.
18533 // eg the second last card can be only one of two, not one of fifty two
18534 // so the added entropy for that card is only one bit at most
94959756 18535 function processCardEntropy(cards) {
ea87f1d3
IC
18536 // Track how many instances of each card have been used, and thus
18537 // how many decks are in use.
18538 var cardCounts = {};
18539 var numberOfDecks = 0;
18540 // Work out number of decks by max(duplicates)
18541 for (var i=0; i<cards.length; i++) {
18542 // Get the card that was drawn
18543 var cardLower = cards[i];
18544 var card = cardLower.toUpperCase();
18545 // Initialize the count for this card if needed
18546 if (!(card in cardCounts)) {
18547 cardCounts[card] = 0;
18548 }
18549 cardCounts[card] += 1;
18550 // See if this is max(duplicates)
18551 if (cardCounts[card] > numberOfDecks) {
18552 numberOfDecks = cardCounts[card];
18553 }
18554 }
18555 // Work out the total number of bits for this many decks
18556 // See http://crypto.stackexchange.com/q/41886
fc7c248f
IC
18557 var gainedBits = 0;
18558 // Equivalent of Math.log2(factorial(52*numberOfDecks))
18559 // which becomes infinity for numberOfDecks > 4
18560 for (var i=1; i<=52*numberOfDecks; i++) {
18561 gainedBits = gainedBits + Math.log2(i);
18562 }
ea87f1d3
IC
18563 var lostBits = 52 * Math.log2(factorial(numberOfDecks));
18564 var maxBits = gainedBits - lostBits;
18565 // Convert the drawn cards to a binary representation.
18566 // The exact technique for doing this is unclear.
18567 // See
18568 // http://crypto.stackexchange.com/a/41896
18569 // "I even doubt that this is well defined (only the average entropy
18570 // is, I believe)."
18571 // See
18572 // https://github.com/iancoleman/bip39/issues/33#issuecomment-263021856
18573 // "The binary representation can be the first log(permutations,2) bits
18574 // of the sha-2 hash of the normalized deck string."
18575 //
18576 // In this specific implementation, the first N bits of the hash of the
18577 // normalized cards string is being used. Uppercase, no spaces; eg
18578 // sha256("AH8DQSTC2H")
18579 var totalCards = numberOfDecks * 52;
18580 var percentUsed = cards.length / totalCards;
18581 // Calculate the average number of bits of entropy for the number of
18582 // cards drawn.
18583 var numberOfBits = Math.floor(maxBits * percentUsed);
18584 // Create a normalized string of the selected cards
18585 var normalizedCards = cards.join("").toUpperCase();
18586 // Convert to binary using the SHA256 hash of the normalized cards.
18587 // If the number of bits is more than 256, multiple rounds of hashing
18588 // are used until the required number of bits is reached.
18589 var entropyBin = "";
18590 var iterations = 0;
18591 while (entropyBin.length < numberOfBits) {
18592 var hashedCards = sjcl.hash.sha256.hash(normalizedCards);
18593 for (var j=0; j<iterations; j++) {
18594 hashedCards = sjcl.hash.sha256.hash(hashedCards);
18595 }
18596 var hashHex = sjcl.codec.hex.fromBits(hashedCards);
18597 for (var i=0; i<hashHex.length; i++) {
18598 var decimal = parseInt(hashHex[i], 16);
18599 var binary = decimal.toString(2);
18600 while (binary.length < 4) {
18601 binary = "0" + binary;
18602 }
18603 entropyBin = entropyBin + binary;
18604 }
18605 iterations = iterations + 1;
18606 }
18607 // Truncate to the appropriate number of bits.
18608 entropyBin = entropyBin.substring(0, numberOfBits);
94959756
IC
18609 // Get the number of bits per event
18610 bitsPerEvent = maxBits / totalCards;
18611 return {
18612 binaryStr: entropyBin,
18613 bitsPerEvent: bitsPerEvent,
18614 }
ea87f1d3
IC
18615 }
18616
95f04905
IC
18617 // Polyfill for Math.log2
18618 // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
18619 Math.log2 = Math.log2 || function(x) {
18620 // The polyfill isn't good enough because of the poor accuracy of
18621 // Math.LOG2E
18622 // log2(8) gave 2.9999999999999996 which when floored causes issues.
18623 // So instead use the BigInteger library to get it right.
18624 return BigInteger.log(x) / BigInteger.log(2);
18625 };
18626
9e97eb76
IC
18627 // Depends on BigInteger
18628 function factorial(n) {
18629 if (n == 0) {
18630 return 1;
18631 }
18632 f = BigInteger.ONE;
18633 for (var i=1; i<=n; i++) {
18634 f = f.multiply(new BigInteger(i));
18635 }
18636 return f;
18637 }
18638
95f04905 18639})();
c6624d51
IC
18640</script>
18641 <script>(function() {
18642
18643 // mnemonics is populated as required by getLanguage
18644 var mnemonics = { "english": new Mnemonic("english") };
18645 var mnemonic = mnemonics["english"];
18646 var seed = null
18647 var bip32RootKey = null;
18648 var bip32ExtendedKey = null;
18649 var network = bitcoin.networks.bitcoin;
18650 var addressRowTemplate = $("#address-row-template");
18651
18652 var showIndex = true;
18653 var showAddress = true;
18654 var showPubKey = true;
18655 var showPrivKey = true;
52da415f 18656 var showQr = false;
c6624d51
IC
18657
18658 var entropyChangeTimeoutEvent = null;
18659 var phraseChangeTimeoutEvent = null;
18660 var rootKeyChangedTimeoutEvent = null;
18661
18662 var DOM = {};
18663 DOM.network = $(".network");
18664 DOM.phraseNetwork = $("#network-phrase");
18665 DOM.useEntropy = $(".use-entropy");
18666 DOM.entropyContainer = $(".entropy-container");
18667 DOM.entropy = $(".entropy");
2a6dd137
IC
18668 DOM.entropyFiltered = DOM.entropyContainer.find(".filtered");
18669 DOM.entropyType = DOM.entropyContainer.find(".type");
18670 DOM.entropyStrength = DOM.entropyContainer.find(".strength");
18671 DOM.entropyEventCount = DOM.entropyContainer.find(".event-count");
18672 DOM.entropyBits = DOM.entropyContainer.find(".bits");
18673 DOM.entropyBitsPerEvent = DOM.entropyContainer.find(".bits-per-event");
18674 DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
18675 DOM.entropyBinary = DOM.entropyContainer.find(".binary");
18676 DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
c6624d51
IC
18677 DOM.phrase = $(".phrase");
18678 DOM.passphrase = $(".passphrase");
18679 DOM.generateContainer = $(".generate-container");
18680 DOM.generate = $(".generate");
18681 DOM.seed = $(".seed");
18682 DOM.rootKey = $(".root-key");
18683 DOM.extendedPrivKey = $(".extended-priv-key");
18684 DOM.extendedPubKey = $(".extended-pub-key");
18685 DOM.bip32tab = $("#bip32-tab");
18686 DOM.bip44tab = $("#bip44-tab");
18687 DOM.bip32panel = $("#bip32");
18688 DOM.bip44panel = $("#bip44");
18689 DOM.bip32path = $("#bip32-path");
18690 DOM.bip44path = $("#bip44-path");
18691 DOM.bip44purpose = $("#bip44 .purpose");
18692 DOM.bip44coin = $("#bip44 .coin");
18693 DOM.bip44account = $("#bip44 .account");
20083ab9
IC
18694 DOM.bip44accountXprv = $("#bip44 .account-xprv");
18695 DOM.bip44accountXpub = $("#bip44 .account-xpub");
c6624d51 18696 DOM.bip44change = $("#bip44 .change");
18abe53b 18697 DOM.generatedStrength = $(".generate-container .strength");
c6624d51
IC
18698 DOM.hardenedAddresses = $(".hardened-addresses");
18699 DOM.addresses = $(".addresses");
18700 DOM.rowsToAdd = $(".rows-to-add");
18701 DOM.more = $(".more");
18702 DOM.feedback = $(".feedback");
18703 DOM.tab = $(".derivation-type a");
18704 DOM.indexToggle = $(".index-toggle");
18705 DOM.addressToggle = $(".address-toggle");
18706 DOM.publicKeyToggle = $(".public-key-toggle");
18707 DOM.privateKeyToggle = $(".private-key-toggle");
18708 DOM.languages = $(".languages a");
e00964cc 18709 DOM.qrContainer = $(".qr-container");
52da415f 18710 DOM.qrHider = DOM.qrContainer.find(".qr-hider");
e00964cc
IC
18711 DOM.qrImage = DOM.qrContainer.find(".qr-image");
18712 DOM.qrHint = DOM.qrContainer.find(".qr-hint");
18713 DOM.showQrEls = $("[data-show-qr]");
c6624d51
IC
18714
18715 function init() {
18716 // Events
18717 DOM.network.on("change", networkChanged);
18718 DOM.useEntropy.on("change", setEntropyVisibility);
18719 DOM.entropy.on("input", delayedEntropyChanged);
18abe53b 18720 DOM.entropyMnemonicLength.on("change", entropyChanged);
c6624d51
IC
18721 DOM.phrase.on("input", delayedPhraseChanged);
18722 DOM.passphrase.on("input", delayedPhraseChanged);
18723 DOM.generate.on("click", generateClicked);
18724 DOM.more.on("click", showMore);
18725 DOM.rootKey.on("input", delayedRootKeyChanged);
18726 DOM.bip32path.on("input", calcForDerivationPath);
18727 DOM.bip44purpose.on("input", calcForDerivationPath);
18728 DOM.bip44coin.on("input", calcForDerivationPath);
18729 DOM.bip44account.on("input", calcForDerivationPath);
18730 DOM.bip44change.on("input", calcForDerivationPath);
18731 DOM.tab.on("shown.bs.tab", calcForDerivationPath);
18732 DOM.hardenedAddresses.on("change", calcForDerivationPath);
18733 DOM.indexToggle.on("click", toggleIndexes);
18734 DOM.addressToggle.on("click", toggleAddresses);
18735 DOM.publicKeyToggle.on("click", togglePublicKeys);
18736 DOM.privateKeyToggle.on("click", togglePrivateKeys);
18737 DOM.languages.on("click", languageChanged);
e00964cc 18738 setQrEvents(DOM.showQrEls);
c6624d51
IC
18739 disableForms();
18740 hidePending();
18741 hideValidationError();
18742 populateNetworkSelect();
18743 }
18744
18745 // Event handlers
18746
18747 function networkChanged(e) {
18748 var networkIndex = e.target.value;
18749 networks[networkIndex].onSelect();
18750 if (seed != null) {
18751 phraseChanged();
18752 }
18753 else {
18754 rootKeyChanged();
18755 }
18756 }
18757
18758 function setEntropyVisibility() {
18759 if (isUsingOwnEntropy()) {
18760 DOM.entropyContainer.removeClass("hidden");
18761 DOM.generateContainer.addClass("hidden");
18762 DOM.phrase.prop("readonly", true);
18763 DOM.entropy.focus();
18764 entropyChanged();
18765 }
18766 else {
18767 DOM.entropyContainer.addClass("hidden");
18768 DOM.generateContainer.removeClass("hidden");
18769 DOM.phrase.prop("readonly", false);
18abe53b 18770 hidePending();
c6624d51
IC
18771 }
18772 }
18773
18774 function delayedPhraseChanged() {
18775 hideValidationError();
18776 showPending();
18777 if (phraseChangeTimeoutEvent != null) {
18778 clearTimeout(phraseChangeTimeoutEvent);
18779 }
18780 phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400);
18781 }
18782
18783 function phraseChanged() {
18784 showPending();
18785 hideValidationError();
18786 setMnemonicLanguage();
18787 // Get the mnemonic phrase
18788 var phrase = DOM.phrase.val();
18789 var errorText = findPhraseErrors(phrase);
18790 if (errorText) {
18791 showValidationError(errorText);
18792 return;
18793 }
18794 // Calculate and display
18795 var passphrase = DOM.passphrase.val();
18796 calcBip32RootKeyFromSeed(phrase, passphrase);
18797 calcForDerivationPath();
18798 hidePending();
18799 }
18800
18801 function delayedEntropyChanged() {
18802 hideValidationError();
18803 showPending();
18804 if (entropyChangeTimeoutEvent != null) {
18805 clearTimeout(entropyChangeTimeoutEvent);
18806 }
18807 entropyChangeTimeoutEvent = setTimeout(entropyChanged, 400);
18808 }
18809
18810 function entropyChanged() {
18abe53b
IC
18811 // If blank entropy, clear mnemonic, addresses, errors
18812 if (DOM.entropy.val().trim().length == 0) {
18813 clearDisplay();
2a6dd137 18814 clearEntropyFeedback();
18abe53b
IC
18815 DOM.phrase.val("");
18816 showValidationError("Blank entropy");
18817 return;
18818 }
18819 // Get the current phrase to detect changes
18820 var phrase = DOM.phrase.val();
18821 // Set the phrase from the entropy
c6624d51 18822 setMnemonicFromEntropy();
18abe53b
IC
18823 // Recalc addresses if the phrase has changed
18824 var newPhrase = DOM.phrase.val();
18825 if (newPhrase != phrase) {
18826 if (newPhrase.length == 0) {
18827 clearDisplay();
18828 }
18829 else {
18830 phraseChanged();
18831 }
18832 }
18833 else {
18834 hidePending();
18835 }
c6624d51
IC
18836 }
18837
18838 function delayedRootKeyChanged() {
18839 // Warn if there is an existing mnemonic or passphrase.
18840 if (DOM.phrase.val().length > 0 || DOM.passphrase.val().length > 0) {
18841 if (!confirm("This will clear existing mnemonic and passphrase")) {
18842 DOM.rootKey.val(bip32RootKey);
18843 return
18844 }
18845 }
18846 hideValidationError();
18847 showPending();
18848 // Clear existing mnemonic and passphrase
18849 DOM.phrase.val("");
18850 DOM.passphrase.val("");
18851 seed = null;
18852 if (rootKeyChangedTimeoutEvent != null) {
18853 clearTimeout(rootKeyChangedTimeoutEvent);
18854 }
18855 rootKeyChangedTimeoutEvent = setTimeout(rootKeyChanged, 400);
18856 }
18857
18858 function rootKeyChanged() {
18859 showPending();
18860 hideValidationError();
18861 // Validate the root key TODO
18862 var rootKeyBase58 = DOM.rootKey.val();
18863 var errorText = validateRootKey(rootKeyBase58);
18864 if (errorText) {
18865 showValidationError(errorText);
18866 return;
18867 }
18868 // Calculate and display
18869 calcBip32RootKeyFromBase58(rootKeyBase58);
18870 calcForDerivationPath();
c6624d51
IC
18871 }
18872
18873 function calcForDerivationPath() {
18874 showPending();
ba3cb9ec 18875 clearAddressesList();
c6624d51
IC
18876 hideValidationError();
18877 // Get the derivation path
18878 var derivationPath = getDerivationPath();
18879 var errorText = findDerivationPathErrors(derivationPath);
18880 if (errorText) {
18881 showValidationError(errorText);
18882 return;
18883 }
20083ab9
IC
18884 bip32ExtendedKey = calcBip32ExtendedKey(derivationPath);
18885 if (bip44TabSelected()) {
18886 displayBip44Info();
18887 }
c6624d51
IC
18888 displayBip32Info();
18889 hidePending();
18890 }
18891
18892 function generateClicked() {
18893 if (isUsingOwnEntropy()) {
18894 return;
18895 }
18896 clearDisplay();
18897 showPending();
18898 setTimeout(function() {
18899 setMnemonicLanguage();
18900 var phrase = generateRandomPhrase();
18901 if (!phrase) {
18902 return;
18903 }
18904 phraseChanged();
18905 }, 50);
18906 }
18907
18908 function languageChanged() {
18909 setTimeout(function() {
18910 setMnemonicLanguage();
18911 if (DOM.phrase.val().length > 0) {
18912 var newPhrase = convertPhraseToNewLanguage();
18913 DOM.phrase.val(newPhrase);
18914 phraseChanged();
18915 }
18916 else {
18917 DOM.generate.trigger("click");
18918 }
18919 }, 50);
18920 }
18921
18922 function toggleIndexes() {
18923 showIndex = !showIndex;
18924 $("td.index span").toggleClass("invisible");
18925 }
18926
18927 function toggleAddresses() {
18928 showAddress = !showAddress;
18929 $("td.address span").toggleClass("invisible");
18930 }
18931
18932 function togglePublicKeys() {
18933 showPubKey = !showPubKey;
18934 $("td.pubkey span").toggleClass("invisible");
18935 }
18936
18937 function togglePrivateKeys() {
18938 showPrivKey = !showPrivKey;
18939 $("td.privkey span").toggleClass("invisible");
18940 }
18941
18942 // Private methods
18943
18944 function generateRandomPhrase() {
18945 if (!hasStrongRandom()) {
18946 var errorText = "This browser does not support strong randomness";
18947 showValidationError(errorText);
18948 return;
18949 }
18abe53b 18950 var numWords = parseInt(DOM.generatedStrength.val());
c6624d51
IC
18951 var strength = numWords / 3 * 32;
18952 var words = mnemonic.generate(strength);
18953 DOM.phrase.val(words);
18954 return words;
18955 }
18956
18957 function calcBip32RootKeyFromSeed(phrase, passphrase) {
18958 seed = mnemonic.toSeed(phrase, passphrase);
18959 bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
18960 }
18961
18962 function calcBip32RootKeyFromBase58(rootKeyBase58) {
18963 bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
18964 }
18965
18966 function calcBip32ExtendedKey(path) {
20083ab9 18967 var extendedKey = bip32RootKey;
c6624d51
IC
18968 // Derive the key from the path
18969 var pathBits = path.split("/");
ebd8d4e8
IC
18970 for (var i=0; i<pathBits.length; i++) {
18971 var bit = pathBits[i];
18972 var index = parseInt(bit);
18973 if (isNaN(index)) {
18974 continue;
18975 }
18976 var hardened = bit[bit.length-1] == "'";
ba3cb9ec
IC
18977 var isPriv = "privKey" in extendedKey;
18978 var invalidDerivationPath = hardened && !isPriv;
18979 if (invalidDerivationPath) {
18980 extendedKey = null;
18981 }
18982 else if (hardened) {
20083ab9 18983 extendedKey = extendedKey.deriveHardened(index);
ebd8d4e8
IC
18984 }
18985 else {
20083ab9 18986 extendedKey = extendedKey.derive(index);
ebd8d4e8
IC
18987 }
18988 }
20083ab9 18989 return extendedKey
ebd8d4e8
IC
18990 }
18991
18992 function showValidationError(errorText) {
18993 DOM.feedback
18994 .text(errorText)
18995 .show();
18996 }
18997
18998 function hideValidationError() {
18999 DOM.feedback
19000 .text("")
19001 .hide();
19002 }
19003
19004 function findPhraseErrors(phrase) {
ebd8d4e8 19005 // Preprocess the words
783981de 19006 phrase = mnemonic.normalizeString(phrase);
0515eeec 19007 var words = phraseToWordArray(phrase);
18abe53b
IC
19008 // Detect blank phrase
19009 if (words.length == 0) {
19010 return "Blank mnemonic";
19011 }
563e401a 19012 // Check each word
0515eeec
IC
19013 for (var i=0; i<words.length; i++) {
19014 var word = words[i];
19015 var language = getLanguage();
19016 if (WORDLISTS[language].indexOf(word) == -1) {
563e401a
IC
19017 console.log("Finding closest match to " + word);
19018 var nearestWord = findNearestWord(word);
19019 return word + " not in wordlist, did you mean " + nearestWord + "?";
19020 }
19021 }
ebd8d4e8 19022 // Check the words are valid
0515eeec 19023 var properPhrase = wordArrayToPhrase(words);
ebd8d4e8
IC
19024 var isValid = mnemonic.check(properPhrase);
19025 if (!isValid) {
19026 return "Invalid mnemonic";
19027 }
19028 return false;
19029 }
19030
efe41586
IC
19031 function validateRootKey(rootKeyBase58) {
19032 try {
19033 bitcoin.HDNode.fromBase58(rootKeyBase58);
19034 }
19035 catch (e) {
19036 return "Invalid root key";
19037 }
19038 return "";
19039 }
19040
38523d36 19041 function getDerivationPath() {
20083ab9 19042 if (bip44TabSelected()) {
38523d36
IC
19043 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
19044 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
19045 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
19046 var change = parseIntNoNaN(DOM.bip44change.val(), 0);
19047 var path = "m/";
19048 path += purpose + "'/";
19049 path += coin + "'/";
19050 path += account + "'/";
19051 path += change;
19052 DOM.bip44path.val(path);
19053 var derivationPath = DOM.bip44path.val();
19054 console.log("Using derivation path from BIP44 tab: " + derivationPath);
19055 return derivationPath;
19056 }
20083ab9 19057 else if (bip32TabSelected()) {
38523d36
IC
19058 var derivationPath = DOM.bip32path.val();
19059 console.log("Using derivation path from BIP32 tab: " + derivationPath);
19060 return derivationPath;
19061 }
19062 else {
19063 console.log("Unknown derivation path");
19064 }
19065 }
19066
ebd8d4e8 19067 function findDerivationPathErrors(path) {
30c9e79d
IC
19068 // TODO is not perfect but is better than nothing
19069 // Inspired by
19070 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vectors
19071 // and
19072 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys
19073 var maxDepth = 255; // TODO verify this!!
19074 var maxIndexValue = Math.pow(2, 31); // TODO verify this!!
19075 if (path[0] != "m") {
19076 return "First character must be 'm'";
19077 }
19078 if (path.length > 1) {
19079 if (path[1] != "/") {
19080 return "Separator must be '/'";
19081 }
19082 var indexes = path.split("/");
19083 if (indexes.length > maxDepth) {
19084 return "Derivation depth is " + indexes.length + ", must be less than " + maxDepth;
19085 }
19086 for (var depth = 1; depth<indexes.length; depth++) {
19087 var index = indexes[depth];
19088 var invalidChars = index.replace(/^[0-9]+'?$/g, "")
19089 if (invalidChars.length > 0) {
19090 return "Invalid characters " + invalidChars + " found at depth " + depth;
19091 }
19092 var indexValue = parseInt(index.replace("'", ""));
19093 if (isNaN(depth)) {
19094 return "Invalid number at depth " + depth;
19095 }
19096 if (indexValue > maxIndexValue) {
19097 return "Value of " + indexValue + " at depth " + depth + " must be less than " + maxIndexValue;
19098 }
19099 }
19100 }
ba3cb9ec
IC
19101 // Check no hardened derivation path when using xpub keys
19102 var hardened = path.indexOf("'") > -1;
19103 var isXpubkey = !("privKey" in bip32RootKey);
19104 if (hardened && isXpubkey) {
19105 return "Hardened derivation path is invalid with xpub key";
19106 }
ebd8d4e8
IC
19107 return false;
19108 }
19109
20083ab9
IC
19110 function displayBip44Info() {
19111 // Get the derivation path for the account
19112 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
19113 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
19114 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
19115 var path = "m/";
19116 path += purpose + "'/";
19117 path += coin + "'/";
19118 path += account + "'/";
19119 // Calculate the account extended keys
19120 var accountExtendedKey = calcBip32ExtendedKey(path);
19121 var accountXprv = accountExtendedKey.toBase58();
19122 var accountXpub = accountExtendedKey.toBase58(false);
19123 // Display the extended keys
19124 DOM.bip44accountXprv.val(accountXprv);
19125 DOM.bip44accountXpub.val(accountXpub);
19126 }
19127
ebd8d4e8
IC
19128 function displayBip32Info() {
19129 // Display the key
73161a92 19130 DOM.seed.val(seed);
ebd8d4e8
IC
19131 var rootKey = bip32RootKey.toBase58();
19132 DOM.rootKey.val(rootKey);
ba3cb9ec
IC
19133 var xprvkeyB58 = "NA";
19134 if (bip32ExtendedKey.privKey) {
19135 xprvkeyB58 = bip32ExtendedKey.toBase58();
19136 }
19137 var extendedPrivKey = xprvkeyB58;
ebd8d4e8
IC
19138 DOM.extendedPrivKey.val(extendedPrivKey);
19139 var extendedPubKey = bip32ExtendedKey.toBase58(false);
19140 DOM.extendedPubKey.val(extendedPubKey);
19141 // Display the addresses and privkeys
19142 clearAddressesList();
19143 displayAddresses(0, 20);
19144 }
19145
19146 function displayAddresses(start, total) {
19147 for (var i=0; i<total; i++) {
80c4dd2a
IC
19148 var index = i + start;
19149 new TableRow(index);
19150 }
19151 }
19152
19153 function TableRow(index) {
19154
1975bfbc
IC
19155 var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
19156
80c4dd2a
IC
19157 function init() {
19158 calculateValues();
19159 }
19160
19161 function calculateValues() {
19162 setTimeout(function() {
1975bfbc
IC
19163 var key = "";
19164 if (useHardenedAddresses) {
19165 key = bip32ExtendedKey.deriveHardened(index);
19166 }
19167 else {
19168 key = bip32ExtendedKey.derive(index);
19169 }
80c4dd2a 19170 var address = key.getAddress().toString();
ba3cb9ec
IC
19171 var privkey = "NA";
19172 if (key.privKey) {
19173 privkey = key.privKey.toWIF(network);
19174 }
1b12b2f5 19175 var pubkey = key.pubKey.toHex();
38523d36 19176 var indexText = getDerivationPath() + "/" + index;
1975bfbc
IC
19177 if (useHardenedAddresses) {
19178 indexText = indexText + "'";
19179 }
1b12b2f5 19180 addAddressToList(indexText, address, pubkey, privkey);
80c4dd2a 19181 }, 50)
ebd8d4e8 19182 }
80c4dd2a
IC
19183
19184 init();
19185
ebd8d4e8
IC
19186 }
19187
19188 function showMore() {
19189 var start = DOM.addresses.children().length;
19190 var rowsToAdd = parseInt(DOM.rowsToAdd.val());
19191 if (isNaN(rowsToAdd)) {
19192 rowsToAdd = 20;
19193 DOM.rowsToAdd.val("20");
19194 }
19195 if (rowsToAdd > 200) {
19196 var msg = "Generating " + rowsToAdd + " rows could take a while. ";
19197 msg += "Do you want to continue?";
19198 if (!confirm(msg)) {
19199 return;
19200 }
19201 }
ebd8d4e8 19202 displayAddresses(start, rowsToAdd);
ebd8d4e8
IC
19203 }
19204
19205 function clearDisplay() {
19206 clearAddressesList();
19207 clearKey();
19208 hideValidationError();
19209 }
19210
19211 function clearAddressesList() {
19212 DOM.addresses.empty();
19213 }
19214
19215 function clearKey() {
19216 DOM.rootKey.val("");
19217 DOM.extendedPrivKey.val("");
19218 DOM.extendedPubKey.val("");
19219 }
19220
1b12b2f5 19221 function addAddressToList(indexText, address, pubkey, privkey) {
ebd8d4e8 19222 var row = $(addressRowTemplate.html());
80c4dd2a
IC
19223 // Elements
19224 var indexCell = row.find(".index span");
19225 var addressCell = row.find(".address span");
1b12b2f5 19226 var pubkeyCell = row.find(".pubkey span");
80c4dd2a
IC
19227 var privkeyCell = row.find(".privkey span");
19228 // Content
ae30fed8 19229 indexCell.text(indexText);
80c4dd2a 19230 addressCell.text(address);
1b12b2f5 19231 pubkeyCell.text(pubkey);
80c4dd2a
IC
19232 privkeyCell.text(privkey);
19233 // Visibility
19234 if (!showIndex) {
19235 indexCell.addClass("invisible");
19236 }
19237 if (!showAddress) {
19238 addressCell.addClass("invisible");
19239 }
1b12b2f5
IC
19240 if (!showPubKey) {
19241 pubkeyCell.addClass("invisible");
19242 }
80c4dd2a 19243 if (!showPrivKey) {
6d628db7 19244 privkeyCell.addClass("invisible");
80c4dd2a 19245 }
ebd8d4e8 19246 DOM.addresses.append(row);
e00964cc
IC
19247 var rowShowQrEls = row.find("[data-show-qr]");
19248 setQrEvents(rowShowQrEls);
ebd8d4e8
IC
19249 }
19250
19251 function hasStrongRandom() {
19252 return 'crypto' in window && window['crypto'] !== null;
19253 }
19254
19255 function disableForms() {
19256 $("form").on("submit", function(e) {
19257 e.preventDefault();
19258 });
19259 }
19260
ebd8d4e8
IC
19261 function parseIntNoNaN(val, defaultVal) {
19262 var v = parseInt(val);
19263 if (isNaN(v)) {
19264 return defaultVal;
19265 }
19266 return v;
19267 }
19268
19269 function showPending() {
19270 DOM.feedback
19271 .text("Calculating...")
19272 .show();
19273 }
19274
563e401a 19275 function findNearestWord(word) {
0515eeec
IC
19276 var language = getLanguage();
19277 var words = WORDLISTS[language];
563e401a
IC
19278 var minDistance = 99;
19279 var closestWord = words[0];
19280 for (var i=0; i<words.length; i++) {
19281 var comparedTo = words[i];
19282 var distance = Levenshtein.get(word, comparedTo);
19283 if (distance < minDistance) {
19284 closestWord = comparedTo;
19285 minDistance = distance;
19286 }
19287 }
19288 return closestWord;
19289 }
19290
ebd8d4e8
IC
19291 function hidePending() {
19292 DOM.feedback
19293 .text("")
19294 .hide();
19295 }
19296
ab78acc6
IC
19297 function populateNetworkSelect() {
19298 for (var i=0; i<networks.length; i++) {
19299 var network = networks[i];
19300 var option = $("<option>");
19301 option.attr("value", i);
19302 option.text(network.name);
19303 DOM.phraseNetwork.append(option);
19304 }
19305 }
19306
0515eeec
IC
19307 function getLanguage() {
19308 var defaultLanguage = "english";
19309 // Try to get from existing phrase
19310 var language = getLanguageFromPhrase();
19311 // Try to get from url if not from phrase
19312 if (language.length == 0) {
19313 language = getLanguageFromUrl();
19314 }
19315 // Default to English if no other option
19316 if (language.length == 0) {
19317 language = defaultLanguage;
19318 }
19319 return language;
19320 }
19321
19322 function getLanguageFromPhrase(phrase) {
19323 // Check if how many words from existing phrase match a language.
19324 var language = "";
19325 if (!phrase) {
19326 phrase = DOM.phrase.val();
19327 }
19328 if (phrase.length > 0) {
19329 var words = phraseToWordArray(phrase);
19330 var languageMatches = {};
19331 for (l in WORDLISTS) {
19332 // Track how many words match in this language
19333 languageMatches[l] = 0;
19334 for (var i=0; i<words.length; i++) {
19335 var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
19336 if (wordInLanguage) {
19337 languageMatches[l]++;
19338 }
19339 }
19340 // Find languages with most word matches.
19341 // This is made difficult due to commonalities between Chinese
19342 // simplified vs traditional.
19343 var mostMatches = 0;
19344 var mostMatchedLanguages = [];
19345 for (var l in languageMatches) {
19346 var numMatches = languageMatches[l];
19347 if (numMatches > mostMatches) {
19348 mostMatches = numMatches;
19349 mostMatchedLanguages = [l];
19350 }
19351 else if (numMatches == mostMatches) {
19352 mostMatchedLanguages.push(l);
19353 }
19354 }
19355 }
19356 if (mostMatchedLanguages.length > 0) {
19357 // Use first language and warn if multiple detected
19358 language = mostMatchedLanguages[0];
19359 if (mostMatchedLanguages.length > 1) {
19360 console.warn("Multiple possible languages");
19361 console.warn(mostMatchedLanguages);
19362 }
19363 }
19364 }
19365 return language;
19366 }
19367
19368 function getLanguageFromUrl() {
c6624d51
IC
19369 for (var language in WORDLISTS) {
19370 if (window.location.hash.indexOf(language) > -1) {
19371 return language;
19372 }
19373 }
19374 return "";
0515eeec
IC
19375 }
19376
19377 function setMnemonicLanguage() {
19378 var language = getLanguage();
19379 // Load the bip39 mnemonic generator for this language if required
19380 if (!(language in mnemonics)) {
19381 mnemonics[language] = new Mnemonic(language);
19382 }
19383 mnemonic = mnemonics[language];
19384 }
19385
19386 function convertPhraseToNewLanguage() {
19387 var oldLanguage = getLanguageFromPhrase();
19388 var newLanguage = getLanguageFromUrl();
19389 var oldPhrase = DOM.phrase.val();
19390 var oldWords = phraseToWordArray(oldPhrase);
19391 var newWords = [];
19392 for (var i=0; i<oldWords.length; i++) {
19393 var oldWord = oldWords[i];
19394 var index = WORDLISTS[oldLanguage].indexOf(oldWord);
19395 var newWord = WORDLISTS[newLanguage][index];
19396 newWords.push(newWord);
19397 }
19398 newPhrase = wordArrayToPhrase(newWords);
19399 return newPhrase;
19400 }
19401
19402 // TODO look at jsbip39 - mnemonic.splitWords
19403 function phraseToWordArray(phrase) {
19404 var words = phrase.split(/\s/g);
19405 var noBlanks = [];
19406 for (var i=0; i<words.length; i++) {
19407 var word = words[i];
19408 if (word.length > 0) {
19409 noBlanks.push(word);
19410 }
19411 }
19412 return noBlanks;
19413 }
19414
19415 // TODO look at jsbip39 - mnemonic.joinWords
19416 function wordArrayToPhrase(words) {
19417 var phrase = words.join(" ");
19418 var language = getLanguageFromPhrase(phrase);
19419 if (language == "japanese") {
19420 phrase = words.join("\u3000");
19421 }
19422 return phrase;
19423 }
19424
c6624d51
IC
19425 function isUsingOwnEntropy() {
19426 return DOM.useEntropy.prop("checked");
19427 }
19428
19429 function setMnemonicFromEntropy() {
2a6dd137 19430 clearEntropyFeedback();
18abe53b 19431 // Get entropy value
c6624d51 19432 var entropyStr = DOM.entropy.val();
18abe53b 19433 // Work out minimum base for entropy
c6624d51 19434 var entropy = Entropy.fromString(entropyStr);
18abe53b 19435 if (entropy.binaryStr.length == 0) {
c6624d51
IC
19436 return;
19437 }
19438 // Show entropy details
18abe53b
IC
19439 showEntropyFeedback(entropy);
19440 // Use entropy hash if not using raw entropy
19441 var bits = entropy.binaryStr;
19442 var mnemonicLength = DOM.entropyMnemonicLength.val();
19443 if (mnemonicLength != "raw") {
19444 // Get bits by hashing entropy with SHA256
19445 var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
19446 var hex = sjcl.codec.hex.fromBits(hash);
19447 bits = BigInteger.parse(hex, 16).toString(2);
19448 for (var i=0; i<256-bits.length; i++) {
19449 bits = "0" + bits;
19450 }
19451 // Truncate hash to suit number of words
19452 mnemonicLength = parseInt(mnemonicLength);
19453 var numberOfBits = 32 * mnemonicLength / 3;
19454 bits = bits.substring(0, numberOfBits);
c6624d51 19455 }
c6624d51 19456 // Discard trailing entropy
18abe53b 19457 var bitsToUse = Math.floor(bits.length / 32) * 32;
2a6dd137
IC
19458 var start = bits.length - bitsToUse;
19459 var binaryStr = bits.substring(start);
c6624d51
IC
19460 // Convert entropy string to numeric array
19461 var entropyArr = [];
18abe53b
IC
19462 for (var i=0; i<binaryStr.length / 8; i++) {
19463 var byteAsBits = binaryStr.substring(i*8, i*8+8);
19464 var entropyByte = parseInt(byteAsBits, 2);
c6624d51
IC
19465 entropyArr.push(entropyByte)
19466 }
19467 // Convert entropy array to mnemonic
19468 var phrase = mnemonic.toMnemonic(entropyArr);
19469 // Set the mnemonic in the UI
19470 DOM.phrase.val(phrase);
19471 }
19472
2a6dd137
IC
19473 function clearEntropyFeedback() {
19474 DOM.entropyStrength.text("...");
18abe53b 19475 DOM.entropyType.text("");
2a6dd137
IC
19476 DOM.entropyWordCount.text("0");
19477 DOM.entropyEventCount.text("0");
19478 DOM.entropyBitsPerEvent.text("0");
19479 DOM.entropyBits.text("0");
19480 DOM.entropyFiltered.html("&nbsp;");
19481 DOM.entropyBinary.html("&nbsp;");
c6624d51
IC
19482 }
19483
18abe53b 19484 function showEntropyFeedback(entropy) {
9e97eb76 19485 var numberOfBits = entropy.binaryStr.length;
18abe53b 19486 var strength = "extremely weak";
9e97eb76 19487 if (numberOfBits >= 64) {
18abe53b
IC
19488 strength = "very weak";
19489 }
9e97eb76 19490 if (numberOfBits >= 96) {
18abe53b
IC
19491 strength = "weak";
19492 }
9e97eb76 19493 if (numberOfBits >= 128) {
18abe53b
IC
19494 strength = "strong";
19495 }
9e97eb76 19496 if (numberOfBits >= 160) {
18abe53b
IC
19497 strength = "very strong";
19498 }
9e97eb76 19499 if (numberOfBits >= 192) {
18abe53b
IC
19500 strength = "extremely strong";
19501 }
19502 // If time to crack is less than one day, and password is considered
19503 // strong or better based on the number of bits, rename strength to
19504 // 'easily cracked'.
95f04905
IC
19505 try {
19506 var z = zxcvbn(entropy.base.parts.join(""));
19507 var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second;
19508 if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) {
19509 strength = "easily cracked";
19510 if (z.feedback.warning != "") {
19511 strength = strength + " - " + z.feedback.warning;
19512 };
19513 }
18abe53b 19514 }
95f04905
IC
19515 catch (e) {
19516 strength = "unknown";
19517 console.log("Error detecting entropy strength with zxcvbn:");
19518 console.log(e);
19519 }
95f04905 19520 var entropyTypeStr = getEntropyTypeStr(entropy);
9e97eb76 19521 var wordCount = Math.floor(numberOfBits / 32) * 3;
94959756 19522 var bitsPerEvent = entropy.bitsPerEvent.toFixed(2);
2a6dd137 19523 DOM.entropyFiltered.html(entropy.cleanHtml);
95f04905 19524 DOM.entropyType.text(entropyTypeStr);
18abe53b
IC
19525 DOM.entropyStrength.text(strength);
19526 DOM.entropyEventCount.text(entropy.base.ints.length);
9e97eb76 19527 DOM.entropyBits.text(numberOfBits);
2a6dd137
IC
19528 DOM.entropyWordCount.text(wordCount);
19529 DOM.entropyBinary.text(entropy.binaryStr);
9e97eb76 19530 DOM.entropyBitsPerEvent.text(bitsPerEvent);
95f04905
IC
19531 }
19532
19533 function getEntropyTypeStr(entropy) {
19534 var typeStr = entropy.base.str;
19535 // Add some detail if these are cards
19536 if (entropy.base.asInt == 52) {
19537 var cardDetail = []; // array of message strings
19538 // Detect duplicates
19539 var dupes = [];
19540 var dupeTracker = {};
19541 for (var i=0; i<entropy.base.parts.length; i++) {
19542 var card = entropy.base.parts[i];
9e97eb76
IC
19543 var cardUpper = card.toUpperCase();
19544 if (cardUpper in dupeTracker) {
95f04905
IC
19545 dupes.push(card);
19546 }
9e97eb76 19547 dupeTracker[cardUpper] = true;
95f04905
IC
19548 }
19549 if (dupes.length > 0) {
19550 var dupeWord = "duplicates";
19551 if (dupes.length == 1) {
19552 dupeWord = "duplicate";
19553 }
19554 var msg = dupes.length + " " + dupeWord + ": " + dupes.slice(0,3).join(" ");
19555 if (dupes.length > 3) {
19556 msg += "...";
19557 }
19558 cardDetail.push(msg);
19559 }
19560 // Detect full deck
19561 var uniqueCards = [];
19562 for (var uniqueCard in dupeTracker) {
19563 uniqueCards.push(uniqueCard);
19564 }
19565 if (uniqueCards.length == 52) {
19566 cardDetail.unshift("full deck");
19567 }
9e97eb76
IC
19568 // Detect missing cards
19569 var values = "A23456789TJQK";
19570 var suits = "CDHS";
19571 var missingCards = [];
19572 for (var i=0; i<suits.length; i++) {
19573 for (var j=0; j<values.length; j++) {
19574 var card = values[j] + suits[i];
19575 if (!(card in dupeTracker)) {
19576 missingCards.push(card);
19577 }
19578 }
19579 }
19580 // Display missing cards if six or less, ie clearly going for full deck
19581 if (missingCards.length > 0 && missingCards.length <= 6) {
19582 var msg = missingCards.length + " missing: " + missingCards.slice(0,3).join(" ");
19583 if (missingCards.length > 3) {
19584 msg += "...";
19585 }
19586 cardDetail.push(msg);
19587 }
95f04905
IC
19588 // Add card details to typeStr
19589 if (cardDetail.length > 0) {
19590 typeStr += " (" + cardDetail.join(", ") + ")";
19591 }
19592 }
19593 return typeStr;
19594 }
19595
e00964cc
IC
19596 function setQrEvents(els) {
19597 els.on("mouseenter", createQr);
19598 els.on("mouseleave", destroyQr);
19599 els.on("click", toggleQr);
19600 }
19601
19602 function createQr(e) {
19603 var content = e.target.textContent || e.target.value;
19604 if (content) {
19605 var size = 130;
19606 DOM.qrImage.qrcode({width: size, height: size, text: content});
19607 if (!showQr) {
52da415f
IC
19608 DOM.qrHider.addClass("hidden");
19609 }
19610 else {
19611 DOM.qrHider.removeClass("hidden");
e00964cc
IC
19612 }
19613 DOM.qrContainer.removeClass("hidden");
19614 }
19615 }
19616
19617 function destroyQr() {
19618 DOM.qrImage.text("");
19619 DOM.qrContainer.addClass("hidden");
19620 }
19621
19622 function toggleQr() {
19623 showQr = !showQr;
52da415f 19624 DOM.qrHider.toggleClass("hidden");
e00964cc
IC
19625 DOM.qrHint.toggleClass("hidden");
19626 }
19627
20083ab9
IC
19628 function bip44TabSelected() {
19629 return DOM.bip44tab.hasClass("active");
19630 }
19631
19632 function bip32TabSelected() {
19633 return DOM.bip32tab.hasClass("active");
19634 }
19635
ab78acc6
IC
19636 var networks = [
19637 {
19638 name: "Bitcoin",
19639 onSelect: function() {
19640 network = bitcoin.networks.bitcoin;
19641 DOM.bip44coin.val(0);
ab78acc6
IC
19642 },
19643 },
19644 {
19645 name: "Bitcoin Testnet",
19646 onSelect: function() {
19647 network = bitcoin.networks.testnet;
19648 DOM.bip44coin.val(1);
ab78acc6
IC
19649 },
19650 },
19651 {
19652 name: "Litecoin",
19653 onSelect: function() {
19654 network = bitcoin.networks.litecoin;
19655 DOM.bip44coin.val(2);
19656 },
19657 },
19658 {
19659 name: "Dogecoin",
19660 onSelect: function() {
19661 network = bitcoin.networks.dogecoin;
19662 DOM.bip44coin.val(3);
19663 },
19664 },
d5dc92fd
IC
19665 {
19666 name: "ShadowCash",
19667 onSelect: function() {
19668 network = bitcoin.networks.shadow;
19669 DOM.bip44coin.val(35);
19670 },
19671 },
19672 {
19673 name: "ShadowCash Testnet",
19674 onSelect: function() {
19675 network = bitcoin.networks.shadowtn;
19676 DOM.bip44coin.val(1);
19677 },
19678 },
a3baa26e
IC
19679 {
19680 name: "Viacoin",
19681 onSelect: function() {
19682 network = bitcoin.networks.viacoin;
19683 DOM.bip44coin.val(14);
19684 },
19685 },
19686 {
19687 name: "Viacoin Testnet",
19688 onSelect: function() {
19689 network = bitcoin.networks.viacointestnet;
19690 DOM.bip44coin.val(1);
19691 },
19692 },
19693 {
19694 name: "Jumbucks",
19695 onSelect: function() {
19696 network = bitcoin.networks.jumbucks;
19697 DOM.bip44coin.val(26);
19698 },
19699 },
5c434a8a
CM
19700 {
19701 name: "CLAM",
19702 onSelect: function() {
19703 network = bitcoin.networks.clam;
19704 DOM.bip44coin.val(23);
19705 },
19706 },
5493efc3 19707 {
19708 name: "DASH",
19709 onSelect: function() {
19710 network = bitcoin.networks.dash;
19711 DOM.bip44coin.val(5);
19712 },
19713 },
07ac4350 19714 {
19715 name: "Namecoin",
19716 onSelect: function() {
19717 network = bitcoin.networks.namecoin;
19718 DOM.bip44coin.val(7);
19719 },
19720 },
19721 {
19722 name: "Peercoin",
19723 onSelect: function() {
19724 network = bitcoin.networks.peercoin;
19725 DOM.bip44coin.val(6);
19726 },
19727 },
ab78acc6
IC
19728 ]
19729
ebd8d4e8
IC
19730 init();
19731
19732})();
dc55c6b0 19733</script>
ebd8d4e8
IC
19734 </body>
19735</html>