From 0265f33bc8c7c238851c06ac0f7fdc287e8ec7ad Mon Sep 17 00:00:00 2001 From: floatingatoll Date: Thu, 12 Nov 2020 09:05:14 -0800 Subject: [PATCH] Remove SSH observatory. Fixes #234. --- ...dex.css => 139eb1ad22af7797a9c4.index.css} | 2 +- ...index.js => 139eb1ad22af7797a9c4.index.js} | 14 +- dist/analyze/index.html | 175 +----------------- dist/faq/index.html | 4 +- dist/index.html | 6 +- dist/statistics/index.html | 26 +-- dist/terms/index.html | 4 +- src/css/_tablesaw.scss | 4 +- src/css/httpobs.css | 10 +- src/js/constants.js | 1 - src/js/index.js | 18 +- src/js/observatories/observatories.js | 3 +- src/js/observatories/ssh.js | 152 --------------- src/js/statistics.js | 51 ----- src/templates/analyze.html | 36 ---- src/templates/analyze/ssh/miscellaneous.html | 34 ---- .../analyze/ssh/recommendations.html | 15 -- src/templates/analyze/ssh/scan-summary.html | 40 ---- .../analyze/ssh/version-information.html | 30 --- src/templates/index.html | 2 +- src/templates/statistics.html | 22 --- 21 files changed, 25 insertions(+), 624 deletions(-) rename dist/{10acdf1955be9d46fce6.index.css => 139eb1ad22af7797a9c4.index.css} (97%) rename dist/{10acdf1955be9d46fce6.index.js => 139eb1ad22af7797a9c4.index.js} (76%) delete mode 100644 src/js/observatories/ssh.js delete mode 100644 src/templates/analyze/ssh/miscellaneous.html delete mode 100644 src/templates/analyze/ssh/recommendations.html delete mode 100644 src/templates/analyze/ssh/scan-summary.html delete mode 100644 src/templates/analyze/ssh/version-information.html diff --git a/dist/10acdf1955be9d46fce6.index.css b/dist/139eb1ad22af7797a9c4.index.css similarity index 97% rename from dist/10acdf1955be9d46fce6.index.css rename to dist/139eb1ad22af7797a9c4.index.css index 7bafac1..a8d2d87 100644 --- a/dist/10acdf1955be9d46fce6.index.css +++ b/dist/139eb1ad22af7797a9c4.index.css @@ -1,6 +1,6 @@ /*! Tablesaw - v3.1.2 - 2019-03-19 * https://github.com/filamentgroup/tablesaw -* Copyright (c) 2019 Filament Group; Licensed MIT */.tablesaw{width:100%;max-width:100%;empty-cells:show;border-collapse:collapse;border:0;padding:0}.tablesaw *{box-sizing:border-box}.tablesaw-btn{border:1px solid #ccc;border-radius:.25em;background:none;box-shadow:0 1px 0 #fff;color:#4a4a4a;cursor:pointer;margin:0;padding:.5em .85em .4em;text-align:center;text-decoration:none;text-transform:capitalize;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.tablesaw-btn{color:#1c95d4}.tablesaw-btn:hover{text-decoration:none}.tablesaw-btn:active{background-color:#ddd}@supports (box-shadow:none){.tablesaw-btn:focus{background-color:#fff;outline:none;box-shadow:0 0 .35em #4faeef!important}}.tablesaw-btn-select select{background:none;border:none;display:inline-block;position:absolute;left:0;top:0;margin:0;width:100%;height:100%;z-index:2;min-height:1em;opacity:0;color:transparent}.tablesaw-btn select option{background:#fff;color:#000}.tablesaw-btn{display:inline-block;width:auto;height:auto;position:relative;top:0}.tablesaw-btn.btn-small{font-size:1.0625em;line-height:19px;padding:.3em 1em}.tablesaw-btn.btn-micro{font-size:.8125em;padding:.4em .7em .25em}.tablesaw-btn-select{text-align:left;display:inline-block;color:#4d4d4d;padding-right:2.5em;min-width:7.25em}.tablesaw-btn-select:after{content:" ";position:absolute;background:none;background-repeat:no-repeat;background-position:.25em .45em;content:"\25bc";font-size:.55em;padding-top:1.2em;padding-left:1em;left:auto;right:0;margin:0;top:0;bottom:0;width:1.8em}.tablesaw-btn-select.btn-micro:after,.tablesaw-btn-select.btn-small:after{width:1.2em;font-size:.5em;padding-top:1em;padding-right:.5em;line-height:1.65;background:none;box-shadow:none;border-left-width:0}.tablesaw-advance .tablesaw-btn{-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;text-shadow:0 1px 0 #fff;border-radius:.25em}.tablesaw-advance .tablesaw-btn.btn-micro{font-size:.8125em;padding:.3em .7em .25em}.tablesaw-advance a.tablesaw-nav-btn:first-child{margin-left:0}.tablesaw-advance a.tablesaw-nav-btn:last-child{margin-right:0}.tablesaw-advance a.tablesaw-nav-btn{display:inline-block;overflow:hidden;width:1.8em;height:1.8em;background-position:50% 50%;margin-left:.25em;margin-right:.25em;position:relative;text-indent:-9999px}.tablesaw-advance a.tablesaw-nav-btn.down:before,.tablesaw-advance a.tablesaw-nav-btn.left:before,.tablesaw-advance a.tablesaw-nav-btn.right:before,.tablesaw-advance a.tablesaw-nav-btn.up:before{content:"\0020";overflow:hidden;width:0;height:0;position:absolute}.tablesaw-advance a.tablesaw-nav-btn.down:before{left:.5em;top:.65em;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid grey}.tablesaw-advance a.tablesaw-nav-btn.up:before{left:.5em;top:.65em;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid grey}.tablesaw-advance a.tablesaw-nav-btn.left:before,.tablesaw-advance a.tablesaw-nav-btn.right:before{top:.45em;border-top:5px solid transparent;border-bottom:5px solid transparent}.tablesaw-advance a.tablesaw-nav-btn.left:before{left:.6em;border-right:5px solid grey}.tablesaw-advance a.tablesaw-nav-btn.right:before{left:.7em;border-left:5px solid grey}.tablesaw-advance a.tablesaw-nav-btn.disabled{opacity:.25;cursor:default;pointer-events:none}.tablesaw-bar{clear:both}.tablesaw-bar *{box-sizing:border-box}.tablesaw-bar-section{float:left}.tablesaw-bar-section label{font-size:.875em;padding:.5em 0;clear:both;display:block;color:#888;margin-right:.5em;text-transform:uppercase}.tablesaw-btn,.tablesaw-enhanced .tablesaw-btn{margin-top:.5em;margin-bottom:.5em}.tablesaw-btn-select,.tablesaw-enhanced .tablesaw-btn-select{margin-bottom:0}.tablesaw-bar .tablesaw-bar-section .tablesaw-btn{margin-left:.4em;margin-top:0;text-transform:uppercase;border:none;box-shadow:none;background:transparent;font-size:1em;padding-left:.3em}.tablesaw-bar .tablesaw-bar-section .btn-select{min-width:0}.tablesaw-bar .tablesaw-bar-section .btn-select:after{padding-top:.9em}.tablesaw-bar .tablesaw-bar-section select{color:#888;text-transform:none;background:transparent}.tablesaw-bar-section~table{clear:both}.tablesaw-bar-section .abbreviated{display:inline}.tablesaw-bar-section .longform{display:none}@media (min-width:24em){.tablesaw-bar-section .abbreviated{display:none}.tablesaw-bar-section .longform{display:inline}}.tablesaw td,.tablesaw th{padding:.5em .7em;text-align:left;vertical-align:middle}.tablesaw-sortable-btn{padding:.5em .7em}.tablesaw thead th{text-align:left}.tablesaw-row-border tr{border-bottom:1px solid #dfdfdf}.tablesaw-row-zebra tr:nth-child(2n){background-color:#f8f8f8}.tablesaw caption{text-align:left;margin:.59375em 0}.tablesaw-swipe .tablesaw-swipe-cellpersist{border-right:2px solid #e4e1de}.tablesaw-swipe-shadow .tablesaw-swipe-cellpersist{border-right-width:1px;box-shadow:3px 0 4px -1px #e4e1de}.tablesaw-stack td .tablesaw-cell-label,.tablesaw-stack th .tablesaw-cell-label{display:none}@media only all{.tablesaw-stack{clear:both}.tablesaw-stack td,.tablesaw-stack th{text-align:left;display:block}.tablesaw-stack tr{clear:both;display:table-row}.tablesaw-stack td .tablesaw-cell-label,.tablesaw-stack th .tablesaw-cell-label{display:inline-block;padding:0 .6em 0 0;width:30%}.tablesaw-stack td .tablesaw-cell-label-top,.tablesaw-stack th .tablesaw-cell-label-top{display:block;padding:.4em 0;margin:.4em 0}.tablesaw-cell-label{display:block}.tablesaw-stack tbody th.group{margin-top:-1px}.tablesaw-stack th.group b.tablesaw-cell-label{display:none!important}}@media (max-width:39.9375em){.tablesaw-stack tbody tr{display:block;width:100%;border-bottom:1px solid #dfdfdf}.tablesaw-stack thead td,.tablesaw-stack thead th{display:none}.tablesaw-stack tbody td,.tablesaw-stack tbody th{display:block;float:left;clear:left;width:100%}.tablesaw-cell-label{vertical-align:top}.tablesaw-cell-content{display:inline-block;max-width:67%}.tablesaw-stack .tablesaw-stack-block .tablesaw-cell-content,.tablesaw-stack .tablesaw-stack-block .tablesaw-cell-label{display:block;width:100%;max-width:100%;padding:0}.tablesaw-stack td:empty,.tablesaw-stack th:empty{display:none}}@media (min-width:40em){.tablesaw-stack tr{display:table-row}.tablesaw-stack td,.tablesaw-stack th,.tablesaw-stack thead td,.tablesaw-stack thead th{display:table-cell;margin:0}.tablesaw-stack td .tablesaw-cell-label,.tablesaw-stack th .tablesaw-cell-label{display:none!important}}.tablesaw-fix-persist{table-layout:fixed}@media only all{.tablesaw-swipe td.tablesaw-swipe-cellhidden,.tablesaw-swipe th.tablesaw-swipe-cellhidden{display:none}}.tablesaw-overflow{position:relative;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tablesaw-overflow>.tablesaw{margin-top:2px}.tablesaw-columntoggle-btn span{text-indent:-9999px;display:inline-block}.tablesaw-columntoggle-btnwrap{position:relative}.tablesaw-columntoggle-btnwrap .dialog-content{padding:.5em}.tablesaw-columntoggle tbody td{line-height:1.5}.tablesaw-columntoggle-popup{display:none}.tablesaw-columntoggle-btnwrap.visible .tablesaw-columntoggle-popup{display:block;position:absolute;top:2em;right:0;background-color:#fff;padding:.5em .8em;border:1px solid #ccc;box-shadow:0 1px 2px #ccc;border-radius:.2em;z-index:1}.tablesaw-columntoggle-popup fieldset{margin:0}@media only all{.tablesaw-columntoggle td.tablesaw-priority-0,.tablesaw-columntoggle td.tablesaw-priority-1,.tablesaw-columntoggle td.tablesaw-priority-2,.tablesaw-columntoggle td.tablesaw-priority-3,.tablesaw-columntoggle td.tablesaw-priority-4,.tablesaw-columntoggle td.tablesaw-priority-5,.tablesaw-columntoggle td.tablesaw-priority-6,.tablesaw-columntoggle th.tablesaw-priority-0,.tablesaw-columntoggle th.tablesaw-priority-1,.tablesaw-columntoggle th.tablesaw-priority-2,.tablesaw-columntoggle th.tablesaw-priority-3,.tablesaw-columntoggle th.tablesaw-priority-4,.tablesaw-columntoggle th.tablesaw-priority-5,.tablesaw-columntoggle th.tablesaw-priority-6{display:none}}.tablesaw-columntoggle-btnwrap .dialog-content{top:0!important;right:1em;left:auto!important;width:12em;max-width:18em;margin:-.5em auto 0}.tablesaw-columntoggle-btnwrap .dialog-content:focus{outline-style:none}@media (min-width:20em){.tablesaw-columntoggle td.tablesaw-priority-1,.tablesaw-columntoggle th.tablesaw-priority-1{display:table-cell}}@media (min-width:30em){.tablesaw-columntoggle td.tablesaw-priority-2,.tablesaw-columntoggle th.tablesaw-priority-2{display:table-cell}}@media (min-width:40em){.tablesaw-columntoggle td.tablesaw-priority-3,.tablesaw-columntoggle th.tablesaw-priority-3{display:table-cell}.tablesaw-columntoggle tbody td{line-height:2}}@media (min-width:50em){.tablesaw-columntoggle td.tablesaw-priority-4,.tablesaw-columntoggle th.tablesaw-priority-4{display:table-cell}}@media (min-width:60em){.tablesaw-columntoggle td.tablesaw-priority-5,.tablesaw-columntoggle th.tablesaw-priority-5{display:table-cell}}@media (min-width:70em){.tablesaw-columntoggle td.tablesaw-priority-6,.tablesaw-columntoggle th.tablesaw-priority-6{display:table-cell}}@media only all{.tablesaw-columntoggle td.tablesaw-toggle-cellhidden,.tablesaw-columntoggle th.tablesaw-toggle-cellhidden{display:none}.tablesaw-columntoggle td.tablesaw-toggle-cellvisible,.tablesaw-columntoggle th.tablesaw-toggle-cellvisible{display:table-cell}}.tablesaw-columntoggle-popup .tablesaw-btn-group>label{display:block;padding:.2em 0;white-space:nowrap;cursor:default}.tablesaw-columntoggle-popup .tablesaw-btn-group>label input{margin-right:.8em}.tablesaw-sortable-head{position:relative;vertical-align:top}.tablesaw .tablesaw-sortable-head{padding:0}.tablesaw-sortable-btn{min-width:100%;color:inherit;background:transparent;border:0;text-align:inherit;font:inherit;text-transform:inherit}.tablesaw-sortable-arrow:after{display:inline-block;width:10px;height:14px;content:" ";margin-left:.3125em}.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after,.tablesaw-sortable-descending .tablesaw-sortable-arrow:after{content:"\0020"}.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after{content:"\2191"}.tablesaw-sortable-descending .tablesaw-sortable-arrow:after{content:"\2193"}.tablesaw-advance{float:right}.tablesaw-advance.minimap{margin-right:.4em}.tablesaw-advance-dots{float:left;margin:0;padding:0;list-style:none}.tablesaw-advance-dots li{display:table-cell;margin:0;padding:.4em .2em}.tablesaw-advance-dots li i{width:.25em;height:.25em;background:#555;border-radius:100%;display:inline-block}.tablesaw-advance-dots-hide{opacity:.25;cursor:default;pointer-events:none}body{font-size:16px}ul{margin-bottom:0}.panel-body{padding:2em}.footer{background-color:#fff;font-size:16px;height:32px;line-height:29px;margin-top:2em;overflow:hidden;position:absolute;text-overflow:ellipsis;white-space:nowrap;width:100%}.table-recent-results>tbody>tr>td.grade{width:2em}.table-recent-results>tbody>tr>td.hostname>a{color:#436ece}.alert-hidden{display:none}#observatory-wordmark{height:1.6em}@media only screen and (min-width:768px){#observatory-wordmark{height:2em}.equal,.equal>div[class*=col-]{display:flex;flex:1 auto}.table{margin-bottom:1px}}#results-container{margin-bottom:1em}#scantron-form fieldset div{margin:.25rem 0}#whatami{font-weight:600;margin-top:.8em}.navbar{border:0;box-shadow:none}.tab-content{margin-top:1.2em}.grade-container{border-radius:12px;color:#fff;display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:88px;height:128px;line-height:116px;padding-right:4px;width:128px}.grade-container sup{float:right;font-size:52px;position:relative;top:32px}.grade-a{background:#2d882d;border:6px solid #161}.grade-b{background:#aaaa39;border:6px solid #808015}.grade-c{background:#aa7039;border:6px solid #804915}.grade-d,.grade-e{background:#652770;border:6px solid #4a1054}.grade-f{background:#aa3939;border:6px solid #801515}.grade-i{font-size:102px}.grade-with-modifier{padding-right:4px}.grade-with-modifier-narrow{right:10px}.grade-with-modifier-wide{right:-2px}.hostname{border:none;max-width:13.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress.progress-lg{height:44px;margin:22px 0}.progress-bar.progress-bar-lg{font-size:24px;font-weight:700;line-height:44px;text-transform:uppercase}.margin-bottom{margin-bottom:2em}button.expandy-panel-button{font-weight:700;padding:.25rem .75rem;white-space:normal}div.progress-lg+div.row{display:none}.summary tr td:first-child{font-weight:600}#csp-analysis tr td:nth-child(2){display:table-cell}#server-headers-table tr td:first-child,#ssh-misc-table tr td:first-child,#ssh-version-table tr td:first-child,#tls-certificate-table tr td:first-child,#tls-misc-table tr td:first-child{font-weight:600;padding-right:1em}#csp-analysis tr td:nth-child(2),#csp-analysis tr td:nth-child(3){margin-right:3em;text-align:center;white-space:nowrap}#csp-analysis tr td:nth-child(3) span{line-height:1.42857143}#csp-analysis code,#test-scores code{color:#811833;font-size:80%}.bold-no-wrap{font-weight:600;white-space:nowrap}#tls-suggestions #tls-suggestions-disclaimer{padding:0 .75em}#ssh-recommendations-table ul,#tls-suggestions #tls-suggestions-disclaimer p:last-child{margin-bottom:0}#qualys-logo{margin:1.5em .75em -1em 0;width:300px}#htbridge-logo{margin:1.5em .75em -1em 0;width:220px}#htbridge-url{display:inline-block;max-width:30em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sub,sup{top:-.4em}#third-party-tests h3{margin-bottom:.5em;margin-top:1.5em}#faq,#terms{max-width:53em;padding:0 1em}#faq .question,#statistics>div{margin-bottom:2em}#faq .question p{padding:0 1em}#faq pre{margin-left:5%;margin-top:1.25em}#statistics canvas{margin-top:1em}.page-header-half-margin-top{margin-top:1.5em}#redirect-banner,#survey-banner{font-weight:700}#redirect-banner a,#survey-banner a,.alert-danger a{color:#fff;font-weight:700}#next-steps a,#ssh-summary a,#test-scores a{border-bottom:1px dotted #4582ec;text-decoration:none}#redirect-banner a,#survey-banner a{border-bottom:2px dotted #fff;text-decoration:none}canvas{height:400px}header{margin-bottom:22px}.text-prewrap{white-space:pre-wrap}.btn{font-family:Zilla Slab,Raleway,Helvetica Neue,Helvetica,Arial,sans-serif}.navbar{font-family:Open Sans,Georgia,Times New Roman,Times,serif}nav{font-family:Georgia,Times New Roman,Times,serif}button.btn-light{border:1px solid #b3b3b3}.nav-tabs .nav-link.nav-item{background:#f9f9f9;border:1px solid #ccc;margin-right:2px}.nav-tabs .nav-link.nav-item svg{display:none}.nav-tabs .nav-link.nav-item.active{border:1px solid #4582ec;font-weight:700}@media (min-width:0){.progress-bar{font-size:4.8vw!important}}@media (min-width:576px){.progress-bar{font-size:4vw!important}}@media (min-width:768px){.progress-bar{font-size:3.35vw!important}}@media (min-width:992px){.progress-bar{font-size:2.75vw!important}}@media (min-width:1200px){.progress-bar{font-size:2.25vw!important}}@media (min-width:1480px){.progress-bar{font-size:2vw!important}}@media (min-width:1700px){.progress-bar{font-size:1.7vw!important}}@media (min-width:2000px){.progress-bar{font-size:1.4vw!important}}.table th{border-top:0!important}.table td{vertical-align:inherit!important}.text-break{word-break:break-word;word-wrap:anywhere}@media (min-width:0){.d-xs-none{display:none!important}.mx-xs-3{margin-left:1rem!important;margin-right:1rem!important}}@media (min-width:992px){td.tablesaw-hideable{display:table-cell!important}.tablesaw-nowrap{white-space:nowrap!important}}@media (max-width:992px){.tablesaw-hideable{display:none!important}}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:400;src:local("Zilla Slab"),local("ZillaSlab-Regular"),url(/fonts/zilla-slab-v4-latin_latin-ext-regular.woff2) format("woff2"),url(/fonts/zilla-slab-v4-latin_latin-ext-regular.woff) format("woff")}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:700;src:local("Zilla Slab Bold"),local("ZillaSlab-Bold"),url(/fonts/zilla-slab-v4-latin_latin-ext-700.woff2) format("woff2"),url(/fonts/zilla-slab-v4-latin_latin-ext-700.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(/fonts/open-sans-v15-latin_latin-ext-regular.woff2) format("woff2"),url(/fonts/open-sans-v15-latin_latin-ext-regular.woff) format("woff")}.octicon.octicon-check{color:#3fad46}.octicon.octicon-dash{color:grey}.octicon.octicon-info,.octicon.octicon-question{color:#666}.octicon.octicon-x{color:#d9534f}@media (min-width:39.9375em){.tablesaw-center{text-align:center!important}#server-headers-table tr td:first-child,#ssh-misc-table tr td:first-child,#ssh-version-table tr td:first-child,#tls-certificate-table tr td:first-child,#tls-misc-table tr td:first-child{white-space:nowrap}}@media (max-width:39.9375em){.tablesaw tbody tr{border-bottom:2px solid #666}.tablesaw tbody tr:first-of-type{border:0}.tablesaw tbody tr td span.tablesaw-cell-content{font-weight:400}.tablesaw-cell-label:after{content:":"}.tablesaw-stack tbody td{border:0;padding:.4375rem .75rem}}/*! +* Copyright (c) 2019 Filament Group; Licensed MIT */.tablesaw{width:100%;max-width:100%;empty-cells:show;border-collapse:collapse;border:0;padding:0}.tablesaw *{box-sizing:border-box}.tablesaw-btn{border:1px solid #ccc;border-radius:.25em;background:none;box-shadow:0 1px 0 #fff;color:#4a4a4a;cursor:pointer;margin:0;padding:.5em .85em .4em;text-align:center;text-decoration:none;text-transform:capitalize;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.tablesaw-btn{color:#1c95d4}.tablesaw-btn:hover{text-decoration:none}.tablesaw-btn:active{background-color:#ddd}@supports (box-shadow:none){.tablesaw-btn:focus{background-color:#fff;outline:none;box-shadow:0 0 .35em #4faeef!important}}.tablesaw-btn-select select{background:none;border:none;display:inline-block;position:absolute;left:0;top:0;margin:0;width:100%;height:100%;z-index:2;min-height:1em;opacity:0;color:transparent}.tablesaw-btn select option{background:#fff;color:#000}.tablesaw-btn{display:inline-block;width:auto;height:auto;position:relative;top:0}.tablesaw-btn.btn-small{font-size:1.0625em;line-height:19px;padding:.3em 1em}.tablesaw-btn.btn-micro{font-size:.8125em;padding:.4em .7em .25em}.tablesaw-btn-select{text-align:left;display:inline-block;color:#4d4d4d;padding-right:2.5em;min-width:7.25em}.tablesaw-btn-select:after{content:" ";position:absolute;background:none;background-repeat:no-repeat;background-position:.25em .45em;content:"\25bc";font-size:.55em;padding-top:1.2em;padding-left:1em;left:auto;right:0;margin:0;top:0;bottom:0;width:1.8em}.tablesaw-btn-select.btn-micro:after,.tablesaw-btn-select.btn-small:after{width:1.2em;font-size:.5em;padding-top:1em;padding-right:.5em;line-height:1.65;background:none;box-shadow:none;border-left-width:0}.tablesaw-advance .tablesaw-btn{-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;text-shadow:0 1px 0 #fff;border-radius:.25em}.tablesaw-advance .tablesaw-btn.btn-micro{font-size:.8125em;padding:.3em .7em .25em}.tablesaw-advance a.tablesaw-nav-btn:first-child{margin-left:0}.tablesaw-advance a.tablesaw-nav-btn:last-child{margin-right:0}.tablesaw-advance a.tablesaw-nav-btn{display:inline-block;overflow:hidden;width:1.8em;height:1.8em;background-position:50% 50%;margin-left:.25em;margin-right:.25em;position:relative;text-indent:-9999px}.tablesaw-advance a.tablesaw-nav-btn.down:before,.tablesaw-advance a.tablesaw-nav-btn.left:before,.tablesaw-advance a.tablesaw-nav-btn.right:before,.tablesaw-advance a.tablesaw-nav-btn.up:before{content:"\0020";overflow:hidden;width:0;height:0;position:absolute}.tablesaw-advance a.tablesaw-nav-btn.down:before{left:.5em;top:.65em;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid grey}.tablesaw-advance a.tablesaw-nav-btn.up:before{left:.5em;top:.65em;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid grey}.tablesaw-advance a.tablesaw-nav-btn.left:before,.tablesaw-advance a.tablesaw-nav-btn.right:before{top:.45em;border-top:5px solid transparent;border-bottom:5px solid transparent}.tablesaw-advance a.tablesaw-nav-btn.left:before{left:.6em;border-right:5px solid grey}.tablesaw-advance a.tablesaw-nav-btn.right:before{left:.7em;border-left:5px solid grey}.tablesaw-advance a.tablesaw-nav-btn.disabled{opacity:.25;cursor:default;pointer-events:none}.tablesaw-bar{clear:both}.tablesaw-bar *{box-sizing:border-box}.tablesaw-bar-section{float:left}.tablesaw-bar-section label{font-size:.875em;padding:.5em 0;clear:both;display:block;color:#888;margin-right:.5em;text-transform:uppercase}.tablesaw-btn,.tablesaw-enhanced .tablesaw-btn{margin-top:.5em;margin-bottom:.5em}.tablesaw-btn-select,.tablesaw-enhanced .tablesaw-btn-select{margin-bottom:0}.tablesaw-bar .tablesaw-bar-section .tablesaw-btn{margin-left:.4em;margin-top:0;text-transform:uppercase;border:none;box-shadow:none;background:transparent;font-size:1em;padding-left:.3em}.tablesaw-bar .tablesaw-bar-section .btn-select{min-width:0}.tablesaw-bar .tablesaw-bar-section .btn-select:after{padding-top:.9em}.tablesaw-bar .tablesaw-bar-section select{color:#888;text-transform:none;background:transparent}.tablesaw-bar-section~table{clear:both}.tablesaw-bar-section .abbreviated{display:inline}.tablesaw-bar-section .longform{display:none}@media (min-width:24em){.tablesaw-bar-section .abbreviated{display:none}.tablesaw-bar-section .longform{display:inline}}.tablesaw td,.tablesaw th{padding:.5em .7em;text-align:left;vertical-align:middle}.tablesaw-sortable-btn{padding:.5em .7em}.tablesaw thead th{text-align:left}.tablesaw-row-border tr{border-bottom:1px solid #dfdfdf}.tablesaw-row-zebra tr:nth-child(2n){background-color:#f8f8f8}.tablesaw caption{text-align:left;margin:.59375em 0}.tablesaw-swipe .tablesaw-swipe-cellpersist{border-right:2px solid #e4e1de}.tablesaw-swipe-shadow .tablesaw-swipe-cellpersist{border-right-width:1px;box-shadow:3px 0 4px -1px #e4e1de}.tablesaw-stack td .tablesaw-cell-label,.tablesaw-stack th .tablesaw-cell-label{display:none}@media only all{.tablesaw-stack{clear:both}.tablesaw-stack td,.tablesaw-stack th{text-align:left;display:block}.tablesaw-stack tr{clear:both;display:table-row}.tablesaw-stack td .tablesaw-cell-label,.tablesaw-stack th .tablesaw-cell-label{display:inline-block;padding:0 .6em 0 0;width:30%}.tablesaw-stack td .tablesaw-cell-label-top,.tablesaw-stack th .tablesaw-cell-label-top{display:block;padding:.4em 0;margin:.4em 0}.tablesaw-cell-label{display:block}.tablesaw-stack tbody th.group{margin-top:-1px}.tablesaw-stack th.group b.tablesaw-cell-label{display:none!important}}@media (max-width:39.9375em){.tablesaw-stack tbody tr{display:block;width:100%;border-bottom:1px solid #dfdfdf}.tablesaw-stack thead td,.tablesaw-stack thead th{display:none}.tablesaw-stack tbody td,.tablesaw-stack tbody th{display:block;float:left;clear:left;width:100%}.tablesaw-cell-label{vertical-align:top}.tablesaw-cell-content{display:inline-block;max-width:67%}.tablesaw-stack .tablesaw-stack-block .tablesaw-cell-content,.tablesaw-stack .tablesaw-stack-block .tablesaw-cell-label{display:block;width:100%;max-width:100%;padding:0}.tablesaw-stack td:empty,.tablesaw-stack th:empty{display:none}}@media (min-width:40em){.tablesaw-stack tr{display:table-row}.tablesaw-stack td,.tablesaw-stack th,.tablesaw-stack thead td,.tablesaw-stack thead th{display:table-cell;margin:0}.tablesaw-stack td .tablesaw-cell-label,.tablesaw-stack th .tablesaw-cell-label{display:none!important}}.tablesaw-fix-persist{table-layout:fixed}@media only all{.tablesaw-swipe td.tablesaw-swipe-cellhidden,.tablesaw-swipe th.tablesaw-swipe-cellhidden{display:none}}.tablesaw-overflow{position:relative;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tablesaw-overflow>.tablesaw{margin-top:2px}.tablesaw-columntoggle-btn span{text-indent:-9999px;display:inline-block}.tablesaw-columntoggle-btnwrap{position:relative}.tablesaw-columntoggle-btnwrap .dialog-content{padding:.5em}.tablesaw-columntoggle tbody td{line-height:1.5}.tablesaw-columntoggle-popup{display:none}.tablesaw-columntoggle-btnwrap.visible .tablesaw-columntoggle-popup{display:block;position:absolute;top:2em;right:0;background-color:#fff;padding:.5em .8em;border:1px solid #ccc;box-shadow:0 1px 2px #ccc;border-radius:.2em;z-index:1}.tablesaw-columntoggle-popup fieldset{margin:0}@media only all{.tablesaw-columntoggle td.tablesaw-priority-0,.tablesaw-columntoggle td.tablesaw-priority-1,.tablesaw-columntoggle td.tablesaw-priority-2,.tablesaw-columntoggle td.tablesaw-priority-3,.tablesaw-columntoggle td.tablesaw-priority-4,.tablesaw-columntoggle td.tablesaw-priority-5,.tablesaw-columntoggle td.tablesaw-priority-6,.tablesaw-columntoggle th.tablesaw-priority-0,.tablesaw-columntoggle th.tablesaw-priority-1,.tablesaw-columntoggle th.tablesaw-priority-2,.tablesaw-columntoggle th.tablesaw-priority-3,.tablesaw-columntoggle th.tablesaw-priority-4,.tablesaw-columntoggle th.tablesaw-priority-5,.tablesaw-columntoggle th.tablesaw-priority-6{display:none}}.tablesaw-columntoggle-btnwrap .dialog-content{top:0!important;right:1em;left:auto!important;width:12em;max-width:18em;margin:-.5em auto 0}.tablesaw-columntoggle-btnwrap .dialog-content:focus{outline-style:none}@media (min-width:20em){.tablesaw-columntoggle td.tablesaw-priority-1,.tablesaw-columntoggle th.tablesaw-priority-1{display:table-cell}}@media (min-width:30em){.tablesaw-columntoggle td.tablesaw-priority-2,.tablesaw-columntoggle th.tablesaw-priority-2{display:table-cell}}@media (min-width:40em){.tablesaw-columntoggle td.tablesaw-priority-3,.tablesaw-columntoggle th.tablesaw-priority-3{display:table-cell}.tablesaw-columntoggle tbody td{line-height:2}}@media (min-width:50em){.tablesaw-columntoggle td.tablesaw-priority-4,.tablesaw-columntoggle th.tablesaw-priority-4{display:table-cell}}@media (min-width:60em){.tablesaw-columntoggle td.tablesaw-priority-5,.tablesaw-columntoggle th.tablesaw-priority-5{display:table-cell}}@media (min-width:70em){.tablesaw-columntoggle td.tablesaw-priority-6,.tablesaw-columntoggle th.tablesaw-priority-6{display:table-cell}}@media only all{.tablesaw-columntoggle td.tablesaw-toggle-cellhidden,.tablesaw-columntoggle th.tablesaw-toggle-cellhidden{display:none}.tablesaw-columntoggle td.tablesaw-toggle-cellvisible,.tablesaw-columntoggle th.tablesaw-toggle-cellvisible{display:table-cell}}.tablesaw-columntoggle-popup .tablesaw-btn-group>label{display:block;padding:.2em 0;white-space:nowrap;cursor:default}.tablesaw-columntoggle-popup .tablesaw-btn-group>label input{margin-right:.8em}.tablesaw-sortable-head{position:relative;vertical-align:top}.tablesaw .tablesaw-sortable-head{padding:0}.tablesaw-sortable-btn{min-width:100%;color:inherit;background:transparent;border:0;text-align:inherit;font:inherit;text-transform:inherit}.tablesaw-sortable-arrow:after{display:inline-block;width:10px;height:14px;content:" ";margin-left:.3125em}.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after,.tablesaw-sortable-descending .tablesaw-sortable-arrow:after{content:"\0020"}.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after{content:"\2191"}.tablesaw-sortable-descending .tablesaw-sortable-arrow:after{content:"\2193"}.tablesaw-advance{float:right}.tablesaw-advance.minimap{margin-right:.4em}.tablesaw-advance-dots{float:left;margin:0;padding:0;list-style:none}.tablesaw-advance-dots li{display:table-cell;margin:0;padding:.4em .2em}.tablesaw-advance-dots li i{width:.25em;height:.25em;background:#555;border-radius:100%;display:inline-block}.tablesaw-advance-dots-hide{opacity:.25;cursor:default;pointer-events:none}body{font-size:16px}ul{margin-bottom:0}.panel-body{padding:2em}.footer{background-color:#fff;font-size:16px;height:32px;line-height:29px;margin-top:2em;overflow:hidden;position:absolute;text-overflow:ellipsis;white-space:nowrap;width:100%}.table-recent-results>tbody>tr>td.grade{width:2em}.table-recent-results>tbody>tr>td.hostname>a{color:#436ece}.alert-hidden{display:none}#observatory-wordmark{height:1.6em}@media only screen and (min-width:768px){#observatory-wordmark{height:2em}.equal,.equal>div[class*=col-]{display:flex;flex:1 auto}.table{margin-bottom:1px}}#results-container{margin-bottom:1em}#scantron-form fieldset div{margin:.25rem 0}#whatami{font-weight:600;margin-top:.8em}.navbar{border:0;box-shadow:none}.tab-content{margin-top:1.2em}.grade-container{border-radius:12px;color:#fff;display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:88px;height:128px;line-height:116px;padding-right:4px;width:128px}.grade-container sup{float:right;font-size:52px;position:relative;top:32px}.grade-a{background:#2d882d;border:6px solid #161}.grade-b{background:#aaaa39;border:6px solid #808015}.grade-c{background:#aa7039;border:6px solid #804915}.grade-d,.grade-e{background:#652770;border:6px solid #4a1054}.grade-f{background:#aa3939;border:6px solid #801515}.grade-i{font-size:102px}.grade-with-modifier{padding-right:4px}.grade-with-modifier-narrow{right:10px}.grade-with-modifier-wide{right:-2px}.hostname{border:none;max-width:13.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress.progress-lg{height:44px;margin:22px 0}.progress-bar.progress-bar-lg{font-size:24px;font-weight:700;line-height:44px;text-transform:uppercase}.margin-bottom{margin-bottom:2em}button.expandy-panel-button{font-weight:700;padding:.25rem .75rem;white-space:normal}div.progress-lg+div.row{display:none}.summary tr td:first-child{font-weight:600}#csp-analysis tr td:nth-child(2){display:table-cell}#server-headers-table tr td:first-child,#tls-certificate-table tr td:first-child,#tls-misc-table tr td:first-child{font-weight:600;padding-right:1em}#csp-analysis tr td:nth-child(2),#csp-analysis tr td:nth-child(3){margin-right:3em;text-align:center;white-space:nowrap}#csp-analysis tr td:nth-child(3) span{line-height:1.42857143}#csp-analysis code,#test-scores code{color:#811833;font-size:80%}.bold-no-wrap{font-weight:600;white-space:nowrap}#tls-suggestions #tls-suggestions-disclaimer{padding:0 .75em}#tls-suggestions #tls-suggestions-disclaimer p:last-child{margin-bottom:0}#qualys-logo{margin:1.5em .75em -1em 0;width:300px}#htbridge-logo{margin:1.5em .75em -1em 0;width:220px}#htbridge-url{display:inline-block;max-width:30em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sub,sup{top:-.4em}#third-party-tests h3{margin-bottom:.5em;margin-top:1.5em}#faq,#terms{max-width:53em;padding:0 1em}#faq .question,#statistics>div{margin-bottom:2em}#faq .question p{padding:0 1em}#faq pre{margin-left:5%;margin-top:1.25em}#statistics canvas{margin-top:1em}.page-header-half-margin-top{margin-top:1.5em}#redirect-banner,#survey-banner{font-weight:700}#redirect-banner a,#survey-banner a,.alert-danger a{color:#fff;font-weight:700}#next-steps a,#test-scores a{border-bottom:1px dotted #4582ec;text-decoration:none}#redirect-banner a,#survey-banner a{border-bottom:2px dotted #fff;text-decoration:none}canvas{height:400px}header{margin-bottom:22px}.text-prewrap{white-space:pre-wrap}.btn{font-family:Zilla Slab,Raleway,Helvetica Neue,Helvetica,Arial,sans-serif}.navbar{font-family:Open Sans,Georgia,Times New Roman,Times,serif}nav{font-family:Georgia,Times New Roman,Times,serif}button.btn-light{border:1px solid #b3b3b3}.nav-tabs .nav-link.nav-item{background:#f9f9f9;border:1px solid #ccc;margin-right:2px}.nav-tabs .nav-link.nav-item svg{display:none}.nav-tabs .nav-link.nav-item.active{border:1px solid #4582ec;font-weight:700}@media (min-width:0){.progress-bar{font-size:4.8vw!important}}@media (min-width:576px){.progress-bar{font-size:4vw!important}}@media (min-width:768px){.progress-bar{font-size:3.35vw!important}}@media (min-width:992px){.progress-bar{font-size:2.75vw!important}}@media (min-width:1200px){.progress-bar{font-size:2.25vw!important}}@media (min-width:1480px){.progress-bar{font-size:2vw!important}}@media (min-width:1700px){.progress-bar{font-size:1.7vw!important}}@media (min-width:2000px){.progress-bar{font-size:1.4vw!important}}.table th{border-top:0!important}.table td{vertical-align:inherit!important}.text-break{word-break:break-word;word-wrap:anywhere}@media (min-width:0){.d-xs-none{display:none!important}.mx-xs-3{margin-left:1rem!important;margin-right:1rem!important}}@media (min-width:992px){td.tablesaw-hideable{display:table-cell!important}.tablesaw-nowrap{white-space:nowrap!important}}@media (max-width:992px){.tablesaw-hideable{display:none!important}}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:400;src:local("Zilla Slab"),local("ZillaSlab-Regular"),url(/fonts/zilla-slab-v4-latin_latin-ext-regular.woff2) format("woff2"),url(/fonts/zilla-slab-v4-latin_latin-ext-regular.woff) format("woff")}@font-face{font-family:Zilla Slab;font-style:normal;font-weight:700;src:local("Zilla Slab Bold"),local("ZillaSlab-Bold"),url(/fonts/zilla-slab-v4-latin_latin-ext-700.woff2) format("woff2"),url(/fonts/zilla-slab-v4-latin_latin-ext-700.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(/fonts/open-sans-v15-latin_latin-ext-regular.woff2) format("woff2"),url(/fonts/open-sans-v15-latin_latin-ext-regular.woff) format("woff")}.octicon.octicon-check{color:#3fad46}.octicon.octicon-dash{color:grey}.octicon.octicon-info,.octicon.octicon-question{color:#666}.octicon.octicon-x{color:#d9534f}@media (min-width:39.9375em){.tablesaw-center{text-align:center!important}#server-headers-table tr td:first-child,#tls-certificate-table tr td:first-child,#tls-misc-table tr td:first-child{white-space:nowrap}}@media (max-width:39.9375em){.tablesaw tbody tr{border-bottom:2px solid #666}.tablesaw tbody tr:first-of-type{border:0}.tablesaw tbody tr td span.tablesaw-cell-content{font-weight:400}.tablesaw-cell-label:after{content:":"}.tablesaw-stack tbody td{border:0;padding:.4375rem .75rem}}/*! * Bootstrap v4.4.1 (https://getbootstrap.com/) * Copyright 2011-2019 The Bootstrap Authors * Copyright 2011-2019 Twitter, Inc. diff --git a/dist/10acdf1955be9d46fce6.index.js b/dist/139eb1ad22af7797a9c4.index.js similarity index 76% rename from dist/10acdf1955be9d46fce6.index.js rename to dist/139eb1ad22af7797a9c4.index.js index f96d642..61aec68 100644 --- a/dist/10acdf1955be9d46fce6.index.js +++ b/dist/139eb1ad22af7797a9c4.index.js @@ -1,4 +1,4 @@ -var Observatory=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=201)}([function(t,e,n){"use strict";(function(t){var r=n(194),i=n.n(r),o=n(11),a=n.n(o),s=n(8),l=n.n(s),c=n(195),u=n.n(c),h=n(37),d=n.n(h),f=(n(444),n(196)),p=n.n(f),g=n(4),v=n.n(g);function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1&&void 0!==arguments[1]?arguments[1]:24,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:24,r=document.createElement("template");return r.innerHTML=u.a[t].toSVG({width:e,height:n}).trim(),r.content.firstChild},getTarget:function(){return b?window.location.pathname.split("/").slice(-1)[0]:w("host")},insertGrade:function(e,n){var r=e.substr(0,1),i=t("#"+n+"-grade-container"),o=t("#"+n+"-grade-letter"),a=t("#"+n+"-grade-modifier");switch(e){case"check-mark":r=v.a.character_mappings.checkmark,i.toggleClass("grade-a");break;case"up-arrow":r=v.a.character_mappings.uparrow,i.toggleClass("grade-a");break;case"x-mark":r=v.a.character_mappings.xmark,i.toggleClass("grade-f");break;case"Insecure":r="F",i.toggleClass("grade-f");break;case"Old (Backwards Compatible)":i.toggleClass("grade-f");break;case"Intermediate":r=v.a.character_mappings.latini,i.toggleClass("grade-a").toggleClass("grade-i");break;case"Modern":i.toggleClass("grade-a");break;case"Non-compliant":r="?",i.toggleClass("grade-e");break;default:i.toggleClass("grade-"+r.toLowerCase())}if(o.html(r),2===e.length)if(i.toggleClass("grade-with-modifier"),a.text(e.substr(1,1)),"+"===e[1])switch(r){case"A":a.addClass("grade-with-modifier-narrow");break;case"C":a.addClass("grade-with-modifier-wide")}else a.addClass("grade-with-modifier-narrow")},insertResults:function(e,n){l()(e,function(r,i){"string"==typeof e[i]?t("#"+n+"-"+i).text(r):t("#"+n+"-"+i).html(r)})},noQueryServer:b,linkify:function(t,e,n){e=void 0===e?t:e,n=void 0===n?t:n;var r=document.createElement("a");r.href=t;var i=document.createElement("span"),o=document.createElement("span");return i.classList.add("d-lg-none"),o.classList.add("d-none","d-lg-inline-block"),i.textContent=e,o.textContent=n,r.appendChild(i),r.appendChild(o),r},listify:function(t){var e,n,r,i,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return 0===t.length?"":1!==t.length||o?((e=(r=document.createElement("ul")).classList).add.apply(e,y(a)),l()(t,function(t){n=document.createElement("li"),"string"==typeof t?(i=document.createTextNode(t),n.appendChild(i)):n.appendChild(t),r.appendChild(n)}),r):t[0]},monospaceify:function(t,e){var n,r;for(n=0;n"+e[n]+""));return t},prettyNumberify:function(t){return l()(t,function(e,n){"number"==typeof e&&(t[n]=e.toLocaleString())}),t},readCookie:function(t){for(var e=t+"=",n=document.cookie.split(";"),r=0;r2&&void 0!==arguments[2]?arguments[2]:[],r=document.getElementById(e),i=document.createElement("tbody");r.appendChild(i),l()(t,function(t){var e=document.createElement("tr");l()(t,function(t,r){var i=document.createElement("td");n.includes(r)&&("string"==typeof t||"object"===m(t)?t=[t,"tablesaw-center"]:Array.isArray(t)&&(t[1]="".concat(t[1]," tablesaw-center"))),"string"==typeof t?i.textContent=t:Array.isArray(t)?("string"==typeof t[0]?i.textContent=t[0]:i.appendChild(t[0]),i.classList=t[1]):i.appendChild(t),e.appendChild(i)}),i.appendChild(e)})},toLocalTime:function(t,e){return void 0===e?d()(t).format("LLL"):d()(t,e).format("LLL")},urlParse:function(t){var e=document.createElement("a");return e.href=t,e.protocol&&i()(t.toLowerCase(),"http")||(a()(t,":443")?e.href="https://"+t:e.href="http://"+t),{fragment:e.hash,host:e.hostname,path:e.pathname,port:e.port,query:e.search,scheme:e.protocol}}}}).call(this,n(1))},function(t,e,n){var r; +var Observatory=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=200)}([function(t,e,n){var r=n(4),i=n(24),o=n(16),a=n(17),s=n(25),l=function(t,e,n){var c,u,h,d,f=t&l.F,p=t&l.G,g=t&l.S,v=t&l.P,m=t&l.B,y=p?r:g?r[e]||(r[e]={}):(r[e]||{}).prototype,b=p?i:i[e]||(i[e]={}),w=b.prototype||(b.prototype={});for(c in p&&(n=e),n)h=((u=!f&&y&&void 0!==y[c])?y:n)[c],d=m&&u?s(h,r):v&&"function"==typeof h?s(Function.call,h):h,y&&a(y,c,h,t&l.U),b[c]!=h&&o(b,c,d),v&&w[c]!=h&&(w[c]=h)};r.core=i,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,t.exports=l},function(t,e,n){"use strict";(function(t){var r=n(193),i=n.n(r),o=n(11),a=n.n(o),s=n(10),l=n.n(s),c=n(194),u=n.n(c),h=n(37),d=n.n(h),f=(n(443),n(195)),p=n.n(f),g=n(7),v=n.n(g);function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1&&void 0!==arguments[1]?arguments[1]:24,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:24,r=document.createElement("template");return r.innerHTML=u.a[t].toSVG({width:e,height:n}).trim(),r.content.firstChild},getTarget:function(){return b?window.location.pathname.split("/").slice(-1)[0]:w("host")},insertGrade:function(e,n){var r=e.substr(0,1),i=t("#"+n+"-grade-container"),o=t("#"+n+"-grade-letter"),a=t("#"+n+"-grade-modifier");switch(e){case"check-mark":r=v.a.character_mappings.checkmark,i.toggleClass("grade-a");break;case"up-arrow":r=v.a.character_mappings.uparrow,i.toggleClass("grade-a");break;case"x-mark":r=v.a.character_mappings.xmark,i.toggleClass("grade-f");break;case"Insecure":r="F",i.toggleClass("grade-f");break;case"Old (Backwards Compatible)":i.toggleClass("grade-f");break;case"Intermediate":r=v.a.character_mappings.latini,i.toggleClass("grade-a").toggleClass("grade-i");break;case"Modern":i.toggleClass("grade-a");break;case"Non-compliant":r="?",i.toggleClass("grade-e");break;default:i.toggleClass("grade-"+r.toLowerCase())}if(o.html(r),2===e.length)if(i.toggleClass("grade-with-modifier"),a.text(e.substr(1,1)),"+"===e[1])switch(r){case"A":a.addClass("grade-with-modifier-narrow");break;case"C":a.addClass("grade-with-modifier-wide")}else a.addClass("grade-with-modifier-narrow")},insertResults:function(e,n){l()(e,function(r,i){"string"==typeof e[i]?t("#"+n+"-"+i).text(r):t("#"+n+"-"+i).html(r)})},noQueryServer:b,linkify:function(t,e,n){e=void 0===e?t:e,n=void 0===n?t:n;var r=document.createElement("a");r.href=t;var i=document.createElement("span"),o=document.createElement("span");return i.classList.add("d-lg-none"),o.classList.add("d-none","d-lg-inline-block"),i.textContent=e,o.textContent=n,r.appendChild(i),r.appendChild(o),r},listify:function(t){var e,n,r,i,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return 0===t.length?"":1!==t.length||o?((e=(r=document.createElement("ul")).classList).add.apply(e,y(a)),l()(t,function(t){n=document.createElement("li"),"string"==typeof t?(i=document.createTextNode(t),n.appendChild(i)):n.appendChild(t),r.appendChild(n)}),r):t[0]},monospaceify:function(t,e){var n,r;for(n=0;n"+e[n]+""));return t},prettyNumberify:function(t){return l()(t,function(e,n){"number"==typeof e&&(t[n]=e.toLocaleString())}),t},readCookie:function(t){for(var e=t+"=",n=document.cookie.split(";"),r=0;r2&&void 0!==arguments[2]?arguments[2]:[],r=document.getElementById(e),i=document.createElement("tbody");r.appendChild(i),l()(t,function(t){var e=document.createElement("tr");l()(t,function(t,r){var i=document.createElement("td");n.includes(r)&&("string"==typeof t||"object"===m(t)?t=[t,"tablesaw-center"]:Array.isArray(t)&&(t[1]="".concat(t[1]," tablesaw-center"))),"string"==typeof t?i.textContent=t:Array.isArray(t)?("string"==typeof t[0]?i.textContent=t[0]:i.appendChild(t[0]),i.classList=t[1]):i.appendChild(t),e.appendChild(i)}),i.appendChild(e)})},toLocalTime:function(t,e){return void 0===e?d()(t).format("LLL"):d()(t,e).format("LLL")},urlParse:function(t){var e=document.createElement("a");return e.href=t,e.protocol&&i()(t.toLowerCase(),"http")||(a()(t,":443")?e.href="https://"+t:e.href="http://"+t),{fragment:e.hash,host:e.hostname,path:e.pathname,port:e.port,query:e.search,scheme:e.protocol}}}}).call(this,n(2))},function(t,e,n){var r; /*! * jQuery JavaScript Library v3.4.1 * https://jquery.com/ @@ -36,27 +36,27 @@ var Observatory=function(t){var e={};function n(r){if(e[r])return e[r].exports;v * * Date: 2019-04-08 */ -function(t){var e,n,r,i,o,a,s,l,c,u,h,d,f,p,g,v,m,y,b,w="sizzle"+1*new Date,_=t.document,x=0,k=0,S=lt(),M=lt(),T=lt(),C=lt(),z=function(t,e){return t===e&&(h=!0),0},L={}.hasOwnProperty,D=[],E=D.pop,P=D.push,A=D.push,O=D.slice,V=function(t,e){for(var n=0,r=t.length;n+~]|"+F+")"+F+"*"),B=new RegExp(F+"|>"),Y=new RegExp(R),$=new RegExp("^"+I+"$"),Z={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+R),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+F+"*(even|odd|(([+-]|)(\\d*)n|)"+F+"*(?:([+-]|)"+F+"*(\\d+)|))"+F+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+F+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+F+"*((?:-\\d)?\\d*)"+F+"*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,tt=/[+~]/,et=new RegExp("\\\\([\\da-f]{1,6}"+F+"?|("+F+")|.)","ig"),nt=function(t,e,n){var r="0x"+e-65536;return r!=r||n?e:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},rt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,it=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},ot=function(){d()},at=wt(function(t){return!0===t.disabled&&"fieldset"===t.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{A.apply(D=O.call(_.childNodes),_.childNodes),D[_.childNodes.length].nodeType}catch(t){A={apply:D.length?function(t,e){P.apply(t,O.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}function st(t,e,r,i){var o,s,c,u,h,p,m,y=e&&e.ownerDocument,x=e?e.nodeType:9;if(r=r||[],"string"!=typeof t||!t||1!==x&&9!==x&&11!==x)return r;if(!i&&((e?e.ownerDocument||e:_)!==f&&d(e),e=e||f,g)){if(11!==x&&(h=J.exec(t)))if(o=h[1]){if(9===x){if(!(c=e.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(y&&(c=y.getElementById(o))&&b(e,c)&&c.id===o)return r.push(c),r}else{if(h[2])return A.apply(r,e.getElementsByTagName(t)),r;if((o=h[3])&&n.getElementsByClassName&&e.getElementsByClassName)return A.apply(r,e.getElementsByClassName(o)),r}if(n.qsa&&!C[t+" "]&&(!v||!v.test(t))&&(1!==x||"object"!==e.nodeName.toLowerCase())){if(m=t,y=e,1===x&&B.test(t)){for((u=e.getAttribute("id"))?u=u.replace(rt,it):e.setAttribute("id",u=w),s=(p=a(t)).length;s--;)p[s]="#"+u+" "+bt(p[s]);m=p.join(","),y=tt.test(t)&&mt(e.parentNode)||e}try{return A.apply(r,y.querySelectorAll(m)),r}catch(e){C(t,!0)}finally{u===w&&e.removeAttribute("id")}}}return l(t.replace(q,"$1"),e,r,i)}function lt(){var t=[];return function e(n,i){return t.push(n+" ")>r.cacheLength&&delete e[t.shift()],e[n+" "]=i}}function ct(t){return t[w]=!0,t}function ut(t){var e=f.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ht(t,e){for(var n=t.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=e}function dt(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function ft(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function pt(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function gt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&at(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function vt(t){return ct(function(e){return e=+e,ct(function(n,r){for(var i,o=t([],n.length,e),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function mt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=st.support={},o=st.isXML=function(t){var e=t.namespaceURI,n=(t.ownerDocument||t).documentElement;return!G.test(e||n&&n.nodeName||"HTML")},d=st.setDocument=function(t){var e,i,a=t?t.ownerDocument||t:_;return a!==f&&9===a.nodeType&&a.documentElement?(p=(f=a).documentElement,g=!o(f),_!==f&&(i=f.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ot,!1):i.attachEvent&&i.attachEvent("onunload",ot)),n.attributes=ut(function(t){return t.className="i",!t.getAttribute("className")}),n.getElementsByTagName=ut(function(t){return t.appendChild(f.createComment("")),!t.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(f.getElementsByClassName),n.getById=ut(function(t){return p.appendChild(t).id=w,!f.getElementsByName||!f.getElementsByName(w).length}),n.getById?(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){return t.getAttribute("id")===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n=e.getElementById(t);return n?[n]:[]}}):(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},m=[],v=[],(n.qsa=K.test(f.querySelectorAll))&&(ut(function(t){p.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+F+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||v.push("\\["+F+"*(?:value|"+H+")"),t.querySelectorAll("[id~="+w+"-]").length||v.push("~="),t.querySelectorAll(":checked").length||v.push(":checked"),t.querySelectorAll("a#"+w+"+*").length||v.push(".#.+[+~]")}),ut(function(t){t.innerHTML="";var e=f.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&v.push("name"+F+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),p.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=K.test(y=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&ut(function(t){n.disconnectedMatch=y.call(t,"*"),y.call(t,"[s!='']:x"),m.push("!=",R)}),v=v.length&&new RegExp(v.join("|")),m=m.length&&new RegExp(m.join("|")),e=K.test(p.compareDocumentPosition),b=e||K.test(p.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},z=e?function(t,e){if(t===e)return h=!0,0;var r=!t.compareDocumentPosition-!e.compareDocumentPosition;return r||(1&(r=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===r?t===f||t.ownerDocument===_&&b(_,t)?-1:e===f||e.ownerDocument===_&&b(_,e)?1:u?V(u,t)-V(u,e):0:4&r?-1:1)}:function(t,e){if(t===e)return h=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,a=[t],s=[e];if(!i||!o)return t===f?-1:e===f?1:i?-1:o?1:u?V(u,t)-V(u,e):0;if(i===o)return dt(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?dt(a[r],s[r]):a[r]===_?-1:s[r]===_?1:0},f):f},st.matches=function(t,e){return st(t,null,null,e)},st.matchesSelector=function(t,e){if((t.ownerDocument||t)!==f&&d(t),n.matchesSelector&&g&&!C[e+" "]&&(!m||!m.test(e))&&(!v||!v.test(e)))try{var r=y.call(t,e);if(r||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){C(e,!0)}return st(e,f,null,[t]).length>0},st.contains=function(t,e){return(t.ownerDocument||t)!==f&&d(t),b(t,e)},st.attr=function(t,e){(t.ownerDocument||t)!==f&&d(t);var i=r.attrHandle[e.toLowerCase()],o=i&&L.call(r.attrHandle,e.toLowerCase())?i(t,e,!g):void 0;return void 0!==o?o:n.attributes||!g?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},st.escape=function(t){return(t+"").replace(rt,it)},st.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},st.uniqueSort=function(t){var e,r=[],i=0,o=0;if(h=!n.detectDuplicates,u=!n.sortStable&&t.slice(0),t.sort(z),h){for(;e=t[o++];)e===t[o]&&(i=r.push(o));for(;i--;)t.splice(r[i],1)}return u=null,t},i=st.getText=function(t){var e,n="",r=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=i(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[r++];)n+=i(e);return n},(r=st.selectors={cacheLength:50,createPseudo:ct,match:Z,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,nt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,nt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||st.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&st.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return Z.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&Y.test(n)&&(e=a(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,nt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=S[t+" "];return e||(e=new RegExp("(^|"+F+")"+t+"("+F+"|$)"))&&S(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,e,n){return function(r){var i=st.attr(r,t);return null==i?"!="===e:!e||(i+="","="===e?i===n:"!="===e?i!==n:"^="===e?n&&0===i.indexOf(n):"*="===e?n&&i.indexOf(n)>-1:"$="===e?n&&i.slice(-n.length)===n:"~="===e?(" "+i.replace(j," ")+" ").indexOf(n)>-1:"|="===e&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),a="last"!==t.slice(-4),s="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,l){var c,u,h,d,f,p,g=o!==a?"nextSibling":"previousSibling",v=e.parentNode,m=s&&e.nodeName.toLowerCase(),y=!l&&!s,b=!1;if(v){if(o){for(;g;){for(d=e;d=d[g];)if(s?d.nodeName.toLowerCase()===m:1===d.nodeType)return!1;p=g="only"===t&&!p&&"nextSibling"}return!0}if(p=[a?v.firstChild:v.lastChild],a&&y){for(b=(f=(c=(u=(h=(d=v)[w]||(d[w]={}))[d.uniqueID]||(h[d.uniqueID]={}))[t]||[])[0]===x&&c[1])&&c[2],d=f&&v.childNodes[f];d=++f&&d&&d[g]||(b=f=0)||p.pop();)if(1===d.nodeType&&++b&&d===e){u[t]=[x,f,b];break}}else if(y&&(b=f=(c=(u=(h=(d=e)[w]||(d[w]={}))[d.uniqueID]||(h[d.uniqueID]={}))[t]||[])[0]===x&&c[1]),!1===b)for(;(d=++f&&d&&d[g]||(b=f=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==m:1!==d.nodeType)||!++b||(y&&((u=(h=d[w]||(d[w]={}))[d.uniqueID]||(h[d.uniqueID]={}))[t]=[x,b]),d!==e)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(t,e){var n,i=r.pseudos[t]||r.setFilters[t.toLowerCase()]||st.error("unsupported pseudo: "+t);return i[w]?i(e):i.length>1?(n=[t,t,"",e],r.setFilters.hasOwnProperty(t.toLowerCase())?ct(function(t,n){for(var r,o=i(t,e),a=o.length;a--;)t[r=V(t,o[a])]=!(n[r]=o[a])}):function(t){return i(t,0,n)}):i}},pseudos:{not:ct(function(t){var e=[],n=[],r=s(t.replace(q,"$1"));return r[w]?ct(function(t,e,n,i){for(var o,a=r(t,null,i,[]),s=t.length;s--;)(o=a[s])&&(t[s]=!(e[s]=o))}):function(t,i,o){return e[0]=t,r(e,null,o,n),e[0]=null,!n.pop()}}),has:ct(function(t){return function(e){return st(t,e).length>0}}),contains:ct(function(t){return t=t.replace(et,nt),function(e){return(e.textContent||i(e)).indexOf(t)>-1}}),lang:ct(function(t){return $.test(t||"")||st.error("unsupported lang: "+t),t=t.replace(et,nt).toLowerCase(),function(e){var n;do{if(n=g?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:gt(!1),disabled:gt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!r.pseudos.empty(t)},header:function(t){return X.test(t.nodeName)},input:function(t){return Q.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:vt(function(){return[0]}),last:vt(function(t,e){return[e-1]}),eq:vt(function(t,e,n){return[n<0?n+e:n]}),even:vt(function(t,e){for(var n=0;ne?e:n;--r>=0;)t.push(r);return t}),gt:vt(function(t,e,n){for(var r=n<0?n+e:n;++r1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function xt(t,e,n,r,i){for(var o,a=[],s=0,l=t.length,c=null!=e;s-1&&(o[c]=!(a[c]=h))}}else m=xt(m===a?m.splice(p,m.length):m),i?i(null,a,m,l):A.apply(a,m)})}function St(t){for(var e,n,i,o=t.length,a=r.relative[t[0].type],s=a||r.relative[" "],l=a?1:0,u=wt(function(t){return t===e},s,!0),h=wt(function(t){return V(e,t)>-1},s,!0),d=[function(t,n,r){var i=!a&&(r||n!==c)||((e=n).nodeType?u(t,n,r):h(t,n,r));return e=null,i}];l1&&_t(d),l>1&&bt(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(q,"$1"),n,l0,i=t.length>0,o=function(o,a,s,l,u){var h,p,v,m=0,y="0",b=o&&[],w=[],_=c,k=o||i&&r.find.TAG("*",u),S=x+=null==_?1:Math.random()||.1,M=k.length;for(u&&(c=a===f||a||u);y!==M&&null!=(h=k[y]);y++){if(i&&h){for(p=0,a||h.ownerDocument===f||(d(h),s=!g);v=t[p++];)if(v(h,a||f,s)){l.push(h);break}u&&(x=S)}n&&((h=!v&&h)&&m--,o&&b.push(h))}if(m+=y,n&&y!==m){for(p=0;v=e[p++];)v(b,w,a,s);if(o){if(m>0)for(;y--;)b[y]||w[y]||(w[y]=E.call(l));w=xt(w)}A.apply(l,w),u&&!o&&w.length>0&&m+e.length>1&&st.uniqueSort(l)}return u&&(x=S,c=_),b};return n?ct(o):o}(o,i))).selector=t}return s},l=st.select=function(t,e,n,i){var o,l,c,u,h,d="function"==typeof t&&t,f=!i&&a(t=d.selector||t);if(n=n||[],1===f.length){if((l=f[0]=f[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===e.nodeType&&g&&r.relative[l[1].type]){if(!(e=(r.find.ID(c.matches[0].replace(et,nt),e)||[])[0]))return n;d&&(e=e.parentNode),t=t.slice(l.shift().value.length)}for(o=Z.needsContext.test(t)?0:l.length;o--&&(c=l[o],!r.relative[u=c.type]);)if((h=r.find[u])&&(i=h(c.matches[0].replace(et,nt),tt.test(l[0].type)&&mt(e.parentNode)||e))){if(l.splice(o,1),!(t=i.length&&bt(l)))return A.apply(n,i),n;break}}return(d||s(t,f))(i,e,!g,n,!e||tt.test(t)&&mt(e.parentNode)||e),n},n.sortStable=w.split("").sort(z).join("")===w,n.detectDuplicates=!!h,d(),n.sortDetached=ut(function(t){return 1&t.compareDocumentPosition(f.createElement("fieldset"))}),ut(function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")})||ht("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),n.attributes&&ut(function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||ht("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),ut(function(t){return null==t.getAttribute("disabled")})||ht(H,function(t,e,n){var r;if(!n)return!0===t[e]?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null}),st}(n);k.find=T,k.expr=T.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=T.uniqueSort,k.text=T.getText,k.isXMLDoc=T.isXML,k.contains=T.contains,k.escapeSelector=T.escape;var C=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&k(t).is(n))break;r.push(t)}return r},z=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},L=k.expr.match.needsContext;function D(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var E=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function P(t,e,n){return y(e)?k.grep(t,function(t,r){return!!e.call(t,r,t)!==n}):e.nodeType?k.grep(t,function(t){return t===e!==n}):"string"!=typeof e?k.grep(t,function(t){return h.call(e,t)>-1!==n}):k.filter(e,t,n)}k.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?k.find.matchesSelector(r,t)?[r]:[]:k.find.matches(t,k.grep(e,function(t){return 1===t.nodeType}))},k.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(k(t).filter(function(){for(e=0;e1?k.uniqueSort(n):n},filter:function(t){return this.pushStack(P(this,t||[],!1))},not:function(t){return this.pushStack(P(this,t||[],!0))},is:function(t){return!!P(this,"string"==typeof t&&L.test(t)?k(t):t||[],!1).length}});var A,O=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(t,e,n){var r,i;if(!t)return this;if(n=n||A,"string"==typeof t){if(!(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:O.exec(t))||!r[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(r[1]){if(e=e instanceof k?e[0]:e,k.merge(this,k.parseHTML(r[1],e&&e.nodeType?e.ownerDocument||e:a,!0)),E.test(r[1])&&k.isPlainObject(e))for(r in e)y(this[r])?this[r](e[r]):this.attr(r,e[r]);return this}return(i=a.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):y(t)?void 0!==n.ready?n.ready(t):t(k):k.makeArray(t,this)}).prototype=k.fn,A=k(a);var V=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function F(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}k.fn.extend({has:function(t){var e=k(t,this),n=e.length;return this.filter(function(){for(var t=0;t-1:1===n.nodeType&&k.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?k.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?h.call(k(t),this[0]):h.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),k.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return C(t,"parentNode")},parentsUntil:function(t,e,n){return C(t,"parentNode",n)},next:function(t){return F(t,"nextSibling")},prev:function(t){return F(t,"previousSibling")},nextAll:function(t){return C(t,"nextSibling")},prevAll:function(t){return C(t,"previousSibling")},nextUntil:function(t,e,n){return C(t,"nextSibling",n)},prevUntil:function(t,e,n){return C(t,"previousSibling",n)},siblings:function(t){return z((t.parentNode||{}).firstChild,t)},children:function(t){return z(t.firstChild)},contents:function(t){return void 0!==t.contentDocument?t.contentDocument:(D(t,"template")&&(t=t.content||t),k.merge([],t.childNodes))}},function(t,e){k.fn[t]=function(n,r){var i=k.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=k.filter(r,i)),this.length>1&&(H[t]||k.uniqueSort(i),V.test(t)&&i.reverse()),this.pushStack(i)}});var I=/[^\x20\t\r\n\f]+/g;function N(t){return t}function R(t){throw t}function j(t,e,n,r){var i;try{t&&y(i=t.promise)?i.call(t).done(e).fail(n):t&&y(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}k.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return k.each(t.match(I)||[],function(t,n){e[n]=!0}),e}(t):k.extend({},t);var e,n,r,i,o=[],a=[],s=-1,l=function(){for(i=i||t.once,r=e=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--}),this},has:function(t){return t?k.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=[t,(n=n||[]).slice?n.slice():n],a.push(n),e||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},k.extend({Deferred:function(t){var e=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return i.then(null,t)},pipe:function(){var t=arguments;return k.Deferred(function(n){k.each(e,function(e,r){var i=y(t[r[4]])&&t[r[4]];o[r[1]](function(){var t=i&&i.apply(this,arguments);t&&y(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[t]:arguments)})}),t=null}).promise()},then:function(t,r,i){var o=0;function a(t,e,r,i){return function(){var s=this,l=arguments,c=function(){var n,c;if(!(t=o&&(r!==R&&(s=void 0,l=[n]),e.rejectWith(s,l))}};t?u():(k.Deferred.getStackHook&&(u.stackTrace=k.Deferred.getStackHook()),n.setTimeout(u))}}return k.Deferred(function(n){e[0][3].add(a(0,n,y(i)?i:N,n.notifyWith)),e[1][3].add(a(0,n,y(t)?t:N)),e[2][3].add(a(0,n,y(r)?r:R))}).promise()},promise:function(t){return null!=t?k.extend(t,i):i}},o={};return k.each(e,function(t,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add(function(){r=s},e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,r=Array(n),i=l.call(arguments),o=k.Deferred(),a=function(t){return function(n){r[t]=this,i[t]=arguments.length>1?l.call(arguments):n,--e||o.resolveWith(r,i)}};if(e<=1&&(j(t,o.done(a(n)).resolve,o.reject,!e),"pending"===o.state()||y(i[n]&&i[n].then)))return o.then();for(;n--;)j(i[n],a(n),o.reject);return o.promise()}});var q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&q.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},k.readyException=function(t){n.setTimeout(function(){throw t})};var W=k.Deferred();function U(){a.removeEventListener("DOMContentLoaded",U),n.removeEventListener("load",U),k.ready()}k.fn.ready=function(t){return W.then(t).catch(function(t){k.readyException(t)}),this},k.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--k.readyWait:k.isReady)||(k.isReady=!0,!0!==t&&--k.readyWait>0||W.resolveWith(a,[k]))}}),k.ready.then=W.then,"complete"===a.readyState||"loading"!==a.readyState&&!a.documentElement.doScroll?n.setTimeout(k.ready):(a.addEventListener("DOMContentLoaded",U),n.addEventListener("load",U));var B=function(t,e,n,r,i,o,a){var s=0,l=t.length,c=null==n;if("object"===x(n))for(s in i=!0,n)B(t,e,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,y(r)||(a=!0),c&&(a?(e.call(t,r),e=null):(c=e,e=function(t,e,n){return c.call(k(t),n)})),e))for(;s1,null,!0)},removeData:function(t){return this.each(function(){J.remove(this,t)})}}),k.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=K.get(t,e),n&&(!r||Array.isArray(n)?r=K.access(t,e,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=k.queue(t,e),r=n.length,i=n.shift(),o=k._queueHooks(t,e);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,function(){k.dequeue(t,e)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return K.get(t,n)||K.access(t,n,{empty:k.Callbacks("once memory").add(function(){K.remove(t,[e+"queue",n])})})}}),k.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length\x20\t\r\n\f]*)/i,mt=/^$|^module$|\/(?:java|ecma)script/i,yt={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function bt(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&D(t,e)?k.merge([t],n):n}function wt(t,e){for(var n=0,r=t.length;n-1)i&&i.push(o);else if(c=st(o),a=bt(h.appendChild(o),"script"),c&&wt(a),n)for(u=0;o=a[u++];)mt.test(o.type||"")&&n.push(o);return h}_t=a.createDocumentFragment().appendChild(a.createElement("div")),(xt=a.createElement("input")).setAttribute("type","radio"),xt.setAttribute("checked","checked"),xt.setAttribute("name","t"),_t.appendChild(xt),m.checkClone=_t.cloneNode(!0).cloneNode(!0).lastChild.checked,_t.innerHTML="",m.noCloneChecked=!!_t.cloneNode(!0).lastChild.defaultValue;var Mt=/^key/,Tt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ct=/^([^.]*)(?:\.(.+)|)/;function zt(){return!0}function Lt(){return!1}function Dt(t,e){return t===function(){try{return a.activeElement}catch(t){}}()==("focus"===e)}function Et(t,e,n,r,i,o){var a,s;if("object"==typeof e){for(s in"string"!=typeof n&&(r=r||n,n=void 0),e)Et(t,s,n,r,e[s],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Lt;else if(!i)return t;return 1===o&&(a=i,(i=function(t){return k().off(t),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),t.each(function(){k.event.add(this,e,i,r,n)})}function Pt(t,e,n){n?(K.set(t,e,!1),k.event.add(t,e,{namespace:!1,handler:function(t){var r,i,o=K.get(this,e);if(1&t.isTrigger&&this[e]){if(o.length)(k.event.special[e]||{}).delegateType&&t.stopPropagation();else if(o=l.call(arguments),K.set(this,e,o),r=n(this,e),this[e](),o!==(i=K.get(this,e))||r?K.set(this,e,!1):i={},o!==i)return t.stopImmediatePropagation(),t.preventDefault(),i.value}else o.length&&(K.set(this,e,{value:k.event.trigger(k.extend(o[0],k.Event.prototype),o.slice(1),this)}),t.stopImmediatePropagation())}})):void 0===K.get(t,e)&&k.event.add(t,e,zt)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,l,c,u,h,d,f,p,g,v=K.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(at,i),n.guid||(n.guid=k.guid++),(l=v.events)||(l=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(I)||[""]).length;c--;)f=g=(s=Ct.exec(e[c])||[])[1],p=(s[2]||"").split(".").sort(),f&&(h=k.event.special[f]||{},f=(i?h.delegateType:h.bindType)||f,h=k.event.special[f]||{},u=k.extend({type:f,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:p.join(".")},o),(d=l[f])||((d=l[f]=[]).delegateCount=0,h.setup&&!1!==h.setup.call(t,r,p,a)||t.addEventListener&&t.addEventListener(f,a)),h.add&&(h.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,u):d.push(u),k.event.global[f]=!0)},remove:function(t,e,n,r,i){var o,a,s,l,c,u,h,d,f,p,g,v=K.hasData(t)&&K.get(t);if(v&&(l=v.events)){for(c=(e=(e||"").match(I)||[""]).length;c--;)if(f=g=(s=Ct.exec(e[c])||[])[1],p=(s[2]||"").split(".").sort(),f){for(h=k.event.special[f]||{},d=l[f=(r?h.delegateType:h.bindType)||f]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;o--;)u=d[o],!i&&g!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(d.splice(o,1),u.selector&&d.delegateCount--,h.remove&&h.remove.call(t,u));a&&!d.length&&(h.teardown&&!1!==h.teardown.call(t,p,v.handle)||k.removeEvent(t,f,v.handle),delete l[f])}else for(f in l)k.event.remove(t,f+e[c],n,r,!0);k.isEmptyObject(l)&&K.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,a,s=k.event.fix(t),l=new Array(arguments.length),c=(K.get(this,"events")||{})[s.type]||[],u=k.event.special[s.type]||{};for(l[0]=s,e=1;e=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(o=[],a={},n=0;n-1:k.find(i,this,null,[c]).length),a[i]&&o.push(r);o.length&&s.push({elem:c,handlers:o})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,Ot=/\s*$/g;function Ft(t,e){return D(t,"table")&&D(11!==e.nodeType?e:e.firstChild,"tr")&&k(t).children("tbody")[0]||t}function It(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function Nt(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function Rt(t,e){var n,r,i,o,a,s,l,c;if(1===e.nodeType){if(K.hasData(t)&&(o=K.access(t),a=K.set(e,o),c=o.events))for(i in delete a.handle,a.events={},c)for(n=0,r=c[i].length;n1&&"string"==typeof p&&!m.checkClone&&Vt.test(p))return t.each(function(i){var o=t.eq(i);g&&(e[0]=p.call(this,i,o.html())),qt(o,e,n,r)});if(d&&(o=(i=St(e,t[0].ownerDocument,!1,t,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(a=k.map(bt(i,"script"),It)).length;h")},clone:function(t,e,n){var r,i,o,a,s=t.cloneNode(!0),l=st(t);if(!(m.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||k.isXMLDoc(t)))for(a=bt(s),r=0,i=(o=bt(t)).length;r0&&wt(a,!l&&bt(t,"script")),s},cleanData:function(t){for(var e,n,r,i=k.event.special,o=0;void 0!==(n=t[o]);o++)if(Q(n)){if(e=n[K.expando]){if(e.events)for(r in e.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,e.handle);n[K.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(t){return Wt(this,t,!0)},remove:function(t){return Wt(this,t)},text:function(t){return B(this,function(t){return void 0===t?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return qt(this,arguments,function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ft(this,t).appendChild(t)})},prepend:function(){return qt(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=Ft(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return qt(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return qt(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(k.cleanData(bt(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return k.clone(this,t,e)})},html:function(t){return B(this,function(t){var e=this[0]||{},n=0,r=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!Ot.test(t)&&!yt[(vt.exec(t)||["",""])[1].toLowerCase()]){t=k.htmlPrefilter(t);try{for(;n=0&&(l+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-o-l-s-.5))||0),l}function oe(t,e,n){var r=Bt(t),i=(!m.boxSizingReliable()||n)&&"border-box"===k.css(t,"boxSizing",!1,r),o=i,a=$t(t,e,r),s="offset"+e[0].toUpperCase()+e.slice(1);if(Ut.test(a)){if(!n)return a;a="auto"}return(!m.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(t,"display",!1,r))&&t.getClientRects().length&&(i="border-box"===k.css(t,"boxSizing",!1,r),(o=s in t)&&(a=t[s])),(a=parseFloat(a)||0)+ie(t,e,n||(i?"border":"content"),o,r,a)+"px"}function ae(t,e,n,r,i){return new ae.prototype.init(t,e,n,r,i)}k.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=$t(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,n,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,o,a,s=G(e),l=te.test(e),c=t.style;if(l||(e=Kt(s)),a=k.cssHooks[e]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(t,!1,r))?i:c[e];"string"==(o=typeof n)&&(i=it.exec(n))&&i[1]&&(n=ht(t,e,i),o="number"),null!=n&&n==n&&("number"!==o||l||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),m.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),a&&"set"in a&&void 0===(n=a.set(t,n,r))||(l?c.setProperty(e,n):c[e]=n))}},css:function(t,e,n,r){var i,o,a,s=G(e);return te.test(e)||(e=Kt(s)),(a=k.cssHooks[e]||k.cssHooks[s])&&"get"in a&&(i=a.get(t,!0,n)),void 0===i&&(i=$t(t,e,r)),"normal"===i&&e in ne&&(i=ne[e]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(t,e){k.cssHooks[e]={get:function(t,n,r){if(n)return!Jt.test(k.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?oe(t,e,r):ut(t,ee,function(){return oe(t,e,r)})},set:function(t,n,r){var i,o=Bt(t),a=!m.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===k.css(t,"boxSizing",!1,o),l=r?ie(t,e,r,s,o):0;return s&&a&&(l-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(o[e])-ie(t,e,"border",!1,o)-.5)),l&&(i=it.exec(n))&&"px"!==(i[3]||"px")&&(t.style[e]=n,n=k.css(t,e)),re(0,n,l)}}}),k.cssHooks.marginLeft=Zt(m.reliableMarginLeft,function(t,e){if(e)return(parseFloat($t(t,"marginLeft"))||t.getBoundingClientRect().left-ut(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(t,e){k.cssHooks[t+e]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[t+ot[r]+e]=o[r]||o[r-2]||o[0];return i}},"margin"!==t&&(k.cssHooks[t+e].set=re)}),k.fn.extend({css:function(t,e){return B(this,function(t,e,n){var r,i,o={},a=0;if(Array.isArray(e)){for(r=Bt(t),i=e.length;a1)}}),k.Tween=ae,ae.prototype={constructor:ae,init:function(t,e,n,r,i,o){this.elem=t,this.prop=n,this.easing=i||k.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var t=ae.propHooks[this.prop];return t&&t.get?t.get(this):ae.propHooks._default.get(this)},run:function(t){var e,n=ae.propHooks[this.prop];return this.options.duration?this.pos=e=k.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):ae.propHooks._default.set(this),this}},ae.prototype.init.prototype=ae.prototype,ae.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=k.css(t.elem,t.prop,""))&&"auto"!==e?e:0},set:function(t){k.fx.step[t.prop]?k.fx.step[t.prop](t):1!==t.elem.nodeType||!k.cssHooks[t.prop]&&null==t.elem.style[Kt(t.prop)]?t.elem[t.prop]=t.now:k.style(t.elem,t.prop,t.now+t.unit)}}},ae.propHooks.scrollTop=ae.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},k.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},k.fx=ae.prototype.init,k.fx.step={};var se,le,ce=/^(?:toggle|show|hide)$/,ue=/queueHooks$/;function he(){le&&(!1===a.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(he):n.setTimeout(he,k.fx.interval),k.fx.tick())}function de(){return n.setTimeout(function(){se=void 0}),se=Date.now()}function fe(t,e){var n,r=0,i={height:t};for(e=e?1:0;r<4;r+=2-e)i["margin"+(n=ot[r])]=i["padding"+n]=t;return e&&(i.opacity=i.width=t),i}function pe(t,e,n){for(var r,i=(ge.tweeners[e]||[]).concat(ge.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(t){return this.each(function(){k.removeAttr(this,t)})}}),k.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?k.prop(t,e,n):(1===o&&k.isXMLDoc(t)||(i=k.attrHooks[e.toLowerCase()]||(k.expr.match.bool.test(e)?ve:void 0)),void 0!==n?null===n?void k.removeAttr(t,e):i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:(t.setAttribute(e,n+""),n):i&&"get"in i&&null!==(r=i.get(t,e))?r:null==(r=k.find.attr(t,e))?void 0:r)},attrHooks:{type:{set:function(t,e){if(!m.radioValue&&"radio"===e&&D(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,r=0,i=e&&e.match(I);if(i&&1===t.nodeType)for(;n=i[r++];)t.removeAttribute(n)}}),ve={set:function(t,e,n){return!1===e?k.removeAttr(t,n):t.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(t,e){var n=me[e]||k.find.attr;me[e]=function(t,e,r){var i,o,a=e.toLowerCase();return r||(o=me[a],me[a]=i,i=null!=n(t,e,r)?a:null,me[a]=o),i}});var ye=/^(?:input|select|textarea|button)$/i,be=/^(?:a|area)$/i;function we(t){return(t.match(I)||[]).join(" ")}function _e(t){return t.getAttribute&&t.getAttribute("class")||""}function xe(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(I)||[]}k.fn.extend({prop:function(t,e){return B(this,k.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[k.propFix[t]||t]})}}),k.extend({prop:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(t)||(e=k.propFix[e]||e,i=k.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){var e=k.find.attr(t,"tabindex");return e?parseInt(e,10):ye.test(t.nodeName)||be.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),m.optSelected||(k.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,l=0;if(y(t))return this.each(function(e){k(this).addClass(t.call(this,e,_e(this)))});if((e=xe(t)).length)for(;n=this[l++];)if(i=_e(n),r=1===n.nodeType&&" "+we(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=we(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,l=0;if(y(t))return this.each(function(e){k(this).removeClass(t.call(this,e,_e(this)))});if(!arguments.length)return this.attr("class","");if((e=xe(t)).length)for(;n=this[l++];)if(i=_e(n),r=1===n.nodeType&&" "+we(i)+" "){for(a=0;o=e[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=we(r))&&n.setAttribute("class",s)}return this},toggleClass:function(t,e){var n=typeof t,r="string"===n||Array.isArray(t);return"boolean"==typeof e&&r?e?this.addClass(t):this.removeClass(t):y(t)?this.each(function(n){k(this).toggleClass(t.call(this,n,_e(this),e),e)}):this.each(function(){var e,i,o,a;if(r)for(i=0,o=k(this),a=xe(t);e=a[i++];)o.hasClass(e)?o.removeClass(e):o.addClass(e);else void 0!==t&&"boolean"!==n||((e=_e(this))&&K.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":K.get(this,"__className__")||""))})},hasClass:function(t){var e,n,r=0;for(e=" "+t+" ";n=this[r++];)if(1===n.nodeType&&(" "+we(_e(n))+" ").indexOf(e)>-1)return!0;return!1}});var ke=/\r/g;k.fn.extend({val:function(t){var e,n,r,i=this[0];return arguments.length?(r=y(t),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?t.call(this,n,k(this).val()):t)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=k.map(i,function(t){return null==t?"":t+""})),(e=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))})):i?(e=k.valHooks[i.type]||k.valHooks[i.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(ke,""):null==n?"":n:void 0}}),k.extend({valHooks:{option:{get:function(t){var e=k.find.attr(t,"value");return null!=e?e:we(k.text(t))}},select:{get:function(t){var e,n,r,i=t.options,o=t.selectedIndex,a="select-one"===t.type,s=a?null:[],l=a?o+1:i.length;for(r=o<0?l:a?o:0;r-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=k.inArray(k(t).val(),e)>-1}},m.checkOn||(k.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})}),m.focusin="onfocusin"in n;var Se=/^(?:focusinfocus|focusoutblur)$/,Me=function(t){t.stopPropagation()};k.extend(k.event,{trigger:function(t,e,r,i){var o,s,l,c,u,h,d,f,g=[r||a],v=p.call(t,"type")?t.type:t,m=p.call(t,"namespace")?t.namespace.split("."):[];if(s=f=l=r=r||a,3!==r.nodeType&&8!==r.nodeType&&!Se.test(v+k.event.triggered)&&(v.indexOf(".")>-1&&(m=v.split("."),v=m.shift(),m.sort()),u=v.indexOf(":")<0&&"on"+v,(t=t[k.expando]?t:new k.Event(v,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=m.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),e=null==e?[t]:k.makeArray(e,[t]),d=k.event.special[v]||{},i||!d.trigger||!1!==d.trigger.apply(r,e))){if(!i&&!d.noBubble&&!b(r)){for(c=d.delegateType||v,Se.test(c+v)||(s=s.parentNode);s;s=s.parentNode)g.push(s),l=s;l===(r.ownerDocument||a)&&g.push(l.defaultView||l.parentWindow||n)}for(o=0;(s=g[o++])&&!t.isPropagationStopped();)f=s,t.type=o>1?c:d.bindType||v,(h=(K.get(s,"events")||{})[t.type]&&K.get(s,"handle"))&&h.apply(s,e),(h=u&&s[u])&&h.apply&&Q(s)&&(t.result=h.apply(s,e),!1===t.result&&t.preventDefault());return t.type=v,i||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(g.pop(),e)||!Q(r)||u&&y(r[v])&&!b(r)&&((l=r[u])&&(r[u]=null),k.event.triggered=v,t.isPropagationStopped()&&f.addEventListener(v,Me),r[v](),t.isPropagationStopped()&&f.removeEventListener(v,Me),k.event.triggered=void 0,l&&(r[u]=l)),t.result}},simulate:function(t,e,n){var r=k.extend(new k.Event,n,{type:t,isSimulated:!0});k.event.trigger(r,null,e)}}),k.fn.extend({trigger:function(t,e){return this.each(function(){k.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return k.event.trigger(t,e,n,!0)}}),m.focusin||k.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){k.event.simulate(e,t.target,k.event.fix(t))};k.event.special[e]={setup:function(){var r=this.ownerDocument||this,i=K.access(r,e);i||r.addEventListener(t,n,!0),K.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=K.access(r,e)-1;i?K.access(r,e,i):(r.removeEventListener(t,n,!0),K.remove(r,e))}}});var Te=n.location,Ce=Date.now(),ze=/\?/;k.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+t),e};var Le=/\[\]$/,De=/\r?\n/g,Ee=/^(?:submit|button|image|reset|file)$/i,Pe=/^(?:input|select|textarea|keygen)/i;function Ae(t,e,n,r){var i;if(Array.isArray(e))k.each(e,function(e,i){n||Le.test(t)?r(t,i):Ae(t+"["+("object"==typeof i&&null!=i?e:"")+"]",i,n,r)});else if(n||"object"!==x(e))r(t,e);else for(i in e)Ae(t+"["+i+"]",e[i],n,r)}k.param=function(t,e){var n,r=[],i=function(t,e){var n=y(e)?e():e;r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(null==t)return"";if(Array.isArray(t)||t.jquery&&!k.isPlainObject(t))k.each(t,function(){i(this.name,this.value)});else for(n in t)Ae(n,t[n],e,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=k.prop(this,"elements");return t?k.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!k(this).is(":disabled")&&Pe.test(this.nodeName)&&!Ee.test(t)&&(this.checked||!gt.test(t))}).map(function(t,e){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(t){return{name:e.name,value:t.replace(De,"\r\n")}}):{name:e.name,value:n.replace(De,"\r\n")}}).get()}});var Oe=/%20/g,Ve=/#.*$/,He=/([?&])_=[^&]*/,Fe=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ie=/^(?:GET|HEAD)$/,Ne=/^\/\//,Re={},je={},qe="*/".concat("*"),We=a.createElement("a");function Ue(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var r,i=0,o=e.toLowerCase().match(I)||[];if(y(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(t[r]=t[r]||[]).unshift(n)):(t[r]=t[r]||[]).push(n)}}function Be(t,e,n,r){var i={},o=t===je;function a(s){var l;return i[s]=!0,k.each(t[s]||[],function(t,s){var c=s(e,n,r);return"string"!=typeof c||o||i[c]?o?!(l=c):void 0:(e.dataTypes.unshift(c),a(c),!1)}),l}return a(e.dataTypes[0])||!i["*"]&&a("*")}function Ye(t,e){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((i[n]?t:r||(r={}))[n]=e[n]);return r&&k.extend(!0,t,r),t}We.href=Te.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Te.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Te.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":qe,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?Ye(Ye(t,k.ajaxSettings),e):Ye(k.ajaxSettings,t)},ajaxPrefilter:Ue(Re),ajaxTransport:Ue(je),ajax:function(t,e){"object"==typeof t&&(e=t,t=void 0),e=e||{};var r,i,o,s,l,c,u,h,d,f,p=k.ajaxSetup({},e),g=p.context||p,v=p.context&&(g.nodeType||g.jquery)?k(g):k.event,m=k.Deferred(),y=k.Callbacks("once memory"),b=p.statusCode||{},w={},_={},x="canceled",S={readyState:0,getResponseHeader:function(t){var e;if(u){if(!s)for(s={};e=Fe.exec(o);)s[e[1].toLowerCase()+" "]=(s[e[1].toLowerCase()+" "]||[]).concat(e[2]);e=s[t.toLowerCase()+" "]}return null==e?null:e.join(", ")},getAllResponseHeaders:function(){return u?o:null},setRequestHeader:function(t,e){return null==u&&(t=_[t.toLowerCase()]=_[t.toLowerCase()]||t,w[t]=e),this},overrideMimeType:function(t){return null==u&&(p.mimeType=t),this},statusCode:function(t){var e;if(t)if(u)S.always(t[S.status]);else for(e in t)b[e]=[b[e],t[e]];return this},abort:function(t){var e=t||x;return r&&r.abort(e),M(0,e),this}};if(m.promise(S),p.url=((t||p.url||Te.href)+"").replace(Ne,Te.protocol+"//"),p.type=e.method||e.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(I)||[""],null==p.crossDomain){c=a.createElement("a");try{c.href=p.url,c.href=c.href,p.crossDomain=We.protocol+"//"+We.host!=c.protocol+"//"+c.host}catch(t){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=k.param(p.data,p.traditional)),Be(Re,p,e,S),u)return S;for(d in(h=k.event&&p.global)&&0==k.active++&&k.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Ie.test(p.type),i=p.url.replace(Ve,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Oe,"+")):(f=p.url.slice(i.length),p.data&&(p.processData||"string"==typeof p.data)&&(i+=(ze.test(i)?"&":"?")+p.data,delete p.data),!1===p.cache&&(i=i.replace(He,"$1"),f=(ze.test(i)?"&":"?")+"_="+Ce+++f),p.url=i+f),p.ifModified&&(k.lastModified[i]&&S.setRequestHeader("If-Modified-Since",k.lastModified[i]),k.etag[i]&&S.setRequestHeader("If-None-Match",k.etag[i])),(p.data&&p.hasContent&&!1!==p.contentType||e.contentType)&&S.setRequestHeader("Content-Type",p.contentType),S.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+qe+"; q=0.01":""):p.accepts["*"]),p.headers)S.setRequestHeader(d,p.headers[d]);if(p.beforeSend&&(!1===p.beforeSend.call(g,S,p)||u))return S.abort();if(x="abort",y.add(p.complete),S.done(p.success),S.fail(p.error),r=Be(je,p,e,S)){if(S.readyState=1,h&&v.trigger("ajaxSend",[S,p]),u)return S;p.async&&p.timeout>0&&(l=n.setTimeout(function(){S.abort("timeout")},p.timeout));try{u=!1,r.send(w,M)}catch(t){if(u)throw t;M(-1,t)}}else M(-1,"No Transport");function M(t,e,a,s){var c,d,f,w,_,x=e;u||(u=!0,l&&n.clearTimeout(l),r=void 0,o=s||"",S.readyState=t>0?4:0,c=t>=200&&t<300||304===t,a&&(w=function(t,e,n){for(var r,i,o,a,s=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=t.mimeType||e.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){l.unshift(i);break}if(l[0]in n)o=l[0];else{for(i in n){if(!l[0]||t.converters[i+" "+l[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==l[0]&&l.unshift(o),n[o]}(p,S,a)),w=function(t,e,n,r){var i,o,a,s,l,c={},u=t.dataTypes.slice();if(u[1])for(a in t.converters)c[a.toLowerCase()]=t.converters[a];for(o=u.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!l&&r&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=o,o=u.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(a=c[l+" "+o]||c["* "+o]))for(i in c)if((s=i.split(" "))[1]===o&&(a=c[l+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[i]:!0!==c[i]&&(o=s[0],u.unshift(s[1]));break}if(!0!==a)if(a&&t.throws)e=a(e);else try{e=a(e)}catch(t){return{state:"parsererror",error:a?t:"No conversion from "+l+" to "+o}}}return{state:"success",data:e}}(p,w,S,c),c?(p.ifModified&&((_=S.getResponseHeader("Last-Modified"))&&(k.lastModified[i]=_),(_=S.getResponseHeader("etag"))&&(k.etag[i]=_)),204===t||"HEAD"===p.type?x="nocontent":304===t?x="notmodified":(x=w.state,d=w.data,c=!(f=w.error))):(f=x,!t&&x||(x="error",t<0&&(t=0))),S.status=t,S.statusText=(e||x)+"",c?m.resolveWith(g,[d,x,S]):m.rejectWith(g,[S,x,f]),S.statusCode(b),b=void 0,h&&v.trigger(c?"ajaxSuccess":"ajaxError",[S,p,c?d:f]),y.fireWith(g,[S,x]),h&&(v.trigger("ajaxComplete",[S,p]),--k.active||k.event.trigger("ajaxStop")))}return S},getJSON:function(t,e,n){return k.get(t,e,n,"json")},getScript:function(t,e){return k.get(t,void 0,e,"script")}}),k.each(["get","post"],function(t,e){k[e]=function(t,n,r,i){return y(n)&&(i=i||r,r=n,n=void 0),k.ajax(k.extend({url:t,type:e,dataType:i,data:n,success:r},k.isPlainObject(t)&&t))}}),k._evalUrl=function(t,e){return k.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(t){k.globalEval(t,e)}})},k.fn.extend({wrapAll:function(t){var e;return this[0]&&(y(t)&&(t=t.call(this[0])),e=k(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return y(t)?this.each(function(e){k(this).wrapInner(t.call(this,e))}):this.each(function(){var e=k(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=y(t);return this.each(function(n){k(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(t){return this.parent(t).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(t){return!k.expr.pseudos.visible(t)},k.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var $e={0:200,1223:204},Ze=k.ajaxSettings.xhr();m.cors=!!Ze&&"withCredentials"in Ze,m.ajax=Ze=!!Ze,k.ajaxTransport(function(t){var e,r;if(m.cors||Ze&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);e=function(t){return function(){e&&(e=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===t?s.abort():"error"===t?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o($e[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=e(),r=s.onerror=s.ontimeout=e("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){e&&r()})},e=e("abort");try{s.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),k.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return k.globalEval(t),t}}}),k.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),k.ajaxTransport("script",function(t){var e,n;if(t.crossDomain||t.scriptAttrs)return{send:function(r,i){e=k(" + diff --git a/dist/faq/index.html b/dist/faq/index.html index 3963be0..72a52f8 100644 --- a/dist/faq/index.html +++ b/dist/faq/index.html @@ -14,7 +14,7 @@ Mozilla Observatory - +
- + diff --git a/dist/index.html b/dist/index.html index 8137af2..f573c25 100644 --- a/dist/index.html +++ b/dist/index.html @@ -14,7 +14,7 @@ Mozilla Observatory - +
- + diff --git a/dist/statistics/index.html b/dist/statistics/index.html index 5cb53db..5b4ffba 100644 --- a/dist/statistics/index.html +++ b/dist/statistics/index.html @@ -14,7 +14,7 @@ Mozilla Observatory - +
- + diff --git a/dist/terms/index.html b/dist/terms/index.html index 5affe8b..acfee14 100644 --- a/dist/terms/index.html +++ b/dist/terms/index.html @@ -14,7 +14,7 @@ Mozilla Observatory - +
- + diff --git a/src/css/_tablesaw.scss b/src/css/_tablesaw.scss index 0b15017..a33f6b3 100644 --- a/src/css/_tablesaw.scss +++ b/src/css/_tablesaw.scss @@ -10,9 +10,7 @@ $tablesaw-width: 39.9375em; #server-headers-table tr td:nth-child(1), #tls-certificate-table tr td:nth-child(1), - #tls-misc-table tr td:nth-child(1), - #ssh-misc-table tr td:nth-child(1), - #ssh-version-table tr td:nth-child(1) { + #tls-misc-table tr td:nth-child(1) { white-space: nowrap; } } diff --git a/src/css/httpobs.css b/src/css/httpobs.css index e08a098..d134170 100644 --- a/src/css/httpobs.css +++ b/src/css/httpobs.css @@ -240,9 +240,7 @@ div.progress-lg + div.row { /* test name */ #server-headers-table tr td:nth-child(1), #tls-certificate-table tr td:nth-child(1), -#tls-misc-table tr td:nth-child(1), -#ssh-misc-table tr td:nth-child(1), -#ssh-version-table tr td:nth-child(1) { +#tls-misc-table tr td:nth-child(1) { font-weight: 600; padding-right: 1em; } @@ -326,10 +324,6 @@ div.progress-lg + div.row { margin-bottom: 0; } -#ssh-recommendations-table ul { - margin-bottom: 0; -} - /* qualys third party test */ #qualys-logo { margin: 1.5em .75em -1em 0; @@ -399,7 +393,7 @@ sup, sub { font-weight: bold; } -#next-steps a, #test-scores a, #ssh-summary a { +#next-steps a, #test-scores a { border-bottom: 1px dotted #4582ec; text-decoration: none; } diff --git a/src/js/constants.js b/src/js/constants.js index b5582ef..8951392 100644 --- a/src/js/constants.js +++ b/src/js/constants.js @@ -21,7 +21,6 @@ module.exports = { title: 'Mozilla Observatory', urls: { api: 'https://http-observatory.security.mozilla.org/api/v1/', - ssh: 'https://sshscan.rubidus.com/api/v1/', tls: 'https://tls-observatory.services.mozilla.com/api/v1/', }, } diff --git a/src/js/index.js b/src/js/index.js index 36e32d5..4859e67 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -91,15 +91,7 @@ const Observatory = { const successCallback = function f(data) { if (data.error !== undefined && data.error !== 'site down') { - // if it's an IP address error, let them click through - if (data.error === 'invalid-hostname-ip') { - $('#scan-alert-ip-link').attr('href', window.location.href + 'analyze/' + url.host + '#ssh'); - $('#scan-alert-ip-address').text(url.host); - $('#scan-alert-ip').removeClass('alert-hidden'); - } else { - Observatories.HTTP.displayError(data.text); - } - + Observatories.HTTP.displayError(data.text); return false; } @@ -171,14 +163,6 @@ const Observatory = { Observatories.HTTP.load(); Observatories.TLS.load(); - // enable auto scans from the non-Observatory domain - if ((window.location.hostname !== constants.domain) || (window.location.hash === '#ssh')) { - Observatories.SSH.load(); - } else { - $('#ssh-scan-initiator-btn').on('click', Observatories.SSH.load); - - } - // let's check the third parties if requested if (utils.getQueryParameter('third-party') !== 'false') { thirdParty.load(); diff --git a/src/js/observatories/observatories.js b/src/js/observatories/observatories.js index 087d581..41cdcc6 100644 --- a/src/js/observatories/observatories.js +++ b/src/js/observatories/observatories.js @@ -1,6 +1,5 @@ import HTTP from './http.js'; -import SSH from './ssh.js'; import TLS from './tls.js'; -export default { HTTP, SSH, TLS }; +export default { HTTP, TLS }; diff --git a/src/js/observatories/ssh.js b/src/js/observatories/ssh.js deleted file mode 100644 index 1e4c539..0000000 --- a/src/js/observatories/ssh.js +++ /dev/null @@ -1,152 +0,0 @@ -import $ from 'jquery'; -import { forEach, without } from 'lodash'; -import Tablesaw from '../../../node_modules/tablesaw/dist/tablesaw.jquery.js' - -import constants from '../constants.js'; -import utils from '../utils.js'; - - -const state = { - count: 0 -}; - - -const insert = async () => { - // convenience variable - const results = state.results; - - // combine the compression results - var compression = results.compression_algorithms_client_to_server.concat( - results.compression_algorithms_client_to_server); - - var authMethods = results.auth_methods.join(', ') - .replace('password publickey', 'passwords + public key') - .replace('publickey', 'public key'); - - // Duplicate host key message - var duplicateHostKeyIpMsg = 'Yes, ' + results.duplicate_host_key_ips.length.toString() + ' other known IP address'; - if (results.duplicate_host_key_ips.length > 1) { - duplicateHostKeyIpMsg += 'es'; - } - - state.output = { - auth_methods: authMethods, - compliance_recommendations: [], - compliant: results.compliance.compliant ? 'Yes' : 'No', - compression: without(compression, ['none']).length > 0 ? 'Available' : 'Unavailable', - duplicate_host_keys: results.duplicate_host_key_ips.length > 0 ? duplicateHostKeyIpMsg : 'No', - end_time_l: utils.toLocalTime(results.end_time.replace(" +0000", "+0000"), "YYYY-MM-DD HH:mm:ssZ"), - grade: results.compliance.grade, - hostname: results.hostname, - ip: results.ip, - os_cpe: results.os_cpe ? results.os_cpe : 'Unknown', - port: results.port, - server_banner: results.server_banner ? results.server_banner : 'Unknown', - ssh_lib_cpe: results.ssh_lib_cpe ? results.ssh_lib_cpe : 'Unknown', - uuid: state.uuid.split('-')[0] - }; - - // Grade is either pass or fail in this case - // grade = results.compliance.compliant ? 'check-mark' : 'x-mark'; - forEach(results.compliance.recommendations, function f(recommendation) { - // convert it to HTML - var parsedRecommendation = recommendation.split(': '); - - if (parsedRecommendation.length > 1) { - // each argument in something to remove is a technical thing; turn those into - recommendation = parsedRecommendation[1].split(', ').reduce(function r(accum, rec) { - accum.append($('', { text: rec })).append($('', { text: ', ' })); - return accum; - }, $('')); - - // remove the final comma - recommendation.children().last().remove(); - - // put the recommendation text back in there - recommendation.prepend($('', { text: parsedRecommendation[0] + ': ' })); - - // take the node out from a jquery collection - recommendation = recommendation[0]; - } - - state.output.compliance_recommendations.push( - [utils.listify([recommendation], true)]); - }); - - // insert the recommendations table if need be - if (state.output.compliance_recommendations.length > 0) { - utils.tableify(state.output.compliance_recommendations, 'ssh-recommendations-table'); - } else { - $('#ssh-no-recommendations').removeClass('d-none'); - } - - // link to the JSON results - state.output.uuid = utils.linkify(`${constants.urls.ssh}scan/results?uuid=${state.uuid}`, state.output.uuid, state.output.uuid) - - utils.insertGrade(results.compliance.grade, 'ssh'); - utils.insertResults(state.output, 'ssh'); - utils.showResults('ssh'); - - // initialize the tablesaws - Tablesaw.init($('#ssh-misc-table')); - Tablesaw.init($('#ssh-version-table')); - - $('#ssh-progress-bar-container').remove(); - $('#ssh-results').removeClass('d-none'); -}; - - -export const load = async () => { - const target = utils.getTarget(); - - // remove the initiate scan button and show the status bar - $('#ssh-scan-initiator').slideUp(); - $('#ssh-progress-bar-container').removeClass('d-none'); - - // if we haven't initiated a scan - if (state.uuid === undefined) { - $.ajax({ - method: 'POST', - error: function e() { utils.errorResults('Unable to connect', 'ssh'); }, - success: loadSuccessCallbackInitialize, - url: constants.urls.ssh + 'scan?target=' + target - }); - } else { // scan initiated, waiting on results - $.ajax({ - method: 'GET', - error: function e() { utils.errorResults('Scan failed', 'ssh'); }, - success: loadSuccessCallbackAwaitingResults, - url: constants.urls.ssh + 'scan/results?uuid=' + state.uuid - }); - } -}; - - -const loadSuccessCallbackInitialize = async (data) => { - if (data.uuid === undefined) { - utils.errorResults('Unknown error', 'ssh'); - } else { - state.uuid = data.uuid; - await utils.sleep(1500); - load(); - } -}; - - -const loadSuccessCallbackAwaitingResults = async (data) => { - // if we have ssh_scan_version, we can move onto putting it into the page - if (data.status === 'COMPLETED') { - state.results = data; - insert(); - } else if (state.count >= 15 || state.status === 'ERRORED') { // if we haven't haven't gotten results for 30 seconds, let's give up - $('#ssh-progress-bar-container').remove(); - $('#ssh-scanner-alert').removeClass('d-none'); - } else { - state.count += 1; - await utils.sleep(2000); - load(); - } -}; - - -export default { load, state }; \ No newline at end of file diff --git a/src/js/statistics.js b/src/js/statistics.js index e034a4d..088142a 100644 --- a/src/js/statistics.js +++ b/src/js/statistics.js @@ -112,48 +112,6 @@ const insertHTTP = async stats => { }; -const insertSSH = async data => { - // saving these for reference - state.ssh = data; - - var colors = constants.colors; - var grades = data.GRADE_REPORT; - var stats = { - numScans: sum(Object.values(data.SCAN_STATES)), - numSuccessfulScans: data.SCAN_STATES.COMPLETED - } - - new Chart($('#ssh-observatory-chart-grade-distribution'), { - type: 'bar', - data: { - labels: ['A', 'B', 'C', 'D', 'F'], - datasets: [{ - label: ' ', - data: [grades.A, grades.B, grades.C, grades.D, grades.F], - backgroundColor: [colors.A, colors.B, colors.C, colors.D, colors.F] - }] - }, - options: { - legend: { - display: false - }, - tooltips: { - callbacks: { - label: function(tooltip, data) { - return ' ' + tooltip.yLabel.toLocaleString(); - }, - title: function() { return; } - }, - enabled: true - } - } - }); - - // insert in the miscellaneous statistics - utils.insertResults(utils.prettyNumberify(stats), 'ssh-observatory-stats'); -}; - - const insertTLS = async stats => { // saving these for data state.tls = stats; @@ -174,15 +132,6 @@ export const load = async () => { url: constants.urls.api + '__stats__' }); - // SSH Observatory - $.ajax({ - error: function e() { - // remove stats section - }, - success: function s(data) { insertSSH(data); }, - url: constants.urls.ssh + 'stats' - }); - $.ajax({ error: function e() { // remove stats section diff --git a/src/templates/analyze.html b/src/templates/analyze.html index 37370f7..d73f4b9 100644 --- a/src/templates/analyze.html +++ b/src/templates/analyze.html @@ -4,7 +4,6 @@ @@ -77,41 +76,6 @@ - -
-
- -
- - - - - - - <%= require ('mustache-loader!html-loader?interpolate!./partials/progress-bar.html')({id: 'ssh'}) %> - - -
- - <%= require ('html-loader!./analyze/ssh/scan-summary.html') %> - - - <%= require ('html-loader!./analyze/ssh/recommendations.html') %> - - - <%= require ('html-loader!./analyze/ssh/miscellaneous.html') %> - - - <%= require ('html-loader!./analyze/ssh/version-information.html') %> -
-
-

diff --git a/src/templates/analyze/ssh/miscellaneous.html b/src/templates/analyze/ssh/miscellaneous.html deleted file mode 100644 index 21277f5..0000000 --- a/src/templates/analyze/ssh/miscellaneous.html +++ /dev/null @@ -1,34 +0,0 @@ - -
-
- Miscellaneous -
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
Authentication Methods:
Compression:
Duplicate Host Keys:
-
-
-
diff --git a/src/templates/analyze/ssh/recommendations.html b/src/templates/analyze/ssh/recommendations.html deleted file mode 100644 index fae69eb..0000000 --- a/src/templates/analyze/ssh/recommendations.html +++ /dev/null @@ -1,15 +0,0 @@ - -
-
- Recommendations -
-
-
- -
-
-
- 🎉🎉🎉 We don't have any! Keep up the good work! 🎉🎉🎉 -
-
-
diff --git a/src/templates/analyze/ssh/scan-summary.html b/src/templates/analyze/ssh/scan-summary.html deleted file mode 100644 index 8c8d846..0000000 --- a/src/templates/analyze/ssh/scan-summary.html +++ /dev/null @@ -1,40 +0,0 @@ -
-
- Scan Summary -
- -
-
-
- - - - -
-
- - - - - - - - - - - - - - - - - - - - - -
Host: (:)
Scan ID #:
End Time:
  
Mozilla SSH Standards Compliant:
-
-
-
-
\ No newline at end of file diff --git a/src/templates/analyze/ssh/version-information.html b/src/templates/analyze/ssh/version-information.html deleted file mode 100644 index 7113f1e..0000000 --- a/src/templates/analyze/ssh/version-information.html +++ /dev/null @@ -1,30 +0,0 @@ - -
-
- Version Information -
-
-
- - - - - - - - - - - - - - - - - - - -
Server Banner:
Operating System Identifier:
SSH Library Identifier:
-
-
-
diff --git a/src/templates/index.html b/src/templates/index.html index 96cb79d..31831f7 100644 --- a/src/templates/index.html +++ b/src/templates/index.html @@ -15,7 +15,7 @@

diff --git a/src/templates/statistics.html b/src/templates/statistics.html index b9b79c3..053aa41 100644 --- a/src/templates/statistics.html +++ b/src/templates/statistics.html @@ -92,28 +92,6 @@

TLS Observatory

-

SSH Observatory

- -
- - - - - - - - - - - -
Number of Successfully Completed Scans
Number of Attempted Scans
-
- -
-

Grade Distribution

- -
- <%= require ('html-loader!./partials/footer.html') %>