From 0ebf9f0ec1001ef99ff02d9a7c00dbdc1055fc65 Mon Sep 17 00:00:00 2001
From: Build bot <zestedesavoir@gmail.com>
Date: Thu, 27 Oct 2016 11:24:40 +0000
Subject: [PATCH] Automatic front build

---
 dist/css/main.css                              |   3 +++
 dist/css/main.css.map                          |   1 +
 .../apple-touch-icon-114x114-precomposed.png   | Bin 0 -> 12553 bytes
 .../apple-touch-icon-144x144-precomposed.png   | Bin 0 -> 14838 bytes
 .../apple-touch-icon-57x57-precomposed.png     | Bin 0 -> 3071 bytes
 .../apple-touch-icon-72x72-precomposed.png     | Bin 0 -> 4511 bytes
 dist/images/apple-touch-icon-precomposed.png   | Bin 0 -> 3071 bytes
 dist/images/apple-touch-icon.png               | Bin 0 -> 3071 bytes
 dist/images/beta.png                           | Bin 0 -> 2121 bytes
 dist/images/favicon.png                        | Bin 0 -> 3071 bytes
 dist/images/home-clem-christmas.png            | Bin 0 -> 13255 bytes
 dist/images/home-clem-christmas@2x.png         | Bin 0 -> 38964 bytes
 dist/images/home-clem.png                      | Bin 0 -> 11550 bytes
 dist/images/home-clem@2x.png                   | Bin 0 -> 31430 bytes
 dist/images/logo-background.png                | Bin 0 -> 5121 bytes
 dist/images/logo-mobile.png                    | Bin 0 -> 2073 bytes
 dist/images/logo-mobile@2x.png                 | Bin 0 -> 6616 bytes
 dist/images/logo.png                           | Bin 0 -> 4769 bytes
 dist/images/logo@2x.png                        | Bin 0 -> 8402 bytes
 dist/images/sprite.png                         | Bin 0 -> 45644 bytes
 dist/images/sprite@2x.png                      | Bin 0 -> 104608 bytes
 dist/images/tutorials.png                      | Bin 0 -> 846 bytes
 dist/js/all.js                                 |  10 ++++++++++
 dist/js/all.js.map                             |   1 +
 dist/js/main.js                                |   3 +++
 dist/js/main.js.map                            |   1 +
 dist/js/vendors.js                             |   4 ++++
 dist/js/vendors.js.map                         |   1 +
 dist/smileys/ange.png                          | Bin 0 -> 583 bytes
 dist/smileys/angry.gif                         | Bin 0 -> 3523 bytes
 dist/smileys/blink.gif                         | Bin 0 -> 719 bytes
 dist/smileys/clin.png                          | Bin 0 -> 453 bytes
 dist/smileys/cthulhu.png                       | Bin 0 -> 253 bytes
 dist/smileys/diable.png                        | Bin 0 -> 473 bytes
 dist/smileys/heureux.png                       | Bin 0 -> 429 bytes
 dist/smileys/hihi.png                          | Bin 0 -> 437 bytes
 dist/smileys/huh.png                           | Bin 0 -> 447 bytes
 dist/smileys/langue.png                        | Bin 0 -> 451 bytes
 dist/smileys/magicien.png                      | Bin 0 -> 630 bytes
 dist/smileys/mechant.png                       | Bin 0 -> 440 bytes
 dist/smileys/ninja.png                         | Bin 0 -> 407 bytes
 dist/smileys/pinch.png                         | Bin 0 -> 433 bytes
 dist/smileys/pirate.png                        | Bin 0 -> 511 bytes
 dist/smileys/pleure.png                        | Bin 0 -> 457 bytes
 dist/smileys/rire.gif                          | Bin 0 -> 339 bytes
 dist/smileys/rouge.png                         | Bin 0 -> 605 bytes
 dist/smileys/siffle.png                        | Bin 0 -> 466 bytes
 dist/smileys/smile.png                         | Bin 0 -> 442 bytes
 dist/smileys/soleil.png                        | Bin 0 -> 425 bytes
 dist/smileys/triste.png                        | Bin 0 -> 444 bytes
 dist/smileys/unsure.gif                        | Bin 0 -> 513 bytes
 dist/smileys/waw.png                           | Bin 0 -> 570 bytes
 dist/smileys/zorro.png                         | Bin 0 -> 613 bytes
 53 files changed, 24 insertions(+)
 create mode 100644 dist/css/main.css
 create mode 100644 dist/css/main.css.map
 create mode 100644 dist/images/apple-touch-icon-114x114-precomposed.png
 create mode 100644 dist/images/apple-touch-icon-144x144-precomposed.png
 create mode 100644 dist/images/apple-touch-icon-57x57-precomposed.png
 create mode 100644 dist/images/apple-touch-icon-72x72-precomposed.png
 create mode 100644 dist/images/apple-touch-icon-precomposed.png
 create mode 100644 dist/images/apple-touch-icon.png
 create mode 100644 dist/images/beta.png
 create mode 100644 dist/images/favicon.png
 create mode 100644 dist/images/home-clem-christmas.png
 create mode 100644 dist/images/home-clem-christmas@2x.png
 create mode 100644 dist/images/home-clem.png
 create mode 100644 dist/images/home-clem@2x.png
 create mode 100644 dist/images/logo-background.png
 create mode 100644 dist/images/logo-mobile.png
 create mode 100644 dist/images/logo-mobile@2x.png
 create mode 100644 dist/images/logo.png
 create mode 100644 dist/images/logo@2x.png
 create mode 100644 dist/images/sprite.png
 create mode 100644 dist/images/sprite@2x.png
 create mode 100644 dist/images/tutorials.png
 create mode 100644 dist/js/all.js
 create mode 100644 dist/js/all.js.map
 create mode 100644 dist/js/main.js
 create mode 100644 dist/js/main.js.map
 create mode 100644 dist/js/vendors.js
 create mode 100644 dist/js/vendors.js.map
 create mode 100644 dist/smileys/ange.png
 create mode 100644 dist/smileys/angry.gif
 create mode 100644 dist/smileys/blink.gif
 create mode 100644 dist/smileys/clin.png
 create mode 100644 dist/smileys/cthulhu.png
 create mode 100644 dist/smileys/diable.png
 create mode 100644 dist/smileys/heureux.png
 create mode 100644 dist/smileys/hihi.png
 create mode 100644 dist/smileys/huh.png
 create mode 100644 dist/smileys/langue.png
 create mode 100644 dist/smileys/magicien.png
 create mode 100644 dist/smileys/mechant.png
 create mode 100644 dist/smileys/ninja.png
 create mode 100644 dist/smileys/pinch.png
 create mode 100644 dist/smileys/pirate.png
 create mode 100644 dist/smileys/pleure.png
 create mode 100644 dist/smileys/rire.gif
 create mode 100644 dist/smileys/rouge.png
 create mode 100644 dist/smileys/siffle.png
 create mode 100644 dist/smileys/smile.png
 create mode 100644 dist/smileys/soleil.png
 create mode 100644 dist/smileys/triste.png
 create mode 100644 dist/smileys/unsure.gif
 create mode 100644 dist/smileys/waw.png
 create mode 100644 dist/smileys/zorro.png

diff --git a/dist/css/main.css b/dist/css/main.css
new file mode 100644
index 0000000000..059f9f7931
--- /dev/null
+++ b/dist/css/main.css
@@ -0,0 +1,3 @@
+@charset "UTF-8";
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{height:100%;width:100%;font-size:62.5%;overflow-x:hidden;word-wrap:break-word}body{font-size:14px;font-size:1.4rem;line-height:1.7em;width:100%}.main-container,.page-container,body{background:#f7f7f7;min-height:100%}.content-container{margin-bottom:50px}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:0;background:#ccc;color:#000;padding:.2em 0;text-align:center;position:fixed;z-index:11;width:100%}.a11y{display:block;width:0;height:0;text-indent:-9999px}nav ol,nav ul{list-style:none}@media only screen and (min-width:960px){.page-container,body,html{height:100%}.main-container{min-height:calc(100% - 136px)}.wrapper{width:95%;margin:0 2.5%}}@media only screen and (max-width:959px){body{background:#222}body:not(.swipping) .mobile-menu,body:not(.swipping) .page-container{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform,-o-transform;transition-property:transform;transition-property:transform,-webkit-transform,-o-transform;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}body.swipping *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}}.table-wrapper{max-width:100%;overflow:auto}table{margin:15px 0;border-top:1px solid #ddd}table thead{background:#ddd;color:#084561}table td,table th{text-align:left;padding:5px 15px 5px 7px;border-right:1px solid #ddd}table td:first-child,table th:first-child{border-left:1px solid #ddd}table td p,table th p{margin:0}table tbody tr{background:#fdfdfd;border-bottom:1px solid #ddd}table tbody tr:nth-child(2n+1){background:#f7f7f7}table.fullwidth{width:100%}.diff_delta{overflow-x:auto;width:100%;margin:15px 0}.diff_delta table.diff{font-family:monospace,serif;font-size:.9em;border:2px solid gray;margin:0}.diff_delta table.diff tr{line-height:1em;border-bottom:none}.diff_delta table.diff .diff_header{background-color:#e0e0e0;padding:5px}.diff_delta table.diff td.diff_header{text-align:right}.diff_delta table.diff .diff_next{display:none}.diff_add{background-color:#afa}.diff_chg{background-color:#fff8ab}.diff_sub{background-color:#faa}.content-container form,.modals-container form{width:100%}.content-container form.content-wrapper,.modals-container form.content-wrapper{width:calc(100% - 20px);margin:0 10px}.content-container form p,.modals-container form p{position:relative}.content-container fieldset,.modals-container fieldset{border-top:1px solid #ddd;border-bottom:3px solid #ddd;background:#efefef;padding:0 4%}.content-container fieldset legend,.modals-container fieldset legend{padding:0 10px;border-top:1px solid #ddd;border-bottom:3px solid #ddd;background:#efefef}.content-container label,.modals-container label{display:block;color:#555;height:30px;line-height:30px}.content-container label .asteriskField,.modals-container label .asteriskField{color:#c0392b;margin-left:4px}.content-container .small-content-wrapper .asteriskField,.modals-container .small-content-wrapper .asteriskField{display:none}.content-container .form-error,.modals-container .form-error{display:block;font-size:13px;color:#c0392b}.content-container input,.content-container textarea,.modals-container input,.modals-container textarea{border:1px solid #d2d5d6}.content-container input:focus,.content-container textarea:focus,.modals-container input:focus,.modals-container textarea:focus{outline-color:#999}.content-container input.field-error,.content-container input:invalid,.content-container textarea.field-error,.content-container textarea:invalid,.modals-container input.field-error,.modals-container input:invalid,.modals-container textarea.field-error,.modals-container textarea:invalid{border-color:#c0392b}.content-container input.field-error:focus,.content-container input:invalid:focus,.content-container textarea.field-error:focus,.content-container textarea:invalid:focus,.modals-container input.field-error:focus,.modals-container input:invalid:focus,.modals-container textarea.field-error:focus,.modals-container textarea:invalid:focus{outline-color:#c0392b}.content-container input .disabled,.content-container input[disabled],.content-container textarea .disabled,.content-container textarea[disabled],.modals-container input .disabled,.modals-container input[disabled],.modals-container textarea .disabled,.modals-container textarea[disabled]{background:#ddd!important;color:#555}.content-container .btn,.content-container button,.content-container input,.content-container textarea,.modals-container .btn,.modals-container button,.modals-container input,.modals-container textarea{-webkit-appearance:none;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.content-container input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]),.modals-container input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]){width:calc(98% - 2px);padding:0 1%}.content-container textarea,.modals-container textarea{width:calc(98% - 2px);padding:10px 1%;font-family:monospace,serif}.content-container .btn,.content-container button,.content-container input,.modals-container .btn,.modals-container button,.modals-container input{display:block;height:30px}.content-container .btn.ico-after,.content-container button.ico-after,.content-container input.ico-after,.modals-container .btn.ico-after,.modals-container button.ico-after,.modals-container input.ico-after{padding-left:30px}.content-container .btn.ico-after:after,.content-container button.ico-after:after,.content-container input.ico-after:after,.modals-container .btn.ico-after:after,.modals-container button.ico-after:after,.modals-container input.ico-after:after{margin:12px 0 0 7px}.content-container .btn,.content-container [type=submit],.content-container button:not(.link),.modals-container .btn,.modals-container [type=submit],.modals-container button:not(.link){position:relative;height:40px;line-height:40px;cursor:pointer;color:#ddd;padding:0 15px;border:none;text-decoration:none;margin-left:1px;outline:none}.content-container .btn.submitted,.content-container [type=submit].submitted,.content-container button:not(.link).submitted,.modals-container .btn.submitted,.modals-container [type=submit].submitted,.modals-container button:not(.link).submitted{color:#555}.content-container .btn.submitted .line-loading,.content-container [type=submit].submitted .line-loading,.content-container button:not(.link).submitted .line-loading,.modals-container .btn.submitted .line-loading,.modals-container [type=submit].submitted .line-loading,.modals-container button:not(.link).submitted .line-loading{display:block;position:absolute;left:0;bottom:0;width:0;height:1px;background:#555;-webkit-animation:a linear 1s infinite;-o-animation:a linear 1s infinite;animation:a linear 1s infinite}.content-container .btn:not(.btn-holder),.content-container [type=submit]:not(.btn-holder),.content-container button:not(.link):not(.btn-holder),.modals-container .btn:not(.btn-holder),.modals-container [type=submit]:not(.btn-holder),.modals-container button:not(.link):not(.btn-holder){float:right}.content-container .btn-submit:not(.link),.content-container [type=submit]:not(.link),.modals-container .btn-submit:not(.link),.modals-container [type=submit]:not(.link){color:#fff;background:#48a200}.content-container .btn-submit:not(.link):not(.disabled):focus,.content-container .btn-submit:not(.link):not(.disabled):hover,.content-container .btn-submit:not(.link):not([disabled]):focus,.content-container .btn-submit:not(.link):not([disabled]):hover,.content-container [type=submit]:not(.link):not(.disabled):focus,.content-container [type=submit]:not(.link):not(.disabled):hover,.content-container [type=submit]:not(.link):not([disabled]):focus,.content-container [type=submit]:not(.link):not([disabled]):hover,.modals-container .btn-submit:not(.link):not(.disabled):focus,.modals-container .btn-submit:not(.link):not(.disabled):hover,.modals-container .btn-submit:not(.link):not([disabled]):focus,.modals-container .btn-submit:not(.link):not([disabled]):hover,.modals-container [type=submit]:not(.link):not(.disabled):focus,.modals-container [type=submit]:not(.link):not(.disabled):hover,.modals-container [type=submit]:not(.link):not([disabled]):focus,.modals-container [type=submit]:not(.link):not([disabled]):hover{background:#58c600}.content-container .btn-submit:not(.link).disabled.submitted,.content-container [type=submit]:not(.link).disabled.submitted,.modals-container .btn-submit:not(.link).disabled.submitted,.modals-container [type=submit]:not(.link).disabled.submitted{color:#48a200}.content-container .btn-submit:not(.link).disabled.submitted .line-loading,.content-container [type=submit]:not(.link).disabled.submitted .line-loading,.modals-container .btn-submit:not(.link).disabled.submitted .line-loading,.modals-container [type=submit]:not(.link).disabled.submitted .line-loading{background:#48a200}.content-container .btn-cancel:not(.link),.modals-container .btn-cancel:not(.link){background:#c0392b}.content-container .btn-cancel:not(.link):not(.disabled):focus,.content-container .btn-cancel:not(.link):not(.disabled):hover,.content-container .btn-cancel:not(.link):not([disabled]):focus,.content-container .btn-cancel:not(.link):not([disabled]):hover,.modals-container .btn-cancel:not(.link):not(.disabled):focus,.modals-container .btn-cancel:not(.link):not(.disabled):hover,.modals-container .btn-cancel:not(.link):not([disabled]):focus,.modals-container .btn-cancel:not(.link):not([disabled]):hover{background:#d34a3b}.content-container .btn-cancel:not(.link).disabled.submitted,.modals-container .btn-cancel:not(.link).disabled.submitted{color:#c0392b}.content-container .btn-cancel:not(.link).disabled.submitted .line-loading,.modals-container .btn-cancel:not(.link).disabled.submitted .line-loading{background:#c0392b}.content-container .btn-grey:not(.link),.modals-container .btn-grey:not(.link){background:#eee;color:#555}.content-container .btn-grey:not(.link):not(.disabled):focus,.content-container .btn-grey:not(.link):not(.disabled):hover,.content-container .btn-grey:not(.link):not([disabled]):focus,.content-container .btn-grey:not(.link):not([disabled]):hover,.modals-container .btn-grey:not(.link):not(.disabled):focus,.modals-container .btn-grey:not(.link):not(.disabled):hover,.modals-container .btn-grey:not(.link):not([disabled]):focus,.modals-container .btn-grey:not(.link):not([disabled]):hover{background:#ccc;color:#333}.content-container .btn-grey:not(.link).disabled.submitted,.modals-container .btn-grey:not(.link).disabled.submitted{color:#555}.content-container .btn-grey:not(.link).disabled.submitted .line-loading,.modals-container .btn-grey:not(.link).disabled.submitted .line-loading{background:#999}.content-container .disabled,.content-container [disabled],.modals-container .disabled,.modals-container [disabled]{cursor:default!important;background:#eee!important}.content-container .disabled:not(.submitted),.content-container [disabled]:not(.submitted),.modals-container .disabled:not(.submitted),.modals-container [disabled]:not(.submitted){color:#bbb!important}.content-container .btn-facebook:not(.link),.modals-container .btn-facebook:not(.link){background:#3b5998}.content-container .btn-facebook:not(.link):focus,.content-container .btn-facebook:not(.link):hover,.modals-container .btn-facebook:not(.link):focus,.modals-container .btn-facebook:not(.link):hover{background:#2d4373}.content-container .btn-twitter:not(.link),.modals-container .btn-twitter:not(.link){background:#4099ff}.content-container .btn-twitter:not(.link):focus,.content-container .btn-twitter:not(.link):hover,.modals-container .btn-twitter:not(.link):focus,.modals-container .btn-twitter:not(.link):hover{background:#0d7eff}.content-container .btn-google-plus:not(.link),.modals-container .btn-google-plus:not(.link){background:#d34836}.content-container .btn-google-plus:not(.link):focus,.content-container .btn-google-plus:not(.link):hover,.modals-container .btn-google-plus:not(.link):focus,.modals-container .btn-google-plus:not(.link):hover{background:#b03626}.content-container .btn-facebook,.content-container .btn-google-plus,.content-container .btn-twitter,.modals-container .btn-facebook,.modals-container .btn-google-plus,.modals-container .btn-twitter{width:50%;margin:0 auto;text-align:center}.content-container .btn-holder,.content-container .buttonHolder{margin-top:25px;min-height:40px}.wf-active .content-container textarea,.wf-active .modals-container textarea{font-family:Source Code Pro,monospace,serif}.main-container input[type=checkbox],.main-container input[type=radio],.modals-container input[type=checkbox],.modals-container input[type=radio]{float:left;margin-right:5px;height:15px;width:15px;border:1px solid #bbb;background:#fcfcfc;-webkit-transition:none;-o-transition:none;transition:none;position:relative}.main-container input[type=checkbox]:after,.main-container input[type=radio]:after,.modals-container input[type=checkbox]:after,.modals-container input[type=radio]:after{display:block;content:'';position:absolute;top:0;left:0;bottom:0;right:0;opacity:0;background-image:url(../images/sprite.png)}.main-container input[type=checkbox]:checked:after,.main-container input[type=radio]:checked:after,.modals-container input[type=checkbox]:checked:after,.modals-container input[type=radio]:checked:after{opacity:1}.main-container input[type=radio],.modals-container input[type=radio]{border-radius:50%}.main-container input[type=radio]:after,.modals-container input[type=radio]:after{background-position:0 -13px}.main-container input[type=checkbox]:after,.modals-container input[type=checkbox]:after{background-position:0 0}.main-container .checkbox,.main-container .radio,.modals-container .checkbox,.modals-container .radio{padding:10px 0}.main-container .checkbox input,.main-container .radio input,.modals-container .checkbox input,.modals-container .radio input{margin-top:8px}.main-container .controls .radio,.modals-container .controls .radio{padding-top:3px;padding-bottom:0}.main-container .checkbox-new-content,.modals-container .checkbox-new-content{padding:0}@media only screen and (min-width:960px){.content-container form.content-wrapper,.modals-container form.content-wrapper{margin:0;width:100%}}@-webkit-keyframes a{0%{width:0;left:0;right:inherit}49%{left:0;right:inherit}50%{width:100%;left:inherit;right:0}to{left:inherit;right:0}}@-o-keyframes a{0%{width:0;left:0;right:inherit}49%{left:0;right:inherit}50%{width:100%;left:inherit;right:0}to{left:inherit;right:0}}@keyframes a{0%{width:0;left:0;right:inherit}49%{left:0;right:inherit}50%{width:100%;left:inherit;right:0}to{left:inherit;right:0}}body,button,html,input,select,textarea{font-family:Segoe UI,Trebuchet MS,Helvetica,Helvetica Neue,Arial,sans-serif;color:#222}.no-js body,.no-js button,.no-js html,.no-js input,.no-js select,.no-js textarea,.wf-active body,.wf-active button,.wf-active html,.wf-active input,.wf-active select,.wf-active textarea{font-family:Source Sans Pro,Segoe UI,Trebuchet MS,Helvetica,Helvetica Neue,Arial,sans-serif}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}.link,a{color:#1088bf;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.link:hover,a:hover{color:#d68807;text-decoration:none}button.link{display:inline-block;background:none;border:none;text-decoration:underline}.ico{background-repeat:no-repeat;background-image:url(../images/sprite.png)}.ico-after{position:relative}.ico-after:after{content:" ";display:block;position:absolute;top:0;left:0;width:16px;height:16px;background-repeat:no-repeat;background-image:url(../images/sprite.png)}.ico-after.alert:after{background-position:0 -4146px}.ico-after.alert.blue:after{background-position:0 -4106px}.ico-after.alert.light:after{background-position:0 -2066px}.ico-after.arrow-left:after{background-position:0 -3786px}.ico-after.arrow-left.blue:after{background-position:0 -3546px}.ico-after.arrow-left.light:after{background-position:0 -3746px}.ico-after.arrow-right:after,.ico-after.offline:after{background-position:0 -3906px}.ico-after.arrow-right.blue:after,.ico-after.offline.blue:after{background-position:0 -3826px}.ico-after.arrow-right.light:after,.ico-after.offline.light:after{background-position:0 -3866px}.ico-after.beta:after{background-position:0 -4066px}.ico-after.beta.blue:after{background-position:0 -3986px}.ico-after.beta.light:after{background-position:0 -4026px}.ico-after.cite:after{background-position:0 -4306px}.ico-after.cite.blue:after{background-position:0 -4226px}.ico-after.cite.light:after{background-position:0 -4266px}.ico-after.cross:after{background-position:0 -4506px}.ico-after.cross.blue:after{background-position:0 -4346px}.ico-after.cross.red:after{background-position:0 -4426px}.ico-after.cross.light:after{background-position:0 -4386px}.ico-after.cross.white:after{background-position:0 -4466px}.ico-after.download:after{background-position:0 -4746px}.ico-after.download.blue:after{background-position:0 -4666px}.ico-after.download.light:after{background-position:0 -4706px}.ico-after.downvote:after{background-position:0 -3146px}.ico-after.downvote.voted:after{background-position:0 -3106px}.ico-after.edit:after{background-position:0 -4866px}.ico-after.edit.blue:after{background-position:0 -4786px}.ico-after.edit.light:after{background-position:0 -4826px}.ico-after.email:after{background-position:0 -666px}.ico-after.email.blue:after{background-position:0 -586px}.ico-after.email.light:after{background-position:0 -626px}.ico-after.diaspora:after{background-position:0 -4626px}.ico-after.diaspora.blue:after{background-position:0 -4546px}.ico-after.diaspora.light:after{background-position:0 -4586px}.ico-after.facebook:after{background-position:0 -826px}.ico-after.facebook.blue:after{background-position:0 -746px}.ico-after.facebook.light:after{background-position:0 -786px}.ico-after.foursquare:after{background-position:0 -986px}.ico-after.foursquare.blue:after{background-position:0 -906px}.ico-after.foursquare.light:after{background-position:0 -946px}.ico-after.gear:after{background-position:0 -1106px}.ico-after.gear.blue:after{background-position:0 -1026px}.ico-after.gear.light:after{background-position:0 -1066px}.ico-after.github:after{background-position:0 -1226px}.ico-after.github.blue:after{background-position:0 -1146px}.ico-after.github.light:after{background-position:0 -1186px}.ico-after.google-plus:after{background-position:0 -1346px}.ico-after.google-plus.blue:after{background-position:0 -1266px}.ico-after.google-plus.light:after{background-position:0 -1306px}.ico-after.help:after{background-position:0 -1466px}.ico-after.help.blue:after{background-position:0 -1386px}.ico-after.help.light:after{background-position:0 -1426px}.ico-after.hide:after{background-position:0 -1586px}.ico-after.hide.blue:after{background-position:0 -1506px}.ico-after.hide.light:after{background-position:0 -1546px}.ico-after.history:after{background-position:0 -1706px}.ico-after.history.blue:after{background-position:0 -1626px}.ico-after.history.light:after{background-position:0 -1666px}.ico-after.import:after{background-position:0 -1826px}.ico-after.import.blue:after{background-position:0 -1746px}.ico-after.import.light:after{background-position:0 -1786px}.ico-after.lock:after{background-position:0 -1986px}.ico-after.lock.blue:after{background-position:0 -1906px}.ico-after.lock.light:after{background-position:0 -1946px}.ico-after.more:after{background-position:0 -2186px}.ico-after.more.blue:after{background-position:0 -2106px}.ico-after.more.light:after{background-position:0 -2146px}.ico-after.move:after{background-position:0 -2306px}.ico-after.move.blue:after{background-position:0 -2226px}.ico-after.move.light:after{background-position:0 -2266px}.ico-after.pin:after{background-position:0 -2506px}.ico-after.pin.blue:after{background-position:0 -2426px}.ico-after.pin.light:after{background-position:0 -2466px}.ico-after.rss:after{background-position:0 -2746px}.ico-after.rss.blue:after{background-position:0 -2626px}.ico-after.rss.orange:after{background-position:0 -2706px}.ico-after.rss.light:after{background-position:0 -2666px}.ico-after.star:after{background-position:0 -3026px}.ico-after.star.yellow:after{background-position:0 -2986px}.ico-after.star.blue:after{background-position:0 -2826px}.ico-after.star.light:after{background-position:0 -2946px}.ico-after.tick:after{background-position:0 -3346px}.ico-after.tick.green:after{background-position:0 -3266px}.ico-after.tick.light:after{background-position:0 -3306px}.ico-after.twitter:after{background-position:0 -3506px}.ico-after.twitter.blue:after{background-position:0 -3426px}.ico-after.twitter.light:after{background-position:0 -3466px}.ico-after.unread:after{background-position:0 -74px}.ico-after.upvote:after{background-position:0 -3226px}.ico-after.upvote.voted:after{background-position:0 -3186px}.ico-after.online:after,.ico-after.view:after{background-position:0 -3666px}.ico-after.online.blue:after,.ico-after.view.blue:after{background-position:0 -3586px}.ico-after.online.light:after,.ico-after.view.light:after{background-position:0 -3626px}.ir{background-color:transparent;border:0;overflow:hidden;*text-indent:-9999px}.ir:before{content:"";display:block;width:0;height:150%}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.clearfix{*zoom:1}hr.clearfix{clear:both;height:0;border:none}.unstyled-list{list-style:none;padding-left:0}.screen,.wide{display:none}@media only screen and (min-width:1140px){.wide{display:inline}table .wide{display:table-cell}}@media only screen and (min-width:960px){.screen{display:inline}}.header-container header{background:#084561;border-bottom:3px solid #f8ad32}.header-container header a,.header-container header button{text-decoration:none;color:#fff;-webkit-transition-property:background;-o-transition-property:background;transition-property:background;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}.header-container header a:focus,.header-container header button:focus{outline:none}.header-container header .header-menu{height:60px}.header-container header .header-menu .header-menu-list{margin:0;padding:0}.header-container header .header-menu .header-menu-list>li{display:block;float:left;width:33.3%}.header-container header .header-menu .header-menu-list>li>a{display:block;position:relative;text-align:center;line-height:60px;text-transform:uppercase;font-size:1.5px;font-size:1.5rem;text-shadow:rgba(0,0,0,.75) 0 0 3px}.header-container header .header-menu .header-menu-list>li>a.active,.header-container header .header-menu .header-menu-list>li>a:focus,.header-container header .header-menu .header-menu-list>li>a:hover{background:#396a81}.header-container header .header-menu .header-menu-list>li>a.current:before{content:" ";display:block;position:absolute;bottom:0;left:0;right:0;height:2px;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease;border-radius:2px 2px 0 0;background-color:#f8ad32}.header-container header .header-menu .header-menu-list>li>a.current.active:before{height:0}.header-logo{text-align:center;margin:0;padding:0;width:100%}.header-logo-link{display:block;margin:0 auto;text-indent:-9999px;width:100%;max-width:240px;height:60px;background:url(../images/logo.png) no-repeat center center;-webkit-background-size:100% auto;background-size:100% auto}.header-logo-link:focus,.header-logo-link:hover{background-color:#396a81}.logbox{background:hsla(0,0%,100%,.05)}.logbox .notifs-links{margin-right:60px}.logbox .notifs-links .ico-link{display:block;position:relative;width:33.3%;height:60px;line-height:60px;float:left}.logbox .notifs-links .ico-link .notif-count{display:block;position:absolute;z-index:1;top:50%;right:50%;margin:-20px -22px 0 0;padding:0 5px;height:16px;line-height:14px;background:#c0392b;border-radius:16px}.logbox .notifs-links .ico-link .notif-text{display:block;position:absolute;text-indent:-9999px;height:22px;width:22px;top:50%;left:50%;margin:-11px 0 0 -11px}.logbox .notifs-links .ico-link .notif-text.ico-messages{background-position:0 -4906px}.logbox .notifs-links .ico-link .notif-text.ico-notifs{background-position:0 -2346px}.logbox .notifs-links .ico-link .notif-text.ico-alerts{background-position:0 -4186px}.logbox .notifs-links .ico-link .notif-text.ico-params{background-position:0 -2386px}.logbox .notifs-links .ico-link.active,.logbox .notifs-links .ico-link:focus,.logbox .notifs-links .ico-link:hover{background:#396a81}.logbox .dropdown{overflow:hidden}.logbox .dropdown .dropdown-title{display:block;width:100%;height:35px;line-height:37px;text-align:center;border-bottom:1px solid #274a5a;background-color:#396a81}.logbox .dropdown,.logbox .dropdown .dropdown-list{margin:0;padding:0;list-style:none;background-color:#19526c}.logbox .dropdown .dropdown-list li,.logbox .dropdown li{display:block;width:100%;height:60px}.logbox .dropdown .dropdown-list li a,.logbox .dropdown li a{display:block;overflow:hidden;position:relative;height:100%;width:100%}.logbox .dropdown .dropdown-list li a,.logbox .dropdown .dropdown-list li a:focus,.logbox .dropdown .dropdown-list li a:hover,.logbox .dropdown li a,.logbox .dropdown li a:focus,.logbox .dropdown li a:hover{opacity:1;-webkit-transition-property:opacity,background-color;-o-transition-property:opacity,background-color;transition-property:opacity,background-color}.logbox .dropdown .dropdown-list li a:focus,.logbox .dropdown .dropdown-list li a:hover,.logbox .dropdown li a:focus,.logbox .dropdown li a:hover{background-color:#396a81}.logbox .dropdown .dropdown-list li a:focus .username,.logbox .dropdown .dropdown-list li a:hover .username,.logbox .dropdown li a:focus .username,.logbox .dropdown li a:hover .username{text-shadow:rgba(0,0,0,.5) 0 0 5px}.logbox .dropdown .dropdown-list li a:focus .date,.logbox .dropdown .dropdown-list li a:hover .date,.logbox .dropdown li a:focus .date,.logbox .dropdown li a:hover .date{color:#95d7f5}.logbox .dropdown .dropdown-list li .avatar,.logbox .dropdown li .avatar{float:left;height:30px;width:30px}.logbox .dropdown .dropdown-list li .username,.logbox .dropdown li .username{display:block;float:left;margin:4px 0 0 7px;color:#95d7f5;width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logbox .dropdown .dropdown-list li .date,.logbox .dropdown li .date{color:#5196b6;float:right;padding:4px 10px 0 0;-webkit-transition-property:color;-o-transition-property:color;transition-property:color}.logbox .dropdown .dropdown-list li .topic,.logbox .dropdown li .topic{display:block;position:absolute;bottom:0;left:0;overflow:hidden;height:25px;padding:4px 7px 2px;text-overflow:ellipsis;white-space:nowrap;width:95%;width:calc(100% - 14px)}.logbox .dropdown .dropdown-list li:nth-child(2n+1),.logbox .dropdown .dropdown-list li:nth-child(2n+1) form button,.logbox .dropdown li:nth-child(2n+1),.logbox .dropdown li:nth-child(2n+1) form button{background-color:#084561}.logbox .my-account{display:block;height:60px;width:60px;float:right}.logbox .my-account .username{display:none}.logbox .my-account .avatar{background:#396a81}.logbox .dropdown.my-account-dropdown a,.logbox .dropdown.my-account-dropdown button{padding-left:10px}.logbox .dropdown.my-account-dropdown button{width:100%;height:30px;line-height:28px;background:transparent;text-align:left;border:0}.logbox .dropdown.my-account-dropdown button:focus,.logbox .dropdown.my-account-dropdown button:hover{background:#396a81}.logbox.unlogged a{display:block;width:50%;text-align:center;float:left;line-height:60px;height:60px}.logbox.unlogged a:focus,.logbox.unlogged a:hover{background-color:#396a81}.sub-header{background:#eee}@media only screen and (max-width:959px){.header-logo{width:40px;height:50px;margin-left:50px;float:left}.header-logo-link{background-image:url(../images/logo-mobile.png)!important;-webkit-background-size:100% 100%;background-size:100%;width:100%;height:100%}.header-logo-link:after{display:block;content:attr(data-title);position:absolute;top:0;left:95px;right:155px;line-height:50px;text-indent:0;text-align:left;font-weight:400;font-size:17px;font-size:1.7rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:200px}.header-container header .header-menu{height:30px}.header-container header .header-menu .header-menu-list{padding-top:50px}.header-container header .header-menu .header-menu-list>li>a{line-height:50px}.logbox{float:right;width:150px;background:none}.logbox .notifs-links{width:100%}.logbox .notifs-links .ico-link{height:50px;width:50px}.logbox .dropdown{top:50px}.logbox .dropdown.my-account-dropdown .dropdown-list{bottom:0}.logbox .dropdown.my-account-dropdown .dropdown-list li{height:45px;line-height:45px}.logbox.unlogged{font-size:13px;font-size:1.3rem}.logbox.unlogged a{background-color:hsla(0,0%,100%,.1);line-height:30px;height:30px;margin:10px 0;width:74px;margin-right:1px}}@media only screen and (min-width:960px){.header-container{z-index:1;position:relative;-webkit-box-shadow:0 0 4px rgba(0,0,0,.3);box-shadow:0 0 4px rgba(0,0,0,.3)}.header-container header{background-image:-webkit-gradient(linear,left top,right top,color-stop(20%,transparent),color-stop(40%,hsla(0,0%,100%,.07)),color-stop(60%,hsla(0,0%,100%,.07)),color-stop(80%,transparent));background-image:-webkit-linear-gradient(left,transparent 20%,hsla(0,0%,100%,.07) 40%,hsla(0,0%,100%,.07) 60%,transparent 80%);background-image:-o-linear-gradient(left,transparent 20%,hsla(0,0%,100%,.07) 40%,hsla(0,0%,100%,.07) 60%,transparent 80%);background-image:linear-gradient(to right,transparent 20%,hsla(0,0%,100%,.07) 40%,hsla(0,0%,100%,.07) 60%,transparent 80%)}.header-logo{float:left;text-align:left;width:240px}.header-container header .header-menu{float:left;width:40%;margin-left:.5%}.header-container header .header-menu .header-menu-list>li>a{max-width:150px;font-size:1.6rem;font-size:16px}.dropdown{top:60px}.has-dropdown{position:relative;text-indent:-7px}.has-dropdown:after{content:" ";display:block;position:absolute;top:47%;left:83%;height:0;width:0;border:6px solid transparent;border-top:6px solid hsla(0,0%,100%,.7);border-left:6px inset transparent}.has-dropdown.active:after,.has-dropdown:focus:after,.has-dropdown:hover:after{border-top:6px solid #fff}.logbox .dropdown.my-account-dropdown ul li{height:30px;line-height:30px}.lt-ie9 .dropdown{top:90px}.header-right{float:right;width:230px}.header-right .dropdown{right:2.5%}}@media only screen and (min-width:1140px){.header-container header .header-menu{margin-left:5%}}.dropdown{display:none;position:absolute;text-align:left;top:50px;left:0;right:0;background-color:#396a81;margin:0;padding:10px 2.5%;font-size:14px;font-size:1.4rem;border-bottom:3px solid #f8ad32;z-index:8}.dropdown .dropdown-title{color:#fff}.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(1),.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(1)~li{width:100%}.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(2),.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(2)~li{width:50%}.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(3),.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(3)~li{width:33.33333%}.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(4),.dropdown.header-menu-dropdown .dropdown-list>li:first-child:nth-last-child(4)~li{width:25%}.dropdown .dropdown-list{width:100%;padding:0;margin-top:15px}.dropdown .dropdown-list>li{width:20%;float:left}.dropdown .dropdown-list>li.dropdown-empty-message{color:hsla(0,0%,100%,.5);text-align:center;line-height:60px;background:none!important}.dropdown .dropdown-list>li ul{margin:0 0 10px;padding:0}.dropdown .dropdown-list>li ul li{position:relative}.dropdown .dropdown-list>li ul li a{display:block;width:95%;min-height:25px;line-height:25px;color:#95d7f5;overflow:hidden;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.dropdown .dropdown-list>li ul li a:focus,.dropdown .dropdown-list>li ul li a:hover{padding-left:3%;background-color:rgba(0,0,0,.3)}.dropdown .dropdown-link-all{display:block;clear:both;text-align:center;height:30px;line-height:30px;border-top:1px solid #274a5a;background-color:#396a81;-webkit-transition-property:color,background-color;-o-transition-property:color,background-color;transition-property:color,background-color}.dropdown .dropdown-link-all:first-child{border-top:0!important;border-bottom:1px solid #274a5a}.dropdown .dropdown-link-all:focus,.dropdown .dropdown-link-all:hover{color:#95d7f5;background-color:#274a5a;border-top:1px solid #396a81}.active+.dropdown{display:block}@media only screen and (min-width:760px){.dropdown{-webkit-box-shadow:0 5px 7px rgba(0,0,0,.3);box-shadow:0 5px 7px rgba(0,0,0,.3)}.header-right .dropdown{width:350px;left:auto;padding:0}.header-right .dropdown .dropdown-list{max-height:270px;overflow-x:hidden;overflow-y:auto}.header-right .dropdown .dropdown-list::-webkit-scrollbar{width:10px;height:10px}.header-right .dropdown .dropdown-list::-webkit-scrollbar-track{background-color:#06354a}.header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb{background-color:#396a81;border:1px solid #06354a;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb:hover{background-color:#5196b6}.header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb:active{background-color:#71b4d3}.header-right .dropdown.my-account-dropdown{width:230px}}@media only screen and (max-width:759px){html.dropdown-active{overflow:hidden}html.dropdown-active .page-container{width:100%}html.dropdown-active .main-container{display:none}.header-menu-dropdown{display:none!important}.dropdown{width:100%;top:180px;bottom:0;border-bottom:none}.dropdown .dropdown-list{overflow:auto;position:absolute;top:36px;bottom:50px}.dropdown .dropdown-link-all{position:absolute;left:0;right:0;bottom:0;height:50px;line-height:50px}}@media only screen and (min-width:960px){.dropdown{top:60px}}.search-form{margin-bottom:30px}.search{display:block;position:relative}.search form button,.search form input{float:left;border:none;background:hsla(0,0%,100%,.25);height:40px;-webkit-transition-property:background;-o-transition-property:background;transition-property:background;-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}.search form button:focus,.search form button:hover,.search form input:focus,.search form input:hover{background-color:#fff}.search form button:focus,.search form input:focus{outline-color:#f8ad32}.search form input{height:30px;padding:5px 3%;width:70%}.search form button{width:12%;text-indent:-9999px}.search form button.disabled{opacity:.5;background:transparent;cursor:default}.search form button:after{display:block;content:" ";position:absolute;top:12px;left:50%;margin-left:-8px;height:17px;width:17px;background-position:0 -2786px}.search .search-more{display:block;float:left;height:40px;font-family:Arial,sans-serif;line-height:40px;width:12%;text-align:center;font-weight:700;text-decoration:none;font-size:24px;background:#fff;color:#084561;-webkit-transition:background .15s ease;-o-transition:background .15s ease;transition:background .15s ease}.search .search-more:focus,.search .search-more:hover{background:#f8ad32;color:#fff;outline:none}.search .search-more:before{content:"+"}@media only screen and (min-width:960px){.search:before{content:" ";display:block;position:absolute;left:-20px;height:30px;width:20px;background:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.03)),to(transparent));background:-webkit-linear-gradient(right,rgba(0,0,0,.03),transparent);background:-o-linear-gradient(right,rgba(0,0,0,.03),transparent);background:linear-gradient(to left,rgba(0,0,0,.03),transparent)}.search form input{padding:6px 10px;height:18px;width:150px}.search form button{height:30px;line-height:30px;width:30px}.search form button:after{top:7px}.search .search-more{width:30px;height:30px;line-height:30px}}#accessibility{list-style:none;margin:0;padding:0 2.5%;background:#062e41;overflow:hidden;height:0}#accessibility.focused{height:auto}#accessibility li{display:inline;margin:0;padding:0}#accessibility li a{display:inline-block;padding:0 7px;color:#eee}#accessibility li a:focus,#accessibility li a:hover{color:#084561;background-color:#fff;text-decoration:none}#cookies-eu-banner{padding:0 3%;background:#062e41;display:none}#cookies-eu-banner #cookies-eu-reject,#cookies-eu-banner div{display:inline-block;margin:0;padding:7px 0;color:#eee;line-height:23px}#cookies-eu-banner #cookies-eu-reject{background:none;border:none;text-decoration:underline}#cookies-eu-banner #cookies-eu-reject:focus,#cookies-eu-banner #cookies-eu-reject:hover{text-decoration:none}#cookies-eu-banner #cookies-eu-accept,#cookies-eu-banner #cookies-eu-more{display:inline-block;margin-top:3px;padding:4px 15px;text-decoration:none;-webkit-transition:background .15s,color .15s;-o-transition:background .15s,color .15s;transition:background .15s,color .15s}#cookies-eu-banner #cookies-eu-more{margin-left:15px;color:#eee;background:#084561}#cookies-eu-banner #cookies-eu-more:focus,#cookies-eu-banner #cookies-eu-more:hover{color:#084561;background:#eee}#cookies-eu-banner #cookies-eu-accept{border:none;color:#084561;background:#eee}#cookies-eu-banner #cookies-eu-accept:focus,#cookies-eu-banner #cookies-eu-accept:hover{color:#eee;background:#084561}@media only screen and (max-width:759px){#cookies-eu-banner{position:absolute;top:50px;right:0;bottom:0;left:0;z-index:4}#cookies-eu-banner div{margin-top:40px;padding:0 5px}#cookies-eu-banner #cookies-eu-accept,#cookies-eu-banner #cookies-eu-more{display:block;width:100%;height:40px;padding:0!important;margin:15px 0 0!important;text-align:center}#cookies-eu-banner #cookies-eu-more{margin-top:40px!important;line-height:40px}}.main .sidebar{padding:0 0 10px;background:#f0f0f0;border-bottom:1px solid #fff;color:#424242;width:105%;margin:0 0 0 -2.7%}.main .sidebar .new-btn{display:block;height:40px;padding-left:11.5%;text-decoration:none;text-indent:25px;line-height:40px;font-size:16px;font-size:1.6rem;position:relative;color:#1088bf;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.main .sidebar .new-btn:first-child{margin-top:31px}.main .sidebar .new-btn:focus,.main .sidebar .new-btn:hover{background:#fff}.main .sidebar .new-btn:after{top:12px;left:11.5%}.main .sidebar h3,.main .sidebar h4{font-weight:400;margin:0;padding:0}.main .sidebar h3{font-size:18px;font-size:1.8rem;line-height:38px;line-height:3.8rem;color:#084561;border-bottom:1px solid #f8ad32;margin-top:30px}.main .sidebar h4{padding-top:20px;font-size:17px;font-size:1.7rem}.main .sidebar h4 a{text-decoration:none;color:#424242}.main .sidebar.accordeon h4{cursor:pointer}.main .sidebar h4[data-num]{position:relative;padding-left:calc(5% + 25px)}.main .sidebar h4[data-num]:before{content:attr(data-num);position:absolute;left:5%;text-align:right;width:50px;margin-left:-35px}.main .sidebar h3+ol,.main .sidebar h3+ul{margin:7px 0}.main .sidebar ol,.main .sidebar ul{margin:0;padding:0;list-style:none;width:100%}.main .sidebar ol li,.main .sidebar ul li{position:relative;padding:0 0 0 2.5%;-webkit-transition:background .15s ease;-o-transition:background .15s ease;transition:background .15s ease}.main .sidebar ol li:not(.inactive):hover,.main .sidebar ol li a:focus,.main .sidebar ol li button:focus,.main .sidebar ul li:not(.inactive):hover,.main .sidebar ul li a:focus,.main .sidebar ul li button:focus{background:#fff;outline:none}.main .sidebar ol li:not(.inactive):hover .ico-after.action-hover,.main .sidebar ol li a:focus .ico-after.action-hover,.main .sidebar ol li button:focus .ico-after.action-hover,.main .sidebar ul li:not(.inactive):hover .ico-after.action-hover,.main .sidebar ul li a:focus .ico-after.action-hover,.main .sidebar ul li button:focus .ico-after.action-hover{display:block}.main .sidebar ol li.inactive>em,.main .sidebar ol li.inactive>span,.main .sidebar ol li a,.main .sidebar ol li button,.main .sidebar ul li.inactive>em,.main .sidebar ul li.inactive>span,.main .sidebar ul li a,.main .sidebar ul li button{display:block;padding-left:25px;padding-right:10px;text-decoration:none;color:#0079b2;overflow:hidden;height:30px;line-height:30px;font-size:14px;font-size:1.4rem;text-overflow:ellipsis;white-space:nowrap;border:0;text-align:left;background:transparent}.main .sidebar ol li.inactive>em[data-num],.main .sidebar ol li.inactive>span[data-num],.main .sidebar ol li a[data-num],.main .sidebar ol li button[data-num],.main .sidebar ul li.inactive>em[data-num],.main .sidebar ul li.inactive>span[data-num],.main .sidebar ul li a[data-num],.main .sidebar ul li button[data-num]{position:relative}.main .sidebar ol li.inactive>em[data-num]:after,.main .sidebar ol li.inactive>span[data-num]:after,.main .sidebar ol li a[data-num]:after,.main .sidebar ol li button[data-num]:after,.main .sidebar ul li.inactive>em[data-num]:after,.main .sidebar ul li.inactive>span[data-num]:after,.main .sidebar ul li a[data-num]:after,.main .sidebar ul li button[data-num]:after{content:attr(data-num) ".";position:absolute;left:0;width:18px;text-align:right;color:#424242}.main .sidebar ol li.inactive>em.selected,.main .sidebar ol li.inactive>span.selected,.main .sidebar ol li a.selected,.main .sidebar ol li button.selected,.main .sidebar ul li.inactive>em.selected,.main .sidebar ul li.inactive>span.selected,.main .sidebar ul li a.selected,.main .sidebar ul li button.selected{font-weight:700}.main .sidebar ol li.inactive>em img,.main .sidebar ol li.inactive>span img,.main .sidebar ol li a img,.main .sidebar ol li button img,.main .sidebar ul li.inactive>em img,.main .sidebar ul li.inactive>span img,.main .sidebar ul li a img,.main .sidebar ul li button img{border-right:7px solid transparent}.main .sidebar ol li.inactive>em img,.main .sidebar ol li.inactive>em span:not(.wide),.main .sidebar ol li.inactive>span img,.main .sidebar ol li.inactive>span span:not(.wide),.main .sidebar ol li a img,.main .sidebar ol li a span:not(.wide),.main .sidebar ol li button img,.main .sidebar ol li button span:not(.wide),.main .sidebar ul li.inactive>em img,.main .sidebar ul li.inactive>em span:not(.wide),.main .sidebar ul li.inactive>span img,.main .sidebar ul li.inactive>span span:not(.wide),.main .sidebar ul li a img,.main .sidebar ul li a span:not(.wide),.main .sidebar ul li button img,.main .sidebar ul li button span:not(.wide){vertical-align:middle}.main .sidebar ol li.inactive>em .icon,.main .sidebar ol li.inactive>span .icon,.main .sidebar ol li a .icon,.main .sidebar ol li button .icon,.main .sidebar ul li.inactive>em .icon,.main .sidebar ul li.inactive>span .icon,.main .sidebar ul li a .icon,.main .sidebar ul li button .icon{border-right:7px solid transparent;display:inline-block;width:16px;height:16px;margin:7px 5px;line-height:30px}.main .sidebar ol li.inactive>em.ico-after:after,.main .sidebar ol li.inactive>span.ico-after:after,.main .sidebar ol li a.ico-after:after,.main .sidebar ol li button.ico-after:after,.main .sidebar ul li.inactive>em.ico-after:after,.main .sidebar ul li.inactive>span.ico-after:after,.main .sidebar ul li a.ico-after:after,.main .sidebar ul li button.ico-after:after{top:7px;left:0;opacity:.7}.main .sidebar ol li.inactive>em.ico-after.disabled:after,.main .sidebar ol li.inactive>span.ico-after.disabled:after,.main .sidebar ol li a.ico-after.disabled:after,.main .sidebar ol li button.ico-after.disabled:after,.main .sidebar ul li.inactive>em.ico-after.disabled:after,.main .sidebar ul li.inactive>span.ico-after.disabled:after,.main .sidebar ul li a.ico-after.disabled:after,.main .sidebar ul li button.ico-after.disabled:after{opacity:.4!important}.main .sidebar ol li.inactive>em.ico-after:focus:after,.main .sidebar ol li.inactive>em.ico-after:hover:after,.main .sidebar ol li.inactive>span.ico-after:focus:after,.main .sidebar ol li.inactive>span.ico-after:hover:after,.main .sidebar ol li a.ico-after:focus:after,.main .sidebar ol li a.ico-after:hover:after,.main .sidebar ol li button.ico-after:focus:after,.main .sidebar ol li button.ico-after:hover:after,.main .sidebar ul li.inactive>em.ico-after:focus:after,.main .sidebar ul li.inactive>em.ico-after:hover:after,.main .sidebar ul li.inactive>span.ico-after:focus:after,.main .sidebar ul li.inactive>span.ico-after:hover:after,.main .sidebar ul li a.ico-after:focus:after,.main .sidebar ul li a.ico-after:hover:after,.main .sidebar ul li button.ico-after:focus:after,.main .sidebar ul li button.ico-after:hover:after{opacity:1}.main .sidebar ol li.inactive>em.ico-after.action-hover,.main .sidebar ol li.inactive>span.ico-after.action-hover,.main .sidebar ol li a.ico-after.action-hover,.main .sidebar ol li button.ico-after.action-hover,.main .sidebar ul li.inactive>em.ico-after.action-hover,.main .sidebar ul li.inactive>span.ico-after.action-hover,.main .sidebar ul li a.ico-after.action-hover,.main .sidebar ul li button.ico-after.action-hover{position:absolute;display:none;overflow:visible;top:0;left:10%;padding:0;z-index:1;width:30px;height:30px;text-indent:-9999px;background:#fff;right:-30px}.main .sidebar ol li.inactive>em.ico-after.action-hover[data-title]:hover:before,.main .sidebar ol li.inactive>span.ico-after.action-hover[data-title]:hover:before,.main .sidebar ol li a.ico-after.action-hover[data-title]:hover:before,.main .sidebar ol li button.ico-after.action-hover[data-title]:hover:before,.main .sidebar ul li.inactive>em.ico-after.action-hover[data-title]:hover:before,.main .sidebar ul li.inactive>span.ico-after.action-hover[data-title]:hover:before,.main .sidebar ul li a.ico-after.action-hover[data-title]:hover:before,.main .sidebar ul li button.ico-after.action-hover[data-title]:hover:before{content:attr(data-title);display:block;position:absolute;background:#fff;color:#555;top:-27px;left:0;height:27px;line-height:27px;line-height:2.7rem;text-indent:0;padding:0 15px;border:1px solid #eee;-webkit-box-shadow:rgba(0,0,0,.15) 0 0 7px;box-shadow:0 0 7px rgba(0,0,0,.15)}.main .sidebar ol li.inactive>em.ico-after.action-hover:after,.main .sidebar ol li.inactive>span.ico-after.action-hover:after,.main .sidebar ol li a.ico-after.action-hover:after,.main .sidebar ol li button.ico-after.action-hover:after,.main .sidebar ul li.inactive>em.ico-after.action-hover:after,.main .sidebar ul li.inactive>span.ico-after.action-hover:after,.main .sidebar ul li a.ico-after.action-hover:after,.main .sidebar ul li button.ico-after.action-hover:after{left:7px}.main .sidebar ol li.inactive>em,.main .sidebar ol li.inactive>span,.main .sidebar ul li.inactive>em,.main .sidebar ul li.inactive>span{color:#555}.main .sidebar ol li .count,.main .sidebar ul li .count{display:block;position:absolute;top:6px;right:20px;padding:1px 10px;height:16px;line-height:16px;font-style:normal;background:#aaa;color:#fff}.main .sidebar ol li .last-answer,.main .sidebar ul li .last-answer{display:block;visibility:hidden;position:absolute;top:-13px;left:102%;width:250px;height:40px;background:#fff;padding:7px 10px;border:1px solid #f0f0f0;-webkit-box-shadow:rgba(0,0,0,.1) 2px 2px 2px;box-shadow:2px 2px 2px rgba(0,0,0,.1);opacity:0;-webkit-transition:visibility 0s linear .15s,opacity .15s,left .15s;-o-transition:visibility 0s linear .15s,opacity .15s,left .15s;transition:visibility 0s linear .15s,opacity .15s,left .15s}.main .sidebar ol li .last-answer .avatar,.main .sidebar ul li .last-answer .avatar{height:40px;width:40px;float:left;border:1px solid #f0f0f0}.main .sidebar ol li .last-answer .topic-last-answer,.main .sidebar ul li .last-answer .topic-last-answer{display:block;margin-left:50px;line-height:18px;padding:3px 0;color:#555}.main .sidebar ol li .last-answer .topic-no-last-answer,.main .sidebar ul li .last-answer .topic-no-last-answer{display:block;line-height:40px;width:100%;text-align:center;color:#999}.main .sidebar ol li a:focus+.last-answer,.main .sidebar ol li a:hover+.last-answer,.main .sidebar ul li a:focus+.last-answer,.main .sidebar ul li a:hover+.last-answer{visibility:visible;left:100%;opacity:1;-webkit-transition:visibility 0s linear 0,opacity .15s,left .15s;-o-transition:visibility 0s linear 0,opacity .15s,left .15s;transition:visibility 0s linear 0,opacity .15s,left .15s}.main .sidebar ol li a.unread,.main .sidebar ul li a.unread{font-weight:700}.main .sidebar ol li button,.main .sidebar ul li button{width:100%;line-height:28px}.main .sidebar ol li li,.main .sidebar ul li li{padding:0}.main .sidebar ol li li a,.main .sidebar ul li li a{position:relative;color:#084561;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.main .sidebar ol li li a:focus,.main .sidebar ol li li a:hover,.main .sidebar ul li li a:focus,.main .sidebar ul li li a:hover{color:#0079b2;background:#fff;margin-left:-11px}.main .sidebar ol li li a:focus:before,.main .sidebar ol li li a:hover:before,.main .sidebar ul li li a:focus:before,.main .sidebar ul li li a:hover:before{content:"> "}.main .sidebar.summary h4{border-bottom:1px solid #d8dada;padding-bottom:5px;padding-right:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main .sidebar.summary h4+ol>li:first-child,.main .sidebar.summary h4+ul>li:first-child{margin-top:5px}.main .sidebar.summary ol li.current{margin-top:0!important;padding-top:5px;margin-bottom:5px;background-color:#fff}.main .sidebar.summary ol li.current+a{font-weight:700}.main .sidebar.summary ol li.current ol{margin-top:5px;padding-top:5px;padding-bottom:5px;margin-left:-42px;width:calc(105% + 25px);background:-webkit-linear-gradient(top,rgba(0,0,0,.07),#f7f7f7 3px);background:-o-linear-gradient(top,rgba(0,0,0,.07),#f7f7f7 3px);background:linear-gradient(to bottom,rgba(0,0,0,.07),#f7f7f7 3px)}.main .sidebar.summary ol li.current ol a{padding-left:50px}.main .content-container{padding-top:30px}.main .content-container h1,.main .content-container h2{font-size:22px;font-size:2.2rem;line-height:38px;line-height:3.8rem;color:#084561;font-weight:400;border-bottom:1px solid #f8ad32;margin:1px 0 15px}.main .content-container h1.illu,.main .content-container h2.illu{padding-left:60px}.main .content-container h1.illu img,.main .content-container h2.illu img{background:#fff}.main .content-container h1.ico-after,.main .content-container h2.ico-after{padding-left:80px}.main .content-container h1.ico-after:after,.main .content-container h2.ico-after:after{width:80px;height:40px;margin-left:21px}.main .content-container h1.ico-articles:after,.main .content-container h2.ico-articles:after{background-position:0 -3946px}.main .content-container h1.ico-tutorials:after,.main .content-container h2.ico-tutorials:after{background-position:0 -3386px}.main .content-container h1.ico-news:after,.main .content-container h2.ico-news:after{background-position:0 -2866px}.main .content-container h1.ico-forum:after,.main .content-container h2.ico-forum:after{background-position:0 -866px}.main .content-container h1.ico-tags:after,.main .content-container h2.ico-tags:after{background-position:0 -3066px}.main .content-container h1.illu img,.main .content-container h2.illu img{position:absolute;margin:-6px 0 0 -60px;border:1px solid #cdd0d1;width:50px;height:50px}.main .content-container .license{float:right;margin:0;margin-top:10px}.main .content-container .subtitle{font-size:18px;font-size:1.8rem;line-height:23px;color:#999;margin-top:-15px;margin-bottom:15px;padding:10px 0;font-weight:400;border-bottom:1px solid #eee}.main .content-container .pubdate{display:block;color:#999;margin-bottom:15px}.main .content-container .member-item .avatar{margin-top:-2px;height:20px;width:20px;border:1px solid #ccc}.main .content-container .member-item .avatar+span{padding-left:3px}.main .content-container .member-item:hover .avatar{border-color:#999}.main .content-container .member-item+.member-item{margin-left:7px}.main .content-container .authors .member-item{margin-right:0;margin-left:7px}.main .content-container .authors .member-item .avatar{height:30px;width:30px;margin:-3px 5px 0 -6px}.main .content-container .new-btn-container,.main .content-container .open-zen-mode{display:none}.home .main .content-container{margin-top:0}.pagination-bottom-clear{clear:both}@media only screen and (min-width:1360px){.main .content-container .content-wrapper{max-width:960px;margin:0 auto!important}}@media only screen and (min-width:960px){body.no-sidebar .main .content-container{width:100%}body.no-sidebar .main .sidebar{display:none}.main{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;height:100%;margin-left:0;padding-left:2.5%}.main .content-container{width:80%;margin-right:0}.main .content-container .taglist+.pubdate{margin-top:-40px}.main .content-container .open-zen-mode{display:block}.main .content-container.zen-mode{width:100%;min-height:calc(100% - 200px);position:absolute;top:0;left:0;right:0;z-index:6;background:#fcfcfc;padding:100px 0;margin-bottom:0}.main .content-container.zen-mode .alert-box,.main .content-container.zen-mode .comments-title,.main .content-container.zen-mode .pagination:not(.pagination-chapter),.main .content-container.zen-mode .topic-message{display:none}.main .content-container.zen-mode .content-wrapper{margin:0 4%}.main .content-container h1,.main .content-container h2{margin-left:1px}.main .content-container .content-col-2{width:49.5%;margin:0 0 0 1%}.main .content-container .content-col-3{width:32%;margin:0 0 0 2%}.main .content-container .content-col-2,.main .content-container .content-col-3{float:left}.main .content-container .content-col-2:first-child,.main .content-container .content-col-3:first-child{margin:0}.main .content-container .article-content>.summary-part>li{float:left;width:50%}.main .content-container .article-content>.summary-part>li:nth-child(2n+1){clear:both}.main .sidebar{width:22.5%;border-bottom:none}.main .sidebar h3,.main .sidebar h4,.main .sidebar ol li,.main .sidebar ul li{padding-left:11.5%}.main .sidebar h3:first-child{margin-top:31px}.main .sidebar h4[data-num]{padding-left:calc(11% + 25px)}.main .sidebar h4[data-num]:before{left:11%}.main .sidebar.sommaire ul li.current ol,.main .sidebar.sommaire ul li.current ul{margin-left:calc(-11% - 10px);width:calc(111% + 10px);background:-webkit-linear-gradient(top,rgba(0,0,0,.07),transparent 3px);background:-o-linear-gradient(top,rgba(0,0,0,.07),transparent 3px);background:linear-gradient(to bottom,rgba(0,0,0,.07),transparent 3px)}.main .sidebar.sommaire ul li.current ol a,.main .sidebar.sommaire ul li.current ul a{padding-left:calc(11% + 30px)}}@media only screen and (min-width:960px){.content-cols .main .content-container{width:79%;margin-left:1.5%}.full-content-wrapper .tutorial-list article{width:46%;float:left}.full-content-wrapper .tutorial-list article.extend{width:100%}}@media only screen and (max-width:959px){.main .content-container .new-btn-container{display:block;margin:30px 0;border-top:1px solid #ddd;overflow:hidden}.main .content-container .new-btn-container .new-btn{display:block;width:100%;padding:7px 10px 7px 35px;text-decoration:none;height:30px;line-height:30px;background:#eee;color:#333;border-bottom:1px solid #ddd}.main .content-container .new-btn-container .new-btn.ico-after:after{top:13px;left:10px}.main .content-container h1.ico-news:after,.main .content-container h2.ico-news:after{background-position:0 -2906px}.main{width:100%}.main .content-container .content-col:not(:first-child),.main .sidebar{margin-top:50px}.main .sidebar{width:102.5%}.main .sidebar h3,.main .sidebar h4,.main .sidebar ul li{padding-left:5.5%}.main .sidebar h3 a,.main .sidebar h4 a,.main .sidebar ul li a{white-space:normal}.content-col-2:not(:first-child),.content-col-3:not(:first-child){margin-top:50px}}.small-content-wrapper{width:90%;max-width:500px;margin:20px auto}.main .content-container .content-wrapper.article-content,.main .content-container .content-wrapper.authors{padding-left:2%;padding-right:2%}.main .content-container .article-content>a,.main .content-container .article-content ol:not(.summary-part),.main .content-container .article-content p,.main .content-container .article-content p a,.main .content-container .article-content ul:not(.pagination){font-family:Merriweather,Liberation Serif,Times New Roman,Times,Georgia,FreeSerif,serif}.main .content-container .comment-author,.main .content-container .content-wrapper.comment-author{background:#eee;padding:7px 15px;margin-bottom:20px}.main .content-container .comment-author blockquote,.main .content-container .content-wrapper.comment-author blockquote{margin:10px 0;border-left:5px solid #ccc;padding:5px 0 5px 15px}.main .content-container .article-content .summary-part{font-size:20px;color:#ea9408}.main .content-container .article-content .summary-part h3,.main .content-container .article-content .summary-part h4{font-weight:400;width:90%}.main .content-container .article-content .summary-part h3 a,.main .content-container .article-content .summary-part h4 a{text-decoration:none}.main .content-container .article-content .summary-part h3 a:focus,.main .content-container .article-content .summary-part h3 a:hover,.main .content-container .article-content .summary-part h4 a:focus,.main .content-container .article-content .summary-part h4 a:hover{text-decoration:underline}.main .content-container .article-content .summary-part h3{font-size:20px;margin:0 0 5px}.main .content-container .article-content .summary-part .summary-part{list-style:none;padding-left:0;margin-bottom:15px}.main .content-container .article-content .summary-part .summary-part h4{font-size:14px;margin:2px 0}.main .content-container .article-content,.main .content-container .message-content{margin-top:20px;margin-bottom:20px;color:#424242}.main .content-container .article-content h2,.main .content-container .article-content h3,.main .content-container .message-content h2,.main .content-container .message-content h3{clear:both}.main .content-container .article-content h2,.main .content-container .article-content h2 a,.main .content-container .article-content h3,.main .content-container .article-content h3 a,.main .content-container .message-content h2,.main .content-container .message-content h2 a,.main .content-container .message-content h3,.main .content-container .message-content h3 a{color:#ea9408;margin-top:40px;text-decoration:none}.main .content-container .article-content h2 a:focus,.main .content-container .article-content h2 a:hover,.main .content-container .article-content h3 a:focus,.main .content-container .article-content h3 a:hover,.main .content-container .message-content h2 a:focus,.main .content-container .message-content h2 a:hover,.main .content-container .message-content h3 a:focus,.main .content-container .message-content h3 a:hover{text-decoration:underline}.main .content-container .article-content h2,.main .content-container .message-content h2{font-size:22px;font-size:2.2rem;line-height:50px;margin-bottom:20px;background:#fff;border-top:1px solid #e0e4e5;padding-left:1%;font-weight:400}.main .content-container .article-content h3,.main .content-container .message-content h3{font-size:20px;font-size:2rem;margin-bottom:14px}.main .content-container .article-content h4,.main .content-container .message-content h4{font-size:18px;font-size:1.8rem;margin-bottom:12px}.main .content-container .article-content h5,.main .content-container .message-content h5{font-size:16px;font-size:1.6rem;margin-bottom:10px}.main .content-container .article-content h6,.main .content-container .message-content h6{font-size:15px;font-size:1.5rem;margin-bottom:10px}.main .content-container .article-content .actions-title,.main .content-container .message-content .actions-title{float:right;margin:-60px 10px 0 0}.main .content-container .article-content .actions-title .btn,.main .content-container .message-content .actions-title .btn{height:30px;line-height:30px;margin-left:3px;opacity:.7;z-index:1}.main .content-container .article-content .actions-title .btn.ico-after:after,.main .content-container .message-content .actions-title .btn.ico-after:after{margin-top:7px}.main .content-container .article-content .actions-title .btn:focus,.main .content-container .article-content .actions-title .btn:hover,.main .content-container .message-content .actions-title .btn:focus,.main .content-container .message-content .actions-title .btn:hover{opacity:1}.main .content-container .article-content :not(.alert-box).error,.main .content-container .article-content :not(.alert-box).information,.main .content-container .article-content :not(.alert-box).question,.main .content-container .article-content :not(.alert-box).spoiler,.main .content-container .article-content :not(.alert-box).warning,.main .content-container .message-content :not(.alert-box).error,.main .content-container .message-content :not(.alert-box).information,.main .content-container .message-content :not(.alert-box).question,.main .content-container .message-content :not(.alert-box).spoiler,.main .content-container .message-content :not(.alert-box).warning{margin:25px 0;padding:7px 15px 7px 45px}.main .content-container .article-content :not(.alert-box).error.ico-after:after,.main .content-container .article-content :not(.alert-box).information.ico-after:after,.main .content-container .article-content :not(.alert-box).question.ico-after:after,.main .content-container .article-content :not(.alert-box).spoiler.ico-after:after,.main .content-container .article-content :not(.alert-box).warning.ico-after:after,.main .content-container .message-content :not(.alert-box).error.ico-after:after,.main .content-container .message-content :not(.alert-box).information.ico-after:after,.main .content-container .message-content :not(.alert-box).question.ico-after:after,.main .content-container .message-content :not(.alert-box).spoiler.ico-after:after,.main .content-container .message-content :not(.alert-box).warning.ico-after:after{position:absolute;top:50%;left:23px;margin:-11px 0 0 -11px;height:22px;width:22px}.main .content-container .article-content :not(.alert-box).information,.main .content-container .message-content :not(.alert-box).information{background:#daeaee}.main .content-container .article-content :not(.alert-box).information.ico-after:after,.main .content-container .message-content :not(.alert-box).information.ico-after:after{background-position:0 -1866px}.main .content-container .article-content :not(.alert-box).question,.main .content-container .message-content :not(.alert-box).question{background:#e2daee}.main .content-container .article-content :not(.alert-box).question.ico-after:after,.main .content-container .message-content :not(.alert-box).question.ico-after:after{background-position:0 -2546px}.main .content-container .article-content :not(.alert-box).error,.main .content-container .message-content :not(.alert-box).error{background:#eedada}.main .content-container .article-content :not(.alert-box).error.ico-after:after,.main .content-container .message-content :not(.alert-box).error.ico-after:after{background-position:0 -706px}.main .content-container .article-content :not(.alert-box).warning,.main .content-container .message-content :not(.alert-box).warning{background:#eee7da}.main .content-container .article-content :not(.alert-box).warning.ico-after:after,.main .content-container .message-content :not(.alert-box).warning.ico-after:after{background-position:0 -3706px}.main .content-container .article-content .spoiler,.main .content-container .message-content .spoiler{margin-top:0;padding-left:15px;background:#eee}.main .content-container .article-content .spoiler-title,.main .content-container .message-content .spoiler-title{display:block;background:#eee;margin:15px 0;padding:3px 15px 3px 40px;text-decoration:none;border-bottom:1px solid #ddd;color:#555}.main .content-container .article-content .spoiler-title.ico-after:after,.main .content-container .message-content .spoiler-title.ico-after:after{margin:8px 0 0 10px}.main .content-container .article-content .spoiler-title:nth-last-child(2),.main .content-container .message-content .spoiler-title:nth-last-child(2){margin-bottom:15px}.main .content-container .article-content .spoiler-title:hover,.main .content-container .message-content .spoiler-title:hover{text-decoration:underline}.main .content-container .article-content img,.main .content-container .message-content img{max-width:100%}.main .content-container .article-content figure,.main .content-container .message-content figure{margin:30px 0;text-align:center}.main .content-container .article-content figure>blockquote,.main .content-container .article-content figure>code,.main .content-container .article-content figure>embed,.main .content-container .article-content figure>img,.main .content-container .article-content figure>pre,.main .content-container .article-content figure>table,.main .content-container .article-content figure>video,.main .content-container .message-content figure>blockquote,.main .content-container .message-content figure>code,.main .content-container .message-content figure>embed,.main .content-container .message-content figure>img,.main .content-container .message-content figure>pre,.main .content-container .message-content figure>table,.main .content-container .message-content figure>video{max-width:100%;margin:0 auto;text-align:left}.main .content-container .article-content figure>code,.main .content-container .article-content figure>figcaption,.main .content-container .article-content figure>img,.main .content-container .article-content figure>pre,.main .content-container .article-content figure>video,.main .content-container .message-content figure>code,.main .content-container .message-content figure>figcaption,.main .content-container .message-content figure>img,.main .content-container .message-content figure>pre,.main .content-container .message-content figure>video{display:block}.main .content-container .article-content figure>blockquote~figcaption,.main .content-container .message-content figure>blockquote~figcaption{padding:0 0 1px 2%;font-style:italic;text-align:left;color:#999;border-left:5px solid #ccc}.main .content-container .article-content figure>blockquote~figcaption p,.main .content-container .message-content figure>blockquote~figcaption p{margin:0 0 5px}.main .content-container .article-content figure>blockquote~figcaption p:before,.main .content-container .message-content figure>blockquote~figcaption p:before{content:"— "}.main .content-container .article-content blockquote,.main .content-container .message-content blockquote{margin:0;color:#777;padding:1px 2%;border-left:5px solid #ccc}.main .content-container .article-content blockquote>p:first-child,.main .content-container .message-content blockquote>p:first-child{margin-top:5px}.main .content-container .article-content blockquote>p:last-child,.main .content-container .message-content blockquote>p:last-child{margin-bottom:5px}.main .content-container .article-content blockquote figure,.main .content-container .message-content blockquote figure{margin:15px 0}.main .content-container .article-content blockquote:last-child,.main .content-container .message-content blockquote:last-child{margin-bottom:15px}.main .content-container .article-content code,.main .content-container .article-content kbd,.main .content-container .article-content pre,.main .content-container .article-content samp,.main .content-container .message-content code,.main .content-container .message-content kbd,.main .content-container .message-content pre,.main .content-container .message-content samp{font-family:monospace,serif}.main .content-container .article-content pre,.main .content-container .message-content pre{margin:0}.main .content-container .article-content kbd,.main .content-container .message-content kbd{background-color:#f8f6ea;padding:2px 6px;border-radius:3px;border:1px solid #e0dab6;border-bottom-width:3px;text-shadow:0 1px 0 #fff;color:#5e551f}.main .content-container .article-content li code,.main .content-container .article-content p code,.main .content-container .message-content li code,.main .content-container .message-content p code{color:#a00;background:#eee;border:1px solid #ccc;padding:0 5px}.main .content-container .article-content .mathjax-wrapper,.main .content-container .message-content .mathjax-wrapper{max-width:100%;overflow:auto}.main .content-container .article-content .mathjax-wrapper mathjax,.main .content-container .message-content .mathjax-wrapper mathjax{font-size:16px;font-size:1.6rem}.main .content-container .article-content .footnote,.main .content-container .message-content .footnote{opacity:.7}.main .content-container .article-content .footnote ol,.main .content-container .message-content .footnote ol{padding-left:25px}.main .content-container .comments-title{margin:50px 0 20px;color:#084561;border-bottom:1px solid #f8ad32;font-weight:400;font-size:22px;font-size:2.2rem;line-height:30px}.wf-active .main .content-container .article-content ol:not(.summary-part),.wf-active .main .content-container .article-content p,.wf-active .main .content-container .article-content ul:not(.pagination){font-family:Merriweather,Liberation Serif,Times New Roman,Times,Georgia,FreeSerif,serif}.wf-active .main .content-container .article-content figcaption p{font-family:Source Sans Pro,Segoe UI,Trebuchet MS,Helvetica,Helvetica Neue,Arial,sans-serif;font-size:16px;font-size:1.6rem}.wf-active .main .content-container .article-content code,.wf-active .main .content-container .article-content kbd,.wf-active .main .content-container .article-content pre,.wf-active .main .content-container .article-content samp,.wf-active .main .content-container .message-content code,.wf-active .main .content-container .message-content kbd,.wf-active .main .content-container .message-content pre,.wf-active .main .content-container .message-content samp{font-family:Source Code Pro,monospace,serif}.js .spoiler{display:none}@media only screen and (min-width:1140px){.full-content-wrapper .tutorial-list article{width:29.3%}.main .content-container .topic-message .message .message-metadata .date .short-date{display:none}.main .content-container .topic-message .message .message-metadata .date .long-date{display:inline}}@media only screen and (min-width:960px){.content-wrapper,.full-content-wrapper{margin:0 0 0 4%}.content-wrapper.without-margin,.full-content-wrapper.without-margin{margin:0}.content-wrapper .content-wrapper,.full-content-wrapper .content-wrapper{max-width:none;margin:0}}@media only screen and (max-width:959px){.main .content-container .pubdate,.main .content-container .taglist{margin-left:10px;margin-right:10px}.main .content-container .article-content ol,.main .content-container .article-content p,.main .content-container .article-content ul:not(.pagination){font-size:15px;font-size:1.5rem;font-size:1.8ex}.main .content-container .content-wrapper .subtitle,.main .content-container .content-wrapper h1:not(.ico-after),.main .content-container .content-wrapper h2:not(.ico-after),.main .content-container .content-wrapper h3,.main .content-container .full-content-wrapper .subtitle,.main .content-container .full-content-wrapper h1:not(.ico-after),.main .content-container .full-content-wrapper h2:not(.ico-after),.main .content-container .full-content-wrapper h3{padding-left:10px;padding-right:10px}.main .content-container .content-wrapper .illu img,.main .content-container .full-content-wrapper .illu img{display:none}.main .content-container .content-wrapper .authors,.main .content-container .content-wrapper blockquote,.main .content-container .content-wrapper figure,.main .content-container .content-wrapper h4,.main .content-container .content-wrapper h5,.main .content-container .content-wrapper h6,.main .content-container .content-wrapper p,.main .content-container .full-content-wrapper .authors,.main .content-container .full-content-wrapper blockquote,.main .content-container .full-content-wrapper figure,.main .content-container .full-content-wrapper h4,.main .content-container .full-content-wrapper h5,.main .content-container .full-content-wrapper h6,.main .content-container .full-content-wrapper p{margin-left:10px;margin-right:10px}.main .content-container .content-wrapper figure blockquote,.main .content-container .content-wrapper figure p,.main .content-container .full-content-wrapper figure blockquote,.main .content-container .full-content-wrapper figure p{margin-left:0;margin-right:0}.main .content-container .content-wrapper .license,.main .content-container .full-content-wrapper .license{position:absolute;margin-top:0;top:62px;right:15px}}@media only screen and (max-width:759px){.main .content-container .article-content .btn{float:none;text-align:center}}.footer-container footer{color:#424242;padding:20px 0}.page-footer{background:#084561;height:40px;line-height:40px;border-top:3px solid #f8ad32;font-size:14px;font-size:1.4rem}.page-footer .wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.page-footer .copyright{color:#eee;margin:0}.page-footer ul{list-style:none;margin:0;padding:0}.page-footer ul.links li{display:inline-block;margin-left:25px}.page-footer ul.links li a{text-decoration:none;color:#eee;border-bottom:1px solid transparent}.page-footer ul.links li a:focus,.page-footer ul.links li a:hover{border-bottom-color:#f8ad32}.page-footer ul.social{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;text-align:center}.page-footer ul.social li{margin:-2px 10px;display:inline-block}.page-footer ul.social li a{display:block;height:16px;width:16px}.page-footer ul.social li a:after{opacity:.6}.page-footer ul.social li a:hover{border-bottom-color:transparent}.page-footer ul.social li a:hover:after{opacity:1}.page-footer .version,.page-footer .version a{color:hsla(0,0%,100%,.5)}.page-footer .version a:focus,.page-footer .version a:hover{color:#fff}@media only screen and (max-width:959px){.page-footer{text-align:center;height:auto}.page-footer .wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.page-footer .wrapper .social{-ms-flex:none}.page-footer .copyright,.page-footer .social{border-bottom:2px solid #0a5274}.page-footer ul li{margin:0 5px}}.alert-box{position:relative;padding:8px 30px 8px 15px;margin:0 0 15px 2%;color:#fff;text-shadow:rgba(0,0,0,.2) 0 0 2px;background:#777}.alert-box.alert-box-not-closable{padding-right:15px}.alert-box .alert-box-text{display:block;float:left}.alert-box .close-alert-box{display:block;position:absolute;top:8px;right:15px;height:20px;width:20px;text-indent:-9999px;text-decoration:none;background-color:transparent;line-height:22px;color:#fff}.alert-box .close-alert-box.ico-after:after{margin-top:4px}.alert-box .close-alert-box-text{width:auto;text-indent:0;top:8px}.alert-box .alert-box-title{margin:5px 0;padding:0;font-size:18px;font-weight:400}.alert-box.info,.alert-box.success{background:#48a200}.alert-box.error{background:#c0392b}.alert-box.alert,.alert-box.warning{background:#e67e22}.alert-box.not-member{background:#fdfdfd;color:#333;text-shadow:none;border-bottom:3px solid #d2d5d6}.alert-box.ico-after{padding-left:40px}.alert-box.ico-after:after{margin:12px 0 0 13px}.alert-box h4,.alert-box p{margin-left:0!important;margin-right:0!important}.alert-box p{margin:0}.alert-box a{color:#eee}.alert-box .alert-box-btn{display:inline-block;background:#084561;text-decoration:none;padding:8px 15px;margin:5px 0;color:#fff!important}.alert-box .alert-box-btn:focus,.alert-box .alert-box-btn:hover{background:#0b5c82}.alert-box .alert-box-btn.alert-box-btn-right{position:absolute;top:0;right:0;margin:0}.alert-box.empty{display:none}.content-wrapper .alert-box{margin:0 0 20px}.content-wrapper .alert-box+.not-member{margin-top:-20px}@media only screen and (min-width:760px){.alert-box .alert-box-text{display:inline}.topic-message .alert-box{padding:8px 75px 8px 15px}}@media only screen and (max-width:759px){.alert-box .alert-box-btn,.alert-box .alert-box-btn.alert-box-btn-right{position:relative;float:none;display:block;margin:5px 0 0;text-align:center}}.authors{color:#9c9c9c;padding-bottom:10px;border-bottom:1px solid #e0e4e5;margin-bottom:20px!important}.authors .authors-label{display:inline-block}.authors ul{list-style:none;padding:0}.authors ul,.authors ul li{display:inline-block;margin:0}.authors ul li .avatar{height:28px;width:28px;border:1px solid #cdd0d1;margin-right:3px;margin-top:-4px}.authors ul li a{display:block;text-decoration:none;color:#1088bf;height:36px;line-height:36px;padding:0 8px;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.authors ul li a.ico-after{padding-left:30px}.authors ul li a.ico-after:after{margin:10px 0 0 8px}.authors ul li a:focus,.authors ul li a:hover{background:#ddd;color:#084561}.authors ul li .info{padding-left:5px;color:#777}.autocomplete-wrapper{position:relative}.autocomplete-wrapper .autocomplete-dropdown{position:absolute;z-index:9}.autocomplete-wrapper .autocomplete-dropdown ul{padding:0;margin:0;background-color:#fff;border-right:1px solid #ccc;border-left:1px solid #ccc;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.autocomplete-wrapper .autocomplete-dropdown ul li{padding:4px 10px;border-bottom:1px solid #ccc;list-style:none}.autocomplete-wrapper .autocomplete-dropdown ul li.active,.autocomplete-wrapper .autocomplete-dropdown ul li:hover{background-color:#0c6790;color:#fff}.modal .autocomplete-dropdown{margin-top:-15px}.breadcrumb{display:none}@media only screen and (min-width:960px){.breadcrumb{position:relative;display:block;float:left;width:calc(100% - 230px);height:30px}.breadcrumb:after{content:" ";display:block;position:absolute;top:0;right:0;width:50px;height:100%;background-image:-webkit-gradient(linear,left top,right top,from(rgba(231,235,236,0)),to(rgba(231,235,236,.75)));background-image:-webkit-linear-gradient(left,rgba(231,235,236,0),rgba(231,235,236,.75));background-image:-o-linear-gradient(left,rgba(231,235,236,0),rgba(231,235,236,.75));background-image:linear-gradient(to right,rgba(231,235,236,0),rgba(231,235,236,.75))}.breadcrumb ol{margin:0;padding:0;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb ol li{position:relative;display:inline-block;padding-right:30px;line-height:30px}.breadcrumb ol li a{text-decoration:none;color:#084561}.breadcrumb ol li a:focus,.breadcrumb ol li a:hover{text-decoration:underline;outline:none}.breadcrumb ol li:not(:last-child):after{display:block;position:absolute;top:0;right:7px;content:" ";height:30px;width:15px;background-image:url(../images/sprite.png);background-repeat:no-repeat;background-position:0 -2586px;opacity:.2}}.content-item{background:#fff;min-height:60px;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;border:1px solid #dedede;border-bottom-width:2px;margin:0 10px 15px;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1 1 400px;-moz-box-flex:1;-ms-flex:1 1 400px;flex:1 1 400px;width:100%}.content-item.expand-description .content-description{height:36px;white-space:normal;font-size:14px;font-size:1.4rem;line-height:18px}.content-item.expand-description .content-meta{line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.content-item.expand-description .content-meta:not(.inline)>*{display:inline}.content-item a{text-decoration:none}.content-item>a:not(.btn){display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;width:100%}.content-item .content-illu{-webkit-box-flex:0;-webkit-flex:0 0 96px;-moz-box-flex:0;-ms-flex:0 0 96px;flex:0 0 96px;height:96px;background-color:#dedede}.content-item .content-illu img{width:100%;height:100%;background-color:#fff}.content-item .content-info{padding:10px 14px;height:76px;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;position:relative;min-width:100px}.content-item .content-reactions{position:absolute;z-index:0;bottom:6px;left:-14px;height:32px;width:32px;padding-left:1px;background-image:url(../images/sprite.png);background-position:0 -554px;color:#f8ad32;text-align:center;line-height:32px;font-weight:700;font-size:14px;font-size:1.4rem}.content-item .content-reactions span{position:relative;z-index:2}.content-item .content-reactions:before{content:"";display:block;position:absolute;top:0;bottom:0;right:0;left:0;z-index:1;background-image:url(../images/sprite.png);background-position:0 -522px;opacity:0;-webkit-transition:opacity .15s;-o-transition:opacity .15s;transition:opacity .15s}.content-item .content-reactions:focus,.content-item .content-reactions:hover{color:#fff}.content-item .content-reactions:focus:before,.content-item .content-reactions:hover:before{opacity:1}.content-item.has-reactions .content-meta{padding-left:14px}.content-item .content-title{margin:0;font-size:17px;font-size:1.7rem;font-weight:400;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#424242}.content-item a:focus,.content-item a:hover{outline:none}.content-item a:focus .content-title,.content-item a:hover .content-title{text-decoration:underline;outline:none}.content-item p{margin:0}.content-item .content-description{margin:0;font-size:15px;font-size:1.5rem;line-height:26px;height:26px;color:#999;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-item .content-description .short{display:none}.content-item .content-meta{color:#f8ad32;font-size:13px;font-size:1.3rem;line-height:15px}.content-item .content-meta:not(.inline)>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.content-item .content-meta .short{display:none}.content-item .content-meta a{color:#ef9708}.content-item .content-meta a:focus,.content-item .content-meta a:hover{text-decoration:underline}.content-item .content-tags{margin:0;padding:10px 0 0;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end}.content-item .content-tags li{padding:0;-webkit-box-flex:0;-webkit-flex:0 0 22px;-moz-box-flex:0;-ms-flex:0 0 22px;flex:0 0 22px;background-color:#eee;margin-bottom:5px;color:#777;display:block;text-align:right;-webkit-transition:color .15s,background-color .15s;-o-transition:color .15s,background-color .15s;transition:color .15s,background-color .15s}.content-item .content-tags li a{color:inherit;padding:0 12px;line-height:22px;height:22px;display:block}.content-item .content-tags li a:focus,.content-item .content-tags li a:hover{color:#eee;background-color:#777}.content-item.write-tutorial{background-color:#084561;border-color:#084561;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;height:96px}.content-item.write-tutorial .write-tutorial-text{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;text-align:center;margin:10px 14px}.content-item.write-tutorial .write-tutorial-text p{margin:0;font-size:16px}.content-item.write-tutorial .write-tutorial-text p.lead{font-size:18px;font-weight:700}.content-item.write-tutorial .btn-write-tutorial{background-color:#1c5b78;margin-right:28px;-webkit-transition:color .15s,background-color .15s;-o-transition:color .15s,background-color .15s;transition:color .15s,background-color .15s}.content-item.write-tutorial .btn-write-tutorial:focus,.content-item.write-tutorial .btn-write-tutorial:hover{background-color:#fff;color:#1c5b78}.content-item.topic-item .content-info{padding:14px 20px;height:68px}.content-item.topic-item .content-title{font-size:19px;font-size:1.9rem;line-height:24px;color:#084561}.content-item.topic-item .content-description{color:#505050;font-size:16px;font-size:1.6rem}.content-item.topic-item .member-item:focus,.content-item.topic-item .member-item:hover{text-decoration:underline}.content-item.topic-item .content-meta{font-size:14px;font-size:1.4rem;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-item-list{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;min-width:100%;margin:0 -10px}.content-item-list .fill{-webkit-box-flex:1;-webkit-flex:1 1 400px;-moz-box-flex:1;-ms-flex:1 1 400px;flex:1 1 400px;margin:0 10px}@media only screen and (max-width:959px){.full-content-wrapper .content-item .content-info h3{padding:0!important}.full-content-wrapper .content-item .content-info p:not(.content-meta){margin:0!important}}@media only screen and (max-width:759px){.content-item .content-tags,.content-item.write-tutorial{display:none}.content-item .content-description .short,.content-item .content-meta .short{display:inline}.content-item .content-description .long,.content-item .content-meta .long{display:none}}.zform-toolbar{margin:0;padding:2px;list-style-position:initial;list-style-type:none;border-bottom:none}.zform-toolbar a,.zform-toolbar button{display:block;float:left;cursor:pointer;border-bottom:1px solid transparent;text-decoration:none;color:#999;height:27px;line-height:30px;padding:0 10px;margin-left:1px;text-indent:-9999px;width:0}.zform-toolbar a .zform-popup,.zform-toolbar button .zform-popup{text-indent:0;line-height:20px}.zform-toolbar a.ico-after,.zform-toolbar button.ico-after{padding-left:30px}.zform-toolbar a:after,.zform-toolbar button:after{top:7px;left:12px}.zform-toolbar a:focus,.zform-toolbar a:hover,.zform-toolbar button:focus,.zform-toolbar button:hover{border-bottom-color:#1088bf;outline:none;background-color:#eee}.zform-toolbar button{padding:0 15px;height:30px;border-top:none;border-right:none;border-left:none}.zform-toolbar button[type=submit]{background:#084561;border-bottom-color:#084561;color:#ddd}.zform-toolbar button[type=submit]:focus,.zform-toolbar button[type=submit]:hover{color:#fff;background:#396a81;border-bottom-color:#396a81}.zform-button{background-repeat:no-repeat;background-position:center center}.zform-button-bold:after{background-position:0 -138px}.zform-button-italic:after{background-position:0 -250px}.zform-button-strike:after{background-position:0 -410px}.zform-button-abbr:after{background-position:0 -90px}.zform-button-key:after{background-position:0 -26px}.zform-button-sup:after{background-position:0 -442px}.zform-button-sub:after{background-position:0 -426px}.zform-button-center:after{background-position:0 -154px}.zform-button-right:after{background-position:0 -362px}.zform-button-ul:after{background-position:0 -42px}.zform-button-ol:after{background-position:0 -314px}.zform-button-quote:after{background-position:0 -346px}.zform-button-link:after{background-position:0 -282px}.zform-button-image:after{background-position:0 -218px}.zform-button-attention:after{background-position:0 -106px}.zform-button-error:after{background-position:0 -186px}.zform-button-question:after{background-position:0 -330px}.zform-button-infoblocks:after,.zform-button-information:after{background-position:0 -234px}.zform-button-secret:after{background-position:0 -378px}.zform-button-blockcode:after,.zform-button-monospace:after{background-position:0 -122px}.zform-button-titles:after{background-position:0 -506px}.zform-button-title1:after{background-position:0 -474px}.zform-button-title2:after{background-position:0 -490px}.zform-button-title3:after{background-position:0 -266px}.zform-button-title4:after{background-position:0 -58px}.zform-button-table:after{background-position:0 -458px}.zform-button-math:after{background-position:0 -298px}.zform-button-footnote:after{background-position:0 -202px}.zform-button-chars:after{background-position:0 -170px}.zform-button-smilies:after{background-position:0 -394px}div.zform-popup{top:32px;z-index:10;background:transparent;background-color:#fff;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(to,center),color-stop(8%,#ebebe5),color-stop(75%,#f9f9f6));background-image:-webkit-linear-gradient(center to top,#ebebe5 8%,#f9f9f6 75%);background-image:-o-linear-gradient(center to top,#ebebe5 8%,#f9f9f6 75%);background-image:linear-gradient(center to top,#ebebe5 8%,#f9f9f6 75%);border:1px solid #ccc;border-radius:3px;padding:2px}.zform-code-col{display:inline-block;vertical-align:top;margin:2px;min-width:100px}.zform-code-col>span{display:block;color:#2677c9;cursor:pointer}.zform-code-col>span[data-zform-selected=true]{color:blue;font-weight:700}.zform-code-col>span:focus,.zform-code-col>span:hover{color:#c87b02}.featured-resource-item{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;margin-right:1px;background-color:#ccc;position:relative;overflow:hidden;max-width:228px;min-width:170px;z-index:0;background-color:#084561}.featured-resource-item:before{content:"";display:block;padding-top:100%}.featured-resource-item .featured-resource-illu{position:absolute;z-index:1;top:0;left:0;height:100%;width:auto;-webkit-transition:.15s ease;-o-transition:.15s ease;transition:.15s ease;-webkit-transition-property:opacity,-webkit-filter,-webkit-transform;transition-property:opacity,-webkit-filter,-webkit-transform;-o-transition-property:filter,opacity,transform,-o-transform;transition-property:filter,opacity,transform;transition-property:filter,opacity,transform,-webkit-filter,-webkit-transform,-o-transform}.featured-resource-item .featured-resource-meta{position:absolute;z-index:3;color:#fff;bottom:0;right:0;left:0;padding:40px 14px 12px;text-shadow:1px 1px 0 rgba(0,0,0,.6);background-image:-webkit-linear-gradient(top,transparent 0,rgba(0,0,0,.2) 30px,rgba(0,0,0,.4));background-image:-o-linear-gradient(top,transparent 0,rgba(0,0,0,.2) 30px,rgba(0,0,0,.4));background-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.2) 30px,rgba(0,0,0,.4))}.featured-resource-item .featured-resource-meta h3{font-size:16px;line-height:20px;font-weight:400;margin:0;display:table-cell;vertical-align:middle;height:0;-webkit-transition:height .15s ease;-o-transition:height .15s ease;transition:height .15s ease}.featured-resource-item .featured-resource-meta p{font-size:12px;margin:0;line-height:22px}.featured-resource-item a:focus .featured-resource-illu,.featured-resource-item a:hover .featured-resource-illu{opacity:.4;-webkit-filter:blur(5px);filter:blur(5px);-webkit-transform:scale(1.05);-ms-transform:scale(1.05);-o-transform:scale(1.05);transform:scale(1.05)}.featured-resource-item a:focus .featured-resource-meta h3,.featured-resource-item a:hover .featured-resource-meta h3{height:190px;font-size:20px}.featured-resource-item>a{display:block}.featured-resource-edit-form{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start}.featured-resource-edit-form .featured-resource-item{margin-right:20px;-webkit-flex-basis:228px;-ms-flex-preferred-size:228px;flex-basis:228px}.featured-resource-edit-form form{width:auto;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}@media only screen and (max-width:759px){.featured-resource-edit-form{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:unset;-webkit-align-items:unset;-moz-box-align:unset;-ms-flex-align:unset;align-items:unset}}.search-box{width:100%;background:#eee;-webkit-box-shadow:rgba(0,0,0,.25) 0 0 3px;box-shadow:0 0 3px rgba(0,0,0,.25)}.search-box,.search-box form{min-height:60px}.search-box form label{display:block;line-height:40px;font-size:16px;font-size:1.6rem;color:#333;text-align:center;width:100%}.search-box form button,.search-box form input{border:1px solid #f8ad32;background:#fff;margin:5px 0 12px}.search-box form input{height:34px;padding:0 15px;border-right:none;width:85%;width:calc(100% - 71px)}.search-box form button{height:36px;text-indent:-9999px;border-left:none;width:40px;-webkit-transition:background .15s;-o-transition:background .15s;transition:background .15s;position:absolute;bottom:0;right:15px}.search-box form button:hover{background:#eee}.search-box form button:after{top:9px;left:12px;background-position:0 -2786px}@media only screen and (min-width:960px){.search-box form label{line-height:60px;width:300px;float:left}.search-box form button,.search-box form input{margin:12px 0;float:left}.search-box form input{width:calc(100% - 371px)}}.markdown-help{min-height:50px;overflow:hidden}.markdown-help .open-markdown-help{float:none!important;display:inline-block!important;margin-bottom:20px}.markdown-help .open-markdown-help .close-markdown-help-text{display:none}.topic-message .markdown-help{min-height:0}.topic-message .markdown-help .open-markdown-help{position:absolute;bottom:0;left:8px;margin-bottom:0}.markdown-help .markdown-help-more{display:none;background:#eee;padding:15px;margin-bottom:5px;border-bottom:1px solid #ccc}.markdown-help .markdown-help-more pre{margin:0}.markdown-help .markdown-help-more.show-markdown-help{display:block}.markdown-help .show-markdown-help+.open-markdown-help{margin-top:-5px;padding-top:5px;line-height:35px}.markdown-help .show-markdown-help+.open-markdown-help:after{margin-top:15px!important}.markdown-help .show-markdown-help+.open-markdown-help .close-markdown-help-text{display:inline}.markdown-help .show-markdown-help+.open-markdown-help .open-markdown-help-text{display:none}@media only screen and (max-width:759px){.markdown-help .open-markdown-help{position:relative;left:0;bottom:0;float:none;margin-left:0!important}.topic-message .markdown-help .markdown-help-more{margin-bottom:0}.topic-message .markdown-help .open-markdown-help{position:relative;width:100%;margin-left:-10px!important;padding-left:40px}.topic-message .markdown-help .open-markdown-help:after{margin-left:15px}.topic-message .markdown-help .show-markdown-help+.open-markdown-help{margin-top:0}}.mobile-menu,.mobile-menu-btn{display:none}@media only screen and (max-width:959px){.js .page-container{position:absolute;z-index:4;-webkit-transform:translateZ(0);transform:translateZ(0)}.js .mobile-menu{display:block;position:absolute;position:fixed;overflow-x:hidden;overflow-y:auto;z-index:1;-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);width:90%;height:100%;padding-bottom:20px;background:#222;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .mobile-menu .search{height:50px;position:relative;top:0;left:0;width:100%}.js .mobile-menu .search input{color:#eee;background-color:#333;width:76%;height:30px;padding:10px 5%;font-size:16px;font-size:1.6rem}.js .mobile-menu .search input:focus,.js .mobile-menu .search input:hover{padding-bottom:7px;border-bottom:3px solid #084561;background-color:#333}.js .mobile-menu .search button{display:none}.js .mobile-menu .search .search-more{background-color:#3f3f3f;width:14%;height:50px;line-height:50px;color:#ccc}.js .mobile-menu .mobile-menu-bloc,.js .mobile-menu .mobile-menu-link{width:90%;line-height:40px;text-indent:0}.js .mobile-menu .mobile-menu-bloc{margin:0 5% 15px}.js .mobile-menu .mobile-menu-bloc:nth-child(2){margin-top:15px}.js .mobile-menu .mobile-menu-bloc li,.js .mobile-menu .mobile-menu-bloc ul{margin:0;padding:0}.js .mobile-menu .mobile-menu-bloc .mobile-menu-link{margin:0;width:100%}.js .mobile-menu .mobile-menu-bloc .mobile-menu-link.disabled{opacity:.5}.js .mobile-menu .mobile-menu-bloc:not(.mobile-show-ico) .ico-after:after{display:none}.js .mobile-menu .mobile-menu-bloc[data-title]:before{display:block;content:attr(data-title);height:30px;font-size:14px;font-size:1.4rem;text-transform:uppercase;padding-bottom:3px;border-bottom:2px solid #3f3f3f;font-weight:700;color:#666}.js .mobile-menu .mobile-menu-bloc.mobile-show-ico .ico-after{padding-left:30px;width:calc(100% - 30px)}.js .mobile-menu .mobile-menu-bloc.mobile-show-ico .ico-after:after{top:12px;left:2px}.js .mobile-menu .mobile-menu-bloc.mobile-show-ico .icon{display:inline-block;width:16px;height:16px;margin:7px;line-height:30px;padding-left:5px}.js .mobile-menu .mobile-menu-bloc.mobile-show-ico .icon:after{top:0;left:0}.js .mobile-menu .mobile-menu-link{display:block;height:40px;line-height:40px;text-decoration:none;color:#ccc;font-size:16px;font-size:1.6rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background:none;border:none;text-align:left;padding:0}.js .mobile-menu .mobile-menu-link.mobile-menu-sublink{width:90%;margin:0 0 0 10%}.js .mobile-menu .mobile-menu-link.mobile-menu-bloc[data-title]{height:80px}.js .mobile-menu .mobile-menu-link.mobile-menu-bloc:not([data-title]){margin-bottom:0}.js .mobile-menu .mobile-menu-link:not(:last-child):not(.mobile-menu-bloc){border-bottom:1px solid #2c2c2c}.js .mobile-menu .mobile-menu-link[data-prefix]:before{content:"[" attr(data-prefix) "] "}.js .mobile-menu .mobile-menu-link.unread{font-weight:700;color:#eee}.js .mobile-menu .mobile-menu-link img,.js .mobile-menu .mobile-menu-link span{vertical-align:middle}.js .mobile-menu .mobile-menu-link img{float:left;margin:5px 5px 5px 0;width:30px;height:30px}.js .mobile-menu .mobile-menu-link .label{padding:0 0 0 50px}.js .mobile-menu .mobile-menu-link img+.label{padding:0 0 0 10px}.js.show-mobile-menu{width:100%}.js.show-mobile-menu body{position:fixed}.js.show-mobile-menu .page-container{height:100%;-webkit-transform:translate3d(90%,0,0);transform:translate3d(90%,0,0);overflow:hidden;-webkit-box-shadow:0 0 7px rgba(0,0,0,.25);box-shadow:0 0 7px rgba(0,0,0,.25)}.js.show-mobile-menu .mobile-menu{-webkit-transform:translateZ(0);transform:translateZ(0)}.js.enable-mobile-menu .mobile-menu-hide,.js.enable-mobile-menu .page-container .mobile-menu-bloc,.js.enable-mobile-menu .page-container .mobile-menu-link,.js.enable-mobile-menu .page-container .search{display:none}.js.enable-mobile-menu .page-container .mobile-menu-btn+.header-logo{margin-left:0}.js.enable-mobile-menu .page-container .mobile-menu-btn{display:block;float:left;height:50px;width:50px}.js.enable-mobile-menu .page-container .mobile-menu-btn:after{display:block;content:" ";position:absolute;top:15px;left:13px;height:22px;width:22px;background-image:url(../images/sprite.png);background-repeat:no-repeat;background-position:0 -2026px}html:not(.enable-mobile-menu) .header-container{border-bottom:1px solid #ccc}html:not(.enable-mobile-menu) .page-container .header-logo{margin-left:10px}html:not(.enable-mobile-menu) .page-container .header-logo-link:after{left:55px;right:205px}html:not(.enable-mobile-menu) .logbox .my-account,html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link{position:absolute;top:0;right:0;height:50px;width:50px}html:not(.enable-mobile-menu) .logbox .my-account .avatar,html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link .avatar{height:50px;width:50px}html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(1) .ico-link{right:150px}html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(2) .ico-link{right:100px}html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link:nth-child(3),html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(3) .ico-link{right:50px}html:not(.enable-mobile-menu) .logbox.unlogged{position:absolute;top:0;right:0}}.modal{display:none}.modals-container{display:none;position:fixed;top:0;left:0;height:100vh;width:100vw;overflow-y:auto;z-index:8}.modals-container.open{display:block}.modals-container .modals-wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;width:100vw;min-height:100vh;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.modals-container .modals-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;background-color:rgba(0,0,0,.7)}.modals-container .modal{position:relative;z-index:2;background:#eee;-webkit-box-flex:0;-webkit-flex:0;-moz-box-flex:0;-ms-flex:0;flex:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.modals-container .modal.open{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.modals-container .modal .modal-title{display:block;border-bottom:3px solid #f8ad32;line-height:53px;height:50px;text-indent:15px;background:#084561;color:#fff;font-size:16px;font-size:1.6rem;text-shadow:rgba(0,0,0,.75) 0 0 3px}.modals-container .modal .modal-title.ico-after{text-indent:40px}.modals-container .modal .modal-title.ico-after:after{margin:18px 0 0 15px}.modals-container .modal .modal-body{padding:20px 15px 5px;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.modals-container .modal .modal-body p{width:370px}.modals-container .modal .modal-body table{margin-top:0}.modals-container .modal .modal-body input:not([type=checkbox]):not([type=radio]),.modals-container .modal .modal-body p,.modals-container .modal .modal-body select,.modals-container .modal .modal-body textarea{margin:0 0 15px}.modals-container .modal .modal-footer{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;border-top:1px solid #ccc;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-moz-box-orient:horizontal;-moz-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.modals-container .modal .modal-footer>*{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;height:50px;line-height:50px;margin:0;padding:0;text-align:center;background:none!important;color:#333}.modals-container .modal .modal-footer>:not(:first-child){border-right:1px solid #ccc}.modals-container .modal .modal-footer>:only-child{font-weight:700}.modals-container .modal .modal-footer .btn-submit,.modals-container .modal .modal-footer [type=submit]{color:#084561;font-weight:700}.modals-container .modal .modal-footer .btn-cancel{color:#555}.enable-mobile-menu .modals-container .modal{margin:25px;-webkit-box-shadow:0 0 5px #000;box-shadow:0 0 5px #000;max-width:100%}.enable-mobile-menu .modals-container .modal.modal-flex{width:400px}@media only screen and (min-width:960px){.enable-mobile-menu .modals-container .modal{-webkit-box-shadow:0 2px 7px rgba(0,0,0,.7);box-shadow:0 2px 7px rgba(0,0,0,.7)}.enable-mobile-menu .modals-container .modal .modal-title{line-height:50px}.enable-mobile-menu .modals-container .modal .btn-submit:not(.disabled):focus,.enable-mobile-menu .modals-container .modal .btn-submit:not(.disabled):hover,.enable-mobile-menu .modals-container .modal [type=submit]:not(.disabled):focus,.enable-mobile-menu .modals-container .modal [type=submit]:not(.disabled):hover{color:#eee;background:#48a200!important}.enable-mobile-menu .modals-container .modal .btn-cancel:focus,.enable-mobile-menu .modals-container .modal .btn-cancel:hover{color:#eee;background:#c0392b!important}}.modal .vote-details{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;color:#444;max-height:400px;overflow-y:auto}.modal .vote-details .vote-col{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;padding:0 8px 15px}.modal .vote-details .vote-col h3{margin:0 0 2px}.modal .vote-details ul.vote-list{padding:0;margin:0;list-style:none}.modal .vote-details ul.vote-list li{line-height:24px;border-top:1px solid #ccc}.modal .vote-details ul.vote-list li a{padding:4px;text-decoration:none;color:inherit;display:block}.modal .vote-details ul.vote-list li a:focus,.modal .vote-details ul.vote-list li a:hover{background-color:#fff}.modal .vote-details ul.vote-list li.muted{color:#777;padding:4px}.modal .vote-details ul.vote-list li img{height:24px;width:24px;margin-right:6px}.pagination{list-style:none;margin:0;padding:0;border-top:1px solid #d2d5d6;border-bottom:1px solid #d2d5d6;background:#fbfbfb;height:40px;margin-bottom:20px!important}.pagination li{float:left}.pagination li a{display:block;text-align:center;text-decoration:none;color:#084561;min-width:45px;height:40px;line-height:40px;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.pagination li a.current{height:38px;color:gray;background:#f7f7f7;margin-top:-1px;border-left:1px solid #d2d5d6;border-bottom:3px solid #d2d5d6;border-right:2px solid #d2d5d6}.pagination li a.ico-after:after{margin-top:12px}.pagination li a[href]:focus,.pagination li a[href]:hover{background:#d2d5d6}.pagination li.next a,.pagination li.prev a{padding:0 15px}.pagination li.prev .ico-after{padding-left:30px}.pagination li.prev .ico-after:after{margin-left:8px}.pagination li.next{float:right}.pagination li.next .ico-after{padding-right:30px}.pagination li.next .ico-after:after{right:8px;left:auto}.pagination.pagination-top li a.current{margin-top:0;border-top:3px solid #d2d5d6;border-bottom:none;height:35px;line-height:35px;padding-bottom:3px}.pagination.pagination-chapter{margin-left:0}.pagination.pagination-chapter li{max-width:45%}.pagination.pagination-chapter a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media only screen and (min-width:960px){.pagination{border:1px solid #d2d5d6}}@media only screen and (max-width:759px){.pagination li.next a,.pagination li.prev a{min-width:0}.pagination li.next a span,.pagination li.prev a span{display:none}}.codehilite .hll{background-color:#ffc}.codehilite{background:#f8f8f8}.codehilite .c{color:#408080;font-style:italic}.codehilite .k{color:green;font-weight:700}.codehilite .o{color:#666}.codehilite .cm{color:#408080;font-style:italic}.codehilite .cp{color:#bc7a00}.codehilite .c1,.codehilite .cs{color:#408080;font-style:italic}.codehilite .gd{color:#a00000}.codehilite .ge{font-style:italic}.codehilite .gr{color:red}.codehilite .gh{color:navy;font-weight:700}.codehilite .gi{color:#00a000}.codehilite .go{color:gray}.codehilite .gp{color:navy;font-weight:700}.codehilite .gs{font-weight:700}.codehilite .gu{color:purple;font-weight:700}.codehilite .gt{color:#0040d0}.codehilite .kc,.codehilite .kd,.codehilite .kn{color:green;font-weight:700}.codehilite .kp{color:green}.codehilite .kr{color:green;font-weight:700}.codehilite .kt{color:#b00040}.codehilite .m{color:#666}.codehilite .s{color:#ba2121}.codehilite .na{color:#7d9029}.codehilite .nb{color:green}.codehilite .nc{color:#00f;font-weight:700}.codehilite .no{color:#800}.codehilite .nd{color:#a2f}.codehilite .ni{color:#999;font-weight:700}.codehilite .ne{color:#d2413a;font-weight:700}.codehilite .nf{color:#00f}.codehilite .nl{color:#a0a000}.codehilite .nn{color:#00f;font-weight:700}.codehilite .nt{color:green;font-weight:700}.codehilite .nv{color:#19177c}.codehilite .ow{color:#a2f;font-weight:700}.codehilite .w{color:#bbb}.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo{color:#666}.codehilite .sb,.codehilite .sc{color:#ba2121}.codehilite .sd{color:#ba2121;font-style:italic}.codehilite .s2{color:#ba2121}.codehilite .se{color:#b62;font-weight:700}.codehilite .sh{color:#ba2121}.codehilite .si{color:#b68;font-weight:700}.codehilite .sx{color:green}.codehilite .sr{color:#b68}.codehilite .s1{color:#ba2121}.codehilite .ss{color:#19177c}.codehilite .bp{color:green}.codehilite .vc,.codehilite .vg,.codehilite .vi{color:#19177c}.codehilite .il{color:#666}.codehilitetable{width:100%!important;table-layout:fixed;border-color:rgba(0,0,0,.15)}.codehilitetable td{padding:0;vertical-align:top}.codehilitetable .linenos{background-color:#fbfbfc;border-right:1px solid #ececf0;width:46px}.codehilitetable .codehilite pre,.codehilitetable .linenos{padding-top:15px;padding-bottom:15px}.codehilitetable .linenodiv pre{text-align:right;padding-right:7px;color:#bebec5}.codehilitetable .codehilite{width:100%;height:auto;overflow:auto}.codehilitetable .codehilite pre{white-space:pre;overflow:auto}.codehilitetable .code pre{overflow:auto;word-wrap:normal;padding-left:7px;padding-right:7px}.taglist{list-style:none;padding:0;margin:-14px 0 15px;height:30px;line-height:30px}.taglist li{float:right}.taglist li a{display:block;text-decoration:none;padding:0 10px;background:#396a81;color:#fff;margin-left:1px;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.taglist li a:focus,.taglist li a:hover{background:#fff;color:#396a81;border-bottom:1px solid #396a81}.content-tags-list{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.content-tags-list:after{content:'';display:block;-webkit-box-flex:20;-webkit-flex:20;-moz-box-flex:20;-ms-flex:20;flex:20}.content-tag{margin:0 5px 20px;line-height:1.4em;white-space:nowrap;-webkit-box-flex:1;-webkit-flex:auto;-moz-box-flex:1;-ms-flex:auto;flex:auto}.content-tag a{color:#777;display:block;padding:8px 15px;text-decoration:none;background-color:#eee;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease;border:1px solid #ccc}.content-tag a:focus,.content-tag a:hover{color:#eee;background-color:#777;border-color:#777;outline:none}.content-tag a .tag-count{color:#aaa}.tooltips-container .tooltip-wrapper{position:absolute;z-index:7}.tooltips-container .tooltip-wrapper .tooltip{font-size:12px;line-height:16px;color:#fff;background-color:#333;padding:6px 8px}.tooltips-container .tooltip-wrapper.top:after{border-top:6px solid #333}.tooltips-container .tooltip-wrapper.bottom:before{border-bottom:6px solid #333}.tooltips-container .tooltip-wrapper.bottom:before,.tooltips-container .tooltip-wrapper.top:after{margin:auto;content:'';height:0;width:0;display:block;border-left:6px solid transparent;border-right:6px solid transparent}.topic-list{margin-top:50px!important;margin-bottom:50px!important}.topic-list h2{margin-bottom:0!important}.topic-list h2+.topic{border-top:none}.topic-list .topic{position:relative;min-height:81px;line-height:25px;border-top:1px solid #fff;border-bottom:1px solid #ccc;overflow:hidden;border-left:1px solid transparent;clear:both}.topic-list .topic:first-child{border-top:1px solid #ccc}.topic-list .topic:before{content:" ";display:block;position:absolute;background:transparent;height:100%;width:2px}.topic-list .topic.unread:before{background:#1088bf}.topic-list .topic:nth-child(2n){background:none}.topic-list .topic.unread{background:#fff}.topic-list .topic.unread .topic-description .topic-title{font-weight:700}.topic-list .topic.active:before,.topic-list .topic:hover:before{width:5px;background:#1088bf}.topic-list .topic.selected{background-color:#eaf7fd}.topic-list a{text-decoration:none;color:#0e77a8}.topic-list a:focus,.topic-list a:hover{color:#0e77a8;text-decoration:underline;outline:none}.topic-list .topic-answers,.topic-list .topic-description,.topic-list .topic-infos,.topic-list .topic-last-answer{display:block;float:left;padding:4px 0;margin:0}.topic-list .topic-infos{width:5%}.topic-list .topic-infos input[type=checkbox]{margin:29px 25% 0}.topic-list .topic-infos .ico-after{display:block;text-indent:-9999px}.topic-list .topic-infos .ico-after:after{margin:4px 0 0 15px}.topic-list .topic-description{position:relative;width:60%}.topic-list .topic-description .topic-image{float:left;max-height:60px;max-width:60px;margin:5px 15px 0 0}.topic-list .topic-description .topic-tags{list-style:none;padding:0;margin:0;display:inline}.topic-list .topic-description .topic-tags .topic-tag{display:block;height:23px;line-height:23px;float:left;padding:0 5px;margin:0 3px 0 0;color:#396a81;background:#fcfcfc;border:1px solid #ccc}.topic-list .topic-description .topic-tags .topic-tag:focus,.topic-list .topic-description .topic-tags .topic-tag:hover{background:#fff;color:#084561;border-color:#084561;text-decoration:none}.topic-list .topic-description .topic-tags .topic-tag:focus{-webkit-box-shadow:#396a81 0 0 3px;box-shadow:0 0 3px #396a81}.topic-list .topic-description .topic-tags li:last-child .topic-tag{margin-right:5px}.topic-list .topic-description .topic-title-link{display:block;min-height:48px}.topic-list .topic-description .topic-title-link:focus,.topic-list .topic-description .topic-title-link:hover{text-decoration:none}.topic-list .topic-description .topic-title-link:focus .topic-title,.topic-list .topic-description .topic-title-link:hover .topic-title{text-decoration:underline}.topic-list .topic-description .topic-subtitle,.topic-list .topic-description .topic-title{display:block;margin:0!important;padding:0}.topic-list .topic-description .topic-title{font-size:16px;font-size:1.6rem;font-weight:400}.topic-list .topic-description .topic-subtitle{min-height:24px;line-height:1.5em;color:#777}.topic-list .topic-description .topic-members{margin:0;color:#777}.topic-list .topic-answers{width:12%;text-align:center;padding-top:29px}.topic-list .topic-last-answer{width:23%}.topic-list .topic-last-answer .topic-no-last-answer{display:block;margin-top:27px;color:#084561;opacity:.5}.topic-list .highlighted{background-color:rgba(255,255,100,.5)}.forum-list .group-title{max-width:100%;margin-top:30px!important;clear:both;border-bottom:1px solid #ccc;color:#f8ad32}.topic-list-small .topic{height:60px}.topic-list-small .topic-infos input[type=checkbox]{margin-top:18px}.topic-list-small .topic-description{padding-left:1.5%}.topic-list-small .topic-description .topic-title{font-weight:400;margin-top:2px}.topic-list-small .topic-infos+.topic-description{padding-left:0}.topic-list-small .topic-answers{padding-top:17px}.topic-list-small .topic-answers span{display:block;float:left;width:50%}.topic-list-small .topic-last-answer{width:18%}.topic-list-small .topic-last-answer .topic-no-last-answer{margin-top:13px}.topic-list-small .topic-last-answer .forum-last-message{display:block}.topic-list-small .topic-last-answer .forum-last-message .forum-last-message-long{display:none}.topic-list-small .topic-last-answer .forum-last-message-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media only screen and (min-width:960px){.topic-list .topic-last-answer-short-date,.topic-list .topic-members-short-date{display:none}.topic-list:not(.topic-list-small) .topic-last-answer .topic-no-last-answer{margin-top:24px}.forum-list .topic{min-height:0}.forum-list .topic-last-answer .forum-last-message .forum-last-message-long{display:none}}@media only screen and (max-width:959px){.topic-list .topic{background:none!important}.topic-list .topic p{margin:0!important}.topic-list .topic .topic-members .topic-members-long-date{display:none}.topic-list .topic .topic-answers{padding:0;width:30%;border-bottom:1px solid #ccc}.topic-list .topic .topic-answers.topic-no-answer{display:none}.topic-list .topic .topic-last-answer{width:30%;padding:0;text-align:right}.topic-list .topic .topic-last-answer .topic-last-answer-short-date{font-size:1.3rem}.topic-list .topic .topic-last-answer .topic-last-answer-long-date{display:none}.topic-list .topic .topic-last-answer .topic-no-last-answer{text-align:center}}@media only screen and (max-width:759px){.topic-list .topic-infos .ico-after:after{margin:4px 0 0 2px}.topic-list .topic-description .topic-subtitle:empty{display:none}.topic-list .topic-last-answer .topic-no-last-answer{font-size:1.3rem}.forum-list .topic-description .topic-subtitle{margin-left:10px}}.notification-list{margin-top:50px!important;margin-bottom:50px!important}.notification-list .notification{position:relative;line-height:25px;border-top:1px solid #fff;border-bottom:1px solid #ccc;overflow:hidden;border-left:1px solid transparent;clear:both}.notification-list .notification:first-child{border-top:1px solid #ccc}.notification-list .notification:before{content:" ";display:block;position:absolute;background:transparent;height:100%;width:2px}.notification-list .notification.unread:before{background:#1088bf}.notification-list .notification:nth-child(2n){background:none}.notification-list .notification.unread{background:#fff}.notification-list .notification.unread .notification-description .notification-title{font-weight:700}.notification-list .notification.active:before,.notification-list .notification:hover:before{width:5px;background:#1088bf}.notification-list .notification.selected{background-color:#eaf7fd}.notification-list a{text-decoration:none;color:#0e77a8}.notification-list a:focus,.notification-list a:hover{color:#0e77a8;text-decoration:underline;outline:none}.notification-list .notification-description,.notification-list .notification-infos,.notification-list .notification-last-answer{display:block;float:left;padding:4px 0;margin:0}.notification-list .notification-infos{width:5%}.notification-list .notification-infos .ico-after{display:block;text-indent:-9999px}.notification-list .notification-infos .ico-after:after{margin:4px 0 0 15px}.notification-list .notification-description{position:relative;width:60%}.notification-list .notification-description .notification-title-link{display:block}.notification-list .notification-description .notification-title-link:focus,.notification-list .notification-description .notification-title-link:hover{text-decoration:none}.notification-list .notification-description .notification-title-link:focus .topic-title,.notification-list .notification-description .notification-title-link:hover .topic-title{text-decoration:underline}.notification-list .notification-description .notification-title{display:block;margin:0!important;padding:0;font-size:16px;font-size:1.6rem;font-weight:400}.notification-list .notification-last-answer{width:35%}@media only screen and (min-width:960px){.notification-list .notification-last-answer-short-date{display:none}}@media only screen and (max-width:959px){.notification-list .notification{background:none!important}.notification-list .notification .notification-last-answer{width:30%;text-align:right}.notification-list .notification .notification-last-answer .notification-last-answer-short-date{font-size:1.3rem}.notification-list .notification .notification-last-answer .notification-last-answer-long-date{display:none}}@media only screen and (max-width:759px){.notification-list .notification-infos .ico-after:after{margin:4px 0 0 2px}.notification-list .notification{background:none!important}.notification-list .notification .notification-last-answer{width:20%}}.topic-message{position:relative}.topic-message.repeated .message,.topic-message.repeated .message .is-author{background:#eee}.topic-message.repeated .message:after{border-right-color:#eee}.topic-message.helpful .message,.topic-message.helpful .message .is-author{background:#e9f9dc}.topic-message.helpful .message:after{border-right-color:#e9f9dc}.topic-message.helpful.repeated .message,.topic-message.helpful.repeated .message .is-author{background:#eaefe6}.topic-message.helpful.repeated .message:after{border-right-color:#eaefe6}.topic-message .user .avatar-link{display:block;height:58px;width:58px;z-index:0;position:absolute;top:0;border:1px solid #ddd}.topic-message .user .avatar-link[href]:focus,.topic-message .user .avatar-link[href]:hover{border-color:#fff;overflow:hidden;-webkit-box-shadow:rgba(0,0,0,.3) 0 1px 7px;box-shadow:0 1px 7px rgba(0,0,0,.3)}.topic-message .user .avatar-link img{height:58px;width:58px}.topic-message .user .user-metadata{width:60px;height:25px}.topic-message .user .user-metadata a{display:block;float:left;border:1px solid #d2d5d6;border-top:0;text-align:center;background-color:#edefef;text-decoration:none;color:#424242;height:25px;line-height:26px;width:58px;color:#777;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.topic-message .user .user-metadata a:focus,.topic-message .user .user-metadata a:hover{border-bottom-width:1px;border-bottom-color:#777;background:#fff}.topic-message .user .user-metadata a.positive{color:#48a200}.topic-message .user .user-metadata a.negative{color:#c0392b;font-weight:700}.topic-message .message{position:relative;background-color:#fdfdfd;border:1px solid #d2d5d6;border-right-width:2px;border-bottom-width:3px;min-height:75px}.topic-message .message .is-author{position:absolute;top:-16px;left:10px;background:#fdfdfd;padding:0 5px;font-size:12px;line-height:20px;color:#999;border-top:1px solid #d2d5d6}.topic-message .message .is-author:after,.topic-message .message .is-author:before{content:" ";display:block;position:absolute;top:0;height:15px;width:1px;background:#d2d5d6}.topic-message .message .is-author:before{left:0}.topic-message .message .is-author:after{right:0}.topic-message .message .message-metadata{display:inline-block;font-size:14px;font-size:1.4rem;margin-left:5px}.topic-message .message .message-metadata a{display:block;float:left;color:#999;text-decoration:none;height:30px;line-height:30px;padding:0 5px;border-bottom:1px solid #d2d5d6;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.topic-message .message .message-metadata a:focus,.topic-message .message .message-metadata a:hover{border-bottom:1px solid #0e77a8;color:#0e77a8;outline:none}.topic-message .message .message-metadata .username{color:#484848;font-size:16px;font-size:1.6rem;margin-right:3px}.topic-message .message .message-metadata .date{line-height:32px}.topic-message .message .message-metadata .date .long-date{display:none}.topic-message .message .message-actions{margin:0;padding:0;list-style:none;position:absolute;top:0;right:0}.topic-message .message .message-actions li{float:left}.topic-message .message .message-content{clear:both;padding-top:1px}.topic-message .message .message-content>div>p:first-child{margin-top:7px}.topic-message .message .message-content>div>figure:first-child{margin-top:8px}.topic-message .message .message-content .message-hidden-content{display:none}.topic-message .message .message-content .message-edited,.topic-message .message .message-content .message-helpful,.topic-message .message .message-content .message-hidden,.topic-message .message .message-content .message-repeated{padding-top:3px 0 0}.topic-message .message .message-content .message-edited.ico-after,.topic-message .message .message-content .message-helpful.ico-after,.topic-message .message .message-content .message-hidden.ico-after,.topic-message .message .message-content .message-repeated.ico-after{text-indent:20px}.topic-message .message .message-content .message-edited.ico-after:after,.topic-message .message .message-content .message-helpful.ico-after:after,.topic-message .message .message-content .message-hidden.ico-after:after,.topic-message .message .message-content .message-repeated.ico-after:after{margin:4px 0}.topic-message .message .message-content .message-edited,.topic-message .message .message-content .message-hidden,.topic-message .message .message-content .message-repeated{font-style:italic;color:#999}.topic-message .message .message-content .message-edited:after,.topic-message .message .message-content .message-hidden:after,.topic-message .message .message-content .message-repeated:after{opacity:.5}.topic-message .message .message-content .message-hidden{margin-top:1px}.topic-message .message .message-content .message-helpful{color:#48a200;text-indent:20px}.topic-message .message .message-content textarea{margin:10px 0 10px -1px;background-color:transparent;min-height:150px}.topic-message .message .message-bottom{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-align:start;-moz-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;min-height:30px}.topic-message .message .message-bottom .signature{border-top:1px solid #d2d5d6;padding:3px 0 3px 10px;margin:0 10px 0 0;font-size:12px;font-size:1.2rem;color:#999;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.topic-message .message .message-bottom .signature p{margin:0;padding:0}.topic-message .message .message-bottom .signature a{color:#999;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.topic-message .message .message-bottom .signature a:focus,.topic-message .message .message-bottom .signature a:hover{text-decoration:none;color:#555}.topic-message .message .message-bottom .message-karma{margin-left:auto;margin-bottom:-2px}.topic-message .message .message-bottom .message-karma button.ico-after,.topic-message .message .message-bottom .message-karma span{border-bottom-width:3px;border-bottom-color:transparent;background:none!important;height:32px}.topic-message .message .message-bottom .message-karma span.downvote:not(.has-vote),.topic-message .message .message-bottom .message-karma span.upvote:not(.has-vote){border-bottom:none;opacity:.5}.topic-message .message .message-bottom .message-karma button{-webkit-transition-property:opacity,border;-o-transition-property:opacity,border;transition-property:opacity,border}.topic-message .message .message-bottom .message-karma button.voted:hover:after{opacity:.5}.topic-message .message .message-bottom .message-karma .downvote:after,.topic-message .message .message-bottom .message-karma .upvote:after{left:10px}.topic-message .message .message-bottom .message-karma .downvote.voted:after,.topic-message .message .message-bottom .message-karma .upvote.voted:after{opacity:1}.topic-message .message .message-bottom .message-karma .downvote:focus:not(.more-voted),.topic-message .message .message-bottom .message-karma .downvote:hover:not(.more-voted),.topic-message .message .message-bottom .message-karma .upvote:focus:not(.more-voted),.topic-message .message .message-bottom .message-karma .upvote:hover:not(.more-voted){border-bottom-color:transparent}.topic-message .message .message-bottom .message-karma .downvote:not(.has-vote),.topic-message .message .message-bottom .message-karma .upvote:not(.has-vote){text-indent:-9999px;width:0}.topic-message .message .message-bottom .message-karma .downvote.more-voted,.topic-message .message .message-bottom .message-karma .upvote.more-voted{font-weight:700}.topic-message .message .message-bottom .message-karma .upvote{color:#48a200}.topic-message .message .message-bottom .message-karma .upvote.more-voted{border-bottom-color:#48a200}.topic-message .message .message-bottom .message-karma .downvote{color:#c0392b}.topic-message .message .message-bottom .message-karma .downvote.more-voted{border-bottom-color:#c0392b}.topic-message .message .message-bottom .message-karma .tick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-message .message .message-bottom .message-karma .tick:focus,.topic-message .message .message-bottom .message-karma .tick:hover{color:#555;border-bottom-color:#48a200}.topic-message .message .message-bottom .message-karma .tick.active{color:#48a200}.topic-message .message .message-bottom .message-karma .tick.active:after{opacity:1}.topic-message .message .message-buttons{margin:0 0 0 10px;padding:0;list-style:none;border-bottom:none}.topic-message .message .message-buttons a{text-indent:-9999px;width:0}.topic-message .message .message-buttons a:after{left:12px!important}.topic-message .message .message-submit{margin-left:auto;margin-right:10px}.topic-message .message .message-actions,.topic-message .message .message-buttons,.topic-message .message .message-karma,.topic-message .message .message-submit{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-box;display:flex}.topic-message .message .message-actions form,.topic-message .message .message-buttons form,.topic-message .message .message-karma form,.topic-message .message .message-submit form{width:auto}.topic-message .message .message-actions .downvote,.topic-message .message .message-actions .upvote,.topic-message .message .message-actions a,.topic-message .message .message-actions button,.topic-message .message .message-buttons .downvote,.topic-message .message .message-buttons .upvote,.topic-message .message .message-buttons a,.topic-message .message .message-buttons button,.topic-message .message .message-karma .downvote,.topic-message .message .message-karma .upvote,.topic-message .message .message-karma a,.topic-message .message .message-karma button,.topic-message .message .message-submit .downvote,.topic-message .message .message-submit .upvote,.topic-message .message .message-submit a,.topic-message .message .message-submit button{display:block;float:left;margin-left:3px;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}.topic-message .message .message-actions .downvote.ico-after,.topic-message .message .message-actions .upvote.ico-after,.topic-message .message .message-actions a.ico-after,.topic-message .message .message-actions button.ico-after,.topic-message .message .message-buttons .downvote.ico-after,.topic-message .message .message-buttons .upvote.ico-after,.topic-message .message .message-buttons a.ico-after,.topic-message .message .message-buttons button.ico-after,.topic-message .message .message-karma .downvote.ico-after,.topic-message .message .message-karma .upvote.ico-after,.topic-message .message .message-karma a.ico-after,.topic-message .message .message-karma button.ico-after,.topic-message .message .message-submit .downvote.ico-after,.topic-message .message .message-submit .upvote.ico-after,.topic-message .message .message-submit a.ico-after,.topic-message .message .message-submit button.ico-after{padding-left:30px!important}.topic-message .message .message-actions .downvote:after,.topic-message .message .message-actions .upvote:after,.topic-message .message .message-actions a:after,.topic-message .message .message-actions button:after,.topic-message .message .message-buttons .downvote:after,.topic-message .message .message-buttons .upvote:after,.topic-message .message .message-buttons a:after,.topic-message .message .message-buttons button:after,.topic-message .message .message-karma .downvote:after,.topic-message .message .message-karma .upvote:after,.topic-message .message .message-karma a:after,.topic-message .message .message-karma button:after,.topic-message .message .message-submit .downvote:after,.topic-message .message .message-submit .upvote:after,.topic-message .message .message-submit a:after,.topic-message .message .message-submit button:after{top:7px;left:7px;-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease;opacity:.5;margin:0}.topic-message .message .message-actions .downvote,.topic-message .message .message-actions .upvote,.topic-message .message .message-actions a,.topic-message .message .message-actions button.ico-after,.topic-message .message .message-buttons .downvote,.topic-message .message .message-buttons .upvote,.topic-message .message .message-buttons a,.topic-message .message .message-buttons button.ico-after,.topic-message .message .message-karma .downvote,.topic-message .message .message-karma .upvote,.topic-message .message .message-karma a,.topic-message .message .message-karma button.ico-after,.topic-message .message .message-submit .downvote,.topic-message .message .message-submit .upvote,.topic-message .message .message-submit a,.topic-message .message .message-submit button.ico-after{border-bottom:1px solid #d2d5d6;text-decoration:none;color:#999;height:29px;line-height:30px;padding:0 10px}.topic-message .message .message-actions a,.topic-message .message .message-actions button.ico-after,.topic-message .message .message-buttons a,.topic-message .message .message-buttons button.ico-after,.topic-message .message .message-karma a,.topic-message .message .message-karma button.ico-after,.topic-message .message .message-submit a,.topic-message .message .message-submit button.ico-after{cursor:pointer}.topic-message .message .message-actions a:focus,.topic-message .message .message-actions a:hover,.topic-message .message .message-actions button.ico-after:focus,.topic-message .message .message-actions button.ico-after:hover,.topic-message .message .message-buttons a:focus,.topic-message .message .message-buttons a:hover,.topic-message .message .message-buttons button.ico-after:focus,.topic-message .message .message-buttons button.ico-after:hover,.topic-message .message .message-karma a:focus,.topic-message .message .message-karma a:hover,.topic-message .message .message-karma button.ico-after:focus,.topic-message .message .message-karma button.ico-after:hover,.topic-message .message .message-submit a:focus,.topic-message .message .message-submit a:hover,.topic-message .message .message-submit button.ico-after:focus,.topic-message .message .message-submit button.ico-after:hover{border-bottom-color:#0e77a8;outline:none;background:none}.topic-message .message .message-actions a:focus:after,.topic-message .message .message-actions a:hover:after,.topic-message .message .message-actions button.ico-after:focus:after,.topic-message .message .message-actions button.ico-after:hover:after,.topic-message .message .message-buttons a:focus:after,.topic-message .message .message-buttons a:hover:after,.topic-message .message .message-buttons button.ico-after:focus:after,.topic-message .message .message-buttons button.ico-after:hover:after,.topic-message .message .message-karma a:focus:after,.topic-message .message .message-karma a:hover:after,.topic-message .message .message-karma button.ico-after:focus:after,.topic-message .message .message-karma button.ico-after:hover:after,.topic-message .message .message-submit a:focus:after,.topic-message .message .message-submit a:hover:after,.topic-message .message .message-submit button.ico-after:focus:after,.topic-message .message .message-submit button.ico-after:hover:after{opacity:1}.topic-message .message .message-actions a:focus,.topic-message .message .message-actions a:hover,.topic-message .message .message-buttons a:focus,.topic-message .message .message-buttons a:hover,.topic-message .message .message-karma button:focus,.topic-message .message .message-karma button:hover{color:#555;text-decoration:none}.topic-message .message .alert-box .alert-box-text{float:none}form.topic-message{margin-top:50px}@media only screen and (max-width:959px){.topic-message{padding:20px 0}.topic-message .user{position:absolute;top:7px;z-index:4;width:100%}.topic-message .user .avatar-link{float:left;display:none}.topic-message .user .badge{float:left;height:20px;line-height:20px;font-size:12px;width:50px;margin-top:-2px;margin-left:10px}.topic-message .user .badge.push-badge{margin-left:105px}.topic-message .user .user-metadata{float:right;width:140px;margin-right:10px}.topic-message .user .user-metadata a{float:left;height:20px;line-height:20px;border-bottom:none;width:68px}.topic-message .message{border-right:0;border-left:0;padding-top:65px}.topic-message .message .message-metadata{position:absolute;top:0;left:0;right:10px;z-index:5;height:30px;line-height:30px}.topic-message .message .message-metadata .username{margin-left:5px}.topic-message .message .message-metadata .date{float:right}.topic-message .message .message-actions{margin:35px 10px 0 0}.topic-message .message .message-bottom{min-height:0}.topic-message .message .message-bottom .signature{display:none}.topic-message .message .message-bottom .message-karma{position:absolute;top:35px;left:7px}.topic-message .message .message-bottom .message-karma .tick{text-indent:-9999px;margin-right:1px}.topic-message .message .message-bottom .message-karma .tick:after{left:12px}.topic-message .message .message-bottom .message-karma .downvote,.topic-message .message .message-bottom .message-karma .upvote{padding:0 7px;text-align:center}}@media only screen and (min-width:960px){.topic-message{margin:25px 0}.topic-message:first-child{margin-top:35px}.topic-message .message:after,.topic-message .user:after{content:" ";display:block;position:absolute;top:10px;height:0;width:0;border:20px solid transparent;border-left:0}.topic-message .user{position:absolute;padding-top:60px;top:0;left:0}.topic-message .user:after{left:60px;border-right-color:#d2d4d6}.topic-message .message{margin-left:80px}.topic-message .message:after{top:9px;left:-19px;border-right-color:#fdfdfd}.topic-message .message .is-author{left:5px}.topic-message .message .message-content{margin:0 10px}.topic-message .message .message-content>:first-child{margin-top:5px}.topic-message .message .message-content>figure:first-child{margin-top:10px}.topic-message .message .message-bottom .signature{cursor:pointer}.topic-message .message .message-bottom .signature p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-message .message .message-bottom .signature.full p{white-space:normal}}@media only screen and (max-width:759px){.topic-message .message .message-actions a{width:0;text-indent:-9999px}.topic-message .message .message-actions a:after{left:12px!important}.topic-message .message .message-submit{display:block!important;width:100%;margin:0}.topic-message .message .message-submit button{float:right;display:block;width:calc(50% - 2px);margin-left:1px!important}.topic-message .message .message-submit button.btn-grey{float:left}form.forum-message .message{padding-top:0!important}}.avatar{height:60px;width:60px;background-color:#fff}.badge{display:block;width:60px;height:25px;line-height:25px;text-align:center;text-transform:uppercase;color:#eee;text-shadow:rgba(0,0,0,.25) 0 0 3px;background:#777}.badge.staff{background:#48a200}.member-card .member-avatar{float:left;width:60px}.member-card .member-infos{float:left;list-style:none;margin:0;padding-left:15px}.member-social{list-style:none;margin:15px 0 0;padding:0}.home .main{display:block;height:auto;width:auto;margin:0;padding:0}.home #content{width:100%;margin:0;padding:0}.home .sub-header{display:none}.home .home-wrapper{max-width:1145px;margin:0 auto}.home .home-row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;margin-bottom:10px}.home .home-header{border-bottom:1px solid #fff;padding-top:20px;background-color:#19516b;background:#19516b -webkit-radial-gradient(at top,hsla(0,0%,100%,.1),transparent 60%);background:#19516b -o-radial-gradient(at top,hsla(0,0%,100%,.1),transparent 60%);background:#19516b radial-gradient(at top,hsla(0,0%,100%,.1),transparent 60%);margin-bottom:-170px;padding-bottom:180px;overflow:hidden}.home .home-description{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.home .home-description p{margin:0;padding:0;color:#fff;text-align:justify}.home .home-description ul{color:#eee;margin:10px 0}.home .home-description a:not(.home-description-button){color:#fff}.home .home-description a:not(.home-description-button):focus,.home .home-description a:not(.home-description-button):hover{color:#90abb6;text-decoration:none}.home .home-description .column{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;padding:0 20px}.home .home-description .column h2{font-size:18px;font-size:1.8rem;color:#fff;margin:20px 0 10px;border-bottom-color:#fff;font-weight:300}.home .home-description blockquote{font-size:2.5rem;color:#fff;font-weight:300;padding:0;margin:0}.home .home-description blockquote span:first-of-type:before{content:"«\00A0"}.home .home-description blockquote span:last-of-type:after{content:"\00A0»"}.home .home-description:not(.connected):not(.short){padding-bottom:60px}.home .home-description.connected{text-align:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.home .home-description.connected .important{color:#f8ad32;text-transform:uppercase;font-weight:700}.home .home-description.connected p{margin-top:5px;text-align:center}.home .home-description.connected .home-description-button{margin-left:15px}.home .home-description.short{display:none;color:#fff;text-align:center;font-size:1.4em}.home .home-description.short .home-description-button{font-size:14px;font-size:1.4rem;line-height:24px;line-height:2.4rem;margin-top:12px;padding:0 10px}.home .home-description.short blockquote>span{display:inline-block}.home .home-description-button{display:inline-block;line-height:2rem;font-size:1.2rem;font-size:12px;color:#fff;text-decoration:none;border:1px solid hsla(0,0%,100%,.5);padding:0 6px;margin-top:5px}.home .home-description-button:focus,.home .home-description-button:hover{color:#084561;border-color:#fff;background-color:#fff}.home .home-description-button.close-description{display:none}.home .featured-resource-row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;margin-bottom:30px;padding:1px 0 1px 1px;background-color:#f7f7f7;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%}.home .featured-resource-row .no-featured-resource{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;margin:0;line-height:0;text-align:center;margin-right:1px;font-size:20px;background-color:#fff}.home .featured-resource-row .no-featured-resource:after,.home .featured-resource-row .no-featured-resource:before{display:block;content:"";padding-top:10%}.home .home-heading{height:40px;padding-left:50px!important;margin-bottom:18px!important}.home .home-heading.heading-white{color:#fff;border-bottom-color:#fff}.home .home-heading.ico-after:after{margin-left:0!important}.home .home-heading .btn{font-size:15px}.home .home-search-box{position:relative;margin:30px auto 0;max-width:820px;background:#fff}.home .home-search-box form{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}.home .home-search-box:before{content:'';position:absolute;bottom:-6px;left:-28px;background:url(../images/home-clem.png);-webkit-background-size:100% 100%;background-size:100%;width:68px;height:134px}body.vc-clem-christmas.home .home-search-box:before{background-image:url(../images/home-clem-christmas@2x.png)}.home .home-search-box input,.home .home-search-box label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;line-height:50px;height:50px}.home .home-search-box label{text-align:right;padding:0 5px;font-size:2rem;font-weight:300;margin-left:50px}.home .home-search-box input{font-size:2rem;border:none;font-weight:300;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.home .home-search-box button[type=submit]{background:#fff;width:50px;height:50px}.home .home-search-box button[type=submit]:focus,.home .home-search-box button[type=submit]:hover{background-color:#ccc!important}.home .home-search-box button[type=submit]:after{margin:16px;background-position:0 -2786px;width:16px;height:40px}@media only screen and (max-width:759px){.home .home-description:not(.connected):not(.short){display:none}.home .home-description.short{display:block;width:auto;padding:0 20px}.home .home-description.short:target .home-description-button{display:none}.home .home-description.short:target .home-description-button.close-description{display:inline-block}.home .home-description.short:target~.home-description:not(.short){display:block;margin-top:20px}.home .home-description.connected{padding:0 20px!important}.home .home-description .featured-message{display:none}.home .home-heading .btn{visibility:hidden}.home .home-search-box{padding-left:40px;margin:30px 0 0!important}.home .home-search-box:before{left:-46px}.home .featured-resource-row .featured-resource-item:nth-of-type(4),.home .home-search-box label{display:none}}@media only screen and (max-width:959px){.home .home-header{padding-top:10px}.home .home-wrapper{padding:20px 10px}.home .featured-resource-row .featured-resource-item{margin:4px;padding:0!important}.home .featured-resource-row .featured-resource-item:last-of-type{display:none}.home .home-header{margin-bottom:0;padding-bottom:10px}.home .home-heading{margin-top:18px}.home .home-heading.heading-white{color:#084561;border-color:#f8ad32}.home .home-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.home .home-search-box{margin:30px 40px 0}.home .home-description.connected{width:auto;padding:0 80px}}@media only screen and (min-width:960px){.home .home-row{margin-right:-10px;margin-left:-10px}.home .home-row>section{margin:0 10px;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;min-width:300px}.home .home-description .column h2{font-size:22px;font-size:2.2rem}.home .home-description .column p,.home .home-description .column ul{line-height:22px;font-size:15px;font-size:1.5rem}.home .home-description.connected{max-width:740px;margin:15px auto 0}}.gallery.grid-view{clear:both}.gallery.grid-view .gallery-item{position:relative;width:200px;height:200px;float:left;border:10px solid #fff;margin:10px;clear:none}.gallery.grid-view .gallery-item.active,.gallery.grid-view .gallery-item:hover{border-color:#1088bf!important}.gallery.grid-view .gallery-item.active:before,.gallery.grid-view .gallery-item:hover:before{display:none}.gallery.grid-view .gallery-item.active .topic-title,.gallery.grid-view .gallery-item:hover .topic-title{background:#1088bf!important;color:#fff;text-decoration:none}.gallery.grid-view .gallery-item .topic-infos{position:absolute;bottom:0;left:0;z-index:1;height:15px;width:15px;padding:3px 0}.gallery.grid-view .gallery-item .topic-infos input{margin:0}.gallery.grid-view .gallery-item .topic-description,.gallery.grid-view .gallery-item .topic-description a{display:block;width:100%;height:100%}.gallery.grid-view .gallery-item .topic-image{overflow:hidden;max-height:100%;min-width:100%}.gallery.grid-view .gallery-item .topic-title{height:15px;background-color:#fff;position:absolute;bottom:7px;left:0;right:0;padding:10px 20px 5px;font-size:15px;font-size:1.5rem;line-height:15px;color:#444}.gallery.grid-view .gallery-item.selected{border-color:#eaf7fd}.gallery.grid-view .gallery-item.selected .topic-title{background:#eaf7fd}.gallery.grid-view .gallery-item.add-image{font-size:120px;line-height:200px;text-align:center;background:#ddd;color:#555;text-decoration:none}.gallery.grid-view .gallery-item.add-image:focus,.gallery.grid-view .gallery-item.add-image:hover{background-color:#ccc;color:#1088bf}.gallery.list-view .topic .topic-description .topic-title{margin-top:12px}.gallery.list-view .add-image{display:none}.toggle-gallery-view{float:left!important}@media only screen and (min-width:960px){.gallery-col-image{float:left;width:50%}.gallery-col-image img{max-width:100%}.gallery-col-edit{float:right;width:calc(50% - 20px);padding-left:20px}}#resources_container .footer{display:none}.tutorial-help-item{min-height:60px;padding:20px 2%;border-bottom:1px solid #e0e4e5;color:#424242;font-weight:400}.tutorial-help-item:nth-child(2n+1){background-color:hsla(0,0%,100%,.8)}.tutorial-help-item p{margin:0}.tutorial-help-item .tutorial-title{margin:0;padding:0;font-size:20px;font-size:2rem;height:27px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;clear:none;font-weight:400;color:#424242}.tutorial-help-item a{text-decoration:none}.tutorial-help-item a:focus,.tutorial-help-item a:hover{text-decoration:underline}.tutorial-help-item .tutorial-categories{margin:0 0 5px;padding:0;color:#ee8709}.tutorial-help-item .tutorial-categories a{color:#ee8709}.tutorial-help-item .tutorial-categories a:focus,.tutorial-help-item .tutorial-categories a:hover{text-decoration:underline}.tutorial-help-item .tutorial-illu{display:block;overflow:hidden;float:left}.tutorial-help-item .tutorial-infos{margin:7px 0 0 70px}.tutorial-help-item .tutorial-infos.no-illu{margin-left:0}.tutorial-help-item .tutorial-help{margin:12px 0 0}.tutorial-help-item .tutorial-help img.light{opacity:.2}.tutorial-help-item .tutorial-help img.light:focus,.tutorial-help-item .tutorial-help img.light:hover{opacity:.5}.commits-compare-form button{float:none!important}@media only screen and (-o-min-device-pixel-ratio:2/1),only screen and (-o-min-device-pixel-ratio:4/3),only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:1.3),only screen and (min-device-pixel-ratio:1.3),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.header-logo-link{-webkit-background-size:100% 100%;background-size:100%;background-image:url(../images/logo@2x.png)}.breadcrumb ol li:not(:last-child):after,.content-item .content-reactions,.content-item .content-reactions:before,.ico,.ico-after:after,.main-container input[type=checkbox]:after,.main-container input[type=radio]:after,.modals-container input[type=checkbox]:after,.modals-container input[type=radio]:after{background-image:url(../images/sprite@2x.png);-webkit-background-size:40px 4946px;background-size:40px 4946px}.home .home-search-box:before{background-image:url(../images/home-clem@2x.png)}body.vc-clem-christmas.home .home-search-box:before{background-image:url(../images/home-clem-christmas@2x.png)}}@media only screen and (-o-min-device-pixel-ratio:2/1) and (max-width:959px),only screen and (-o-min-device-pixel-ratio:4/3) and (max-width:959px),only screen and (-webkit-min-device-pixel-ratio:1.3) and (max-width:959px),only screen and (-webkit-min-device-pixel-ratio:2) and (max-width:959px),only screen and (min--moz-device-pixel-ratio:1.3) and (max-width:959px),only screen and (min-device-pixel-ratio:1.3) and (max-width:959px),only screen and (min-resolution:2dppx) and (max-width:959px),only screen and (min-resolution:192dpi) and (max-width:959px){.js.enable-mobile-menu .mobile-menu-hide .page-container .mobile-menu-btn:after{background-image:url(../images/sprite@2x.png);-webkit-background-size:40px 4946px;background-size:40px 4946px}.page-container .header-logo-link{background-image:url(../images/logo-mobile@2x.png)!important}}
+/*# sourceMappingURL=main.css.map */
diff --git a/dist/css/main.css.map b/dist/css/main.css.map
new file mode 100644
index 0000000000..180b698003
--- /dev/null
+++ b/dist/css/main.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["layout/_content.scss","vendors/_normalize.scss","main.css","base/_base.scss","variables/_colors.scss","base/_tables.scss","variables/_typography.scss","base/_forms.scss","_sprite.scss","base/_typography.scss","base/_icons.scss","base/_helpers.scss","layout/_header.scss","variables/_variables.scss","components/_header-dropdown.scss","components/_header-search.scss","components/_accessibility-bar.scss","components/_cookies-banner.scss","layout/_sidebar.scss","layout/_main.scss","mixins/_display-flex.scss","layout/_footer.scss","components/_alert-box.scss","components/_authors.scss","components/_autocomplete.scss","components/_breadcrumb.scss","components/_content-item.scss","components/_editor.scss","components/_featured-item.scss","components/_home-search-box.scss","components/_markdown-help.scss","components/_mobile-menu.scss","components/_modals.scss","components/_pagination.scss","components/_pygments.scss","components/_tags.scss","components/_tooltips.scss","components/_topic-list.scss","components/_notification-list.scss","components/_topic-message.scss","components/_user-profile.scss","pages/_home.scss","pages/_gallery.scss","pages/_api.scss","pages/_tutorial-help.scss","pages/_tutorial-history.scss","base/_high-pixel-ratio.scss"],"names":[],"mappings":"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AAjDT,sBFyJE,6BAlCqB,CEhEd,AAvDT,2BFyJE,6BApC0B,CE3DnB,AA1DT,4BFyJE,6BAnC2B,CEzDpB,AA7DT,sBFyJE,6BA5BqB,CE1Dd,AAnET,2BFyJE,6BA9B0B,CErDnB,AAtET,4BFyJE,6BA7B2B,CEnDpB,AAzET,uBFyJE,6BAvBsB,CEnDf,AA/ET,4BFyJE,6BA3B2B,CE5CpB,AAlFT,2BFyJE,6BAzB0B,CE3CnB,AArFT,6BFyJE,6BA1B4B,CEvCrB,AAxFT,6BFyJE,6BAxB4B,CEtCrB,AA3FT,0BFyJE,6BAjByB,CEvClB,AAjGT,+BFyJE,6BAnB8B,CElCvB,AApGT,gCFyJE,6BAlB+B,CEhCxB,AAvGT,0BFyJE,6BAzD2B,CEapB,AA7GT,gCFyJE,6BA1DiC,CEiB1B,AAhHT,sBFyJE,6BAdqB,CErBd,AAtHT,2BFyJE,6BAhB0B,CEhBnB,AAzHT,4BFyJE,6BAf2B,CEdpB,AA5HT,uBFyJE,4BAvHqB,CEgGd,AAlIT,4BFyJE,4BAzH0B,CEqGnB,AArIT,6BFyJE,4BAxH2B,CEuGpB,AAxIT,0BFyJE,6BApByB,CESlB,AA9IT,+BFyJE,6BAtB8B,CEcvB,AAjJT,gCFyJE,6BArB+B,CEgBxB,AApJT,0BFyJE,4BAnHwB,CEoHjB,AA1JT,+BFyJE,4BArH6B,CEyHtB,AA7JT,gCFyJE,4BApH8B,CE2HvB,AAhKT,4BFyJE,4BA/G0B,CE4HnB,AAtKT,iCFyJE,4BAjH+B,CEiIxB,AAzKT,kCFyJE,4BAhHgC,CEmIzB,AA5KT,sBFyJE,6BA5GqB,CEqId,AAlLT,2BFyJE,6BA9G0B,CE0InB,AArLT,4BFyJE,6BA7G2B,CE4IpB,AAxLT,wBFyJE,6BAzGuB,CE8IhB,AA9LT,6BFyJE,6BA3G4B,CEmJrB,AAjMT,8BFyJE,6BA1G6B,CEqJtB,AApMT,6BFyJE,6BAtG4B,CEuJrB,AA1MT,kCFyJE,6BAxGiC,CE4J1B,AA7MT,mCFyJE,6BAvGkC,CE8J3B,AAhNT,sBFyJE,6BAnGqB,CEgKd,AAtNT,2BFyJE,6BArG0B,CEqKnB,AAzNT,4BFyJE,6BApG2B,CEuKpB,AA5NT,sBF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","file":"main.css","sourcesContent":[".small-content-wrapper {\n    width: 90%;\n    max-width: 500px;\n    margin: 20px auto;\n}\n\n.main .content-container {\n    .content-wrapper {\n        &.article-content,\n        &.authors {\n            padding-left: 2%;\n            padding-right: 2%;\n        }\n    }\n\n    .article-content {\n        p,\n        > a,\n        p a,\n        ul:not(.pagination),\n        ol:not(.summary-part) {\n            font-family: $font-serif-active;\n        }\n    }\n\n    .content-wrapper.comment-author,\n    .comment-author {\n        background: #EEE;\n        padding: 7px 15px;\n        margin-bottom: 20px;\n\n        blockquote {\n            margin: 10px 0;\n            border-left: 5px solid  #CCC;\n            padding: 5px 0 5px 15px;\n        }\n    }\n\n    .article-content .summary-part {\n        font-size: 20px;\n        color: darken($color-secondary, 11%);\n\n        h3,\n        h4 {\n            font-weight: normal;\n            width: 90%;\n\n            a {\n                text-decoration: none;\n\n                &:hover,\n                &:focus {\n                    text-decoration: underline;\n                }\n            }\n        }\n        h3 {\n            font-size: 20px;\n            margin: 0 0 5px;\n        }\n\n        .summary-part {\n            list-style: none;\n            padding-left: 0;\n            margin-bottom: 15px;\n\n            h4 {\n                font-size: 14px;\n                margin: 2px 0;\n            }\n        }\n    }\n\n    .article-content,\n    .message-content {\n        margin-top: 20px;\n        margin-bottom: 20px;\n        color: #424242;\n\n        h2,\n        h3 {\n            clear: both;\n\n            &,\n            a {\n                color: darken($color-secondary, 11%);\n                margin-top: 40px;\n                text-decoration: none;\n            }\n            a:hover,\n            a:focus {\n                text-decoration: underline;\n            }\n        }\n        h2 {\n            font-size: 22px;\n            font-size: 2.2rem;\n            line-height: 50px;\n            margin-bottom: 20px;\n            background:  #FFF;\n            border-top: 1px solid #e0e4e5;\n            padding-left: 1%;\n            font-weight: 400;\n        }\n        h3 {\n            font-size: 20px;\n            font-size: 2.0rem;\n            margin-bottom: 14px;\n        }\n        h4 {\n            font-size: 18px;\n            font-size: 1.8rem;\n            margin-bottom: 12px;\n        }\n        h5 {\n            font-size: 16px;\n            font-size: 1.6rem;\n            margin-bottom: 10px;\n        }\n        h6 {\n            font-size: 15px;\n            font-size: 1.5rem;\n            margin-bottom: 10px;\n        }\n\n        .actions-title {\n            float: right;\n            margin: -60px 10px 0 0;\n\n            .btn {\n                height: 30px;\n                line-height: 30px;\n                margin-left: 3px;\n                opacity: .7;\n                z-index: 1;\n                &.ico-after:after {\n                    margin-top: 7px;\n                }\n\n                &:hover,\n                &:focus {\n                    opacity: 1;\n                }\n            }\n        }\n\n        :not(.alert-box){\n            &.information,\n            &.question,\n            &.error,\n            &.warning,\n            &.spoiler {\n                margin: 25px 0;\n                padding: 7px 15px 7px 45px;\n\n                &.ico-after:after {\n                    position: absolute;\n                    top: 50%;\n                    left: 23px;\n                    margin: -11px 0 0 -11px;\n                    height: 22px;\n                    width: 22px;\n                }\n            }\n            &.information {\n                background: #daeaee;\n\n                &.ico-after:after {\n                    @include sprite-position($information);\n                }\n            }\n            &.question {\n                background: #e2daee;\n\n                &.ico-after:after {\n                    @include sprite-position($question);\n                }\n            }\n            &.error {\n                background: #eedada;\n\n                &.ico-after:after {\n                    @include sprite-position($error);\n                }\n            }\n            &.warning {\n                background: #eee7da;\n\n                &.ico-after:after {\n                    @include sprite-position($warning);\n                }\n            }\n        }\n        .spoiler {\n            margin-top: 0;\n            padding-left: 15px;\n            background: #EEE;\n        }\n        .spoiler-title {\n            display: block;\n            background: #EEE;\n            margin: 15px 0;\n            padding: 3px 15px 3px 40px;\n            text-decoration: none;\n            border-bottom: 1px solid #DDD;\n            color: #555;\n\n            &.ico-after:after {\n                margin: 8px 0 0 10px;\n            }\n\n            &:nth-last-child(2) {\n                margin-bottom: 15px;\n            }\n\n            &:hover {\n                text-decoration: underline;\n            }\n        }\n\n        img {\n            max-width: 100%;\n        }\n\n        figure {\n            margin: 30px 0;\n            text-align: center;\n        }\n        figure > {\n            img,\n            video,\n            pre,\n            code,\n            table,\n            blockquote,\n            embed,\n            video {\n                max-width: 100%;\n                margin: 0 auto;\n                text-align: left;\n            }\n            img,\n            video,\n            pre,\n            code {\n                display: block;\n            }\n\n            figcaption {\n                display: block;\n            }\n\n            blockquote ~ figcaption {\n                padding: 0 0 1px 2%;\n                font-style: italic;\n                text-align: left;\n                color: #999;\n                border-left: 5px solid #CCC;\n\n                p {\n                    margin: 0 0 5px;\n                }\n                p:before {\n                    content: \"— \";\n                }\n            }\n        }\n\n        blockquote {\n            margin: 0;\n            color : #777;\n            padding: 1px 2%;\n            border-left: 5px solid #CCC;\n\n            & > p:first-child {\n                margin-top: 5px;\n            }\n            & > p:last-child {\n                margin-bottom: 5px;\n            }\n            figure {\n                margin: 15px 0;\n            }\n            &:last-child {\n                margin-bottom: 15px;\n            }\n        }\n\n        code,\n        kbd,\n        pre,\n        samp {\n            font-family: $font-monospace;\n        }\n\n        pre {\n            margin: 0;\n        }\n\n        // touche\n        kbd {\n            background-color: $color-keyboard;\n            padding: 2px 6px;\n            border-radius: 3px;\n            border: solid 1px desaturate(darken($color-keyboard, 15%), 10%);\n            border-bottom-width: 3px;\n            text-shadow: 0 1px 0 #FFF;\n            color: darken($color-keyboard, 70%);\n        }\n\n        // Code inline\n        p code,\n        li code {\n            color: #A00;\n            background: #EEE;\n            border: 1px solid #CCC;\n            padding: 0 5px;\n        }\n\n        .mathjax-wrapper {\n            max-width: 100%;\n            overflow: auto;\n\n            mathjax {\n                font-size: 16px;\n                font-size: 1.6rem;\n            }\n        }\n\n        .footnote {\n            opacity: .7;\n\n            ol {\n                padding-left: 25px;\n            }\n        }\n    }\n\n    .comments-title {\n        margin: 50px 0 20px;\n        color: $color-primary;\n        border-bottom: 1px solid $color-secondary;\n        font-weight: normal;\n        font-size: 22px;\n        font-size: 2.2rem;\n        line-height: 30px;\n    }\n}\n.wf-active .main .content-container {\n    .article-content {\n        p,\n        ul:not(.pagination),\n        ol:not(.summary-part) {\n            font-family: $font-serif-active;\n        }\n        figcaption p {\n            font-family: $font-sans-serif-active;\n            font-size: 16px;\n            font-size: 1.6rem;\n        }\n    }\n    .article-content,\n    .message-content {\n        code, kbd, pre, samp {\n            font-family: $font-monospace-active;\n        }\n    }\n}\n.js .spoiler {\n    display: none;\n}\n\n@media only screen and #{$media-extra-wide} {\n    .full-content-wrapper .tutorial-list article {\n        width: 29.3%;\n    }\n\n    .main .content-container .topic-message .message .message-metadata .date {\n        .short-date {\n            display: none;\n        }\n        .long-date {\n            display: inline;\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .content-wrapper,\n    .full-content-wrapper {\n        margin: 0 0 0 4%;\n\n        &.without-margin {\n            margin: 0;\n        }\n\n        .content-wrapper {\n            max-width: none;\n            margin: 0;\n        }\n    }\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .main .content-container {\n        .taglist,\n        .pubdate {\n            margin-left: 10px;\n            margin-right: 10px;\n        }\n\n        .article-content {\n            p,\n            ol,\n            ul:not(.pagination) {\n                font-size: 15px;\n                font-size: 1.5rem;\n                font-size: 1.8ex;\n            }\n        }\n        .content-wrapper,\n        .full-content-wrapper {\n            h1:not(.ico-after),\n            h2:not(.ico-after),\n            h3,\n            .subtitle {\n                padding-left: 10px;\n                padding-right: 10px;\n            }\n            .illu img {\n                display: none;\n            }\n\n            h4,\n            h5,\n            h6,\n            .authors,\n            p,\n            figure,\n            blockquote {\n                margin-left: 10px;\n                margin-right: 10px;\n            }\n\n            figure {\n                p,\n                blockquote {\n                    margin-left: 0;\n                    margin-right: 0;\n                }\n            }\n\n            .license {\n                position: absolute;\n                margin-top: 0;\n                top: 62px;\n                right: 15px;\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .main .content-container .article-content .btn {\n        float: none;\n        text-align: center;\n    }\n}\n","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n *    without disabling user zoom.\n */\n\nhtml {\n  font-family: sans-serif; /* 1 */\n  -ms-text-size-adjust: 100%; /* 2 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\n\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n  border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; /* 1 */\n  font: inherit; /* 2 */\n  margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; /* 2 */\n  cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  box-sizing: content-box; /* 2 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n  border: 0; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n","@charset \"UTF-8\";\n/**\n * Zeste de Savoir\n * Main style file, imports everything\n * @file main.scss\n */\n/*------------------------\n1. Normalize\n------------------------*/\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n *    without disabling user zoom.\n */\nhtml {\n  font-family: sans-serif;\n  /* 1 */\n  -ms-text-size-adjust: 100%;\n  /* 2 */\n  -webkit-text-size-adjust: 100%;\n  /* 2 */ }\n\n/**\n * Remove default margin.\n */\nbody {\n  margin: 0; }\n\n/* HTML5 display definitions\n   ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block; }\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  /* 1 */\n  vertical-align: baseline;\n  /* 2 */ }\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n  display: none;\n  height: 0; }\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n  display: none; }\n\n/* Links\n   ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n  background-color: transparent; }\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\na:active,\na:hover {\n  outline: 0; }\n\n/* Text-level semantics\n   ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n  border-bottom: 1px dotted; }\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n  font-weight: bold; }\n\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n  font-style: italic; }\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0; }\n\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n  background: #ff0;\n  color: #000; }\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n  font-size: 80%; }\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline; }\n\nsup {\n  top: -0.5em; }\n\nsub {\n  bottom: -0.25em; }\n\n/* Embedded content\n   ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n  border: 0; }\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n  overflow: hidden; }\n\n/* Grouping content\n   ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n  margin: 1em 40px; }\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n  box-sizing: content-box;\n  height: 0; }\n\n/**\n * Contain overflow in all browsers.\n */\npre {\n  overflow: auto; }\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em; }\n\n/* Forms\n   ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  /* 1 */\n  font: inherit;\n  /* 2 */\n  margin: 0;\n  /* 3 */ }\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n  overflow: visible; }\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n  text-transform: none; }\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  /* 2 */\n  cursor: pointer;\n  /* 3 */ }\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default; }\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0; }\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n  line-height: normal; }\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  /* 1 */\n  padding: 0;\n  /* 2 */ }\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto; }\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  /* 1 */\n  box-sizing: content-box;\n  /* 2 */ }\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none; }\n\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em; }\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n  border: 0;\n  /* 1 */\n  padding: 0;\n  /* 2 */ }\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n  overflow: auto; }\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n  font-weight: bold; }\n\n/* Tables\n   ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n  border-collapse: collapse;\n  border-spacing: 0; }\n\ntd,\nth {\n  padding: 0; }\n\n/*------------------------\n2. Base\n------------------------*/\nhtml {\n  height: 100%;\n  width: 100%;\n  font-size: 62.5%;\n  overflow-x: hidden;\n  word-wrap: break-word; }\n\nbody {\n  background: #F7F7F7;\n  font-size: 14px;\n  font-size: 1.4rem;\n  line-height: 1.7em;\n  min-height: 100%;\n  width: 100%; }\n\n.page-container,\n.main-container {\n  min-height: 100%;\n  background: #F7F7F7; }\n\n.content-container {\n  margin-bottom: 50px; }\n\nimg {\n  vertical-align: middle; }\n\nfieldset {\n  border: 0;\n  margin: 0;\n  padding: 0; }\n\ntextarea {\n  resize: vertical; }\n\n.chromeframe {\n  margin: 0;\n  background: #ccc;\n  color: #000;\n  padding: 0.2em 0;\n  text-align: center;\n  position: fixed;\n  z-index: 9999;\n  width: 100%; }\n\n.a11y {\n  display: block;\n  width: 0;\n  height: 0;\n  text-indent: -9999px; }\n\nnav ul,\nnav ol {\n  list-style: none; }\n\n@media only screen and (min-width: 960px) {\n  html,\n  body,\n  .page-container {\n    height: 100%; }\n  .main-container {\n    min-height: calc(100% - 136px); }\n  .wrapper {\n    width: 95%;\n    margin: 0 2.5%; } }\n\n@media only screen and (max-width: 959px) {\n  body {\n    background: #222; }\n    body:not(.swipping) .page-container,\n    body:not(.swipping) .mobile-menu {\n      transition-property: transform;\n      transition-duration: 0.3s;\n      transition-timing-function: ease; }\n    body.swipping * {\n      user-select: none;\n      pointer-events: none; } }\n\n.table-wrapper {\n  max-width: 100%;\n  overflow: auto; }\n\ntable {\n  margin: 15px 0;\n  border-top: 1px solid #DDD; }\n  table thead {\n    background: #DDD;\n    color: #084561; }\n  table th, table td {\n    text-align: left;\n    padding: 5px 15px 5px 7px;\n    border-right: 1px solid #DDD; }\n    table th:first-child, table td:first-child {\n      border-left: 1px solid #DDD; }\n    table th p, table td p {\n      margin: 0; }\n  table tbody tr {\n    background: #FDFDFD;\n    border-bottom: 1px solid #DDD; }\n    table tbody tr:nth-child(2n+1) {\n      background: #F7F7F7; }\n  table.fullwidth {\n    width: 100%; }\n\n/* Specific for diff */\n.diff_delta {\n  overflow-x: auto;\n  width: 100%;\n  margin: 15px 0;\n  /* add margin to container */ }\n  .diff_delta table.diff {\n    font-family: monospace, serif;\n    font-size: 0.9em;\n    border: 2px solid gray;\n    margin: 0;\n    /* abort table default margin */ }\n    .diff_delta table.diff tr {\n      line-height: 1em;\n      border-bottom: none; }\n    .diff_delta table.diff .diff_header {\n      background-color: #e0e0e0;\n      padding: 5px; }\n    .diff_delta table.diff td.diff_header {\n      text-align: right; }\n    .diff_delta table.diff .diff_next {\n      display: none; }\n\n.diff_add {\n  /* added text */\n  background-color: #aaffaa; }\n\n.diff_chg {\n  /* changed text */\n  background-color: #fff8ab; }\n\n.diff_sub {\n  /* deleted text */\n  background-color: #ffaaaa; }\n\n.content-container form,\n.modals-container form {\n  width: 100%; }\n  .content-container form.content-wrapper,\n  .modals-container form.content-wrapper {\n    width: calc(100% - 20px);\n    margin: 0 10px; }\n  .content-container form p,\n  .modals-container form p {\n    position: relative; }\n\n.content-container fieldset,\n.modals-container fieldset {\n  border-top: 1px solid #DDD;\n  border-bottom: 3px solid #DDD;\n  background: #EFEFEF;\n  padding: 0 4%; }\n  .content-container fieldset legend,\n  .modals-container fieldset legend {\n    padding: 0 10px;\n    border-top: 1px solid #DDD;\n    border-bottom: 3px solid #DDD;\n    background: #EFEFEF; }\n\n.content-container label,\n.modals-container label {\n  display: block;\n  color: #555;\n  height: 30px;\n  line-height: 30px; }\n  .content-container label .asteriskField,\n  .modals-container label .asteriskField {\n    color: #C0392B;\n    margin-left: 4px; }\n\n.content-container .small-content-wrapper .asteriskField,\n.modals-container .small-content-wrapper .asteriskField {\n  display: none; }\n\n.content-container .form-error,\n.modals-container .form-error {\n  display: block;\n  font-size: 13px;\n  color: #C0392B; }\n\n.content-container input,\n.content-container textarea,\n.modals-container input,\n.modals-container textarea {\n  border: 1px solid #D2D5D6; }\n  .content-container input:focus,\n  .content-container textarea:focus,\n  .modals-container input:focus,\n  .modals-container textarea:focus {\n    outline-color: #999; }\n  .content-container input.field-error, .content-container input:invalid,\n  .content-container textarea.field-error,\n  .content-container textarea:invalid,\n  .modals-container input.field-error,\n  .modals-container input:invalid,\n  .modals-container textarea.field-error,\n  .modals-container textarea:invalid {\n    border-color: #C0392B; }\n    .content-container input.field-error:focus, .content-container input:invalid:focus,\n    .content-container textarea.field-error:focus,\n    .content-container textarea:invalid:focus,\n    .modals-container input.field-error:focus,\n    .modals-container input:invalid:focus,\n    .modals-container textarea.field-error:focus,\n    .modals-container textarea:invalid:focus {\n      outline-color: #C0392B; }\n  .content-container input[disabled],\n  .content-container input .disabled,\n  .content-container textarea[disabled],\n  .content-container textarea .disabled,\n  .modals-container input[disabled],\n  .modals-container input .disabled,\n  .modals-container textarea[disabled],\n  .modals-container textarea .disabled {\n    background: #DDD !important;\n    color: #555; }\n\n.content-container input,\n.content-container textarea,\n.content-container button,\n.content-container .btn,\n.modals-container input,\n.modals-container textarea,\n.modals-container button,\n.modals-container .btn {\n  -webkit-appearance: none;\n  transition: all 0.15s ease; }\n\n.content-container input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]),\n.modals-container input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]) {\n  width: calc(98% - 2px);\n  padding: 0 1%; }\n\n.content-container textarea,\n.modals-container textarea {\n  width: calc(98% - 2px);\n  padding: 10px 1%;\n  font-family: monospace, serif; }\n\n.content-container input,\n.content-container button,\n.content-container .btn,\n.modals-container input,\n.modals-container button,\n.modals-container .btn {\n  display: block;\n  height: 30px; }\n  .content-container input.ico-after,\n  .content-container button.ico-after,\n  .content-container .btn.ico-after,\n  .modals-container input.ico-after,\n  .modals-container button.ico-after,\n  .modals-container .btn.ico-after {\n    padding-left: 30px; }\n    .content-container input.ico-after:after,\n    .content-container button.ico-after:after,\n    .content-container .btn.ico-after:after,\n    .modals-container input.ico-after:after,\n    .modals-container button.ico-after:after,\n    .modals-container .btn.ico-after:after {\n      margin: 12px 0 0 7px; }\n\n.content-container [type=submit],\n.content-container button:not(.link),\n.content-container .btn,\n.modals-container [type=submit],\n.modals-container button:not(.link),\n.modals-container .btn {\n  position: relative;\n  height: 40px;\n  line-height: 40px;\n  cursor: pointer;\n  color: #DDD;\n  padding: 0 15px;\n  border: none;\n  text-decoration: none;\n  margin-left: 1px;\n  outline: none; }\n  .content-container [type=submit].submitted,\n  .content-container button:not(.link).submitted,\n  .content-container .btn.submitted,\n  .modals-container [type=submit].submitted,\n  .modals-container button:not(.link).submitted,\n  .modals-container .btn.submitted {\n    color: #555; }\n    .content-container [type=submit].submitted .line-loading,\n    .content-container button:not(.link).submitted .line-loading,\n    .content-container .btn.submitted .line-loading,\n    .modals-container [type=submit].submitted .line-loading,\n    .modals-container button:not(.link).submitted .line-loading,\n    .modals-container .btn.submitted .line-loading {\n      display: block;\n      position: absolute;\n      left: 0;\n      bottom: 0;\n      width: 0%;\n      height: 1px;\n      background: #555;\n      animation: lineLoading linear 1s infinite; }\n  .content-container [type=submit]:not(.btn-holder),\n  .content-container button:not(.link):not(.btn-holder),\n  .content-container .btn:not(.btn-holder),\n  .modals-container [type=submit]:not(.btn-holder),\n  .modals-container button:not(.link):not(.btn-holder),\n  .modals-container .btn:not(.btn-holder) {\n    float: right; }\n\n.content-container [type=submit]:not(.link),\n.content-container .btn-submit:not(.link),\n.modals-container [type=submit]:not(.link),\n.modals-container .btn-submit:not(.link) {\n  color: #FFF;\n  background: #48a200; }\n  .content-container [type=submit]:not(.link):not([disabled]):hover, .content-container [type=submit]:not(.link):not([disabled]):focus, .content-container [type=submit]:not(.link):not(.disabled):hover, .content-container [type=submit]:not(.link):not(.disabled):focus,\n  .content-container .btn-submit:not(.link):not([disabled]):hover,\n  .content-container .btn-submit:not(.link):not([disabled]):focus,\n  .content-container .btn-submit:not(.link):not(.disabled):hover,\n  .content-container .btn-submit:not(.link):not(.disabled):focus,\n  .modals-container [type=submit]:not(.link):not([disabled]):hover,\n  .modals-container [type=submit]:not(.link):not([disabled]):focus,\n  .modals-container [type=submit]:not(.link):not(.disabled):hover,\n  .modals-container [type=submit]:not(.link):not(.disabled):focus,\n  .modals-container .btn-submit:not(.link):not([disabled]):hover,\n  .modals-container .btn-submit:not(.link):not([disabled]):focus,\n  .modals-container .btn-submit:not(.link):not(.disabled):hover,\n  .modals-container .btn-submit:not(.link):not(.disabled):focus {\n    background: #58c600; }\n  .content-container [type=submit]:not(.link).disabled.submitted,\n  .content-container .btn-submit:not(.link).disabled.submitted,\n  .modals-container [type=submit]:not(.link).disabled.submitted,\n  .modals-container .btn-submit:not(.link).disabled.submitted {\n    color: #48a200; }\n    .content-container [type=submit]:not(.link).disabled.submitted .line-loading,\n    .content-container .btn-submit:not(.link).disabled.submitted .line-loading,\n    .modals-container [type=submit]:not(.link).disabled.submitted .line-loading,\n    .modals-container .btn-submit:not(.link).disabled.submitted .line-loading {\n      background: #48a200; }\n\n.content-container .btn-cancel:not(.link),\n.modals-container .btn-cancel:not(.link) {\n  background: #c0392b; }\n  .content-container .btn-cancel:not(.link):not([disabled]):hover, .content-container .btn-cancel:not(.link):not([disabled]):focus, .content-container .btn-cancel:not(.link):not(.disabled):hover, .content-container .btn-cancel:not(.link):not(.disabled):focus,\n  .modals-container .btn-cancel:not(.link):not([disabled]):hover,\n  .modals-container .btn-cancel:not(.link):not([disabled]):focus,\n  .modals-container .btn-cancel:not(.link):not(.disabled):hover,\n  .modals-container .btn-cancel:not(.link):not(.disabled):focus {\n    background: #d34a3b; }\n  .content-container .btn-cancel:not(.link).disabled.submitted,\n  .modals-container .btn-cancel:not(.link).disabled.submitted {\n    color: #c0392b; }\n    .content-container .btn-cancel:not(.link).disabled.submitted .line-loading,\n    .modals-container .btn-cancel:not(.link).disabled.submitted .line-loading {\n      background: #c0392b; }\n\n.content-container .btn-grey:not(.link),\n.modals-container .btn-grey:not(.link) {\n  background: #EEE;\n  color: #555; }\n  .content-container .btn-grey:not(.link):not([disabled]):hover, .content-container .btn-grey:not(.link):not([disabled]):focus, .content-container .btn-grey:not(.link):not(.disabled):hover, .content-container .btn-grey:not(.link):not(.disabled):focus,\n  .modals-container .btn-grey:not(.link):not([disabled]):hover,\n  .modals-container .btn-grey:not(.link):not([disabled]):focus,\n  .modals-container .btn-grey:not(.link):not(.disabled):hover,\n  .modals-container .btn-grey:not(.link):not(.disabled):focus {\n    background: #CCC;\n    color: #333; }\n  .content-container .btn-grey:not(.link).disabled.submitted,\n  .modals-container .btn-grey:not(.link).disabled.submitted {\n    color: #555; }\n    .content-container .btn-grey:not(.link).disabled.submitted .line-loading,\n    .modals-container .btn-grey:not(.link).disabled.submitted .line-loading {\n      background: #999; }\n\n.content-container [disabled],\n.content-container .disabled,\n.modals-container [disabled],\n.modals-container .disabled {\n  cursor: default !important;\n  background: #EEE !important; }\n  .content-container [disabled]:not(.submitted),\n  .content-container .disabled:not(.submitted),\n  .modals-container [disabled]:not(.submitted),\n  .modals-container .disabled:not(.submitted) {\n    color: #BBB !important; }\n\n.content-container .btn-facebook:not(.link),\n.modals-container .btn-facebook:not(.link) {\n  background: #3b5998; }\n  .content-container .btn-facebook:not(.link):hover, .content-container .btn-facebook:not(.link):focus,\n  .modals-container .btn-facebook:not(.link):hover,\n  .modals-container .btn-facebook:not(.link):focus {\n    background: #2d4373; }\n\n.content-container .btn-twitter:not(.link),\n.modals-container .btn-twitter:not(.link) {\n  background: #4099FF; }\n  .content-container .btn-twitter:not(.link):hover, .content-container .btn-twitter:not(.link):focus,\n  .modals-container .btn-twitter:not(.link):hover,\n  .modals-container .btn-twitter:not(.link):focus {\n    background: #0d7eff; }\n\n.content-container .btn-google-plus:not(.link),\n.modals-container .btn-google-plus:not(.link) {\n  background: #d34836; }\n  .content-container .btn-google-plus:not(.link):hover, .content-container .btn-google-plus:not(.link):focus,\n  .modals-container .btn-google-plus:not(.link):hover,\n  .modals-container .btn-google-plus:not(.link):focus {\n    background: #b03626; }\n\n.content-container .btn-facebook,\n.content-container .btn-twitter,\n.content-container .btn-google-plus,\n.modals-container .btn-facebook,\n.modals-container .btn-twitter,\n.modals-container .btn-google-plus {\n  width: 50%;\n  margin: 0 auto;\n  text-align: center; }\n\n.content-container .btn-holder,\n.content-container .buttonHolder {\n  margin-top: 25px;\n  min-height: 40px; }\n\n.wf-active .content-container textarea,\n.wf-active .modals-container textarea {\n  font-family: \"Source Code Pro\", monospace, serif; }\n\n.main-container input[type=radio],\n.main-container input[type=checkbox],\n.modals-container input[type=radio],\n.modals-container input[type=checkbox] {\n  float: left;\n  margin-right: 5px;\n  height: 15px;\n  width: 15px;\n  border: 1px solid #BBB;\n  background: #FCFCFC;\n  transition: none;\n  position: relative; }\n  .main-container input[type=radio]:after,\n  .main-container input[type=checkbox]:after,\n  .modals-container input[type=radio]:after,\n  .modals-container input[type=checkbox]:after {\n    display: block;\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    right: 0;\n    opacity: 0;\n    background-image: url(\"../images/sprite.png\"); }\n  .main-container input[type=radio]:checked:after,\n  .main-container input[type=checkbox]:checked:after,\n  .modals-container input[type=radio]:checked:after,\n  .modals-container input[type=checkbox]:checked:after {\n    opacity: 1; }\n\n.main-container input[type=radio],\n.modals-container input[type=radio] {\n  border-radius: 50%; }\n\n.main-container input[type=radio]:after,\n.modals-container input[type=radio]:after {\n  background-position: 0px -13px; }\n\n.main-container input[type=checkbox]:after,\n.modals-container input[type=checkbox]:after {\n  background-position: 0px 0px; }\n\n.main-container .checkbox,\n.main-container .radio,\n.modals-container .checkbox,\n.modals-container .radio {\n  padding: 10px 0; }\n  .main-container .checkbox input,\n  .main-container .radio input,\n  .modals-container .checkbox input,\n  .modals-container .radio input {\n    margin-top: 8px; }\n\n.main-container .controls .radio,\n.modals-container .controls .radio {\n  padding-top: 3px;\n  padding-bottom: 0; }\n\n.main-container .checkbox-new-content,\n.modals-container .checkbox-new-content {\n  padding: 0; }\n\n@media only screen and (min-width: 960px) {\n  .content-container form.content-wrapper,\n  .modals-container form.content-wrapper {\n    margin: 0;\n    width: 100%; } }\n\n@keyframes lineLoading {\n  0% {\n    width: 0%;\n    left: 0;\n    right: inherit; }\n  49% {\n    left: 0;\n    right: inherit; }\n  50% {\n    width: 100%;\n    left: inherit;\n    right: 0; }\n  100% {\n    left: inherit;\n    right: 0; } }\n\n/*------------------------\n3. Typography\n------------------------*/\nhtml,\nbody,\nbutton,\ninput,\nselect,\ntextarea {\n  font-family: \"Segoe UI\", \"Trebuchet MS\", Helvetica, \"Helvetica Neue\", Arial, sans-serif;\n  color: #222; }\n  .wf-active html,\n  .no-js html, .wf-active\n  body,\n  .no-js\n  body, .wf-active\n  button,\n  .no-js\n  button, .wf-active\n  input,\n  .no-js\n  input, .wf-active\n  select,\n  .no-js\n  select, .wf-active\n  textarea,\n  .no-js\n  textarea {\n    font-family: \"Source Sans Pro\", \"Segoe UI\", \"Trebuchet MS\", Helvetica, \"Helvetica Neue\", Arial, sans-serif; }\n\nhr {\n  display: block;\n  height: 1px;\n  border: 0;\n  border-top: 1px solid #ccc;\n  margin: 1em 0;\n  padding: 0; }\n\na,\n.link {\n  color: #1088bf;\n  transition: all 0.15s ease; }\n  a:hover,\n  .link:hover {\n    color: #d68807;\n    text-decoration: none; }\n\nbutton.link {\n  display: inline-block;\n  background: none;\n  border: none;\n  text-decoration: underline; }\n\n/*------------------------\n4. Icons\n------------------------*/\n.ico {\n  background-repeat: no-repeat;\n  background-image: url(\"../images/sprite.png\"); }\n\n.ico-after {\n  position: relative; }\n  .ico-after:after {\n    content: \" \";\n    display: block;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 16px;\n    height: 16px;\n    background-repeat: no-repeat;\n    background-image: url(\"../images/sprite.png\"); }\n  .ico-after.alert:after {\n    background-position: 0px -4146px; }\n  .ico-after.alert.blue:after {\n    background-position: 0px -4106px; }\n  .ico-after.alert.light:after {\n    background-position: 0px -2066px; }\n  .ico-after.arrow-left:after {\n    background-position: 0px -3786px; }\n  .ico-after.arrow-left.blue:after {\n    background-position: 0px -3546px; }\n  .ico-after.arrow-left.light:after {\n    background-position: 0px -3746px; }\n  .ico-after.offline:after, .ico-after.arrow-right:after {\n    background-position: 0px -3906px; }\n  .ico-after.offline.blue:after, .ico-after.arrow-right.blue:after {\n    background-position: 0px -3826px; }\n  .ico-after.offline.light:after, .ico-after.arrow-right.light:after {\n    background-position: 0px -3866px; }\n  .ico-after.beta:after {\n    background-position: 0px -4066px; }\n  .ico-after.beta.blue:after {\n    background-position: 0px -3986px; }\n  .ico-after.beta.light:after {\n    background-position: 0px -4026px; }\n  .ico-after.cite:after {\n    background-position: 0px -4306px; }\n  .ico-after.cite.blue:after {\n    background-position: 0px -4226px; }\n  .ico-after.cite.light:after {\n    background-position: 0px -4266px; }\n  .ico-after.cross:after {\n    background-position: 0px -4506px; }\n  .ico-after.cross.blue:after {\n    background-position: 0px -4346px; }\n  .ico-after.cross.red:after {\n    background-position: 0px -4426px; }\n  .ico-after.cross.light:after {\n    background-position: 0px -4386px; }\n  .ico-after.cross.white:after {\n    background-position: 0px -4466px; }\n  .ico-after.download:after {\n    background-position: 0px -4746px; }\n  .ico-after.download.blue:after {\n    background-position: 0px -4666px; }\n  .ico-after.download.light:after {\n    background-position: 0px -4706px; }\n  .ico-after.downvote:after {\n    background-position: 0px -3146px; }\n  .ico-after.downvote.voted:after {\n    background-position: 0px -3106px; }\n  .ico-after.edit:after {\n    background-position: 0px -4866px; }\n  .ico-after.edit.blue:after {\n    background-position: 0px -4786px; }\n  .ico-after.edit.light:after {\n    background-position: 0px -4826px; }\n  .ico-after.email:after {\n    background-position: 0px -666px; }\n  .ico-after.email.blue:after {\n    background-position: 0px -586px; }\n  .ico-after.email.light:after {\n    background-position: 0px -626px; }\n  .ico-after.diaspora:after {\n    background-position: 0px -4626px; }\n  .ico-after.diaspora.blue:after {\n    background-position: 0px -4546px; }\n  .ico-after.diaspora.light:after {\n    background-position: 0px -4586px; }\n  .ico-after.facebook:after {\n    background-position: 0px -826px; }\n  .ico-after.facebook.blue:after {\n    background-position: 0px -746px; }\n  .ico-after.facebook.light:after {\n    background-position: 0px -786px; }\n  .ico-after.foursquare:after {\n    background-position: 0px -986px; }\n  .ico-after.foursquare.blue:after {\n    background-position: 0px -906px; }\n  .ico-after.foursquare.light:after {\n    background-position: 0px -946px; }\n  .ico-after.gear:after {\n    background-position: 0px -1106px; }\n  .ico-after.gear.blue:after {\n    background-position: 0px -1026px; }\n  .ico-after.gear.light:after {\n    background-position: 0px -1066px; }\n  .ico-after.github:after {\n    background-position: 0px -1226px; }\n  .ico-after.github.blue:after {\n    background-position: 0px -1146px; }\n  .ico-after.github.light:after {\n    background-position: 0px -1186px; }\n  .ico-after.google-plus:after {\n    background-position: 0px -1346px; }\n  .ico-after.google-plus.blue:after {\n    background-position: 0px -1266px; }\n  .ico-after.google-plus.light:after {\n    background-position: 0px -1306px; }\n  .ico-after.help:after {\n    background-position: 0px -1466px; }\n  .ico-after.help.blue:after {\n    background-position: 0px -1386px; }\n  .ico-after.help.light:after {\n    background-position: 0px -1426px; }\n  .ico-after.hide:after {\n    background-position: 0px -1586px; }\n  .ico-after.hide.blue:after {\n    background-position: 0px -1506px; }\n  .ico-after.hide.light:after {\n    background-position: 0px -1546px; }\n  .ico-after.history:after {\n    background-position: 0px -1706px; }\n  .ico-after.history.blue:after {\n    background-position: 0px -1626px; }\n  .ico-after.history.light:after {\n    background-position: 0px -1666px; }\n  .ico-after.import:after {\n    background-position: 0px -1826px; }\n  .ico-after.import.blue:after {\n    background-position: 0px -1746px; }\n  .ico-after.import.light:after {\n    background-position: 0px -1786px; }\n  .ico-after.lock:after {\n    background-position: 0px -1986px; }\n  .ico-after.lock.blue:after {\n    background-position: 0px -1906px; }\n  .ico-after.lock.light:after {\n    background-position: 0px -1946px; }\n  .ico-after.more:after {\n    background-position: 0px -2186px; }\n  .ico-after.more.blue:after {\n    background-position: 0px -2106px; }\n  .ico-after.more.light:after {\n    background-position: 0px -2146px; }\n  .ico-after.move:after {\n    background-position: 0px -2306px; }\n  .ico-after.move.blue:after {\n    background-position: 0px -2226px; }\n  .ico-after.move.light:after {\n    background-position: 0px -2266px; }\n  .ico-after.pin:after {\n    background-position: 0px -2506px; }\n  .ico-after.pin.blue:after {\n    background-position: 0px -2426px; }\n  .ico-after.pin.light:after {\n    background-position: 0px -2466px; }\n  .ico-after.rss:after {\n    background-position: 0px -2746px; }\n  .ico-after.rss.blue:after {\n    background-position: 0px -2626px; }\n  .ico-after.rss.orange:after {\n    background-position: 0px -2706px; }\n  .ico-after.rss.light:after {\n    background-position: 0px -2666px; }\n  .ico-after.star:after {\n    background-position: 0px -3026px; }\n  .ico-after.star.yellow:after {\n    background-position: 0px -2986px; }\n  .ico-after.star.blue:after {\n    background-position: 0px -2826px; }\n  .ico-after.star.light:after {\n    background-position: 0px -2946px; }\n  .ico-after.tick:after {\n    background-position: 0px -3346px; }\n  .ico-after.tick.green:after {\n    background-position: 0px -3266px; }\n  .ico-after.tick.light:after {\n    background-position: 0px -3306px; }\n  .ico-after.twitter:after {\n    background-position: 0px -3506px; }\n  .ico-after.twitter.blue:after {\n    background-position: 0px -3426px; }\n  .ico-after.twitter.light:after {\n    background-position: 0px -3466px; }\n  .ico-after.unread:after {\n    background-position: 0px -74px; }\n  .ico-after.upvote:after {\n    background-position: 0px -3226px; }\n  .ico-after.upvote.voted:after {\n    background-position: 0px -3186px; }\n  .ico-after.online:after, .ico-after.view:after {\n    background-position: 0px -3666px; }\n  .ico-after.online.blue:after, .ico-after.view.blue:after {\n    background-position: 0px -3586px; }\n  .ico-after.online.light:after, .ico-after.view.light:after {\n    background-position: 0px -3626px; }\n\n/*------------------------\n5. Helpers\n------------------------*/\n.ir {\n  background-color: transparent;\n  border: 0;\n  overflow: hidden;\n  *text-indent: -9999px; }\n\n.ir:before {\n  content: \"\";\n  display: block;\n  width: 0;\n  height: 150%; }\n\n.hidden {\n  display: none !important;\n  visibility: hidden; }\n\n.visuallyhidden {\n  border: 0;\n  clip: rect(0 0 0 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px; }\n\n.visuallyhidden.focusable:active,\n.visuallyhidden.focusable:focus {\n  clip: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  position: static;\n  width: auto; }\n\n.invisible {\n  visibility: hidden; }\n\n.clearfix:before,\n.clearfix:after {\n  content: \" \";\n  display: table; }\n\n.clearfix:after {\n  clear: both; }\n\n.clearfix {\n  *zoom: 1; }\n\nhr.clearfix {\n  clear: both;\n  height: 0;\n  border: none; }\n\n.unstyled-list {\n  list-style: none;\n  padding-left: 0; }\n\n.screen,\n.wide {\n  display: none; }\n\n@media only screen and (min-width: 1140px) {\n  .wide {\n    display: inline; }\n  table .wide {\n    display: table-cell; } }\n\n@media only screen and (min-width: 960px) {\n  .screen {\n    display: inline; } }\n\n/*------------------------\n6. Header\n------------------------*/\n.header-container header {\n  background: #084561;\n  border-bottom: 3px solid #F8AD32; }\n  .header-container header a,\n  .header-container header button {\n    text-decoration: none;\n    color: #FFF;\n    transition-property: background;\n    transition-duration: 0.15s; }\n    .header-container header a:focus,\n    .header-container header button:focus {\n      outline: none; }\n  .header-container header .header-menu {\n    height: 60px; }\n    .header-container header .header-menu .header-menu-list {\n      margin: 0;\n      padding: 0; }\n      .header-container header .header-menu .header-menu-list > li {\n        display: block;\n        float: left;\n        width: 33.3%; }\n        .header-container header .header-menu .header-menu-list > li > a {\n          display: block;\n          position: relative;\n          text-align: center;\n          line-height: 60px;\n          text-transform: uppercase;\n          font-size: 1.5px;\n          font-size: 1.5rem;\n          text-shadow: rgba(0, 0, 0, 0.75) 0 0 3px; }\n          .header-container header .header-menu .header-menu-list > li > a:hover, .header-container header .header-menu .header-menu-list > li > a:focus, .header-container header .header-menu .header-menu-list > li > a.active {\n            background: #396a81; }\n          .header-container header .header-menu .header-menu-list > li > a.current:before {\n            content: \" \";\n            display: block;\n            position: absolute;\n            bottom: 0;\n            left: 0;\n            right: 0;\n            height: 2px;\n            transition: all 0.15s ease;\n            border-radius: 2px 2px 0 0;\n            background-color: #F8AD32; }\n          .header-container header .header-menu .header-menu-list > li > a.current.active:before {\n            height: 0; }\n\n.header-logo {\n  text-align: center;\n  margin: 0;\n  padding: 0;\n  width: 100%; }\n\n.header-logo-link {\n  display: block;\n  margin: 0 auto;\n  text-indent: -9999px;\n  width: 100%;\n  max-width: 240px;\n  height: 60px;\n  background: url(\"../images/logo.png\") no-repeat center center;\n  background-size: 100% auto; }\n  .header-logo-link:hover, .header-logo-link:focus {\n    background-color: #396a81; }\n\n.logbox {\n  background: rgba(255, 255, 255, 0.05); }\n  .logbox .notifs-links {\n    margin-right: 60px; }\n    .logbox .notifs-links .ico-link {\n      display: block;\n      position: relative;\n      width: 33.3%;\n      height: 60px;\n      line-height: 60px;\n      float: left; }\n      .logbox .notifs-links .ico-link .notif-count {\n        display: block;\n        position: absolute;\n        z-index: 1;\n        top: 50%;\n        right: 50%;\n        margin: -20px -22px 0 0;\n        padding: 0 5px;\n        height: 16px;\n        line-height: 14px;\n        background: #c0392b;\n        border-radius: 16px; }\n      .logbox .notifs-links .ico-link .notif-text {\n        display: block;\n        position: absolute;\n        text-indent: -9999px;\n        height: 22px;\n        width: 22px;\n        top: 50%;\n        left: 50%;\n        margin: -11px 0 0 -11px; }\n        .logbox .notifs-links .ico-link .notif-text.ico-messages {\n          background-position: 0px -4906px; }\n        .logbox .notifs-links .ico-link .notif-text.ico-notifs {\n          background-position: 0px -2346px; }\n        .logbox .notifs-links .ico-link .notif-text.ico-alerts {\n          background-position: 0px -4186px; }\n        .logbox .notifs-links .ico-link .notif-text.ico-params {\n          background-position: 0px -2386px; }\n      .logbox .notifs-links .ico-link:hover, .logbox .notifs-links .ico-link:focus, .logbox .notifs-links .ico-link.active {\n        background: #396a81; }\n  .logbox .dropdown {\n    overflow: hidden; }\n    .logbox .dropdown .dropdown-title {\n      display: block;\n      width: 100%;\n      height: 35px;\n      line-height: 37px;\n      text-align: center;\n      border-bottom: 1px solid #274a5a;\n      background-color: #396a81; }\n    .logbox .dropdown,\n    .logbox .dropdown .dropdown-list {\n      margin: 0;\n      padding: 0;\n      list-style: none;\n      background-color: #19526c; }\n      .logbox .dropdown li,\n      .logbox .dropdown .dropdown-list li {\n        display: block;\n        width: 100%;\n        height: 60px; }\n        .logbox .dropdown li a,\n        .logbox .dropdown .dropdown-list li a {\n          display: block;\n          overflow: hidden;\n          position: relative;\n          height: 100%;\n          width: 100%; }\n          .logbox .dropdown li a, .logbox .dropdown li a:hover, .logbox .dropdown li a:focus,\n          .logbox .dropdown .dropdown-list li a,\n          .logbox .dropdown .dropdown-list li a:hover,\n          .logbox .dropdown .dropdown-list li a:focus {\n            opacity: 1;\n            transition-property: opacity, background-color; }\n          .logbox .dropdown li a:hover, .logbox .dropdown li a:focus,\n          .logbox .dropdown .dropdown-list li a:hover,\n          .logbox .dropdown .dropdown-list li a:focus {\n            background-color: #396a81; }\n            .logbox .dropdown li a:hover .username, .logbox .dropdown li a:focus .username,\n            .logbox .dropdown .dropdown-list li a:hover .username,\n            .logbox .dropdown .dropdown-list li a:focus .username {\n              text-shadow: rgba(0, 0, 0, 0.5) 0 0 5px; }\n            .logbox .dropdown li a:hover .date, .logbox .dropdown li a:focus .date,\n            .logbox .dropdown .dropdown-list li a:hover .date,\n            .logbox .dropdown .dropdown-list li a:focus .date {\n              color: #95D7F5; }\n        .logbox .dropdown li .avatar,\n        .logbox .dropdown .dropdown-list li .avatar {\n          float: left;\n          height: 30px;\n          width: 30px; }\n        .logbox .dropdown li .username,\n        .logbox .dropdown .dropdown-list li .username {\n          display: block;\n          float: left;\n          margin: 4px 0 0 7px;\n          color: #95D7F5;\n          width: 50%;\n          overflow: hidden;\n          text-overflow: ellipsis;\n          white-space: nowrap; }\n        .logbox .dropdown li .date,\n        .logbox .dropdown .dropdown-list li .date {\n          color: #5196b6;\n          float: right;\n          padding: 4px 10px 0 0;\n          transition-property: color; }\n        .logbox .dropdown li .topic,\n        .logbox .dropdown .dropdown-list li .topic {\n          display: block;\n          position: absolute;\n          bottom: 0;\n          left: 0;\n          overflow: hidden;\n          height: 25px;\n          padding: 4px 7px 2px;\n          text-overflow: ellipsis;\n          white-space: nowrap;\n          width: 95%;\n          width: calc(100% - 14px); }\n        .logbox .dropdown li:nth-child(2n+1),\n        .logbox .dropdown li:nth-child(2n+1) form button,\n        .logbox .dropdown .dropdown-list li:nth-child(2n+1),\n        .logbox .dropdown .dropdown-list li:nth-child(2n+1) form button {\n          background-color: #084561; }\n  .logbox .my-account {\n    display: block;\n    height: 60px;\n    width: 60px;\n    float: right; }\n    .logbox .my-account .username {\n      display: none; }\n    .logbox .my-account .avatar {\n      background: #396a81; }\n  .logbox .dropdown.my-account-dropdown a,\n  .logbox .dropdown.my-account-dropdown button {\n    padding-left: 10px; }\n  .logbox .dropdown.my-account-dropdown button {\n    width: 100%;\n    height: 30px;\n    line-height: 28px;\n    background: transparent;\n    text-align: left;\n    border: 0; }\n    .logbox .dropdown.my-account-dropdown button:hover, .logbox .dropdown.my-account-dropdown button:focus {\n      background: #396a81; }\n  .logbox.unlogged a {\n    display: block;\n    width: 50%;\n    text-align: center;\n    float: left;\n    line-height: 60px;\n    height: 60px; }\n    .logbox.unlogged a:hover, .logbox.unlogged a:focus {\n      background-color: #396a81; }\n\n.sub-header {\n  background: #EEE; }\n\n@media only screen and (max-width: 959px) {\n  .header-logo {\n    width: 40px;\n    height: 50px;\n    margin-left: 50px;\n    float: left; }\n  .header-logo-link {\n    background-image: url(\"../images/logo-mobile.png\") !important;\n    background-size: 100%;\n    width: 100%;\n    height: 100%; }\n    .header-logo-link:after {\n      display: block;\n      content: attr(data-title);\n      position: absolute;\n      top: 0;\n      left: 95px;\n      right: 155px;\n      line-height: 50px;\n      text-indent: 0;\n      text-align: left;\n      font-weight: normal;\n      font-size: 17px;\n      font-size: 1.7rem;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      overflow: hidden;\n      max-width: 200px; }\n  .header-container header .header-menu {\n    height: 30px; }\n    .header-container header .header-menu .header-menu-list {\n      padding-top: 50px; }\n      .header-container header .header-menu .header-menu-list > li > a {\n        line-height: 50px; }\n  .logbox {\n    float: right;\n    width: 150px;\n    background: none; }\n    .logbox .notifs-links {\n      width: 100%; }\n      .logbox .notifs-links .ico-link {\n        height: 50px;\n        width: 50px; }\n    .logbox .dropdown {\n      top: 50px; }\n    .logbox .dropdown.my-account-dropdown .dropdown-list {\n      bottom: 0; }\n      .logbox .dropdown.my-account-dropdown .dropdown-list li {\n        height: 45px;\n        line-height: 45px; }\n    .logbox.unlogged {\n      font-size: 13px;\n      font-size: 1.3rem; }\n      .logbox.unlogged a {\n        background-color: rgba(255, 255, 255, 0.1);\n        line-height: 30px;\n        height: 30px;\n        margin: 10px 0;\n        width: 74px;\n        margin-right: 1px; } }\n\n@media only screen and (min-width: 960px) {\n  .header-container {\n    z-index: 1;\n    position: relative;\n    box-shadow: 0 0 4px rgba(0, 0, 0, 0.3); }\n    .header-container header {\n      background-image: linear-gradient(to right, transparent 20%, rgba(255, 255, 255, 0.07) 40%, rgba(255, 255, 255, 0.07) 60%, transparent 80%); }\n  .header-logo {\n    float: left;\n    text-align: left;\n    width: 240px; }\n  .header-container header .header-menu {\n    float: left;\n    width: 40%;\n    margin-left: .5%; }\n    .header-container header .header-menu .header-menu-list > li > a {\n      max-width: 150px;\n      font-size: 1.6rem;\n      font-size: 16px; }\n  .dropdown {\n    top: 60px; }\n  .has-dropdown {\n    position: relative;\n    text-indent: -7px; }\n    .has-dropdown:after {\n      content: \" \";\n      display: block;\n      position: absolute;\n      top: 47%;\n      left: 83%;\n      height: 0;\n      width: 0;\n      border: 6px solid transparent;\n      border-top: 6px solid rgba(255, 255, 255, 0.7);\n      border-left: 6px inset transparent; }\n    .has-dropdown:hover:after, .has-dropdown:focus:after, .has-dropdown.active:after {\n      border-top: 6px solid #FFF; }\n  .logbox .dropdown.my-account-dropdown ul li {\n    height: 30px;\n    line-height: 30px; }\n  .lt-ie9 .dropdown {\n    top: 90px; }\n  .header-right {\n    float: right;\n    width: 230px; }\n    .header-right .dropdown {\n      right: 2.5%; } }\n\n@media only screen and (min-width: 1140px) {\n  .header-container header .header-menu {\n    margin-left: 5%; } }\n\n.dropdown {\n  display: none;\n  position: absolute;\n  text-align: left;\n  top: 50px;\n  left: 0;\n  right: 0;\n  background-color: #396a81;\n  margin: 0;\n  padding: 10px 2.5%;\n  font-size: 14px;\n  font-size: 1.4rem;\n  border-bottom: 3px solid #F8AD32;\n  z-index: 50; }\n  .dropdown .dropdown-title {\n    color: #FFF; }\n  .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(1),\n  .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(1) ~ li {\n    width: 100%; }\n  .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(2),\n  .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(2) ~ li {\n    width: 50%; }\n  .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(3),\n  .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(3) ~ li {\n    width: 33.33333%; }\n  .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(4),\n  .dropdown.header-menu-dropdown .dropdown-list > li:first-child:nth-last-child(4) ~ li {\n    width: 25%; }\n  .dropdown .dropdown-list {\n    width: 100%;\n    padding: 0;\n    margin-top: 15px; }\n  .dropdown .dropdown-list > li {\n    width: 20%;\n    float: left; }\n    .dropdown .dropdown-list > li.dropdown-empty-message {\n      color: rgba(255, 255, 255, 0.5);\n      text-align: center;\n      line-height: 60px;\n      background: none !important; }\n    .dropdown .dropdown-list > li ul {\n      margin: 0 0 10px;\n      padding: 0; }\n      .dropdown .dropdown-list > li ul li {\n        position: relative; }\n        .dropdown .dropdown-list > li ul li a {\n          display: block;\n          width: 95%;\n          min-height: 25px;\n          line-height: 25px;\n          color: #95d7f5;\n          overflow: hidden;\n          transition: all 0.15s ease; }\n          .dropdown .dropdown-list > li ul li a:hover, .dropdown .dropdown-list > li ul li a:focus {\n            padding-left: 3%;\n            background-color: rgba(0, 0, 0, 0.3); }\n  .dropdown .dropdown-link-all {\n    display: block;\n    clear: both;\n    text-align: center;\n    height: 30px;\n    line-height: 30px;\n    border-top: 1px solid #274a5a;\n    background-color: #396a81;\n    transition-property: color, background-color; }\n    .dropdown .dropdown-link-all:first-child {\n      border-top: 0 !important;\n      border-bottom: 1px solid #274a5a; }\n    .dropdown .dropdown-link-all:hover, .dropdown .dropdown-link-all:focus {\n      color: #95d7f5;\n      background-color: #274a5a;\n      border-top: 1px solid #396a81; }\n\n.active + .dropdown {\n  display: block; }\n\n@media only screen and (min-width: 760px) {\n  .dropdown {\n    box-shadow: 0 5px 7px rgba(0, 0, 0, 0.3); }\n  .header-right .dropdown {\n    width: 350px;\n    left: auto;\n    padding: 0; }\n    .header-right .dropdown .dropdown-list {\n      max-height: 270px;\n      overflow-x: hidden;\n      overflow-y: auto; }\n      .header-right .dropdown .dropdown-list::-webkit-scrollbar {\n        width: 10px;\n        height: 10px; }\n      .header-right .dropdown .dropdown-list::-webkit-scrollbar-track {\n        background-color: #06354a; }\n      .header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb {\n        background-color: #396a81;\n        border: 1px solid #06354a;\n        transition: all 0.15s ease; }\n        .header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb:hover {\n          background-color: #5196b6; }\n        .header-right .dropdown .dropdown-list::-webkit-scrollbar-thumb:active {\n          background-color: #71b4d3; }\n    .header-right .dropdown.my-account-dropdown {\n      width: 230px; } }\n\n@media only screen and (max-width: 759px) {\n  html.dropdown-active {\n    overflow: hidden; }\n    html.dropdown-active .page-container {\n      width: 100%; }\n    html.dropdown-active .main-container {\n      display: none; }\n  .header-menu-dropdown {\n    display: none !important; }\n  .dropdown {\n    width: 100%;\n    top: 180px;\n    bottom: 0;\n    border-bottom: none; }\n    .dropdown .dropdown-list {\n      overflow: auto;\n      position: absolute;\n      top: 36px;\n      bottom: 50px; }\n    .dropdown .dropdown-link-all {\n      position: absolute;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      height: 50px;\n      line-height: 50px; } }\n\n@media only screen and (min-width: 960px) {\n  .dropdown {\n    top: 60px; } }\n\n.search-form {\n  margin-bottom: 30px; }\n\n.search {\n  display: block;\n  position: relative; }\n  .search form input,\n  .search form button {\n    float: left;\n    border: none;\n    background: rgba(255, 255, 255, 0.25);\n    height: 40px;\n    transition-property: background;\n    transition-duration: 0.15s; }\n    .search form input:hover, .search form input:focus,\n    .search form button:hover,\n    .search form button:focus {\n      background-color: #FFF; }\n    .search form input:focus,\n    .search form button:focus {\n      outline-color: #F8AD32; }\n  .search form input {\n    height: 30px;\n    padding: 5px 3%;\n    width: 70%; }\n  .search form button {\n    width: 12%;\n    text-indent: -9999px; }\n    .search form button.disabled {\n      opacity: .5;\n      background: transparent;\n      cursor: default; }\n    .search form button:after {\n      display: block;\n      content: \" \";\n      position: absolute;\n      top: 12px;\n      left: 50%;\n      margin-left: -8px;\n      height: 17px;\n      width: 17px;\n      background-position: 0px -2786px; }\n  .search .search-more {\n    display: block;\n    float: left;\n    height: 40px;\n    font-family: Arial, sans-serif;\n    line-height: 40px;\n    width: 12%;\n    text-align: center;\n    font-weight: bold;\n    text-decoration: none;\n    font-size: 24px;\n    background: #FFF;\n    color: #084561;\n    transition: background 0.15s ease; }\n    .search .search-more:hover, .search .search-more:focus {\n      background: #F8AD32;\n      color: #FFF;\n      outline: none; }\n    .search .search-more:before {\n      content: \"+\"; }\n\n@media only screen and (min-width: 960px) {\n  .search:before {\n    content: \" \";\n    display: block;\n    position: absolute;\n    left: -20px;\n    height: 30px;\n    width: 20px;\n    background: linear-gradient(to left, rgba(0, 0, 0, 0.03), transparent); }\n  .search form input {\n    padding: 6px 10px;\n    height: 18px;\n    width: 150px; }\n  .search form button {\n    height: 30px;\n    line-height: 30px;\n    width: 30px; }\n    .search form button:after {\n      top: 7px; }\n  .search .search-more {\n    width: 30px;\n    height: 30px;\n    line-height: 30px; } }\n\n#accessibility {\n  list-style: none;\n  margin: 0;\n  padding: 0 2.5%;\n  background: #062E41;\n  overflow: hidden;\n  height: 0; }\n  #accessibility.focused {\n    height: auto; }\n  #accessibility li {\n    display: inline;\n    margin: 0;\n    padding: 0; }\n    #accessibility li a {\n      display: inline-block;\n      padding: 0 7px;\n      color: #EEE; }\n      #accessibility li a:hover, #accessibility li a:focus {\n        color: #084561;\n        background-color: #fff;\n        text-decoration: none; }\n\n#cookies-eu-banner {\n  padding: 0 3%;\n  background: #062E41;\n  display: none; }\n  #cookies-eu-banner div,\n  #cookies-eu-banner #cookies-eu-reject {\n    display: inline-block;\n    margin: 0;\n    padding: 7px 0;\n    color: #EEE;\n    line-height: 23px; }\n  #cookies-eu-banner #cookies-eu-reject {\n    background: none;\n    border: none;\n    text-decoration: underline; }\n    #cookies-eu-banner #cookies-eu-reject:hover, #cookies-eu-banner #cookies-eu-reject:focus {\n      text-decoration: none; }\n  #cookies-eu-banner #cookies-eu-more,\n  #cookies-eu-banner #cookies-eu-accept {\n    display: inline-block;\n    margin-top: 3px;\n    padding: 4px 15px;\n    text-decoration: none;\n    transition: background 0.15s, color 0.15s; }\n  #cookies-eu-banner #cookies-eu-more {\n    margin-left: 15px;\n    color: #EEE;\n    background: #084561; }\n    #cookies-eu-banner #cookies-eu-more:hover, #cookies-eu-banner #cookies-eu-more:focus {\n      color: #084561;\n      background: #EEE; }\n  #cookies-eu-banner #cookies-eu-accept {\n    border: none;\n    color: #084561;\n    background: #EEE; }\n    #cookies-eu-banner #cookies-eu-accept:hover, #cookies-eu-banner #cookies-eu-accept:focus {\n      color: #EEE;\n      background: #084561; }\n\n@media only screen and (max-width: 759px) {\n  #cookies-eu-banner {\n    position: absolute;\n    top: 50px;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    z-index: 10; }\n    #cookies-eu-banner div {\n      margin-top: 40px;\n      padding: 0 5px; }\n    #cookies-eu-banner #cookies-eu-more,\n    #cookies-eu-banner #cookies-eu-accept {\n      display: block;\n      width: 100%;\n      height: 40px;\n      padding: 0 !important;\n      margin: 15px 0 0 0 !important;\n      text-align: center; }\n    #cookies-eu-banner #cookies-eu-more {\n      margin-top: 40px !important;\n      line-height: 40px; } }\n\n/*------------------------\n7. Layout\n------------------------*/\n.main .sidebar {\n  padding: 0 0 10px;\n  background: #F0F0F0;\n  border-bottom: 1px solid #FFF;\n  color: #424242;\n  width: 105%;\n  margin: 0 0 0 -2.7%; }\n  .main .sidebar .new-btn {\n    display: block;\n    height: 40px;\n    padding-left: 11.5%;\n    text-decoration: none;\n    text-indent: 25px;\n    line-height: 40px;\n    font-size: 16px;\n    font-size: 1.6rem;\n    position: relative;\n    color: #1088bf;\n    transition: all 0.15s ease; }\n    .main .sidebar .new-btn:first-child {\n      margin-top: 31px; }\n    .main .sidebar .new-btn:hover, .main .sidebar .new-btn:focus {\n      background: #FFF; }\n    .main .sidebar .new-btn:after {\n      top: 12px;\n      left: 11.5%; }\n  .main .sidebar h3,\n  .main .sidebar h4 {\n    font-weight: normal;\n    margin: 0;\n    padding: 0; }\n  .main .sidebar h3 {\n    font-size: 18px;\n    font-size: 1.8rem;\n    line-height: 38px;\n    line-height: 3.8rem;\n    color: #084561;\n    border-bottom: 1px solid #F8AD32;\n    margin-top: 30px; }\n  .main .sidebar h4 {\n    padding-top: 20px;\n    font-size: 17px;\n    font-size: 1.7rem; }\n    .main .sidebar h4 a {\n      text-decoration: none;\n      color: #424242; }\n  .main .sidebar.accordeon h4 {\n    cursor: pointer; }\n  .main .sidebar h4[data-num] {\n    position: relative;\n    padding-left: calc(5% + 25px); }\n    .main .sidebar h4[data-num]:before {\n      content: attr(data-num);\n      position: absolute;\n      left: 5%;\n      text-align: right;\n      width: 50px;\n      margin-left: -35px; }\n  .main .sidebar h3 + ul,\n  .main .sidebar h3 + ol {\n    margin: 7px 0; }\n  .main .sidebar ul,\n  .main .sidebar ol {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n    width: 100%; }\n    .main .sidebar ul li,\n    .main .sidebar ol li {\n      position: relative;\n      padding: 0 0 0 2.5%;\n      transition: background 0.15s ease; }\n      .main .sidebar ul li:not(.inactive):hover,\n      .main .sidebar ul li a:focus,\n      .main .sidebar ul li button:focus,\n      .main .sidebar ol li:not(.inactive):hover,\n      .main .sidebar ol li a:focus,\n      .main .sidebar ol li button:focus {\n        background: #FFF;\n        outline: none; }\n        .main .sidebar ul li:not(.inactive):hover .ico-after.action-hover,\n        .main .sidebar ul li a:focus .ico-after.action-hover,\n        .main .sidebar ul li button:focus .ico-after.action-hover,\n        .main .sidebar ol li:not(.inactive):hover .ico-after.action-hover,\n        .main .sidebar ol li a:focus .ico-after.action-hover,\n        .main .sidebar ol li button:focus .ico-after.action-hover {\n          display: block; }\n      .main .sidebar ul li a,\n      .main .sidebar ul li button,\n      .main .sidebar ul li.inactive > span,\n      .main .sidebar ul li.inactive > em,\n      .main .sidebar ol li a,\n      .main .sidebar ol li button,\n      .main .sidebar ol li.inactive > span,\n      .main .sidebar ol li.inactive > em {\n        display: block;\n        padding-left: 25px;\n        padding-right: 10px;\n        text-decoration: none;\n        color: #0079b2;\n        overflow: hidden;\n        height: 30px;\n        line-height: 30px;\n        font-size: 14px;\n        font-size: 1.4rem;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        border: 0;\n        text-align: left;\n        background: transparent;\n        /**\n                 * Sidebar link variations / icons\n                 */ }\n        .main .sidebar ul li a[data-num],\n        .main .sidebar ul li button[data-num],\n        .main .sidebar ul li.inactive > span[data-num],\n        .main .sidebar ul li.inactive > em[data-num],\n        .main .sidebar ol li a[data-num],\n        .main .sidebar ol li button[data-num],\n        .main .sidebar ol li.inactive > span[data-num],\n        .main .sidebar ol li.inactive > em[data-num] {\n          position: relative; }\n          .main .sidebar ul li a[data-num]:after,\n          .main .sidebar ul li button[data-num]:after,\n          .main .sidebar ul li.inactive > span[data-num]:after,\n          .main .sidebar ul li.inactive > em[data-num]:after,\n          .main .sidebar ol li a[data-num]:after,\n          .main .sidebar ol li button[data-num]:after,\n          .main .sidebar ol li.inactive > span[data-num]:after,\n          .main .sidebar ol li.inactive > em[data-num]:after {\n            content: attr(data-num) \".\";\n            position: absolute;\n            left: 0;\n            width: 18px;\n            text-align: right;\n            color: #424242; }\n        .main .sidebar ul li a.selected,\n        .main .sidebar ul li button.selected,\n        .main .sidebar ul li.inactive > span.selected,\n        .main .sidebar ul li.inactive > em.selected,\n        .main .sidebar ol li a.selected,\n        .main .sidebar ol li button.selected,\n        .main .sidebar ol li.inactive > span.selected,\n        .main .sidebar ol li.inactive > em.selected {\n          font-weight: bold; }\n        .main .sidebar ul li a img,\n        .main .sidebar ul li button img,\n        .main .sidebar ul li.inactive > span img,\n        .main .sidebar ul li.inactive > em img,\n        .main .sidebar ol li a img,\n        .main .sidebar ol li button img,\n        .main .sidebar ol li.inactive > span img,\n        .main .sidebar ol li.inactive > em img {\n          border-right: 7px solid transparent; }\n        .main .sidebar ul li a img,\n        .main .sidebar ul li a span:not(.wide),\n        .main .sidebar ul li button img,\n        .main .sidebar ul li button span:not(.wide),\n        .main .sidebar ul li.inactive > span img,\n        .main .sidebar ul li.inactive > span span:not(.wide),\n        .main .sidebar ul li.inactive > em img,\n        .main .sidebar ul li.inactive > em span:not(.wide),\n        .main .sidebar ol li a img,\n        .main .sidebar ol li a span:not(.wide),\n        .main .sidebar ol li button img,\n        .main .sidebar ol li button span:not(.wide),\n        .main .sidebar ol li.inactive > span img,\n        .main .sidebar ol li.inactive > span span:not(.wide),\n        .main .sidebar ol li.inactive > em img,\n        .main .sidebar ol li.inactive > em span:not(.wide) {\n          vertical-align: middle; }\n        .main .sidebar ul li a .icon,\n        .main .sidebar ul li button .icon,\n        .main .sidebar ul li.inactive > span .icon,\n        .main .sidebar ul li.inactive > em .icon,\n        .main .sidebar ol li a .icon,\n        .main .sidebar ol li button .icon,\n        .main .sidebar ol li.inactive > span .icon,\n        .main .sidebar ol li.inactive > em .icon {\n          border-right: 7px solid transparent;\n          display: inline-block;\n          width: 16px;\n          height: 16px;\n          margin: 7px 5px;\n          line-height: 30px; }\n        .main .sidebar ul li a.ico-after:after,\n        .main .sidebar ul li button.ico-after:after,\n        .main .sidebar ul li.inactive > span.ico-after:after,\n        .main .sidebar ul li.inactive > em.ico-after:after,\n        .main .sidebar ol li a.ico-after:after,\n        .main .sidebar ol li button.ico-after:after,\n        .main .sidebar ol li.inactive > span.ico-after:after,\n        .main .sidebar ol li.inactive > em.ico-after:after {\n          top: 7px;\n          left: 0;\n          opacity: .7; }\n        .main .sidebar ul li a.ico-after.disabled:after,\n        .main .sidebar ul li button.ico-after.disabled:after,\n        .main .sidebar ul li.inactive > span.ico-after.disabled:after,\n        .main .sidebar ul li.inactive > em.ico-after.disabled:after,\n        .main .sidebar ol li a.ico-after.disabled:after,\n        .main .sidebar ol li button.ico-after.disabled:after,\n        .main .sidebar ol li.inactive > span.ico-after.disabled:after,\n        .main .sidebar ol li.inactive > em.ico-after.disabled:after {\n          opacity: .4 !important; }\n        .main .sidebar ul li a.ico-after:hover:after, .main .sidebar ul li a.ico-after:focus:after,\n        .main .sidebar ul li button.ico-after:hover:after,\n        .main .sidebar ul li button.ico-after:focus:after,\n        .main .sidebar ul li.inactive > span.ico-after:hover:after,\n        .main .sidebar ul li.inactive > span.ico-after:focus:after,\n        .main .sidebar ul li.inactive > em.ico-after:hover:after,\n        .main .sidebar ul li.inactive > em.ico-after:focus:after,\n        .main .sidebar ol li a.ico-after:hover:after,\n        .main .sidebar ol li a.ico-after:focus:after,\n        .main .sidebar ol li button.ico-after:hover:after,\n        .main .sidebar ol li button.ico-after:focus:after,\n        .main .sidebar ol li.inactive > span.ico-after:hover:after,\n        .main .sidebar ol li.inactive > span.ico-after:focus:after,\n        .main .sidebar ol li.inactive > em.ico-after:hover:after,\n        .main .sidebar ol li.inactive > em.ico-after:focus:after {\n          opacity: 1; }\n        .main .sidebar ul li a.ico-after.action-hover,\n        .main .sidebar ul li button.ico-after.action-hover,\n        .main .sidebar ul li.inactive > span.ico-after.action-hover,\n        .main .sidebar ul li.inactive > em.ico-after.action-hover,\n        .main .sidebar ol li a.ico-after.action-hover,\n        .main .sidebar ol li button.ico-after.action-hover,\n        .main .sidebar ol li.inactive > span.ico-after.action-hover,\n        .main .sidebar ol li.inactive > em.ico-after.action-hover {\n          position: absolute;\n          display: none;\n          overflow: visible;\n          top: 0;\n          left: 10%;\n          padding: 0;\n          z-index: 1;\n          width: 30px;\n          height: 30px;\n          text-indent: -9999px;\n          background: #FFF;\n          right: -30px; }\n          .main .sidebar ul li a.ico-after.action-hover[data-title]:hover:before,\n          .main .sidebar ul li button.ico-after.action-hover[data-title]:hover:before,\n          .main .sidebar ul li.inactive > span.ico-after.action-hover[data-title]:hover:before,\n          .main .sidebar ul li.inactive > em.ico-after.action-hover[data-title]:hover:before,\n          .main .sidebar ol li a.ico-after.action-hover[data-title]:hover:before,\n          .main .sidebar ol li button.ico-after.action-hover[data-title]:hover:before,\n          .main .sidebar ol li.inactive > span.ico-after.action-hover[data-title]:hover:before,\n          .main .sidebar ol li.inactive > em.ico-after.action-hover[data-title]:hover:before {\n            content: attr(data-title);\n            display: block;\n            position: absolute;\n            background: #FFF;\n            color: #555;\n            top: -27px;\n            left: 0;\n            height: 27px;\n            line-height: 27px;\n            line-height: 2.7rem;\n            text-indent: 0;\n            padding: 0 15px;\n            border: 1px solid #EEE;\n            box-shadow: rgba(0, 0, 0, 0.15) 0 0 7px; }\n          .main .sidebar ul li a.ico-after.action-hover:after,\n          .main .sidebar ul li button.ico-after.action-hover:after,\n          .main .sidebar ul li.inactive > span.ico-after.action-hover:after,\n          .main .sidebar ul li.inactive > em.ico-after.action-hover:after,\n          .main .sidebar ol li a.ico-after.action-hover:after,\n          .main .sidebar ol li button.ico-after.action-hover:after,\n          .main .sidebar ol li.inactive > span.ico-after.action-hover:after,\n          .main .sidebar ol li.inactive > em.ico-after.action-hover:after {\n            left: 7px; }\n      .main .sidebar ul li.inactive > span,\n      .main .sidebar ul li.inactive > em,\n      .main .sidebar ol li.inactive > span,\n      .main .sidebar ol li.inactive > em {\n        color: #555; }\n      .main .sidebar ul li .count,\n      .main .sidebar ol li .count {\n        display: block;\n        position: absolute;\n        top: 6px;\n        right: 20px;\n        padding: 1px 10px;\n        height: 16px;\n        line-height: 16px;\n        font-style: normal;\n        background: #AAA;\n        color: #FFF; }\n      .main .sidebar ul li .last-answer,\n      .main .sidebar ol li .last-answer {\n        display: block;\n        visibility: hidden;\n        position: absolute;\n        top: -13px;\n        left: 102%;\n        width: 250px;\n        height: 40px;\n        background: #FFF;\n        padding: 7px 10px;\n        border: 1px solid #F0F0F0;\n        box-shadow: rgba(0, 0, 0, 0.1) 2px 2px 2px;\n        opacity: 0;\n        transition: visibility 0s linear 0.15s, opacity 0.15s, left 0.15s; }\n        .main .sidebar ul li .last-answer .avatar,\n        .main .sidebar ol li .last-answer .avatar {\n          height: 40px;\n          width: 40px;\n          float: left;\n          border: 1px solid #F0F0F0; }\n        .main .sidebar ul li .last-answer .topic-last-answer,\n        .main .sidebar ol li .last-answer .topic-last-answer {\n          display: block;\n          margin-left: 50px;\n          line-height: 18px;\n          padding: 3px 0;\n          color: #555; }\n        .main .sidebar ul li .last-answer .topic-no-last-answer,\n        .main .sidebar ol li .last-answer .topic-no-last-answer {\n          display: block;\n          line-height: 40px;\n          width: 100%;\n          text-align: center;\n          color: #999; }\n      .main .sidebar ul li a:hover + .last-answer, .main .sidebar ul li a:focus + .last-answer,\n      .main .sidebar ol li a:hover + .last-answer,\n      .main .sidebar ol li a:focus + .last-answer {\n        visibility: visible;\n        left: 100%;\n        opacity: 1;\n        transition: visibility 0s linear 0, opacity 0.15s, left 0.15s; }\n      .main .sidebar ul li a.unread,\n      .main .sidebar ol li a.unread {\n        font-weight: bold; }\n      .main .sidebar ul li button,\n      .main .sidebar ol li button {\n        width: 100%;\n        line-height: 28px; }\n      .main .sidebar ul li li,\n      .main .sidebar ol li li {\n        padding: 0; }\n        .main .sidebar ul li li a,\n        .main .sidebar ol li li a {\n          position: relative;\n          color: #084561;\n          transition: all 0.15s ease; }\n          .main .sidebar ul li li a:hover, .main .sidebar ul li li a:focus,\n          .main .sidebar ol li li a:hover,\n          .main .sidebar ol li li a:focus {\n            color: #0079B2;\n            background: #FFF;\n            margin-left: -11px; }\n            .main .sidebar ul li li a:hover:before, .main .sidebar ul li li a:focus:before,\n            .main .sidebar ol li li a:hover:before,\n            .main .sidebar ol li li a:focus:before {\n              content: \"> \"; }\n  .main .sidebar.summary h4 {\n    border-bottom: 1px solid #d8dada;\n    padding-bottom: 5px;\n    padding-right: 15px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap; }\n    .main .sidebar.summary h4 + ul > li:first-child,\n    .main .sidebar.summary h4 + ol > li:first-child {\n      margin-top: 5px; }\n  .main .sidebar.summary ol li.current {\n    margin-top: 0 !important;\n    padding-top: 5px;\n    margin-bottom: 5px;\n    background-color: #FFF; }\n    .main .sidebar.summary ol li.current + a {\n      font-weight: bold; }\n    .main .sidebar.summary ol li.current ol {\n      margin-top: 5px;\n      padding-top: 5px;\n      padding-bottom: 5px;\n      margin-left: -42px;\n      width: calc(105% + 25px);\n      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.07), #F7F7F7 3px); }\n      .main .sidebar.summary ol li.current ol a {\n        padding-left: 50px; }\n\n.main .content-container {\n  padding-top: 30px; }\n  .main .content-container h1,\n  .main .content-container h2 {\n    font-size: 22px;\n    font-size: 2.2rem;\n    line-height: 38px;\n    line-height: 3.8rem;\n    color: #084561;\n    font-weight: normal;\n    border-bottom: 1px solid #F8AD32;\n    margin: 1px 0 15px; }\n    .main .content-container h1.illu,\n    .main .content-container h2.illu {\n      padding-left: 60px; }\n      .main .content-container h1.illu img,\n      .main .content-container h2.illu img {\n        background: #FFF; }\n    .main .content-container h1.ico-after,\n    .main .content-container h2.ico-after {\n      padding-left: 80px; }\n      .main .content-container h1.ico-after:after,\n      .main .content-container h2.ico-after:after {\n        width: 80px;\n        height: 40px;\n        margin-left: 21px; }\n    .main .content-container h1.ico-articles:after,\n    .main .content-container h2.ico-articles:after {\n      background-position: 0px -3946px; }\n    .main .content-container h1.ico-tutorials:after,\n    .main .content-container h2.ico-tutorials:after {\n      background-position: 0px -3386px; }\n    .main .content-container h1.ico-news:after,\n    .main .content-container h2.ico-news:after {\n      background-position: 0px -2866px; }\n    .main .content-container h1.ico-forum:after,\n    .main .content-container h2.ico-forum:after {\n      background-position: 0px -866px; }\n    .main .content-container h1.ico-tags:after,\n    .main .content-container h2.ico-tags:after {\n      background-position: 0px -3066px; }\n    .main .content-container h1.illu img,\n    .main .content-container h2.illu img {\n      position: absolute;\n      margin: -6px 0 0 -60px;\n      border: 1px solid #cdd0d1;\n      width: 50px;\n      height: 50px; }\n  .main .content-container .license {\n    float: right;\n    margin: 0;\n    margin-top: 10px; }\n  .main .content-container .subtitle {\n    font-size: 18px;\n    font-size: 1.8rem;\n    line-height: 23px;\n    color: #999;\n    margin-top: -15px;\n    margin-bottom: 15px;\n    padding: 10px 0;\n    font-weight: normal;\n    border-bottom: 1px solid #EEE; }\n  .main .content-container .pubdate {\n    display: block;\n    color: #999;\n    margin-bottom: 15px; }\n  .main .content-container .member-item .avatar {\n    margin-top: -2px;\n    height: 20px;\n    width: 20px;\n    border: 1px solid #CCC; }\n  .main .content-container .member-item .avatar + span {\n    padding-left: 3px; }\n  .main .content-container .member-item:hover .avatar {\n    border-color: #999; }\n  .main .content-container .member-item + .member-item {\n    margin-left: 7px; }\n  .main .content-container .authors .member-item {\n    margin-right: 0;\n    margin-left: 7px; }\n    .main .content-container .authors .member-item .avatar {\n      height: 30px;\n      width: 30px;\n      margin: -3px 5px 0 -6px; }\n  .main .content-container .open-zen-mode {\n    display: none; }\n  .main .content-container .new-btn-container {\n    display: none; }\n\n.home .main .content-container {\n  margin-top: 0; }\n\n.pagination-bottom-clear {\n  clear: both; }\n\n@media only screen and (min-width: 1360px) {\n  .main .content-container .content-wrapper {\n    max-width: 960px;\n    margin: 0 auto !important; } }\n\n@media only screen and (min-width: 960px) {\n  body.no-sidebar .main .content-container {\n    width: 100%; }\n  body.no-sidebar .main .sidebar {\n    display: none; }\n  .main {\n    display: -webkit-box;\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: -moz-box;\n    display: flex;\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -moz-box-orient: horizontal;\n    -moz-box-direction: reverse;\n    -ms-flex-direction: row-reverse;\n    -webkit-flex-direction: row-reverse;\n    flex-direction: row-reverse;\n    height: 100%;\n    margin-left: 0;\n    padding-left: 2.5%; }\n    .main .content-container {\n      width: 80%;\n      margin-right: 0; }\n      .main .content-container .taglist + .pubdate {\n        margin-top: -40px; }\n      .main .content-container .open-zen-mode {\n        display: block; }\n      .main .content-container.zen-mode {\n        width: 100%;\n        min-height: calc(100% - 200px);\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        z-index: 20;\n        background: #FCFCFC;\n        padding: 100px 0;\n        margin-bottom: 0; }\n        .main .content-container.zen-mode .comments-title,\n        .main .content-container.zen-mode .pagination:not(.pagination-chapter),\n        .main .content-container.zen-mode .topic-message,\n        .main .content-container.zen-mode .alert-box {\n          display: none; }\n        .main .content-container.zen-mode .content-wrapper {\n          margin: 0 4%; }\n      .main .content-container h1,\n      .main .content-container h2 {\n        margin-left: 1px; }\n      .main .content-container .content-col-2 {\n        width: 49.5%;\n        margin: 0 0 0 1%; }\n      .main .content-container .content-col-3 {\n        width: 32%;\n        margin: 0 0 0 2%; }\n      .main .content-container .content-col-2,\n      .main .content-container .content-col-3 {\n        float: left; }\n        .main .content-container .content-col-2:first-child,\n        .main .content-container .content-col-3:first-child {\n          margin: 0; }\n      .main .content-container .article-content > .summary-part > li {\n        float: left;\n        width: 50%; }\n        .main .content-container .article-content > .summary-part > li:nth-child(2n+1) {\n          clear: both; }\n    .main .sidebar {\n      width: 22.5%;\n      border-bottom: none; }\n      .main .sidebar h3,\n      .main .sidebar h4,\n      .main .sidebar ul li,\n      .main .sidebar ol li {\n        padding-left: 11.5%; }\n      .main .sidebar h3:first-child {\n        margin-top: 31px; }\n      .main .sidebar h4[data-num] {\n        padding-left: calc(11% + 25px); }\n        .main .sidebar h4[data-num]:before {\n          left: 11%; }\n      .main .sidebar.sommaire ul li.current ul,\n      .main .sidebar.sommaire ul li.current ol {\n        margin-left: calc(-11% - 10px);\n        width: calc(111% + 10px);\n        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.07), transparent 3px); }\n        .main .sidebar.sommaire ul li.current ul a,\n        .main .sidebar.sommaire ul li.current ol a {\n          padding-left: calc(11% + 30px); } }\n\n@media only screen and (min-width: 960px) {\n  .content-cols .main .content-container {\n    width: 79%;\n    margin-left: 1.5%; }\n  .full-content-wrapper .tutorial-list article {\n    width: 46%;\n    float: left; }\n    .full-content-wrapper .tutorial-list article.extend {\n      width: 100%; } }\n\n@media only screen and (max-width: 959px) {\n  .main .content-container .new-btn-container {\n    display: block;\n    margin: 30px 0;\n    border-top: 1px solid #DDD;\n    overflow: hidden; }\n    .main .content-container .new-btn-container .new-btn {\n      display: block;\n      width: 100%;\n      padding: 7px 10px 7px 35px;\n      text-decoration: none;\n      height: 30px;\n      line-height: 30px;\n      background: #EEE;\n      color: #333;\n      border-bottom: 1px solid #DDD; }\n      .main .content-container .new-btn-container .new-btn.ico-after:after {\n        top: 13px;\n        left: 10px; }\n  .main .content-container h1.ico-news:after, .main .content-container h2.ico-news:after {\n    background-position: 0px -2906px; }\n  .main {\n    width: 100%; }\n  .main .content-container .content-col:not(:first-child),\n  .main .sidebar {\n    margin-top: 50px; }\n  .main .sidebar {\n    width: 102.5%; }\n  .main .sidebar h3,\n  .main .sidebar h4,\n  .main .sidebar ul li {\n    padding-left: 5.5%; }\n    .main .sidebar h3 a,\n    .main .sidebar h4 a,\n    .main .sidebar ul li a {\n      white-space: normal; }\n  .content-col-2:not(:first-child),\n  .content-col-3:not(:first-child) {\n    margin-top: 50px; } }\n\n.small-content-wrapper {\n  width: 90%;\n  max-width: 500px;\n  margin: 20px auto; }\n\n.main .content-container .content-wrapper.article-content, .main .content-container .content-wrapper.authors {\n  padding-left: 2%;\n  padding-right: 2%; }\n\n.main .content-container .article-content p,\n.main .content-container .article-content > a,\n.main .content-container .article-content p a,\n.main .content-container .article-content ul:not(.pagination),\n.main .content-container .article-content ol:not(.summary-part) {\n  font-family: \"Merriweather\", \"Liberation Serif\", \"Times New Roman\", Times, Georgia, FreeSerif, serif; }\n\n.main .content-container .content-wrapper.comment-author,\n.main .content-container .comment-author {\n  background: #EEE;\n  padding: 7px 15px;\n  margin-bottom: 20px; }\n  .main .content-container .content-wrapper.comment-author blockquote,\n  .main .content-container .comment-author blockquote {\n    margin: 10px 0;\n    border-left: 5px solid  #CCC;\n    padding: 5px 0 5px 15px; }\n\n.main .content-container .article-content .summary-part {\n  font-size: 20px;\n  color: #ea9408; }\n  .main .content-container .article-content .summary-part h3,\n  .main .content-container .article-content .summary-part h4 {\n    font-weight: normal;\n    width: 90%; }\n    .main .content-container .article-content .summary-part h3 a,\n    .main .content-container .article-content .summary-part h4 a {\n      text-decoration: none; }\n      .main .content-container .article-content .summary-part h3 a:hover, .main .content-container .article-content .summary-part h3 a:focus,\n      .main .content-container .article-content .summary-part h4 a:hover,\n      .main .content-container .article-content .summary-part h4 a:focus {\n        text-decoration: underline; }\n  .main .content-container .article-content .summary-part h3 {\n    font-size: 20px;\n    margin: 0 0 5px; }\n  .main .content-container .article-content .summary-part .summary-part {\n    list-style: none;\n    padding-left: 0;\n    margin-bottom: 15px; }\n    .main .content-container .article-content .summary-part .summary-part h4 {\n      font-size: 14px;\n      margin: 2px 0; }\n\n.main .content-container .article-content,\n.main .content-container .message-content {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  color: #424242; }\n  .main .content-container .article-content h2,\n  .main .content-container .article-content h3,\n  .main .content-container .message-content h2,\n  .main .content-container .message-content h3 {\n    clear: both; }\n    .main .content-container .article-content h2,\n    .main .content-container .article-content h2 a,\n    .main .content-container .article-content h3,\n    .main .content-container .article-content h3 a,\n    .main .content-container .message-content h2,\n    .main .content-container .message-content h2 a,\n    .main .content-container .message-content h3,\n    .main .content-container .message-content h3 a {\n      color: #ea9408;\n      margin-top: 40px;\n      text-decoration: none; }\n    .main .content-container .article-content h2 a:hover,\n    .main .content-container .article-content h2 a:focus,\n    .main .content-container .article-content h3 a:hover,\n    .main .content-container .article-content h3 a:focus,\n    .main .content-container .message-content h2 a:hover,\n    .main .content-container .message-content h2 a:focus,\n    .main .content-container .message-content h3 a:hover,\n    .main .content-container .message-content h3 a:focus {\n      text-decoration: underline; }\n  .main .content-container .article-content h2,\n  .main .content-container .message-content h2 {\n    font-size: 22px;\n    font-size: 2.2rem;\n    line-height: 50px;\n    margin-bottom: 20px;\n    background: #FFF;\n    border-top: 1px solid #e0e4e5;\n    padding-left: 1%;\n    font-weight: 400; }\n  .main .content-container .article-content h3,\n  .main .content-container .message-content h3 {\n    font-size: 20px;\n    font-size: 2.0rem;\n    margin-bottom: 14px; }\n  .main .content-container .article-content h4,\n  .main .content-container .message-content h4 {\n    font-size: 18px;\n    font-size: 1.8rem;\n    margin-bottom: 12px; }\n  .main .content-container .article-content h5,\n  .main .content-container .message-content h5 {\n    font-size: 16px;\n    font-size: 1.6rem;\n    margin-bottom: 10px; }\n  .main .content-container .article-content h6,\n  .main .content-container .message-content h6 {\n    font-size: 15px;\n    font-size: 1.5rem;\n    margin-bottom: 10px; }\n  .main .content-container .article-content .actions-title,\n  .main .content-container .message-content .actions-title {\n    float: right;\n    margin: -60px 10px 0 0; }\n    .main .content-container .article-content .actions-title .btn,\n    .main .content-container .message-content .actions-title .btn {\n      height: 30px;\n      line-height: 30px;\n      margin-left: 3px;\n      opacity: .7;\n      z-index: 1; }\n      .main .content-container .article-content .actions-title .btn.ico-after:after,\n      .main .content-container .message-content .actions-title .btn.ico-after:after {\n        margin-top: 7px; }\n      .main .content-container .article-content .actions-title .btn:hover, .main .content-container .article-content .actions-title .btn:focus,\n      .main .content-container .message-content .actions-title .btn:hover,\n      .main .content-container .message-content .actions-title .btn:focus {\n        opacity: 1; }\n  .main .content-container .article-content :not(.alert-box).information, .main .content-container .article-content :not(.alert-box).question, .main .content-container .article-content :not(.alert-box).error, .main .content-container .article-content :not(.alert-box).warning, .main .content-container .article-content :not(.alert-box).spoiler,\n  .main .content-container .message-content :not(.alert-box).information,\n  .main .content-container .message-content :not(.alert-box).question,\n  .main .content-container .message-content :not(.alert-box).error,\n  .main .content-container .message-content :not(.alert-box).warning,\n  .main .content-container .message-content :not(.alert-box).spoiler {\n    margin: 25px 0;\n    padding: 7px 15px 7px 45px; }\n    .main .content-container .article-content :not(.alert-box).information.ico-after:after, .main .content-container .article-content :not(.alert-box).question.ico-after:after, .main .content-container .article-content :not(.alert-box).error.ico-after:after, .main .content-container .article-content :not(.alert-box).warning.ico-after:after, .main .content-container .article-content :not(.alert-box).spoiler.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).information.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).question.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).error.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).warning.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).spoiler.ico-after:after {\n      position: absolute;\n      top: 50%;\n      left: 23px;\n      margin: -11px 0 0 -11px;\n      height: 22px;\n      width: 22px; }\n  .main .content-container .article-content :not(.alert-box).information,\n  .main .content-container .message-content :not(.alert-box).information {\n    background: #daeaee; }\n    .main .content-container .article-content :not(.alert-box).information.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).information.ico-after:after {\n      background-position: 0px -1866px; }\n  .main .content-container .article-content :not(.alert-box).question,\n  .main .content-container .message-content :not(.alert-box).question {\n    background: #e2daee; }\n    .main .content-container .article-content :not(.alert-box).question.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).question.ico-after:after {\n      background-position: 0px -2546px; }\n  .main .content-container .article-content :not(.alert-box).error,\n  .main .content-container .message-content :not(.alert-box).error {\n    background: #eedada; }\n    .main .content-container .article-content :not(.alert-box).error.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).error.ico-after:after {\n      background-position: 0px -706px; }\n  .main .content-container .article-content :not(.alert-box).warning,\n  .main .content-container .message-content :not(.alert-box).warning {\n    background: #eee7da; }\n    .main .content-container .article-content :not(.alert-box).warning.ico-after:after,\n    .main .content-container .message-content :not(.alert-box).warning.ico-after:after {\n      background-position: 0px -3706px; }\n  .main .content-container .article-content .spoiler,\n  .main .content-container .message-content .spoiler {\n    margin-top: 0;\n    padding-left: 15px;\n    background: #EEE; }\n  .main .content-container .article-content .spoiler-title,\n  .main .content-container .message-content .spoiler-title {\n    display: block;\n    background: #EEE;\n    margin: 15px 0;\n    padding: 3px 15px 3px 40px;\n    text-decoration: none;\n    border-bottom: 1px solid #DDD;\n    color: #555; }\n    .main .content-container .article-content .spoiler-title.ico-after:after,\n    .main .content-container .message-content .spoiler-title.ico-after:after {\n      margin: 8px 0 0 10px; }\n    .main .content-container .article-content .spoiler-title:nth-last-child(2),\n    .main .content-container .message-content .spoiler-title:nth-last-child(2) {\n      margin-bottom: 15px; }\n    .main .content-container .article-content .spoiler-title:hover,\n    .main .content-container .message-content .spoiler-title:hover {\n      text-decoration: underline; }\n  .main .content-container .article-content img,\n  .main .content-container .message-content img {\n    max-width: 100%; }\n  .main .content-container .article-content figure,\n  .main .content-container .message-content figure {\n    margin: 30px 0;\n    text-align: center; }\n  .main .content-container .article-content figure > img,\n  .main .content-container .article-content figure > video,\n  .main .content-container .article-content figure > pre,\n  .main .content-container .article-content figure > code,\n  .main .content-container .article-content figure > table,\n  .main .content-container .article-content figure > blockquote,\n  .main .content-container .article-content figure > embed,\n  .main .content-container .article-content figure > video,\n  .main .content-container .message-content figure > img,\n  .main .content-container .message-content figure > video,\n  .main .content-container .message-content figure > pre,\n  .main .content-container .message-content figure > code,\n  .main .content-container .message-content figure > table,\n  .main .content-container .message-content figure > blockquote,\n  .main .content-container .message-content figure > embed,\n  .main .content-container .message-content figure > video {\n    max-width: 100%;\n    margin: 0 auto;\n    text-align: left; }\n  .main .content-container .article-content figure > img,\n  .main .content-container .article-content figure > video,\n  .main .content-container .article-content figure > pre,\n  .main .content-container .article-content figure > code,\n  .main .content-container .message-content figure > img,\n  .main .content-container .message-content figure > video,\n  .main .content-container .message-content figure > pre,\n  .main .content-container .message-content figure > code {\n    display: block; }\n  .main .content-container .article-content figure > figcaption,\n  .main .content-container .message-content figure > figcaption {\n    display: block; }\n  .main .content-container .article-content figure > blockquote ~ figcaption,\n  .main .content-container .message-content figure > blockquote ~ figcaption {\n    padding: 0 0 1px 2%;\n    font-style: italic;\n    text-align: left;\n    color: #999;\n    border-left: 5px solid #CCC; }\n    .main .content-container .article-content figure > blockquote ~ figcaption p,\n    .main .content-container .message-content figure > blockquote ~ figcaption p {\n      margin: 0 0 5px; }\n    .main .content-container .article-content figure > blockquote ~ figcaption p:before,\n    .main .content-container .message-content figure > blockquote ~ figcaption p:before {\n      content: \"— \"; }\n  .main .content-container .article-content blockquote,\n  .main .content-container .message-content blockquote {\n    margin: 0;\n    color: #777;\n    padding: 1px 2%;\n    border-left: 5px solid #CCC; }\n    .main .content-container .article-content blockquote > p:first-child,\n    .main .content-container .message-content blockquote > p:first-child {\n      margin-top: 5px; }\n    .main .content-container .article-content blockquote > p:last-child,\n    .main .content-container .message-content blockquote > p:last-child {\n      margin-bottom: 5px; }\n    .main .content-container .article-content blockquote figure,\n    .main .content-container .message-content blockquote figure {\n      margin: 15px 0; }\n    .main .content-container .article-content blockquote:last-child,\n    .main .content-container .message-content blockquote:last-child {\n      margin-bottom: 15px; }\n  .main .content-container .article-content code,\n  .main .content-container .article-content kbd,\n  .main .content-container .article-content pre,\n  .main .content-container .article-content samp,\n  .main .content-container .message-content code,\n  .main .content-container .message-content kbd,\n  .main .content-container .message-content pre,\n  .main .content-container .message-content samp {\n    font-family: monospace, serif; }\n  .main .content-container .article-content pre,\n  .main .content-container .message-content pre {\n    margin: 0; }\n  .main .content-container .article-content kbd,\n  .main .content-container .message-content kbd {\n    background-color: #F8F6EA;\n    padding: 2px 6px;\n    border-radius: 3px;\n    border: solid 1px #e0dab6;\n    border-bottom-width: 3px;\n    text-shadow: 0 1px 0 #FFF;\n    color: #5e551f; }\n  .main .content-container .article-content p code,\n  .main .content-container .article-content li code,\n  .main .content-container .message-content p code,\n  .main .content-container .message-content li code {\n    color: #A00;\n    background: #EEE;\n    border: 1px solid #CCC;\n    padding: 0 5px; }\n  .main .content-container .article-content .mathjax-wrapper,\n  .main .content-container .message-content .mathjax-wrapper {\n    max-width: 100%;\n    overflow: auto; }\n    .main .content-container .article-content .mathjax-wrapper mathjax,\n    .main .content-container .message-content .mathjax-wrapper mathjax {\n      font-size: 16px;\n      font-size: 1.6rem; }\n  .main .content-container .article-content .footnote,\n  .main .content-container .message-content .footnote {\n    opacity: .7; }\n    .main .content-container .article-content .footnote ol,\n    .main .content-container .message-content .footnote ol {\n      padding-left: 25px; }\n\n.main .content-container .comments-title {\n  margin: 50px 0 20px;\n  color: #084561;\n  border-bottom: 1px solid #F8AD32;\n  font-weight: normal;\n  font-size: 22px;\n  font-size: 2.2rem;\n  line-height: 30px; }\n\n.wf-active .main .content-container .article-content p,\n.wf-active .main .content-container .article-content ul:not(.pagination),\n.wf-active .main .content-container .article-content ol:not(.summary-part) {\n  font-family: \"Merriweather\", \"Liberation Serif\", \"Times New Roman\", Times, Georgia, FreeSerif, serif; }\n\n.wf-active .main .content-container .article-content figcaption p {\n  font-family: \"Source Sans Pro\", \"Segoe UI\", \"Trebuchet MS\", Helvetica, \"Helvetica Neue\", Arial, sans-serif;\n  font-size: 16px;\n  font-size: 1.6rem; }\n\n.wf-active .main .content-container .article-content code, .wf-active .main .content-container .article-content kbd, .wf-active .main .content-container .article-content pre, .wf-active .main .content-container .article-content samp,\n.wf-active .main .content-container .message-content code,\n.wf-active .main .content-container .message-content kbd,\n.wf-active .main .content-container .message-content pre,\n.wf-active .main .content-container .message-content samp {\n  font-family: \"Source Code Pro\", monospace, serif; }\n\n.js .spoiler {\n  display: none; }\n\n@media only screen and (min-width: 1140px) {\n  .full-content-wrapper .tutorial-list article {\n    width: 29.3%; }\n  .main .content-container .topic-message .message .message-metadata .date .short-date {\n    display: none; }\n  .main .content-container .topic-message .message .message-metadata .date .long-date {\n    display: inline; } }\n\n@media only screen and (min-width: 960px) {\n  .content-wrapper,\n  .full-content-wrapper {\n    margin: 0 0 0 4%; }\n    .content-wrapper.without-margin,\n    .full-content-wrapper.without-margin {\n      margin: 0; }\n    .content-wrapper .content-wrapper,\n    .full-content-wrapper .content-wrapper {\n      max-width: none;\n      margin: 0; } }\n\n@media only screen and (max-width: 959px) {\n  .main .content-container .taglist,\n  .main .content-container .pubdate {\n    margin-left: 10px;\n    margin-right: 10px; }\n  .main .content-container .article-content p,\n  .main .content-container .article-content ol,\n  .main .content-container .article-content ul:not(.pagination) {\n    font-size: 15px;\n    font-size: 1.5rem;\n    font-size: 1.8ex; }\n  .main .content-container .content-wrapper h1:not(.ico-after),\n  .main .content-container .content-wrapper h2:not(.ico-after),\n  .main .content-container .content-wrapper h3,\n  .main .content-container .content-wrapper .subtitle,\n  .main .content-container .full-content-wrapper h1:not(.ico-after),\n  .main .content-container .full-content-wrapper h2:not(.ico-after),\n  .main .content-container .full-content-wrapper h3,\n  .main .content-container .full-content-wrapper .subtitle {\n    padding-left: 10px;\n    padding-right: 10px; }\n  .main .content-container .content-wrapper .illu img,\n  .main .content-container .full-content-wrapper .illu img {\n    display: none; }\n  .main .content-container .content-wrapper h4,\n  .main .content-container .content-wrapper h5,\n  .main .content-container .content-wrapper h6,\n  .main .content-container .content-wrapper .authors,\n  .main .content-container .content-wrapper p,\n  .main .content-container .content-wrapper figure,\n  .main .content-container .content-wrapper blockquote,\n  .main .content-container .full-content-wrapper h4,\n  .main .content-container .full-content-wrapper h5,\n  .main .content-container .full-content-wrapper h6,\n  .main .content-container .full-content-wrapper .authors,\n  .main .content-container .full-content-wrapper p,\n  .main .content-container .full-content-wrapper figure,\n  .main .content-container .full-content-wrapper blockquote {\n    margin-left: 10px;\n    margin-right: 10px; }\n  .main .content-container .content-wrapper figure p,\n  .main .content-container .content-wrapper figure blockquote,\n  .main .content-container .full-content-wrapper figure p,\n  .main .content-container .full-content-wrapper figure blockquote {\n    margin-left: 0;\n    margin-right: 0; }\n  .main .content-container .content-wrapper .license,\n  .main .content-container .full-content-wrapper .license {\n    position: absolute;\n    margin-top: 0;\n    top: 62px;\n    right: 15px; } }\n\n@media only screen and (max-width: 759px) {\n  .main .content-container .article-content .btn {\n    float: none;\n    text-align: center; } }\n\n.footer-container footer {\n  color: #424242;\n  padding: 20px 0; }\n\n.page-footer {\n  background: #084561;\n  height: 40px;\n  line-height: 40px;\n  border-top: 3px solid #F8AD32;\n  font-size: 14px;\n  font-size: 1.4rem; }\n  .page-footer .wrapper {\n    display: flex; }\n  .page-footer .copyright {\n    color: #EEE;\n    margin: 0; }\n  .page-footer ul {\n    list-style: none;\n    margin: 0;\n    padding: 0; }\n    .page-footer ul.links li {\n      display: inline-block;\n      margin-left: 25px; }\n      .page-footer ul.links li a {\n        text-decoration: none;\n        color: #EEE;\n        border-bottom: 1px solid transparent; }\n        .page-footer ul.links li a:hover, .page-footer ul.links li a:focus {\n          border-bottom-color: #F8AD32; }\n    .page-footer ul.social {\n      flex: 1;\n      text-align: center; }\n      .page-footer ul.social li {\n        margin: -2px 10px;\n        display: inline-block; }\n        .page-footer ul.social li a {\n          display: block;\n          height: 16px;\n          width: 16px; }\n          .page-footer ul.social li a:after {\n            opacity: 0.6; }\n          .page-footer ul.social li a:hover {\n            border-bottom-color: transparent; }\n            .page-footer ul.social li a:hover:after {\n              opacity: 1; }\n  .page-footer .version,\n  .page-footer .version a {\n    color: rgba(255, 255, 255, 0.5); }\n  .page-footer .version a:hover,\n  .page-footer .version a:focus {\n    color: #FFF; }\n\n@media only screen and (max-width: 959px) {\n  .page-footer {\n    text-align: center;\n    height: auto; }\n    .page-footer .wrapper {\n      flex-direction: column; }\n      .page-footer .wrapper .social {\n        -ms-flex: none; }\n    .page-footer .copyright, .page-footer .social {\n      border-bottom: 2px solid #0a5274; }\n    .page-footer ul li {\n      margin: 0 5px; } }\n\n/*------------------------\n8. Components\n------------------------*/\n.alert-box {\n  position: relative;\n  padding: 8px 30px 8px 15px;\n  margin: 0 0 15px 2%;\n  color: #FFF;\n  text-shadow: rgba(0, 0, 0, 0.2) 0 0 2px;\n  background: #777; }\n  .alert-box.alert-box-not-closable {\n    padding-right: 15px; }\n  .alert-box .alert-box-text {\n    display: block;\n    float: left; }\n  .alert-box .close-alert-box {\n    display: block;\n    position: absolute;\n    top: 8px;\n    right: 15px;\n    height: 20px;\n    width: 20px;\n    text-indent: -9999px;\n    text-decoration: none;\n    background-color: transparent;\n    line-height: 22px;\n    color: #FFF; }\n    .alert-box .close-alert-box.ico-after:after {\n      margin-top: 4px; }\n  .alert-box .close-alert-box-text {\n    width: auto;\n    text-indent: 0;\n    top: 8px; }\n  .alert-box .alert-box-title {\n    margin: 5px 0;\n    padding: 0;\n    font-size: 18px;\n    font-weight: normal; }\n  .alert-box.info, .alert-box.success {\n    background: #48A200; }\n  .alert-box.error {\n    background: #C0392B; }\n  .alert-box.alert, .alert-box.warning {\n    background: #e67e22; }\n  .alert-box.not-member {\n    background: #FDFDFD;\n    color: #333;\n    text-shadow: none;\n    border-bottom: 3px solid  #D2D5D6; }\n  .alert-box.ico-after {\n    padding-left: 40px; }\n    .alert-box.ico-after:after {\n      margin: 12px 0 0 13px; }\n  .alert-box h4,\n  .alert-box p {\n    margin-left: 0 !important;\n    margin-right: 0 !important; }\n  .alert-box p {\n    margin: 0; }\n  .alert-box a {\n    color: #EEE; }\n  .alert-box .alert-box-btn {\n    display: inline-block;\n    background: #084561;\n    text-decoration: none;\n    padding: 8px 15px;\n    margin: 5px 0;\n    color: #FFF !important; }\n    .alert-box .alert-box-btn:hover, .alert-box .alert-box-btn:focus {\n      background: #0b5c82; }\n    .alert-box .alert-box-btn.alert-box-btn-right {\n      position: absolute;\n      top: 0;\n      right: 0;\n      margin: 0; }\n  .alert-box.empty {\n    display: none; }\n\n.content-wrapper .alert-box {\n  margin: 0 0 20px; }\n  .content-wrapper .alert-box + .not-member {\n    margin-top: -20px; }\n\n@media only screen and (min-width: 760px) {\n  .alert-box .alert-box-text {\n    display: inline; }\n  .topic-message .alert-box {\n    padding: 8px 75px 8px 15px; } }\n\n@media only screen and (max-width: 759px) {\n  .alert-box .alert-box-btn, .alert-box .alert-box-btn.alert-box-btn-right {\n    position: relative;\n    float: none;\n    display: block;\n    margin: 5px 0 0;\n    text-align: center; } }\n\n.authors {\n  color: #9c9c9c;\n  padding-bottom: 10px;\n  border-bottom: 1px solid #e0e4e5;\n  margin-bottom: 20px !important; }\n  .authors .authors-label {\n    display: inline-block; }\n  .authors ul {\n    display: inline-block;\n    list-style: none;\n    padding: 0;\n    margin: 0; }\n    .authors ul li {\n      display: inline-block;\n      margin: 0; }\n      .authors ul li .avatar {\n        height: 28px;\n        width: 28px;\n        border: 1px solid #cdd0d1;\n        margin-right: 3px;\n        margin-top: -4px; }\n      .authors ul li a {\n        display: block;\n        text-decoration: none;\n        color: #1088bf;\n        height: 36px;\n        line-height: 36px;\n        padding: 0 8px;\n        transition: all 0.15s ease; }\n        .authors ul li a.ico-after {\n          padding-left: 30px; }\n          .authors ul li a.ico-after:after {\n            margin: 10px 0 0 8px; }\n        .authors ul li a:hover, .authors ul li a:focus {\n          background: #DDD;\n          color: #084561; }\n      .authors ul li .info {\n        padding-left: 5px;\n        color: #777; }\n\n.autocomplete-wrapper {\n  position: relative; }\n  .autocomplete-wrapper .autocomplete-dropdown {\n    position: absolute;\n    z-index: 60; }\n    .autocomplete-wrapper .autocomplete-dropdown ul {\n      padding: 0;\n      margin: 0;\n      background-color: #FFF;\n      border-right: solid 1px #CCC;\n      border-left: solid 1px #CCC;\n      border-bottom-right-radius: 4px;\n      border-bottom-left-radius: 4px; }\n      .autocomplete-wrapper .autocomplete-dropdown ul li {\n        padding: 4px 10px;\n        border-bottom: solid 1px #CCC;\n        list-style: none; }\n        .autocomplete-wrapper .autocomplete-dropdown ul li.active, .autocomplete-wrapper .autocomplete-dropdown ul li:hover {\n          background-color: #0c6790;\n          color: white; }\n\n.modal .autocomplete-dropdown {\n  margin-top: -15px; }\n\n.breadcrumb {\n  display: none; }\n\n@media only screen and (min-width: 960px) {\n  .breadcrumb {\n    position: relative;\n    display: block;\n    float: left;\n    width: calc(100% - 230px);\n    height: 30px; }\n    .breadcrumb:after {\n      content: \" \";\n      display: block;\n      position: absolute;\n      top: 0;\n      right: 0;\n      width: 50px;\n      height: 100%;\n      background-image: linear-gradient(to right, rgba(231, 235, 236, 0), rgba(231, 235, 236, 0.75)); }\n    .breadcrumb ol {\n      margin: 0;\n      padding: 0;\n      list-style: none;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap; }\n      .breadcrumb ol li {\n        position: relative;\n        display: inline-block;\n        padding-right: 30px;\n        line-height: 30px; }\n        .breadcrumb ol li a {\n          text-decoration: none;\n          color: #084561; }\n          .breadcrumb ol li a:hover, .breadcrumb ol li a:focus {\n            text-decoration: underline;\n            outline: none; }\n        .breadcrumb ol li:not(:last-child):after {\n          display: block;\n          position: absolute;\n          top: 0;\n          right: 7px;\n          content: \" \";\n          height: 30px;\n          width: 15px;\n          background-image: url(\"../images/sprite.png\");\n          background-repeat: no-repeat;\n          background-position: 0px -2586px;\n          opacity: .2; } }\n\n.content-item {\n  background: #FFF;\n  min-height: 60px;\n  display: flex;\n  border: solid 1px #DEDEDE;\n  border-bottom-width: 2px;\n  margin: 0 10px 15px;\n  overflow: hidden;\n  flex: 1 1 400px;\n  width: 100%; }\n  .content-item.expand-description .content-description {\n    height: 36px;\n    white-space: normal;\n    font-size: 14px;\n    font-size: 1.4rem;\n    line-height: 18px; }\n  .content-item.expand-description .content-meta {\n    line-height: 16px;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis; }\n    .content-item.expand-description .content-meta:not(.inline) > * {\n      display: inline; }\n  .content-item a {\n    text-decoration: none; }\n  .content-item > a:not(.btn) {\n    display: flex;\n    width: 100%; }\n  .content-item .content-illu {\n    flex: 0 0 96px;\n    height: 96px;\n    background-color: #DEDEDE; }\n    .content-item .content-illu img {\n      width: 100%;\n      height: 100%;\n      background-color: #FFF; }\n  .content-item .content-info {\n    padding: 10px 14px;\n    height: 76px;\n    flex: 1;\n    position: relative;\n    min-width: 100px; }\n  .content-item .content-reactions {\n    position: absolute;\n    z-index: 0;\n    bottom: 6px;\n    left: -14px;\n    height: 32px;\n    width: 32px;\n    padding-left: 1px;\n    background-image: url(\"../images/sprite.png\");\n    background-position: 0px -554px;\n    color: #F8AD32;\n    text-align: center;\n    line-height: 32px;\n    font-weight: bold;\n    font-size: 14px;\n    font-size: 1.4rem; }\n    .content-item .content-reactions span {\n      position: relative;\n      z-index: 2; }\n    .content-item .content-reactions::before {\n      content: \"\";\n      display: block;\n      position: absolute;\n      top: 0;\n      bottom: 0;\n      right: 0;\n      left: 0;\n      z-index: 1;\n      background-image: url(\"../images/sprite.png\");\n      background-position: 0px -522px;\n      opacity: 0;\n      transition: opacity 0.15s; }\n    .content-item .content-reactions:focus, .content-item .content-reactions:hover {\n      color: white; }\n      .content-item .content-reactions:focus::before, .content-item .content-reactions:hover::before {\n        opacity: 1; }\n  .content-item.has-reactions .content-meta {\n    padding-left: 14px; }\n  .content-item .content-title {\n    margin: 0;\n    font-size: 17px;\n    font-size: 1.7rem;\n    font-weight: normal;\n    line-height: 20px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    color: #424242; }\n  .content-item a:hover, .content-item a:focus {\n    outline: none; }\n    .content-item a:hover .content-title, .content-item a:focus .content-title {\n      text-decoration: underline;\n      outline: none; }\n  .content-item p {\n    margin: 0; }\n  .content-item .content-description {\n    margin: 0;\n    font-size: 15px;\n    font-size: 1.5rem;\n    line-height: 26px;\n    height: 26px;\n    color: #999;\n    margin-bottom: 2px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap; }\n    .content-item .content-description .short {\n      display: none; }\n  .content-item .content-meta {\n    color: #F8AD32;\n    font-size: 13px;\n    font-size: 1.3rem;\n    line-height: 15px; }\n    .content-item .content-meta:not(.inline) > * {\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      display: block; }\n    .content-item .content-meta .short {\n      display: none; }\n    .content-item .content-meta a {\n      color: #ef9708; }\n      .content-item .content-meta a:hover, .content-item .content-meta a:focus {\n        text-decoration: underline; }\n  .content-item .content-tags {\n    margin: 0;\n    padding: 10px 0 0;\n    display: flex;\n    flex-direction: column;\n    align-items: flex-end; }\n    .content-item .content-tags li {\n      padding: 0;\n      flex: 0 0 22px;\n      background-color: #EEE;\n      margin-bottom: 5px;\n      color: #777;\n      display: block;\n      text-align: right;\n      transition: color 0.15s, background-color 0.15s; }\n      .content-item .content-tags li a {\n        color: inherit;\n        padding: 0 12px;\n        line-height: 22px;\n        height: 22px;\n        display: block; }\n        .content-item .content-tags li a:hover, .content-item .content-tags li a:focus {\n          color: #EEE;\n          background-color: #777; }\n  .content-item.write-tutorial {\n    background-color: #084561;\n    border-color: #084561;\n    align-items: center;\n    color: white;\n    height: 96px; }\n    .content-item.write-tutorial .write-tutorial-text {\n      flex: 1;\n      text-align: center;\n      margin: 10px 14px; }\n      .content-item.write-tutorial .write-tutorial-text p {\n        margin: 0;\n        font-size: 16px; }\n        .content-item.write-tutorial .write-tutorial-text p.lead {\n          font-size: 18px;\n          font-weight: bold; }\n    .content-item.write-tutorial .btn-write-tutorial {\n      background-color: #1c5b78;\n      margin-right: 28px;\n      transition: color 0.15s, background-color 0.15s; }\n      .content-item.write-tutorial .btn-write-tutorial:hover, .content-item.write-tutorial .btn-write-tutorial:focus {\n        background-color: #FFF;\n        color: #1c5b78; }\n  .content-item.topic-item .content-info {\n    padding: 14px 20px;\n    height: 68px; }\n  .content-item.topic-item .content-title {\n    font-size: 19px;\n    font-size: 1.9rem;\n    line-height: 24px;\n    color: #084561; }\n  .content-item.topic-item .content-description {\n    color: #505050;\n    font-size: 16px;\n    font-size: 1.6rem; }\n  .content-item.topic-item .member-item:hover, .content-item.topic-item .member-item:focus {\n    text-decoration: underline; }\n  .content-item.topic-item .content-meta {\n    font-size: 14px;\n    font-size: 1.4rem;\n    line-height: 16px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap; }\n\n.content-item-list {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  min-width: 100%;\n  margin: 0 -10px; }\n  .content-item-list .fill {\n    flex: 1 1 400px;\n    margin: 0 10px; }\n\n@media only screen and (max-width: 959px) {\n  .full-content-wrapper .content-item .content-info h3 {\n    padding: 0 !important; }\n  .full-content-wrapper .content-item .content-info p:not(.content-meta) {\n    margin: 0 !important; } }\n\n@media only screen and (max-width: 759px) {\n  .content-item.write-tutorial {\n    display: none; }\n  .content-item .content-tags {\n    display: none; }\n  .content-item .content-meta .short, .content-item .content-description .short {\n    display: inline; }\n  .content-item .content-meta .long, .content-item .content-description .long {\n    display: none; } }\n\n.zform-toolbar {\n  margin: 0;\n  padding: 2px;\n  list-style-position: initial;\n  list-style-type: none;\n  border-bottom: none; }\n  .zform-toolbar a,\n  .zform-toolbar button {\n    display: block;\n    float: left;\n    cursor: pointer;\n    border-bottom: 1px solid transparent;\n    text-decoration: none;\n    color: #999;\n    height: 27px;\n    line-height: 30px;\n    padding: 0 10px;\n    margin-left: 1px;\n    text-indent: -9999px;\n    width: 0; }\n    .zform-toolbar a .zform-popup,\n    .zform-toolbar button .zform-popup {\n      text-indent: 0;\n      line-height: 20px; }\n    .zform-toolbar a.ico-after,\n    .zform-toolbar button.ico-after {\n      padding-left: 30px; }\n    .zform-toolbar a:after,\n    .zform-toolbar button:after {\n      top: 7px;\n      left: 12px; }\n    .zform-toolbar a:hover, .zform-toolbar a:focus,\n    .zform-toolbar button:hover,\n    .zform-toolbar button:focus {\n      border-bottom-color: #1088bf;\n      outline: none;\n      background-color: #EEE; }\n  .zform-toolbar button {\n    padding: 0 15px;\n    height: 30px;\n    border-top: none;\n    border-right: none;\n    border-left: none; }\n    .zform-toolbar button[type=submit] {\n      background: #084561;\n      border-bottom-color: #084561;\n      color: #DDD; }\n      .zform-toolbar button[type=submit]:hover, .zform-toolbar button[type=submit]:focus {\n        color: #FFF;\n        background: #396A81;\n        border-bottom-color: #396A81; }\n\n.zform-button {\n  background-repeat: no-repeat;\n  background-position: center center; }\n\n/* Icons */\n.zform-button-bold:after {\n  background-position: 0px -138px; }\n\n.zform-button-italic:after {\n  background-position: 0px -250px; }\n\n.zform-button-strike:after {\n  background-position: 0px -410px; }\n\n.zform-button-abbr:after {\n  background-position: 0px -90px; }\n\n.zform-button-key:after {\n  background-position: 0px -26px; }\n\n.zform-button-sup:after {\n  background-position: 0px -442px; }\n\n.zform-button-sub:after {\n  background-position: 0px -426px; }\n\n.zform-button-center:after {\n  background-position: 0px -154px; }\n\n.zform-button-right:after {\n  background-position: 0px -362px; }\n\n.zform-button-ul:after {\n  background-position: 0px -42px; }\n\n.zform-button-ol:after {\n  background-position: 0px -314px; }\n\n.zform-button-quote:after {\n  background-position: 0px -346px; }\n\n.zform-button-link:after {\n  background-position: 0px -282px; }\n\n.zform-button-image:after {\n  background-position: 0px -218px; }\n\n.zform-button-attention:after {\n  background-position: 0px -106px; }\n\n.zform-button-error:after {\n  background-position: 0px -186px; }\n\n.zform-button-question:after {\n  background-position: 0px -330px; }\n\n.zform-button-information:after, .zform-button-infoblocks:after {\n  background-position: 0px -234px; }\n\n.zform-button-secret:after {\n  background-position: 0px -378px; }\n\n.zform-button-blockcode:after, .zform-button-monospace:after {\n  background-position: 0px -122px; }\n\n.zform-button-titles:after {\n  background-position: 0px -506px; }\n\n.zform-button-title1:after {\n  background-position: 0px -474px; }\n\n.zform-button-title2:after {\n  background-position: 0px -490px; }\n\n.zform-button-title3:after {\n  background-position: 0px -266px; }\n\n.zform-button-title4:after {\n  background-position: 0px -58px; }\n\n.zform-button-table:after {\n  background-position: 0px -458px; }\n\n.zform-button-math:after {\n  background-position: 0px -298px; }\n\n.zform-button-footnote:after {\n  background-position: 0px -202px; }\n\n.zform-button-chars:after {\n  background-position: 0px -170px; }\n\n.zform-button-smilies:after {\n  background-position: 0px -394px; }\n\n/* Simple dropdown */\ndiv.zform-popup {\n  top: 32px;\n  z-index: 100;\n  background: transparent;\n  background-color: #fff;\n  background-image: linear-gradient(center to top, #EBEBE5 8%, #F9F9F6 75%);\n  border: 1px solid #CCCCCC;\n  border-radius: 3px;\n  padding: 2px; }\n\n/* 3 cols select code dropdown */\n.zform-code-col {\n  display: inline-block;\n  vertical-align: top;\n  margin: 2px;\n  min-width: 100px; }\n  .zform-code-col > span {\n    display: block;\n    color: #2677C9;\n    cursor: pointer; }\n    .zform-code-col > span[data-zform-selected='true'] {\n      color: blue;\n      font-weight: bold; }\n    .zform-code-col > span:hover, .zform-code-col > span:focus {\n      color: #C87B02; }\n\n.featured-resource-item {\n  flex: 1;\n  margin-right: 1px;\n  background-color: #CCC;\n  position: relative;\n  overflow: hidden;\n  max-width: 228px;\n  min-width: 170px;\n  z-index: 0;\n  background-color: #084561; }\n  .featured-resource-item::before {\n    content: \"\";\n    display: block;\n    padding-top: 100%; }\n  .featured-resource-item .featured-resource-illu {\n    position: absolute;\n    z-index: 1;\n    top: 0;\n    left: 0;\n    height: 100%;\n    width: auto;\n    transition: 0.15s ease;\n    transition-property: filter, opacity, transform; }\n  .featured-resource-item .featured-resource-meta {\n    position: absolute;\n    z-index: 3;\n    color: white;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    padding: 40px 14px 12px;\n    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);\n    background-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.2) 30px, rgba(0, 0, 0, 0.4)); }\n    .featured-resource-item .featured-resource-meta h3 {\n      font-size: 16px;\n      line-height: 20px;\n      font-weight: normal;\n      margin: 0;\n      display: table-cell;\n      vertical-align: middle;\n      height: 0;\n      transition: height 0.15s ease; }\n    .featured-resource-item .featured-resource-meta p {\n      font-size: 12px;\n      margin: 0;\n      line-height: 22px; }\n  .featured-resource-item a:focus .featured-resource-illu,\n  .featured-resource-item a:hover .featured-resource-illu {\n    opacity: 0.4;\n    filter: blur(5px);\n    transform: scale(1.05); }\n  .featured-resource-item a:focus .featured-resource-meta h3,\n  .featured-resource-item a:hover .featured-resource-meta h3 {\n    height: 190px;\n    font-size: 20px; }\n  .featured-resource-item > a {\n    display: block; }\n\n.featured-resource-edit-form {\n  display: flex;\n  align-items: flex-start; }\n  .featured-resource-edit-form .featured-resource-item {\n    margin-right: 20px;\n    flex-basis: 228px; }\n  .featured-resource-edit-form form {\n    width: auto;\n    flex: 1; }\n\n@media only screen and (max-width: 759px) {\n  .featured-resource-edit-form {\n    flex-direction: column;\n    align-items: unset; } }\n\n.search-box {\n  width: 100%;\n  min-height: 60px;\n  background: #EEE;\n  box-shadow: rgba(0, 0, 0, 0.25) 0 0 3px; }\n  .search-box form {\n    min-height: 60px; }\n    .search-box form label {\n      display: block;\n      line-height: 40px;\n      font-size: 16px;\n      font-size: 1.6rem;\n      color: #333;\n      text-align: center;\n      width: 100%; }\n    .search-box form input,\n    .search-box form button {\n      border: 1px solid #F8AD32;\n      background: #FFF;\n      margin: 5px 0 12px; }\n    .search-box form input {\n      height: 34px;\n      padding: 0 15px;\n      border-right: none;\n      width: 85%;\n      width: calc(100% - 71px); }\n    .search-box form button {\n      height: 36px;\n      text-indent: -9999px;\n      border-left: none;\n      width: 40px;\n      transition: background 0.15s;\n      position: absolute;\n      bottom: 0;\n      right: 15px; }\n      .search-box form button:hover {\n        background: #EEE; }\n      .search-box form button:after {\n        top: 9px;\n        left: 12px;\n        background-position: 0px -2786px; }\n\n@media only screen and (min-width: 960px) {\n  .search-box form label {\n    line-height: 60px;\n    width: 300px;\n    float: left; }\n  .search-box form input,\n  .search-box form button {\n    margin: 12px 0;\n    float: left; }\n  .search-box form input {\n    width: calc(100% - 371px); } }\n\n.markdown-help {\n  min-height: 50px;\n  overflow: hidden; }\n  .markdown-help .open-markdown-help {\n    float: none !important;\n    display: inline-block !important;\n    margin-bottom: 20px; }\n    .markdown-help .open-markdown-help .close-markdown-help-text {\n      display: none; }\n  .topic-message .markdown-help {\n    min-height: 0; }\n    .topic-message .markdown-help .open-markdown-help {\n      position: absolute;\n      bottom: 0;\n      left: 8px;\n      margin-bottom: 0; }\n  .markdown-help .markdown-help-more {\n    display: none;\n    background: #EEE;\n    padding: 15px;\n    margin-bottom: 5px;\n    border-bottom: 1px solid #CCC; }\n    .markdown-help .markdown-help-more pre {\n      margin: 0; }\n    .markdown-help .markdown-help-more.show-markdown-help {\n      display: block; }\n  .markdown-help .show-markdown-help + .open-markdown-help {\n    margin-top: -5px;\n    padding-top: 5px;\n    line-height: 35px; }\n    .markdown-help .show-markdown-help + .open-markdown-help:after {\n      margin-top: 15px !important; }\n    .markdown-help .show-markdown-help + .open-markdown-help .close-markdown-help-text {\n      display: inline; }\n    .markdown-help .show-markdown-help + .open-markdown-help .open-markdown-help-text {\n      display: none; }\n\n@media only screen and (max-width: 759px) {\n  .markdown-help .open-markdown-help {\n    position: relative;\n    left: 0;\n    bottom: 0;\n    float: none;\n    margin-left: 0 !important; }\n  .topic-message .markdown-help .markdown-help-more {\n    margin-bottom: 0; }\n  .topic-message .markdown-help .open-markdown-help {\n    position: relative;\n    width: 100%;\n    margin-left: -10px !important;\n    padding-left: 40px; }\n    .topic-message .markdown-help .open-markdown-help:after {\n      margin-left: 15px; }\n  .topic-message .markdown-help .show-markdown-help + .open-markdown-help {\n    margin-top: 0; } }\n\n.mobile-menu,\n.mobile-menu-btn {\n  display: none; }\n\n@media only screen and (max-width: 959px) {\n  .js .page-container {\n    position: absolute;\n    z-index: 10;\n    transform: translate3d(0, 0, 0); }\n  .js .mobile-menu {\n    display: block;\n    position: absolute;\n    position: fixed;\n    overflow-x: hidden;\n    overflow-y: auto;\n    z-index: 1;\n    transform: translate3d(-20%, 0, 0);\n    width: 90%;\n    height: 100%;\n    padding-bottom: 20px;\n    background: #222;\n    user-select: none; }\n    .js .mobile-menu .search {\n      height: 50px;\n      position: relative;\n      top: 0;\n      left: 0;\n      width: 100%; }\n      .js .mobile-menu .search input {\n        color: #EEE;\n        background-color: #333;\n        width: 76%;\n        height: 30px;\n        padding: 10px 5%;\n        font-size: 16px;\n        font-size: 1.6rem; }\n        .js .mobile-menu .search input:hover, .js .mobile-menu .search input:focus {\n          padding-bottom: 7px;\n          border-bottom: 3px solid #084561;\n          background-color: #333; }\n      .js .mobile-menu .search button {\n        display: none; }\n      .js .mobile-menu .search .search-more {\n        background-color: #3F3F3F;\n        width: 14%;\n        height: 50px;\n        line-height: 50px;\n        color: #CCC; }\n    .js .mobile-menu .mobile-menu-bloc,\n    .js .mobile-menu .mobile-menu-link {\n      width: 90%;\n      line-height: 40px;\n      text-indent: 0; }\n    .js .mobile-menu .mobile-menu-bloc {\n      margin: 0 5% 15px; }\n      .js .mobile-menu .mobile-menu-bloc:nth-child(2) {\n        margin-top: 15px; }\n      .js .mobile-menu .mobile-menu-bloc ul,\n      .js .mobile-menu .mobile-menu-bloc li {\n        margin: 0;\n        padding: 0; }\n      .js .mobile-menu .mobile-menu-bloc .mobile-menu-link {\n        margin: 0;\n        width: 100%; }\n        .js .mobile-menu .mobile-menu-bloc .mobile-menu-link.disabled {\n          opacity: .5; }\n      .js .mobile-menu .mobile-menu-bloc:not(.mobile-show-ico) .ico-after:after {\n        display: none; }\n      .js .mobile-menu .mobile-menu-bloc[data-title]:before {\n        display: block;\n        content: attr(data-title);\n        height: 30px;\n        font-size: 14px;\n        font-size: 1.4rem;\n        text-transform: uppercase;\n        padding-bottom: 3px;\n        border-bottom: 2px solid #3F3F3F;\n        font-weight: bold;\n        color: #666; }\n      .js .mobile-menu .mobile-menu-bloc.mobile-show-ico .ico-after {\n        padding-left: 30px;\n        width: calc(100% - 30px); }\n        .js .mobile-menu .mobile-menu-bloc.mobile-show-ico .ico-after:after {\n          top: 12px;\n          left: 2px; }\n      .js .mobile-menu .mobile-menu-bloc.mobile-show-ico .icon {\n        display: inline-block;\n        width: 16px;\n        height: 16px;\n        margin: 7px;\n        line-height: 30px;\n        padding-left: 5px; }\n        .js .mobile-menu .mobile-menu-bloc.mobile-show-ico .icon:after {\n          top: 0px;\n          left: 0px; }\n    .js .mobile-menu .mobile-menu-link {\n      display: block;\n      height: 40px;\n      line-height: 40px;\n      text-decoration: none;\n      color: #CCC;\n      font-size: 16px;\n      font-size: 1.6rem;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      overflow: hidden;\n      background: none;\n      border: none;\n      text-align: left;\n      padding: 0; }\n      .js .mobile-menu .mobile-menu-link.mobile-menu-sublink {\n        width: 90%;\n        margin: 0 0 0 10%; }\n      .js .mobile-menu .mobile-menu-link.mobile-menu-bloc[data-title] {\n        height: 80px; }\n      .js .mobile-menu .mobile-menu-link.mobile-menu-bloc:not([data-title]) {\n        margin-bottom: 0; }\n      .js .mobile-menu .mobile-menu-link:not(:last-child):not(.mobile-menu-bloc) {\n        border-bottom: 1px solid #2C2C2C; }\n      .js .mobile-menu .mobile-menu-link[data-prefix]:before {\n        content: \"[\" attr(data-prefix) \"] \"; }\n      .js .mobile-menu .mobile-menu-link.unread {\n        font-weight: bold;\n        color: #EEE; }\n      .js .mobile-menu .mobile-menu-link img, .js .mobile-menu .mobile-menu-link span {\n        vertical-align: middle; }\n      .js .mobile-menu .mobile-menu-link img {\n        float: left;\n        margin: 5px 5px 5px 0;\n        width: 30px;\n        height: 30px; }\n      .js .mobile-menu .mobile-menu-link .label {\n        padding: 0 0 0 50px; }\n      .js .mobile-menu .mobile-menu-link img + .label {\n        padding: 0 0 0 10px; }\n  .js.show-mobile-menu {\n    width: 100%; }\n    .js.show-mobile-menu body {\n      position: fixed; }\n    .js.show-mobile-menu .page-container {\n      height: 100%;\n      transform: translate3d(90%, 0, 0);\n      overflow: hidden;\n      box-shadow: 0 0 7px rgba(0, 0, 0, 0.25); }\n    .js.show-mobile-menu .mobile-menu {\n      transform: translate3d(0, 0, 0); }\n  .js.enable-mobile-menu .mobile-menu-hide {\n    display: none; }\n  .js.enable-mobile-menu .page-container .mobile-menu-bloc,\n  .js.enable-mobile-menu .page-container .mobile-menu-link,\n  .js.enable-mobile-menu .page-container .search {\n    display: none; }\n  .js.enable-mobile-menu .page-container .mobile-menu-btn + .header-logo {\n    margin-left: 0; }\n  .js.enable-mobile-menu .page-container .mobile-menu-btn {\n    display: block;\n    float: left;\n    height: 50px;\n    width: 50px; }\n    .js.enable-mobile-menu .page-container .mobile-menu-btn:after {\n      display: block;\n      content: \" \";\n      position: absolute;\n      top: 15px;\n      left: 13px;\n      height: 22px;\n      width: 22px;\n      background-image: url(\"../images/sprite.png\");\n      background-repeat: no-repeat;\n      background-position: 0px -2026px; }\n  html:not(.enable-mobile-menu) .header-container {\n    border-bottom: 1px solid #CCC; }\n  html:not(.enable-mobile-menu) .page-container .header-logo {\n    margin-left: 10px; }\n  html:not(.enable-mobile-menu) .page-container .header-logo-link:after {\n    left: 55px;\n    right: 205px; }\n  html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link,\n  html:not(.enable-mobile-menu) .logbox .my-account {\n    position: absolute;\n    top: 0;\n    right: 0;\n    height: 50px;\n    width: 50px; }\n    html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link .avatar,\n    html:not(.enable-mobile-menu) .logbox .my-account .avatar {\n      height: 50px;\n      width: 50px; }\n  html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(1) .ico-link {\n    right: 150px; }\n  html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(2) .ico-link {\n    right: 100px; }\n  html:not(.enable-mobile-menu) .logbox .notifs-links :nth-child(3) .ico-link,\n  html:not(.enable-mobile-menu) .logbox .notifs-links .ico-link:nth-child(3) {\n    right: 50px; }\n  html:not(.enable-mobile-menu) .logbox.unlogged {\n    position: absolute;\n    top: 0;\n    right: 0; } }\n\n.modal {\n  display: none; }\n\n.modals-container {\n  display: none;\n  position: fixed;\n  top: 0;\n  left: 0;\n  height: 100vh;\n  width: 100vw;\n  overflow-y: auto;\n  z-index: 50; }\n  .modals-container.open {\n    display: block; }\n  .modals-container .modals-wrapper {\n    display: flex;\n    width: 100vw;\n    min-height: 100vh;\n    align-items: center;\n    justify-content: space-around;\n    flex-direction: column; }\n  .modals-container .modals-overlay {\n    position: fixed;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 1;\n    background-color: rgba(0, 0, 0, 0.7); }\n\n.modals-container .modal {\n  position: relative;\n  z-index: 2;\n  background: #EEE;\n  flex: 0;\n  flex-direction: column; }\n  .modals-container .modal.open {\n    display: flex; }\n  .modals-container .modal .modal-title {\n    display: block;\n    border-bottom: 3px solid #F8AD32;\n    line-height: 53px;\n    height: 50px;\n    text-indent: 15px;\n    background: #084561;\n    color: #FFF;\n    font-size: 16px;\n    font-size: 1.6rem;\n    text-shadow: rgba(0, 0, 0, 0.75) 0 0 3px; }\n    .modals-container .modal .modal-title.ico-after {\n      text-indent: 40px; }\n      .modals-container .modal .modal-title.ico-after:after {\n        margin: 18px 0 0 15px; }\n  .modals-container .modal .modal-body {\n    padding: 20px 15px 5px;\n    flex: 1; }\n    .modals-container .modal .modal-body p {\n      width: 370px; }\n    .modals-container .modal .modal-body table {\n      margin-top: 0; }\n    .modals-container .modal .modal-body p,\n    .modals-container .modal .modal-body input:not([type=checkbox]):not([type=radio]),\n    .modals-container .modal .modal-body select,\n    .modals-container .modal .modal-body textarea {\n      margin: 0 0 15px; }\n  .modals-container .modal .modal-footer {\n    display: flex;\n    border-top: 1px solid #CCC;\n    flex-direction: row-reverse; }\n    .modals-container .modal .modal-footer > * {\n      flex: 1;\n      height: 50px;\n      line-height: 50px;\n      margin: 0;\n      padding: 0;\n      text-align: center;\n      background: none !important;\n      color: #333; }\n      .modals-container .modal .modal-footer > *:not(:first-child) {\n        border-right: 1px solid #CCC; }\n      .modals-container .modal .modal-footer > *:only-child {\n        font-weight: bold; }\n    .modals-container .modal .modal-footer .btn-submit, .modals-container .modal .modal-footer [type=submit] {\n      color: #084561;\n      font-weight: bold; }\n    .modals-container .modal .modal-footer .btn-cancel {\n      color: #555; }\n\n.enable-mobile-menu .modals-container .modal {\n  margin: 25px;\n  box-shadow: 0 0 5px #000;\n  max-width: 100%; }\n  .enable-mobile-menu .modals-container .modal.modal-flex {\n    width: 400px; }\n\n@media only screen and (min-width: 960px) {\n  .enable-mobile-menu .modals-container .modal {\n    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.7); }\n    .enable-mobile-menu .modals-container .modal .modal-title {\n      line-height: 50px; }\n    .enable-mobile-menu .modals-container .modal [type=submit]:not(.disabled):hover, .enable-mobile-menu .modals-container .modal [type=submit]:not(.disabled):focus,\n    .enable-mobile-menu .modals-container .modal .btn-submit:not(.disabled):hover,\n    .enable-mobile-menu .modals-container .modal .btn-submit:not(.disabled):focus {\n      color: #EEE;\n      background: #48a200 !important; }\n    .enable-mobile-menu .modals-container .modal .btn-cancel:hover, .enable-mobile-menu .modals-container .modal .btn-cancel:focus {\n      color: #EEE;\n      background: #c0392b !important; } }\n\n/**\n * Specific modal content\n */\n.modal .vote-details {\n  display: flex;\n  color: #444;\n  max-height: 400px;\n  overflow-y: auto; }\n  .modal .vote-details .vote-col {\n    flex: 1;\n    padding: 0 8px 15px; }\n    .modal .vote-details .vote-col h3 {\n      margin: 0 0 2px; }\n  .modal .vote-details ul.vote-list {\n    padding: 0;\n    margin: 0;\n    list-style: none; }\n    .modal .vote-details ul.vote-list li {\n      line-height: 24px;\n      border-top: solid 1px #ccc; }\n      .modal .vote-details ul.vote-list li a {\n        padding: 4px;\n        text-decoration: none;\n        color: inherit;\n        display: block; }\n        .modal .vote-details ul.vote-list li a:hover, .modal .vote-details ul.vote-list li a:focus {\n          background-color: #fff; }\n      .modal .vote-details ul.vote-list li.muted {\n        color: #777;\n        padding: 4px; }\n      .modal .vote-details ul.vote-list li img {\n        height: 24px;\n        width: 24px;\n        margin-right: 6px; }\n\n.pagination {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  border-top: 1px solid #d2d5d6;\n  border-bottom: 1px solid #d2d5d6;\n  background: #FBFBFB;\n  height: 40px;\n  margin-bottom: 20px !important; }\n  .pagination li {\n    float: left; }\n    .pagination li a {\n      display: block;\n      text-align: center;\n      text-decoration: none;\n      color: #084561;\n      min-width: 45px;\n      height: 40px;\n      line-height: 40px;\n      transition: all 0.15s ease; }\n      .pagination li a.current {\n        height: 38px;\n        color: #808080;\n        background: #F7F7F7;\n        margin-top: -1px;\n        border-left: 1px solid #d2d5d6;\n        border-bottom: 3px solid #d2d5d6;\n        border-right: 2px solid #d2d5d6; }\n      .pagination li a.ico-after:after {\n        margin-top: 12px; }\n      .pagination li a[href]:hover, .pagination li a[href]:focus {\n        background: #d2d5d6; }\n    .pagination li.prev a,\n    .pagination li.next a {\n      padding: 0 15px; }\n    .pagination li.prev .ico-after {\n      padding-left: 30px; }\n      .pagination li.prev .ico-after:after {\n        margin-left: 8px; }\n    .pagination li.next {\n      float: right; }\n      .pagination li.next .ico-after {\n        padding-right: 30px; }\n        .pagination li.next .ico-after:after {\n          right: 8px;\n          left: auto; }\n  .pagination.pagination-top li a.current {\n    margin-top: 0;\n    border-top: 3px solid #d2d5d6;\n    border-bottom: none;\n    height: 35px;\n    line-height: 35px;\n    padding-bottom: 3px; }\n  .pagination.pagination-chapter {\n    margin-left: 0; }\n    .pagination.pagination-chapter li {\n      max-width: 45%; }\n    .pagination.pagination-chapter a {\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      overflow: hidden; }\n\n@media only screen and (min-width: 960px) {\n  .pagination {\n    border: 1px solid #d2d5d6; } }\n\n@media only screen and (max-width: 759px) {\n  .pagination li.prev a,\n  .pagination li.next a {\n    min-width: 0px; }\n    .pagination li.prev a span,\n    .pagination li.next a span {\n      display: none; } }\n\n.codehilite .hll {\n  background-color: #ffffcc; }\n\n.codehilite {\n  background: #f8f8f8; }\n\n.codehilite .c {\n  color: #408080;\n  font-style: italic; }\n\n/* Comment */\n.codehilite .k {\n  color: #008000;\n  font-weight: bold; }\n\n/* Keyword */\n.codehilite .o {\n  color: #666666; }\n\n/* Operator */\n.codehilite .cm {\n  color: #408080;\n  font-style: italic; }\n\n/* Comment.Multiline */\n.codehilite .cp {\n  color: #BC7A00; }\n\n/* Comment.Preproc */\n.codehilite .c1 {\n  color: #408080;\n  font-style: italic; }\n\n/* Comment.Single */\n.codehilite .cs {\n  color: #408080;\n  font-style: italic; }\n\n/* Comment.Special */\n.codehilite .gd {\n  color: #A00000; }\n\n/* Generic.Deleted */\n.codehilite .ge {\n  font-style: italic; }\n\n/* Generic.Emph */\n.codehilite .gr {\n  color: #FF0000; }\n\n/* Generic.Error */\n.codehilite .gh {\n  color: #000080;\n  font-weight: bold; }\n\n/* Generic.Heading */\n.codehilite .gi {\n  color: #00A000; }\n\n/* Generic.Inserted */\n.codehilite .go {\n  color: #808080; }\n\n/* Generic.Output */\n.codehilite .gp {\n  color: #000080;\n  font-weight: bold; }\n\n/* Generic.Prompt */\n.codehilite .gs {\n  font-weight: bold; }\n\n/* Generic.Strong */\n.codehilite .gu {\n  color: #800080;\n  font-weight: bold; }\n\n/* Generic.Subheading */\n.codehilite .gt {\n  color: #0040D0; }\n\n/* Generic.Traceback */\n.codehilite .kc {\n  color: #008000;\n  font-weight: bold; }\n\n/* Keyword.Constant */\n.codehilite .kd {\n  color: #008000;\n  font-weight: bold; }\n\n/* Keyword.Declaration */\n.codehilite .kn {\n  color: #008000;\n  font-weight: bold; }\n\n/* Keyword.Namespace */\n.codehilite .kp {\n  color: #008000; }\n\n/* Keyword.Pseudo */\n.codehilite .kr {\n  color: #008000;\n  font-weight: bold; }\n\n/* Keyword.Reserved */\n.codehilite .kt {\n  color: #B00040; }\n\n/* Keyword.Type */\n.codehilite .m {\n  color: #666666; }\n\n/* Literal.Number */\n.codehilite .s {\n  color: #BA2121; }\n\n/* Literal.String */\n.codehilite .na {\n  color: #7D9029; }\n\n/* Name.Attribute */\n.codehilite .nb {\n  color: #008000; }\n\n/* Name.Builtin */\n.codehilite .nc {\n  color: #0000FF;\n  font-weight: bold; }\n\n/* Name.Class */\n.codehilite .no {\n  color: #880000; }\n\n/* Name.Constant */\n.codehilite .nd {\n  color: #AA22FF; }\n\n/* Name.Decorator */\n.codehilite .ni {\n  color: #999999;\n  font-weight: bold; }\n\n/* Name.Entity */\n.codehilite .ne {\n  color: #D2413A;\n  font-weight: bold; }\n\n/* Name.Exception */\n.codehilite .nf {\n  color: #0000FF; }\n\n/* Name.Function */\n.codehilite .nl {\n  color: #A0A000; }\n\n/* Name.Label */\n.codehilite .nn {\n  color: #0000FF;\n  font-weight: bold; }\n\n/* Name.Namespace */\n.codehilite .nt {\n  color: #008000;\n  font-weight: bold; }\n\n/* Name.Tag */\n.codehilite .nv {\n  color: #19177C; }\n\n/* Name.Variable */\n.codehilite .ow {\n  color: #AA22FF;\n  font-weight: bold; }\n\n/* Operator.Word */\n.codehilite .w {\n  color: #bbbbbb; }\n\n/* Text.Whitespace */\n.codehilite .mf {\n  color: #666666; }\n\n/* Literal.Number.Float */\n.codehilite .mh {\n  color: #666666; }\n\n/* Literal.Number.Hex */\n.codehilite .mi {\n  color: #666666; }\n\n/* Literal.Number.Integer */\n.codehilite .mo {\n  color: #666666; }\n\n/* Literal.Number.Oct */\n.codehilite .sb {\n  color: #BA2121; }\n\n/* Literal.String.Backtick */\n.codehilite .sc {\n  color: #BA2121; }\n\n/* Literal.String.Char */\n.codehilite .sd {\n  color: #BA2121;\n  font-style: italic; }\n\n/* Literal.String.Doc */\n.codehilite .s2 {\n  color: #BA2121; }\n\n/* Literal.String.Double */\n.codehilite .se {\n  color: #BB6622;\n  font-weight: bold; }\n\n/* Literal.String.Escape */\n.codehilite .sh {\n  color: #BA2121; }\n\n/* Literal.String.Heredoc */\n.codehilite .si {\n  color: #BB6688;\n  font-weight: bold; }\n\n/* Literal.String.Interpol */\n.codehilite .sx {\n  color: #008000; }\n\n/* Literal.String.Other */\n.codehilite .sr {\n  color: #BB6688; }\n\n/* Literal.String.Regex */\n.codehilite .s1 {\n  color: #BA2121; }\n\n/* Literal.String.Single */\n.codehilite .ss {\n  color: #19177C; }\n\n/* Literal.String.Symbol */\n.codehilite .bp {\n  color: #008000; }\n\n/* Name.Builtin.Pseudo */\n.codehilite .vc {\n  color: #19177C; }\n\n/* Name.Variable.Class */\n.codehilite .vg {\n  color: #19177C; }\n\n/* Name.Variable.Global */\n.codehilite .vi {\n  color: #19177C; }\n\n/* Name.Variable.Instance */\n.codehilite .il {\n  color: #666666; }\n\n/* Literal.Number.Integer.Long */\n.codehilitetable {\n  width: 100% !important;\n  table-layout: fixed;\n  border-color: rgba(0, 0, 0, 0.15); }\n  .codehilitetable td {\n    padding: 0;\n    vertical-align: top; }\n  .codehilitetable .linenos {\n    background-color: #fbfbfc;\n    border-right: 1px solid #ececf0;\n    width: 46px;\n    /* Can handle up to 9999 lines of code without overflowing */ }\n  .codehilitetable .codehilite pre,\n  .codehilitetable .linenos {\n    padding-top: 15px;\n    padding-bottom: 15px; }\n  .codehilitetable .linenodiv pre {\n    text-align: right;\n    padding-right: 7px;\n    color: #bebec5; }\n  .codehilitetable .codehilite {\n    width: 100%;\n    height: auto;\n    overflow: auto; }\n  .codehilitetable .codehilite pre {\n    white-space: pre;\n    overflow: auto;\n    overflow: auto; }\n  .codehilitetable .code pre {\n    overflow: auto;\n    word-wrap: normal;\n    padding-left: 7px;\n    padding-right: 7px; }\n\n.taglist {\n  list-style: none;\n  padding: 0;\n  margin: -14px 0 15px;\n  height: 30px;\n  line-height: 30px; }\n  .taglist li {\n    float: right; }\n    .taglist li a {\n      display: block;\n      text-decoration: none;\n      padding: 0 10px;\n      background: #396a81;\n      color: #FFF;\n      margin-left: 1px;\n      transition: all 0.15s ease; }\n      .taglist li a:hover, .taglist li a:focus {\n        background: #FFF;\n        color: #396a81;\n        border-bottom: 1px solid #396a81; }\n\n.content-tags-list {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between; }\n  .content-tags-list:after {\n    content: '';\n    display: block;\n    flex: 20; }\n\n.content-tag {\n  margin: 0 5px 20px;\n  line-height: 1.4em;\n  white-space: nowrap;\n  flex: auto; }\n  .content-tag a {\n    color: #777;\n    display: block;\n    padding: 8px 15px;\n    text-decoration: none;\n    background-color: #EEE;\n    transition: all 0.15s ease;\n    border: solid 1px #CCC; }\n    .content-tag a:hover, .content-tag a:focus {\n      color: #EEE;\n      background-color: #777;\n      border-color: #777;\n      outline: none; }\n    .content-tag a .tag-count {\n      color: #AAA; }\n\n.tooltips-container .tooltip-wrapper {\n  position: absolute;\n  z-index: 30; }\n  .tooltips-container .tooltip-wrapper .tooltip {\n    font-size: 12px;\n    line-height: 16px;\n    color: white;\n    background-color: #333;\n    padding: 6px 8px; }\n  .tooltips-container .tooltip-wrapper.top::after {\n    border-top: solid 6px #333; }\n  .tooltips-container .tooltip-wrapper.bottom::before {\n    border-bottom: solid 6px #333; }\n  .tooltips-container .tooltip-wrapper.top::after, .tooltips-container .tooltip-wrapper.bottom::before {\n    margin: auto;\n    content: '';\n    height: 0;\n    width: 0;\n    display: block;\n    border-left: solid 6px transparent;\n    border-right: solid 6px transparent; }\n\n.topic-list {\n  margin-top: 50px !important;\n  margin-bottom: 50px !important; }\n  .topic-list h2 {\n    margin-bottom: 0 !important; }\n  .topic-list h2 + .topic {\n    border-top: none; }\n  .topic-list .topic {\n    position: relative;\n    min-height: 81px;\n    line-height: 25px;\n    border-top: 1px solid #FFF;\n    border-bottom: 1px solid #CCC;\n    overflow: hidden;\n    border-left: 1px solid transparent;\n    clear: both; }\n    .topic-list .topic:first-child {\n      border-top: 1px solid #CCC; }\n    .topic-list .topic:before {\n      content: \" \";\n      display: block;\n      position: absolute;\n      background: transparent;\n      height: 100%;\n      width: 2px; }\n    .topic-list .topic.unread:before {\n      background: #1088bf; }\n    .topic-list .topic:nth-child(2n) {\n      background: none; }\n    .topic-list .topic.unread {\n      background: #FFF; }\n      .topic-list .topic.unread .topic-description .topic-title {\n        font-weight: bold; }\n    .topic-list .topic:hover:before, .topic-list .topic.active:before {\n      width: 5px;\n      background: #1088bf; }\n    .topic-list .topic.selected {\n      background-color: #eaf7fd; }\n  .topic-list a {\n    text-decoration: none;\n    color: #0e77a8; }\n    .topic-list a:hover, .topic-list a:focus {\n      color: #0e77a8;\n      text-decoration: underline;\n      outline: none; }\n  .topic-list .topic-infos,\n  .topic-list .topic-description,\n  .topic-list .topic-answers,\n  .topic-list .topic-last-answer {\n    display: block;\n    float: left;\n    padding: 4px 0;\n    margin: 0; }\n  .topic-list .topic-infos {\n    width: 5%; }\n    .topic-list .topic-infos input[type=checkbox] {\n      margin: 29px 25% 0; }\n    .topic-list .topic-infos .ico-after {\n      display: block;\n      text-indent: -9999px; }\n      .topic-list .topic-infos .ico-after:after {\n        margin: 4px 0 0 15px; }\n  .topic-list .topic-description {\n    position: relative;\n    width: 60%; }\n    .topic-list .topic-description .topic-image {\n      float: left;\n      max-height: 60px;\n      max-width: 60px;\n      margin: 5px 15px 0 0; }\n    .topic-list .topic-description .topic-tags {\n      list-style: none;\n      padding: 0;\n      margin: 0;\n      display: inline; }\n      .topic-list .topic-description .topic-tags .topic-tag {\n        display: block;\n        height: 23px;\n        line-height: 23px;\n        float: left;\n        padding: 0 5px;\n        margin: 0 3px 0 0;\n        color: #396a81;\n        background: #FCFCFC;\n        border: 1px solid #CCC; }\n        .topic-list .topic-description .topic-tags .topic-tag:hover, .topic-list .topic-description .topic-tags .topic-tag:focus {\n          background: #FFF;\n          color: #084561;\n          border-color: #084561;\n          text-decoration: none; }\n        .topic-list .topic-description .topic-tags .topic-tag:focus {\n          box-shadow: #396a81 0 0 3px; }\n      .topic-list .topic-description .topic-tags li:last-child .topic-tag {\n        margin-right: 5px; }\n    .topic-list .topic-description .topic-title-link {\n      display: block;\n      min-height: 48px; }\n      .topic-list .topic-description .topic-title-link:hover, .topic-list .topic-description .topic-title-link:focus {\n        text-decoration: none; }\n        .topic-list .topic-description .topic-title-link:hover .topic-title, .topic-list .topic-description .topic-title-link:focus .topic-title {\n          text-decoration: underline; }\n    .topic-list .topic-description .topic-title,\n    .topic-list .topic-description .topic-subtitle {\n      display: block;\n      margin: 0 !important;\n      padding: 0; }\n    .topic-list .topic-description .topic-title {\n      font-size: 16px;\n      font-size: 1.6rem;\n      font-weight: normal; }\n    .topic-list .topic-description .topic-subtitle {\n      min-height: 24px;\n      line-height: 1.5em;\n      color: #777; }\n    .topic-list .topic-description .topic-members {\n      margin: 0;\n      color: #777; }\n  .topic-list .topic-answers {\n    width: 12%;\n    text-align: center;\n    padding-top: 29px; }\n  .topic-list .topic-last-answer {\n    width: 23%; }\n    .topic-list .topic-last-answer .topic-no-last-answer {\n      display: block;\n      margin-top: 27px;\n      color: #084561;\n      opacity: .5; }\n  .topic-list .highlighted {\n    background-color: rgba(255, 255, 100, 0.5); }\n\n.forum-list .group-title {\n  max-width: 100%;\n  margin-top: 30px !important;\n  clear: both;\n  border-bottom: 1px solid #CCC;\n  color: #F8AD32; }\n\n.topic-list-small .topic {\n  height: 60px; }\n\n.topic-list-small .topic-infos input[type=checkbox] {\n  margin-top: 18px; }\n\n.topic-list-small .topic-description {\n  padding-left: 1.5%; }\n  .topic-list-small .topic-description .topic-title {\n    font-weight: normal;\n    margin-top: 2px; }\n\n.topic-list-small .topic-infos + .topic-description {\n  padding-left: 0; }\n\n.topic-list-small .topic-answers {\n  padding-top: 17px; }\n  .topic-list-small .topic-answers span {\n    display: block;\n    float: left;\n    width: 50%; }\n\n.topic-list-small .topic-last-answer {\n  width: 18%; }\n  .topic-list-small .topic-last-answer .topic-no-last-answer {\n    margin-top: 13px; }\n  .topic-list-small .topic-last-answer .forum-last-message {\n    display: block; }\n    .topic-list-small .topic-last-answer .forum-last-message .forum-last-message-long {\n      display: none; }\n  .topic-list-small .topic-last-answer .forum-last-message-title {\n    display: block;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap; }\n\n@media only screen and (min-width: 960px) {\n  .topic-list .topic-members-short-date {\n    display: none; }\n  .topic-list .topic-last-answer-short-date {\n    display: none; }\n  .topic-list:not(.topic-list-small) .topic-last-answer .topic-no-last-answer {\n    margin-top: 24px; }\n  .forum-list .topic {\n    min-height: 0; }\n  .forum-list .topic-last-answer .forum-last-message .forum-last-message-long {\n    display: none; } }\n\n@media only screen and (max-width: 959px) {\n  .topic-list .topic {\n    background: none !important; }\n    .topic-list .topic p {\n      margin: 0 !important; }\n    .topic-list .topic .topic-members .topic-members-long-date {\n      display: none; }\n    .topic-list .topic .topic-answers {\n      padding: 0;\n      width: 30%;\n      border-bottom: 1px solid #CCC; }\n      .topic-list .topic .topic-answers.topic-no-answer {\n        display: none; }\n    .topic-list .topic .topic-last-answer {\n      width: 30%;\n      padding: 0;\n      text-align: right; }\n      .topic-list .topic .topic-last-answer .topic-last-answer-short-date {\n        font-size: 1.3rem; }\n      .topic-list .topic .topic-last-answer .topic-last-answer-long-date {\n        display: none; }\n      .topic-list .topic .topic-last-answer .topic-no-last-answer {\n        text-align: center; } }\n\n@media only screen and (max-width: 759px) {\n  .topic-list .topic-infos .ico-after:after {\n    margin: 4px 0 0 2px; }\n  .topic-list .topic-description .topic-subtitle:empty {\n    display: none; }\n  .topic-list .topic-last-answer .topic-no-last-answer {\n    font-size: 1.3rem; }\n  .forum-list .topic-description .topic-subtitle {\n    margin-left: 10px; } }\n\n.notification-list {\n  margin-top: 50px !important;\n  margin-bottom: 50px !important; }\n  .notification-list .notification {\n    position: relative;\n    line-height: 25px;\n    border-top: 1px solid #FFF;\n    border-bottom: 1px solid #CCC;\n    overflow: hidden;\n    border-left: 1px solid transparent;\n    clear: both; }\n    .notification-list .notification:first-child {\n      border-top: 1px solid #CCC; }\n    .notification-list .notification:before {\n      content: \" \";\n      display: block;\n      position: absolute;\n      background: transparent;\n      height: 100%;\n      width: 2px; }\n    .notification-list .notification.unread:before {\n      background: #1088bf; }\n    .notification-list .notification:nth-child(2n) {\n      background: none; }\n    .notification-list .notification.unread {\n      background: #FFF; }\n      .notification-list .notification.unread .notification-description .notification-title {\n        font-weight: bold; }\n    .notification-list .notification:hover:before, .notification-list .notification.active:before {\n      width: 5px;\n      background: #1088bf; }\n    .notification-list .notification.selected {\n      background-color: #eaf7fd; }\n  .notification-list a {\n    text-decoration: none;\n    color: #0e77a8; }\n    .notification-list a:hover, .notification-list a:focus {\n      color: #0e77a8;\n      text-decoration: underline;\n      outline: none; }\n  .notification-list .notification-infos,\n  .notification-list .notification-description,\n  .notification-list .notification-last-answer {\n    display: block;\n    float: left;\n    padding: 4px 0;\n    margin: 0; }\n  .notification-list .notification-infos {\n    width: 5%; }\n    .notification-list .notification-infos .ico-after {\n      display: block;\n      text-indent: -9999px; }\n      .notification-list .notification-infos .ico-after:after {\n        margin: 4px 0 0 15px; }\n  .notification-list .notification-description {\n    position: relative;\n    width: 60%; }\n    .notification-list .notification-description .notification-title-link {\n      display: block; }\n      .notification-list .notification-description .notification-title-link:hover, .notification-list .notification-description .notification-title-link:focus {\n        text-decoration: none; }\n        .notification-list .notification-description .notification-title-link:hover .topic-title, .notification-list .notification-description .notification-title-link:focus .topic-title {\n          text-decoration: underline; }\n    .notification-list .notification-description .notification-title {\n      display: block;\n      margin: 0 !important;\n      padding: 0;\n      font-size: 16px;\n      font-size: 1.6rem;\n      font-weight: normal; }\n  .notification-list .notification-last-answer {\n    width: 35%; }\n\n@media only screen and (min-width: 960px) {\n  .notification-list .notification-last-answer-short-date {\n    display: none; } }\n\n@media only screen and (max-width: 959px) {\n  .notification-list .notification {\n    background: none !important; }\n    .notification-list .notification .notification-last-answer {\n      width: 30%;\n      text-align: right; }\n      .notification-list .notification .notification-last-answer .notification-last-answer-short-date {\n        font-size: 1.3rem; }\n      .notification-list .notification .notification-last-answer .notification-last-answer-long-date {\n        display: none; } }\n\n@media only screen and (max-width: 759px) {\n  .notification-list .notification-infos .ico-after:after {\n    margin: 4px 0 0 2px; }\n  .notification-list .notification {\n    background: none !important; }\n    .notification-list .notification .notification-last-answer {\n      width: 20%; } }\n\n.topic-message {\n  position: relative; }\n  .topic-message.repeated .message,\n  .topic-message.repeated .message .is-author {\n    background: #EEE; }\n  .topic-message.repeated .message:after {\n    border-right-color: #EEE; }\n  .topic-message.helpful .message,\n  .topic-message.helpful .message .is-author {\n    background: #e9f9dc; }\n  .topic-message.helpful .message:after {\n    border-right-color: #e9f9dc; }\n  .topic-message.helpful.repeated .message,\n  .topic-message.helpful.repeated .message .is-author {\n    background: #eaefe6; }\n  .topic-message.helpful.repeated .message:after {\n    border-right-color: #eaefe6; }\n  .topic-message .user .avatar-link {\n    display: block;\n    height: 58px;\n    width: 58px;\n    z-index: 0;\n    position: absolute;\n    top: 0;\n    border: 1px solid #DDD; }\n    .topic-message .user .avatar-link[href]:hover, .topic-message .user .avatar-link[href]:focus {\n      border-color: #FFF;\n      overflow: hidden;\n      box-shadow: rgba(0, 0, 0, 0.3) 0 1px 7px; }\n    .topic-message .user .avatar-link img {\n      height: 58px;\n      width: 58px; }\n  .topic-message .user .user-metadata {\n    width: 60px;\n    height: 25px; }\n    .topic-message .user .user-metadata a {\n      display: block;\n      float: left;\n      border: 1px solid #D2D5D6;\n      border-top: 0;\n      text-align: center;\n      background-color: #edefef;\n      text-decoration: none;\n      color: #424242;\n      height: 25px;\n      line-height: 26px;\n      width: 58px;\n      color: #777;\n      transition: all 0.15s ease; }\n      .topic-message .user .user-metadata a:hover, .topic-message .user .user-metadata a:focus {\n        border-bottom-width: 1px;\n        border-bottom-color: #777;\n        background: #FFF; }\n      .topic-message .user .user-metadata a.positive {\n        color: #48a200; }\n      .topic-message .user .user-metadata a.negative {\n        color: #c0392b;\n        font-weight: bold; }\n  .topic-message .message {\n    position: relative;\n    background-color: #FDFDFD;\n    border: 1px solid #D2D5D6;\n    border-right-width: 2px;\n    border-bottom-width: 3px;\n    min-height: 75px; }\n    .topic-message .message .is-author {\n      position: absolute;\n      top: -16px;\n      left: 10px;\n      background: #FDFDFD;\n      padding: 0 5px;\n      font-size: 12px;\n      line-height: 20px;\n      color: #999;\n      border-top: 1px solid #D2D5D6; }\n      .topic-message .message .is-author:before, .topic-message .message .is-author:after {\n        content: \" \";\n        display: block;\n        position: absolute;\n        top: 0;\n        height: 15px;\n        width: 1px;\n        background: #D2D5D6; }\n      .topic-message .message .is-author:before {\n        left: 0; }\n      .topic-message .message .is-author:after {\n        right: 0; }\n    .topic-message .message .message-metadata {\n      display: inline-block;\n      font-size: 14px;\n      font-size: 1.4rem;\n      margin-left: 5px; }\n      .topic-message .message .message-metadata a {\n        display: block;\n        float: left;\n        color: #999;\n        text-decoration: none;\n        height: 30px;\n        line-height: 30px;\n        padding: 0 5px;\n        border-bottom: 1px solid #D2D5D6;\n        transition: all 0.15s ease; }\n        .topic-message .message .message-metadata a:hover, .topic-message .message .message-metadata a:focus {\n          border-bottom: 1px solid #0e77a8;\n          color: #0e77a8;\n          outline: none; }\n      .topic-message .message .message-metadata .username {\n        color: #484848;\n        font-size: 16px;\n        font-size: 1.6rem;\n        margin-right: 3px; }\n      .topic-message .message .message-metadata .date {\n        line-height: 32px; }\n        .topic-message .message .message-metadata .date .long-date {\n          display: none; }\n    .topic-message .message .message-actions {\n      margin: 0;\n      padding: 0;\n      list-style: none;\n      position: absolute;\n      top: 0;\n      right: 0; }\n      .topic-message .message .message-actions li {\n        float: left; }\n    .topic-message .message .message-content {\n      clear: both;\n      padding-top: 1px; }\n      .topic-message .message .message-content > div > p:first-child {\n        margin-top: 7px; }\n      .topic-message .message .message-content > div > figure:first-child {\n        margin-top: 8px; }\n      .topic-message .message .message-content .message-hidden-content {\n        display: none; }\n      .topic-message .message .message-content .message-edited,\n      .topic-message .message .message-content .message-hidden,\n      .topic-message .message .message-content .message-helpful,\n      .topic-message .message .message-content .message-repeated {\n        padding-top: 3px 0 0; }\n        .topic-message .message .message-content .message-edited.ico-after,\n        .topic-message .message .message-content .message-hidden.ico-after,\n        .topic-message .message .message-content .message-helpful.ico-after,\n        .topic-message .message .message-content .message-repeated.ico-after {\n          text-indent: 20px; }\n          .topic-message .message .message-content .message-edited.ico-after:after,\n          .topic-message .message .message-content .message-hidden.ico-after:after,\n          .topic-message .message .message-content .message-helpful.ico-after:after,\n          .topic-message .message .message-content .message-repeated.ico-after:after {\n            margin: 4px 0; }\n      .topic-message .message .message-content .message-edited,\n      .topic-message .message .message-content .message-hidden,\n      .topic-message .message .message-content .message-repeated {\n        font-style: italic;\n        color: #999; }\n        .topic-message .message .message-content .message-edited:after,\n        .topic-message .message .message-content .message-hidden:after,\n        .topic-message .message .message-content .message-repeated:after {\n          opacity: .5; }\n      .topic-message .message .message-content .message-hidden {\n        margin-top: 1px; }\n      .topic-message .message .message-content .message-helpful {\n        color: #48A200;\n        text-indent: 20px; }\n      .topic-message .message .message-content textarea {\n        margin: 10px 0 10px -1px;\n        background-color: transparent;\n        min-height: 150px; }\n    .topic-message .message .message-bottom {\n      display: -webkit-box;\n      display: -ms-flexbox;\n      display: -webkit-flex;\n      display: -moz-box;\n      display: flex;\n      -webkit-box-align: start;\n      -moz-box-align: start;\n      -ms-flex-align: start;\n      -webkit-align-items: flex-start;\n      align-items: flex-start;\n      min-height: 30px; }\n      .topic-message .message .message-bottom .signature {\n        border-top: 1px solid #D2D5D6;\n        padding: 3px 0 3px 10px;\n        margin: 0 10px 0 0;\n        font-size: 12px;\n        font-size: 1.2rem;\n        color: #999;\n        flex: 1;\n        overflow: hidden; }\n        .topic-message .message .message-bottom .signature p {\n          margin: 0;\n          padding: 0; }\n        .topic-message .message .message-bottom .signature a {\n          color: #999;\n          transition: all 0.15s ease; }\n          .topic-message .message .message-bottom .signature a:hover, .topic-message .message .message-bottom .signature a:focus {\n            text-decoration: none;\n            color: #555; }\n      .topic-message .message .message-bottom .message-karma {\n        margin-left: auto;\n        margin-bottom: -2px; }\n        .topic-message .message .message-bottom .message-karma span,\n        .topic-message .message .message-bottom .message-karma button.ico-after {\n          border-bottom-width: 3px;\n          border-bottom-color: transparent;\n          background: none !important;\n          height: 32px; }\n        .topic-message .message .message-bottom .message-karma span.upvote:not(.has-vote), .topic-message .message .message-bottom .message-karma span.downvote:not(.has-vote) {\n          border-bottom: none;\n          opacity: .5; }\n        .topic-message .message .message-bottom .message-karma button {\n          transition-property: opacity, border; }\n          .topic-message .message .message-bottom .message-karma button.voted:hover:after {\n            opacity: .5; }\n        .topic-message .message .message-bottom .message-karma .upvote:after,\n        .topic-message .message .message-bottom .message-karma .downvote:after {\n          left: 10px; }\n        .topic-message .message .message-bottom .message-karma .upvote.voted:after,\n        .topic-message .message .message-bottom .message-karma .downvote.voted:after {\n          opacity: 1; }\n        .topic-message .message .message-bottom .message-karma .upvote:hover:not(.more-voted), .topic-message .message .message-bottom .message-karma .upvote:focus:not(.more-voted),\n        .topic-message .message .message-bottom .message-karma .downvote:hover:not(.more-voted),\n        .topic-message .message .message-bottom .message-karma .downvote:focus:not(.more-voted) {\n          border-bottom-color: transparent; }\n        .topic-message .message .message-bottom .message-karma .upvote:not(.has-vote),\n        .topic-message .message .message-bottom .message-karma .downvote:not(.has-vote) {\n          text-indent: -9999px;\n          width: 0; }\n        .topic-message .message .message-bottom .message-karma .upvote.more-voted,\n        .topic-message .message .message-bottom .message-karma .downvote.more-voted {\n          font-weight: bold; }\n        .topic-message .message .message-bottom .message-karma .upvote {\n          color: #48a200; }\n          .topic-message .message .message-bottom .message-karma .upvote.more-voted {\n            border-bottom-color: #48a200; }\n        .topic-message .message .message-bottom .message-karma .downvote {\n          color: #c0392b; }\n          .topic-message .message .message-bottom .message-karma .downvote.more-voted {\n            border-bottom-color: #c0392b; }\n        .topic-message .message .message-bottom .message-karma .tick {\n          overflow: hidden;\n          text-overflow: ellipsis;\n          white-space: nowrap; }\n          .topic-message .message .message-bottom .message-karma .tick:hover, .topic-message .message .message-bottom .message-karma .tick:focus {\n            color: #555;\n            border-bottom-color: #48a200; }\n          .topic-message .message .message-bottom .message-karma .tick.active {\n            color: #48a200; }\n            .topic-message .message .message-bottom .message-karma .tick.active:after {\n              opacity: 1; }\n    .topic-message .message .message-buttons {\n      margin: 0 0 0 10px;\n      padding: 0;\n      list-style: none;\n      border-bottom: none; }\n      .topic-message .message .message-buttons a {\n        text-indent: -9999px;\n        width: 0; }\n        .topic-message .message .message-buttons a:after {\n          left: 12px !important; }\n    .topic-message .message .message-submit {\n      margin-left: auto;\n      margin-right: 10px; }\n    .topic-message .message .message-actions,\n    .topic-message .message .message-buttons,\n    .topic-message .message .message-karma,\n    .topic-message .message .message-submit {\n      display: -webkit-box;\n      display: -ms-flexbox;\n      display: -webkit-flex;\n      display: -moz-box;\n      display: flex; }\n      .topic-message .message .message-actions form,\n      .topic-message .message .message-buttons form,\n      .topic-message .message .message-karma form,\n      .topic-message .message .message-submit form {\n        width: auto; }\n      .topic-message .message .message-actions a,\n      .topic-message .message .message-actions .upvote,\n      .topic-message .message .message-actions .downvote,\n      .topic-message .message .message-actions button,\n      .topic-message .message .message-buttons a,\n      .topic-message .message .message-buttons .upvote,\n      .topic-message .message .message-buttons .downvote,\n      .topic-message .message .message-buttons button,\n      .topic-message .message .message-karma a,\n      .topic-message .message .message-karma .upvote,\n      .topic-message .message .message-karma .downvote,\n      .topic-message .message .message-karma button,\n      .topic-message .message .message-submit a,\n      .topic-message .message .message-submit .upvote,\n      .topic-message .message .message-submit .downvote,\n      .topic-message .message .message-submit button {\n        display: block;\n        float: left;\n        margin-left: 3px;\n        transition: all 0.15s ease; }\n        .topic-message .message .message-actions a.ico-after,\n        .topic-message .message .message-actions .upvote.ico-after,\n        .topic-message .message .message-actions .downvote.ico-after,\n        .topic-message .message .message-actions button.ico-after,\n        .topic-message .message .message-buttons a.ico-after,\n        .topic-message .message .message-buttons .upvote.ico-after,\n        .topic-message .message .message-buttons .downvote.ico-after,\n        .topic-message .message .message-buttons button.ico-after,\n        .topic-message .message .message-karma a.ico-after,\n        .topic-message .message .message-karma .upvote.ico-after,\n        .topic-message .message .message-karma .downvote.ico-after,\n        .topic-message .message .message-karma button.ico-after,\n        .topic-message .message .message-submit a.ico-after,\n        .topic-message .message .message-submit .upvote.ico-after,\n        .topic-message .message .message-submit .downvote.ico-after,\n        .topic-message .message .message-submit button.ico-after {\n          padding-left: 30px !important; }\n        .topic-message .message .message-actions a:after,\n        .topic-message .message .message-actions .upvote:after,\n        .topic-message .message .message-actions .downvote:after,\n        .topic-message .message .message-actions button:after,\n        .topic-message .message .message-buttons a:after,\n        .topic-message .message .message-buttons .upvote:after,\n        .topic-message .message .message-buttons .downvote:after,\n        .topic-message .message .message-buttons button:after,\n        .topic-message .message .message-karma a:after,\n        .topic-message .message .message-karma .upvote:after,\n        .topic-message .message .message-karma .downvote:after,\n        .topic-message .message .message-karma button:after,\n        .topic-message .message .message-submit a:after,\n        .topic-message .message .message-submit .upvote:after,\n        .topic-message .message .message-submit .downvote:after,\n        .topic-message .message .message-submit button:after {\n          top: 7px;\n          left: 7px;\n          transition: all 0.15s ease;\n          opacity: .5;\n          margin: 0; }\n      .topic-message .message .message-actions a,\n      .topic-message .message .message-actions .upvote,\n      .topic-message .message .message-actions .downvote,\n      .topic-message .message .message-actions button.ico-after,\n      .topic-message .message .message-buttons a,\n      .topic-message .message .message-buttons .upvote,\n      .topic-message .message .message-buttons .downvote,\n      .topic-message .message .message-buttons button.ico-after,\n      .topic-message .message .message-karma a,\n      .topic-message .message .message-karma .upvote,\n      .topic-message .message .message-karma .downvote,\n      .topic-message .message .message-karma button.ico-after,\n      .topic-message .message .message-submit a,\n      .topic-message .message .message-submit .upvote,\n      .topic-message .message .message-submit .downvote,\n      .topic-message .message .message-submit button.ico-after {\n        border-bottom: 1px solid #D2D5D6;\n        text-decoration: none;\n        color: #999;\n        height: 29px;\n        line-height: 30px;\n        padding: 0 10px; }\n      .topic-message .message .message-actions a,\n      .topic-message .message .message-actions button.ico-after,\n      .topic-message .message .message-buttons a,\n      .topic-message .message .message-buttons button.ico-after,\n      .topic-message .message .message-karma a,\n      .topic-message .message .message-karma button.ico-after,\n      .topic-message .message .message-submit a,\n      .topic-message .message .message-submit button.ico-after {\n        cursor: pointer; }\n        .topic-message .message .message-actions a:hover, .topic-message .message .message-actions a:focus,\n        .topic-message .message .message-actions button.ico-after:hover,\n        .topic-message .message .message-actions button.ico-after:focus,\n        .topic-message .message .message-buttons a:hover,\n        .topic-message .message .message-buttons a:focus,\n        .topic-message .message .message-buttons button.ico-after:hover,\n        .topic-message .message .message-buttons button.ico-after:focus,\n        .topic-message .message .message-karma a:hover,\n        .topic-message .message .message-karma a:focus,\n        .topic-message .message .message-karma button.ico-after:hover,\n        .topic-message .message .message-karma button.ico-after:focus,\n        .topic-message .message .message-submit a:hover,\n        .topic-message .message .message-submit a:focus,\n        .topic-message .message .message-submit button.ico-after:hover,\n        .topic-message .message .message-submit button.ico-after:focus {\n          border-bottom-color: #0e77a8;\n          outline: none;\n          background: none; }\n          .topic-message .message .message-actions a:hover:after, .topic-message .message .message-actions a:focus:after,\n          .topic-message .message .message-actions button.ico-after:hover:after,\n          .topic-message .message .message-actions button.ico-after:focus:after,\n          .topic-message .message .message-buttons a:hover:after,\n          .topic-message .message .message-buttons a:focus:after,\n          .topic-message .message .message-buttons button.ico-after:hover:after,\n          .topic-message .message .message-buttons button.ico-after:focus:after,\n          .topic-message .message .message-karma a:hover:after,\n          .topic-message .message .message-karma a:focus:after,\n          .topic-message .message .message-karma button.ico-after:hover:after,\n          .topic-message .message .message-karma button.ico-after:focus:after,\n          .topic-message .message .message-submit a:hover:after,\n          .topic-message .message .message-submit a:focus:after,\n          .topic-message .message .message-submit button.ico-after:hover:after,\n          .topic-message .message .message-submit button.ico-after:focus:after {\n            opacity: 1; }\n    .topic-message .message .message-actions a:hover, .topic-message .message .message-actions a:focus,\n    .topic-message .message .message-buttons a:hover,\n    .topic-message .message .message-buttons a:focus,\n    .topic-message .message .message-karma button:hover,\n    .topic-message .message .message-karma button:focus {\n      color: #555;\n      text-decoration: none; }\n    .topic-message .message .alert-box .alert-box-text {\n      float: none; }\n\nform.topic-message {\n  margin-top: 50px; }\n\n@media only screen and (max-width: 959px) {\n  .topic-message {\n    padding: 20px 0; }\n    .topic-message .user {\n      position: absolute;\n      top: 7px;\n      z-index: 10;\n      width: 100%; }\n      .topic-message .user .avatar-link {\n        float: left;\n        display: none; }\n      .topic-message .user .badge {\n        float: left;\n        height: 20px;\n        line-height: 20px;\n        font-size: 12px;\n        width: 50px;\n        margin-top: -2px;\n        margin-left: 10px; }\n        .topic-message .user .badge.push-badge {\n          margin-left: 105px; }\n      .topic-message .user .user-metadata {\n        float: right;\n        width: 140px;\n        margin-right: 10px; }\n        .topic-message .user .user-metadata a {\n          float: left;\n          height: 20px;\n          line-height: 20px;\n          border-bottom: none;\n          width: 68px; }\n    .topic-message .message {\n      border-right: 0;\n      border-left: 0;\n      padding-top: 65px; }\n      .topic-message .message .message-metadata {\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 10px;\n        z-index: 15;\n        height: 30px;\n        line-height: 30px; }\n        .topic-message .message .message-metadata .username {\n          margin-left: 5px; }\n        .topic-message .message .message-metadata .date {\n          float: right; }\n      .topic-message .message .message-actions {\n        margin: 35px 10px 0 0; }\n      .topic-message .message .message-bottom {\n        min-height: 0; }\n        .topic-message .message .message-bottom .signature {\n          display: none; }\n        .topic-message .message .message-bottom .message-karma {\n          position: absolute;\n          top: 35px;\n          left: 7px; }\n          .topic-message .message .message-bottom .message-karma .tick {\n            text-indent: -9999px;\n            margin-right: 1px; }\n            .topic-message .message .message-bottom .message-karma .tick:after {\n              left: 12px; }\n          .topic-message .message .message-bottom .message-karma .upvote,\n          .topic-message .message .message-bottom .message-karma .downvote {\n            padding: 0 7px;\n            text-align: center; } }\n\n@media only screen and (min-width: 960px) {\n  .topic-message {\n    margin: 25px 0; }\n    .topic-message:first-child {\n      margin-top: 35px; }\n    .topic-message .user:after,\n    .topic-message .message:after {\n      content: \" \";\n      display: block;\n      position: absolute;\n      top: 10px;\n      height: 0;\n      width: 0;\n      border: 20px solid transparent;\n      border-left: 0; }\n    .topic-message .user {\n      position: absolute;\n      padding-top: 60px;\n      top: 0;\n      left: 0; }\n      .topic-message .user:after {\n        left: 60px;\n        border-right-color: #D2D4D6; }\n    .topic-message .message {\n      margin-left: 80px; }\n      .topic-message .message:after {\n        top: 9px;\n        left: -19px;\n        border-right-color: #FDFDFD; }\n      .topic-message .message .is-author {\n        left: 5px; }\n      .topic-message .message .message-content {\n        margin: 0 10px; }\n        .topic-message .message .message-content > :first-child {\n          margin-top: 5px; }\n        .topic-message .message .message-content > figure:first-child {\n          margin-top: 10px; }\n      .topic-message .message .message-bottom .signature {\n        cursor: pointer; }\n        .topic-message .message .message-bottom .signature p {\n          white-space: nowrap;\n          overflow: hidden;\n          text-overflow: ellipsis; }\n        .topic-message .message .message-bottom .signature.full p {\n          white-space: normal; } }\n\n@media only screen and (max-width: 759px) {\n  .topic-message .message .message-actions a {\n    width: 0px;\n    text-indent: -9999px; }\n    .topic-message .message .message-actions a:after {\n      left: 12px !important; }\n  .topic-message .message .message-submit {\n    display: block !important;\n    width: 100%;\n    margin: 0; }\n    .topic-message .message .message-submit button {\n      float: right;\n      display: block;\n      width: calc(50% - 2px);\n      margin-left: 1px !important; }\n      .topic-message .message .message-submit button.btn-grey {\n        float: left; }\n  form.forum-message .message {\n    padding-top: 0 !important; } }\n\n.avatar {\n  height: 60px;\n  width: 60px;\n  background-color: #FFF; }\n\n.badge {\n  display: block;\n  width: 60px;\n  height: 25px;\n  line-height: 25px;\n  text-align: center;\n  text-transform: uppercase;\n  color: #EEE;\n  text-shadow: rgba(0, 0, 0, 0.25) 0 0 3px;\n  background: #777; }\n  .badge.staff {\n    background: #48a200; }\n\n.member-card .member-avatar {\n  float: left;\n  width: 60px; }\n\n.member-card .member-infos {\n  float: left;\n  list-style: none;\n  margin: 0;\n  padding-left: 15px; }\n\n.member-social {\n  list-style: none;\n  margin: 15px 0 0;\n  padding: 0; }\n\n/*------------------------\n9. Pages\n------------------------*/\n.home .main {\n  display: block;\n  height: auto;\n  width: auto;\n  margin: 0;\n  padding: 0; }\n\n.home #content {\n  width: 100%;\n  margin: 0;\n  padding: 0; }\n\n.home .sub-header {\n  display: none; }\n\n.home .home-wrapper {\n  max-width: 1145px;\n  margin: 0 auto; }\n\n.home .home-row {\n  display: flex;\n  margin-bottom: 10px; }\n\n.home .home-header {\n  border-bottom: solid 1px white;\n  padding-top: 20px;\n  background-color: #19516b;\n  background: #19516b radial-gradient(at top, rgba(255, 255, 255, 0.1), transparent 60%);\n  margin-bottom: -170px;\n  padding-bottom: 180px;\n  overflow: hidden; }\n\n.home .home-description {\n  display: flex; }\n  .home .home-description p {\n    margin: 0;\n    padding: 0;\n    color: white;\n    text-align: justify; }\n  .home .home-description ul {\n    color: #EEE;\n    margin: 10px 0; }\n  .home .home-description a:not(.home-description-button) {\n    color: white; }\n    .home .home-description a:not(.home-description-button):hover, .home .home-description a:not(.home-description-button):focus {\n      color: #90ABB6;\n      text-decoration: none; }\n  .home .home-description .column {\n    flex: 1;\n    padding: 0 20px; }\n    .home .home-description .column h2 {\n      font-size: 18px;\n      font-size: 1.8rem;\n      color: white;\n      margin: 20px 0 10px 0;\n      border-bottom-color: white;\n      font-weight: 300; }\n  .home .home-description blockquote {\n    font-size: 2.5rem;\n    color: white;\n    font-weight: 300;\n    padding: 0;\n    margin: 0; }\n    .home .home-description blockquote span:first-of-type::before {\n      content: \"«\\00A0\"; }\n    .home .home-description blockquote span:last-of-type::after {\n      content: \"\\00A0»\"; }\n  .home .home-description:not(.connected):not(.short) {\n    padding-bottom: 60px; }\n  .home .home-description.connected {\n    text-align: center;\n    flex-direction: column; }\n    .home .home-description.connected .important {\n      color: #F8AD32;\n      text-transform: uppercase;\n      font-weight: bold; }\n    .home .home-description.connected p {\n      margin-top: 5px;\n      text-align: center; }\n    .home .home-description.connected .home-description-button {\n      margin-left: 15px; }\n  .home .home-description.short {\n    display: none;\n    color: white;\n    text-align: center;\n    font-size: 1.4em; }\n    .home .home-description.short .home-description-button {\n      font-size: 14px;\n      font-size: 1.4rem;\n      line-height: 24px;\n      line-height: 2.4rem;\n      margin-top: 12px;\n      padding: 0 10px; }\n    .home .home-description.short blockquote > span {\n      display: inline-block; }\n\n.home .home-description-button {\n  display: inline-block;\n  line-height: 2rem;\n  font-size: 1.2rem;\n  font-size: 12px;\n  color: white;\n  text-decoration: none;\n  border: solid 1px rgba(255, 255, 255, 0.5);\n  padding: 0 6px;\n  margin-top: 5px; }\n  .home .home-description-button:hover, .home .home-description-button:focus {\n    color: #084561;\n    border-color: white;\n    background-color: #FFF; }\n  .home .home-description-button.close-description {\n    display: none; }\n\n.home .featured-resource-row {\n  display: flex;\n  margin-bottom: 30px;\n  padding: 1px 0 1px 1px;\n  background-color: #F7F7F7;\n  flex-wrap: wrap;\n  justify-content: center;\n  width: 100%; }\n  .home .featured-resource-row .no-featured-resource {\n    flex: 1;\n    margin: 0;\n    line-height: 0;\n    text-align: center;\n    margin-right: 1px;\n    font-size: 20px;\n    background-color: white; }\n    .home .featured-resource-row .no-featured-resource::before, .home .featured-resource-row .no-featured-resource::after {\n      display: block;\n      content: \"\";\n      padding-top: 10%; }\n\n.home .home-heading {\n  height: 40px;\n  padding-left: 50px !important;\n  margin-bottom: 18px !important; }\n  .home .home-heading.heading-white {\n    color: white;\n    border-bottom-color: white; }\n  .home .home-heading.ico-after::after {\n    margin-left: 0 !important; }\n  .home .home-heading .btn {\n    font-size: 15px; }\n\n.home .home-search-box {\n  position: relative;\n  margin: 30px auto 0;\n  max-width: 820px;\n  background: white; }\n  .home .home-search-box form {\n    display: flex; }\n  .home .home-search-box:before {\n    content: '';\n    position: absolute;\n    bottom: -6px;\n    left: -28px;\n    background: url(\"../images/home-clem.png\");\n    background-size: 100%;\n    width: 68px;\n    height: 134px; }\n    body.vc-clem-christmas.home .home-search-box::before {\n      background-image: url(\"../images/home-clem-christmas@2x.png\"); }\n  .home .home-search-box label, .home .home-search-box input {\n    box-sizing: border-box;\n    display: inline-block;\n    line-height: 50px;\n    height: 50px; }\n  .home .home-search-box label {\n    text-align: right;\n    padding: 0 5px;\n    font-size: 2rem;\n    font-weight: 300;\n    margin-left: 50px; }\n  .home .home-search-box input {\n    font-size: 2rem;\n    border: none;\n    font-weight: 300;\n    flex: 1; }\n  .home .home-search-box button[type=submit] {\n    background: #FFF;\n    width: 50px;\n    height: 50px; }\n    .home .home-search-box button[type=submit]:hover, .home .home-search-box button[type=submit]:focus {\n      background-color: #CCC !important; }\n    .home .home-search-box button[type=submit]:after {\n      margin: 16px;\n      background-position: 0px -2786px;\n      width: 16px;\n      height: 40px; }\n\n@media only screen and (max-width: 759px) {\n  .home .home-description:not(.connected):not(.short) {\n    display: none; }\n  .home .home-description.short {\n    display: block;\n    width: auto;\n    padding: 0 20px; }\n    .home .home-description.short:target .home-description-button {\n      display: none; }\n      .home .home-description.short:target .home-description-button.close-description {\n        display: inline-block; }\n    .home .home-description.short:target ~ .home-description:not(.short) {\n      display: block;\n      margin-top: 20px; }\n  .home .home-description.connected {\n    padding: 0 20px !important; }\n  .home .home-description .featured-message {\n    display: none; }\n  .home .home-heading .btn {\n    visibility: hidden; }\n  .home .home-search-box {\n    padding-left: 40px;\n    margin: 30px 0 0 !important; }\n    .home .home-search-box:before {\n      left: -46px; }\n    .home .home-search-box label {\n      display: none; }\n  .home .featured-resource-row .featured-resource-item:nth-of-type(4) {\n    display: none; } }\n\n@media only screen and (max-width: 959px) {\n  .home .home-header {\n    padding-top: 10px; }\n  .home .home-wrapper {\n    padding: 20px 10px; }\n  .home .featured-resource-row .featured-resource-item {\n    margin: 4px;\n    padding: 0 !important; }\n    .home .featured-resource-row .featured-resource-item:last-of-type {\n      display: none; }\n  .home .home-header {\n    margin-bottom: 0;\n    padding-bottom: 10px; }\n  .home .home-heading {\n    margin-top: 18px; }\n    .home .home-heading.heading-white {\n      color: #084561;\n      border-color: #F8AD32; }\n  .home .home-row {\n    flex-direction: column; }\n  .home .home-search-box {\n    margin: 30px 40px 0; }\n  .home .home-description.connected {\n    width: auto;\n    padding: 0 80px; } }\n\n@media only screen and (min-width: 960px) {\n  .home .home-row {\n    margin-right: -10px;\n    margin-left: -10px; }\n    .home .home-row > section {\n      margin: 0 10px;\n      flex: 1;\n      min-width: 300px; }\n  .home .home-description .column h2 {\n    font-size: 22px;\n    font-size: 2.2rem; }\n  .home .home-description .column p, .home .home-description .column ul {\n    line-height: 22px;\n    font-size: 15px;\n    font-size: 1.5rem; }\n  .home .home-description.connected {\n    max-width: 740px;\n    margin: 15px auto 0; } }\n\n.gallery.grid-view {\n  clear: both; }\n  .gallery.grid-view .gallery-item {\n    position: relative;\n    width: 200px;\n    height: 200px;\n    float: left;\n    border: 10px solid #FFF;\n    margin: 10px;\n    clear: none; }\n    .gallery.grid-view .gallery-item:hover, .gallery.grid-view .gallery-item.active {\n      border-color: #1088bf !important; }\n      .gallery.grid-view .gallery-item:hover:before, .gallery.grid-view .gallery-item.active:before {\n        display: none; }\n      .gallery.grid-view .gallery-item:hover .topic-title, .gallery.grid-view .gallery-item.active .topic-title {\n        background: #1088bf !important;\n        color: #FFF;\n        text-decoration: none; }\n    .gallery.grid-view .gallery-item .topic-infos {\n      position: absolute;\n      bottom: 0;\n      left: 0;\n      z-index: 1;\n      height: 15px;\n      width: 15px;\n      padding: 3px 0; }\n      .gallery.grid-view .gallery-item .topic-infos input {\n        margin: 0; }\n    .gallery.grid-view .gallery-item .topic-description,\n    .gallery.grid-view .gallery-item .topic-description a {\n      display: block;\n      width: 100%;\n      height: 100%; }\n    .gallery.grid-view .gallery-item .topic-image {\n      overflow: hidden;\n      max-height: 100%;\n      min-width: 100%; }\n    .gallery.grid-view .gallery-item .topic-title {\n      height: 15px;\n      background-color: white;\n      position: absolute;\n      bottom: 7px;\n      left: 0;\n      right: 0;\n      padding: 10px 20px 5px;\n      font-size: 15px;\n      font-size: 1.5rem;\n      line-height: 15px;\n      color: #444; }\n    .gallery.grid-view .gallery-item.selected {\n      border-color: #eaf7fd; }\n      .gallery.grid-view .gallery-item.selected .topic-title {\n        background: #eaf7fd; }\n    .gallery.grid-view .gallery-item.add-image {\n      font-size: 120px;\n      line-height: 200px;\n      text-align: center;\n      background: #DDD;\n      color: #555;\n      text-decoration: none; }\n      .gallery.grid-view .gallery-item.add-image:hover, .gallery.grid-view .gallery-item.add-image:focus {\n        background-color: #CCC;\n        color: #1088bf; }\n\n.gallery.list-view .topic .topic-description .topic-title {\n  margin-top: 12px; }\n\n.gallery.list-view .add-image {\n  display: none; }\n\n.toggle-gallery-view {\n  float: left !important; }\n\n@media only screen and (min-width: 960px) {\n  .gallery-col-image {\n    float: left;\n    width: 50%; }\n    .gallery-col-image img {\n      max-width: 100%; }\n  .gallery-col-edit {\n    float: right;\n    width: calc(50% - 20px);\n    padding-left: 20px; } }\n\n#resources_container .footer {\n  display: none; }\n\n/* Temp fix to #2667 ; see: https://github.com/zestedesavoir/zds-site/issues/2667 */\n.tutorial-help-item {\n  min-height: 60px;\n  padding: 20px 2%;\n  border-bottom: 1px solid #e0e4e5;\n  color: #424242;\n  font-weight: normal; }\n  .tutorial-help-item:nth-child(2n+1) {\n    background-color: rgba(255, 255, 255, 0.8); }\n  .tutorial-help-item p {\n    margin: 0; }\n  .tutorial-help-item .tutorial-title {\n    margin: 0;\n    padding: 0;\n    font-size: 20px;\n    font-size: 2.0rem;\n    height: 27px;\n    width: 100%;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    clear: none;\n    font-weight: normal;\n    color: #424242; }\n  .tutorial-help-item a {\n    text-decoration: none; }\n    .tutorial-help-item a:hover, .tutorial-help-item a:focus {\n      text-decoration: underline; }\n  .tutorial-help-item .tutorial-categories {\n    margin: 0 0 5px;\n    padding: 0;\n    color: #ee8709; }\n    .tutorial-help-item .tutorial-categories a {\n      color: #ee8709; }\n      .tutorial-help-item .tutorial-categories a:hover, .tutorial-help-item .tutorial-categories a:focus {\n        text-decoration: underline; }\n  .tutorial-help-item .tutorial-illu {\n    display: block;\n    overflow: hidden;\n    float: left; }\n  .tutorial-help-item .tutorial-infos {\n    margin: 7px 0 0 70px; }\n    .tutorial-help-item .tutorial-infos.no-illu {\n      margin-left: 0; }\n  .tutorial-help-item .tutorial-help {\n    margin: 12px 0 0 0; }\n  .tutorial-help-item .tutorial-help img.light {\n    opacity: 0.2; }\n    .tutorial-help-item .tutorial-help img.light:hover, .tutorial-help-item .tutorial-help img.light:focus {\n      opacity: 0.5; }\n\n.commits-compare-form button {\n  float: none !important; }\n\n/*-------------------------\n10. High pixel ratio (retina)\n-------------------------*/\n@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 4 / 3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {\n  .header-logo-link {\n    background-size: 100%;\n    background-image: url(\"../images/logo@2x.png\"); }\n  .ico,\n  .ico-after:after,\n  .content-item .content-reactions,\n  .content-item .content-reactions::before,\n  .breadcrumb ol li:not(:last-child):after {\n    background-image: url(\"../images/sprite@2x.png\");\n    background-size: 40px 4946px; }\n  .main-container input[type=radio]:after,\n  .main-container input[type=checkbox]:after,\n  .modals-container input[type=radio]:after,\n  .modals-container input[type=checkbox]:after {\n    background-image: url(\"../images/sprite@2x.png\");\n    background-size: 40px 4946px; }\n  .home .home-search-box::before {\n    background-image: url(\"../images/home-clem@2x.png\"); }\n    body.vc-clem-christmas.home .home-search-box::before {\n      background-image: url(\"../images/home-clem-christmas@2x.png\"); } }\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.3) and (max-width: 959px), only screen and (min--moz-device-pixel-ratio: 1.3) and (max-width: 959px), only screen and (-o-min-device-pixel-ratio: 4 / 3) and (max-width: 959px), only screen and (min-device-pixel-ratio: 1.3) and (max-width: 959px), only screen and (min-resolution: 192dpi) and (max-width: 959px), only screen and (min-resolution: 2dppx) and (max-width: 959px) {\n  .js.enable-mobile-menu .mobile-menu-hide .page-container .mobile-menu-btn:after {\n    background-image: url(\"../images/sprite@2x.png\");\n    background-size: 40px 4946px; }\n  .page-container .header-logo-link {\n    background-image: url(\"../images/logo-mobile@2x.png\") !important; } }\n","html {\n    height: 100%;\n    width: 100%;\n    font-size: 62.5%;\n    overflow-x: hidden;\n    word-wrap: break-word;\n}\n\nbody {\n    background: $color-body-background;\n    font-size: 14px;\n    font-size: 1.4rem;\n    line-height: 1.7em;\n    min-height: 100%;\n    width: 100%;\n}\n.page-container,\n.main-container {\n    min-height: 100%;\n    background: $color-body-background;\n}\n.content-container {\n    margin-bottom: 50px;\n}\n\nimg {\n    vertical-align: middle;\n}\n\nfieldset {\n    border: 0;\n    margin: 0;\n    padding: 0;\n}\n\ntextarea {\n    resize: vertical;\n}\n\n.chromeframe {\n    margin: 0;\n    background: #ccc;\n    color: #000;\n    padding: 0.2em 0;\n    text-align: center;\n    position: fixed;\n    z-index: 9999;\n    width: 100%;\n}\n\n.a11y {\n    display: block;\n    width: 0;\n    height: 0;\n    text-indent: -9999px;\n}\n\nnav {\n    ul,\n    ol {\n        list-style: none;\n    }\n}\n\n@media only screen and #{$media-wide} {\n    html,\n    body,\n    .page-container {\n        height: 100%;\n    }\n\n    .main-container {\n        min-height: calc(100% - 136px);\n    }\n\n    .wrapper {\n        width: 95%;\n        margin: 0 2.5%;\n    }\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    body {\n        background: #222;\n\n        &:not(.swipping) {\n            .page-container,\n            .mobile-menu {\n                transition-property: transform;\n                transition-duration: $transition-duration * 2;\n                transition-timing-function: ease;\n            }\n        }\n        &.swipping * {\n            user-select: none;\n            pointer-events: none;\n        }\n    }\n}","// If you want to change this, you may want to do it also in templates/base.html. Particulary in the meta tag named theme-color and msapplication-navbutton-color. \n$color-primary: #084561;\n$color-secondary: #F8AD32;\n\n$color-body-background: #F7F7F7;\n$color-header-hover: #396a81;\n$color-helpful: #e9f9dc;\n\n$color-sidebar-background: #F0F0F0;\n$color-sidebar-hover: #FFF;\n\n$color-success: #48a200;\n$color-danger: #c0392b;\n\n$color-keyboard: #F8F6EA;\n",".table-wrapper {\n    max-width: 100%;\n    overflow: auto;\n}\n\ntable {\n    margin: 15px 0;\n    border-top: 1px solid #DDD;\n\n    thead {\n        background: #DDD;\n        color: $color-primary;\n    }\n    th, td {\n        text-align: left;\n        padding: 5px 15px 5px 7px;\n        border-right: 1px solid #DDD;\n\n        &:first-child {\n            border-left: 1px solid #DDD;\n        }\n\n        p {\n            margin: 0;\n        }\n    }\n\n    tbody tr {\n        background: #FDFDFD;\n        border-bottom: 1px solid #DDD;\n\n        &:nth-child(2n+1) {\n            background: #F7F7F7;\n        }\n    }\n\n    &.fullwidth {\n        width: 100%;\n    }\n}\n\n/* Specific for diff */\n\n.diff_delta {\n    overflow-x: auto;\n    width: 100%;\n    margin: 15px 0; /* add margin to container */\n\n    table.diff {\n        font-family: $font-monospace;\n        font-size: 0.9em;\n        border: 2px solid gray;\n        margin: 0; /* abort table default margin */\n\n        tr {\n            line-height: 1em;\n            border-bottom: none;\n        }\n\n        .diff_header {\n            background-color: #e0e0e0;\n            padding: 5px;\n        }\n\n        td.diff_header {\n            text-align: right;\n        }\n\n        .diff_next {\n            display: none;\n        }\n    }\n}\n\n.diff_add { /* added text */\n    background-color: #aaffaa;\n}\n\n.diff_chg { /* changed text */\n    background-color: #fff8ab;\n}\n\n.diff_sub { /* deleted text */\n    background-color: #ffaaaa;\n}\n","$font-sans-serif: \"Segoe UI\", \"Trebuchet MS\", Helvetica, \"Helvetica Neue\", Arial, sans-serif;\n$font-serif: \"Liberation Serif\", \"Times New Roman\", Times, Georgia, FreeSerif, serif;\n$font-monospace: monospace, serif;\n$font-sans-serif-active: \"Source Sans Pro\", $font-sans-serif;\n$font-serif-active: \"Merriweather\", $font-serif;\n$font-monospace-active: \"Source Code Pro\", $font-monospace;",".content-container,\n.modals-container {\n    form {\n        width: 100%;\n\n        &.content-wrapper {\n            width: calc(100% - 20px);\n            margin: 0 10px;\n        }\n\n        p {\n            position: relative;\n        }\n    }\n\n\n\n    fieldset {\n        border-top: 1px solid #DDD;\n        border-bottom: 3px solid #DDD;\n        background: #EFEFEF;\n        padding: 0 4%;\n\n        legend {\n            padding: 0 10px;\n            border-top: 1px solid #DDD;\n            border-bottom: 3px solid #DDD;\n            background: #EFEFEF;\n        }\n    }\n\n\n\n    label {\n        display: block;\n        color: #555;\n        height: 30px;\n        line-height: 30px;\n\n        .asteriskField {\n            color: #C0392B;\n            margin-left: 4px;\n        }\n    }\n    .small-content-wrapper .asteriskField {\n        display: none;\n    }\n    .form-error {\n        display: block;\n        font-size: 13px;\n        color: #C0392B;\n    }\n\n    input,\n    textarea {\n        border: 1px solid #D2D5D6;\n\n        &:focus {\n            outline-color: #999;\n        }\n\n        &.field-error,\n        &:invalid {\n            border-color: #C0392B;\n\n            &:focus {\n                outline-color: #C0392B;\n            }\n        }\n\n        &[disabled],\n        .disabled {\n            background: #DDD !important;\n            color: #555;\n        }\n    }\n    input,\n    textarea,\n    button,\n    .btn {\n        -webkit-appearance: none;\n        transition: all $transition-duration ease;\n    }\n\n    input:not([type=submit]):not([type=reset]):not([type=radio]):not([type=checkbox]) {\n        width: calc(98% - 2px);\n        padding: 0 1%;\n    }\n    textarea {\n        width: calc(98% - 2px);\n        padding: 10px 1%;\n        font-family: $font-monospace;\n    }\n\n    input,\n    button,\n    .btn {\n        display: block;\n        height: 30px;\n\n        &.ico-after {\n            padding-left: 30px;\n\n            &:after {\n                margin: 12px 0 0 7px;\n            }\n        }\n    }\n    [type=submit],\n    button:not(.link),\n    .btn {\n        position: relative;\n        height: 40px;\n        line-height: 40px;\n        cursor: pointer;\n        color: #DDD;\n        padding: 0 15px;\n        border: none;\n        text-decoration: none;\n        margin-left: 1px;\n        outline: none;\n\n        &.submitted {\n            color: #555;\n\n            // Animation loading on submit buttons\n            .line-loading {\n                display: block;\n                position: absolute;\n                left: 0;\n                bottom: 0;\n                width: 0%;\n                height: 1px;\n                background: #555;\n                animation: lineLoading linear 1s infinite;\n            }\n        }\n        &:not(.btn-holder){\n            float: right;\n        }\n    }\n    [type=submit]:not(.link),\n    .btn-submit:not(.link) {\n        color: #FFF;\n        background: $color-success;\n\n        &:not([disabled]):hover,\n        &:not([disabled]):focus,\n        &:not(.disabled):hover,\n        &:not(.disabled):focus {\n            background: lighten($color-success, 7%);\n        }\n\n        &.disabled.submitted {\n            color: $color-success;\n\n            .line-loading {\n                background: $color-success;\n            }\n        }\n    }\n    .btn-cancel:not(.link) {\n        background: $color-danger;\n\n        &:not([disabled]):hover,\n        &:not([disabled]):focus,\n        &:not(.disabled):hover,\n        &:not(.disabled):focus {\n            background: lighten($color-danger, 7%);\n        }\n\n        &.disabled.submitted {\n            color: $color-danger;\n\n            .line-loading {\n                background: $color-danger;\n            }\n        }\n    }\n    .btn-grey:not(.link) {\n        background: #EEE;\n        color: #555;\n\n        &:not([disabled]):hover,\n        &:not([disabled]):focus,\n        &:not(.disabled):hover,\n        &:not(.disabled):focus {\n            background: #CCC;\n            color: #333;\n        }\n\n        &.disabled.submitted {\n            color: #555;\n\n            .line-loading {\n                background: #999;\n            }\n        }\n    }\n    [disabled],\n    .disabled {\n        cursor: default !important;\n        background: #EEE !important;\n\n        &:not(.submitted){\n            color: #BBB !important;\n        }\n    }\n\n    .btn-facebook:not(.link) {\n        background: #3b5998;\n\n        &:hover,\n        &:focus {\n            background: darken(#3b5998, 10%);\n        }\n    }\n    .btn-twitter:not(.link) {\n        background: #4099FF;\n\n        &:hover,\n        &:focus {\n            background: darken(#4099FF, 10%);\n        }\n    }\n    .btn-google-plus:not(.link) {\n        background: #d34836;\n\n        &:hover,\n        &:focus {\n            background: darken(#d34836, 10%);\n        }\n    }\n    .btn-facebook,\n    .btn-twitter,\n    .btn-google-plus {\n        width: 50%;\n        margin: 0 auto;\n        text-align: center;\n    }\n}\n\n.content-container {\n    .btn-holder,\n    .buttonHolder /* specifix for crispy */ {\n        margin-top: 25px;\n        min-height: 40px;\n    }\n}\n\n.wf-active {\n    .content-container,\n    .modals-container {\n        textarea {\n            font-family: $font-monospace-active;\n        }\n    }\n}\n\n.main-container,\n.modals-container {\n    input[type=radio],\n    input[type=checkbox] {\n        float: left;\n        margin-right: 5px;\n        height: 15px;\n        width: 15px;\n        border: 1px solid #BBB;\n        background: #FCFCFC;\n        transition: none;\n        position: relative;\n\n        &:after {\n            display: block;\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            bottom: 0;\n            right: 0;\n            opacity: 0;\n            @include sprite();\n        }\n\n        &:checked:after {\n            opacity: 1;\n        }\n    }\n    input[type=radio] {\n        border-radius: 50%;\n    }\n    input[type=radio]:after {\n        @include sprite-position($radio);\n    }\n    input[type=checkbox]:after {\n        @include sprite-position($check);\n    }\n\n\n    // TEMP STYLES TO PATCH TEMP TEMPLATE PACK MIX\n    .checkbox,\n    .radio {\n        padding: 10px 0;\n\n        input {\n            margin-top: 8px;\n        }\n    }\n    .controls .radio {\n        padding-top: 3px;\n        padding-bottom: 0;\n    }\n    // used in the \"new content\" page\n    .checkbox-new-content {\n        padding: 0;\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .content-container,\n    .modals-container {\n        form.content-wrapper {\n            margin: 0;\n            width: 100%;\n        }\n    }\n}\n\n\n@keyframes lineLoading {\n    0% {\n        width: 0%;\n        left: 0;\n        right: inherit;\n    }\n    49% {\n        left: 0;\n        right: inherit;\n    }\n    50% {\n        width: 100%;\n        left: inherit;\n        right: 0;\n    }\n    100% {\n        left: inherit;\n        right: 0;\n    }\n}\n","\n    $check: -0px -0px 13px 13px;\n    $radio: -0px -13px 13px 13px;\n    $zform-key: -0px -26px 16px 16px;\n    $zform-ul: -0px -42px 16px 16px;\n    $zform-title4: -0px -58px 16px 16px;\n    $unread: -0px -74px 16px 16px;\n    $zform-abbr: -0px -90px 16px 16px;\n    $zform-attention: -0px -106px 16px 16px;\n    $zform-blockcode: -0px -122px 16px 16px;\n    $zform-bold: -0px -138px 16px 16px;\n    $zform-center: -0px -154px 16px 16px;\n    $zform-chars: -0px -170px 16px 16px;\n    $zform-error: -0px -186px 16px 16px;\n    $zform-footnote: -0px -202px 16px 16px;\n    $zform-image: -0px -218px 16px 16px;\n    $zform-information: -0px -234px 16px 16px;\n    $zform-italic: -0px -250px 16px 16px;\n    $zform-title3: -0px -266px 16px 16px;\n    $zform-link: -0px -282px 16px 16px;\n    $zform-math: -0px -298px 16px 16px;\n    $zform-ol: -0px -314px 16px 16px;\n    $zform-question: -0px -330px 16px 16px;\n    $zform-quote: -0px -346px 16px 16px;\n    $zform-right: -0px -362px 16px 16px;\n    $zform-secret: -0px -378px 16px 16px;\n    $zform-smilies: -0px -394px 16px 16px;\n    $zform-strike: -0px -410px 16px 16px;\n    $zform-sub: -0px -426px 16px 16px;\n    $zform-sup: -0px -442px 16px 16px;\n    $zform-table: -0px -458px 16px 16px;\n    $zform-title1: -0px -474px 16px 16px;\n    $zform-title2: -0px -490px 16px 16px;\n    $zform-titles: -0px -506px 16px 16px;\n    $chat-bubble-orange: -0px -522px 33px 32px;\n    $chat-bubble: -0px -554px 33px 32px;\n    $email-blue: -0px -586px 16px 40px;\n    $email-light: -0px -626px 16px 40px;\n    $email: -0px -666px 16px 40px;\n    $error: -0px -706px 22px 40px;\n    $facebook-blue: -0px -746px 16px 40px;\n    $facebook-light: -0px -786px 16px 40px;\n    $facebook: -0px -826px 16px 40px;\n    $forum-heading: -0px -866px 40px 40px;\n    $foursquare-blue: -0px -906px 16px 40px;\n    $foursquare-light: -0px -946px 16px 40px;\n    $foursquare: -0px -986px 16px 40px;\n    $gear-blue: -0px -1026px 16px 40px;\n    $gear-light: -0px -1066px 16px 40px;\n    $gear: -0px -1106px 16px 40px;\n    $github-blue: -0px -1146px 16px 40px;\n    $github-light: -0px -1186px 16px 40px;\n    $github: -0px -1226px 16px 40px;\n    $google-plus-blue: -0px -1266px 16px 40px;\n    $google-plus-light: -0px -1306px 16px 40px;\n    $google-plus: -0px -1346px 16px 40px;\n    $help-blue: -0px -1386px 16px 40px;\n    $help-light: -0px -1426px 16px 40px;\n    $help: -0px -1466px 16px 40px;\n    $hide-blue: -0px -1506px 16px 40px;\n    $hide-light: -0px -1546px 16px 40px;\n    $hide: -0px -1586px 16px 40px;\n    $history-blue: -0px -1626px 16px 40px;\n    $history-light: -0px -1666px 16px 40px;\n    $history: -0px -1706px 16px 40px;\n    $import-blue: -0px -1746px 16px 40px;\n    $import-light: -0px -1786px 16px 40px;\n    $import: -0px -1826px 16px 40px;\n    $information: -0px -1866px 22px 40px;\n    $lock-blue: -0px -1906px 16px 40px;\n    $lock-light: -0px -1946px 16px 40px;\n    $lock: -0px -1986px 16px 40px;\n    $menu: -0px -2026px 22px 40px;\n    $alert-light: -0px -2066px 16px 40px;\n    $more-blue: -0px -2106px 16px 40px;\n    $more-light: -0px -2146px 16px 40px;\n    $more: -0px -2186px 16px 40px;\n    $move-blue: -0px -2226px 16px 40px;\n    $move-light: -0px -2266px 16px 40px;\n    $move: -0px -2306px 16px 40px;\n    $notifications: -0px -2346px 22px 40px;\n    $params: -0px -2386px 22px 40px;\n    $pin-blue: -0px -2426px 16px 40px;\n    $pin-light: -0px -2466px 16px 40px;\n    $pin: -0px -2506px 16px 40px;\n    $question: -0px -2546px 22px 40px;\n    $ariane: -0px -2586px 15px 40px;\n    $rss-blue: -0px -2626px 16px 40px;\n    $rss-light: -0px -2666px 16px 40px;\n    $rss-orange: -0px -2706px 16px 40px;\n    $rss: -0px -2746px 16px 40px;\n    $search: -0px -2786px 16px 40px;\n    $star-blue: -0px -2826px 16px 40px;\n    $star-heading-white: -0px -2866px 40px 40px;\n    $star-heading: -0px -2906px 40px 40px;\n    $star-light: -0px -2946px 16px 40px;\n    $star-yellow: -0px -2986px 16px 40px;\n    $star: -0px -3026px 16px 40px;\n    $tags: -0px -3066px 40px 40px;\n    $thumb-down-voted: -0px -3106px 16px 40px;\n    $thumb-down: -0px -3146px 16px 40px;\n    $thumb-up-voted: -0px -3186px 16px 40px;\n    $thumb-up: -0px -3226px 16px 40px;\n    $tick-green: -0px -3266px 16px 40px;\n    $tick-light: -0px -3306px 16px 40px;\n    $tick: -0px -3346px 16px 40px;\n    $tutorials: -0px -3386px 40px 40px;\n    $twitter-blue: -0px -3426px 16px 40px;\n    $twitter-light: -0px -3466px 16px 40px;\n    $twitter: -0px -3506px 16px 40px;\n    $arrow-left-blue: -0px -3546px 16px 40px;\n    $view-blue: -0px -3586px 16px 40px;\n    $view-light: -0px -3626px 16px 40px;\n    $view: -0px -3666px 16px 40px;\n    $warning: -0px -3706px 22px 40px;\n    $arrow-left-light: -0px -3746px 16px 40px;\n    $arrow-left: -0px -3786px 16px 40px;\n    $arrow-right-blue: -0px -3826px 16px 40px;\n    $arrow-right-light: -0px -3866px 16px 40px;\n    $arrow-right: -0px -3906px 16px 40px;\n    $articles: -0px -3946px 40px 40px;\n    $beta-blue: -0px -3986px 16px 40px;\n    $beta-light: -0px -4026px 16px 40px;\n    $beta: -0px -4066px 16px 40px;\n    $alert-blue: -0px -4106px 16px 40px;\n    $alert: -0px -4146px 16px 40px;\n    $alerts: -0px -4186px 22px 40px;\n    $cite-blue: -0px -4226px 16px 40px;\n    $cite-light: -0px -4266px 16px 40px;\n    $cite: -0px -4306px 16px 40px;\n    $cross-blue: -0px -4346px 16px 40px;\n    $cross-light: -0px -4386px 16px 40px;\n    $cross-red: -0px -4426px 16px 40px;\n    $cross-white: -0px -4466px 16px 40px;\n    $cross: -0px -4506px 16px 40px;\n    $diaspora-blue: -0px -4546px 16px 40px;\n    $diaspora-light: -0px -4586px 16px 40px;\n    $diaspora: -0px -4626px 16px 40px;\n    $download-blue: -0px -4666px 16px 40px;\n    $download-light: -0px -4706px 16px 40px;\n    $download: -0px -4746px 16px 40px;\n    $edit-blue: -0px -4786px 16px 40px;\n    $edit-light: -0px -4826px 16px 40px;\n    $edit: -0px -4866px 16px 40px;\n    $messages: -0px -4906px 22px 40px;\n\n@mixin sprite-width($sprite) {\n  width: nth($sprite, 3);\n}\n\n@mixin sprite-height($sprite) {\n  height: nth($sprite, 4);\n}\n\n@mixin sprite-position($sprite) {\n  $sprite-offset-x: nth($sprite, 1);\n  $sprite-offset-y: nth($sprite, 2);\n  background-position: $sprite-offset-x  $sprite-offset-y;\n}\n\n    @mixin sprite() {\n      background-image: url('../images/sprite.png');\n    }\n    @mixin sprite-2x() {\n      background-image: url('../images/sprite@2x.png');\n      background-size: 40px 4946px;\n    }\n","html,\nbody,\nbutton,\ninput,\nselect,\ntextarea {\n    font-family: $font-sans-serif;\n    color: #222;\n\n    .wf-active &,\n    .no-js & {\n        font-family: $font-sans-serif-active;\n    }\n}\n\nhr {\n    display: block;\n    height: 1px;\n    border: 0;\n    border-top: 1px solid #ccc;\n    margin: 1em 0;\n    padding: 0;\n}\n\na,\n.link {\n    color: lighten($color-primary, 20%);\n    transition: all $transition-duration ease;\n\n    &:hover {\n        color: darken($color-secondary, 15%);\n        text-decoration: none;\n    }\n}\n\nbutton.link {\n    display: inline-block;\n    background: none;\n    border: none;\n    text-decoration: underline;\n}\n",".ico {\n    background-repeat: no-repeat;\n    @include sprite();\n}\n.ico-after {\n    position: relative;\n\n    &:after {\n        content: \" \";\n        display: block;\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 16px;\n        height: 16px;\n        background-repeat: no-repeat;\n        @include sprite();\n    }\n\n    &.alert {\n        &:after {\n            @include sprite-position($alert);\n        }\n        &.blue:after {\n            @include sprite-position($alert-blue);\n        }\n        &.light:after {\n            @include sprite-position($alert-light);\n        }\n    }\n\n    &.arrow-left {\n        &:after {\n            @include sprite-position($arrow-left);\n        }\n        &.blue:after {\n            @include sprite-position($arrow-left-blue);\n        }\n        &.light:after {\n            @include sprite-position($arrow-left-light);\n        }\n    }\n\n    &.offline,\n    &.arrow-right {\n        &:after {\n            @include sprite-position($arrow-right);\n        }\n        &.blue:after {\n            @include sprite-position($arrow-right-blue);\n        }\n        &.light:after {\n            @include sprite-position($arrow-right-light);\n        }\n    }\n\n    &.beta {\n        &:after {\n            @include sprite-position($beta);\n        }\n        &.blue:after {\n            @include sprite-position($beta-blue);\n        }\n        &.light:after {\n            @include sprite-position($beta-light);\n        }\n    }\n\n    &.cite {\n        &:after {\n            @include sprite-position($cite);\n        }\n        &.blue:after {\n            @include sprite-position($cite-blue);\n        }\n        &.light:after {\n            @include sprite-position($cite-light);\n        }\n    }\n\n    &.cross {\n        &:after {\n            @include sprite-position($cross);\n        }\n        &.blue:after {\n            @include sprite-position($cross-blue);\n        }\n        &.red:after {\n            @include sprite-position($cross-red);\n        }\n        &.light:after {\n            @include sprite-position($cross-light);\n        }\n        &.white:after {\n            @include sprite-position($cross-white);\n        }\n    }\n\n    &.download {\n        &:after {\n            @include sprite-position($download);\n        }\n        &.blue:after {\n            @include sprite-position($download-blue);\n        }\n        &.light:after {\n            @include sprite-position($download-light);\n        }\n    }\n\n    &.downvote {\n        &:after {\n            @include sprite-position($thumb-down);\n        }\n        &.voted:after {\n            @include sprite-position($thumb-down-voted);\n        }\n    }\n\n    &.edit {\n        &:after {\n            @include sprite-position($edit);\n        }\n        &.blue:after {\n            @include sprite-position($edit-blue);\n        }\n        &.light:after {\n            @include sprite-position($edit-light);\n        }\n    }\n\n    &.email {\n        &:after {\n            @include sprite-position($email);\n        }\n        &.blue:after {\n            @include sprite-position($email-blue);\n        }\n        &.light:after {\n            @include sprite-position($email-light);\n        }\n    }\n\n    &.diaspora {\n        &:after {\n            @include sprite-position($diaspora);\n        }\n        &.blue:after {\n            @include sprite-position($diaspora-blue);\n        }\n        &.light:after {\n            @include sprite-position($diaspora-light);\n        }\n    }\n\n    &.facebook {\n        &:after {\n            @include sprite-position($facebook);\n        }\n        &.blue:after {\n            @include sprite-position($facebook-blue);\n        }\n        &.light:after {\n            @include sprite-position($facebook-light);\n        }\n    }\n\n    &.foursquare {\n        &:after {\n            @include sprite-position($foursquare);\n        }\n        &.blue:after {\n            @include sprite-position($foursquare-blue);\n        }\n        &.light:after {\n            @include sprite-position($foursquare-light);\n        }\n    }\n\n    &.gear {\n        &:after {\n            @include sprite-position($gear);\n        }\n        &.blue:after {\n            @include sprite-position($gear-blue);\n        }\n        &.light:after {\n            @include sprite-position($gear-light);\n        }\n    }\n\n    &.github {\n        &:after {\n            @include sprite-position($github);\n        }\n        &.blue:after {\n            @include sprite-position($github-blue);\n        }\n        &.light:after {\n            @include sprite-position($github-light);\n        }\n    }\n\n    &.google-plus {\n        &:after {\n            @include sprite-position($google-plus);\n        }\n        &.blue:after {\n            @include sprite-position($google-plus-blue);\n        }\n        &.light:after {\n            @include sprite-position($google-plus-light);\n        }\n    }\n\n    &.help {\n        &:after {\n            @include sprite-position($help);\n        }\n        &.blue:after {\n            @include sprite-position($help-blue);\n        }\n        &.light:after {\n            @include sprite-position($help-light);\n        }\n    }\n\n    &.hide {\n        &:after {\n            @include sprite-position($hide);\n        }\n        &.blue:after {\n            @include sprite-position($hide-blue);\n        }\n        &.light:after {\n            @include sprite-position($hide-light);\n        }\n    }\n\n    &.history {\n        &:after {\n            @include sprite-position($history);\n        }\n        &.blue:after {\n            @include sprite-position($history-blue);\n        }\n        &.light:after {\n            @include sprite-position($history-light);\n        }\n    }\n\n    &.import {\n        &:after {\n            @include sprite-position($import);\n        }\n        &.blue:after {\n            @include sprite-position($import-blue);\n        }\n        &.light:after {\n            @include sprite-position($import-light);\n        }\n    }\n\n    &.lock {\n        &:after {\n            @include sprite-position($lock);\n        }\n        &.blue:after {\n            @include sprite-position($lock-blue);\n        }\n        &.light:after {\n            @include sprite-position($lock-light);\n        }\n    }\n\n    &.more {\n        &:after {\n            @include sprite-position($more);\n        }\n        &.blue:after {\n            @include sprite-position($more-blue);\n        }\n        &.light:after {\n            @include sprite-position($more-light);\n        }\n    }\n\n    &.move {\n        &:after {\n            @include sprite-position($move);\n        }\n        &.blue:after {\n            @include sprite-position($move-blue);\n        }\n        &.light:after {\n            @include sprite-position($move-light);\n        }\n    }\n\n    &.pin {\n        &:after {\n            @include sprite-position($pin);\n        }\n        &.blue:after {\n            @include sprite-position($pin-blue);\n        }\n        &.light:after {\n            @include sprite-position($pin-light);\n        }\n    }\n\n    &.rss {\n        &:after {\n            @include sprite-position($rss);\n        }\n        &.blue:after {\n            @include sprite-position($rss-blue);\n        }\n        &.orange:after {\n            @include sprite-position($rss-orange);\n        }\n        &.light:after {\n            @include sprite-position($rss-light);\n        }\n    }\n\n    &.star {\n        &:after {\n            @include sprite-position($star);\n        }\n        &.yellow:after {\n            @include sprite-position($star-yellow);\n        }\n        &.blue:after {\n            @include sprite-position($star-blue);\n        }\n        &.light:after {\n            @include sprite-position($star-light);\n        }\n    }\n\n    &.tick {\n        &:after {\n            @include sprite-position($tick);\n        }\n        &.green:after {\n            @include sprite-position($tick-green);\n        }\n        &.light:after {\n            @include sprite-position($tick-light);\n        }\n    }\n\n    &.twitter {\n        &:after {\n            @include sprite-position($twitter);\n        }\n        &.blue:after {\n            @include sprite-position($twitter-blue);\n        }\n        &.light:after {\n            @include sprite-position($twitter-light);\n        }\n    }\n\n    &.unread {\n        &:after {\n            @include sprite-position($unread);\n        }\n    }\n\n    &.upvote {\n        &:after {\n            @include sprite-position($thumb-up);\n        }\n        &.voted:after {\n            @include sprite-position($thumb-up-voted);\n        }\n    }\n\n    &.online,\n    &.view {\n        &:after {\n            @include sprite-position($view);\n        }\n        &.blue:after {\n            @include sprite-position($view-blue);\n        }\n        &.light:after {\n            @include sprite-position($view-light);\n        }\n    }\n}\n",".ir {\n    background-color: transparent;\n    border: 0;\n    overflow: hidden;\n    *text-indent: -9999px;\n}\n\n.ir:before {\n    content: \"\";\n    display: block;\n    width: 0;\n    height: 150%;\n}\n\n.hidden {\n    display: none !important;\n    visibility: hidden;\n}\n\n.visuallyhidden {\n    border: 0;\n    clip: rect(0 0 0 0);\n    height: 1px;\n    margin: -1px;\n    overflow: hidden;\n    padding: 0;\n    position: absolute;\n    width: 1px;\n}\n\n.visuallyhidden.focusable:active,\n.visuallyhidden.focusable:focus {\n    clip: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    position: static;\n    width: auto;\n}\n\n.invisible {\n    visibility: hidden;\n}\n\n.clearfix:before,\n.clearfix:after {\n    content: \" \";\n    display: table;\n}\n\n.clearfix:after {\n    clear: both;\n}\n\n.clearfix {\n    *zoom: 1;\n}\n\nhr.clearfix {\n    clear: both;\n    height: 0;\n    border: none;\n}\n\n.unstyled-list {\n  list-style: none;\n  padding-left: 0;\n}\n\n// Hidden on mobile\n.screen,\n.wide {\n    display: none;\n}\n\n@media only screen and #{$media-extra-wide} {\n    .wide {\n        display: inline;\n    }\n    table .wide {\n        display: table-cell;\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .screen {\n        display: inline;\n    }\n}\n",".header-container {\n    header {\n        background: $color-primary;\n        border-bottom: 3px solid $color-secondary;\n\n        a,\n        button {\n            text-decoration: none;\n            color: #FFF;\n            transition-property: background;\n            transition-duration: $transition-duration;\n\n            &:focus {\n                outline: none;\n            }\n        }\n\n        .header-menu {\n            height: 60px;\n\n            .header-menu-list {\n                margin: 0;\n                padding: 0;\n\n                & > li {\n                    display: block;\n                    float: left;\n                    width: 33.3%;\n\n                    & > a {\n                        display: block;\n                        position: relative;\n                        text-align: center;\n                        line-height: 60px;\n                        text-transform: uppercase;\n                        font-size: 1.5px;\n                        font-size: 1.5rem;\n                        text-shadow: rgba(0, 0, 0, 0.75) 0 0 3px;\n\n                        &:hover,\n                        &:focus,\n                        &.active {\n                            background: $color-header-hover;\n                        }\n\n                        &.current {\n                            &:before {\n                                content: \" \";\n                                display: block;\n                                position: absolute;\n                                bottom: 0;\n                                left: 0;\n                                right: 0;\n                                height: 2px;\n                                transition: all $transition-duration ease;\n                                border-radius: 2px 2px 0 0;\n                                background-color: $color-secondary;\n                            }\n                            &.active:before {\n                                height: 0;\n                            }\n                        }\n                    }\n                }\n            }\n        }\n    }\n}\n\n.header-logo {\n    text-align: center;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n}\n.header-logo-link {\n    display: block;\n    margin: 0 auto;\n    text-indent: -9999px;\n    width: 100%;\n    max-width: 240px;\n    height: 60px;\n    background: url('../images/logo.png') no-repeat center center;\n    background-size: 100% auto;\n\n    &:hover,\n    &:focus {\n        background-color: $color-header-hover;\n    }\n}\n\n\n.logbox {\n    background: rgba(255, 255, 255, .05);\n\n    .notifs-links {\n        margin-right: 60px;\n\n        .ico-link {\n            display: block;\n            position: relative;\n            width: 33.3%;\n            height: 60px;\n            line-height: 60px;\n            float: left;\n\n            .notif-count {\n                display: block;\n                position: absolute;\n                z-index: 1;\n                top: 50%;\n                right: 50%;\n                margin: -20px -22px 0 0;\n                padding: 0 5px;\n                height: 16px;\n                line-height: 14px;\n                background: #c0392b; //@TODO: Color\n                border-radius: 16px;\n            }\n            .notif-text {\n                display: block;\n                position: absolute;\n                text-indent: -9999px;\n                height: 22px;\n                width: 22px;\n                top: 50%;\n                left: 50%;\n                margin: -11px 0 0 -11px;\n\n                &.ico-messages {\n                    @include sprite-position($messages);\n                }\n                &.ico-notifs {\n                    @include sprite-position($notifications);\n                }\n                &.ico-alerts {\n                    @include sprite-position($alerts);\n                }\n                &.ico-params {\n                    @include sprite-position($params);\n                }\n            }\n\n            &:hover,\n            &:focus,\n            &.active {\n                background: $color-header-hover;\n            }\n        }\n    }\n\n    .dropdown {\n        overflow: hidden;\n\n        .dropdown-title {\n            display: block;\n            width: 100%;\n            height: 35px;\n            line-height: 37px;\n            text-align: center;\n            border-bottom: 1px solid #274a5a; // @TODO: Color\n            background-color: $color-header-hover;\n        }\n\n        &,\n        .dropdown-list {\n            margin: 0;\n            padding: 0;\n            list-style: none;\n            background-color: #19526c; // @TODO: Color\n\n            li {\n                display: block;\n                width: 100%;\n                height: 60px;\n\n                a {\n                    display: block;\n                    overflow: hidden;\n                    position: relative;\n                    height: 100%;\n                    width: 100%;\n\n                    &,\n                    &:hover,\n                    &:focus {\n                        opacity: 1;\n                        transition-property: opacity, background-color;\n                    }\n                    &:hover,\n                    &:focus {\n                        background-color: $color-header-hover;\n\n                        .username {\n                            text-shadow: rgba(0, 0, 0, .5) 0 0 5px;\n                        }\n\n                        .date {\n                            color: #95D7F5;\n                        }\n                    }\n                }\n\n                .avatar {\n                    float: left;\n                    height: 30px;\n                    width: 30px;\n                }\n                .username {\n                    display: block;\n                    float: left;\n                    margin: 4px 0 0 7px;\n                    color: #95D7F5; // @TODO: Color\n                    width: 50%;\n                    overflow: hidden;\n                    text-overflow: ellipsis;\n                    white-space: nowrap;\n                }\n                .date {\n                    color: #5196b6; // @TODO: Color\n                    float: right;\n                    padding: 4px 10px 0 0;\n                    transition-property: color;\n                }\n                .topic {\n                    display: block;\n                    position: absolute;\n                    bottom: 0;\n                    left: 0;\n                    overflow: hidden;\n                    height: 25px;\n                    padding: 4px 7px 2px;\n                    text-overflow: ellipsis;\n                    white-space: nowrap;\n                    width: 95%;\n                    width: calc(100% - 14px);\n                }\n\n                &:nth-child(2n+1) {\n                    &,\n                    form button {\n                        background-color: $color-primary;\n                    }\n                }\n            }\n        }\n    }\n\n    .my-account {\n        display: block;\n        height: 60px;\n        width: 60px;\n        float: right;\n\n        .username {\n            display: none;\n        }\n        .avatar {\n            background: $color-header-hover;\n        }\n    }\n\n    .dropdown.my-account-dropdown {\n        a,\n        button {\n            padding-left: 10px;\n        }\n\n        button {\n            width: 100%;\n            height: 30px;\n            line-height: 28px;\n            background: transparent;\n            text-align: left;\n            border: 0;\n\n            &:hover,\n            &:focus {\n                background: $color-header-hover;\n            }\n        }\n    }\n\n\n    &.unlogged {\n        a {\n            display: block;\n            width: 50%;\n            text-align: center;\n            float: left;\n            line-height: 60px;\n            height: 60px;\n\n            &:hover,\n            &:focus {\n                background-color: $color-header-hover;\n            }\n        }\n    }\n}\n\n.sub-header {\n    background: #EEE;\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .header-logo {\n        width: 40px;\n        height: 50px;\n        margin-left: 50px;\n        float: left;\n    }\n    .header-logo-link {\n        background-image: url('../images/logo-mobile.png') !important;\n        background-size: 100%;\n        width: 100%;\n        height: 100%;\n\n        &:after {\n            display: block;\n            content: attr(data-title);\n            position: absolute;\n            top: 0;\n            left: 95px;\n            right: 155px;\n            line-height: 50px;\n            text-indent: 0;\n            text-align: left;\n            font-weight: normal;\n            font-size: 17px;\n            font-size: 1.7rem;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n            overflow: hidden;\n            max-width: 200px;\n        }\n    }\n\n    .header-container header .header-menu {\n        height: 30px;\n\n        .header-menu-list {\n            padding-top: 50px;\n\n            & > li > a {\n                line-height: 50px;\n            }\n        }\n    }\n\n    .logbox {\n        float: right;\n        width: 150px;\n        background: none;\n\n        .notifs-links {\n            width: 100%;\n\n            .ico-link {\n                height: 50px;\n                width: 50px;\n            }\n        }\n\n        .dropdown {\n            top: 50px;\n        }\n        .dropdown.my-account-dropdown .dropdown-list {\n            bottom: 0;\n\n            li {\n                height: 45px;\n                line-height: 45px;\n            }\n        }\n\n        &.unlogged {\n            font-size: 13px;\n            font-size: 1.3rem;\n\n            a {\n                background-color: rgba(255, 255, 255, .1);\n                line-height: 30px;\n                height: 30px;\n                margin: 10px 0;\n                width: 74px;\n                margin-right: 1px;\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .header-container {\n        z-index: 1;\n        position: relative;\n        box-shadow: 0 0 4px rgba(0, 0, 0, .3);\n\n        header {\n            background-image: linear-gradient(to right,transparent 20%,rgba(255,255,255,.07) 40%,rgba(255,255,255,.07) 60%,transparent 80%);\n        }\n    }\n\n    .header-logo {\n        float: left;\n        text-align: left;\n        width: 240px;\n    }\n\n    .header-container header .header-menu {\n        float: left;\n        width: 40%;\n        margin-left: .5%;\n\n        .header-menu-list > li > a {\n            max-width: 150px;\n            font-size: 1.6rem;\n            font-size: 16px;\n        }\n    }\n\n    .dropdown {\n        top: 60px;\n    }\n    .has-dropdown {\n        position: relative;\n        text-indent: -7px;\n\n        &:after {\n            content: \" \";\n            display: block;\n            position: absolute;\n            top: 47%;\n            left: 83%;\n            height: 0;\n            width: 0;\n            border: 6px solid transparent;\n            border-top: 6px solid rgba(255, 255, 255, .7);\n            border-left: 6px inset transparent;\n        }\n        &:hover:after,\n        &:focus:after,\n        &.active:after {\n            border-top: 6px solid #FFF;\n        }\n    }\n\n    .logbox .dropdown.my-account-dropdown ul li {\n        height: 30px;\n        line-height: 30px;\n    }\n\n    .lt-ie9 .dropdown {\n        top: 90px;\n    }\n\n    .header-right {\n        float: right;\n        width: 230px;\n\n        .dropdown {\n            right: 2.5%;\n        }\n    }\n}\n\n@media only screen and #{$media-extra-wide} {\n    .header-container header .header-menu {\n        margin-left: 5%;\n    }\n}\n\n","$transition-duration: .15s;\n$modal-margin: 25px;\n\n@import \"colors\";\n@import \"typography\";\n@import \"media-queries\";",".dropdown {\n    display: none;\n    position: absolute;\n    text-align: left;\n    top: 50px;\n    left: 0;\n    right: 0;\n    background-color: $color-header-hover;\n    margin: 0;\n    padding: 10px 2.5%;\n    font-size: 14px;\n    font-size: 1.4rem;\n    border-bottom: 3px solid $color-secondary;\n    z-index: 50;\n\n    .dropdown-title {\n        color: #FFF;\n    }\n\n    &.header-menu-dropdown .dropdown-list > li {\n        @for $i from 1 through 4 {\n            &:first-child:nth-last-child(#{$i}),\n            &:first-child:nth-last-child(#{$i}) ~ li {\n                width: 100% / $i;\n            }\n        }\n    }\n\n    .dropdown-list {\n        width: 100%;\n        padding: 0;\n        margin-top: 15px;\n    }\n    .dropdown-list > li {\n        width: 20%;\n        float: left;\n\n        &.dropdown-empty-message {\n            color: rgba(255, 255, 255, .5);\n            text-align: center;\n            line-height: 60px;\n            background: none !important;\n        }\n\n        ul {\n            margin: 0 0 10px;\n            padding: 0;\n\n            li {\n                position: relative;\n\n                a {\n                    display: block;\n                    width: 95%;\n                    min-height: 25px;\n                    line-height: 25px;\n                    color: #95d7f5;\n                    overflow: hidden;\n                    transition: all $transition-duration ease;\n\n                    &:hover,\n                    &:focus {\n                        padding-left: 3%;\n                        background-color: rgba(0, 0, 0, .3)\n                    }\n                }\n            }\n        }\n    }\n\n    .dropdown-link-all {\n        display: block;\n        clear: both;\n        text-align: center;\n        height: 30px;\n        line-height: 30px;\n        border-top: 1px solid #274a5a;\n        background-color: $color-header-hover;\n        transition-property: color, background-color;\n\n        &:first-child {\n            border-top: 0 !important;\n            border-bottom: 1px solid #274a5a;\n        }\n\n        &:hover,\n        &:focus {\n            color: #95d7f5;\n            background-color: #274a5a;\n            border-top: 1px solid $color-header-hover;\n        }\n    }\n}\n.active + .dropdown {\n    display: block;\n}\n\n@media only screen and #{$media-tablet} {\n    .dropdown {\n        box-shadow: 0 5px 7px rgba(0, 0, 0, .3);\n    }\n\n    .header-right {\n        .dropdown {\n            width: 350px;\n            left: auto;\n            padding: 0;\n\n            .dropdown-list {\n                max-height: 270px;\n                overflow-x: hidden;\n                overflow-y: auto;\n\n                &::-webkit-scrollbar {\n                    width: 10px;\n                    height: 10px;\n                }\n                &::-webkit-scrollbar-track {\n                    background-color: #06354a;\n                }\n                &::-webkit-scrollbar-thumb {\n                    background-color: #396a81;\n                    border: 1px solid #06354a;\n                    transition: all $transition-duration ease;\n\n                    &:hover {\n                        background-color: #5196b6;\n                    }\n                    &:active {\n                        background-color: #71b4d3;\n                    }\n                }\n            }\n\n            &.my-account-dropdown {\n                width: 230px;\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    html.dropdown-active {\n        overflow: hidden;\n\n        .page-container {\n            width: 100%;\n        }\n\n        .main-container {\n            display: none;\n        }\n    }\n\n    .header-menu-dropdown {\n        display: none !important;\n    }\n\n    .dropdown {\n        width: 100%;\n        top: 180px;\n        bottom: 0;\n        border-bottom: none;\n\n        .dropdown-list {\n            overflow: auto;\n            position: absolute;\n            top: 36px;\n            bottom: 50px;\n        }\n        .dropdown-link-all {\n            position: absolute;\n            left: 0;\n            right: 0;\n            bottom: 0;\n            height: 50px;\n            line-height: 50px;\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .dropdown {\n        top: 60px;\n    }\n}",".search-form {\n    margin-bottom: 30px;\n}\n\n.search {\n    display: block;\n    position: relative;\n\n    form {\n        input,\n        button {\n            float: left;\n            border: none;\n            background: rgba(255, 255, 255, .25);\n            height: 40px;\n            transition-property: background;\n            transition-duration: $transition-duration;\n\n            &:hover,\n            &:focus {\n                background-color: #FFF;\n            }\n            &:focus {\n                outline-color: $color-secondary;\n            }\n        }\n        input {\n            height: 30px;\n            padding: 5px 3%;\n            width: 70%;\n        }\n        button {\n            width: 12%;\n            text-indent: -9999px;\n\n            &.disabled {\n                opacity: .5;\n                background: transparent;\n                cursor: default;\n            }\n\n            &:after {\n                display: block;\n                content: \" \";\n                position: absolute;\n                top: 12px;\n                left: 50%;\n                margin-left: -8px;\n                height: 17px;\n                width: 17px;\n                @include sprite-position($search);\n            }\n        }\n    }\n    .search-more {\n        display: block;\n        float: left;\n        height: 40px;\n        font-family: Arial, sans-serif;\n        line-height: 40px;\n        width: 12%;\n        text-align: center;\n        font-weight: bold;\n        text-decoration: none;\n        font-size: 24px;\n        background: #FFF;\n        color: $color-primary;\n        transition: background $transition-duration ease;\n\n        &:hover,\n        &:focus {\n            background: $color-secondary;\n            color: #FFF;\n            outline: none;\n        }\n        &:before {\n            content: \"+\";\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .search {\n        &:before {\n            content: \" \";\n            display: block;\n            position: absolute;\n            left: -20px;\n            height: 30px;\n            width: 20px;\n            background: linear-gradient(to left, rgba(0, 0, 0, .03), rgba(0, 0, 0, 0));\n        }\n        form {\n            input {\n                padding: 6px 10px;\n                height: 18px;\n                width: 150px;\n            }\n            button {\n                height: 30px;\n                line-height: 30px;\n                width: 30px;\n\n                &:after {\n                    top: 7px;\n                }\n            }\n        }\n        .search-more {\n            width: 30px;\n            height: 30px;\n            line-height: 30px;\n        }\n    }\n}\n","#accessibility {\n    list-style: none;\n    margin: 0;\n    padding: 0 2.5%;\n    background: #062E41;\n    overflow: hidden;\n    height: 0;\n\n    &.focused {\n        height: auto;\n    }\n\n    li {\n        display: inline;\n        margin: 0;\n        padding: 0;\n\n        a {\n            display: inline-block;\n            padding: 0 7px;\n            color: #EEE;\n\n            &:hover,\n            &:focus {\n                color: $color-primary;\n                background-color: #fff;\n                text-decoration: none;\n            }\n        }\n    }\n}","#cookies-eu-banner {\n    padding: 0 3%;\n    background: #062E41;\n    display: none;\n\n    div,\n    #cookies-eu-reject {\n        display: inline-block;\n        margin: 0;\n        padding: 7px 0;\n        color: #EEE;\n        line-height: 23px;\n    }\n    #cookies-eu-reject {\n        background: none;\n        border: none;\n        text-decoration: underline;\n\n        &:hover,\n        &:focus {\n            text-decoration: none;\n        }\n    }\n\n    #cookies-eu-more,\n    #cookies-eu-accept {\n        display: inline-block;\n        margin-top: 3px;\n        padding: 4px 15px;\n        text-decoration: none;\n        transition: background $transition-duration, color $transition-duration;\n    }\n    #cookies-eu-more {\n        margin-left: 15px;\n        color: #EEE;\n        background: $color-primary;\n\n        &:hover,\n        &:focus {\n            color: $color-primary;\n            background: #EEE;\n        }\n    }\n    #cookies-eu-accept {\n        border: none;\n        color: $color-primary;\n        background: #EEE;\n\n        &:hover,\n        &:focus {\n            color: #EEE;\n            background: $color-primary;\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    #cookies-eu-banner {\n        position: absolute;\n        top: 50px;\n        right: 0;\n        bottom: 0;\n        left: 0;\n        z-index: 10;\n\n        div {\n            margin-top: 40px;\n            padding: 0 5px;\n        }\n\n        #cookies-eu-more,\n        #cookies-eu-accept {\n            display: block;\n            width: 100%;\n            height: 40px;\n            padding: 0 !important;\n            margin: 15px 0 0 0 !important;\n            text-align: center;\n        }\n        #cookies-eu-more {\n            margin-top: 40px !important;\n            line-height: 40px;\n        }\n    }\n}\n",".main .sidebar {\n    padding: 0 0 10px;\n    background: $color-sidebar-background;\n    border-bottom: 1px solid #FFF;\n    color: #424242;\n    width: 105%;\n    margin: 0 0 0 -2.7%;\n\n    .new-btn {\n        display: block;\n        height: 40px;\n        padding-left: 11.5%;\n        text-decoration: none;\n        text-indent: 25px;\n        line-height: 40px;\n        font-size: 16px;\n        font-size: 1.6rem;\n        position: relative;\n        color: lighten($color-primary, 20%);\n        transition: all $transition-duration ease;\n\n        &:first-child {\n            margin-top: 31px;\n        }\n\n        &:hover,\n        &:focus {\n            background: $color-sidebar-hover;\n        }\n\n        &:after {\n            top: 12px;\n            left: 11.5%;\n        }\n    }\n\n    h3,\n    h4 {\n        font-weight: normal;\n        margin: 0;\n        padding: 0;\n    }\n    h3 {\n        font-size: 18px;\n        font-size: 1.8rem;\n        line-height: 38px;\n        line-height: 3.8rem;\n        color: $color-primary;\n        border-bottom: 1px solid $color-secondary;\n        margin-top: 30px;\n    }\n    h4 {\n        padding-top: 20px;\n        font-size: 17px;\n        font-size: 1.7rem;\n\n        a {\n            text-decoration: none;\n            color: #424242;\n        }\n    }\n    &.accordeon h4 {\n        cursor: pointer;\n    }\n    h4[data-num] {\n        position: relative;\n        padding-left: calc(5% + 25px);\n\n        &:before {\n            content: attr(data-num);\n            position: absolute;\n            left: 5%;\n            text-align: right;\n            width: 50px;\n            margin-left: -35px;\n        }\n    }\n\n    h3 + ul,\n    h3 + ol {\n        margin: 7px 0;\n    }\n\n    ul,\n    ol {\n        margin: 0;\n        padding: 0;\n        list-style: none;\n        width: 100%;\n\n        li {\n            position: relative;\n            padding: 0 0 0 2.5%;\n            transition: background $transition-duration ease;\n\n            &:not(.inactive):hover,\n            a:focus,\n            button:focus {\n                background: $color-sidebar-hover;\n                outline: none;\n\n                .ico-after.action-hover {\n                    display: block;\n                }\n            }\n\n            a,\n            button,\n            &.inactive > span,\n            &.inactive > em {\n                display: block;\n                padding-left: 25px;\n                padding-right: 10px;\n                text-decoration: none;\n                color: #0079b2;\n                overflow: hidden;\n                height: 30px;\n                line-height: 30px;\n                font-size: 14px;\n                font-size: 1.4rem;\n                text-overflow: ellipsis;\n                white-space: nowrap;\n                border: 0;\n                text-align: left;\n                background: rgba(0, 0, 0, 0);\n\n                &[data-num] {\n                    position: relative;\n\n                    &:after {\n                        content: attr(data-num) \".\";\n                        position: absolute;\n                        left: 0;\n                        width: 18px;\n                        text-align: right;\n                        color: #424242;\n                    }\n                }\n\n                /**\n                 * Sidebar link variations / icons\n                 */\n                &.selected {\n                    font-weight: bold;\n                }\n\n                img {\n                    border-right: 7px solid transparent;\n                }\n\n                img,\n                span:not(.wide) {\n                    vertical-align: middle;\n                }\n\n                .icon {\n                    border-right: 7px solid transparent;\n                    display: inline-block;\n                    width: 16px;\n                    height: 16px;\n                    margin: 7px 5px;\n                    line-height:30px;\n                }\n\n                &.ico-after {\n                    &:after {\n                        top: 7px;\n                        left: 0;\n                        opacity: .7;\n                    }\n                    &.disabled:after {\n                        opacity: .4 !important;\n                    }\n                    &:hover,\n                    &:focus {\n                        &:after {\n                            opacity: 1;\n                        }\n                    }\n\n                    &.action-hover {\n                        position: absolute;\n                        display: none;\n                        overflow: visible;\n                        top: 0;\n                        left: 10%;\n                        padding: 0;\n                        z-index: 1;\n                        width: 30px;\n                        height: 30px;\n                        text-indent: -9999px;\n\n                        background: $color-sidebar-hover;\n                        right: -30px;\n\n                        &[data-title]:hover:before {\n                            content: attr(data-title);\n                            display: block;\n                            position: absolute;\n                            background: $color-sidebar-hover;\n                            color: #555;\n                            top: -27px;\n                            left: 0;\n                            height: 27px;\n                            line-height: 27px;\n                            line-height: 2.7rem;\n                            text-indent: 0;\n                            padding: 0 15px;\n                            border: 1px solid #EEE;\n                            box-shadow: rgba(0, 0, 0, .15) 0 0 7px;\n                        }\n\n                        &:after {\n                            left: 7px;\n                        }\n                    }\n                }\n            }\n\n            &.inactive > span,\n            &.inactive > em {\n                color: #555;\n            }\n\n            .count {\n                display: block;\n                position: absolute;\n                top: 6px;\n                right: 20px;\n                padding: 1px 10px;\n                height: 16px;\n                line-height: 16px;\n                font-style: normal;\n                background: #AAA;\n                color: #FFF;\n            }\n\n            .last-answer {\n                display: block;\n                visibility: hidden;\n                position: absolute;\n                top: -13px;\n                left: 102%;\n                width: 250px;\n                height: 40px;\n                background: #FFF;\n                padding: 7px 10px;\n                border: 1px solid #F0F0F0;\n                box-shadow: rgba(0, 0, 0, .1) 2px 2px 2px;\n                opacity: 0;\n                transition: visibility 0s linear $transition-duration, opacity $transition-duration, left $transition-duration;\n\n                .avatar {\n                    height: 40px;\n                    width: 40px;\n                    float: left;\n                    border: 1px solid #F0F0F0;\n                }\n\n                .topic-last-answer {\n                    display: block;\n                    margin-left: 50px;\n                    line-height: 18px;\n                    padding: 3px 0;\n                    color: #555;\n                }\n                .topic-no-last-answer {\n                    display: block;\n                    line-height: 40px;\n                    width: 100%;\n                    text-align: center;\n                    color: #999;\n                }\n            }\n\n            a {\n                &:hover,\n                &:focus {\n                    & + .last-answer {\n                        visibility: visible;\n                        left: 100%;\n                        opacity: 1;\n                        transition: visibility 0s linear 0, opacity $transition-duration, left $transition-duration;\n                    }\n                }\n\n                &.unread {\n                    font-weight: bold;\n                }\n            }\n\n            button {\n                width: 100%;\n                line-height: 28px;\n            }\n\n\n            li {\n                padding: 0;\n\n                a {\n                    position: relative;\n                    color: $color-primary;\n                    transition: all $transition-duration ease;\n\n                    &:hover,\n                    &:focus {\n                        color: #0079B2;\n                        background: $color-sidebar-hover;\n                        margin-left: -11px;\n\n                        &:before {\n                            content: \"> \";\n                        }\n                    }\n                }\n            }\n        }\n    }\n\n    &.summary {\n        h4 {\n            border-bottom: 1px solid #d8dada;\n            padding-bottom: 5px;\n            padding-right: 15px;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n\n            & + ul,\n            & + ol {\n                & > li:first-child {\n                    margin-top: 5px;\n                }\n            }\n        }\n\n        ol li.current {\n            margin-top: 0 !important;\n            padding-top: 5px;\n            margin-bottom: 5px;\n            background-color: #FFF;\n\n            & + a {\n                font-weight: bold;\n            }\n\n            ol {\n                margin-top: 5px;\n                padding-top: 5px;\n                padding-bottom: 5px;\n                margin-left: -42px;\n                width: calc(105% + 25px);\n                background: linear-gradient(to bottom, rgba(0, 0, 0, .07), #F7F7F7 3px);\n\n                a {\n                    padding-left: 50px;\n                }\n            }\n        }\n    }\n}\n",".main .content-container {\n    padding-top: 30px;\n\n    h1,\n    h2 {\n        font-size: 22px;\n        font-size: 2.2rem;\n        line-height: 38px;\n        line-height: 3.8rem;\n        color: $color-primary;\n        font-weight: normal;\n        border-bottom: 1px solid $color-secondary;\n        margin: 1px 0 15px;\n\n        &.illu {\n            padding-left: 60px;\n\n            img {\n                background: #FFF;\n            }\n        }\n\n        &.ico-after {\n            padding-left: 80px;\n\n            &:after {\n                width: 80px;\n                height: 40px;\n                margin-left: 21px;\n            }\n        }\n        &.ico-articles:after {\n            @include sprite-position($articles);\n        }\n        &.ico-tutorials:after {\n            @include sprite-position($tutorials);\n        }\n        &.ico-news:after {\n            @include sprite-position($star-heading-white);\n        }\n        &.ico-forum:after {\n            @include sprite-position($forum-heading);\n        }\n        &.ico-tags:after {\n            @include sprite-position($tags);\n        }\n\n        &.illu img {\n            position: absolute;\n            margin: -6px 0 0 -60px;\n            border: 1px solid #cdd0d1;\n            width: 50px;\n            height: 50px;\n        }\n    }\n\n    .license {\n        float: right;\n        margin: 0;\n        margin-top: 10px;\n    }\n\n    .subtitle {\n        font-size: 18px;\n        font-size: 1.8rem;\n        line-height: 23px;\n        color: #999;\n        margin-top: -15px;\n        margin-bottom: 15px;\n        padding: 10px 0;\n        font-weight: normal;\n        border-bottom: 1px solid #EEE;\n    }\n\n    .pubdate {\n        display: block;\n        color: #999;\n        margin-bottom: 15px;\n    }\n\n    .member-item {\n        .avatar {\n            margin-top: -2px;\n            height: 20px;\n            width: 20px;\n            border: 1px solid #CCC;\n        }\n\n        .avatar + span {\n            padding-left: 3px;\n        }\n\n        &:hover .avatar {\n            border-color: #999;\n        }\n    }\n    .member-item + .member-item {\n        margin-left: 7px;\n    }\n    .authors .member-item {\n        margin-right: 0;\n        margin-left: 7px;\n\n        .avatar {\n            height: 30px;\n            width: 30px;\n            margin: -3px 5px 0 -6px;\n        }\n    }\n\n    .open-zen-mode {\n        display: none;\n    }\n\n    .new-btn-container {\n        display: none;\n    }\n}\n\n.home .main .content-container {\n    margin-top: 0;\n}\n\n.pagination-bottom-clear{\n    clear: both;\n}\n\n@media only screen and #{$media-mega-wide} {\n    .main .content-container {\n        .content-wrapper {\n            max-width: 960px;\n            margin: 0 auto !important;\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    body.no-sidebar .main {\n        .content-container {\n            width: 100%;\n        }\n        .sidebar {\n            display: none;\n        }\n    }\n\n    .main {\n        @include display(flex);\n        @include flex-direction(row-reverse);\n        height: 100%;\n        margin-left: 0;\n        padding-left: 2.5%;\n\n        .content-container {\n            width: 80%;\n            margin-right: 0;\n\n            .taglist + .pubdate {\n                margin-top: -40px;\n            }\n\n            .open-zen-mode {\n                display: block;\n            }\n            &.zen-mode {\n                width: 100%;\n                min-height: calc(100% - 200px);\n                position: absolute;\n                top: 0;\n                left: 0;\n                right: 0;\n                z-index: 20;\n                background: #FCFCFC;\n                padding: 100px 0;\n                margin-bottom: 0;\n\n                .comments-title,\n                .pagination:not(.pagination-chapter),\n                .topic-message,\n                .alert-box {\n                    display: none;\n                }\n\n                .content-wrapper {\n                    margin: 0 4%;\n                }\n            }\n\n            h1,\n            h2 {\n                margin-left: 1px;\n            }\n\n            .content-col-2 {\n                width: 49.5%;\n                margin: 0 0 0 1%;\n            }\n            .content-col-3 {\n                width: 32%;\n                margin: 0 0 0 2%;\n            }\n            .content-col-2,\n            .content-col-3 {\n                float: left;\n\n                &:first-child {\n                    margin: 0;\n                }\n            }\n\n            .article-content > .summary-part > li {\n                float: left;\n                width: 50%;\n\n                &:nth-child(2n+1) {\n                    clear: both;\n                }\n            }\n        }\n\n        .sidebar {\n            width: 22.5%;\n            border-bottom: none;\n\n            h3,\n            h4,\n            ul li,\n            ol li {\n                padding-left: 11.5%;\n            }\n\n            h3:first-child {\n                margin-top: 31px;\n            }\n\n            h4[data-num] {\n                padding-left: calc(11% + 25px);\n\n                &:before {\n                    left: 11%;\n                }\n            }\n\n            &.sommaire ul li.current {\n                ul,\n                ol {\n                    margin-left: calc(-11% - 10px);\n                    width: calc(111% + 10px);\n                    background: linear-gradient(to bottom, rgba(0, 0, 0, .07), transparent 3px);\n\n                    a {\n                        padding-left: calc(11% + 30px);\n                    }\n                }\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .content-cols .main {\n        .content-container {\n            width: 79%;\n            margin-left: 1.5%;\n        }\n    }\n\n    .full-content-wrapper .tutorial-list article {\n        width: 46%;\n        float: left;\n        &.extend {\n            width: 100%;\n        }\n    }\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .main .content-container .new-btn-container {\n        display: block;\n        margin: 30px 0;\n        border-top: 1px solid #DDD;\n        overflow: hidden;\n\n        .new-btn {\n            display: block;\n            width: 100%;\n            padding: 7px 10px 7px 35px;\n            text-decoration: none;\n            height: 30px;\n            line-height: 30px;\n            background: #EEE;\n            color: #333;\n            border-bottom: 1px solid #DDD;\n\n            &.ico-after:after {\n                top: 13px;\n                left: 10px;\n            }\n        }\n    }\n\n    .main .content-container {\n        h1, h2 {\n            &.ico-news:after {\n                @include sprite-position($star-heading);\n            }\n        }\n    }\n\n    .main {\n        width: 100%;\n    }\n\n    .main .content-container .content-col:not(:first-child),\n    .main .sidebar {\n        margin-top: 50px;\n    }\n\n    .main .sidebar {\n        width: 102.5%;\n    }\n    .main .sidebar h3,\n    .main .sidebar h4,\n    .main .sidebar ul li {\n        padding-left: 5.5%;\n\n        a {\n            white-space: normal;\n        }\n    }\n\n    .content-col-2:not(:first-child),\n    .content-col-3:not(:first-child) {\n        margin-top: 50px;\n    }\n}\n","// mixin-display-flex.scss\n\n// support:\n// W3C: Opera (desktop and mini), Firefox (v20+), Chrome Desktop (with -webkit)\n// Previous version: IE10+ (with -ms)\n// Oldest version: Safari Desktop and iOS, Chrome in iOS\n\n// resources:\n// http://css-infos.net/properties/webkit\n// http://msdn.microsoft.com/en-us/library/ie/hh673531(v=vs.85).aspx\n// http://dev.opera.com/articles/view/flexbox-basics/\n// https://developer.mozilla.org/en-US/docs/CSS/Tutorials/Using_CSS_flexible_boxes\n// http://demo.agektmr.com/flexbox/\n// http://the-echoplex.net/flexyboxes/\n\n@mixin display($prop) {\n  @if $prop == flex {\n    display: -webkit-box;\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: -moz-box;\n    display: flex;\n  } @else {\n    display: $prop;\n  }\n}\n\n@mixin flex-direction($prop) {\n  @if $prop == row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: normal;\n    -moz-box-orient: horizontal;\n    -moz-box-direction: normal;\n  }\n  @if $prop == column {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -moz-box-orient: vertical;\n    -moz-box-direction: normal;\n  }\n  @if $prop == row-reverse {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -moz-box-orient: horizontal;\n    -moz-box-direction: reverse;\n  }\n  @if $prop == column-reverse {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -moz-box-orient: vertical;\n    -moz-box-direction: reverse;\n  }\n  -ms-flex-direction: $prop;\n  -webkit-flex-direction: $prop;\n  flex-direction: $prop;\n}\n\n@mixin align-items($prop) {\n  $oldprop: $prop;\n  @if $prop == flex-start { $oldprop: start; }\n  @if $prop == flex-end   { $oldprop: end; }\n  -webkit-box-align: $oldprop;\n  -moz-box-align: $oldprop;\n  -ms-flex-align: $oldprop;\n  -webkit-align-items: $prop;\n  align-items: $prop;\n}\n\n@mixin justify-content($prop) {\n  $oldprop: $prop;\n  @if $prop == flex-start    { $oldprop: start; }\n  @if $prop == flex-end      { $oldprop: end; }\n  @if $prop == space-between { $oldprop: justify; }\n  -webkit-box-pack: $oldprop;\n  -moz-box-pack: $oldprop;\n  -ms-flex-pack: $oldprop;\n  -webkit-justify-content: $prop;\n  justify-content: $prop;\n}\n\n@mixin flex($prop) {\n  -webkit-box-flex: $prop;\n  -moz-box-flex: $prop;\n  -ms-flex: $prop;\n  -webkit-flex: $prop;\n  flex: $prop;\n}\n\n@mixin order($prop) {\n  -webkit-box-ordinal-group: $prop + 1;\n  -moz-box-ordinal-group: $prop + 1;\n  -ms-flex-order: $prop;\n  -webkit-order: $prop;\n  order: $prop;\n}",".footer-container footer {\n    color: #424242;\n    padding: 20px 0;\n}\n.page-footer {\n    background: $color-primary;\n    height: 40px;\n    line-height: 40px;\n    border-top: 3px solid $color-secondary;\n    font-size: 14px;\n    font-size: 1.4rem;\n\n    .wrapper {\n        display: flex;\n    }\n\n    .copyright {\n        color: #EEE;\n        margin: 0;\n    }\n\n    ul {\n        list-style: none;\n        margin: 0;\n        padding: 0;\n\n        &.links li {\n            display: inline-block;\n            margin-left: 25px;\n\n            a {\n                text-decoration: none;\n                color: #EEE;\n                border-bottom: 1px solid transparent;\n\n                &:hover,\n                &:focus {\n                    border-bottom-color: $color-secondary;\n                }\n            }\n        }\n\n        &.social {\n            flex: 1;\n            text-align: center;\n\n            li {\n                margin: -2px 10px;\n                display: inline-block;\n\n                a {\n                    display: block;\n                    height: 16px;\n                    width: 16px;\n\n                    &:after {\n                        opacity: 0.6;\n                    }\n\n                    &:hover {\n                        border-bottom-color: transparent;\n\n                        &:after {\n                            opacity: 1;\n                        }\n                    }\n                }\n            }\n        }\n    }\n\n    .version {\n        &,\n        a {\n            color: rgba(255, 255, 255, .5);\n        }\n\n        a:hover,\n        a:focus {\n            color: #FFF;\n        }\n    }\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .page-footer {\n        text-align: center;\n        height: auto;\n\n        .wrapper {\n            flex-direction: column;\n\n            .social {\n                -ms-flex: none; // fix IE ≥ 10\n            }\n        }\n\n        .copyright, .social {\n            border-bottom: 2px solid lighten($color-primary, 4%);\n        }\n\n        ul {\n            li {\n                margin: 0 5px;\n            }\n        }\n    }\n}\n",".alert-box {\n    position: relative;\n    padding: 8px 30px 8px 15px;\n    margin: 0 0 15px 2%;\n    color: #FFF;\n    text-shadow: rgba(0, 0, 0, 0.2) 0 0 2px;\n    background: #777;\n\n    &.alert-box-not-closable {\n        padding-right: 15px;\n    }\n\n    .alert-box-text {\n        display: block;\n        float: left;\n    }\n\n    .close-alert-box {\n        display: block;\n        position: absolute;\n        top: 8px;\n        right: 15px;\n        height: 20px;\n        width: 20px;\n        text-indent: -9999px;\n        text-decoration: none;\n        background-color: transparent;\n        line-height: 22px;\n        color: #FFF;\n\n        &.ico-after:after {\n            margin-top: 4px;\n        }\n    }\n    .close-alert-box-text {\n        width: auto;\n        text-indent: 0;\n        top: 8px;\n    }\n\n    .alert-box-title {\n        margin: 5px 0;\n        padding: 0;\n        font-size: 18px;\n        font-weight: normal;\n    }\n\n    &.info, // TEMP PATCH WITH DJANGO ALERTS\n    &.success {\n        background: #48A200;\n    }\n    &.error {\n        background: #C0392B;\n    }\n    &.alert, // TEMP PATCH WITH DJANGO ALERTS\n    &.warning {\n        background: #e67e22;\n    }\n    &.not-member {\n        background: #FDFDFD;\n        color: #333;\n        text-shadow: none;\n        border-bottom: 3px solid  #D2D5D6;\n    }\n\n    &.ico-after {\n        padding-left: 40px;\n\n        &:after {\n            margin: 12px 0 0 13px;\n        }\n    }\n\n    h4,\n    p {\n        margin-left: 0 !important;\n        margin-right: 0 !important;\n    }\n    p {\n        margin: 0;\n    }\n\n    a {\n        color: #EEE;\n    }\n    .alert-box-btn {\n        display: inline-block;\n        background: $color-primary;\n        text-decoration: none;\n        padding: 8px 15px;\n        margin: 5px 0;\n        color: #FFF !important;\n\n        &:hover,\n        &:focus {\n            background: lighten($color-primary, 7%);\n        }\n\n        &.alert-box-btn-right {\n            position: absolute;\n            top: 0;\n            right: 0;\n            margin: 0;\n        }\n    }\n\n    &.empty {\n        display: none;\n    }\n}\n\n.content-wrapper .alert-box {\n    margin: 0 0 20px;\n\n    & + .not-member {\n        margin-top: -20px;\n    }\n}\n\n@media only screen and #{$media-tablet} {\n    .alert-box .alert-box-text {\n        display: inline;\n    }\n    .topic-message .alert-box {\n        padding: 8px 75px 8px 15px;\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .alert-box {\n        .alert-box-btn {\n            &,\n            &.alert-box-btn-right {\n                position: relative;\n                float: none;\n                display: block;\n                margin: 5px 0 0;\n                text-align: center;\n            }\n        }\n    }\n}",".authors {\n    color: #9c9c9c;\n    padding-bottom: 10px;\n    border-bottom: 1px solid #e0e4e5;\n    margin-bottom: 20px !important;\n\n    .authors-label {\n        display: inline-block;\n    }\n\n    ul {\n        display: inline-block;\n        list-style: none;\n        padding: 0;\n        margin: 0;\n\n        li {\n            display: inline-block;\n            margin: 0;\n\n            .avatar {\n                height: 28px;\n                width: 28px;\n                border: 1px solid #cdd0d1;\n                margin-right: 3px;\n                margin-top: -4px;\n            }\n\n            a {\n                display: block;\n                text-decoration: none;\n                color: lighten($color-primary, 20%);\n                height: 36px;\n                line-height: 36px;\n                padding: 0 8px;\n                transition: all $transition-duration ease;\n\n                &.ico-after {\n                    padding-left: 30px;\n\n                    &:after {\n                        margin: 10px 0 0 8px;\n                    }\n                }\n\n                &:hover,\n                &:focus {\n                    background: #DDD;\n                    color: $color-primary;\n                }\n            }\n\n            .info {\n                padding-left: 5px;\n                color: #777;\n            }\n        }\n    }\n}",".autocomplete-wrapper {\n    position: relative;\n\n    .autocomplete-dropdown {\n        position: absolute;\n        z-index: 60;\n\n        ul {\n            padding: 0;\n            margin: 0;\n            background-color: #FFF;\n            border-right: solid 1px #CCC;\n            border-left: solid 1px #CCC;\n\n            border-bottom-right-radius: 4px;\n            border-bottom-left-radius: 4px;\n\n            li {\n                padding: 4px 10px;\n                border-bottom: solid 1px #CCC;\n                list-style: none;\n\n                &.active, &:hover {\n                    background-color: lighten($color-primary, 10%);\n                    color: white;\n                }\n            }\n        }\n    }\n}\n\n.modal .autocomplete-dropdown {\n    margin-top: -15px;\n}\n",".breadcrumb {\n    display: none;\n}\n\n@media only screen and #{$media-wide} {\n    .breadcrumb {\n        position: relative;\n        display: block;\n        float: left;\n        width: calc(100% - 230px);\n        height: 30px;\n\n        &:after {\n            content: \" \";\n            display: block;\n            position: absolute;\n            top: 0;\n            right: 0;\n            width: 50px;\n            height: 100%;\n            background-image:linear-gradient(to right, rgba(231, 235, 236, 0), rgba(231, 235, 236, .75));\n        }\n\n        ol {\n            margin: 0;\n            padding: 0;\n            list-style: none;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n\n            li {\n                position: relative;\n                display: inline-block;\n                padding-right: 30px;\n                line-height: 30px;\n\n                a {\n                    text-decoration: none;\n                    color: #084561;\n\n                    &:hover,\n                    &:focus {\n                        text-decoration: underline;\n                        outline: none;\n                    }\n                }\n\n                &:not(:last-child):after {\n                    display: block;\n                    position: absolute;\n                    top: 0;\n                    right: 7px;\n                    content: \" \";\n                    height: 30px;\n                    width: 15px;\n                    @include sprite();\n                    background-repeat: no-repeat;\n                    @include sprite-position($ariane);\n                    opacity: .2;\n                }\n            }\n        }\n    }\n}","$content-border-color: #DEDEDE;\n$content-illu-size: 96px;\n$content-reaction-offset: -14px; // -30px to not offset the meta\n\n.content-item {\n    background: #FFF;\n    min-height: 60px;\n    display: flex;\n\n    border: solid 1px $content-border-color;\n    border-bottom-width: 2px;\n    margin: 0 10px 15px;\n\n    overflow: hidden; // Temporary, until the items are completely styled\n\n    flex: 1 1 400px;\n    width: 100%;\n\n    &.expand-description {\n        .content-description {\n            height: 36px; // 2 lines\n            white-space: normal;\n            font-size: 14px;\n            font-size: 1.4rem;\n            line-height: 18px;\n        }\n\n        .content-meta {\n            line-height: 16px;\n            overflow: hidden;\n            white-space: nowrap;\n            text-overflow: ellipsis;\n\n            &:not(.inline) > * {\n                display: inline;\n            }\n        }\n    }\n\n    a {\n        text-decoration: none;\n    }\n\n    & > a:not(.btn) {\n        display: flex;\n        width: 100%;\n    }\n\n    .content-illu {\n        flex: 0 0 $content-illu-size;\n        height: $content-illu-size;\n        background-color: $content-border-color;\n\n        img {\n            width: 100%;\n            height: 100%;\n            background-color: #FFF;\n        }\n    }\n\n    .content-info {\n        padding: 10px 14px;\n        height: 76px;\n        flex: 1;\n        position: relative;\n        min-width: 100px;\n    }\n\n    .content-reactions {\n        position: absolute;\n        z-index: 0;\n        bottom: 6px;\n        left: $content-reaction-offset;\n        height: 32px;\n        width: 32px;\n        padding-left: 1px;\n\n        @include sprite();\n        @include sprite-position($chat-bubble);\n\n        color: $color-secondary;\n        text-align: center;\n        line-height: 32px;\n        font-weight: bold;\n        font-size: 14px;\n        font-size: 1.4rem;\n\n        span {\n            position: relative;\n            z-index: 2;\n        }\n\n        &::before {\n            content: \"\";\n            display: block;\n            position: absolute;\n            top: 0;\n            bottom: 0;\n            right: 0;\n            left: 0;\n            z-index: 1;\n\n            @include sprite();\n            @include sprite-position($chat-bubble-orange);\n\n            opacity: 0;\n            transition: opacity $transition-duration;\n        }\n\n        &:focus, &:hover {\n            color: white;\n            &::before {\n                opacity: 1;\n            }\n        }\n    }\n\n    &.has-reactions .content-meta {\n        padding-left: 32px - 14px + $content-reaction-offset + 10px; // bubble width - container padding + bubble offset + spacing\n    }\n\n    .content-title {\n        margin: 0;\n\n        font-size: 17px;\n        font-size: 1.7rem;\n        font-weight: normal;\n        line-height: 20px;\n\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        color: #424242;\n    }\n\n    a:hover, a:focus {\n        outline: none;\n        .content-title {\n            text-decoration: underline;\n            outline: none;\n        }\n    }\n\n    p {\n        margin: 0;\n    }\n\n    .content-description {\n        margin: 0;\n        font-size: 15px;\n        font-size: 1.5rem;\n        line-height: 26px;\n        height: 26px;\n        color: #999;\n        margin-bottom: 2px;\n\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n\n        .short {\n            display: none;\n        }\n    }\n\n    .content-meta {\n        color: $color-secondary;\n        font-size: 13px;\n        font-size: 1.3rem;\n        line-height: 15px;\n\n        &:not(.inline) > * {\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            display: block;\n        }\n\n        .short {\n            display: none;\n        }\n\n        & a {\n            color: darken($color-secondary, 10%);\n\n            &:hover, &:focus {\n                text-decoration: underline;\n            }\n        }\n    }\n\n    .content-tags {\n        margin: 0;\n        padding: 10px 0 0;\n        display: flex;\n        flex-direction: column;\n        align-items: flex-end;\n\n        li {\n            padding: 0;\n            flex: 0 0 22px;\n            background-color: #EEE;\n            margin-bottom: 5px;\n            color: #777;\n            display: block;\n            text-align: right;\n            transition: color $transition-duration, background-color $transition-duration;\n\n            a {\n                color: inherit;\n                padding: 0 12px;\n                line-height: 22px;\n                height: 22px;\n                display: block; // to have the click zone matching the parent box\n\n                &:hover, &:focus {\n                    color: #EEE;\n                    background-color: #777;\n                }\n            }\n        }\n    }\n\n    &.write-tutorial {\n        background-color: $color-primary;\n        border-color: $color-primary;\n        align-items: center;\n        color: white;\n        height: 96px;\n\n        .write-tutorial-text {\n            flex: 1;\n            text-align: center;\n            margin: 10px 14px;\n\n            p {\n                margin: 0;\n                font-size: 16px;\n\n                &.lead {\n                    font-size: 18px;\n                    font-weight: bold;\n                }\n            }\n        }\n\n        .btn-write-tutorial {\n            background-color: #1c5b78;\n            margin-right: 28px;\n            transition: color $transition-duration, background-color $transition-duration;\n\n            &:hover, &:focus {\n                background-color: #FFF;\n                color: #1c5b78;\n            }\n        }\n    }\n\n    &.topic-item {\n        .content-info {\n            padding: 14px 20px;\n            height: 68px;\n        }\n\n        .content-title {\n            font-size: 19px;\n            font-size: 1.9rem;\n            line-height: 24px;\n            color: $color-primary;\n        }\n\n        .content-description {\n            color: #505050;\n            font-size: 16px;\n            font-size: 1.6rem;\n\n        }\n\n        .member-item {\n            &:hover, &:focus {\n                text-decoration: underline;\n            }\n        }\n\n        .content-meta {\n            font-size: 14px;\n            font-size: 1.4rem;\n            line-height: 16px;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n        }\n    }\n}\n\n.content-item-list {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    min-width: 100%; // prevents some weird margin bug...\n    margin: 0 -10px;\n\n    .fill {\n        flex: 1 1 400px;\n        margin: 0 10px;\n    }\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .full-content-wrapper .content-item {\n        .content-info {\n            h3 {\n                padding: 0 !important;\n            }\n            p:not(.content-meta) {\n                margin: 0 !important;\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .content-item {\n        &.write-tutorial {\n            display: none;\n        }\n\n        .content-tags {\n            display: none;\n        }\n\n        .content-meta, .content-description {\n            .short {\n                display: inline;\n            }\n            .long {\n                display: none;\n            }\n        }\n    }\n}\n",".zform-toolbar {\n    margin: 0;\n    padding: 2px;\n    list-style-position: initial;\n    list-style-type: none;\n    border-bottom: none;\n\n    a,\n    button {\n        display: block;\n        float: left;\n        cursor: pointer;\n        border-bottom: 1px solid transparent;\n        text-decoration: none;\n        color: #999;\n        height: 27px;\n        line-height: 30px;\n        padding: 0 10px;\n        margin-left: 1px;\n        text-indent: -9999px;\n        width: 0;\n\n        .zform-popup {\n            text-indent: 0;\n            line-height: 20px;\n        }\n\n        &.ico-after {\n            padding-left: 30px;\n        }\n\n        &:after {\n            top: 7px;\n            left: 12px;\n            // TODO : remake icons\n            //display: none;\n        }\n\n        &:hover,\n        &:focus {\n            border-bottom-color: lighten($color-primary, 20%);\n            outline: none;\n            background-color: #EEE;\n        }\n    }\n    button {\n        padding: 0 15px;\n        height: 30px;\n        border-top: none;\n        border-right: none;\n        border-left: none;\n\n        &[type=submit] {\n            background: #084561;\n            border-bottom-color: #084561;\n            color: #DDD;\n\n            &:hover,\n            &:focus {\n                color: #FFF;\n                background: #396A81;\n                border-bottom-color: #396A81;\n            }\n        }\n    }\n}\n\n.zform-button {\n    background-repeat: no-repeat;\n    background-position: center center;\n}\n\n/* Icons */\n\n.zform-button-bold:after { @include sprite-position($zform-bold); }\n.zform-button-italic:after { @include sprite-position($zform-italic); }\n.zform-button-strike:after { @include sprite-position($zform-strike); }\n.zform-button-abbr:after { @include sprite-position($zform-abbr); }\n.zform-button-key:after { @include sprite-position($zform-key); }\n.zform-button-sup:after { @include sprite-position($zform-sup); }\n.zform-button-sub:after { @include sprite-position($zform-sub); }\n.zform-button-center:after { @include sprite-position($zform-center); }\n.zform-button-right:after { @include sprite-position($zform-right); }\n.zform-button-ul:after { @include sprite-position($zform-ul); }\n.zform-button-ol:after { @include sprite-position($zform-ol); }\n.zform-button-quote:after { @include sprite-position($zform-quote); }\n.zform-button-link:after { @include sprite-position($zform-link); }\n.zform-button-image:after { @include sprite-position($zform-image); }\n.zform-button-attention:after { @include sprite-position($zform-attention); }\n.zform-button-error:after { @include sprite-position($zform-error); }\n.zform-button-question:after { @include sprite-position($zform-question); }\n.zform-button-information:after, .zform-button-infoblocks:after { @include sprite-position($zform-information); }\n.zform-button-secret:after { @include sprite-position($zform-secret); }\n.zform-button-blockcode:after, .zform-button-monospace:after { @include sprite-position($zform-blockcode); }\n.zform-button-titles:after { @include sprite-position($zform-titles); }\n.zform-button-title1:after { @include sprite-position($zform-title1); }\n.zform-button-title2:after { @include sprite-position($zform-title2); }\n.zform-button-title3:after { @include sprite-position($zform-title3); }\n.zform-button-title4:after { @include sprite-position($zform-title4); }\n.zform-button-table:after { @include sprite-position($zform-table); }\n.zform-button-math:after { @include sprite-position($zform-math); }\n.zform-button-footnote:after { @include sprite-position($zform-footnote); }\n.zform-button-chars:after { @include sprite-position($zform-chars); }\n.zform-button-smilies:after { @include sprite-position($zform-smilies); }\n\n\n/* Simple dropdown */\ndiv.zform-popup {\n    top: 32px;\n    z-index: 100;\n    background: transparent;\n    background-color: #fff;\n    background-image: linear-gradient(center to top, #EBEBE5 8%, #F9F9F6 75%);\n    border: 1px solid #CCCCCC;\n    border-radius: 3px;\n    padding: 2px;\n}\n\n\n\n/* 3 cols select code dropdown */\n.zform-code-col {\n    display: inline-block;\n    vertical-align: top;\n    margin: 2px;\n    min-width: 100px;\n\n    & > span {\n        display: block;\n        color: #2677C9;\n        cursor: pointer;\n\n        &[data-zform-selected='true'] {\n            color: blue;\n            font-weight: bold;\n        }\n\n        &:hover,\n        &:focus {\n            color: #C87B02;\n        }\n    }\n}\n",".featured-resource-item {\n    flex: 1;\n    margin-right: 1px;\n    background-color: #CCC;\n    position: relative;\n    overflow: hidden;\n    max-width: 228px;\n    min-width: 170px;\n    z-index: 0;\n    background-color: $color-primary;\n\n    &::before {\n        content: \"\";\n        display: block;\n        padding-top: 100%;\n    }\n\n    .featured-resource-illu {\n        position: absolute;\n        z-index: 1;\n        top: 0;\n        left: 0;\n        height: 100%;\n        width: auto;\n        transition: $transition-duration ease;\n        transition-property: filter, opacity, transform;\n    }\n\n    .featured-resource-meta {\n        position: absolute;\n        z-index: 3;\n        color: white;\n        bottom: 0;\n        right: 0;\n        left: 0;\n        padding: 40px 14px 12px;\n        text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);\n        background-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, .2) 30px, rgba(0, 0, 0, .4));\n\n        h3 {\n             font-size: 16px;\n             line-height: 20px;\n             font-weight: normal;\n             margin: 0;\n             display: table-cell;\n             vertical-align: middle;\n             height: 0;\n             transition: height $transition-duration ease;\n         }\n\n         p {\n            font-size: 12px;\n            margin: 0;\n            line-height: 22px;\n         }\n    }\n\n    a:focus,\n    a:hover {\n        .featured-resource-illu {\n            opacity: 0.4;\n            filter: blur(5px);\n            transform: scale(1.05);\n        }\n        .featured-resource-meta {\n            h3 {\n                height: 190px;\n                font-size: 20px;\n            }\n        }\n    }\n\n    & > a {\n        display: block;\n    }\n}\n\n.featured-resource-edit-form {\n    display: flex;\n    align-items: flex-start;\n\n    .featured-resource-item {\n        margin-right: 20px;\n        flex-basis: 228px;\n    }\n\n    form {\n        width: auto;\n        flex: 1;\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .featured-resource-edit-form {\n        flex-direction: column;\n        align-items: unset;\n    }\n}\n",".search-box {\n    width: 100%;\n    min-height: 60px;\n    background: #EEE;\n    box-shadow: rgba(0, 0, 0, .25) 0 0 3px;\n\n    form {\n        min-height: 60px;\n\n        label {\n            display: block;\n            line-height: 40px;\n            font-size: 16px;\n            font-size: 1.6rem;\n            color: #333;\n            text-align: center;\n            width: 100%;\n        }\n\n        input,\n        button {\n            border: 1px solid $color-secondary;\n            background: #FFF;\n            margin: 5px 0 12px;\n        }\n        input {\n            height: 34px;\n            padding: 0 15px;\n            border-right: none;\n            width: 85%;\n            width: calc(100% - 71px);\n        }\n        button {\n            height: 36px;\n            text-indent: -9999px;\n            border-left: none;\n            width: 40px;\n            transition: background $transition-duration;\n\n            position: absolute;\n            bottom: 0;\n            right: 15px;\n\n            &:hover {\n                background: #EEE;\n            }\n\n            &:after {\n                top: 9px;\n                left: 12px;\n                @include sprite-position($search);\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .search-box {\n        form {\n            label {\n                line-height: 60px;\n                width: 300px;\n                float: left;\n            }\n\n            input,\n            button {\n                margin: 12px 0;\n                float: left;\n            }\n            input {\n                width: calc(100% - 371px);\n            }\n        }\n    }\n}",".markdown-help {\n    min-height: 50px;\n    overflow: hidden;\n\n    .open-markdown-help {\n        float: none !important;\n        display: inline-block !important;\n        margin-bottom: 20px;\n\n        .close-markdown-help-text {\n            display: none;\n        }\n    }\n    .topic-message & {\n        min-height: 0;\n\n        .open-markdown-help {\n            position: absolute;\n            bottom: 0;\n            left: 8px;\n            margin-bottom: 0;\n        }\n    }\n\n    .markdown-help-more {\n        display: none;\n        background: #EEE;\n        padding: 15px;\n        margin-bottom: 5px;\n        border-bottom: 1px solid #CCC;\n\n        pre {\n            margin: 0;\n        }\n\n        &.show-markdown-help {\n            display: block;\n        }\n    }\n    .show-markdown-help + .open-markdown-help {\n        margin-top: -5px;\n        padding-top: 5px;\n        line-height: 35px;\n\n        &:after {\n            margin-top: 15px !important;\n        }\n\n        .close-markdown-help-text {\n            display: inline;\n        }\n        .open-markdown-help-text {\n            display: none;\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .markdown-help {\n        .open-markdown-help {\n            position: relative;\n            left: 0;\n            bottom: 0;\n            float: none;\n            margin-left: 0 !important;\n        }\n    }\n\n    .topic-message {\n        .markdown-help {\n            .markdown-help-more {\n                margin-bottom: 0;\n            }\n\n            .open-markdown-help {\n                position: relative;\n                width: 100%;\n                margin-left: -10px !important;\n                padding-left: 40px;\n\n                &:after {\n                    margin-left: 15px;\n                }\n            }\n\n            .show-markdown-help + .open-markdown-help {\n                margin-top: 0;\n            }\n        }\n    }\n}",".mobile-menu,\n.mobile-menu-btn {\n    display: none;\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .js .page-container {\n        position: absolute;\n        z-index: 10;\n        transform: translate3d(0, 0, 0);\n    }\n\n    .js .mobile-menu {\n        display: block;\n        position: absolute;\n        position: fixed;\n        overflow-x: hidden;\n        overflow-y: auto;\n        z-index: 1;\n        transform: translate3d(-20%, 0, 0);\n        width: 90%;\n        height: 100%;\n        padding-bottom: 20px;\n        background: #222;\n        user-select: none;\n\n        .search {\n            height: 50px;\n            position: relative;\n            top: 0;\n            left: 0;\n            width: 100%;\n\n            input {\n                color: #EEE;\n                background-color: #333;\n                width: 76%;\n                height: 30px;\n                padding: 10px 5%;\n                font-size: 16px;\n                font-size: 1.6rem;\n\n                &:hover,\n                &:focus {\n                    padding-bottom: 7px;\n                    border-bottom: 3px solid #084561;\n                    background-color: #333;\n                }\n            }\n            button {\n                display: none;\n            }\n            .search-more {\n                background-color: #3F3F3F;\n                width: 14%;\n                height: 50px;\n                line-height: 50px;\n                color: #CCC;\n            }\n        }\n\n        .mobile-menu-bloc,\n        .mobile-menu-link {\n            width: 90%;\n            line-height: 40px;\n            text-indent: 0;\n        }\n        .mobile-menu-bloc {\n            margin: 0 5% 15px;\n\n            &:nth-child(2) {\n                margin-top: 15px;\n            }\n\n            ul,\n            li {\n                margin: 0;\n                padding: 0;\n            }\n\n            .mobile-menu-link {\n                margin: 0;\n                width: 100%;\n\n                &.disabled {\n                    opacity: .5;\n                }\n            }\n\n            &:not(.mobile-show-ico) .ico-after:after {\n                display: none;\n            }\n\n            &[data-title]:before {\n                display: block;\n                content: attr(data-title);\n                height: 30px;\n                font-size: 14px;\n                font-size: 1.4rem;\n                text-transform: uppercase;\n                padding-bottom: 3px;\n                border-bottom: 2px solid #3F3F3F;\n                font-weight: bold;\n                color: #666;\n            }\n\n            &.mobile-show-ico {\n                .ico-after {\n                    padding-left: 30px;\n                    width: calc(100% - 30px);\n\n                    &:after {\n                        top: 12px;\n                        left: 2px;\n                    }\n                }\n\n                .icon {\n                    display: inline-block;\n                    width: 16px;\n                    height: 16px;\n                    margin: 7px;\n                    line-height:30px;\n                    padding-left: 5px;\n                    &:after {\n                        top: 0px;\n                        left: 0px;\n                    }\n                }\n            }\n        }\n        .mobile-menu-link {\n            display: block;\n            height: 40px;\n            line-height: 40px;\n            text-decoration: none;\n            color: #CCC;\n            font-size: 16px;\n            font-size: 1.6rem;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n            overflow: hidden;\n            background: none;\n            border: none;\n            text-align: left;\n            padding: 0;\n\n            &.mobile-menu-sublink {\n                width: 90%;\n                margin: 0 0 0 10%;\n            }\n\n            &.mobile-menu-bloc[data-title] {\n                height: 80px;\n            }\n            &.mobile-menu-bloc:not([data-title]) {\n                margin-bottom: 0;\n            }\n            &:not(:last-child):not(.mobile-menu-bloc) {\n                border-bottom: 1px solid #2C2C2C;\n            }\n\n            &[data-prefix]:before {\n                content: \"[\" attr(data-prefix) \"] \";\n            }\n            &.unread {\n                font-weight: bold;\n                color: #EEE;\n            }\n\n            img, span {\n                vertical-align: middle;\n            }\n\n            img {\n                float: left;\n                margin: 5px 5px 5px 0;\n                width: 30px;\n                height: 30px;\n            }\n            .label {\n                padding: 0 0 0 50px;\n            }\n            img + .label {\n                padding: 0 0 0 10px;\n            }\n        }\n    }\n    .js.show-mobile-menu {\n        width: 100%;\n\n        body {\n            position: fixed;\n        }\n\n        .page-container {\n            height: 100%;\n            transform: translate3d(90%, 0, 0);\n            overflow: hidden;\n            box-shadow: 0 0 7px rgba(0, 0, 0, .25);\n        }\n\n        .mobile-menu {\n            transform: translate3d(0, 0, 0);\n        }\n    }\n\n    // Mobile supports sidebar only\n    .js.enable-mobile-menu {\n        .mobile-menu-hide {\n            display: none;\n        }\n\n        .page-container {\n            .mobile-menu-bloc,\n            .mobile-menu-link,\n            .search {\n                display: none;\n            }\n\n            .mobile-menu-btn + .header-logo {\n                margin-left: 0;\n            }\n\n\n            // Adapt menu to smartphone with sidebar\n            .mobile-menu-btn {\n                display: block;\n                float: left;\n                height: 50px;\n                width: 50px;\n\n                &:after {\n                    display: block;\n                    content: \" \";\n                    position: absolute;\n                    top: 15px;\n                    left: 13px;\n                    height: 22px;\n                    width: 22px;\n                    @include sprite();\n                    background-repeat: no-repeat;\n                    @include sprite-position($menu);\n                }\n            }\n        }\n    }\n\n    html:not(.enable-mobile-menu) {\n        .header-container {\n            border-bottom: 1px solid #CCC;\n        }\n\n        .page-container {\n            .header-logo {\n                margin-left: 10px;\n            }\n            .header-logo-link {\n                &:after {\n                    left: 55px;\n                    right: 205px;\n                }\n            }\n        }\n\n\n        .logbox {\n            .notifs-links .ico-link,\n            .my-account {\n                position: absolute;\n                top: 0;\n                right: 0;\n                height: 50px;\n                width: 50px;\n\n                .avatar {\n                    height: 50px;\n                    width: 50px;\n                }\n            }\n            .notifs-links  {\n                :nth-child(1) .ico-link {\n                    right: 150px;\n                }\n                :nth-child(2) .ico-link {\n                    right: 100px;\n                }\n                :nth-child(3) .ico-link,\n                .ico-link:nth-child(3) {\n                    right: 50px;\n                }\n            }\n\n            &.unlogged {\n                position: absolute;\n                top: 0;\n                right: 0;\n            }\n        }\n    }\n}",".modal {\n    display: none;\n}\n\n.modals-container {\n    display: none;\n    position: fixed;\n    top: 0;\n    left: 0;\n    height: 100vh;\n    width: 100vw;\n    overflow-y: auto;\n    z-index: 50;\n\n    &.open {\n        display: block;\n    }\n\n    .modals-wrapper {\n        display: flex;\n        width: 100vw;\n        min-height: 100vh;\n        align-items: center;\n        justify-content: space-around;\n        flex-direction: column;\n    }\n\n    .modals-overlay {\n        position: fixed;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        z-index: 1;\n        background-color: rgba(0, 0, 0, 0.7);\n    }\n}\n\n.modals-container .modal {\n    position: relative;\n    z-index: 2;\n    background: #EEE;\n    flex: 0;\n    flex-direction: column;\n\n    &.open {\n        display: flex;\n    }\n\n    .modal-title {\n        display: block;\n        border-bottom: 3px solid $color-secondary;\n        line-height: 53px;\n        height: 50px;\n        text-indent: 15px;\n        background: $color-primary;\n        color: #FFF;\n        font-size: 16px;\n        font-size: 1.6rem;\n        text-shadow: rgba(0, 0, 0, 0.75) 0 0 3px;\n\n        &.ico-after {\n            text-indent: 40px;\n\n            &:after {\n                margin: 18px 0 0 15px;\n            }\n        }\n    }\n\n    .modal-body {\n        padding: 20px 15px 5px;\n        flex: 1;\n\n        p {\n            width: 370px;\n        }\n\n        table {\n            margin-top: 0;\n        }\n\n        p,\n        input:not([type=checkbox]):not([type=radio]),\n        select,\n        textarea {\n            margin: 0 0 15px;\n        }\n    }\n\n    .modal-footer {\n        display: flex;\n        border-top: 1px solid #CCC;\n        flex-direction: row-reverse;\n\n        & > * {\n            flex: 1;\n            height: 50px;\n            line-height: 50px;\n            margin: 0;\n            padding: 0;\n            text-align: center;\n            background: none!important;\n            color: #333;\n\n            &:not(:first-child) {\n                border-right: 1px solid #CCC;\n            }\n\n            &:only-child {\n                font-weight: bold;\n            }\n        }\n\n        .btn-submit, [type=submit] {\n            color: $color-primary;\n            font-weight: bold;\n        }\n\n        .btn-cancel {\n            color: #555;\n        }\n    }\n}\n\n.enable-mobile-menu .modals-container .modal {\n    margin: $modal-margin;\n    box-shadow: 0 0 5px #000;\n    max-width: 100%;\n\n    &.modal-flex {\n        width: 400px;\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .enable-mobile-menu .modals-container .modal {\n        box-shadow: 0 2px 7px rgba(0, 0, 0, .7);\n\n        .modal-title {\n            line-height: 50px;\n        }\n\n        [type=submit],\n        .btn-submit {\n            &:not(.disabled):hover,\n            &:not(.disabled):focus {\n                color: #EEE;\n                background: $color-success !important;\n            }\n        }\n\n        .btn-cancel {\n            &:hover,\n            &:focus {\n                color: #EEE;\n                background: $color-danger !important;\n            }\n        }\n    }\n}\n\n/**\n * Specific modal content\n */\n.modal .vote-details {\n    display: flex;\n    color: #444;\n    max-height: 400px;\n    overflow-y: auto;\n\n    .vote-col {\n        flex: 1;\n        padding: 0 8px 15px;\n\n        h3 {\n            margin: 0 0 2px;\n        }\n    }\n\n    ul.vote-list {\n        padding: 0;\n        margin: 0;\n        list-style: none;\n\n        li {\n            a {\n                padding: 4px;\n                text-decoration: none;\n                color: inherit;\n                display: block;\n\n                &:hover, &:focus {\n                    background-color: #fff;\n                }\n            }\n\n            line-height: 24px;\n            border-top: solid 1px #ccc;\n\n            &.muted {\n                color: #777;\n                padding: 4px;\n            }\n\n            img {\n                height: 24px;\n                width: 24px;\n                margin-right: 6px;\n            }\n        }\n    }\n}\n",".pagination {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    border-top: 1px solid #d2d5d6; // @TODO: Color\n    border-bottom: 1px solid #d2d5d6;\n    background: #FBFBFB;\n    height: 40px;\n    margin-bottom: 20px !important;\n\n    li {\n        float: left;\n\n        a {\n            display: block;\n            text-align: center;\n            text-decoration: none;\n            color: $color-primary;\n            min-width: 45px;\n            height: 40px;\n            line-height: 40px;\n            transition: all $transition-duration ease;\n\n            &.current {\n                height: 38px;\n                color: #808080;\n                background: #F7F7F7;\n                margin-top: -1px;\n                border-left: 1px solid #d2d5d6;\n                border-bottom: 3px solid #d2d5d6;\n                border-right: 2px solid #d2d5d6;\n            }\n\n            &.ico-after:after {\n                margin-top: 12px;\n            }\n\n            &[href]:hover,\n            &[href]:focus {\n                background: #d2d5d6;\n            }\n        }\n\n        &.prev a,\n        &.next a {\n            padding: 0 15px;\n        }\n\n        &.prev {\n            .ico-after {\n                padding-left: 30px;\n\n                &:after {\n                    margin-left: 8px;\n                }\n            }\n        }\n        &.next {\n            float: right;\n            .ico-after {\n                padding-right: 30px;\n\n                &:after {\n                    right: 8px;\n                    left: auto;\n                }\n            }\n        }\n    }\n\n    &.pagination-top {\n        li a.current {\n            margin-top: 0;\n            border-top: 3px solid #d2d5d6;\n            border-bottom: none;\n            height: 35px;\n            line-height: 35px;\n            padding-bottom: 3px;\n        }\n    }\n\n    &.pagination-chapter {\n        margin-left: 0;\n\n        li {\n            max-width: 45%;\n        }\n\n        a {\n            text-overflow: ellipsis;\n            white-space: nowrap;\n            overflow: hidden;\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .pagination {\n        border: 1px solid #d2d5d6;\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .pagination {\n        li {\n            &.prev a,\n            &.next a {\n                min-width: 0px;\n                span {\n                    display: none;\n                }\n            }\n        }\n    }\n}\n",".codehilite .hll { background-color: #ffffcc }\n.codehilite { background: #f8f8f8; }\n.codehilite .c { color: #408080; font-style: italic } /* Comment */\n.codehilite .k { color: #008000; font-weight: bold } /* Keyword */\n.codehilite .o { color: #666666 } /* Operator */\n.codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */\n.codehilite .cp { color: #BC7A00 } /* Comment.Preproc */\n.codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */\n.codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */\n.codehilite .gd { color: #A00000 } /* Generic.Deleted */\n.codehilite .ge { font-style: italic } /* Generic.Emph */\n.codehilite .gr { color: #FF0000 } /* Generic.Error */\n.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n.codehilite .gi { color: #00A000 } /* Generic.Inserted */\n.codehilite .go { color: #808080 } /* Generic.Output */\n.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n.codehilite .gs { font-weight: bold } /* Generic.Strong */\n.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n.codehilite .gt { color: #0040D0 } /* Generic.Traceback */\n.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n.codehilite .kp { color: #008000 } /* Keyword.Pseudo */\n.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n.codehilite .kt { color: #B00040 } /* Keyword.Type */\n.codehilite .m { color: #666666 } /* Literal.Number */\n.codehilite .s { color: #BA2121 } /* Literal.String */\n.codehilite .na { color: #7D9029 } /* Name.Attribute */\n.codehilite .nb { color: #008000 } /* Name.Builtin */\n.codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n.codehilite .no { color: #880000 } /* Name.Constant */\n.codehilite .nd { color: #AA22FF } /* Name.Decorator */\n.codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */\n.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\n.codehilite .nf { color: #0000FF } /* Name.Function */\n.codehilite .nl { color: #A0A000 } /* Name.Label */\n.codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */\n.codehilite .nv { color: #19177C } /* Name.Variable */\n.codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n.codehilite .w { color: #bbbbbb } /* Text.Whitespace */\n.codehilite .mf { color: #666666 } /* Literal.Number.Float */\n.codehilite .mh { color: #666666 } /* Literal.Number.Hex */\n.codehilite .mi { color: #666666 } /* Literal.Number.Integer */\n.codehilite .mo { color: #666666 } /* Literal.Number.Oct */\n.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */\n.codehilite .sc { color: #BA2121 } /* Literal.String.Char */\n.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */\n.codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\n.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */\n.codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\n.codehilite .sx { color: #008000 } /* Literal.String.Other */\n.codehilite .sr { color: #BB6688 } /* Literal.String.Regex */\n.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */\n.codehilite .ss { color: #19177C } /* Literal.String.Symbol */\n.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */\n.codehilite .vc { color: #19177C } /* Name.Variable.Class */\n.codehilite .vg { color: #19177C } /* Name.Variable.Global */\n.codehilite .vi { color: #19177C } /* Name.Variable.Instance */\n.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */\n\n.codehilitetable {\n    width: 100% !important;\n    table-layout: fixed;\n    border-color: rgba(0, 0, 0, 0.15);\n    \n    td {\n        padding: 0;\n        vertical-align: top;\n    }\n    \n    .linenos {\n        background-color: rgb(251, 251, 252);\n        border-right: 1px solid rgb(236, 236, 240);\n        width: 46px; /* Can handle up to 9999 lines of code without overflowing */\n    }\n    \n    .codehilite pre,\n    .linenos {\n        padding-top: 15px;\n        padding-bottom: 15px;\n    }\n    \n    .linenodiv pre {\n        text-align: right;\n        padding-right: 7px;\n        color: rgb(190, 190, 197);\n    }\n    \n    .codehilite {\n        width: 100%;\n        height: auto;\n        overflow: auto;\n    }\n    \n    .codehilite pre {\n        white-space: pre; overflow: auto;\n        overflow: auto;\n    }\n\n    .code pre {\n        overflow: auto;\n        word-wrap: normal;\n        padding-left: 7px;\n        padding-right: 7px;\n    }\n}",".taglist {\n    list-style: none;\n    padding: 0;\n    margin: -14px 0 15px;\n    height: 30px;\n    line-height: 30px;\n\n    li {\n        float: right;\n\n        a {\n            display: block;\n            text-decoration: none;\n            padding: 0 10px;\n            background: $color-header-hover;\n            color: #FFF;\n            margin-left: 1px;\n            transition: all $transition-duration ease;\n\n            &:hover,\n            &:focus {\n                background: #FFF;\n                color: $color-header-hover;\n                border-bottom: 1px solid $color-header-hover;\n            }\n        }\n    }\n}\n\n.content-tags-list {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n\n    &:after {\n        content: '';\n        display: block;\n        flex: 20;\n    }\n}\n\n.content-tag {\n    margin: 0 5px 20px;\n    line-height: 1.4em;\n    white-space: nowrap;\n    flex: auto;\n\n    a {\n        color: #777;\n        display: block;\n        padding: 8px 15px;\n        text-decoration: none;\n        background-color: #EEE;\n        transition: all $transition-duration ease;\n        border: solid 1px #CCC;\n\n        &:hover, &:focus {\n            color: #EEE;\n            background-color: #777;\n            border-color: #777;\n            outline: none;\n        }\n\n        .tag-count {\n            color: #AAA;\n        }\n    }\n}\n","$tooltip-arrow-size: 6px;\n$tooltip-background-color: #333;\n\n.tooltips-container {\n    .tooltip-wrapper {\n        position: absolute;\n        z-index: 30;\n\n        .tooltip {\n            font-size: 12px;\n            line-height: 16px;\n            color: white;\n            background-color: $tooltip-background-color;\n            padding: 6px 8px;\n        }\n\n        &.top::after {\n            border-top: solid $tooltip-arrow-size $tooltip-background-color;\n        }\n\n        &.bottom::before {\n            border-bottom: solid $tooltip-arrow-size $tooltip-background-color;\n        }\n\n        &.top::after, &.bottom::before {\n            margin: auto;\n            content: '';\n            height: 0;\n            width: 0;\n            display: block;\n            border-left: solid $tooltip-arrow-size transparent;\n            border-right: solid $tooltip-arrow-size transparent;\n        }\n    }\n}\n",".topic-list {\n    margin-top: 50px !important;\n    margin-bottom: 50px !important;\n\n    h2 {\n        margin-bottom: 0 !important;\n    }\n    h2 + .topic {\n        border-top: none;\n    }\n\n    .topic {\n        position: relative;\n        min-height: 81px;\n        line-height: 25px;\n        border-top: 1px solid #FFF;\n        border-bottom: 1px solid #CCC;\n        overflow: hidden;\n        border-left: 1px solid transparent;\n        clear: both;\n\n        &:first-child {\n            border-top: 1px solid #CCC;\n        }\n\n        &:before {\n            content: \" \";\n            display: block;\n            position: absolute;\n            background: transparent;\n            height: 100%;\n            width: 2px;\n        }\n        &.unread:before {\n            background: lighten($color-primary, 20%);\n        }\n\n        &:nth-child(2n){\n            background: none;\n        }\n\n        &.unread {\n            .topic-description .topic-title {\n                font-weight: bold;\n            }\n            background: #FFF;\n        }\n\n        &:hover,\n        &.active {\n            &:before {\n                width: 5px;\n                background: lighten($color-primary, 20%);\n            }\n        }\n\n        &.selected {\n            background-color: lighten($color-primary, 75%);\n        }\n    }\n    a {\n        text-decoration: none;\n        color: lighten($color-primary, 15%);\n\n        &:hover,\n        &:focus {\n            color: lighten($color-primary, 15%);\n            text-decoration: underline;\n            outline: none;\n        }\n    }\n\n    .topic-infos,\n    .topic-description,\n    .topic-answers,\n    .topic-last-answer {\n        display: block;\n        float: left;\n        padding: 4px 0;\n        margin: 0;\n    }\n\n    .topic-infos {\n        width: 5%;\n\n        input[type=checkbox] {\n            margin: 29px 25% 0;\n        }\n        .ico-after {\n            display: block;\n            text-indent: -9999px;\n\n            &:after {\n                margin: 4px 0 0 15px;\n            }\n        }\n    }\n    .topic-description {\n        position: relative;\n        width: 60%;\n\n        .topic-image {\n            float: left;\n            max-height: 60px;\n            max-width: 60px;\n            margin: 5px 15px 0 0;\n        }\n\n        .topic-tags {\n            list-style: none;\n            padding: 0;\n            margin: 0;\n            display: inline;\n\n            .topic-tag {\n                display: block;\n                height: 23px;\n                line-height: 23px;\n                float: left;\n                padding: 0 5px;\n                margin: 0 3px 0 0;\n                color: $color-header-hover;\n                background: #FCFCFC;\n                border: 1px solid #CCC;\n\n                &:hover,\n                &:focus {\n                    background: #FFF;\n                    color: $color-primary;\n                    border-color: $color-primary;\n                    text-decoration: none;\n                }\n                &:focus {\n                    box-shadow: $color-header-hover 0 0 3px;\n                }\n            }\n\n            li:last-child .topic-tag {\n                margin-right: 5px;\n            }\n        }\n\n        .topic-title-link {\n            display: block;\n            min-height: 48px;\n\n            &:hover,\n            &:focus {\n                text-decoration: none;\n\n                .topic-title {\n                    text-decoration: underline;\n                }\n            }\n        }\n\n        .topic-title,\n        .topic-subtitle {\n            display: block;\n            margin: 0 !important;\n            padding: 0;\n        }\n        .topic-title {\n            font-size: 16px;\n            font-size: 1.6rem;\n            font-weight: normal;\n        }\n        .topic-subtitle {\n            min-height: 24px;\n            line-height: 1.5em;\n            color: #777;\n        }\n        .topic-members {\n            margin: 0;\n            color: #777;\n        }\n    }\n    .topic-answers {\n        width: 12%;\n        text-align: center;\n        padding-top: 29px;\n    }\n    .topic-last-answer {\n        width: 23%;\n\n        .topic-no-last-answer {\n            display: block;\n            margin-top: 27px;\n            color: $color-primary;\n            opacity: .5;\n        }\n    }\n\n    .highlighted {\n        background-color: rgba(255, 255, 100, 0.5);\n    }\n}\n\n.forum-list {\n    .group-title {\n        max-width: 100%;\n        margin-top: 30px !important;\n        clear: both;\n        border-bottom: 1px solid #CCC;\n        color: $color-secondary;\n    }\n}\n\n.topic-list-small {\n    .topic {\n        height: 60px;\n    }\n    .topic-infos {\n        input[type=checkbox] {\n            margin-top: 18px;\n        }\n    }\n    .topic-description {\n        padding-left: 1.5%;\n\n        .topic-title {\n            font-weight: normal;\n            margin-top: 2px;\n        }\n    }\n    .topic-infos + .topic-description {\n        padding-left: 0;\n    }\n    .topic-answers {\n        padding-top: 17px;\n\n        span {\n            display: block;\n            float: left;\n            width: 50%;\n        }\n    }\n    .topic-last-answer {\n        width: 18%;\n\n        .topic-no-last-answer {\n            margin-top: 13px;\n        }\n        .forum-last-message {\n            display: block;\n\n            .forum-last-message-long {\n                display: none;\n            }\n        }\n        .forum-last-message-title {\n            display: block;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .topic-list {\n        .topic-members-short-date {\n            display: none;\n        }\n        .topic-last-answer-short-date {\n            display: none;\n        }\n        &:not(.topic-list-small) .topic-last-answer {\n            .topic-no-last-answer {\n                margin-top: 24px;\n            }\n        }\n    }\n    .forum-list {\n        .topic {\n            min-height: 0;\n        }\n        .topic-last-answer {\n            .forum-last-message {\n                .forum-last-message-long {\n                    display: none;\n                }\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .topic-list {\n        .topic {\n            background: none !important;\n\n            p {\n                margin: 0 !important;\n            }\n\n            .topic-members {\n                .topic-members-long-date {\n                    display: none;\n                }\n            }\n            .topic-answers {\n                padding: 0;\n                width: 30%;\n                border-bottom: 1px solid #CCC;\n\n                &.topic-no-answer {\n                    display: none;\n                }\n            }\n            .topic-last-answer {\n                width: 30%;\n                padding: 0;\n                text-align: right;\n\n                .topic-last-answer-short-date {\n                    font-size: 1.3rem;\n                }\n                .topic-last-answer-long-date {\n                    display: none;\n                }\n                .topic-no-last-answer {\n                    text-align: center;\n                }\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .topic-list {\n        .topic-infos .ico-after:after {\n            margin: 4px 0 0 2px;\n        }\n        .topic-description {\n            .topic-subtitle:empty {\n                display: none;\n            }\n        }\n        .topic-last-answer {\n            .topic-no-last-answer {\n                font-size: 1.3rem;\n            }\n        }\n    }\n    .forum-list {\n        .topic-description {\n            .topic-subtitle {\n                margin-left: 10px;\n            }\n        }\n    }\n}\n",".notification-list {\n    margin-top: 50px !important;\n    margin-bottom: 50px !important;\n\n    .notification {\n        position: relative;\n        line-height: 25px;\n        border-top: 1px solid #FFF;\n        border-bottom: 1px solid #CCC;\n        overflow: hidden;\n        border-left: 1px solid transparent;\n        clear: both;\n\n        &:first-child {\n            border-top: 1px solid #CCC;\n        }\n\n        &:before {\n            content: \" \";\n            display: block;\n            position: absolute;\n            background: transparent;\n            height: 100%;\n            width: 2px;\n        }\n        &.unread:before {\n            background: lighten($color-primary, 20%);\n        }\n\n        &:nth-child(2n){\n            background: none;\n        }\n\n        &.unread {\n            .notification-description .notification-title {\n                font-weight: bold;\n            }\n            background: #FFF;\n        }\n\n        &:hover,\n        &.active {\n            &:before {\n                width: 5px;\n                background: lighten($color-primary, 20%);\n            }\n        }\n\n        &.selected {\n            background-color: lighten($color-primary, 75%);\n        }\n    }\n    a {\n        text-decoration: none;\n        color: lighten($color-primary, 15%);\n\n        &:hover,\n        &:focus {\n            color: lighten($color-primary, 15%);\n            text-decoration: underline;\n            outline: none;\n        }\n    }\n\n    .notification-infos,\n    .notification-description,\n    .notification-last-answer {\n        display: block;\n        float: left;\n        padding: 4px 0;\n        margin: 0;\n    }\n\n    .notification-infos {\n        width: 5%;\n\n        .ico-after {\n            display: block;\n            text-indent: -9999px;\n\n            &:after {\n                margin: 4px 0 0 15px;\n            }\n        }\n    }\n\n    .notification-description {\n        position: relative;\n        width: 60%;\n\n        .notification-title-link {\n            display: block;\n\n            &:hover,\n            &:focus {\n                text-decoration: none;\n\n                .topic-title {\n                    text-decoration: underline;\n                }\n            }\n        }\n\n        .notification-title {\n            display: block;\n            margin: 0 !important;\n            padding: 0;\n            font-size: 16px;\n            font-size: 1.6rem;\n            font-weight: normal;\n        }\n    }\n    .notification-last-answer {\n        width: 35%;\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .notification-list {\n        .notification-last-answer-short-date {\n            display: none;\n        }\n    }\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .notification-list {\n        .notification {\n            background: none !important;\n\n            .notification-last-answer {\n                width: 30%;\n                text-align: right;\n\n                .notification-last-answer-short-date {\n                    font-size: 1.3rem;\n                }\n                .notification-last-answer-long-date {\n                    display: none;\n                }\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .notification-list {\n        .notification-infos .ico-after:after {\n            margin: 4px 0 0 2px;\n        }\n        .notification {\n            background: none !important;\n\n            .notification-last-answer {\n                width: 20%;\n            }\n        }\n    }\n}\n",".topic-message {\n    position: relative;\n\n    &.repeated {\n        .message {\n            &,\n            .is-author {\n                background: #EEE;\n            }\n\n            &:after {\n                border-right-color: #EEE;\n            }\n        }\n    }\n    &.helpful {\n        .message {\n            &,\n            .is-author {\n                background: $color-helpful;\n            }\n\n            &:after {\n                border-right-color: $color-helpful;\n            }\n        }\n        &.repeated {\n            .message {\n                &,\n                .is-author {\n                    background: desaturate($color-helpful, 50%);\n                }\n\n                &:after {\n                    border-right-color: desaturate($color-helpful, 50%);\n                }\n            }\n        }\n    }\n\n    .user {\n        .avatar-link {\n            display: block;\n            height: 58px;\n            width: 58px;\n            z-index: 0;\n            position: absolute;\n            top: 0;\n            border: 1px solid #DDD;\n\n            &[href]:hover,\n            &[href]:focus {\n                border-color: #FFF;\n                overflow: hidden;\n                box-shadow: rgba(0, 0, 0, .3) 0 1px 7px;\n            }\n\n            img {\n                height: 58px;\n                width: 58px;\n            }\n        }\n        .user-metadata {\n            width: 60px;\n            height: 25px;\n\n            a {\n                display: block;\n                float: left;\n                border: 1px solid #D2D5D6;\n                border-top: 0;\n                text-align: center;\n                background-color: #edefef;\n                text-decoration: none;\n                color: #424242;\n                height: 25px;\n                line-height: 26px;\n                width: 58px;\n                color: #777;\n                transition: all $transition-duration ease;\n\n                &:hover,\n                &:focus {\n                    border-bottom-width: 1px;\n                    border-bottom-color: #777;\n                    background: #FFF;\n                }\n\n                &.positive {\n                    color: #48a200;\n                }\n                &.negative {\n                    color: #c0392b;\n                    font-weight: bold;\n                }\n            }\n        }\n    }\n\n    .message {\n        position: relative;\n        background-color: #FDFDFD;\n        border: 1px solid #D2D5D6;\n        border-right-width: 2px;\n        border-bottom-width: 3px;\n        min-height: 75px;\n\n        .is-author {\n            position: absolute;\n            top: -16px;\n            left: 10px;\n            background: #FDFDFD;\n            padding: 0 5px;\n            font-size: 12px;\n            line-height: 20px;\n            color: #999;\n            border-top: 1px solid #D2D5D6;\n\n            &:before,\n            &:after {\n                content: \" \";\n                display: block;\n                position: absolute;\n                top: 0;\n                height: 15px;\n                width: 1px;\n                background: #D2D5D6;\n            }\n            &:before {\n                left: 0;\n            }\n            &:after {\n                right: 0;\n            }\n        }\n\n        .message-metadata {\n            display: inline-block;\n            font-size: 14px;\n            font-size: 1.4rem;\n            margin-left: 5px;\n\n            a {\n                display: block;\n                float: left;\n                color: #999;\n                text-decoration: none;\n                height: 30px;\n                line-height: 30px;\n                padding: 0 5px;\n                border-bottom: 1px solid #D2D5D6;\n                transition: all $transition-duration ease;\n\n                &:hover,\n                &:focus {\n                    border-bottom: 1px solid lighten($color-primary, 15%);\n                    color: lighten($color-primary, 15%);\n                    outline: none;\n                }\n            }\n            .username {\n                color: #484848;\n                font-size: 16px;\n                font-size: 1.6rem;\n                margin-right: 3px;\n            }\n            .date {\n                line-height: 32px;\n\n                .long-date {\n                    display: none;\n                }\n            }\n        }\n\n        .message-actions {\n            margin: 0;\n            padding: 0;\n            list-style: none;\n            position: absolute;\n            top: 0;\n            right: 0;\n\n            li {\n                float: left;\n            }\n        }\n\n        .message-content {\n            clear: both;\n            padding-top: 1px;\n\n            & > div {\n                & > p:first-child {\n                    margin-top: 7px;\n                }\n                & > figure:first-child {\n                    margin-top: 8px;\n                }\n            }\n\n            .message-hidden-content {\n                display: none;\n            }\n\n            .message-edited,\n            .message-hidden,\n            .message-helpful,\n            .message-repeated {\n                padding-top: 3px 0 0;\n\n                &.ico-after {\n                    text-indent: 20px;\n\n                    &:after {\n                        margin: 4px 0;\n                    }\n                }\n            }\n            .message-edited,\n            .message-hidden,\n            .message-repeated {\n                font-style: italic;\n                color: #999;\n\n                &:after {\n                    opacity: .5;\n                }\n            }\n            .message-hidden {\n                margin-top: 1px;\n            }\n            .message-helpful {\n                color: #48A200;\n                text-indent: 20px;\n            }\n\n            textarea {\n                margin: 10px 0 10px -1px;\n                background-color: transparent;\n                min-height: 150px;\n            }\n        }\n\n        .message-bottom {\n            @include display(flex);\n            @include align-items(flex-start);\n            min-height: 30px;\n\n            .signature {\n                border-top: 1px solid #D2D5D6;\n                padding: 3px 0 3px 10px;\n                margin: 0 10px 0 0;\n                font-size: 12px;\n                font-size: 1.2rem;\n                color: #999;\n                flex: 1;\n                overflow: hidden;\n\n                p {\n                    margin: 0;\n                    padding: 0;\n                }\n\n                a {\n                    color: #999;\n                    transition: all $transition-duration ease;\n\n                    &:hover,\n                    &:focus {\n                        text-decoration: none;\n                        color: #555;\n                    }\n                }\n            }\n\n            .message-karma {\n                margin-left: auto;\n                margin-bottom: -2px;\n\n                span,\n                button.ico-after {\n                    border-bottom-width: 3px;\n                    border-bottom-color: transparent;\n                    background: none !important;\n                    height: 32px;\n                }\n                span {\n                    &.upvote,\n                    &.downvote {\n                        &:not(.has-vote) {\n                            border-bottom: none;\n                            opacity: .5;\n                        }\n                    }\n                }\n                button {\n                    // Disable transition for text-indent\n                    transition-property: opacity, border;\n\n                    &.voted:hover {\n                        &:after {\n                            opacity: .5;\n                        }\n                    }\n                }\n\n                .upvote,\n                .downvote {\n                    &:after {\n                        left: 10px;\n                    }\n                    &.voted:after {\n                        opacity: 1;\n                    }\n\n                    &:hover,\n                    &:focus {\n                        &:not(.more-voted) {\n                            border-bottom-color: transparent;\n                        }\n                    }\n\n                    &:not(.has-vote) {\n                        text-indent: -9999px;\n                        width: 0;\n                    }\n\n                    &.more-voted {\n                        font-weight: bold;\n                    }\n                }\n                .upvote {\n                    color: $color-success;\n\n                    &.more-voted {\n                        border-bottom-color: $color-success;\n                    }\n                }\n                .downvote {\n                    color: $color-danger;\n\n                    &.more-voted {\n                        border-bottom-color: $color-danger;\n                    }\n                }\n\n                .tick {\n                    overflow: hidden;\n                    text-overflow: ellipsis;\n                    white-space: nowrap;\n\n                    &:hover,\n                    &:focus {\n                        color: #555;\n                        border-bottom-color: $color-success;\n                    }\n                    &.active {\n                        color: #48a200;\n\n                        &:after {\n                            opacity: 1;\n                        }\n                    }\n                }\n            }\n        }\n\n        .message-buttons {\n            margin: 0 0 0 10px;\n            padding: 0;\n            list-style: none;\n            border-bottom: none;\n\n            a {\n                text-indent: -9999px;\n                width: 0;\n\n                &:after {\n                    left: 12px !important;\n                }\n            }\n        }\n\n        .message-submit {\n            margin-left: auto;\n            margin-right: 10px;\n        }\n\n        .message-actions,\n        .message-buttons,\n        .message-karma,\n        .message-submit {\n            @include display(flex);\n\n            form {\n                width: auto;\n            }\n\n            a,\n            .upvote,\n            .downvote,\n            button {\n                display: block;\n                float: left;\n                margin-left: 3px;\n                transition: all $transition-duration ease;\n\n                &.ico-after {\n                    padding-left: 30px !important;\n                }\n\n                &:after {\n                    top: 7px;\n                    left: 7px;\n                    transition: all $transition-duration ease;\n                    opacity: .5;\n                    margin: 0;\n                }\n            }\n            a,\n            .upvote,\n            .downvote,\n            button.ico-after {\n                border-bottom: 1px solid #D2D5D6;\n                text-decoration: none;\n                color: #999;\n                height: 29px;\n                line-height: 30px;\n                padding: 0 10px;\n            }\n            a,\n            button.ico-after {\n                cursor: pointer;\n\n                &:hover,\n                &:focus {\n                    border-bottom-color: lighten($color-primary, 15%);\n                    outline: none;\n                    background: none;\n\n                    &:after {\n                        opacity: 1;\n                    }\n                }\n            }\n        }\n        .message-actions a,\n        .message-buttons a,\n        .message-karma button {\n            &:hover,\n            &:focus {\n                color: #555;\n                text-decoration: none;\n            }\n        }\n\n        .alert-box .alert-box-text {\n            float: none;\n        }\n    }\n}\nform.topic-message {\n    margin-top: 50px;\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .topic-message {\n        padding: 20px 0;\n\n        .user {\n            position: absolute;\n            top: 7px;\n            z-index: 10;\n            width: 100%;\n\n            .avatar-link {\n                float: left;\n                display: none;\n            }\n            .badge {\n                float: left;\n                height: 20px;\n                line-height: 20px;\n                font-size: 12px;\n                width: 50px;\n                margin-top: -2px;\n                margin-left: 10px;\n\n                &.push-badge {\n                    margin-left: 105px;\n                }\n            }\n            .user-metadata {\n                float: right;\n                width: 140px;\n                margin-right: 10px;\n\n                a {\n                    float: left;\n                    height: 20px;\n                    line-height: 20px;\n                    border-bottom: none;\n                    width: 68px;\n                }\n            }\n        }\n        .message {\n            border-right: 0;\n            border-left: 0;\n            padding-top: 65px;\n\n            .message-metadata {\n                position: absolute;\n                top: 0;\n                left: 0;\n                right: 10px;\n                z-index: 15;\n                height: 30px;\n                line-height: 30px;\n\n                .username {\n                    margin-left: 5px;\n                }\n\n                .date {\n                    float: right;\n                }\n            }\n\n            .message-actions {\n                margin: 35px 10px 0 0;\n            }\n\n            .message-bottom {\n                min-height: 0;\n\n                .signature {\n                    display: none;\n                }\n                .message-karma {\n                    position: absolute;\n                    top: 35px;\n                    left: 7px;\n\n                    .tick {\n                        text-indent: -9999px;\n                        margin-right: 1px;\n\n                        &:after {\n                            left: 12px;\n                        }\n                    }\n\n                    .upvote,\n                    .downvote {\n                        padding: 0 7px;\n                        text-align: center;\n                    }\n                }\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .topic-message {\n        margin: 25px 0;\n\n        &:first-child {\n            margin-top: 35px;\n        }\n\n        .user,\n        .message {\n            &:after {\n                content: \" \";\n                display: block;\n                position: absolute;\n                top: 10px;\n                height: 0;\n                width: 0;\n                border: 20px solid transparent;\n                border-left: 0;\n            }\n        }\n\n        .user {\n            position: absolute;\n            padding-top: 60px;\n            top: 0;\n            left: 0;\n\n            &:after {\n                left: 60px;\n                border-right-color: #D2D4D6;\n            }\n        }\n        .message {\n            margin-left: 80px;\n\n            &:after {\n                top: 9px;\n                left: -19px;\n                border-right-color: #FDFDFD;\n            }\n\n            .is-author {\n                left: 5px;\n            }\n\n            .message-content {\n                margin: 0 10px;\n\n                > :first-child {\n                    margin-top: 5px;\n                }\n                > figure:first-child {\n                    margin-top: 10px;\n                }\n            }\n            .message-bottom .signature {\n                cursor: pointer;\n\n                p {\n                    white-space: nowrap;\n                    overflow: hidden;\n                    text-overflow: ellipsis;\n                }\n\n                &.full p {\n                    white-space: normal;\n                }\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .topic-message .message {\n        .message-actions a {\n            width: 0px;\n            text-indent: -9999px;\n\n            &:after {\n                left: 12px !important;\n            }\n        }\n        .message-submit {\n            display: block !important;\n            width: 100%;\n            margin: 0;\n\n            button {\n                float: right;\n                display: block;\n                width: calc(50% - 2px);\n                margin-left: 1px !important;\n\n                &.btn-grey {\n                    float: left;\n                }\n            }\n        }\n    }\n\n    form.forum-message .message {\n        padding-top: 0 !important;\n    }\n}\n",".avatar {\n    height: 60px;\n    width: 60px;\n    background-color: #FFF;\n}\n\n.badge {\n    display: block;\n    width: 60px;\n    height: 25px;\n    line-height: 25px;\n    text-align: center;\n    text-transform: uppercase;\n    color: #EEE;\n    text-shadow: rgba(0, 0, 0, .25) 0 0 3px;\n    background: #777;\n\n    &.staff {\n        background: $color-success;\n    }\n}\n\n.member-card {\n    .member-avatar {\n        float: left;\n        width: 60px;\n    }\n    .member-infos {\n        float: left;\n        list-style: none;\n        margin: 0;\n        padding-left: 15px;\n    }\n}\n\n.member-social {\n    list-style: none;\n    margin: 15px 0 0;\n    padding: 0;\n}\n","$content-width: 1145px;\n\n.home {\n    .main {\n        display: block;\n        height: auto;\n        width: auto;\n        margin: 0;\n        padding: 0;\n    }\n\n    #content {\n        width: 100%;\n        margin: 0;\n        padding: 0;\n    }\n\n    .sub-header{\n        display: none;\n    }\n}\n\n.home {\n    .home-wrapper {\n        max-width: $content-width;\n        margin: 0 auto;\n    }\n\n    .home-row {\n        display: flex;\n        margin-bottom: 10px;\n    }\n\n    .home-header {\n        border-bottom: solid 1px white;\n        padding-top: 20px;\n        background-color: #19516b; // fallback for older browser\n        background: #19516b radial-gradient(at top, rgba(255,255,255,0.1),rgba(0,0,0,0) 60%);\n        margin-bottom: -170px;\n        padding-bottom: 180px;\n        overflow: hidden; // Prevents search image to overflow on the mobile menu\n    }\n\n    .home-description {\n        display: flex;\n\n        p {\n            margin: 0;\n            padding: 0;\n            color: white;\n            text-align: justify;\n        }\n\n        ul {\n            color: #EEE;\n            margin: 10px 0;\n        }\n\n        a:not(.home-description-button) {\n            color: white;\n\n            &:hover, &:focus {\n                color: #90ABB6;\n                text-decoration: none;\n            }\n        }\n\n        .column {\n            flex: 1;\n            padding: 0 20px;\n\n            h2 {\n                font-size: 18px;\n                font-size: 1.8rem;\n                color: white;\n                margin: 20px 0 10px 0;\n                border-bottom-color: white;\n                font-weight: 300; // Light\n            }\n        }\n\n        blockquote {\n            font-size: 2.5rem;\n            color: white;\n            font-weight: 300;\n            padding: 0;\n            margin: 0;\n\n            span:first-of-type::before {\n                content: \"«\\00A0\";\n            }\n            span:last-of-type::after {\n                content: \"\\00A0»\";\n            }\n        }\n\n        &:not(.connected):not(.short) {\n            padding-bottom: 60px;\n        }\n\n        &.connected {\n            text-align: center;\n            flex-direction: column;\n\n            .important {\n                color: $color-secondary;\n                text-transform: uppercase;\n                font-weight: bold;\n            }\n\n            p {\n                margin-top: 5px;\n                text-align: center;\n            }\n\n            .home-description-button {\n                margin-left: 15px;\n            }\n        }\n\n        &.short {\n            display: none;\n            color: white;\n            text-align: center;\n            font-size: 1.4em;\n\n            .home-description-button {\n                font-size: 14px;\n                font-size: 1.4rem;\n                line-height: 24px;\n                line-height: 2.4rem;\n                margin-top: 12px;\n                padding: 0 10px;\n            }\n\n            blockquote > span {\n                display: inline-block; // for propper line-brek\n            }\n        }\n\n    }\n\n    .home-description-button {\n        display: inline-block;\n        line-height: 2rem;\n        font-size: 1.2rem;\n        font-size: 12px;\n        color: white;\n        text-decoration: none;\n        border: solid 1px rgba(255, 255, 255, .5);\n        padding: 0 6px;\n        margin-top: 5px;\n\n        &:hover, &:focus {\n            color: $color-primary;\n            border-color: white;\n            background-color: #FFF;\n        }\n\n        &.close-description {\n            display: none;\n        }\n    }\n\n    .featured-resource-row {\n        display: flex;\n        margin-bottom: 30px;\n        padding: 1px 0 1px 1px;\n        background-color: #F7F7F7;\n        flex-wrap: wrap;\n        justify-content: center;\n        width: 100%;\n\n        .no-featured-resource {\n            flex: 1;\n            margin: 0;\n            line-height: 0;\n            text-align: center;\n            margin-right: 1px;\n            font-size: 20px;\n            background-color: white;\n\n            &::before, &::after {\n                display: block;\n                content: \"\";\n                padding-top: 10%;\n            }\n        }\n    }\n\n    .home-heading {\n        height: 40px;\n        padding-left: 50px!important;\n        margin-bottom: 18px!important;\n\n        &.heading-white {\n            color: white;\n            border-bottom-color: white;\n        }\n\n        &.ico-after::after {\n            margin-left: 0!important;\n        }\n\n        .btn {\n            font-size: 15px;\n        }\n    }\n\n    .home-search-box {\n        position: relative;\n        margin: 30px auto 0;\n        max-width: 820px;\n        background: white;\n\n        form {\n            display: flex;\n        }\n\n        &:before {\n            content: '';\n            position: absolute;\n            bottom: -6px;\n            left: -28px;\n\n            background: url('../images/home-clem.png');\n            background-size: 100%;\n            width: 68px;\n            height: 134px;\n\n            @at-root {\n                body.vc-clem-christmas.home .home-search-box::before {\n                    background-image: url('../images/home-clem-christmas@2x.png');\n                }\n            }\n        }\n\n        label, input {\n            box-sizing: border-box;\n            display: inline-block;\n            line-height: 50px;\n            height: 50px;\n        }\n\n        label {\n            text-align: right;\n            padding: 0 5px;\n            font-size: 2rem;\n            font-weight: 300;\n            margin-left: 50px;\n        }\n\n        input {\n            font-size: 2rem;\n            border: none;\n            font-weight: 300;\n            flex: 1;\n        }\n\n        button[type=submit] {\n            background: #FFF;\n            width: 50px;\n            height: 50px;\n\n            &:hover, &:focus {\n                background-color: #CCC !important;\n            }\n\n            &:after {\n                margin: 16px;\n                @include sprite-position($search);\n                @include sprite-width($search);\n                @include sprite-height($search);\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile} {\n    .home {\n        .home-description:not(.connected):not(.short) {\n            display: none;\n        }\n\n        .home-description.short {\n            display: block;\n\n            // Rules to don't be hidden by the .home-search-box::before background-image\n            width: auto;\n            padding: 0 20px;\n\n            &:target {\n                .home-description-button {\n                    display: none;\n\n                    &.close-description {\n                        display: inline-block;\n                    }\n                }\n\n                & ~ .home-description:not(.short) {\n                    display: block;\n                    margin-top: 20px;\n                }\n            }\n        }\n        .home-description.connected {\n            // Rules to don't be hidden by the .home-search-box::before background-image\n            padding: 0 20px !important;\n        }\n\n        .home-description .featured-message {\n            display: none;\n        }\n\n        .home-heading {\n            .btn {\n                visibility: hidden;\n            }\n        }\n\n        .home-search-box {\n            padding-left: 40px;\n            margin: 30px 0 0!important;\n\n            &:before {\n                left: -46px;\n            }\n\n            label {\n                display: none;\n            }\n        }\n        .featured-resource-row {\n            .featured-resource-item {\n                &:nth-of-type(4) {\n                    display: none;\n                }\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-mobile-tablet} {\n    .home {\n        .home-header {\n            padding-top: 10px;\n        }\n\n        .home-wrapper {\n            padding: 20px 10px;\n        }\n        .featured-resource-row {\n            .featured-resource-item {\n                margin: 4px;\n                padding: 0 !important;\n                &:last-of-type {\n                    display: none;\n                }\n            }\n        }\n        .home-header {\n            margin-bottom: 0;\n            padding-bottom: 10px;\n        }\n        .home-heading {\n            margin-top: 18px;\n            &.heading-white {\n                color: $color-primary;\n                border-color: $color-secondary;\n            }\n        }\n        .home-row {\n            flex-direction: column;\n        }\n        .home-search-box {\n            margin: 30px 40px 0;\n        }\n        .home-description {\n            &.connected {\n                // Rules to don't be hidden by the .home-search-box::before background-image\n                width: auto;\n                padding: 0 80px;\n            }\n        }\n    }\n}\n\n@media only screen and #{$media-wide} {\n    .home {\n        $gap: 20px;\n        .home-row {\n            margin-right: -($gap/2);\n            margin-left: -($gap/2);\n\n            & > section {\n                margin: 0 $gap/2;\n                flex: 1;\n                min-width: 300px; // must be specified to have the elements correctely sized\n            }\n        }\n        .home-description {\n            .column {\n                h2 {\n                    font-size: 22px;\n                    font-size: 2.2rem;\n                }\n\n                p, ul {\n                    line-height: 22px;\n                    font-size: 15px;\n                    font-size: 1.5rem;\n                }\n            }\n            &.connected {\n                // Rules to don't be hidden by the .home-search-box::before background-image\n                max-width: 740px;\n                margin: 15px auto 0;\n            }\n        }\n    }\n}\n",".gallery {\n    &.grid-view {\n        clear: both;\n\n        .gallery-item {\n            position: relative;\n            width: 200px;\n            height: 200px;\n            float: left;\n            border: 10px solid #FFF;\n            margin: 10px;\n            clear: none;\n\n            &:hover,\n            &.active {\n                border-color: lighten($color-primary, 20%) !important;\n\n                &:before {\n                    display: none;\n                }\n\n                .topic-title {\n                    background: lighten($color-primary, 20%) !important;\n                    color: #FFF;\n                    text-decoration: none;\n                }\n            }\n\n            .topic-infos {\n                position: absolute;\n                bottom: 0;\n                left: 0;\n                z-index: 1;\n                height: 15px;\n                width: 15px;\n                padding: 3px 0;\n\n                input {\n                    margin: 0;\n                }\n            }\n\n            .topic-description {\n                &,\n                & a {\n                    display: block;\n                    width: 100%;\n                    height: 100%;\n                }\n            }\n\n            .topic-image {\n                overflow: hidden;\n                max-height: 100%;\n                min-width: 100%;\n            }\n\n            .topic-title {\n                height: 15px;\n                background-color: rgba(255, 255, 255, 1);\n                position: absolute;\n                bottom: 7px;\n                left: 0;\n                right: 0;\n                padding: 10px 20px 5px;\n                font-size: 15px;\n                font-size: 1.5rem;\n                line-height: 15px;\n                color: #444;\n            }\n\n            &.selected {\n                border-color: lighten($color-primary, 75%);\n\n                .topic-title {\n                    background: lighten($color-primary, 75%);\n                }\n            }\n\n            &.add-image {\n                font-size: 120px;\n                line-height: 200px;\n                text-align: center;\n                background: #DDD;\n                color: #555;\n                text-decoration: none;\n\n                &:hover,\n                &:focus {\n                    background-color: #CCC;\n                    color: lighten($color-primary, 20%);\n                }\n            }\n        }\n    }\n\n    &.list-view {\n        .topic {\n            .topic-description {\n                .topic-title {\n                    margin-top: 12px;\n                }\n            }\n        }\n        .add-image {\n            display: none;\n        }\n    }\n}\n.toggle-gallery-view {\n    float: left !important;\n}\n\n@media only screen and #{$media-wide} {\n    .gallery-col-image {\n        float: left;\n        width: 50%;\n\n        img {\n            max-width: 100%;\n        }\n    }\n\n    .gallery-col-edit {\n        float: right;\n        width: calc(50% - 20px);\n        padding-left: 20px;\n    }\n}","#resources_container .footer {\n    display: none;\n}","/* Temp fix to #2667 ; see: https://github.com/zestedesavoir/zds-site/issues/2667 */\n\n.tutorial-help-item {\n    min-height: 60px;\n    padding: 20px 2%;\n    border-bottom: 1px solid #e0e4e5;\n\n    &:nth-child(2n+1) {\n        background-color: rgba(255, 255, 255, .8);\n    }\n\n    p {\n        margin: 0;\n    }\n\n    color: #424242;\n    font-weight: normal;\n\n    .tutorial-title {\n        margin: 0;\n        padding: 0;\n        font-size: 20px;\n        font-size: 2.0rem;\n        height: 27px;\n        width: 100%;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        clear: none;\n        font-weight: normal;\n        color: #424242;\n    }\n\n    a {\n        text-decoration: none;\n        &:hover,\n        &:focus {\n            text-decoration: underline;\n        }\n    }\n\n    .tutorial-categories {\n        margin: 0 0 5px;\n        padding: 0;\n        color: #ee8709;\n\n        a {\n            color: #ee8709;\n\n            &:hover,\n            &:focus {\n                text-decoration: underline;\n            }\n        }\n    }\n\n    .tutorial-illu {\n        display: block;\n        overflow: hidden;\n        float: left;\n    }\n\n    .tutorial-infos {\n        margin: 7px 0 0 70px;\n\n        &.no-illu {\n            margin-left: 0;\n        }\n    }\n\n    .tutorial-help {\n      margin: 12px 0 0 0;\n    }\n\n    .tutorial-help img.light {\n        opacity: 0.2;\n        &:hover,\n        &:focus {\n            opacity: 0.5;\n        }\n    }\n}\n",".commits-compare-form button {\n    float: none !important;\n}\n","@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n       only screen and (min--moz-device-pixel-ratio: 1.3),\n       only screen and (-o-min-device-pixel-ratio: 4/3),\n       only screen and (min-device-pixel-ratio: 1.3),\n       only screen and (min-resolution: 192dpi),\n       only screen and (min-resolution: 2dppx) {\n    .header-logo-link {\n        background-size: 100%;\n        background-image: url('../images/logo@2x.png');\n    }\n    .ico,\n    .ico-after:after,\n    .content-item .content-reactions,\n    .content-item .content-reactions::before,\n    .breadcrumb ol li:not(:last-child):after {\n        @include sprite-2x();\n    }\n\n    .main-container,\n    .modals-container {\n        input[type=radio]:after,\n        input[type=checkbox]:after {\n            @include sprite-2x();\n        }\n    }\n\n    .home .home-search-box::before {\n        background-image: url('../images/home-clem@2x.png');\n\n        @at-root {\n            body.vc-clem-christmas.home .home-search-box::before {\n                background-image: url('../images/home-clem-christmas@2x.png');\n            }\n        }\n    }\n}\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.3) and #{$media-mobile-tablet},\n       only screen and (min--moz-device-pixel-ratio: 1.3) and #{$media-mobile-tablet},\n       only screen and (-o-min-device-pixel-ratio: 4/3) and #{$media-mobile-tablet},\n       only screen and (min-device-pixel-ratio: 1.3) and #{$media-mobile-tablet},\n       only screen and (min-resolution: 192dpi) and #{$media-mobile-tablet},\n       only screen and (min-resolution: 2dppx) and #{$media-mobile-tablet} {\n\n    .js.enable-mobile-menu .mobile-menu-hide .page-container .mobile-menu-btn:after {\n        @include sprite-2x();\n    }\n\n    .page-container .header-logo-link {\n        background-image: url('../images/logo-mobile@2x.png') !important;\n    }\n}\n"],"sourceRoot":"../../assets/scss"}
\ No newline at end of file
diff --git a/dist/images/apple-touch-icon-114x114-precomposed.png b/dist/images/apple-touch-icon-114x114-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..a92558a69161cf9bedec99f43977b9a4aa6c883f
GIT binary patch
literal 12553
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

literal 0
HcmV?d00001

diff --git a/dist/images/apple-touch-icon-144x144-precomposed.png b/dist/images/apple-touch-icon-144x144-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b7fbfd2e866a5eccb239d878d30f30849b8cd99
GIT binary patch
literal 14838
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
HWft^5BOH!y

literal 0
HcmV?d00001

diff --git a/dist/images/apple-touch-icon-57x57-precomposed.png b/dist/images/apple-touch-icon-57x57-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb25fdc0a2e7263bc63ce055326ae6bf7e0d46c2
GIT binary patch
literal 3071
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
N002ovPDHLkV1l-q=*s{A

literal 0
HcmV?d00001

diff --git a/dist/images/apple-touch-icon-72x72-precomposed.png b/dist/images/apple-touch-icon-72x72-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..522da6c239271576c947560c7d3b75e9fc4357ef
GIT binary patch
literal 4511
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

literal 0
HcmV?d00001

diff --git a/dist/images/apple-touch-icon-precomposed.png b/dist/images/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb25fdc0a2e7263bc63ce055326ae6bf7e0d46c2
GIT binary patch
literal 3071
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
N002ovPDHLkV1l-q=*s{A

literal 0
HcmV?d00001

diff --git a/dist/images/apple-touch-icon.png b/dist/images/apple-touch-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb25fdc0a2e7263bc63ce055326ae6bf7e0d46c2
GIT binary patch
literal 3071
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
N002ovPDHLkV1l-q=*s{A

literal 0
HcmV?d00001

diff --git a/dist/images/beta.png b/dist/images/beta.png
new file mode 100644
index 0000000000000000000000000000000000000000..b87be2af0ee19d4e533b3c8e9bb50cdb5e56d78d
GIT binary patch
literal 2121
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

literal 0
HcmV?d00001

diff --git a/dist/images/favicon.png b/dist/images/favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb25fdc0a2e7263bc63ce055326ae6bf7e0d46c2
GIT binary patch
literal 3071
zcmV<b3jp+qP)<h;3K|Lk000e1NJLTq0021v0021%0ssI219}wF000ZdNkl<ZXx{Bv
zYm8mhb^g}c`@HTv?s#TwkKcBNIEH|+Ek8j96KoUQ;1~#{7(*HYqNp`eBN36307Y$~
zrKD9w2v!5aMNvblsFER4F%J<!2P`|3IED@mHsBZYp7GqdkMr1T^~aqVo3V$2YF9#<
ztt;ItopaCq_S)b2*0<KBXx+E)Ia!R)&zitGfpr4w1l9?x6Iee3RsvPu^~4JRscQ8G
zQ97%e{|t{-RU(2qLJCqqppKC-Lx}(w0;!xmtoGC2Dhv>mOy(d-25}&QItbu-USKT=
zNY7qqKRs4*s#zsQoHR90Ui{^$Up{B<<mP6EcJ>|L^}F^x@9Zy|&<jH=$^Rc#0x2mJ
z0F;!JR8fh`AhYC)bGEEqwSL8g3+7HYWJbSIh|ABs@cKhf?>KO@+vY+*0mU%C&)A|d
z{*}NA6>_A?U?qwxB3XI$h4cUP+OJ-*dPRe8$FO)f-@xx2?zruNe`;(0Fv{f|5>}re
zfSxU^3RS?uWW=IK2TRju=D&O6rrS5H2?OtxbW2680!nH?MAUwy`--ji9vdjy(7+iQ
z4)B>-#%o<XCWVY)bqvv@)W7M{#oNEX^=m6HwAKLVE0#a#>^*q2<49*W4AtjqiHMyN
zNQo3~a=zBFdA{vUV*?`4nFD$nzOu3irKGOV_uU&e{q3DM1Nf-7cSqZQzqDufzW0yx
z6w0NcK_lAK*tFr26<e>l{7W-hNB|KKfpF2n`F<2Z87!)2lCu=8`<5sZ#1cf6$fhn$
zlA-%=-E!YIH+|62vu(%DpS|>-9~|w4Dm>q?H3S8vq9_(-&usbU`~Q6X!d9pVF$2fC
z`&Qj?@8P~;XcbBzQdMSh0E;J-FjT}(lvEs4iP-aC)F}rf6(Z74h%1w*ijZ+2r^u4z
z?{B?v>rERUc>3SBJ@X&Ox(AU9gD5a$^dwsQmetQ6>g>DY{vW>Z*aKf^X@V+<BHzn}
zzG`7q2Z%^SL29TRr;#WJ9M7)LTJq&UZEuMV_M37RhJFks<#8Eq0WeY_lY)peD-Qhi
zt($MTcHOmi{nc~7eh2kol&>e}#IT6a=#dgRRRFo#=-|<wr+2p9ck@-%8epyU1HZZ<
zA_hT3m?%>oD#^6Q<m(FtuWlVYcPcjpj(|b&_8ba+@T&W-uKJu8i-N`>PL;1lU;s`E
zeSdcShAkT}yYf2^?0Wl1kgsJ<8L==ym~djtT9vozLp^WL-hB>N8KU7!QWY{lAu7aN
zDkERRcdjXZd(q&6W&vez2C0ar%_jMS^GfGUFMi`0^JZ5V*=)SH@`(IfSB_U-aL(;F
zTzBJr|FCP{kz7rroQVb*8DYX0^-&!bI8_iTl}efoI{}xuBuPO|m>i41E0=U_Yvq@J
z)b;TC{sj#sO&}GPOdK1EeT|XC{=CNWUtZD~Na~b7Ne2`V&7kQeE0;a|#J|3_yFJR+
zD5-^2WN_6p|JZK%WH}<Xe&Czo-#A__^p?|r$fhX5L=xY#rhLz(U6ED909y(&QdUQB
zDlEcGk|MEd=E%7%w6_y%M+?)bSjif7e&j#)^XG?(r6^ycssIUufoioSV(2($BjRz@
zX#v2Y&Qi}nF=Vfp>6BXc=#{<KT~I-0p>ajR_xmtVQ1W!%B$=8Aoa2-ot7cLgVQEY0
zt)n^E@%c&$1!dqk%}kVoW?D^NRVQQ_L{OD+>${|LW=<cbDxp;FS1Fd$`UO)8+pp<c
zK5Gatdk2E;dmG<45Wd@0e>`&@$(($8)57DoFHf3+lv99wpm@%t8c?pv^kEA+Hn-FX
zNR6>@tQ7}Kq!p(~rKL`anI}#~89Yv0iCSk(9f69j{vw9V!g=xbYX%n0jgR!yJl0n8
zlixOU7Z{e<s?Ts@+Xu`&FHZW^fq^Hl@0<~2Sq2Nq*BFo}=(K0Z0F+=zt+=XK2zxFw
zQ@r>G>-wMD+%uz2VsYRR>otN;R22|aFZ3^%Gkx^RzJr|?wN`d)IkISW<=MUUS3K47
z;Ok9&iOJ;<c^Z%q5m~KaXLFUE?*)&%o&ymm1$mlQPmiigPxkny)L2#ZR0QfC+)%t_
zNf*jqi{IEzIg6M<qb2i1-y-UJ{^ZG%M;|e%Hr}?eW6o6bqnBImez9hVeLoO`RMd{-
zqbfU94&buT{Azz#xM;A>vw(CJ1ahK+K$VD8wVFSCig^{6x+T-I&F2ni#e#I{tRYk^
zh)!GE73x`Qm`68I+c5V)hxf>fQ}5haQ{gNE!c0{yM#L8Yi4S-Xz$S-Fb)6*wJE*t6
zkOKgfY9K{boEu^7DPrbW)zR9yNoXNzRdL&r_>0YjO2t!HIyt`xPAN;NSV`5%u#f?l
zEt-Gt?)l$)A@VH(3Y4Yn0T9*`?wbX|g^bxpSWa9i^<d&sO#Ayh7-nJ-Ef<T{T4Elz
zH>?t))-OO<Q&PwCn+LXEJ+QQ8uu@4&F-nOkC#I5kaqO(x)pO$I)B1b+D*%K<A?MGT
zvVP5FX%Z_UAqb_U)s1lV2UGz#hzAvD<|xiUU^*~J@Ab1sQZ8j#QrU9l#aFIgkygqC
z6^7C&o{$6p@9(dN*R7d4RVV(cS^dx6kUX`oy!)8nQ?3bIJhe_2PH`8_?piuCesWjv
z%DV?IUEB&d2!r|FKfdnJM<4zC`PWUD3q2nY0vuGTT`m!USbb$mz@D?d9EatX4%7~G
z#9VJLSv>dd%~!8nc<yC)d>?ES3MEw?i&bFQ%i2Elj~<s9fjH-<VB_MJy7cagOK@JC
z^&8`?HQ)>)Abaub(m%fYR;=p+a7F;MF0?=S-qv|DW^Q}-m4TjKSPS2`WO;;g37k?Y
zu_6)nT@)2v5+CSm+WhrpH(a&sYm1lk7E8B0_~YNce=G<C1w+8hWBUREu}!-QAP(1`
zld`5pwCWmD4XksPQW$lavREJ!qL&ZXKKYugUb%2a<0OcvQU=LcZ|&0a*Q{7HtEsLg
zw8g?uIVmX#C^JT_<+>=G-dMkI{ueebZ`suHwu@%3`o<$SU2*CBY18)n{?Ijl@prH8
zZue?yn3<G__%v}PqzYy~di)KYTU&p}vg5`}DfOMvKogh@Fw7C#I7#r@(dh9v>Yi)Q
zm&*fB{9@<wyKZF?5(Bo?V_Vreb7kuvI^ew{-G@3l0AeC*jkTsB7dGeX8YeY)eQo;c
zQ#9?HVZ+qEQu*;6zkc+mzv$>2^6PU@fs&3&?%4lf)G6CcnO$Nf-f%&B)A>Wo8qtue
zu<=T%c9f$JJLSzD|K<0?-A5Y+6SZMVDuK&>`p{h)mtP1dR1_ov=BoO9((FjzewezR
z>t6CNzubM~(Vsp0n|&X8p>G3|jp*F?J-5O^)Q~7s=D9Spelok>pBfFSp+dr)MX#^y
zXO2PQ!Fd)65o6LyIxQdFyx}XiU3K}qX_JS^KMYZaZ6whcQ_<UBY-<1Zi~Hp}uYBou
z2iqZ0F7%XCfokXTv08ab&t09OIbyHMQwPm-xOpZKOAgir>Sab9i{}D$BF2GD8pjfs
zTj$N$v})<vCFixyoYIibSKA*30FARW$uLwZf6&#j_ua!Uy>)PI<u~_z<@c9A(Y)&r
zhqa!SDB+9=D#}Fv%X~mc3B*zz`#F$RHL6Mgj3Z$vD`|B|NDxrQ%A{6EK%_t%Cy>kr
zrl}#{l&fvb=j&@CNSb6)iCrm9j~9k|dV7wSGQ{cgf6_Bp_OAQ4SzbgI6;WSEcx2{y
zI-m8io|~#}24H}pAjt4nq$=h@ILT>i)d33uP$eMpJ-`#up58)N&!Eath=Y!BfEmo5
zVVK(Mmlv1Mk`>z;**L2p@)$B~=7|1JbHdLyD`oQ8j@LbBnYPvy|K_Wm54APy@61QF
zakU@%taFz$zp4iBq|Zpyu9{W+XdwDwTiymSlR4S@ecE}}8DBcij2t3yDxR%j8?!=0
zhdt}~(Y0qisN?N`IP@8aA<&UD`eYhR{0}pMbpq=I)(NZ=SU*o#{|7FHKoO=o$f^JU
N002ovPDHLkV1l-q=*s{A

literal 0
HcmV?d00001

diff --git a/dist/images/home-clem-christmas.png b/dist/images/home-clem-christmas.png
new file mode 100644
index 0000000000000000000000000000000000000000..73c547387b10220c909c4ec59d451a3980e8cb4b
GIT binary patch
literal 13255
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
FV1lgp^CtiR

literal 0
HcmV?d00001

diff --git a/dist/images/home-clem-christmas@2x.png b/dist/images/home-clem-christmas@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..b414652d89bf5edd93bdb9e49d73610bc28d5e57
GIT binary patch
literal 38964
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
IM6N<$f<ri=kpKVy

literal 0
HcmV?d00001

diff --git a/dist/images/home-clem.png b/dist/images/home-clem.png
new file mode 100644
index 0000000000000000000000000000000000000000..a359b53c52e6dd8239dbddc000282b574b27434e
GIT binary patch
literal 11550
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
Qp8x;=07*qoM6N<$g0;9Q$^ZZW

literal 0
HcmV?d00001

diff --git a/dist/images/home-clem@2x.png b/dist/images/home-clem@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..ee76b0ff9329b4d0c79495500a7c1934e69e2b41
GIT binary patch
literal 31430
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

literal 0
HcmV?d00001

diff --git a/dist/images/logo-background.png b/dist/images/logo-background.png
new file mode 100644
index 0000000000000000000000000000000000000000..8384f1122babaa6b39009b4d4f02dcdc330f2d04
GIT binary patch
literal 5121
zcmV+c6#napP)<h;3K|Lk000e1NJLTq008g+002A)0ssI2*Bzh=000xnNkl<Zc-rk;
zd0Z7&mhOM2yR&rSB%Mim(sAr`&vfE+#1Nw>i7^7Q2oaQ376sV^5d;&#1yN*CkW~-@
zD9Wa&7({VH(1<85xS@gzA}%Phh`|LipPYDqWmUcM0T0LJ*6;kmt5@&Vt#iNoo$s7`
zi{Jg*w~pMny)^ba?gDNc(A>CjKy%~90nLpY2Q)VhXl~p%pt*75fab=H1DYE*4rp#1
z&^@p}>P`8=bzZ=V?ChQUt7_{Sn_HXP+OIdY9IQUSV$)8;fC%nfZZ8I)|I2Eoe`3~w
zQ#Bp;AN;EN*j7<BWa=F5Vs6hbp#N^`7nNId<95rh>KzR?Z;zg_n0uMqa|h@*$2reV
z%7&u&wTH*mTh0G%H;X%(+j9iyFWu&sRh{{@x5tLkL)_8ao)<uSM5VXh{Y4h3U0q$B
zU0qKF^n-_;BRzw;uetp{1NsdE=eYc0Av7O$c2?EarEe|$J~_vH?s6T^;LoSc9p@hr
zl$y8y<T(XQFU{G)eXWjJE{H?U&HbQxK)-A1zOn2OL*%iVOAFHS0pGWcrpaFan*Nk&
zk*T*@+GGKJu=@N9<di>*b($H!X2{gQXMEq_^!zK0P47>b{%T_J9TPW$S>d)J2|9g<
z=kkDl&&+d2<q5(fsMls;!dohEEV3~^q0MdWQa~e{{Ii+Ii{e>buMqUvX-TpwxC3(^
z+xWpW_)vo#zlS#4R#Ek8qS@q!Wz}^JgqC0K-3N7Q4A4OH?jxtr?xkxtLAs#c9<}JU
zEKLgNmiD`!I?R4ioSU{~&z)a723q>CGeEFeU{uJejR4%a`fFEjH6s?mGK=?Vke=bF
z#hC@KAew=V+iiCkS}xzX)$7Wb7|;WZUAG^4#Lc<8%X=s0UN@KueIf#Md&j+@E<rtB
z!7;VfwVOD`-r`ep>u2U%XsxE!J7ra8=vlxVtG4Y0f@P%?k_S!Qx8&$)H0ThT^a=tR
zOo3<Lb@=3@`LO`^U(CHUBRT%4H-&Wb?4<0zla25I;b}RmD@orswsZ3~*%3RcK2y7W
zomR*CAvdx<-<zN_+1>ORI9J~<jD(hZRJwF#BGlAfzlqpYd*yn@*0OiUyKCg8m^n39
zuA}`|a~*1D<;lE~1JH6BP6}6U-hJ=EgNgHE``D;aKxFSE$6rkB<^&j?O&<mj%UW{C
zm^bts`qjC<@oT6e$vO}0uHEsoXLQC0j|I@pADB;vL6~XqrvLGsC(=RO>m}YS@P>i&
z*WQa{wZyXAqQ0=QJfIOhk<X3wUDEePq3A_`zS-RN*GV&!RwDHsynKw$sD?7L@F4wu
z^*d%Y^|`*WDdnf##<L?ei(OfRb8g&jdDz+cPy2wE56VNP28ONOeEQO(oNq$Va@qN;
z`Lf-Qg(ba^xw57$0W|1Gp-y7pXkL~u@~KcJg9sU6GpYZ)U%3AWI(*<%&9kfr|IOML
zDdznL4_`7s<GGRxcD3E@VEZ8YyC~T&`=LjA28#fF@<P4rl^+<}#RreQyKab@XeLWt
zG^YPNQhKafv)P`SX+F}7&aSS(j^DpDXtr6HKst)mE|6irkQ@9B10qC#-hSwW^s;e|
z=2a=f8BEWm58JTxtAyZhGeW;9jUU;PtECFi)oH`tHJq$arqJ~YfsR*I%lxyM2gDq-
z#8=)SA4!Bz`N<mf0gbRT+<gI__Zy$ZeMt~!#I7bsX{%9xMSw=nanmo|=Brs${cxf;
z#3UXWp3#(ARkk0JbJ(_s<F$3jOptge_wcD%7F75!w|RCUi6N^tLQv%FDqmMp5tm=w
z?|_~fzET8eQN8vxJ%_oo$F=4C2HB$Jx>l}c$Owhkd^X7{dj42hSmWeSODpMpKb!JH
z;>I1d-Q@xtcRTJC?5iB~q;l|y%RJw3L#TzackUNLfA8@}+pwbZwkkg(g!O{7{OY;}
z=mcu2=F0UcVJmy&sDYL~7V~1#ib~N{YGk}3hascF175t=NEhSQkVfCm3{`#)1O2QQ
zFlF8Kn;BcnltTgLxl2R}QsIizwL2<L^mHrE_sKadcY?!TH<(J59CS4}Js&Z!<mhP(
z7OU_CtjI<WS8dy?s=-my7sjmLcIx7ldk@50@Go3#>~}yfTD?hh*U0QbVO1_K@@s<T
zp7@bQPUcEv?__>CQ(KDZ(UT{NuAH+nS9TNCv6@RP=Wq^Bku4|VhYU%Z_Z`L=%zovi
zM2INarpyAP)Nv7pGqtd!;pT18&;1hCs``mTXp-#Cf~M9x3bm1$-9;Pe0jSB&1h8OW
zN}f<E-~c1`Xgdnkh>o7SM77#~H*rM^XD(kAw&|akMK6mKS5(oNtp|=tTQi@#eAnTV
zs`kL)MqV+i)CKgM0K<W%w!Hu}X13_Yvl4$Br@<Ch2a`rnY1!A;NSzv-o`Xeeo|vaa
z(;#+zF{=+^9>X3y>|}SJo4Ss;O1Ogxh%72U2C9H~C90-a44mO3cv@9iRL?JrWjQx)
zw}3B&Z|=bRzkgai6=Q&Y%8rmKmhz0wVAou`)ht@*5%Ps-gAKwxy9|GCtEj@GQHM`o
zYIw)QO(bT3Dp8jZJ#;*SMWr5SHrf33V;jF~-F>S(bAjaCC-wn{&t8zOOJGXl;<Eyj
zpE!RR(}^|pw$U^pkPwbAL)L8H2QlLqnq(au4~;Gj9V!7mb^3VV#@*Yb7l5XfbK&8(
zG!^G{tSxFYzCg1j@gudZEY)uiS)c--J)+Vn;=4zsBa*@q1B_kqsQZqerMu^s9>isT
zGISyLovXhF9>quc`4_J92<VR8t8`G$l#fHzNqh1?ll`wZwZOTULKsvkOAmDkg0^7+
z9WzJaS*9<~VCC&idn*x1AqUx;6Bx5M$2p6B0_}^hK+oVgU<)D&#HQ~T2E8GCK&inM
z1btuyjj)zS&sa=+DI{s+1GMWM{(&}y=z=`ORDo<o_`<!I$B>_3N&s8ZJK`j<103~e
zVZq#sLK)5=^ucLSxkaIC3ZVW$+f}u7KsKg#UdaK9lR_Cy_0yI+cefurj%y$bl^v@D
z=wVitjai=qH%C?u|C51zPZzxoRi76D+GR<cw&kRT%%NyAZo$~Mde|mNT2u)!a+<)B
z2}DomivP6mmL`9oYTSKUZV^6$I6<HIDBa8jzr(q-#}!kb`YbKUgR{4kA4Qmx>I(Rp
z$|De+3Jm=(rynqc7&%NrA?M*dNq=ZWCN9}iKqg+kaZ7ZbbUZyEfTBu3V=R8TcVEh;
zn1r|6?l=lo+T%BDCnX@tZb9<|N_d7gN6<&;B@w}6hLbk13XY>QtBd#IBa#GZ@||3;
zi(Sc*E|!D<z7IP)5kEiaVI5Nj&~F>qm#-MXpflaaxJNBw=AF7I)|Zj1v&#~6I@bNm
zV@7W%{~g20qUA#)M>F~gVg~KYzGVJ4Yv1ydHSh~79Z=ww&89)L<U0@&MPz9l*Xv#t
zPx)!LOlf7jJH<x`P=yCUN{4HpGNoSuE`$cCUg3EpOgL%3c!l&QplYhgfUOm_Nwjy|
z6K=F(hS2nPTR(<xOjKFvqVu>23#O#;C3eU45V*oC5h!pTVTV3`<sE`+Fr%c*3Vefl
zak0UyaDp%Sy!i2E!-W|e9`RsAiU!Jd)4awDp;Mo!{m-844Z^G?+IXUD_w&zT^T*q`
z81_2RWO<|r(9ji#*P>n8Af)iDpD2aGAHt{#E(f)Mvk~=FRpO`&0*NVVmf|S_u4rt0
z<JZtm3_Q5PvLaeW<b|==Ei{~@Mu1T!-=Qf%hmh=|TFocj57^k;itDp??pKHjf1NY~
zq836ZBCAkg3)}K_ThSCIv-B%qon{)Co|fK#dm2{UTA1b{ynsGNcr0K`b+`tSSC;jT
zoV$o`*YByo!y>9fYmrc<_(@V8%&h@H=R|xh60Ca@blx|%Q(tma2@(;OSPXON(~<!)
zRAHBNZOv&{Cyf@P<jIRxK+dw13n5P=N#SnF0^xg5j?<E4DSJ_%#4%}ptZ*M9NpJ*K
ze1yV*@IVg73Ic$m@=_};pyGNAr|bo}yUTF_&;z~uc+q$cAcC1mMO+Xnf-+<etLN;j
zJo&EaQ|jLq^I}*%1i};oS~Q~oDH<|{MbUt=H%cK(XepbDmFNbO1hiugc{Y2i8cIoF
z|DbJ10_hgY#TRE5&@F!Y`3M-D@<`t&gH>+;{rhhn_r%MrLYF0s9HvGZ_nx8M07EBf
zQix+?S)X2&wQ@CMow=F)`KRWVv?-nz*pR%#5yJnk0MR)kcC~D!VvJ8Hk|g2(TFBW|
zj!|ce6bu1K7FoFbhwUtgb)3Z5Ber4|u@=w)=#4>7TPnu{ph*3VkNlRpu(g}1L1bXm
z8QS`X1CT1*e}p<f2WT6jAJa@7??KN93nQSzq=KE_1x8a<0h5!ar7WAmAb9A9klmzG
zNb2B#6eiG9IR%8mf+P`#szM~(g$n?Bn%<Zshydgt%njm>r>+L5#n4-#b!FG*Ze<Tm
zT{OmY>V!|ttv@og{cyb9AT!&+7S`WPp6EP%eAGO>!f4%7sakUbEmm$UlC4Pvr|0*6
zSEqx;<DO_8OZx2f?s^~Msq_UIWLI-j*GY3k(P|>74%0wb-NTfid<aT|m6P0-{>bVZ
zU^r>{3ABnCqUK8(^s60}Cu9?Lwl50DqSc!oEvEWM$d-^-Y}(n=H^dOW;D6d7#180P
z%pByM1n5iGZp!XpL7)(NiSaRs1PB%IwCKGgq`3r8Ode70$llNa5zu@fLuXiZnIZu4
zYz+W<Nua*+R*Kd<t-4I@i>tn9So7O{Wufhi(weq#v8uOaW7cm|lT^fO8MYH1wVyY*
zBWvKQrDg++TtIkm0b8ge^$F0(DpZAyfslH{CBlRZyuw}{Bk2husd>Bxi31Y}_~_AV
zIN&yRBdAYN;t#%L<!yQ&*=At^W|45pA+R9qDDPWTHmGf+wopohHXOLGkZ}<lM9VbL
zbxeaX;ekW~J*1BaSqO2W^<a!LrUzRw5tUg!oal{!gG5lcV2LDBw19%dQ3F+uFRd-x
z^0a!iTS#bkv;Sc;(@o*OD`8X|Lz7hLNL4o6ZZe?UQJ{N&&(zBO8)O&iATANj;Vf34
z2mN69Aq~NZ_yf>n(+N=$ERIYc>W#hs!<NL*Jw|3FM^Dov0WS(yH=M&$phKW;aWM=7
z4;I7>`A9Y3kOQ$6>KmKVx0VK_=0Rz&)iR&BOsXxC<OQJFM-m=(A&EGNo+Fqb&Om^o
z4_eNFvO6%}>MqH{8+d%U0)L}#z)j-D9ZZG0N2Rk`KD#eE<{h&d(;I)#N;@<a>m-gd
zm#=n7R_~@ori#{X*;n+sntx&zm?EvHlmwgfeKXO_5o(w|ZBB|^Ft&GSZps;&6Q(oh
zJA2{S%N{@^@^mCv3VUTR4DXqFV!&`&Tuxr+#e%Lo_0o;0q7`rW?ojpl?T1dlz&Ai1
zn3W_fXbDmefeg7+#pznn$}>I+`2f_#zM@hIAS)`dgQYMwr!LmRAO}hR5JXh%s;hr;
zRaw{+*q7>t?T@#10DJ(eNLJxWG*VsH08}AW0IvgEvPBzAk5d<~pwA#+xB|~ET0BSR
zF$t;00y<DNSU@x8KU4&ZA-JzgM2gV!AXi<l5K-L*epb~cNL{*wgwBWt1+1X~Ko1ya
zzj4`D>f^XRQ@c23)GR+Etw~layk1c;a-suc0}4b425l_MErKDUVWt-Bt3*x)LCiMp
z$T|fs05J&Tvh;}RURVKLN$ZL1z^H?*Wy{7m_8dLUVkKJ?ls$kL<vq;+C@sMV0g5zQ
zxM=4Uvx>Szn%;PJq^g%1>DavQux$FP_c*7NJu1&!5bnx?`~`P1DMANw2@k>iq@p;}
zX7Id_*QM{kgRP*sMfU~e&rZr#wd^-(ek{8Zo#|<+pmOQ^EdzUq>6_U@6+pZ<K_@Io
z-@@fP*)1QCSwc~$!2|GxEECp)!DRWR2c>&=Kq2c&D%hrSj31(Q`;#-|T>Uk~ec8>Q
zh|!o-U?b74PKVGWaGq%Fp$O4974?)2V~Nh=rjgl&2*I*HF`W}7oEV^XpiL^|8k<|!
zY~QC4<pNXk+9ixo)15cV*89Npvl7>$W9S}YlvEim&DoN%wTy{6mdK_SmMCPy$Z_NH
zi_w`0LCc@|1`vBE6}+b5{m_Fgto{9r)`pJ;0T)K=t_d3*IakkfhOwcOxjOrn#`-Q1
z?Xl|P(bU`oF{27JAKUoBUx@e!wVu%#*1_@8<zlJ_1CfaDZp+g2{lb)!RAl|C7#CxY
zu!}(gINX;0C|ktUtRX%a21Gb5NydF`LlV$=bzZB%G=@*m$%Ppkpp3`)NAxs-QQo5r
zH%?!kp{e(U*#=bQiTX@8_>0B>0#rF-Dj%Tvy7~(bYVulkyX#Ep_t*Qly`29FOtXfp
z9K4dYWe;*eh%M<hZKfq!+V3KbJAC#+?(TAg9{a^B20Qrs2RU_Q4O$lTH6Ji;&jp}`
z@^PT0&#37O%>ttUR@cZMVaQ|=Kye0I;uHITcTC)bn-l&p*6~Ej(7M&yAE>?j&W!{5
z`88Wt6Xc+d9;SS>xV`XzeofEec<S(NF{8lKe6+Z|@PM{)HEYe&`rnCGe5km+@PK|(
z-=Q*jc)%<}K2F?T20)LVJaKLK=-2xBpV@Kafab=H1DYE*4rp%NIH0+4Ky%~90nLpY
j2Q)Ws9MIgjsb~KOxsE+4oUWi>00000NkvXXu0mjfkBaTc

literal 0
HcmV?d00001

diff --git a/dist/images/logo-mobile.png b/dist/images/logo-mobile.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fceb0b82533ec83eafdf59f55e8bee07d07063e
GIT binary patch
literal 2073
zcmV+!2<G>RP)<h;3K|Lk000e1NJLTq001Ze001%w0ssI2q0tV<000NzNkl<ZSi|j?
zYm8l0703T;?S0OD%)K*hX*+FUN``izDhP$rN<iwAN5LQjtmPR34N##Ff(RdgqCo;^
zKR|d$BPzk5!B~wF8X!JEK`0QV1yWv8=!9U~>CANI&YgSjIcKlGAMVUB6f_Ye#AME=
zdvfkRzqS8+o%LT!3MX8M&*D;iM%N^G5<Cf>1b-@Efq+7YLD;+_0T@AXpB|V7z)_F_
z$byBC85p1{<}LYzVE-RBOhuY7B<$EHKIEXTa;exiF!=0CTkEDS&N-(43os!ngb5LZ
z9#OqE>|K2EDNDb3YWJaCo#P7zs>9dZ_4A)R{6wMD0vI444=hbv6o^@X7cqyFjr!2H
z&pZ9P3r=rq$peAr0fR^&1ew!l{qO#G>23EFrW6@eK!E=(*hTXe0x&V}oLW3mt1Rqn
z|HJy5&p!UBd>kbi`Ub0&>TtQ#B0@1hok12aIAF`RceeKIP!;)DoAv+%a6~Ga4EC))
zZQ1(kE*-2^A9(z^2OoR<jdykoRVo%j$G-dCaM8-MzH+1(jR8*1IeF=CpL)r+xM0~h
zn}7g9KtMob>`VACSO~zNxny|Y`b$=Pch$=8{OF;3H$2umREdfuA4lr)!SNrx17}}(
z({mS}bNl6Ig9>8)jHyZ*GMG@PqN!S(Mh%}?8X1DnNQ&3IDq$k_0kA1eqGY6U!}(u7
zt9$W2C$1W*r@4H&&?<ny%$k7%#X0SFJh0*16OUdre~zio74qr?ggS`05JGHHV{Mv?
zFF4}8?k=5H8mZOu8(uElyQSC?yFgCNL?6s$_3Fi6JLZ&Q4m<eVtMldQg`x>-CQimg
zGEg8elVa)7XP#el;0ht%e}{=l2qx;>oy&KvUexeDwL}p@mP@+l4IbJ#W%aLT6$>^|
zbcMzXX186q@{FS|xW3dngPNK}6RBvP83+=>TCLus)f<h#42sNUwUPYk^D8}9ZC|r+
zSR0nrG%!<(U4lj<cge#3#qC2G-Nfuy*hq+4&bVxC)K*SIL#ZkTGmI&Wv3wx}kk~r_
z5ZShKkQQkgLbdqg6+OQ^b7-Gj9R*gSdR0S|Q${8bMS|eJaX6FO2hZ4vZrj=CT_ggi
z4=@W7dysqQqW}!){QWyXh-h#BPJlu_yXMU!_pR<~<bU`=+oM}b+xp8y<B;}|+fJ@5
znQcsjCQI7;U@fW=f;IP}ggB>aBSe&jMAB?&N6msLb??tW734wtwKoNOy{B(hgy+}n
zJYv6a^Pk$gZaLtljWb`|-BQ)83jfSMTfcPI{9nA*;zStIav_G;#GR;uN&<04w}07Q
z`_{Ynuh<o+siWe3ahi)tu|J?=4k!R>mEON!`(}GdmfSvf?US<_xh&UWUJU_MizGx-
z8aF;t3<`0sHj;rVkn!Uit<@q3X}a#D-i};Ga%vnZ0TgK_Lo-g2&PS1tnoDNRoZUZ|
zJMO2m`<a%UF?GQ!Xb^x-AZoRD8dC=vyQUXp%TTcy{b)%cM{O}v%ZnY`ks?Ii%eoW#
zYE>g5m1a~h$9m$EY6CRFNIP}ul7)A*SLh?;8$QdF&L|K8oFVmtWHDq(EsNkAn|g9S
z2E^9}_moQ|jDyu+j1yxf$Wl4~u-zNa>zms$6jEdfiXw}rruUrGd-byZ&D#e}4d9}#
z&dXLVAK9}9PGb`_1Yv+>LKAA*=7pd#Q`7v@Zxym?rPZas`TjM_7k!>tHYzp6B@BPr
zUO4N(N^1EebzkioKA~&RK)qnhO0kx584R!N;3HdJK6XKO5Q4np%2lo9(rphsk|uRu
zC^(J8L`4EKN@5M7YH_jt;&#iobli9AvQ^8LKJ>(M4?X^*i}NxzElSXAnzOB!_f7Rx
z3*OX>J`Ra_8pV69yX@{~+U|Mrb8r7@on@IpDU6(ZYghlqKW}<$)8?()dMH$N&bhX>
z@`1D451TjRnyI%`4_;gDJTo<1b@$KidGO(ATAL%r!C59TQ_gQ4zVFPzqo!A#i{K0)
zOOuwJwXorh(w$Eg-ySSO_N>45($%Ldr5QwE0;PxoNHP;ZR8_}Xsy%<hvlnssUpKz+
z#uc~TzrA;7zFcCnI*l~~2*M0-sZZ1F3+?#gj0zmztHy8d&Tk)f2$Ii1v_XknTEB7i
zIhUVyVlfv5B#KBzvmSs_APgc7K=#u2o__t^D>hDlW$UXgZPO^0(!4s5qhJyQMa7_E
zfFd&hh|R<$&Z35+h<7P67gSw+cxcwl>E|E!<>MD0GI!RDDXrx~>`7MZjcPU7+Vj@$
zH@*7Q^P4wavU%PQ=Ij<%$Z|CeP86h&5E%nE3$h3q*nAA7W}qj9Fb4pEB0>j2Q|Hvo
zLP}#kmm@8tSuhX~1AX!4?ty8=%4Hkp7IQ{`Ajt8S!H?JBF|kxQTA0NgKzZL$+?Y*`
z`bVrPnq$*J;C#+UBq3xruaK<i?wz@IK_Qp2X>5Xte*8%%iP0cMRAnr1B+M=899goi
zQwntvAt@hf%UrJWa6l*~paDw#aPLNdq=*>cOie^4bQ2W9#;lewG8VqDqcCi6&7My7
z8c>|kJYCb^6-r_AU;Kz+Mx?255HppDo-Tx_l5B?3TwnBo5Wqe{BvMuVs8tETCeuD@
zrWpUhX25$t=L9nu8xa0|FK^)Fm^ulb1W$th55fNeq6kO7b%Kh|00000NkvXXu0mjf
DmE+-x

literal 0
HcmV?d00001

diff --git a/dist/images/logo-mobile@2x.png b/dist/images/logo-mobile@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..88041d5d00c32f59145e38a96b7757e1ce23f55d
GIT binary patch
literal 6616
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
QKVk#W)igwu!5!ZI5BIy#ga7~l

literal 0
HcmV?d00001

diff --git a/dist/images/logo.png b/dist/images/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..976607d00107fe177b9763db0c12c693cf934ed6
GIT binary patch
literal 4769
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

literal 0
HcmV?d00001

diff --git a/dist/images/logo@2x.png b/dist/images/logo@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b488bd4913a155507e2f2f592753241ebd906bc
GIT binary patch
literal 8402
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
H%Mbqrfo2t1

literal 0
HcmV?d00001

diff --git a/dist/images/sprite.png b/dist/images/sprite.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0a9352579a2a47af0ff07659af4d01beea1e4c4
GIT binary patch
literal 45644
zcmZs?b8uu`*zO%oY}=D$V%xTD+s?$cGqKsh#I|kQnAq0W&-;F-&OfKBtGa8|-c?;|
z?Y-80UBBy&RFs!MfW?Ic0Rcgfk`z@2ep7*fpeaK`0)II=A!mSq)T2p>3aNUoU*y2)
z%AUUWZrJj;i*DdDO(I5)|0HFSric_JZ<mycEG~|wXSZG5tcjE)cedJ)tNb%s<sPwA
zZTB-teB89%K$3j_RluS2^U>z-L^T)7`*+T(Pwq?x*L^P6j+gzli~V(F@dJlGh+szN
zf{a#Ixbg^$Jxm_9th17&AjG|pAn~1(fiGGpm?$wHgiQk2FjWfVTw_e!v3;9ztItOj
zHI`t#3Hs4f05rxc>~s^#lr3=@aU!H3tTaVt^2YErt&<)L=-@MnbF^{DKAC9pVhkI!
zN${+#j{&`2n$TB>?gG4U2603&o3c`rP9REL5waJukS27>CS+3jvUmY18`DqWR}x(l
z8)>D{T!>F)BBPA&%<4GEV$dUG@-Qk;D*C^lHT@vQzt>jTu?izlRCP!|B9GVmq=wkk
zlt4uEk^ZUIPzBKYgK7e(^m3?g+nxf7-&N9yh3KqN^2p48W|BENGqn5@{rtwgIYcTi
zD3dQ!%a!H>FH>IFrWP>lAgcX*{#EvYZ_dSB4pKGQ;Z|8*SO`{8QK3lvEkjN7ts}`}
zyW_)sd9kF`fX`-%n4aQ;T5b9X7EdG)w!W?nC@+7VK`kjShsovhj=O`;74S!ljg6(d
zoPn8+K5m^n8pXfaC^mh0JW~TySBGtNcnlm*Ws&gmcADYf;J}1>MCUg)!e7Zq7gTi?
z9>tq}-oX{a`Jr>oI3@D!a_r;=T<p~JB~vQwZu2p1c6y<)+ixz`(^6C02a=H{rU-F?
zCAn+(PlPp`K#)?NaMeTceoeI`xO_tL`o5u`ot+8lDud}X+gfR<7e&&{F+{57f1}W$
zp?&+&K}~1#QD$Bq(t7urz(gjbrG*E`-R$;(Q?>c`{79g+L1_(pA%hM4nKwo>*5w2)
zpT|YxoXw~66mTnnM*RJBnMw@se}E=0DWUt)&{l^;IzQj*8wjUU4!=2MfyvZqu@|yl
z$3ZE@Spz4G5`gr$LhomZnH~9OKprb9Ce}oY$4E@b#@dM*LMd}60SgPuNK_hmL0~>c
z$ar;wLPbyiMi$CSN-o7>x^|~Utx%i?W4N~^EXnnUy1v09fzR-w;3YM{(%#;F&C90S
z#&<`5)MIGqnfNGNg;a;fdky?5o-gEAF}i-I=dHZ(*XZXv>dV*Ruer$#_j;(9HUHY5
z#QKleGuza~dRksM*^>Of>gzIodH3?oF}bzC!DiN+95)}fw7^(-bO<iud*3Kd7fU6t
zF+;&?VYV|FpImK5jBX_n@a)hR6Ex4jX*Kh@E>h)QRA%^nzPUicV_PyC?h-cyUK1A+
zSjBJDEiEl!G#HlDd#aty<(08ow+p!JUl3zzCC$M8kj(Gq_1odOvsHuDns$XT#KpT!
zA08gYCnF=Hj~_X}#l>|FM<SXg;C7|*04~oaC^%%T7Hul?&j3*u2>QK~_DsFj4{I4(
z9!{!RZca{4Iz~pte<vrD4^K~+^qRGToE}%Y1w}<B$CDW>$;e4!Ha7-)!MLBE(vT{j
z8KqA$TETQa8F|k*<(dHlWp7Nr2hyD@z6QDbm}(bx)<+Zgg&YZ7mb1ih)z$PZ{@-7^
za&mI?UXK@R$(02KeV6M^H17)v0wu$PJ{utFp2}9^R}bTv`DD*3o8T?=C!ABw?v9R<
z4Rv)W^0~ZPoPHmkd+AIjA!On)$Y-agW@rEYk&}?K2{9W6AuX6$6nN|!IYnKzgE=Hi
zZ3Fs*qKf)ve&bP}roS^Hl)ctB%64Yx{f<?nCAyeoS3H~28N@fO3mF<Ju|@(P0wZ@!
zPThHM-_lDrM)|$aK{OM+rdLGM0DKU$X9T{pD@#j<FBi+vu;j)+50e#IffKsx_b?}6
z>)f4;Dp<$`)^dj@6?=Zw@#_QU>!LseQU?j2lku-XkDstBpV9NxRwy)$s+t-GGj@z@
zh^(-rbx=t9A4_>7Hc6kj%29s6%_A|wivlPUc1rDvqL`9|l8BKZS4qeg4!Ac;Q@8JX
z#q;Tc1V(Vl4`^@HpYVhfkO*u6(1VRFEgqtgqH7WTBS9%#ZfC09B_&7VE-v?y{CU@_
z9Ucx8{l83}%PN7RAyBfi<E)m}))kS4IPUK5OfR{yv(iQ4vBqS&@cm}+ILxBSQ|2^I
zocN{-QT?0Pb0soZZsR`4$;^0rA%Hf{szNSHbqe(vd^EIV&MH7?*Y8JTlY(C1)&z#`
z7t+5H@q|k0c;(>aKR;q{SeXC*{ku@x>72u86m+>-XQHPRZ8Z>vFhOoEW=Ry{BE~`_
zb}#O6v6?7?LktPwz20b5{1hz$z(goi=X!g4tHY*ByKP|WA0pFb?N6j<0Po=SxKP7R
z0Wr>-7!E)#JT{hGlrB;uV3Xm8Ly^aOHxUVG5L}=j)$Jc4^0y7p%dMXT9Xo{s2M3pf
zkAR1dz}}D7OrS>T5y^}03mENX&x9@wDGv?(bb_#^2ipVO3K`3XxQOOO4+gA8gs1t0
zn3CcX?XepRijwA&z2T!3q>qn}6OM|7WU`8|MkG|EpDZ%P0*ttg5*CBcanhw1B^ybz
zsWTgg2%t@A@VA!c0_wrYxsZpDe#%lG@=06;VB>4A9{nsjG#=LqRIC;q^{$Wekys!7
zf$U)$0b&eM|4HMLbX_aQWhL_~U)9A}*ScrwL=x{;F{W9-psO8QI7QQl+XixwSV$-3
z`MMQzB&y*4$6(L8HH-ijsiLJ#Lc+7DUI%-dsSY*BrzCRYMjOaVR%4_wT79)0o)z+|
z5~w7I?hckB?w%3rZcpD}6ahJGp7}cYnRBSzqFsBtbLhp{ItHAS0~Kb{p*rmc&G_Fr
zmd{ntk!Y9CxX7%ogQzS_(Vc00_8}b+BUp72Jpa_|xun6GZnPB$LWaMt(J1eya!+Q|
z5Qa!ObJEFagezG@bmMoc2H6)V8i@il(#9n`V+LYZ0b6b(R9cY!Wv9(GlAM(L>UUKU
zq!U^l<Xp=-gMOb=pV-b&_}p}gQ*@=|wqI8|YYptCHIA#KjUKCi80t3_(aX(_%P2H@
zZv)3@Pr81p)1$OB;B$N)x9+ae^YuLRQni?L&`{dF{aorD2rpr?3izETbyd+t_p!u<
z_POMp`Ck6WdT-)-HIU4ge~|l5;*K(e!?L`CIvvGtRjb-+IaNwyLv9m_mq~zRkF0eC
zUsoG(Bi9%)sc+KWMZWFY!P)1U#W`-ez^9@2d~n7Lh0ps_(07+yATDmr_$fq@sOjg)
zrU-|w_D_BvJAapdr!`rn;zN?9S7YTKs|>#gd%DPX{PINWcOA8IF1O!b!}i1oQ%W;(
zMLKA-!r~V+6AsavdFhIeZTeswxjpglkx~}Z9T>D&oVWOV7p8`EbP*-bE}k}P@G;#z
zejM>dUcu9ql+PU?lu2k|c~jv32={F>te2-^e|f|7zo}rpoU@58(tVOSE4ygb;J0iW
zO?K}6O7&f&YrZ#;TZu)9)w0tO_`URG9{fk*JS=2OmH<~h#RN@D`M|%i%1czU;2+#K
znBF+3!1Z&+-E64KYEd`8HNW}Rk?VO*%NeBumehm#wiH4AzI^?{_WR=%6nSiW-;c2h
zvMw#>Uzl(0KP_XlDdlT-RJ2+6>WiHRGdqNQgJB!pL_}>$?K(7AtW2ED40<+%@^C#_
zenFYWKB^HmmyY&3ceHw133J70>5yMx=^8$T?$|Z-O^6Dw{7Vx5I_tmlld<opP>540
z*&Z}W1;FcR{j+TP)Gtu*(Yha;dd6)EhP`tGcR0xm#gf{5N@3M@pti>*)O5_~AfAbF
z?p5f)E-CJkEiOkRjS?5AT!E*u+<iH;aO%8Yv7ztos;gP~D?An2GH5{CiZkTi(f4Nq
zMz)9~=TFe_gEErqRk{2&&EkI}71BEnO9$#X96Z{;7^C^>oRG6P07d&CklYPwmCO`j
z0+V_w_q*%VQm;5H*C0@sBEX`Pi{{7h?<FidmrTM#c7eaGtEx`++UjGGM(v$}vajHf
z(^m!hzp#mP{CO(6U!|CM9Y({UINTSvzWpZOLNE*fV;GFH<!R1d>r@TY1$ui8?b*ka
zB~G)N?%28NpPRH&P2&vQ+_RG_VI{O2y~POY7qEe5(jt3%!^0J{t;xpm#!w35^Sgah
z|HAeiMkw%M&dN!!dP^GGnZ{>s^lbd$X#Dm4!Oz4<68wGeqkb)(yo;z@Vo;$$Mv6I!
z=wT^b4d$aeKJ3a%@BCd_ro)n*`c2EV@zA;F;pu5Z(tk_xy{hS%z=M@(E#Ei5BNZDe
zA<Mj<YH1li`;pGw3j&4kSikTgi3&e+Rx_}0X9?(G!-`T+fSmI<D4-v~%tbH2tYpdm
z*gwn6>Tn(49bs9d0>$S8B-bAn2P(a`oxYMY=JFx;CU@x1I&Q%9nTxEI;N0AV(XpaW
z4hKXAjr<f~Ke@!o@OZ48@w|^!GxZmG-(b_OnpeFK3HN%(%|*NXV;?+H$OUbN6iP`c
zXv931kHFi_MnH%)8C>?qikOQ?|9fM_*M!W%kM{kyqVxP}$(gg^ZNnRw=hF=@>o%Ma
z0)0>zPxP+Pws6dL=*u=*?xs`t2$h1&vWUshpJN>;3k(C;mr1GPfM<nFUEc(c+JbU=
zq|CGGqP))-XPn&qdNFDS5fd{C)>H#QG=l)jql_EPJG_V)TR_j@%y<gdZkOmMl~a;a
z+zU@PfOAe%)zv2ka05vEH*J&)*zJ{^`^z^V%0c=dy25@QRX^|^?T4^{ZWih+miEzc
z^l>;xB7Gd-*Nki3&7RkgrdjFaQ|i7)+k7^u#jEw_z-}$F!E(P0Ux5X3B>0=jqPvcH
z#5V<X#4ZHY;;I(Ys0c8J)o9iG%_Z3M#e1};b8Q7*uUApPWZCG9#7A~S5+{WFX_s2h
zzd%T5&^zsmLQkx;@|JK2@D<jg4kUM!r=(G_i%T2Aqy1EGaoJH?TnWx|6sLCMxHpT@
z^_6h=olR~eq%8It!zoqqv<R{cvLTo{(1KB(E1;UXfuBSk1O03EoclM^fk`Y1dTtTB
zPCs_TLGDEM;GJze+L0TJ$<I?r8Zk&~ZC*3CoVoE%yCFz-3F(C~k2ndL28pmOr&Dfg
zrr`E>sK4N=Ptdh5?@{7u2PH{$=hxis2VUPwDefl>Mll=u7n~=W<%2ABjZSZbPVK3o
zL|M#&skg?%fEqYGd_?Jby#tx^D$=VGq^EYP*$futw&-K3BO@A7$Yp4;?uJ-Qi*u;M
zHoz%Ep?olr2T{S|pO$o{#n1Nb5Cji2{O4_&yvA-uHJ43P^&Tm|s`A8r)f4dN3Cews
z-_<?m<p^4XieI*zk4l^6Wd-$dpCo!;<3XM>5El+tl?5zo3MOaM`>G8!a0hM{1j}Ym
z_yx2pynyuu#YmIR^d*N6)Y$5DWzBS~Cc017ZtRYbl5wVDZ&cg_NL9^VU<oEXwz`_m
zi%}_bb#ij+X)7Wk(zG`aUU`0g-thSFpgLBB>kKZ+_$MI&d17~Ww@4<9e(L`5aq8yj
z=_y0N-|uC!&E-d2T%3;ibawgY>q#EXgj{fg`IPbN`+Lpp-5s@rR9$oPa${}ntgEAA
zL@tv_nCIQ$Smfv1qsiD5lte7<kZA4f4>(N8&8@BEFa*5e`MEhG`7Cz3*gt>NVly(d
z?DP12SDnG}nT#RO_Jrq(Q7I|QQtC`btP6>7WwSYzfNG3hd}njMQiFl54b+&CQBPM_
zcy95}KL;(9QdyXEMkC>iR;Pm~Cd>I-Z$4+du1ydqB*IBie>gG!WMW;|Ox<K&dRFJd
zQRu~LO$`l>#EB#8=Is>)uKdLvVHEkGuhfvQVP!Qnwf-aGk801|-oPV1@27{4hXn;3
zXVAs@dE>&K(83-m@p!_VkT3CEA|>NGO>ID%aLlf>&vp1Yz#lh=mm_>E-OSh+HH=i;
zU*^P-Gc)~}6?w7D<9a((ufx4726yRtwgCK*LL8yoFeS67#!je5MlgApB*h?}kk1F1
z_O4-uU#HKM8A0{tXBsgH?x5+EVZ++lVYSR6KHN%q!SLc}k??3qMOBq7798vDHw7_d
zICHAb#qyj|?a8h&t4p1xC66#H7FkwwTLL_M-!MSE6drj`Qxl3pY9wt;v(wXQxIYw*
z1?Ul^1^T)`E(hVPa#$ELBr{pflarj90To<1<mJW1s!S^F+%PGyP#OphcjUFOupoSz
z;>E+mBXsxYy)c7+@#$u#aJ6Pzb^fj>ATgOM6kCQ)+dn?0=yjGcbZ}ru=l5*~fl~u@
z_Xi7+>7$>;^~SV*H<q0qS1FS>Gob^-Hs$wStTlK6lnB)qd1Yi|wqI@!yjDL8yzk&|
zO5}VJ>iZ-|qgAJigTy)a9l#zqK;N=JKIH<wD6m<~V?e+q0zO&1q)Cf_l2NL-tUxtb
zGrfLpr?C!`wf8PJe1w#jR@Dnzke5{esVF1d5z_blX=(T?LmNRlZ{9q=M=Mzv!zi)`
zW_Aa{QW+F76htKkWTFlop6Yx$hezc+_)rnmg&1$IkqI0AMl<9E4=Fy<D;?ZxeSMwx
zfrl{F0207=Nw3#lTXzV2(f_H?!iSOHA+tgTgUI-TzLglx<_m#+$Oo9EfzVii61KuE
zE-kUt_Dl5_{sB(z*c$j^Av<I+XgB58@PPh*vm0_?1T#FaX)#-_LTMLLq#jJivHEl|
zCg|TVY|Ms%6vsTf^WTRtfVp;ZrgxqZd`}q%K8(%lCHKx4lps%#xx?dnT8P;GT$9C8
zo?d-k7vjKpZoH3-`;LlBZ|cJvl;@eSgmscy&@Ed8*``X5cw!LqM;bWgYdJF)*%936
zGR|LHjE61an&1+YN(EKuRLWFJ-&X`_;m}?)1*t*LJO@ZC%iBYjx7gmbzuh*CTusa#
zTVvy!r#ew|Bl%A;7LfI&Ay``U3RR<@)OEZo^Bg-7OV0ucDWGwW(!2ItY8egpwsIwx
zZ=@6UpPv5s-|kC?<(hw6O>n+^#mq);>+!+gJ?TpVy5xLu<U6E0J@P8cb=*5i2WEel
z|MoV(;~i7*6_S-2UZEU6rwEDa)Oyoj)T_kfrxTpw=%)43_$`<7seTJvJ(eV}RkJ=Y
zn`Kld+-SVyf#KGi6`lMZt5Ybh$7hL=-^^Lf`g7mbt!pZ*5Th#w^BbmigOMRjtJZR8
zeDLmfR_xF(U%6ip7aZGZTs+G7ZG3;*x2@7R^}U03@~%oRS%$;8=sxT}q8!H0D1ClK
zna1CkD?_eIZK!zl-w8LcQBso!j!552$RoWhJcf~^`r%&9{d|?#zmj>-bDrWqJrmcf
zo7D?1GrjQA9dK7sS{!#6A3R9IX!T>Cy^p85syZs@*YTNHItdW9B~(UcTimM^*O*FN
z6uUK)5ny|d@SgkF1#_un^C&vLrfK6IK4@icW8J_pOF37v3nv)Tcm;h`64|m(SJ2c)
z{>!!;&P~Lc*_LwY-`a@HhGmbdyldIh^>P+NH+0&L=DXxN%%Ieu@6X}8-rk`hLECxC
z>C+eMSeCQDU!d|)-eF<%5K~eWP?Ut9$0=3kap5~x2>$$&@cr5XPZrJ)q2bP=?GnRc
zW{WJfRWwp;x?^z2rBK>AO!l^{y6_ktdkbtVt1cxLbe=S98MG>wyXepAI&aCI%BR*q
z>086&-w23W7+sIkfO^-qrLQ9a=i;PmNAS`aMqh+H5|Pzykq1Rc8_!cD^WO+7$wa&V
z^zlnX@$iQE92|V>Y8(`AmA@ZIdwz0-%5=JjZo|zxOnD%VyEUxrI54Fe&E|;F8NzM4
z;vMtV48`r|mt?Scd#JHz^RK-ema$C5FQ{Y^5em#|)^GOQ9d~MFtW7V+d5_$u4|J5P
zK)oQ$Wv8{6NGU2_1&0*H$_c;~oKAYoy80lo5^TfB?F<T<+>ub}5G;DyRm<5gS4qWn
z$b~DZOuZD$V0e3-MuUHZBE=7~@pt$TX2xBGy=~d#`@K6`ZnmN3iu?Ug@Tdt26G0(H
z)L(p=poKFkB{0~rGjv!3PYP&lS>-9VzF!|N!?BumHO1oH#)Wm;^Shy%gu_+$>N}_v
zn?*i`L1?|&+n#bXnO+=^W|0*>M%*3$>J!M@8(@w4^qoJCzj7cit)g@!i7sHDg*yYo
zYDx^fVf5r*bkGHT7Wu?wA&_0rbNxN;hnhDu5LSQv=6%91&kL<k)Ey>)V$gR_io&X)
z_9an4vzPG?Q}w-7=<l@;VDpVlH+yI%XQ8L#!h&6sS2f;uWP|Kk$(Eee9yW+lCwT95
z3+$I}s48;pE~cv2RA|M}eZKJoE;4t_nA_Ek+*5$Q2$ap{lcQXXeoN==ZSx;RqC?1~
zXuX2*_nwk@7ev+8b)hMZK1U8ur-Rqiuv7U@&3cYo(hCy%_SJCoX^$!&<TeyS$jNZ)
zmQzJ08(39N*+6IA)D49|Wp5gQW(4l$2b<{>dnGTAmm)OSIKLz&0zq-g0kg_?`?+j^
zXSu~eaL#!Fr0?JPCCqUPg<$0oE5&0|aEyDs{NDq(t!=Y)x0{Ov{i-s0z9V0>)~JtP
zkrXkN4Q1S4SFCI;mSZ2onRe&-=1a@~T~?%VtXAR2aYKM;Yv&Kd*r4(O7Zpk*N8OPF
zWsg;>{5dtNnl;Je8ALRKhKnf{7u{0TRET%h)X*AR`uE>v_gjK9!+935m9j0knNqvU
z_pP#B)w0&np?kPz(ut)5I9L{OOFf)hRR4lLS0CUIO<epkty0KpnPde_*f^=&lH$JJ
z5)Bx&_YRfq+YooD+s>TRU0hdjT^c(Ya+=!fES@c_CYP^<v$tw0KgQ|KPuVwv!}nQ&
z(n4`9&;L=;==O0>t!JX)c~E`7aO{{9MDR>z@eV~5EY<YvgJ{d=_DAyg6yLZ90)DYw
z+FpIFid4(^d}@7egGu4+ibhM}FX|epxv`~erXi2+f7Usn@OS%V`ZhHlB5@k+lgm#A
z28WuaHi69%P*Ky{e=!}Dafir0>vx(e?sRL9JO5zKv+P^LL(`F@VDEU_xK2p+1{Zz#
zGCnR5hnR`l><Z@?b7n5;8Y>6SHtbtNBT(_A5g@9sIcl6d^B^E`z}gHn@caCGs`xRt
zx#j)T_SSeW0}D#&?0y|dKPd*l<FFT&pMJyy9)=im$0ZXQ$ak7fhgV%n$+TqvB}C3`
zA5tg}{q#?7#LdYGn+z@Hli&3D$C+fLMQ5Y58XL_L(#`fe8C-My$|8sXXq+e=Pw3{K
z&VOXR*6=+zyGb~n&F|M-g+4VZ)km^oj&$I0SyxSKw~=$h#62+DKnhb~XNuu6-LJNF
zKHOg34rAbrwqo(Trv7DVoOpXWAK?vQlj}5JQpIdGNnG&n40xY4o_?f%Lftb}WX<G#
zm-~1R(y!E&9;hBdM(~g7ci1O0x_W6&jw<m^*X}`D)AVRJ9nF{Io!f7XJ8U=mS}bdR
zaW-#)bhs@j;xIZU1U5IvrMADFjGG>VMN1_=7Cj9gQu<}7Vl|uFeOMMTox!>_xsW?F
zuFvl>wD{n(Gh;Sc04TaPB#l6p1ip1~XmI6ZClAG8UtQhWe?v+y5MWhkuX$T)PU`lu
zw`lbe?&z0(OH3-!n$sHUaCrjG;Mo)Shy!^ZMBGQ`7P$I@1r84{WV*LW=j=>(BG13I
z;;&8Q^*cHlURy9!P?V2>C_!SuIizsEewb8>4qe)MH?9~pYJ5DuRX0c()<Z_7Aio$N
zc5um2Mi<U&NNwuHf?lEiG2t`ghw(D!qVC+Mwj{E&;Y^!N?RnYtUX~5h&1bA#f~zka
zerqS3I^~eaYMtzAE^QF66T#qDLY4_rGMM1L%X^ZG^OZDVuTUS~YPvh5v0q%s%Y|XY
z>k`_Nt`<mQ8m7q0X^oN7q!YA&JDPJe6;x-gisl>0{xnu!I|~f*^Z5#LP7^XI{Z!x-
z7QRu@EX;D=eR!xhnUP&T!YEyJFt~v349R*K{7u{;2|l+0yo~};u&+k9FeiuRcQRiU
zzW}&8%!Q#_CX(mH8YmtrN-aR0KR|+6+Hj$Kp_b2t%(kl*WI4Mf9OJ~icf3Kq_M$^k
zv;LaOR;qo=*jO4=iW+6hA7mu-2s!bMr;6VRyFdBU@Y6~ITHpx207iee!GVKTz!inG
zyN8CTcjIT1<3rg-EhQZkyZ<wIh+Qs}j)!)CGc+9Z4l9&8p=`)a2u<z5yNzQPAk(@x
zJDb-DMl>5Hlx-}x_BhL{)_($hl-Cd`?Rlf0gQrZyG8+v7-#M(N`!>)fbjXqTXBuwr
z?ZQdJb9QU0NRrF&WrHKdwKu0X8IIo@8(}^DRnX47deBXai6i7nPPY>nM9ciHy3~&g
z0V$MxE->-D)>J)J?WK>6E`z<3!U@OF(Jk3lX9;MnA14M~Y1KWyuc^^DYwSU@C4cM|
zXTY%<E9g(Ol2un>rD<^NR00Aulw-H>rO)q>$^$o^B{e*9fc)0=<vqCp95Jsw7d<P<
z`_IerM##fJD*`4QoS6Y_LK2L}U}NK>A|*eY)9^;9r9HLU(Q+Q-MDAJ9qQf1jxdEI)
z?DjF?1;g-+h0Ab<jgQgQ^aYDk_eb2BCO6riVF-L<+35CihXzWHQTDUnZx1;=Cz@g(
zsVrV2HK)fqeu&JlJpcj2ZA9@Cev$GYrl;7{IIl#e+Lz;Q*(iUKPyJb2nD1nb4gy`o
zrru|^?6#dM^5<BNSH_+81kB=~`OX1+HsB2|HGPYqxUa*^6cYL#jaz?`JNRGS4-)gD
zjCR&KYA;PeZRMxKBZ%xp9x}i*oi4PCfQ)JrCA!CBu})uZ$_)B)EINgjton3A^ow3M
z+%cRv%4jRnM>AG!;x_tu_a)T$<?O``TBa4TL*?FRXs<H1)Ncn)qLuPr!=uGGq2fY+
zFqheh14(zdGxb63ChRvmQqVzlU&TS&stK>C7YI%KC!*iGf8ZYp|L{>2uia)fMXul5
zbqQDCWfNb@t5|5qHnNeenS@Sf@(0r?V9;Ey2p>qgp=RNJ!H0R*eK08{by~Yk&#0+7
zX-1bVD~1CtJsfvi`wJcCnqyzaq#KK|c6CS6SAKnZi|cM7?--p${$UJA->~}?kW}UN
z0ST=%wT#Npxg8<MuDccy(qlgs+Mt}--V~C26$+V#L+zTcjIX*Mcr3^9HSv9MFvavj
zdciez*SD;x%6~%yGNtwUZp1VCzkA)pcY|~&R}XNW__pDGQYeG|t1`mPP3%58oEnam
z;xL4<c9^@0*3>r>LIm5EpsSAQg1=|a`SCnuLBjfk>f`$%O}68u@cY>h&D3H4N?cyH
z=*U9k__|%Ojpq?FlM&9Rh<Wed>xL%wqKMTa*~{J?foAIwJniOh%w?kQAK3#*G!i_b
zVGsWVgr0=@*_~B!_p+)S+8@04(wur&#j_{HSo9(C^l)}N-X(5gIia>UknLq~tGIn|
zKAxa)N4T%i<7&47J1QgDnWBIBd@%-kAJY$7e~h>U8#Ci^_@^Nl44d~C5}fX~J;Fm=
zO$FSL36R~i4LiAb90G6L1(<XOw4V><cq1y$vm=?|t`a!npJS$RQGTc%t&I3vZ6;=K
zbsh{Z9jo1@;aT`U>Xk$;JWZl3pW`>hVlnbGG*bEHii&7RWf6@srsI^%xNPFFx=(Mr
zs+^4CtCU6HcdLlLS-#r|kyQ;my2YHZa5ub-Uw;_RfF}QGw^1;*e#iq9%+197opZqN
z@a}QK<$KFw@;;3z%A<V!244l5Id_5;XE%ETYe24--4_hi0ELJ@+Mi|&l2m5a)!C_g
zJd>Bl<#Dz7q19lXXc4mlkIg8kMglVS!UA-C<}z6<rqv`QMw~<LS(%uOXks9NW>yMH
zjDv%N0WhNQU~6JxQZ4*S%=FXRj;}wGQZ5sHsl~y7Efj2Vd6@#K$ec7gWaea}a7+yy
zvKDA2j6)A|aBwh)_e>D7S|V!{%)@86Z7wdlegd7PLF_3dzTXduDvcQmYrKREE{gyq
zRCr9C7+s7|5OSn^AZ-T3Vl(yQqPa3bMgf3mH+UV9gj_@L&b2BqFp$ie4pj(kZV|?o
zok#Ug3{5c=t|&2ci1xWBi|Hhp8*>%19_?%ZYknbEQr%`Pjmm$JmyAr^FiNTaV}$re
zkn5YPT8ur0ZDrWp-={T;ymCftcxw=psK}px$fS#Na<;^)3}2R)mu0OCI+eIVyWrH9
zD4=_UWn^sNFcDMJlT@h|h@Uz#p(Ut~u_27fB2X!8*)d_6pwj}oqWCj>QKKUiLuCGK
zcX=}>k1gg;LZL+PnGC~|SkoiE8z5%>kt*#Qe0GAS6jf<Za?xdNV*e^2c5{3D7e~NT
zp~A7*5Qq35rp*9GN#wJDRF}qj&i!ySvD$K()iqEy#P~o69WTwuQk!{M0uU7i8#;sa
zd_L0L*oaPwKc^WDIhSqfJjeMVAF%}A0kj@v7qj)t<a72J1(~^B{}~2mRVac<%0_^a
z432Y!iT-sBKy}k43jQ%@wwTTJG_h=o&v}vN1x-0fK}ZFk0d735h|BE?pvYtc2PX})
zOomqt{{fEYOAjg3aC46f56c`99a>+{OcW}MFe#Dv`9ZF!%*3QkfI^Qt)q#RE`wBfK
z%E>Q&F3xI0p2>zj)eZ(k5sKSXgPn`K!t$&U=4wO4ij*aM)^UN_D#Cdt#Ob(^>WkUb
z{pJ4we{x1iJAkl<8!It_BzQL^F%Endyn4)^SjeX_{K;6_D$A5`1iVt&?PRxu;n)RY
zyLH6u|Mqg;P4bg3u$v~6k+=ybC#S;4^Odp#iRcoUG+g`j#$P{HjvThyADR6SiGSj(
zg`o;EU(u-3R;@KygkP>TlyTC~RDR8u$V^E|Ng>#*RCnPL66Vq)LsPS`uw*GKE1%sW
zp(iz);?@711g)b{!2x<`kM(8~^)uOA$yoUK*%$l!%J)ZU2JF|HZ4EG>c*4TMnJ1GO
zDhCG#$@l~WIRx0)>9M#i6dU9C$TGj?vBLLh9Im&!gn)+dvF7ii>zy8=`T2PeHW&a~
zZEfwShod9o$TMg$-CCF}jf>!g2aYCJ2ZL@aBc5El+0|y7L|uKgle2S>*Zpx|Ru*2q
zRA7~hn;W0>dcyzzA0rz~j%)))$bK34f4cF%6+p19g$T_bo}cSP1}b+O4TMqr4<Y}b
z%jwj9RE`7P!`Ie>MX_kiqnG#h6S7UU#ZpS^*}0jSYi2EpZZbPboqB|&fo+;(lFK?z
zv*h|b{3WBY8RC(#7yaNWvYkZsV!Ey5|9SmD_vZ+>B#MHBr^gbk#e-w&d4E4xA~<so
z&dw$TCr%nStlfc%GM1=Ss^6;D=;wrvaUyjzs4`<fQ=A?Clu0!;LYxGKwEWOh4bGfd
zm@px5HSvq_dEBcIjT(^c;V_|XknOuVI^M-U{5BFuL=K@Mj#c&BoJ-c4?KUJYDTlWQ
z#>U5`3DBC(LSWEZf$lraXrz1_WF#;#L7l2if`Wo#yhx0rq*V!A=D!xkONZPYVXmfT
zCFLq*&b18kL!?46zIA1Bafl)X^D()(gbQnHT+nbU_>2Ew_4M>g`$3YxNqISOO)V_a
z%uP&^<CdB!+7v)#XpVsSviebF`+&io7ax8&nF?rHMV1>$dWcFawer(7Y}&*9!jI$8
zz9KdX>nQ@?1bBzM2)8`?j64{*$+`J?=0RtgzuwPRccA1JPh-TFz|FZWW`xKqy_GB`
zCMHNc4!<ooMlLqLO_PWszwId5ys@cCZMIk)jZ!{Fq!l70dgzJ{a&I4*9`suftQn?1
zg)9%xTeA9mr$?Zzy?7fKRly7&FiOn-H&+A|tt&tQjNKi!nY3rVu7D!eY8LWt(WRGE
zI#g9T20+kXbSQrnz_E?7+xOXqf@fdhPDXVoCjb6tZ1?5bf-Ilqb<X+s{*U2*X1N`Y
z222}VTxOuL-KKB~l0j7yr%wU<`9uT}{P8=jiD7|ta1upMjp)D2OFG?J!$4%D!%*Nu
zpRu|C3>HO`_8MaL|ICNHM})CSw$&BUEb=15kO*F`?xTkCuUL+s0<dc~ACRB;f{Pso
zEF42NJmuBMZzk(!oOQRXM(`Lm8iS(7di@pX)BDUB^mCE++8kU9#0`czWv=^uY?#<P
zv>htDKJb&_LaTMP(y>mW!2S&>j$UEy*FL?!owL>3dNPK&42ORa^T^uTa9>~GVzBT<
zUa000bR9i<95$11#HTZb`l=MPlw3kO7p>V}KBdeU+)158Dk;`FIKxu}+<Z>l!;K#R
zpFf@k0<3%8ef0-F--cN})zHU*+dqa+6*<$5q?CTIkrT5+yMRmqNE^84_)|gT@2~K|
z(|eDdCL*iTiGS5|v5`jtWo}`y@;Tg2bH$qq{I4M!1tL&a5=6eD?V{GQA3wmfp(q?r
zuG`Q5q0z|aS`v-oRB(*qR-Ujri~MNMMV{~>>4ycPmr!^}GBgrkjx3WH$L?STHiAJ)
z*ZC&5mzq{UbzxPe$-89+IKSjm#N^(KuKw~wWDHC47bsC0NO5x)rHzxe`Da$~x9#!n
ztzzsKt_%*VTs>_@Ct#jG54*g%UgH``?8ev^MV+pzrOP%)oX$8pLIk4pvsY43)K+NU
z3Qon`C^`Y3uYY#`H-GbgHY1fy*)=5gHc{R$KRvI87u)*@ZIaF^`M~2OPD|>TKntp=
zXQaM~3Up5`GKl%G#-AGrc4mm01Xrzf{6;0MZ671%06B0fK9HIFX5k@1Br4dZ&<=y?
zka121OZq6=S48Xi0N_okHEx?!F1;0xF5`L8^6Xtcj)?iZi2B<*PzYEn{arOVySK5>
zp6T7NqJiwQ<m(8E%|s-12+hD7?H%dU_;!!IW_5Ew6|;f@Zb2|4cE#3EJk@=WbN}E6
zh25VE)=&S)J+J`qzEvPJ+f{QTVeCy4yYxmO*w=s%6?#?nh)4+spxx;Dz)Kfl4s_kL
z-Kd7}Yo>ji@ytVR@Q>I@uS}-$<$E4gWtQ?-?vJE7j#z-6$%FF>3RH6aP`JVm9{C}$
zcU06+^ChTfErU0oYU|=qA`&|Z%ECuEltKXg%U}JMt>5bdtRT4f?ZExb%Q^{__7VKh
zUiD2U>K-AS5`FJPDJ?N@c`~9YhDPxn`);~_Yjl<krV;3Ct&yX!_Sn7=<ezeQ-X3CE
zR&)k9qv-Qb*e7BsR0}Wo3c0N9)lfG$X8nNleKh?BVZBE)TOrZ?%sbW*jV=;7&lTtd
zWyrkS)q1SCsXF6Gv0YrPnWd7ptCo)iV1>4!e;x8Ot=m}=`PS3@)Z5~GvWP)*p<GY<
zuGN`Wb%L`Fk;t@%Tut54<&|@um=SlL*b#RgSmFMb@Q6<Lddo~T;nZtlO@}`-_q@d}
zEpfMLdT*BCP&pr$7iBf|mYYBz++K0gRd7po>e7$=b>gyZ+1#GWErNKD#jtoi@#Whc
zdXw4Wwii!-ETISKIH@Ee8(MDu25?ix8Mz!jc>dTN1dLd$SH<N4W>28LcR=gk{{1>l
zpH>$!Dsuc1UTrUJSb~c6D153$0y}Blt6J`~3xb}>!D)*oWq~!I%;lLmncAR_aMAT2
zc1*}XbF+eMDhzX+i^LK=dZs?lq9NoBjB2M;)PK(VnV3`|F|}hrU!_xfFoNFw4tZ88
z#GKI*c-}-qrl9)@XzRZHsmjqA5+%V<aIq)T`n~%z!p1;YX-bBw+!r({bENj^rN;O~
z?v&zlgnOK@_Bvfl8u5Jop*yBaRrj$Lr2<)2nKHD(55}WHUsz}eZj{D*uD+_=AC^Z!
zKY4P?d0IQ`8X(MNDE2ASszDZ7=>yX;VbDt#GV!M~sHzmVwky(Rw)6QM`Vg*F=aGn$
zR5Up0Y^0XHU}(@sTK40F*lTeU7rhB#M*AbqvhJb}PIpBzsMxPB?w(wd(^-ZkH}M3{
z_Zd1m{wsawCcmJ(t-1ilK8@Eh4r`No#5FmFUdS%fDi7dAZ?o2HqksoFY^vXtWU!3=
zZQ@s=kixiOciu+4@QTL;K9zmw?M>*v4XL(5chWz*a@XbY?TXR&F+9DIA1Ty#u`Z#|
z?R&d>JB__$(P(bRiFV#Bw;R|!>`RcY%NCI^zPeLCyBRa%jZ|8R1H|*>Ed)TW+MrWo
zABWGC#A7@NeN}5Tu&%#%2ow~K?~msa^cS@P$#L=WFvM*O%)kupFGfbjWL+X)`1t?A
z+`aw%q`iOtBy+Q;(%J2B+x8?Z&COFI5@_2j9p4^KGYJU^A)!ZH+})44I5}@@ZEZ&p
z1Ue(pDDPzD<h)kZ^9J?+qeD=SkB?f_)zvWa^71&q(gO?vQx=%3H3X7(Y+wZw!0RA;
zwMY8Apa?l?-Y`}qWV`QxMj<<!&F9@5n3F>gze#OoWi^H;;Kw^NI2giVy+}pad{Cfp
z=5f9p%Z;!vuXS~GCFOE5JtgXoR`?%&9o<R;vfVylW)}jR6Kt{C5J=r|KHr}eh{?1@
z#eyxx<!ESVz~SKFwt@O9qURPK0m18q0EsN4tfXY<e5<3SJ2NxW#|Ify)AAUCKQE67
zSgL`(;kDh%1^g191qwY-ND0U{17V<+04xw^M)OwmiGw7)v!YCc1P5~Xyg2SV@Y>ng
z5td>Q_TRFyvU;xS_W&#KMJr_AsL;NIki^VL3QS{0=uy7lU`PbiT@NtU@_dV#T(A%{
z!yt;8R!RT>Fe(xJ&m!~Ci5MP|u$t^^ScH>MoDONv6MDpi5&I3815SuXO2Yf$=H`Yr
zhZUOM%L3%Mj%wm*^m@#**UZTB5sr~5dJOj8#>^Sxrm6wUHbVd=`sxExY^*8i&&Pd#
zwYE^-YG+GJz%nolv5e36o0X5BpPz=Fp5EsB>+{t6=|bz^^73zJAbH+90A>>y>UbTA
zCsN??ezI*-q^gpz8XX<A<a9Zf^))s&egy*V1z@*F@5pxO`hYyM&je5gu)<^u5)%u?
z0>qfCs~Neu+i!XU!S_Q#AnL1)?vJOeG-WN5-r;|N5BjA!9gd=0H#RmpgN2*R?R0s!
zpd5?SKaJ>yFt0b;Wg)X|M$8`BELYtQ(<ihW$=6-04deg`@!8z-AdmYM8w*p@$3P5O
z?BpMfYHbVgTqZ8pe~P}EnwpdU=EN7_#hHimv*w@J8r%*LuVnaq-&{ppA9DBI4A$>`
zENom-C(lN1>#iqm>n^9XuFU#$8h)!e$;!$ORA7*l8_+S%vn^jzdG`i*iLi>|z=a5q
z+m{RAxAeR^UQCzjoJL0vot$87^PFgF`V6<#{!0<rYZ_b|+Tf_RU2pW0yZ@5geq1RO
zhe?yYq<HU(@;yO3PSMpT|LrJ%L74gl{fL28P<{-?Thk3ab6&rzb&28pijgZRFXXld
z13>qMQ{zAq@td?vObg|fcnWZVbRNur6H}=43$S?R=)F&xy4n9C^wh$Hnlh8fZ+n35
zq*_B#aG(vB&^YNUvVq&H`$xPPhfAW(+TCygn#OtRJSfl>otx^9q#)LJb5oDUYWmvW
z&_AV^Y5Zf~RKjvx2b|5~GM_dB35kA9c;M1Ep~od+bRk6wG~dL3x{K%}DmOJ(u$S0!
z94X+qu<54L5^Xc`B$&~fg15U3HrI42e4U7LU_geYU~ieQwaG1D)P+{$DS#hQJA0p{
zK`b`Op@7K&hPQJU1fj>XpCyErn;#}*?&bB386cMfTM}7Ra8+h?^Y7SxbYoSaarVUo
z7R2t|F-m?d8dnAtc@{2L-y{44Fm^oecB9&fNx1Whn|lN$EK*9RT9zTa<t5|k%7<zn
z_KZS@|Cx9JinZa>*OtYr_aN$npL<9j2!(^F=s$))_<0N-@0{9SWNQGxnhqUL`32~!
zQ%qw5KSN>kP-93Ok^Bh@^4Ht>%7;Zt)c_eT)&ohz#0a0a%L6`Fx;wb61e^0Y*-?*|
zb#oOC$v<AOHAgY438k9BB9a%r93*==+J(nGMH1ZttPp%yu{Iv6<vAwcL(;dkNd)Px
z89tyB;WI*NZ`c~~&~FL6I=r5Eqb1mq1OwMcg>GFQegA`aXZZyV8m>MFc27BArw8JN
z4Vrq|Q#c)qXw+kVuj&wN^yJ)aW>iiO?1m9BpX6()-Wf^o7BfJnlH~b@mhs}-OI$~?
z0z_w*`H35ZR}RGUi%#&~14M2IgqIUqu^xQa-7{LeM{oL@K~fqd@>H8uVt3cOeD~aJ
zn}(z&%LrtR1Vn&7U=#4`?{O(4BdsU3;AeqGW-=JC69T7}F|?|xD)pHzpa&AnlomqL
zEr@ZXF9kH{C7a<5FY``op9rXv4n`cbLps9^7%k}wQh!{52yhC|eU;xt#e?;}O@aiR
z`GP3K6-Xr;2z3iC@MC~1Ci1ZOLyYReJNDrb+aU^$(*n4SMM(0I*<Ac71?46ydp(`@
zF>KXXAxG9V)<t%}`#vx)l@O`;BhAtNLbbL$VyNoTf|(p{YlA0X+`z_JBKpSnq7=*z
zN*i7A22}Qew9yz`rijuo{Q~7-!P;HCzyzdTL+@&7K)VotE|z9sXKC=Kp5DWf`x5qA
zoe0RjLFs0~9g6FyWSL9O{~UYXV35<#KxGr3m(;OhVtCtaDKIHlShOQ?@lg00nE663
z9GmD)z_X!jslMuo{;`M+1BP0zCSf6{lpQOK4)-199Nn$|Aq2vOABP%0qQb_?YKln2
zpZ(t!#m2|S*VH`lHim$_mjc|lD>_WaP>C2A7_wgPPk7o}TdOkIY}7^H3v{WV$Q#-x
z)0u+LfzC;gBMH!tqXiycslma)@v*UT6gYLl)d6G@ajLgZPwsa&H^@_291hWKZCo3R
ziz&Jn$C}#O_T)vWV;GKu5h&wun6!*}JRa4SPZw*bIyxJ6!1NRwS<zz*9>+95A&(z^
z9JB;!s}hwC<@VuWF^|PUz8%<#1D@Gozdslmip?nX&;KdU_bG#dIk8-jbDqTGm#6L2
zYB~xks<8rL`-mANJxg#<&?xk8QVWZdekPOQ6qmNmcA%pt4RqZS!evbXC#vY)(qZ2A
zm3_ZdN*$G4f-f#Fn;1DqMP4!?At7_YA>l`RLCVj8KGbkoo?nGRIpjw7+tcL)wt!z}
zQ)FZ$O;C$$#axjD5~O$wzaRYt&|drvJd9ZnG09B<PK(7*;w}_8AQEzNv4YG_QsQx>
zD^Z`=G2edDL1(X0*z>Pa%s`*OWcE2*F<3p%|EtXeIQu^7vJ`NiidXl^35nKhiYB;!
zaYcJf{O-mmC!ZW$>jc5S7`6l?lbYUuUV&D+@hIcWnI?Ee!kx5)M0n^g2?B#Va8XXS
zi+y%T2ncdxw&aMVN%ktxF$8m+TFr<NV-nr!<P4*<(jdp?Xe@^5ey}F|$_&Yit40+2
zADD19z~r0XMxW7<v2m3ywx+dK(Xpr|9~S8*?&9WeR*sA(5vCvrI0&~zT}~XX4EXC9
z-+GiM`Y5y^&AJ3D=-An+S95c7HqG9!q9^S_liie(@nLrvt<natHDD+w!@5gC8BX#z
znD}_m+WZsP7_(w1igk8=9?kmxP<L#JWHA}pRzvh6XY~+OT+dpzH3Zs@md5xCoSY*~
zOH0d&L>D`A2?~j=iD^g_k&w4Fd+I8&oNaP(*y`jlf34%{F2@7Q4o)gTm%UC$dP~I!
z*r;*?@+(_*Jy;u_*h72&Rs!P9fb_TrVrg2h`4Qi+pG7CL^t8T()2k2EDJrl@z>Om<
zkz7`MYQU0$Y^fp%=Akx8iPA&MxP0dA<pA*v-26g?LnrsduH#dF^JP}&7`*Dal1f%%
zgzZjwFMPAH8M>p%Zhd_tRlK|HSY)f7tsOx>A3H$1G<vDDx}$5#&S6e1MYe;$1J#Z4
z#gZxpQsCMIP;7EFfXlxW&th9a<WYNs8f*V4KKG0?ACLlun0`UIQ+*Yy#A_5;@6xy`
zXs@@mp+8XiS~<<5xF2k2?tFT-t$v56;BGAU#VoS)`(6*x-R)P3hugLCUA)`Y43m!2
zh6=sjR+h{cjE!vB<lb$X`P%s3N^g@f0b44IRS1Qle`jA6hZ^bCS8_jlHqjmpQa>^?
zm;c5?jUn8~{S?SZx&bCO5Bz}--(A+>yWLNL<graaVPWC>oCMJr)D3W;zntbEy4qZy
zXS1QZE-BUq+9gw_HtdfKqs4eO@wDj)@ici^Np@tM3>TXD565Ai7Z=&f4^9({H|OEW
zn>}oWXQQmu7l4bKgfgQhQ~!_w;9jOvH!abzoc&wVJeKN9IF{<FjCwARh(?s@WL(U9
zIyKTgCpE(TLy>gd`7YP;)5GIl_`qQ#E~8sh?>In3$z?~kdIDX8jXl!lEWfoKGOEIQ
z*ItbcU0uB|CrTQ*06j&c_p;s@d5`(~O9WbmY7~!aN#^MQNxMKQzGzw6nn-xKtHJS1
z9<><V2afVCUc`7Ch0~o3aleKrAb6$F$l%GI)A^HFSiNt&=#?~hEVsTV{LjlqBHU78
zRC}4?mLk%hctSxjzC>;+iC>j9c8T-hY{XuQ2uDaZLb^*J6Z`g250rE%e7nVKGF;()
z73f=))*%f&E5h3Dbj2Uq;1)GY{cYLnsYgf}2EOt=>QMbzNW1c<WYC<Bdc_=0fft~Z
z+>nmOOxRJ>xx~5%Kyp}*D~;UR{)LmG%F&-;vqU#R{h_P313@aq_i{0XiNKu4;4SDP
zOEPydF6u!;I8eS*LHzlQ`@&xdJAJa8-)v2CAdZmzQ3B@Ie>9ZEmY}8x*Ar=NXmnUZ
zy5)3liezbiJrc=HhJukQ5JpsE@=!=IrmTFAZcWHHU`CeNjC*xZA7*)Dqyo3wd8tKe
zr^2xYp1J<!>|UB0ah1X+o>wU@haylF1n1S{_^Stz*#RZ53Z(DR8o3aY#p&~?Q`&Jy
z2t>~e$&%Rw#=>TtZ!Tv(EH!7R(g!RJxdOkay?Re;;;w(nnwVbjqXw4Evne09)BTeg
zmopa(4R7Pck^LuD6A0|w2>r=Qzt`gOpAEO0%737ydv}x9qD5?UxLwMMPy#y@L1KwL
z5s;ZmhWm5N+u2P!TUMZx^i{!8PzpM!Zt<DBP6zjxe_`e>2A>J{PQn38JEBXwUFTSH
z`M2mGahb<Mh%&7?X(|sOcQS;{qfH%6j-U1fx*aMT#?upCYIHJSPk8h{)=H)bd8!W)
z@lUAVtK%##|2DI-GdxX*cyS3qIYfLIS4U%Bk70U=>tnQCzlgDVoX?Q1{MFD-{kz}!
z>U>pvBp_~yJEN5R>AA=qCf#YJf3{jvA8x!N_8TfG04lxB#Z~si>Fr+coBVTl+U!|~
zvxy;W_6H5ZOFU>v1E4&KMaz_(jah-xi?|&~=S+u5nt<m~<w0MEH86cGse{2QYSx@%
zC3zeGJ@mhwlZ_1x8~;hC?xrR-m-%8TA71pW2&mgcUcwoxf3pQ=?d|Qyo)Krk5`h&d
z*0YO?s%U$o0A423J5%O!jEvV5e9GiovxmpWCdVAYelh2^&Bp&?!{s?<mc1ZPz&^<T
z8Yh_p$=bxMfx;Kxhv+{^N|Kqj1;nCiy!MDm+dX1*#BccjPqGGR`;V+GGUFADnt}~>
zo_aDW&=KRD49w3fM>vX_(BWPHy>qB0Y>83>K`M4(rm-nAVAuI6H8u4jm~mr06LE+S
zzW@-XJ%l82zu~v_$pSk~H#<VLAB-5WPl2*E9}&5!Fa)I{(tN5nAcACFRYir2<-3ll
zYcPK%aZjgl^c5!rUa++>p8riUnz@(X_bq{|@qZzj6R?x`|8z+fQjnp{Vz606I?^Qk
zN{T_26DKW{4YpKQi&1uqQFm_P3eKJsZD5`)w*KcW>QVtcB080r<-J(a5<aiNV<iYQ
zNIsAsiI2xpe<w_tR~qWD$qHGgXR0zXP>b_LNM$bu7d!5feZXFPH5;m#thKpVgb4%3
zHibE5Xz`m3K~bU{C7iNY7Yper9AB4$O_^ClL<ThN>@F)`x)A7_Mj?uzPa=HTPV-`G
z{Zsw<A~GjL4e8rt{y)mzIv~oeT_2vIyHi?GkdUsC7(iMOR63=bp&JGeK}kXBZt3nA
zKtfttx>GtOzlXigd-mS%>pAE5{l%d0u-0{7>+W?wH0gqQbvDL71&+n>>JGDj6`-L3
zKo=d&)#^lC^OT(QM9*xC9}6)gsFE+rmTmbZj7akzz7D_p<7{NC#9~hkO``q92_s-C
z-K3JzEKH<fz|XUtWhy&bDLblYI7rEFw~`K*E4<kfcYgb-D^1z%75=a;4Nx;2h9CbD
zzqq3J_K6e~lTD?|8vOG=9xqIa=jZqC{1|@`{Z1y$I73!BA?yCf;t+Zp*=hU(ruogP
zwv>KF{aIhC-9|LjIThJy8)NNwa0c1yf#O}d@Td8{_@$>WU-$%EjiaOTQfB3ciKSfQ
zBc>GifA!-d1>dTvZ@t?0lalbcqyx+IF=5w=(N9|)CWGInF5v5YX3#0nvDuE^!(qn7
zNR#Mpp2LpJ3h<>U+GE8ndc2Vg%67-gBPkzrMPk&v6^Y&tin>?6SA$gSHs<Xo{PyQ%
z5q!9rbcK;{4<yL;$_L*5q$LFHp~Gm}iY_Q|1!MB~3B2C{#oCJ;ffmSbZ#2B`5QrBg
zZHe{P_mk-oDMZC6b>lG;!gYJAlrZF3^nG&d9*6G0Jw4l^(!JJPEzdpG(j_#N*KK^w
zFTQaUp|U>i^IY9?9(o(TC1X-@Fc*~k;<ldr*H9Oe?;fJ5N*UThkij1iGhN|Mp^IbT
zQ|Ws#*wE_hvW5JHS7p*p5H%zGDaIvL8aq=&Oz+`}N<)B$$<+g|(Jib|7c7XU=#%ZN
zUlj+ctz19LkB<{^vvcRQ^n12MK8fuXl+4-tCqDW>`{7L&X0de1+eSOhTsfeu`3bx<
z@LH5BF6&#FuHjM(tLVn)U<;GlxJaLk$7$i=YHzIKvxF3p5{B(=*Q|bW7lr5D{CC1z
zieOz-sts6s7e@zi<U;eaT%gg<+F7h1H|nll5$Lw_R)$`Qqa`T$j<piA-b<XLDZCD`
zRscjyb|+I=pS<nYFXrM4lb)SJOL$szUJS?Wc6idPc!Hzo3>3A$_SUO1!||^!P<^AX
zTs*s7(HMOsp4+d*;^)?hS#dL|Sni&oGY&LDcAqhKpI5CZA7Yi4oFOr8!k^8&dQM)B
z#&}8bv%as954DMy{+nhH*JqFvM>)rzEJ(FkwmBvt=1_$j>l>#U&)cDXEtc!&;1<PT
z_W9@?<=sLWd7S!XQc49^_Ehfl`U%`4i!S?K<j?4zm%1R_`P|fNWsdR}<$JCmC%*fn
zm}Bs}hwNpDBTYW%TL3)sd-H@tV;EEd%DA#G`=2IEhRI0bAHMK^)>7TfkZOq-Q7>+C
zO!$7W<D!z#_Q=vYi|}4_?K{KU0{8Xe@Yke}0lzg4=I4BS+HB0usk<f;qzj(0+F$Y4
z>^>Z%$$ReUmPXP4+RfEp`T~C%?R<SL@3WLOyANIaHuC6w;i6A}3+u*B!h;3@q>TI@
z4Bs(#A|w+M^-tL73NN2ty5c|mc3^iBAme_<l3&43d&$sdbOgq?$%XO^Un}ZXcVJdr
zi^(tCo+D;qi}D33A#H`Su>n&n28g`s3v?efrnULQ{>`wH7xy~$)a6BPIdeq`WKpGl
zDVkMcxRLjwHvURH_1qQtW%OJ{Q*|wqDXe2KF>zb&+uKb{(v!yWLvfKRridxJQQ{pU
zjnV2Sn=Rk18~JnR-5j1?KboMTKA5l1aJy2p|13nGfYNJQgZ2sMQ^6iH<*-dc9_TAg
z9e;*hU`vRk!eI5gXq)cpa&%r-D+CQ>X#h*5oDjN=3)7l>6jb@yRuY%~g6P}6Wo>&V
z^GU7a*(uDJ<`>?>6rh-;j5Ue&RdP$e3_~KSn#KLa_{Tl1>2J8o^^P_(?t0n`+f!8^
z=?u2N7>sK0ew;W-cR=@=4zYx`w}8!MN$KTAF_{VX9%FuDv>bg)*Yly}vCr`c!5<A3
z!|>mJxs3ozN=WFa2;by%-$3MmlrFJ6vOHSPnCmB;O@77KpeP!?oUE+3K%%|n1cGTH
zITZ!$>=S4SkH%h8<JGI^Fp!oVe58$ED67bc$`bTF*3H=RxtA|VHm&PT?l$AUZOrmi
z14ZSb#GC@(b(b?y9a!GAIBff93QKdMIP40PebWgIlOkr=oA%{!MbtFqq48c(!QZ_G
zM?Fi16CI>PLFF=}70=TP&l4r|nbN_37`d$9eYv{D5ri#3)kz{+9+$T$8Jd|*yd8!<
zDuLErghw&V=Df#(mS;+frqU^`(YYte$=wy+B&)Mg2wXRUdnG<uqYQZ<Cy`ZuW3b7d
zRz?nP{`#Qe*N>?w+K$1K+9NStraNuJd~nyM@e;vLPisum)_Fgeh44@>e^abDy891#
z>7-7mb=SMtte`WW2%uTAC1AME-+0y`H}6RCr7g~bc(bq~8MjbA1)qIFktgD_Y{NI{
zm?yb_VE$psek(2BG#t<g1y0q;Y`uGygWxyjz%NZ6e3cmP5qH`ztguxdJ*PaS14}a4
zgTyUlG#Y3Mkq6n!=*(E0K807sT9+3+2WP{UTEJ)W9w$UKfmdnpug`p6IhKrM^`N7F
zy3n~y&NiUeSSnxSo9B~lQLwnB`Bj9EC42vX5BzaB9}|Vk3SDlYZ_2z`#8?E-lW4(D
z9dDz_l%LwrG~=$&!EBl<y!uaf>2Q=2*7eNVPU%fcw9m+&L|!p~v2WWJZ&7}Q!=7P@
zQ7;tCf#=W<*<p;UyjS>Omd5v_BC^JxOoeY;iB8b>w(6a+UmY9z9ki(1UbAA2^GD(=
z$?WMI8cnNJyhJ*WMOUO&%6z@zIdq(^_Zyt#*L}M`4N!?QD!h5JLZ2jpB>waxGftWl
zUX)s?$7UnrCKk#@!Yv(CT`aIcElAnD2ySCG7Ws6c%lpJ8+wc2O=T}DPlgzBgNNMX<
z{+VN=LLWdI;q;8m3Da=CW-O8k#yVvAbxU>ev@3qmjcaut!*4wOz)%Q*7pS3zfY+4;
zo=0Pb63TVFZ!QZ0zWXgpNpT|kZk2)aBe&)s`C&<iNnFqq#or}Ea6&H2F|yKsOkw?@
zoH`@oN)5_ev82l+p4X^`sIIW=rr~5{{7RP2o&5@4nGlE4ZSsj%3UutH2&<G2zYnS&
zSQ(x{3+)Sf6=52C>r4bR@tM4REgpBbQpNFfX4aRHD>dKKa_>uX{lPLjFbRE}EX%R;
z-F4UBF7-7pbn^;7e%Sp%F!O*j(c20cdUK`^j>*p;=yI$YO-_1IPEtsHcF1{dz{;c5
zDnZrBs*<~KWOTgB&uG$;RJc)~y3nW`40uWjX1Lln6%?qewzf7ANxu!^UiS8iZ*mqe
z2&M<)%P_y}5PH)$2#JYQnBfble<6u<hh$*0k_6!0{YKQo@LOr<#Yu^qoXledNkZ48
z1uZ5Tt}SHQUc2|-?4rG|bOondXdiC1_ssh<wr9%;;9b;~h*AZ<Z##!d_=JSD(9j2x
zT+u)ckq~slk)N>_?F!_;thZ<eA*lq=931fHY<QTjOaSgn=sPy#vN8NyQux>8AqUKJ
z%}FKhtRIZwC?&$+x?%9%9N9^=1Nal(yfimjO|p49jzp=l#pUb3<5u-2L&JJmdGO~J
zmkv^>#<J5Bcg<45^$>SZ{w?9>4=Buv-CJ3oJX0OE!{D{NUk871vuN1d5YpcmvA?YF
zhB9*tTMB)jp-aA<NBv4iFJ)4E9AfTH`=E)8;Ni>qK5<3vxl*nmr=OGW91t;Yk`EMi
zYF2o-AC(3Rimk%UO><pkYyJ7rHMbaFenIkLYI*RHIkSD(I!gQoYd_5AjJ#_Y$>J@)
z542l8N^S}{rlo%`&y5gUKHVXka+P%9a)n8=IT-c*!)cRG_kaS;Gq%Sx^t2>I%3JeF
zSh(l&Hyc{Hk?@zkj7(L<EI)-5kmTxBFMhILzpSLLl+vnfR(v`1UK3D494oTXMirG9
z=d2bnwD&c7usL_x<#^?=@;EpUlQp1>_qrYChNN}K_uoP+dm2@<u8nzwyr-w6i{a-!
z%U0M5jy0Ttpl7&IBb91J{s|3iCt|FDAg{37>@?mgk&IWo&?wWdHWS}S2?7k8Dscus
z4#1$zFVrxg+yx=Wj=G8Q#SY&ar4P|UpJ5PhUK$cH+x3JTf*89Rh%$uUj(BU|vg0FS
zZYUJ351*jE(*Y3<tm?ATe*o)#Q}G_U{A7L{Ch}YE-Tfn>fxLWA3~<49#x;@zIBr`d
z(Xv70Og#5KwTNq(3S(emmVLrDP*m)vDv6HVB+r6h91br4pJf%<q=^f<X$TlbRbH(X
z`HOBb@|AfNM^~ahbF{q*v4FObAQA9&OZRJ5eQ+Wo#lXX>eu;sYIM>ILCvMAUWucej
zIc!iGrUiB^67M3-a)0ye8x~mB)cK=Nu@%pV>XU>C*<v_F-A9Z!_XAlU`DJi=mytw1
z*J5BukQD5wR~mja$d~z^bPpnzs2NCd1i{2adYf5t*T{F*e)%7VE$u$i;jb%pV7yV?
z9{uCldgsg=$a^O@d+to}UsPEpodJHx=vqD4`(YDu-N)E3q2BJ`&SuoeIE~OpY9F7{
zOXOwd^l77dkIGpZ{?cKxzz^ONxar`fe}e@MzGs}dR;bl6K7Lw0dRs_>w9j`F>p%P!
zzJ-Mue2>vW+GheFrlE2n)5w6V6yvq1CeXuN_+)s{*~YZKN9yR_H!4mdhUZy(A#!QV
z&-I_D4Gnf@k=_aRRpB<H&7lrYg2n-WYrLu~7a#(9sNnx%Vp$+*PHggYBrO8C;&PAE
zoM3ObG1v;0Q6`qciD#;1yF^%G@CbS>XxKkEKxfLToh~B0bk?e9&fkTKKcE?qXQWw@
zihT*q_zVo`>nI9{To^|0C?`dlKO%hc7N_LWl6pMGzUK8~<Yyxm8K#Hx&R+V~iGkA_
zDqqBLH`5%!MFhk4UzU}Zrtu!Uy?0FCj$IXA%<Kr=9Lg{bk3yNLbEgtCbinu8WA+}5
zMT%N{7cP%1lZXWsoB46!@+efCV32=`aryR9rB%hpEQWlL01NlRJeNI^$s=20Mt5IA
zMww~U_e|O1!~Fe?R<{ahu!l#%-49h1qRZ$$NKHReM6<Gt&I@_0I9jr~70g)uU4xoZ
zMILfPb)u_FCHwi71e@J&q*-I3r%2;m{gbwnl;VHV<WKID=mCS$0H!gBGW#%puwMvQ
z?!jn(7~u2q<4a3R%Wmi!Dtpb)ZK2lI)}-<88O-QkX{@5ZyAeF1i*>g_Z)PwWTDZ{J
zOcU&|kx@xUi8K%VS?f$dq;qkl?`a3p8Y^G(oLXG@`XD|=I5cU<WzF4zY0};}3D14<
zo7_6X2N?ou2Kii6{bvO3_k*wds*~Y%&j=U<*(K;PME7tdFqYl=`QDNvSukKoU<4mA
z(t|P2r5l+#iILpFn|-&bUcK7IKbtCQc6AGcZv?J1t;X`Jwrg7QFY?P-FIhL*A(#W&
zFtI={VKHO-nk(<?clpyFB$zNGd$Gs8{8{D~NBk4n@BauYfrDq^+fS8CsH8E-gum@e
zSV!xDen=MWoTTrI5K=!ydjo6f&u{4fCED*j896V+M^rHXv@FE31Fy7mqa0E@w13g;
zs*@I2!QR*EhNr&l@Se+`++-Z&af)gvQ*!9BVzQroUcAh47>*3{ydOT5bf9UTx}8T^
z_|1NlqX}Z^nwR<Tab<;1m!T^W%@%d{OS5v$WYcox<VoYjkT_clX?7?WOBs$tk_JL$
z{;!V<Jq6|E<vGR0yEsl{Sj+gX(9fWp1o0M%$EaK7wK5zZn*%>&NV%gwYpn|HL{^j-
zoJ9zPiW@B!>S+X%x9HP;XJHe>lJH-q{5wjcQ&T;)+BeNUl4Ca6s~7-I?x_p$G@|Ua
zKl1n6)e#_bgE+pt3ET%L*eS+t4An9m@So}9rx(iSwCLfgK1Ay_E^~%(908{Zh*Htt
zQ2J!lFKH{t*XtN&+fBYu6$uv0{&3l-S~en=Vz$BPYLvY4X+mkKK3=Cwe}$%tXPVf4
zbS-pH;!;PZ-$3zWX7%?h;cw~TTdr&_OyAQ7{MeiyVUJim!XA6CNY)&@8Dl#74`}XC
zLX^-%mW7V*3HgjjnDrH7tjmThQ9nfLCZL=jzeOosR`~H%*j5lX_4`ZOBGfZ+&+rK8
zNIlS-&$g^rgp&1X@~KN+tw?@NrAN87uAkidqGt6#l#`uhO0k-s7{>VpcN~yM+`@$?
zGOxU<H{i^9)8NK3wGtCrCf^!-gdD5&M|;z8q)H9mkkh`SCFETpQL{kB)ve382}o}t
zKK8)9h38Mo=Hr6gcPKgFgUQk@Yd!>h%ayI`q9EP%D{8X*9>XS<Gvou!2-}<{n&vRV
zZ$po!FC&{r%BGY;)cDsS)*QB-&ZB74*!EeI8z43M9dGOI?bD~DU@Q-;xY<gLl{nl;
z$;C$G4c9!!N7w>MTda<t-uv@i!gEa6WqS2Akaex0cg>C}jRJ}q|4pgC*!3I(01v3(
z*=hx+YmV^bNZE%IfsKPh{rtfG>?XuVwTrxsQVM>70Cwb<?lKQ#IpC%8HKaGe47xBc
zEOyWeYKLRa;+)DFm%_!bi!eVM>TRcZDM~||fRQHxoMG$Tjv_sSW+8YO*v?N?Yt|r`
zM}ogXfXELF(^$B_+*gQdUS>|V6A!?#URatmAs0815`O{~v<mEBA-W86kDFjxaLoN)
zQl|t=SNZ<aDSurQ@_suhwOvA0vrv82hhB8Mzdx<i<-A(dD%x9iepADSX(Z`%Yp}mI
z{2u+=oj}2t)=pOjsKawz?;36AC1;ssu%Wv-9rwGe;W*U%d!P%Nt)y>lxVaZSNi0u7
zyy%YHQrW)dXiuj*7Ngp1JSFe&9C@qy&-3^P>E41UdpCevJ_77corUk$1u_L?-h;TG
zNh>H|x5kvecb|dX6V1#P*1{h6ZjQ2vN}#q`?N7&*g&qDP9W^BUux%i9Y3}<*z&^kV
z9P4F`oL;sb0xPN{mpVTSVVRU|6(3P;Cn(A24yd?JsZChv#+D8qtv31p3o+o=sE%KD
z6g&FhVXK;y>3zQRJ1=}8FoHKfZe~-CzxkA=V5idD#Id;jbjegl#-_B19{>x)8hI+p
zzv6sJyCp581u_+2ClfM7Ub+7D^&P~l9M=A&nH#;7?a;e#*}I%zJNy3v3JNa9%2uiH
z**my7@tmG7eD?lAc7hnSlKFAy43FQDH@tECnUqj;Eh_s<Eab?a@3A^hi~<^|kQPG0
z)z46uuYi#o4bWOzKc!!2UQ1|oT!?72Nn&K6WIcGGR00Q0uUFQEz^y7HEnkIJpniT(
zlpt~G6)vovX=T?GH-??|hRK+8kw0<Fg9kNV;XeHUCH62cF{){sJ!`wBRE){1(rwdJ
zGGTbz-q4sJSpxcVs|*{0F%46ZXy_Su3azTmKQpEpzTJ;U|KO?KF&ahSwoz%eoAZOB
ziJ2FPMw{FMv{CqoFM@B89oa@iQsHNXEc&%7>62WAkoj8iwnpR(nDj#`2S{huFT@#I
z(}Un2I8aN?Y-KD+ul)~PP|mNv&f(t_e&0R$OyET3-0n=**s;lfDlndqW0S{vaP~aw
z<ri<kIp>TF#ulZv4JI=93Sjq&>9na68W=zW6bnJlL`kXKtUi@W{@a8bpX?A!wvki?
zr_pHV-yxW6J&_WC&jzX<v~VPU(<Gh5lQl)MY%RVjTaZI>gyCK+Ju&CORX{#Y=^~*<
zXj`FKEAT3<o)Kv&>HQK+$}b)^(-W!w(c}lo&-x#^sQ3tf*9}W*?0)1NzVH0OmTVO%
za<L9{X*SAMD;^tp_Dw%FJ3@bM*d;S!O>`M39BfHzmDHv3cMY4^3NzAu?9Evs2rm$d
z*-UwXJy((MwJ05E*aZ>}aBQ{@cng@aMN&A$9d3c2z3hhG6h@~(tiX<JRfqp4aBIMs
zydI(oAzEem;Y<_~)z&RSEI2<gHRUn!{zKFi<h_*q8&DMfHe;=ib)>5#D2WRJd?P4k
z0;emAUhqJHtWxd2r&{R*y|`!a0w<Co@Txc(WSu&)_5`W;yF|Vs*8th;@Jh=MK!X`y
z{pom!W)rj5B&McRZNF*N+;hLJD2!moM<3cr|KB+#U5qYj51vS*L72%N)hH4DpB(e}
zlVfax>r?`=ajsC3fjnbLrLH($y7RfTb`2)5EPDZoyttXrlLjz?m+o)O`qxKJafF@E
zr2BD0)6QVCHs&ICDR4d&1nHhlVT8~2T6l&JE?)^9R(qm8Tf813aJp$A#d!C9qt%|m
z17+6eUL`^}<}8IA+8I-ZbO|mszu#9xx?M$FIzJq<M~ru`vqI(rUUwWf^KmgUId~3j
zhB<tB$eVm<G{|g^jAp;#bEF!!?V@S&?2ym9dxi!?Id$&iCDcq_ukFqHxQXLE*!Jq&
ze*va5Cyk2LX7}7iV@vrFw9`*Ag?xw+GQyaENJB@Q`fTHjQaC|EP&p(^s1+|jjRF3<
z8ZS)DEP8P!eP}(l%x7dcnvwG2Wow&bvOhF5Yi}xJuMyi_IPlmqX|jDe_ZgFBdG4q)
zH0;WnUh3iP6qOr_LmE`c;%iwSyLQ8N+!vHs*B$K6Z2e>{k4`B04ewgsI$O`26y2Mm
zd~;k9mlQI4kPHvVp&Ul5mbzS__XwNWoE$5~U)5F<z1z4IwYPo9x1n(mot;w`D^LJ-
zAEE4<BN-F(AxQJL<^(FXs1vTmNb(Lwi8vVU>+7R`@MU4r#^NY+GN2JSw8}1GyeP>6
zcTy<B5RHH}npt4?8M$8<Mmsq<RciU+U{wQRU=NWz>PC9k6tN44;oU>P%(lgGhZe0O
zq~JB|%mac>^Qc+-&*@UwZy=ah9)^n}WHi{{Ar0x*IDB6bjL$>7F(k-*lTiX)JF)vm
zjob(Od(FHxI8kTelWVr^FDWPFD9{I%>=hF}v?%#YTomyr8x3u;ku`>1{wV^Zt(rV{
z8%@yWyOfuL>-KjN0H!v@1a4bt=GXRyDFkmP>dicFbmiycE7D?mld$ZcA!y$u3i<Xb
zWQxL-;abUgE@a*eDkc5-aMAP$w;?T7Qi#x&jFK5en9!C`NV)ozGtp~Z(jvdMfoWp~
zB<g<9`OM+KfhI>ZDoJI?;+4T??Qt--Cam?4^EeeqvSB}ul~}}$dq({xPYi24D9)6t
zu2Sj#fBM&Hb_k&Cok<1>V9-H>HKO2ZF@CmHNHh~9UpZ+|@^8CLXV_>I=M0sOklJ@Q
zK7htm0|#JY5Q1sctMM=7E9M?xQ=E#{zYsL17z99k%VokwFlmUhUya&9X_iL)2mSB-
z9)=>anYRAFfewC2ESg`-qi3E&YjqGQy0Tg!$`<EutC84%t6-wT^oCk6M2g4a-Z6O6
zE*ZE=rDRsNU{X1u9{$K1G{;5wDLI=Rd%+zl;>^37Nv<z0&O=sajW#h+{@Om4DwbeE
zps6<AZ4YRj)TvTx<LyF~vS0G>etqy?h^weh$r7~;!aodp)y9W}#s#&l8HQh|j8gW!
zX$bci$oNSL&_PvQ$||k&h+i}Kj`5;3jgDU9y~beF9YYizjnx=u_;WIyQem9yb>HN#
zNF&+GZpchXI45QhV~a0taeTjbIw?xCmM*d0dE1Y`lKm3`%IFO!9_9}Y*cHxudJ!y)
z&4F8fy)oOlXxh;Qxm5$EUI>k*)tSRUo<bjOf>@RgQ8mvZ?Ux-oUV-Fvg(s=CSQ}AJ
zpuQS9iCk+zz2{~V0G|d$a$(Vr)z0}Hfs;~mKx1oa1=@gTud?r*7cqwM`QV-b725``
zA8RB(iE2SryAKE0UU>+!T0pI=s?|lBRdPy~nhKMK53Hjur0DP7`vDIla)LQel!amf
zhwJr+<tmN!$Lk{N^=QdvJ?Qig7PFJ`pW2OS5g{8-KV4rlN<1b!%1aO-2jQX(FCaC9
z|M*rxOk+kiIDU>5=|&J)A-G$;O`9VGLytFI58GBp3Z^;OLdT6-%(pG&fii94_cNs!
zPnFZ@{GzvcAKIZddqxpK;DMqm5SAey?~>|Hl*$%|N-4h8xXD~8HNyTM5hLJMoU@`>
z1Ea4ECdmbGCmu5=ITIl`<zJ^J&l?Cbz%TWg<g#B@F*o)iMfb&ffL|GwSy04TfF^tj
zC{Sa#webA_|6`Xki*(>@(JM8umZc_GWJK^nmkB(BhTYAJ7HO%o2bu&8ym%EFu<|Fc
z?A)4k1%xcid<cGxAu1$wdK>0^HLIX&J*1_yG-4dwuPoL4lLO`^q4a@957ILq!M9m*
z<v8sQ0Egrd=<!^>b7UwD^GLcP#^oY&lg^R`UbiCzMM0F99ILNq-3!K}H1<sYz}8EG
zjw>Snha-5%AjT5rr`y%%iPjKpAGKeY>P$r96N$Q1J6-G<w}zlGPDmEe0&%r$GopQi
zsR~R|rbVkv@}=<fU(t)na&I%L&Eg<c!%sW9!zL6nWB!TjRO+}K%D*D;zqx4(C4{9w
zH17XKe}-2lHw`u}2Wn?l@pc&?coqOUYf*ZsuC5-^*1*R3E$It6=R>l@cYg6`u$`I@
zDh7`;Pbh|H-c`2Q)0r?7_plod@`m3zWHqfw++pCXdlOI19|ByZK>t>xR#V>u;^x-0
zva<SLP_?!zG_(rX303QaSqbtJK`fDKiyabBj_#B=tVCr9a0hjGzA8TspD;|mgLL~I
zTIT_{Th{Gy?$&^IRm@k=kJEv=UyaY67-gCbqCx}wcxw^GMlOdxjguIKx6J@kKxgdt
z53Z6y`}QF3#kqCHa9z+gj7eO=)}Ql;b>m0%LEfvLiG)!97R)SXqTh1V3Tzxnjh$(a
zx%C!LTE&|P6{Wivh!W^DM?a|{&$ge-;7q+;-uwzuIp;#t_Rr=wEoa+JZ9}hJ7uk)`
z+*G2*P-}Sa`H-voS_Mw6Z(oCPC`h~B4Wjfd;0=4&K&je;O>fkjhTz%E=Ov~WeNMVd
z>bs3f(zfy91wGou)F;-oS=Jjoj?%CEA<j<x$SCa?W5(shB`n4LOZb%N76fz)EJj~D
zKr;T6a-berj|d8-elYbJT3j)D3D_%mV48})@cVKny!Uh|65ULshvm#d94(c~G*=Tj
zeDPLVkkNx~D?>0K^hkPPQbdh4GcjyfoC%T$Mi9PUB;Ymu*!OOe6+B0YKH>Fm`JO-7
zR_v4g@{7km!FhsqzYJ)PN2?Dyh=>$@XXLQW$b3Z+z}|XioME>l5Axk28cfu*s+5r8
z5^L3o0%qt?yAMcRL+B%x?Za^*4{GE`G|CfIvKv9%)i_ws8<e6j3FvaLY|77pC#?w6
zr$BLzs~)RE8}4kahGAj{M7}}E@XcFGZp{gG(h1XppwIx`V0_qTt|deGVqrAMi4IQ7
zm6U*d=jiL=51axwyab=E@8A-QZ!G40#HJ1sUZFGjd|62!Fo;_*QV8za_kBQ3)P(P>
zk|f^g{s8uqcADXD$oO+-Jea|G5RW^ej?~D5SN!_`N$1+|-)ZxAWGE^zyH>{Kl>a0R
zcX9N>&131;2ehueg_V}cD4YWJC5&iwVpx&Oth;35v|Y>8l=RDXpL5EL1v2H`!N%5<
zByldujDJu@viMi<y^jB8481;ZYrR9C$?svcW?^OpC0jSA1YdmNcEJa$igU?M@q1s<
zYkMf{xe#}Hp&noLB6ty)qi|ZI6!jNr@(a4cz_B|W3=!$Y8mpr0-3yNGKY6VXTvziL
zLC^LiX_j#^baA-`sQir1G>SrP`Q_1*H>}Y>G86>gGa%eiKRCS~BAzZUB;fyhqVP}R
zkfH4-(z#T7Y2S`?Uo>@bh{sl7{)$_Vw?iN+v#4)#IeY+3AfbHiaO2Ej1fPko&+sC~
zcqCpxfXogXg|cc+KMvlS4hJ@kA^C&#j(|lsFbebtu*4!bJt)pR6v@enZY9@P0YO}L
z8LBwgHi7q+R57vV-r=GCkfV5rZ;4w?UZLBAzXq;Ng%b=alz;PQ@z`V3X0tRehUEST
z{VS{aH=Szm2K4I7>s|x`(G5hr|5)&Ve#@T=PKuAOqrmU{#JC{3kqH>HF=Piunk;fC
z8BQKcK5$2XCm=v-;v=oFTWLtE{ZcEe5rmW<4~}Qn$WLtD$gpC%TQay>=sU~1z-ozt
zak+(;wvs{qKN&-#f>><-TC`Zz;gY)?zoxR(Ub1nB6mGw&78Bv$mipI6HUa}+`~bGz
z1K@2V%_zD9k5-IQ%$mXYP$A#z&hE!ZI@kmR<jbvbK!E_=yHW|M)<b$j4t*0f5*0bW
zr!pSMv2UBCOLAt+X$Vt<lS4tgJoM3DfVC!V%c@fdhq@CN8ETlb-Vv6p5tjz5JepIU
zcJ!V#hiStnx;|u>7?>d?);Jnf^>|LMT4QubC;Rt0Hf~Mz)Xvqq(7MILq1TtT5nu7T
z!<RNG*KL4z&M3t&AQzc+cGTyDh<+_Cn~%4v(W?`i9xGouomdFo!PjaQf@KaHNd?ug
zy}qr))>MY7eP_~olKfBs8_(RvRuQyfb$#S}i?0n6jej_p?T=K>v^K?Xe>)B0IniBH
z2HR%bQGc<b5{TSAUuDuUYuwj$#zv9$t4;^3zdreKmz)U35`@$+bQ+V)9iHpZEvCwe
zXwk^5e;#74-g_Ban&1c%I%)>X(75vMk#feeNN2v#JlXwLR;1*<!+1N=avQYM+e@;e
zZnuKrHlLg5PKm28NH@5OY@f3{qH-n!r+64nB#0i={C!>dEWrkUD(GlkNMrBiMs#3#
ziCz7P)N>7*?(!btoU6~QuWq>Qe4~voGBLF{A70A5O4s{Go_S#cTjS+{_nk)?fb+OH
z<5WBcwJZ`j(x!T>&6LTeBHKoRnt(pwi4KkfrwW4kB`}J-!?Q1%VnIOcCmZTlC>a90
zCWkV#v=f^y$tIZ<J<DpOw+AmBP|(8Isxg8{o#{OSPo@?`I38V~P<JE4=rIs>+rAL#
zK%DODxF_h?!E+uTuqa^yt}R$(oRvyMjfw8@9pYUl++{yPZ;oXDBR_dwg$zVlW58=v
zTp}4d6a$`PBN5O~TNecOD@~ayDEK6!{IOW>AI?#Ci#_eUTdV=gXO@4i^<FH)@VDL1
zTqUkhjrE7@D8W9oBj4)IxG@n)EeNN-)(Q**GJ4$&pNZIXD1~nn<>p0#T^-K~48W4x
zjI9mvvGLSS_big1{l_wy5m_MMKCBf!ov3hk<WdfRDj4H0P#*&E()d&oT2kb<;^=1|
zmw2iK0M32|ZEtPKgSjG6VQ_aMaHZR&3E?xyk0$Q56TILyeIn3*BN}%^9%rkU3P*Ma
z;h}&hhld?Pu_z-ixpeW!2%1hvNVykmcYR3N49t@m-2{%fLjuATwi*8+_dk#O1?Xoj
z?2U}fRvRtgt$aS4(&I#=&R-wi(_$&rBPD`0W5AE}Nf!(WLFCwI=L?JNMq-1_3gYY7
zStRqX4$uR@SMH~=)8;%6P{)39)L{LPBl|EUN7l?DP(i@EKsSHQ{Z_yWOOZtO#X(Ad
z15Yc+(6W;5RaUehnY3HUk=tO28QZv10Z4LIhY++5{C0l&1yX^Q&%b#M3nf0;76u0N
zQmB}dqob84K=QEUaSA$mH_WnhPKZUD@$)l4%Z~a$!`dAlk_>`9=rN!mF2P9>`owgF
z*D^9P4<2Og>n*{5lE63l6rLb!eLl<C=4>`<Q3bD%hL71pbAB}Ce+7Yu&{>@!HV4RQ
znl;e?{KoqaNp9L~%<Q37sT?y<MLiIE;ruJ7cOqqTSA_KXeeI1Zabg_syn3F{(Ae$$
z&Oa0kTNx%<yb}2`cQPt_(|F2{*FdV<342RCosY7TPZyH9SRsY}%vr=Q#W#a?`_}Y#
zez?KK1Yq1s#3v-t8c|Q~EMXsx8*zOyb6Q=LHYG1+Q@6uy0zQJOuoLJ0%<Gs-0g1dN
z?JYpM3*<Nyr%nnymjB_AE==GE^6)s~Vx8f;Ufz!D-Tgp3*iHf<-_Yl{>|u+j7N2gX
zRN!Wi`mf(SHx`TH>VJB!+xh;Y)zC>K*iO9Zj$k~<b8n+`nYh#)SOXrVlWXqkAA#Kh
z#^S`^CiXboN@J*cDcl{GD}Qi%%Kumt1VU(Mpu{zbJ&T1$0Lz}=5%HnZ@}HAzLcs%0
z`zq+3Zp+y@O5ud$;)T#?kmtkqNJJomWjN*i4L~b3K3nwS8BP(uey>eHz=Y9rgfX-r
z(3;TIh*S^S)Z5&}R)$M~ev%l7!eOK`X*Os>l;E~7>(*cCU%Qs}PAl=-CKSPWEJ$D7
z1BI4azk<Q9PG{#%#X~6~-h5*vL3GA-atQ+2ZW*lbq9G&%nc!QgOc~A*_C%%GrB5sg
zU(DNB{xc7=K#tTs>w=Dk=0PXyMlc6?zoYGSw;`U!cN05)6L41aA!c4M_NlU<??7@|
zouqpP{5#p^5P^8+j=y~~rNv;{3J^`%`=<#<*jzMWjvoW=t%c;O^%+njybp2#-k1ih
z{qSIjA9*7bv?yJ@ApFaj=)6w6(-m1+6(#uSLwr0XWa;h^uh1wYMBhCuQ5K|oK;5-K
zZ_2};bs~<Pb7OvtVOno8@<lu8r4$e8Z&Mpr5_cMHqN=j;SYoj#8dQ7?B&5&MA8v@W
zTM-CiK;fT|%}EmACmzg6VnG)$4j@U51Tv<+ci&uBclIIHdg8~^Lf~!&urzoQJ@eoL
zXuv#*6%cvbgNK`jXUWq*A)v{}2rtkgOE`2ICyfW`E!7YIBVg4F>u8koxKLF>`T^FB
zV0R9CDB=_4ijl@4R^Sm=jy(>ZA-|EN7TvpIRBH17M{$5AM~{tm00nh;xbE80Xnt|f
zWtqAl)Z~+Ly?TEkCJ)`$%?&~U)v#LLyWKA(Hi#yqKgO|mJj42egdk=r(9(Mc-f@!u
zz&Tx%5D|_|?gBCp#n#CZ(kLHirH6clkO+T7*2&^3ftTtz(!zS>)yJfe0ZplE)(pp|
z6%}5_-=A$r@d7WtEA~XWT73nw!%&9n6B^t!okygwp9}h8H&Z=^(7&rCdQMQhf@^kh
z-5!)o5vzcO*Nw?+%APs&Gq+7>$rEQuqyP&oxU2?jcaZ~v?ebb{ix*JXY53f<1s2gz
zezo{KVq_NC0<oDJ4J`WpY<&9@U6a$~CINEmwW2@XGgeXYr!)b9)hOt3E2)|PFb)f`
zxWSt~KL+>a!X{nEhZ^j&Y;e#Be2d0%fAyR}@58SGsL1NEgA)bk5xiGIQ$*;`w6u?H
zP!9E5>0X^h`dZnyTxj??l3RD)2wv`@gb$8f*^8b4)+73y%6;L5#a_;vA5$6NjL4h8
zYqiCQy*ZI5_vrICJJ)@84tDjpT4oLHXp~;<-_Jk10pQ>7+XIYfn6USzditEm>Xe?!
zQ%nzQ&!34SmD~1L4#5f)T-_m3n~YcG=&048U8uFHBcYmA_mYpLSoum%kPymF&O>ap
z;OaBx_Ok)2n<0?9t=W0!iG3@mqR>(gaAwJD2ls#WO(0{KQM-^j$}SVJRo*&6FsBZA
zhw%=Yu%_h7>*E2Ec<cuS)z!zpE{kQzuu#>K!5!kciimg~evgcrBR^BRRRDV**VlI_
z8g)bEW3D!xbCk@+A`_2N&CUKkNx0-(jy4`6`wtpLjqmm@B?&6}wXm;;u^BtgWnug`
z=SGSzU){Xpg<l3-WWKj@|4yeE_em6UE8@|$F55rU$=V;@+6iDF1}{*)Q4THSq<vff
z(bT$ZI4i>mscS^n`PhSx2IxV{u$XE>3t}sAGMb?;<L`l@$PelQ2Z?Yf&ye6Ke)1_6
zMxN34xk-CgX^t7zuBL$#)~8bHOmlKek&Q~|v3ZI11ymD8wYC^-_*$QzsMl%Q_DwCC
z*NapUBOB*(DeT^-J~q6bJ56K&`<OdcQZGiH(yH0ugZDM+@xZmjPC|m?OjvO{sI_Pp
z&%EIM;z(Mb)xn2Y1)`Jl<Rz88%TJGy&HuwnrGZ55d^^<^?@RtZXQF^a|2AzV`-Q3W
z(s8-_g0|iRR$2t>K*j9qBAd;F;YZ{CY>>29MZ{lT=L@N=zNPjvO|!S966WDqc1=c6
z?#gH?TUHCzt5py8Os;<A<h+#3i1%&V3HH98vZlVygs-?=lj(i_44c3^mo68<1lt!o
zK+?#fFRB3py$Npn4&^+(|GUH6fVuYk9R?7s!UO}z)&B{47Yxv%6VTLPe1csF=0ZNm
zJy4bIr`OO__HUDF$G956WnXW=MsiNb;n-qf*(HDVv$C_X!L>?e^j{udZ_Gipr|pEu
zQ4b9B-?uSj@6JGmj6qb?)hGTYtzSTTa<t6c?q@A&Ci(8?Wxd=T65V7sruUME5E`8f
z+s-0eTg|X-ATrNj5$Fxmd`hiYlj~v#|H*6mP4{hp9#lXQ>1t@rT&PWa@6FgL0VpDS
zn*jb)JT}0ncAF7ymG<H*ItBn5OcmbPmXGfuYQFRGx9;L2aBZD+SLf_!^%vDPl#RD%
z+Gx2`H-@kjEm4_!dt5KdT1Wgo@6I{>d(ibR@R0-PQr7F;AQ@>SYFg>0*P`eK2U@Of
zHxO8T5bbcFWYg4wL9HC)v3$bt?00>E*vmWz=0j#t!o9lgNlFqa!le+TfilX!fszih
zwohpH$_Z}=A})G1hx;KX(wHcvx-QoYg(8DIT7-L=oY0F(Yg-f;AM<{s?imD*teMiF
zFN^r1^AtRts_8^kAf_<)r44)|)mcq4!CG15;N(C1Q_!k5$sLGX=2Y`|WKsq9nm&MC
zEyFC?Uy_>bF&3L1!lur=>*8exzjJAQtYMO|N<Ci9i$$%?{2m$CAx_?<vd%fm{&ZuN
zR>%Fs9B;gV<ia@p=XRp4HzBbadU@y$^ZH}o)x%FMebe)dn>Xg%X3Yljrx7_4P5*EK
z5hci+pXF&bHa6U*#>ZW_E2WY?@0kJ(O(1vLgw|ip3!vB*b{i|!DtbXXSTm0xG=L3#
zf!%zI<MxoF1_j+bGVwd@p5!u|4IeMEq~-RqrQ{vp<A_6JP|z{*oJ$w*K-|h2t}r+u
z<HD&phw{!BU}{J?N{ld8w|d^`gI4fiN1kwagf$M{5TqXsG?(=dtV2wlR+owenhQ+H
z+!8<q{)8%s`kgdblZ-m;<fm4!-<F3v4M`eu9aX|RDUKklT5JzYU2Hr8Wj^ZwaW$Yh
zsuNVhz$?)HWzxo+TTsA=XV;42bR*A7l6q_4hw=pVlJO!&kRYNeP;l1rO(L?k8H`vB
zZWELO6=}qC=!w{(!L#id)Wk;Y{-9H&0<`0|HE#jIP;fD%R&3@C-_7F9y|g#ii?m11
z=>C^m$T3!!7rmL0w^EvaMr7w!=%XACI(IeUADGDll_QQAaP2g2z_)a=xlUOQ5KLhQ
zDyEW=s(oQr;K^#BR=jvVzA0WMKHYWAZ!m~5D+ikVj5$n2&(`7M8gIjeY%DMuML|DJ
zv!Df<LXT9^=_+Ud5~ps@8$a0Go<2SBo<0D(EbFlZ^J7Fx4vo1%5PNmIOy7Z|C9Q^y
z8O{~kwFyypeSAYmSH2TAy{C~y)z7gT&x4d@Y-`toqDj%n&hl$HjZ#7~omE3Y{;nY5
zESe!}>Hmx_0h>??g9Dn67?Ny}yZ#mY6auN<zdZw7%;F{>G$!b(0N&2}rZ{@v*8((&
zHuPV++Fcd}!T_q$Hzm=aQdZ(D0jQO0tV*^vH`GP)TTyiB?7@82|FExLc89g(oe)eY
zo;Z+W8nW2^{k|GFo#x;_!&DvFJ)Mb~-28T)gpsNjMbqp15|LTIMXkyDh5Ag=t9zNl
zk}vUp$UadUtbfc`+Ta}}U|u-W2G!V|-(Kk#v(H>^i&GEY?3^9~suZM#h2V$d-O|bA
zw*ks=LmE1VW<9yh2>RKBvWYu1HEUAY&Q3|+kPc)^CwD;;hhn?e&U8?SJx$53!wl5|
z*8vOK0vBS2p)xTXuY&5V4d^ZCW-uRve7mhZYngYPeUSmAQ$_Mlftt+?>(ztnY**;T
zQ;jtsKL@dcp86!IsrKsa&=A<z0z0&oI^Ojgi@DyuVPu=cz%F*+lC=xQcb6T3y#IYt
z5DW(5d`S9;vSi*J8`;^}CxG!K!okZwfR~g0wL4_U4B#u<qO8~;-Zd#9A&Q?z&Vh<%
zbxpPVKtFIF)+n{Ppx2VYPyI59Cl0orbTxr#iAxMYw8(ul5)GT@pay%6P~ZX7{%U}?
zewDKAL$t#PBzZ+jrv@m_H7|M@shxS)UXd0IvzKbvu@%KMLEh^%B3xo~<k5$-PMF@b
zN^8JAhb&G~(;Y_U{0})ece`K~+xvG-7MQ^J;8xz5=_F=)`fwyuJS}ea;(286TH93d
zln3uYQ{ndrHRzVJB&nW<$u`i<%FL;izzfw#gzW-Tdq>w`dyV1)i}8wcpjZJV&By1v
zS~LL-RFmj+OOCE#a%2g;WV~v#SDY`JKp6-kUZ2-?mq-H&jvzMeUEz({W{`r)q(mva
zjHP%G42zv$33rZ~t9mNu*>a{N5nJ}MzZW%iV99hq$kwz1Xv%q(z9%NQCDOH5E>oeH
zpi$%<o+-N24-8D9HAB%X$0NYC!DhXH*@d^K*QAFhrq{wM84EkUwW;ce@tjGDm?VbS
zmA`a?)@WIL;}xlXD{l?NP5GLx+LXVKnvg(sQhcOr3xLb^D|xYs{;mMLJ`U7^a{tI-
ztYQ?upRDhmO#|7)FFvfv%W)g11j<5gb?lzWXnpMF_hPJEn!RmI0rMKM%6@ioz2L0f
zPc7xy5bhr#&Sz1m)$Z9>5#{<Tej7+EkUI1mp{UiT6zm!4!Nd18IaIAZD<f79ALe+Q
z2$Sus?>bT%KER?yN5r$i%;LJ7=kz?erY6N*k@t9ugRHvIi5+>ElgPGukS05X--GKx
zGX^PC{SArzxtE}3@Lqay_K;){Otj-6*N64z+I6m1dQtFYoz|7xCut8p3DV?!y-8hs
ze8l(zEfE}Tb5WHfL#*~2C$EJ7!Lc<4Tz$v0!6Ab=IUV00r7S!dGBwSkFOuD6|G_HA
z3K<X4d!zZiN)M*?+^DIvkfLHv@R*T;wX+C44f!>vTBvr!#|h>=HRJTV2|w^^$%b_P
z4eJ>XymJ{fV?9sPnkE^k1Wt##rkfM}+Y`pQWBzc-@tmCWj_jW$_BDuFQl3V#ou;lL
zwitJAax2vbN24#pIT|-fQohI?iSjkpe7X$TdzEbUIVZpiRdF)630YT4waRoGrLjx6
zuh;D74@}RJ7XiIULP6E4`tWeo!LtjtT0?O%lH#FADZgH{_tmP2+edxcytQnRu8!U@
z?jcy~8X29B%^~=R*zb~F5gB33)Tq>m_rf41YQ#<linSxiZXN744Yp>zmnJl0{!@fJ
zU|qu-@tSbEbv+5+r78{{5dP4Gio%y+8nyo^f$-jvNbktf3>Dj>g-WB=9Sg)#iHUM=
zqU(B3&9#jKmS#7I-%uXCenG?c6&FamT*DIOEHSyUpAz~25#x`XkuXq<8nY&ujk@Yd
znt44tK+1+bG~EHB9wcYO-f-iZGLQt%TTMWkj)xUEnvS(jmc)EZPLSiD>E9Vn!Y!O}
zkL@$s)O7#K`$g-|bT@IvJXB^9N((o%I0RX9%JekULNz09zuo*(Vz=@y+-owf@qJM%
zX{K<i#Lbq+9T8&X_m8G{8g@ij%CAl7x3TTqi0W~1H4_tV1iu<<g*Bjd7R9Nt?g`nL
z;AqA(IhLuN^z6x$Bh@9e@$gy9<*pIW<w7P{6p?@2^kjTk8mXRdJz&Yt=hJ3d5LtTz
zFu{CPBxZhlWT70&ou%ashNyY7$y?mOI{ev~b<!C^kYaI(Y*^QwiPqTf>5z3dxYrgp
zNCi5wsVpCFZO(wF^`!^1FIR0Cz%@@};=0@YiSZUr4Uy{0{Qnde+Z^QEhxTjE)0B`_
z$3jtq{NR%X#{u*Pt>*~wE}{lpYaZV{N>m7c|McE7VAu}X`kVn5IF|<7_60K81b5zQ
z*f20o=Z0S>kj)rG#g&b$3oC5-LIG#jWaC@9S&Lr3lUG|wblU%mynqC+$7Xh{UZ5Kv
zAD>ND`KsJ8I)~kSbCWbGW}JL>HIi+@k~<6zYIw@Y2}@aWSB95rJV?{axc>Z7*i6e1
z&fJ&;8nQsl7*@48(B-HK*K9R+0L?%zlpm3J&?E#(y8{Zx*~zK!VmsBM(d?JZPW)2W
ztORLHe_vlHLSCqA)=*Eh-K^;~7ZytpU#Bum9S^1p9F|5GB8V}GFdm#ob76opV!N^F
z)UdK50JJf<<Z%(l#3c}*1jTkX0sk}v(%-ru4NE471b)ZSb2@~;LKE;($SfGOf6maF
z(ko%JgxQ8z#s$G+5@nkWjE73-EN|{&4nufek14`9(T9B<)3p9`ufl(NO9*{d1Eco(
zu-B#VlG}N)1^|)s)SKn{qLSO`RK-`q_;>^cu6x(9&g+0mM#Tu>L)v;crT-Xc|9*%T
z+}4W;y3@pJtZZkC+H5J>&hv(}z1!;wPJiKYz3i(~W10N+U%&t&!|J_hxji*|Q2KIU
zn-Rd_yb!4Jh_9A*Qef@&fQv)ie}zscNd)1f3f$aY#X193Znp?`o%Nk6^2}tKXJbHr
zRBMyynp|Ih+CEQSb1_?US%^CkG9$v58$|8eW+*~3$m0zvfy3*9lp>M767U8djgSn+
z-&H%ZP`lD|H*o$PqqWX=g(D@a!U?6nDXvn03`|T`rCBt9w{7F=XZoWQ78Fcl)mnU5
zZv`X$v{g{(b^ov~4sJ6HgL}L`RhK_VvUm^9*mppJ=7JqV#;|(5&&fj8)n;qrx(+XX
z5zz$d1(~L+q+~7_DJ$M97~fA>rK>W#Yp!Eqv$C<F@%!wc$MoiZ;Y*()^MJA6({|zF
zqtmI7@11x^X<{MUn?Q+V1_vuQu)ZARawqvGpzx>mvyunGBk23MZumQFfy)G6X)yjq
zmYFW#)@u46)(MbKm#|!Q>wl5u`)`}yIZ%eYKfm^BF}a>wZW`JK%=EgbN`>3aMZH7|
zs4H@y<S^JTMQX>f<DI9C%4*jU!C}oH2{nv#CS^GS7`cTkET*gs4H*^L(XjpLSgm#b
zs&Ekrl(3pZ)4PfigkOaVT5m48-DEzDB}L^_tXe}s&kL}9ZXkU2mdb#Hgi|r78*`xA
zDDFA2%b9U2$mVHaBfFWZc9cuzXAxhlv};W`S?TrIx)TQCIQM;F<8}pDtg1iTJyp>b
zbmsPY^##)Nku_T19M-y34ZCeKFxfEXQ-T_7Bn@*W9c9D|=QceM_85aGA?KyW)fc5&
z0yuLniNy<Cn5m6eP3}G{9)vq^@NwtCCass&^Ij7q-df-dTsT+D;ZFEUU(pT}JJ3*M
z`@3SEiiT9`#!u;c1$=sM2!+7+j68)*-i3%ahuRQSebFH6!+wHoEY2Q}#_1}E?qF3|
zk8S#m!r%s`Nsn##O@ryjQQfP{EeUPzY1ydYhrfadQ-m~lq3GOm_ACx=PaN7rq)@Lu
z&CyUXe87*3;L#WHa!2axh|i@w7pmrWL+(?XrCf07@HlWrhxOJQHVq3oZus<J3S_w#
zW1ZF8?~T?QwhTi}0~J=P>X!?P#|h|brrx@;2nseGU(8Glh|Md{HD^0)i%ncluYGU%
zF?Yh@TXBuad&$vIJ;<?bSKacq6Xt_{R<d-3bLazOkkao4>+oQuK5JE|!%8dJ*QtAf
zSpNmO>75@{L>xW@Birgj`D%!{UqjW7_=KsREZkNZw!Wl;Hz+TRc!AT+Zr>=F7<~u7
zL6uNTQ*>Sh3mgqP-yX>cH?&TBaA8dc=cf!1!pP_>D`NG2HXC#}()s<I5)D`;0Q!nY
z%aQf#&OXp}Kc!FRz;^Z6q8^SBzY%c4(8A3R%x?^1JRnEtus%V0w5``Z2ezQ`r(E#j
z%?d>6woKtd$mx_|<H9nL-5iU4C=<b{hJ<ni+r_)`u<$tNV}BEr=yTIAcXG0P3dA*J
zi)SJWGn+e(IxtClI;6URb9kZ6^kxN<1cJ%Fnyx-)NK3hJBn)QC(4bF8dXknfjY-Ku
z?~FV64%?iJ?F3wljVgMLf-PzU=cKcJ7fDK1%%WaPxgz%7?7ApgL!)4m8f<ouepM2U
zU|C;^DL<E44)p|XY(c1gwKAW^>_tk18l3iklO(64D_}rB(3k`emx6k#mhKz0X)&cc
zW0=B^zDJS~8PrvYASo?*=$gZ+Xb}5APfBg;{m+USM&`dQ#zumC9nELodADc_oQ&*^
zE8Zm9Z0Ad$%wW_~nq$^e-Z!X27W|dif{kB_Wf0N}Z_yQav5*D=I}a4fup@CMad5^K
zoYidWd4sNY>V>N1<|Kn2cl<KVi&0ZT*`L22kr{tLKfOf2dov<Gm{R3g0{VHT;6xVe
zpDTvcSE#8qf=!PYPtR3Dc<2hXsql3B5&@004CpbFfk>%qVDe4M6dRxkHnc5e9T-wt
zU9pUUjiK9K@eqJF4z(TStFfU!OwXeXth8p)s{Wl|qrLxAW@%9#xBu{%FjtVUod;%^
zxa&e~$&wqII~DI6(!V-6{?!$)e7kUNauZ^{e``#2+VU9vI%2N%w!mvhj3484{a!0D
z9sE2M#~V|u{zCP}n*E&a#{G8FxK>OQ_h!8zK?Nw7{i8YnJU{MsTOerM=2l>O+y;v%
z@^;~R#4h%>$ca}Lig2Fhc(@gSeC2vuX-l^-w>(LyL-lM-ZC?zY-ZgilC{&VvJzFpO
z|JC-DVNrft-}ej*-O@P-io#HWfOLqcgdi=cC?Pe3bPTP6h@y0gL5oNX(v5UWi9<`H
zwA8!jod0v`;k?)T<@Ez{0U!2WbKh&PwSKV=UTbNhtC{tEUY)3X-?+7`g;=nDNL7$$
ze*9zUM<Ls6k4!L}x3}g;0o#=G_5P#o!o3sz6VK(cfko?_vCli3QNvfS(b3CObir`F
zxqZ{?!;YT=<7;C_w98kd11b+2b9aA2hCI9VT%Sjt7nomDD7xu@I!}-CdKN<?({Rny
zVzhiZ#w0iq1<jKjP5c%{22?uHV!nkWcNH~48we=9{^bKDt@06}Ovh6X%)KzUhr7Fj
z^TUT^ZmEQpY?C$qGNfS@TJRz#TUrAO=hXX_mX`S4GfzsB=9a<HA2V8|sKJkc`h^<3
znWM*F1t{N(I(33m_`g6IP-2a3Y4q9RxOi#mu4S;K03vH<<GW(LRpY#|`*_Nih&VAu
z#V*%_O$PC5Li$NXH20<>*kF*=#r~Gec&S?+siE4K%4^q`N!VQcn=`<48`epi*B{T`
zo&jEu-nBA<6~q=r9EDqI=qg?RsiO%C{*2}vJ5t7?ckkxJ8y^yql5{wN<N86uvx9or
zB@!weGxhA{Zb@R|$GO#n*j*`3l0v}Ud8&GOnY55eO!-ywJMVfL5l}JYCl7}(uvPz2
zY7q(+`lwTSkpJE6*IG7<Rd0h{YPWW2GKzCT%D2c<F`DE;RS#+~?)}39!OkCLK!|mR
zh^BGFnZmHNHD}Dq`upc6&zn~g8Ds3I6t|;fZ0i%l?dFi@$%iL@-kel?&Js$MVG^9w
z1r<w^y-X<7Boh4&ACd4Z={@~yr`Hy)Ci}&ovsW{X=aDI?Dd<G(aemsB*<xA$7QVYT
zpb#GjxMhjkzR!jI-&=3UtL1<Kz(#)eXhZ&kS=~UK5%nKO?_9=*go9R9t!KA57pycs
z`+8S%vB<-(PIH=0+&|kb>3>aZ^t!-pDdCgBUG5OrB=5NN!Jv9Nc^lKDRp_6T-N%q-
zq~E|k93FieL6`zy&%dOLwL*1jnFNy=!3b0nzJ|puK-0IXzwhii)QklwTvks}P*P9a
zxwx(x9)(HISvbsMdsw%BKWOrE24*nDE++<aCOszyh0yR{J7Ahl{zU1OWwN|`xX4B(
zvp!XAS<|3G@Pn*0sccDIvwEx8u#d^LcV?I(KB#Ysw|02W_U@V$d4$+oE|fHq%<pMK
znN3jTmoZp*ZHr41P99>~E086#*PIzIyU%hC8kJum*a*}8Nt2Ouw~u54P=Mm|m);OG
zxVB!3%JkQEW~`$XP9;Qq4@vWH(8%gx!nN@g5~l9LAA9IU!Y$^=AMY5?AbL%2eD-&I
zA%H8ARCC1e{VtiL`iKc+6^!#;R~B;Yk;&MXJFXW?MXcSSvl9LGR9NNtXQMUBWTo4&
zh-gMnQHN&1R_+baysfMu=O37EE`@WLg5a`oWp{6yfdbq@$bTj*z;_Pl!f<eK*cZl9
zP*9}!9qg<!Z~1|@@k36I9eGwaPc@z>x^<DPqs*mF--(@Oz~1(6TgMhCe@P|3oii9G
zjux6NqON1o$;__d*7J5NQ9?k}_hGZ)a6E5vF8bX?KeB0a-fCkAs8=#Fe52~q5xlW~
z{9w_3aCXn}jn7)a9(wi%ld}kBN0pgookrHK3tKvc=${&RuC&)#uI0=R;I;qMcdz|$
zI>}M^#V6*~+#sH-j8Z26rI8M45O#CRMmgf6a26j02%FsEn!nUa%_%FDzQ-u;=fcKX
zXE0i*QW|qA7)6g`#Q<x25CPx{pCaqGx52!X@}dTS`sE^Ya{WNV5e!d%Q?zP~E4(D{
zqwz7*F8Ba4wcPTeF9W>|?c6|JMNFeSWFZws1<SqiwDI{SfiYxJoa^sk?t;>s(k<gq
zab{Fh0Ac*exrHLXetvr&&c075<;0HzgzMF8iLtLpu1tSWP6S;}()pPs3mpLk+Q!wi
z;Y~n?%4&YK-+X!8{H&EIs?jm}{pUI}^?N9Ju<P*v-bB=Hco#C~D_kwI5{xjpjHAc<
zXp;1wrllQ9lOk_ICJ4ufhuj6R07w5{pM0GKkL8W#U6b$MF9pL1N2pp-r>@b}!&up8
z?1qR9n+4FTq2u6);-wdicvwJP7;D7LeQoycO8Xz#(g8KgqRKM0ua+gX*Vlg2q(le(
z)HVwIf>Gx#t$&~nIDtlLjxqlG%71o3UYx7UVh-hw<_%rB`}2V&<G;Z=|AcV&`XZ-V
zzO6g1-<cG?*AtPNhxKfF=B|E5zLsk?TJRgiPb$lu8KC*t9G_q%_bwFsxbAFJVZu<J
zFts){RAzn&^H-bKVIsbA<ydO0Z5)sqt9zUcS&TV>M8Q&`?hX?r7T<_298UYUk!P%u
z|3c+TK&5J*{_LN#E}`Za@ajQnwYgaM&Q^Iaq0#=di1=wQ!C~)q@1BbJ_CYpbnJVZ4
z14Cyj#hZuEU<NajS0uT<8TjSL7ESfIG=EiOHMJzZFgH8;B>GaMjlJLMEmxrWnE2TH
zcVR+Q93R@@s<~6Lds7~lc-s|r=MhfYiI20<`%SSLjnzU2NXHumv3lc$D&%G7x*iQ&
z$aSwb)qFH<^~t!1QrcO%-Rz^dG0i`c;=g{FhwU)k9C}abpT$RK=QVop%5I!F;E9)6
zbzFwS=JA2^<LcfW-FLL*#7E9hkse!LmcT-wak<bFa)1`Vz*X$ou0v#aD;DsUgW>CL
zGSt`NBHFzu6DW&@RSAT^JYn=o<LrSk-&8nM)cZMm3>tKjshnv3^g=N%0JGaU9m>92
zs@A;>u9d>;ENdPItGgW9riQxw@$OmFkU<}{5aZ+^e<KgvJiSh7i;w5!wN$sw`rjZw
zz)0AR*(D1_)GuS}sI;H%Qh4yCB{qK!7`}n!rYCQ5DL2~{=?ao*6PIx=af}7hOy*hk
zX!kaKnq7ek70_;DzdhjMO?*U`=d>nWg4x+7`QpS{D*h!2@MAiI9ece8bV?LXfBr${
zTLpFo0RV&+8W+CT-L%PujRzIP>WFI>W(~4dh(5R=Q%l*!)AMM4o9r=Ma)eRL3X{{a
zO_f58I}`^~kY8zzeH+Z*jzJlMI|4T8^8YJp`({pM(}>=kFfT@ZHq01H9#@^Givw@W
zJ1(5uXDRMh|J4_ptcXA(zWQxddeeW1jFP%=&#3Esp+7|{b^rRj{Y}TGII^*TbqT{O
zH>kARfy}6<bJ`eWmkFAu|1N|XE4u*_D1|FkD_fZwA&8fi{4d@C^v4eQze{0u9nLWP
zsa$@qqn?#_BOtX2HA0js$uU=Gn1nh#Uy$N{I2<_5oE+T>bopI-vL?BkdC_*VY4ZRK
z5Soc@5gR;h5Qg2Ox^qXx4L{+6-ef$amwrKDWO~N0EE_{4c|?kS@%}GtyU%s;FKpYs
zwDip29mm*peQm{^rpq!-&Vd6=`W)TP1>1M`(hvmVdG`yx7}g$jIT9Cn799HZ1jCZj
zO|l$^q5`4Lf`Un5UYwo~2Q*}$H8*1Xo{Ur~T|M)}EBhXoJ5sF<AlECYy`{X6Tkf=B
zZC=I6k3f@w^s5X%dWQHb?o?)^@-j)Ph|J17@Lq7UrQ!pA9R|*v0Yyd8(yf_m+X}~K
zs+2yz3{q-;OAj*KE!N)I)-11iOqxevyhHjIf%rHp$NH`+=}Dhn_J4Me1>*kvmb$tF
z1{XU0Cs=Bh06|lCF&J}>$`&o`LgCEiNi0<5KS8Q0rDyMTfEA;opRu8&peUgexy2C3
z<w+h}Mnb8~<DI*AfX(tD9qnoJuK%M1l=98PWc@m9_bqB-YL0Nl=KyuCw`)^djZS$d
z!_%J2^Au<SUrH4Q=o=U~g*BM+eTp&o*JS|a1-UaQl0)4ZO%Mca*R`Y40SeK7vrbkY
zNJ79W+L-V3UQgo(64KoGn4_o^rhJgWDs>zRkQ}8-J9FfV;~-tE%zJ0^kaGJnkKKwz
z{I@0S<7-U#7%K|TlAgfB$`=*aNXnkV45{1VUD`6nkT{RRALGZg_tB|@LmbAgADBS0
ziVd630^I0_h*`E2NqP<%eTk@sYrhAPB_!V|`>7j(zd_%gKcxCd2``L@<1t02HsSu9
z#l~EtYj{){NAAdLM`(JBUF*Lt>XPCOgp~_|yp7p3s=2xCcD;e9m5VXBtM1#4HyegR
zU?rhb`4iARRpR?A`F=BwqSu(L9*J7VKgXIhrqejv_uhL1`kMx3v#6owz3ZSKSYZ%k
zQhiNE2E217Vhl5*c$b+YJ4#KpF;Vr+My89wVRpsHe;$1QA~@T7O>l{b>HlRd^3zVM
zosyG`R_>w(OjaKIk1H=9lKv_q5;QPOSmurDYc?{AdQQ)dY&7q4)zQnzfG7)lD7_il
zuPbAnzPV;T<9!y@{94E;;XL`j9wh(M6>k_)WPf8i`7<ApTDsqI^^e9}X=UpdQ2Z-|
z$H_hvwWw1|gDoh~7WuQzD;T3PqdxT@{O)v?MPG6X6vBPJ@GLWIBS)Q#`$LKhf}m;p
z!8M@+zfx*OI9i+%R|<dhxUUMj`&&gjPe679#jF^)5I5D;0HyTMZukU2t?~?LXlR_G
z6z6xA>hV@Vl_4|~$d6lfsK#Co5D~7E8HIj*l}ut7$RP?S?mT>OBhF7xUk7sW=P?<7
zBUwa!yYw2H-)$7Rfs)K6(l`N66qYCQ;Zr!XA6wHSw!vg2&#W7K;}7Hf2H)L-m5C8q
zpBMd-O)!$KYFOLNAO3)U#rbuK^1=wt{pA>H?B%QED+yW2-liyWr+cAu8c!<{9gX#l
z^h@gR60m#rNB5`Rzunn2(e<Vyo$|4AncHv7Od%5HU+qdT@!99g94&gTr(14RP>M~{
z=nTYOQf%Y)_39(0&E(LLa<cDQ6(OU?x#KU6)?ZEs3af<YzdtTJ{y>C%MS6l>J%f@-
zUq{#vCpa+PHrdw9H@E1IpMUowvr<J}w2QbjMkU*Q0e+|txytXRem1Y))F4Maf#9|j
zjau<yhmZUh{Nm#;AT6U|^9;wh(Vu>KwJ+?d;xA+bRS~tl5XY%`^&obsNFFC+yk5PV
zk-e986*82*cEEmO-ZkA+4s&f;6`6!aNi(>!-6(&NZ>gEXbR79=#@+n*iLuukbs{cG
zTMmk56v{%vYI5IOg;YLhk6h<OzcAl4=E5vgFuvrQC|EbBX_j8ddMc3bhMLRamd^`Z
zIfc~F%Y)Y+_=Ao^wuD~SXqh+krl(My1;SEIjktW@$Q@!zWTZf1TEHzG^7*kFDRxQ_
ze4g3T9N;+qMozdZ175;9iorlS{~!A*8q7j*EYNQ9!fiRMqGiY)z)QY|TTf8UP{yP}
ztijUXdLMmj2f|=SJ}k8^75YVZ7L~4hUA9$5FMd-qiF0Y@?usQJbjw6<*`)b&+4wtz
zxO0YS&XRgYHgcuO;rFF&regQr(6|}E7w7X&d53)PK!Jc9XeIuAYe>lw+$1#>?(9G?
z%mEDi?d|OLi?kZt@G6J|tD=!SKy;w)pp>;?T|Y-=i~I<4<)z%Coph_OCV)?$M{+(`
zlzN`P2OMmf-6nJ{oXJ>~5TEg2cE+p_UhpGXGFAEZ;@dh%)2oELciUl3#t?h7v_>B+
zD;oA_j*P@C+ULu2vv94^7TMH&5(7W5Gbl|h=!`dfa(W}ere{BUnrxX}-TUF=o`<Kg
zwKJfBS}>)*2=oR(8gpb2`KCcc*(8L3a0Hp}8U05{U8D0YNKC|oQYv$|Wr=?VAt6{3
z&Rv&r=lEp~t(`EQq3rQ=eWz?U>0CU_Ft@5&(k$W^hi6{9GD5!<mT0}3OGiMc$dy01
zSkg?5u{OK5yr@nXW5S)mYJpuvQDOV#$1Oxa{kk>+?~qlk_q|uW&!eb5-Ut*1Y{=ZT
zPEYTqlLzMVGYFcvkx=*tmwe3`YD44Re*4u#O;zF&8hts&3W?OR_v#B`cxR^xML0t4
z<f`1T`zhEMs17qRfPr$6|9TzxPzrW_)F1Bd;RmV`B+IE;XwG5j8-Tz44{-%6-~eIv
zvhpq}N~pvGDu?e^U+%*+-XY*eXdh=vRC2PtuKDe*-$~kAGUOrC-jWn@U<F^LXSc{3
z<qX(GazR~R4u!YCNDJx@Zur}NZC5uDn?8uE^(B+K^i_Pr$qMk25;;&=`5mXtYDieb
zx2RF!-Gqvo&eKahvvOn&#I^^=ncMf!16_WAPhW_#{UuxbFYW+-^oQi}(u&i~5TMA7
z-((|OGtb!o&HLSYePe`LFySGdTdh!g@PIVN88Ts@M+QMVJ}hXK-`}@0Ag;rysb|z^
zfu!~8W+RM*xc$MfJ5X0Ml<9c{-qH8YmnVuDEt}`B!eoR@ZFwI*ie`%|s}EwgfA~j~
z1?cxMYJp44cCh$>lZXh%Cs4x=jz8Hq#USO_pL28OFk>WHKpYRUz-v+fInkb|pL&)Y
z>9b}3*7-M_q`a6mtfrkBZ7f*@HLw~E!1F1k0s*aiRTUVQ3_*z<P)y`n<`E+?dbFVP
z*j2`A>T|7Z3o$ly(*GPAue64n4%8>=@dne3!r1G(ylpMIXQu@F6@Jdvm%y03n*&X1
z;3RMXIf?GEDXDb#33B<8ZwZ)>UO_OsUt$Qt!v|#~7|Ct5*#DVL{r%0ay9K+SKoKb*
zMxmJ$4xq*-g0rvm{4BcnIPh!$qRw-X-X%kWoj`rZ2^tAoTHQ3*n+`$Q<7qq;FF!*`
zgNW``t|$|ppA!RF$)8wz#E3p9!lf+6KvQ+N$@}#?$70z-Z7aWFwW>sU`oSf4x^O*{
zH|T(2RA+Q?Nr3Y~QS3U+*!^1SIvc0;5=%*1oE=ll)bPFiw0$V$?a)LtW?A>gs$=>>
zpJlXPIlI&ce-Z1&8(bKIsBOm0ux;!5BO<f#r4;2m<*_zg>4MTopIIFv>$ZytLJJJy
z^;BoJU4K4f!#?T3jatdSxhB{;p?r7My5Jc`HhhMN_|JtxNg1d2fSUe#&vnpYLm1|I
zmYB<H?Cj!@562R!WQe6aH<Rwnk)?n?*VY9x^94#8gHZ(6Zu@z%Rs)}vUxv%O>=t{`
z!Ofi(YrFEsP%k&Vyjr@osIc#qD<T4MI!}&G$RJiJ{@&8Jk-gcco+Bd2Iz4`UF%gm8
z{hihEsl>#@8-Ry1Q{4n5CndGR`Ux}%=IJbxG7H{YzyHO#iO(SPSkgEjqQ^qz8$&0V
zlX~5F`brh7fuE;DyKuETf6*rOEpRA+$k;+u&kDTGxS5yJmei*Ez%Cg@tuV-pj}h6D
zN_~MA-{{j4AmQj(<{j2akXV_O30<E47+WM)Pj}f#*aN!N3MrseHdy4B8-rs@lE!J#
z{$z`rvaDOQrV1{wuKrkgh}iPkk*I~yEx^>r2sLg4|F7B6R^XoYnA4jcL3st?+^{WR
z8_aQjX)e245_=2|3!4oG;Gr<WqqC<=KkPI-M$%>_<%Av^*D-bWn9z_(pCaCv%N`Xq
zhp$|vlHU;Dyf(ZgG3Y`P@~&ITV4M*5x6dM9BHZsev;erx2BXa$HfO@DhOI`am@Z(d
z#RC_Cmw=)>)~#3U=jB22<;x}!7qjS6onRR-#fS_az0^}@XcR0lQ%!=$$0Fi(tbmhs
zjtI~1o&*G4sf7Vd#eH8Dhs&42kb#*z)w>#g=l;G8=BF$9^ICxIC&c%75nK)WXXFWo
zJfW~>sxk~{1-iHTx-TxfnExa2+q641)QD2))KHTil#Y~wJ!4u)$z8r5+@`w+kl*}{
z);K*9F3Ul{9yRAXPk?@D;3fkvyv6OGrWSJL9vcNk3rcR00FCjTZt}ZZZH%r}igz(#
z%^v^y`FRf`2aVkC3uLUWWbZq?5t>DfSF725W}MLVe~<T@>KocdmB#iw$mdho`XKqI
z%U#jQcI9$6Z~9$%D6tn0U3n2gE$b*l1xV?i1Qoln`joE|eiEB39%QKXomZFy_Jd{)
zo)S7z)^c&H==!bx!*{^22I`yY?)z}JxURb1=db5os~qaB(+Mg(_g%~2REQ-(1m8V5
zbTXlQTGZY?ZTZ_&9*pOom`*WwKRCKsmtt*Ee|^j?ENWqUn8+<iBfiz1?<-N_V%n~G
z3RUPrV%-@RF{)WnBFA=v?I-(6P$|se#o7Dl=rI)2`HX@2vCfxMdY=fsrKzv)tXdn?
zBWA3%H@<41pU5nk;^^3xq;Lyl@z%w?+5gR(5iqsqjv{=wqMl!8ct#NbUd$NaYTH<0
z)W!|Q6goi_iY=Qy_8}FD?>lBnWABG_y7%}BYY{hWYT%w=S%`lpAROC`{=clO$Y1@z
zWFS_phn^z_an$j{!Q#)tm%wDOy5D7+i6=$x`g^2r=vfNI{HmH91OF}l_FCl~MT&jj
zoQxa@+K@ftb=IjRNS27B>#xWibrh~f(sPHn4R*wlGxXZIId;TR<UHlT?wI<NJ4=2h
z6JnMO3BF|=tUjT$0FNKhZiOirVx@TbSd;#X$Pf7WW@U}PK$pLJcW!2l70;|&X6VJ4
z3l~%|I|r(;VkxU^yv@~OREeYN1>c2$FBRbX`>zGx1-gtUy5<c}QFyQYdCZ?qX?fw<
zoctfCX8N~t8~i1s>_hmZj|*oESLv;f0lm2nBIFa66O^PIk=fH3GB-Ay&U>kG9BMNi
z{#RGh!z4UC_xCYz>(9hD1jR_F_Y?j7FE`h3IQUvR)lIA{AJp%da?g1C2Q+>;fB%bY
zO>I^;$^Uxl#tCJuhWO@*VS_|Ps!wC;uRQ#0nt;(twii<m*KMXU^%bffFHbf`FhwOR
z)$@tfpIggz3sQH;p24IGm?nKy&U$ZhD)PGb;TwLYPy=QPY`wa+j7dP=;g9vq0Fuf3
zkPdpWd|Sb6AuiAUC+Tk|{4`Hpd*d-Vd<5K=ClIzg#XKt@s|!3VL?ox<;3J7`H?cLT
zEibLip@J?!e>ifJ{epDHBNF<NV>(3Hl-F|(0t2~qXc8!E%xACMPYyg&{EZmrCa@Ad
z0Lt#-=Ec!ckbBXC=Pl^D&^^Th#*=-CsSgBeBV-@6jh9kj7xq#l74zop*nKTO#fcyP
zLau!;%{Bi`y!V0M!>qGj3fT{CyScEcD-Suh;J&0R<p<@alu6Qutn98@bE>WOrtC_I
z<G}B>)mytt{<sdlU}zn+va%~#VzG}9q{0!lKCn<RyU2Q&%^*wts5RGBG;W8eXYjnJ
zF*dRB{**Cc{Ghu%alZF}kEi(eq~NtrUCsXQ{!1I9@$UAx4VWlbfi{groV;twhpg2X
z>zSRCbCE@n-c%ZJ=2A@xt<PAtz9?@IK$4-9rg(%%EZ6ZSWw)`MQA#x}V#hVI@Xlx0
zcQGD9#dL+f{YJ5ID0$?#Y50;Uc}(Rx;|aOOG7SpNir~C!W7&$iO@$LAF}7KwBU>Qf
z>8yT3@Fr$qxX?+8<2^fasPFRFUBUi#cAS#0^%ybEp(IO8rsGaPkIw<aXIvF^-IWh!
znvMK&Mds?PCs?js-%LrZV{d1D_T~Bl7sa=!S_3-f2S0hgi%OLXI)#C#dMXe}0ph^Q
z<NdPRAw0cS%2IX7Xt_DR1gjeMN3#npFjIRwGpaTa*h==g8y@`lz>@jVU-ruuFnAqF
z)4I6pAs1oev6qH=m5Ey`Jx^Z3u9nXG!DL&)RU?V~jjF{b!Qw7eN4--Szh@vkoeZ3k
zJ_J5wUCM5~<k{;VkC#4D=@}TDCjdiqlRI|`3GUlb$|;%G*77L@ox9-GgxDXiJsLMD
zvK9#YhNk$<koIfWm(FPI+Qe<>V8e~l^oN$!4TW01PZH%@q?k_K!ymCm5tc#1I+kqF
zyCb5OLz`4M4qKun)if0;p)s*)c_`iFu4D?8E>(=6R!`vrK37bZ#C`)Y((J1%A*V-N
z=^^LuSKQ9=ux@VxaZMGuqLEynp{)zSdVb6G`O1ge^qPqXGdM~kw6hs-e|3=yBWZ;;
z(|R<lsIN87_7t{r;34)r%fq(Ymz@=jk^Ec^YQ>@Wtmu5HZcaA!Ed3rMXD1hkPfF;3
zb?K%K?*I10Mm$Pc=ytb%%0n@3I$?Nfhia*eImhtBc@Ipky6WNZ!iPYLmsSUR9sz69
z7NpRfv*l{qyYxLukFm0x%g&?<9srI_5;CnT(!`GUu5#6hH?8T!SHa=4w+r>7wjSMp
z%)1GSu3|<ZmjK$;!pTQswprg-#Fe0aC9w&v3|5#IL+iM<y|%tXj1^<{ns$t1Z}8w{
z;_(~BQ6g{+$(N?>3^BAFFN<(uw&I2^7Y0uS-w9!$NR<GuODNDT-+Y(L9CHIx0bPos
zaj)x>*ITzH>bz^2GE#kXeX~;Q61X(|<)6JrRQI5iWQ^VQf`I)a4{~I@Yr(y@AJyR-
zuAG>2@J^z~(JuJqBCfKnT7Mvg$564x@Bl2-w&@o?&S|FVayI{Y-u@P50}@O`utNyr
z+rld&S}z}j(pr9b!3!wA;b!U$!4&q=NqJKAr$;#$^ZNB`wxy*dyvD?I2wd0gOPD~8
zR4EnFc%9|nYYlmb-8NpC40sD_Av-%e7Nz=&Y6}^fP!(xH_=sHldbtTy@yeco$KQ+&
z6Tb<eXe}iaQ!K7l=6S;Uu2qiO1w(H`TDD0tSY4`~&Nya+1xvJv0!0;YoFNjtZst~$
z%G*K0Q|Hce18_*AjN(EO=}K7@PgOEcO=3huwmSUGML7~uiVfg`fq@tJf=MY7GXaK6
zxSPO5TAna_6(g&8Jse90N3%Gs|Ki371{z-Ppp9nKWEY`o<tdCHjrU^fge04`ntWY^
z&`)6VWbq`H^5{v}X4od#-bM5zq`=V4hO~65|0OX`zJTb>mn1I|=w0)}0pBI}B+6s4
zlKb-L8kAA<QuC+NlR+(7@mdZLxLMY{2U7+TNsw7*0brosdyoG$8Ni9r=P<1B!5u*T
zO*zk-&kVGYgv85&fq^7Nj#0I$k>{zHBW7s7HHNBJQCefz?)gktOEF=aAh$4eLJ=;h
zb<BQ)H{y_9${CYR26`}&a-0_%SUlWzI2kd*VCyN51}4}*+;+lp=MtBc1!Mlb?dj}O
z#Vvu9c(mL%BMAqwD2KS%0Etc&p&;bytBnB=bO<Jwc-BsN`cRt&V_o6f%b7RLn!;u2
zLxU+AhA=xU4g?`Da7Hh^*fgvv%rI=xI67j&k)wpUYo=hac30{qo}(gW_&d&#CA7GP
z3TRH~B+n5QmsVVbZGKAetn(9GU;u|SGqMloS_}?RdrxP}Y5~S&M_#55Z-SDgS)2m-
z_b%e@ctjpFnqdF>^ye3eS<q$54Gh>V+{BBl|LlJkz7?3}FB!hsL4CYY)WYO-zDN!_
zJLqeBF@#eAI5}h(*1hKnM4bRrk4cnv-d5|V#hT>hBO@Jm#X3jAiL3JH=<{rWhc0e9
zu)g7NdD=CV*E1?{^avWq#aWvM!R1|QV7W#0_?FpI$v`s_Me!F`%4UM$9;VpdJ2X;f
z?6Wd3dxPcVq<gKNwG+Z9T&3r&dx#=Fi+Y!qoG-0X=3(<GB|5W<4g1Ozzg2@^f!<S9
z`}cr1N%1X}p>ku^@gbu3nP*Zyl^AaLpBt_hYKDH$j|IneC)c)$3|k^BA~Qsb2k+b|
zf7eCug*C?Z?D|?0WWn@>GP;E<AtEg>WyeX#dhuM|T8_9Q`b`~Xy^ygu7S}kze*w2o
z&cq7tekiN_fa4)0I{XBOb6%9PRD%^fmXOkW^%d^(b04l$(@I>(-|j~fu;v;RUb(57
ztTWSfMWVKycAoNZUPo$|^#DB(cbpGsbInnNi1d)>>>skC4Y~W%r$bDmdfr|UQ{Lvp
zEPwgA`cc}*=8UP19N8r0YOut?q5Vf&;eSJtHu9ju6IfTM0CDjM$q@wp-B8uKTBvLp
G{C@zI>KY>e

literal 0
HcmV?d00001

diff --git a/dist/images/sprite@2x.png b/dist/images/sprite@2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..253b046e842a3b4254078bfb24c27b0b2bb6b81c
GIT binary patch
literal 104608
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

literal 0
HcmV?d00001

diff --git a/dist/images/tutorials.png b/dist/images/tutorials.png
new file mode 100644
index 0000000000000000000000000000000000000000..542e2cc94e379379f27e73f77c209d512a494e6c
GIT binary patch
literal 846
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBgK_U=#`P32_B-|AWyghS2@?_GgTZ
zuV`s)Q&HJ3FMmwN0?6H|r?+2AYrmTDAr*t8N_q!1H1??K@7K^fpsssJP3N$x_I_2Z
z11frlHFWo@>l{$i28th0(>bW7y&uR{)dLBtgSZDlvOu;j5FG>}ARDL*su&~=VnY<G
z0>yO>s)9v8MnSdg2P#n2KB%g*Uma+v?tUN}$WR9|bU})NE>Q=HfVf~O-GiF?hqMfi
znpz#Rv^!zve8S%4l$-bE^qgx&rPoU<?{@Uu>*~Efamw3+hrd61{PWeTpRZp3{`m3#
z|Nm|qx3~kt#iJz1FPMRmiJ66!jh%y&i<?J8R7_G@M^{hZz|h#lG&C$cHZCzKIitL)
zx~8_ivAMOqx37P~w7HActlhHp>Wy1>-@g0s@zduo-+ui3C3mm31{mfGJzX3_JdUrO
zRvpdgC~|C~lev@P8lkOGQ+CH})^XQdx$X7$|8g6rZ@hNqUC!5k=9}NYuRM3tviRJM
zocil&DhEYRKUF&3GWXfLyDoFtm&EnnG~6N|^W9P1?!EG@?K>3{R8sC#{4eC@$Z9M2
zw^>lY)Mwqzx6>0euB~JC`NQyhSH*!4b?u*hXBZy_e728vSlGtRC=;OBd#>Droo5eM
zf$Dns`5jdgWG$E8oARsjpIVlh^)5M1j|Q$g!b_M0CO23yc^p(;pmkS#p4<zIXAUec
z7&)?n7BD@!6}*`7hGoDOCXr_jH@O0S@g`WRoc1&hYjDkNS<BF9`QVLWf|~%-t?o-3
zt~PAjvrs8?^{gX5{1%@Nf19-?V$mnoM}~>@dlJlcdrdz3+TO?I<7;0L^<RJ26fLi9
zdUyCs?4^+HckhSac57Rgy(A#M$UO6pdGzUP;)`DRFz?^CQ|&Bc+Sc05UpO_GpB_4r
zA3xi1d6VNGp1c#XrXBx}_scI{_k|(-{qk)clW)!59lLt|n|TkT4+yU>oA$0u^_5wD
pUJlFSoP{A;8#XpPmcM6Z|6SnXI@jwV%YX@h!PC{xWt~$(697qGbOHbX

literal 0
HcmV?d00001

diff --git a/dist/js/all.js b/dist/js/all.js
new file mode 100644
index 0000000000..9d799fd3b6
--- /dev/null
+++ b/dist/js/all.js
@@ -0,0 +1,10 @@
+!function(e,t,n){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.CookiesEuBanner=t()}(window,function(){var e,t=window.document;return e=function(t,n,r){return this instanceof e?(this.cookieTimeout=33696e6,this.bots=/bot|googlebot|crawler|spider|robot|crawling/i,this.cookieName="hasConsent",this.trackingCookiesNames=["__utma","__utmb","__utmc","__utmt","__utmv","__utmz","_ga","_gat"],this.launchFunction=t,this.waitAccept=null!=n?n:!1,void this.init()):new e(t)},e.prototype={init:function(){return this.isBot()||!this.isToTrack()||this.hasConsent()===!1?!1:this.hasConsent()===!0?(this.launchFunction(),!0):(this.showBanner(),void(this.waitAccept||this.setCookie(this.cookieName,!0)))},showBanner:function(){var e=this,n=t.getElementById("cookies-eu-banner"),r=t.getElementById("cookies-eu-reject"),i=t.getElementById("cookies-eu-accept"),o=t.getElementById("cookies-eu-more");n.style.display="block",this.addEventListener(o,"click",function(){e.deleteCookie(e.cookieName)}),this.addEventListener(i,"click",function(){n.parentNode.removeChild(n),e.setCookie(e.cookieName,!0),e.launchFunction()}),this.addEventListener(r,"click",function(){n.parentNode.removeChild(n),e.setCookie(e.cookieName,!1),e.deleteTrackingCookies()})},hasConsent:function(){return t.cookie.indexOf(this.cookieName+"=true")>-1?!0:t.cookie.indexOf(this.cookieName+"=false")>-1?!1:null},isBot:function(){return this.bots.test(navigator.userAgent)},isToTrack:function(){var e=navigator.doNotTrack||navigator.msDoNotTrack||window.doNotTrack;return null!=e?e&&"yes"!==e&&1!==e&&"1"!==e:!0},deleteTrackingCookies:function(){var e;for(e in this.trackingCookiesNames)this.deleteCookie(e)},setCookie:function(e,n){var r=new Date;r.setTime(r.getTime()+this.cookieTimeout),t.cookie=e+"="+n+";expires="+r.toGMTString()+";path=/"},deleteCookie:function(e){var n=t.location.hostname;0===n.indexOf("www.")&&(n=n.substring(4)),t.cookie=e+"=; domain=."+n+"; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/",t.cookie=e+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/"},addEventListener:function(e,n,r){t.addEventListener?e.addEventListener(n,r):e.attachEvent&&e.attachEvent("on"+n,r)}},e}),function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t="length"in e&&e.length,n=Z.type(e);return"function"===n||Z.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function r(e,t,n){if(Z.isFunction(t))return Z.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return Z.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(ae.test(t))return Z.filter(t,e,n);t=Z.filter(t,e)}return Z.grep(e,function(e){return U.call(t,e)>=0!==n})}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function o(e){var t=he[e]={};return Z.each(e.match(de)||[],function(e,n){t[n]=!0}),t}function s(){Q.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1),Z.ready()}function a(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Z.expando+a.uid++}function u(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(be,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:xe.test(n)?Z.parseJSON(n):n}catch(i){}ye.set(e,t,n)}else n=void 0;return n}function c(){return!0}function l(){return!1}function f(){try{return Q.activeElement}catch(e){}}function p(e,t){return Z.nodeName(e,"table")&&Z.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function d(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function h(e){var t=Pe.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function g(e,t){for(var n=0,r=e.length;r>n;n++)ve.set(e[n],"globalEval",!t||ve.get(t[n],"globalEval"))}function m(e,t){var n,r,i,o,s,a,u,c;if(1===t.nodeType){if(ve.hasData(e)&&(o=ve.access(e),s=ve.set(t,o),c=o.events)){delete s.handle,s.events={};for(i in c)for(n=0,r=c[i].length;r>n;n++)Z.event.add(t,i,c[i][n])}ye.hasData(e)&&(a=ye.access(e),u=Z.extend({},a),ye.set(t,u))}}function v(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&Z.nodeName(e,t)?Z.merge([e],n):n}function y(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ke.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}function x(t,n){var r,i=Z(n.createElement(t)).appendTo(n.body),o=e.getDefaultComputedStyle&&(r=e.getDefaultComputedStyle(i[0]))?r.display:Z.css(i[0],"display");return i.detach(),o}function b(e){var t=Q,n=Be[e];return n||(n=x(e,t),"none"!==n&&n||(We=(We||Z("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=We[0].contentDocument,t.write(),t.close(),n=x(e,t),We.detach()),Be[e]=n),n}function w(e,t,n){var r,i,o,s,a=e.style;return n=n||_e(e),n&&(s=n.getPropertyValue(t)||n[t]),n&&(""!==s||Z.contains(e.ownerDocument,e)||(s=Z.style(e,t)),Ie.test(s)&&$e.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function T(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function C(e,t){if(t in e)return t;for(var n=t[0].toUpperCase()+t.slice(1),r=t,i=Ye.length;i--;)if(t=Ye[i]+n,t in e)return t;return r}function k(e,t,n){var r=Xe.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function N(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;4>o;o+=2)"margin"===n&&(s+=Z.css(e,n+Te[o],!0,i)),r?("content"===n&&(s-=Z.css(e,"padding"+Te[o],!0,i)),"margin"!==n&&(s-=Z.css(e,"border"+Te[o]+"Width",!0,i))):(s+=Z.css(e,"padding"+Te[o],!0,i),"padding"!==n&&(s+=Z.css(e,"border"+Te[o]+"Width",!0,i)));return s}function E(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=_e(e),s="border-box"===Z.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=w(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ie.test(i))return i;r=s&&(J.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+N(e,t,n||(s?"border":"content"),r,o)+"px"}function S(e,t){for(var n,r,i,o=[],s=0,a=e.length;a>s;s++)r=e[s],r.style&&(o[s]=ve.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Ce(r)&&(o[s]=ve.access(r,"olddisplay",b(r.nodeName)))):(i=Ce(r),"none"===n&&i||ve.set(r,"olddisplay",i?n:Z.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}function D(e,t,n,r,i){return new D.prototype.init(e,t,n,r,i)}function j(){return setTimeout(function(){Je=void 0}),Je=Z.now()}function A(e,t){var n,r=0,i={height:e};for(t=t?1:0;4>r;r+=2-t)n=Te[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function L(e,t,n){for(var r,i=(nt[t]||[]).concat(nt["*"]),o=0,s=i.length;s>o;o++)if(r=i[o].call(n,t,e))return r}function q(e,t,n){var r,i,o,s,a,u,c,l,f=this,p={},d=e.style,h=e.nodeType&&Ce(e),g=ve.get(e,"fxshow");n.queue||(a=Z._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,u=a.empty.fire,a.empty.fire=function(){a.unqueued||u()}),a.unqueued++,f.always(function(){f.always(function(){a.unqueued--,Z.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],c=Z.css(e,"display"),l="none"===c?ve.get(e,"olddisplay")||b(e.nodeName):c,"inline"===l&&"none"===Z.css(e,"float")&&(d.display="inline-block")),n.overflow&&(d.overflow="hidden",f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Ke.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(h?"hide":"show")){if("show"!==i||!g||void 0===g[r])continue;h=!0}p[r]=g&&g[r]||Z.style(e,r)}else c=void 0;if(Z.isEmptyObject(p))"inline"===("none"===c?b(e.nodeName):c)&&(d.display=c);else{g?"hidden"in g&&(h=g.hidden):g=ve.access(e,"fxshow",{}),o&&(g.hidden=!h),h?Z(e).show():f.done(function(){Z(e).hide()}),f.done(function(){var t;ve.remove(e,"fxshow");for(t in p)Z.style(e,t,p[t])});for(r in p)s=L(h?g[r]:0,r,f),r in g||(g[r]=s.start,h&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}}function H(e,t){var n,r,i,o,s;for(n in e)if(r=Z.camelCase(n),i=t[r],o=e[n],Z.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),s=Z.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function O(e,t,n){var r,i,o=0,s=tt.length,a=Z.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Je||j(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,o=1-r,s=0,u=c.tweens.length;u>s;s++)c.tweens[s].run(o);return a.notifyWith(e,[c,o,n]),1>o&&u?n:(a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:Z.extend({},t),opts:Z.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Je||j(),duration:n.duration,tweens:[],createTween:function(t,n){var r=Z.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)c.tweens[n].run(1);return t?a.resolveWith(e,[c,t]):a.rejectWith(e,[c,t]),this}}),l=c.props;for(H(l,c.opts.specialEasing);s>o;o++)if(r=tt[o].call(c,e,l,c.opts))return r;return Z.map(l,L,c),Z.isFunction(c.opts.start)&&c.opts.start.call(e,c),Z.fx.timer(Z.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function F(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(de)||[];if(Z.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function P(e,t,n,r){function i(a){var u;return o[a]=!0,Z.each(e[a]||[],function(e,a){var c=a(t,n,r);return"string"!=typeof c||s||o[c]?s?!(u=c):void 0:(t.dataTypes.unshift(c),i(c),!1)}),u}var o={},s=e===xt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function M(e,t){var n,r,i=Z.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&Z.extend(!0,e,r),e}function R(e,t,n){for(var r,i,o,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):void 0}function W(e,t,n,r){var i,o,s,a,u,c={},l=e.dataTypes.slice();if(l[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(o=l.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=l.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=c[u+" "+o]||c["* "+o],!s)for(i in c)if(a=i.split(" "),a[1]===o&&(s=c[u+" "+a[0]]||c["* "+a[0]])){s===!0?s=c[i]:c[i]!==!0&&(o=a[0],l.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(f){return{state:"parsererror",error:s?f:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}function B(e,t,n,r){var i;if(Z.isArray(t))Z.each(t,function(t,i){n||kt.test(e)?r(e,i):B(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==Z.type(t))r(e,t);else for(i in t)B(e+"["+i+"]",t[i],n,r)}function $(e){return Z.isWindow(e)?e:9===e.nodeType&&e.defaultView}var I=[],_=I.slice,z=I.concat,X=I.push,U=I.indexOf,V={},G=V.toString,Y=V.hasOwnProperty,J={},Q=e.document,K="2.1.4",Z=function(e,t){return new Z.fn.init(e,t)},ee=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,te=/^-ms-/,ne=/-([\da-z])/gi,re=function(e,t){return t.toUpperCase()};Z.fn=Z.prototype={jquery:K,constructor:Z,selector:"",length:0,toArray:function(){return _.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:_.call(this)},pushStack:function(e){var t=Z.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return Z.each(this,e,t)},map:function(e){return this.pushStack(Z.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(_.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:X,sort:I.sort,splice:I.splice},Z.extend=Z.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||Z.isFunction(s)||(s={}),a===u&&(s=this,a--);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(c&&r&&(Z.isPlainObject(r)||(i=Z.isArray(r)))?(i?(i=!1,o=n&&Z.isArray(n)?n:[]):o=n&&Z.isPlainObject(n)?n:{},s[t]=Z.extend(c,o,r)):void 0!==r&&(s[t]=r));return s},Z.extend({expando:"jQuery"+(K+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===Z.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!Z.isArray(e)&&e-parseFloat(e)+1>=0},isPlainObject:function(e){return"object"!==Z.type(e)||e.nodeType||Z.isWindow(e)?!1:e.constructor&&!Y.call(e.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?V[G.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;e=Z.trim(e),e&&(1===e.indexOf("use strict")?(t=Q.createElement("script"),t.text=e,Q.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(te,"ms-").replace(ne,re)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,r){var i,o=0,s=e.length,a=n(e);if(r){if(a)for(;s>o&&(i=t.apply(e[o],r),i!==!1);o++);else for(o in e)if(i=t.apply(e[o],r),i===!1)break}else if(a)for(;s>o&&(i=t.call(e[o],o,e[o]),i!==!1);o++);else for(o in e)if(i=t.call(e[o],o,e[o]),i===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ee,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?Z.merge(r,"string"==typeof e?[e]:e):X.call(r,e)),r},inArray:function(e,t,n){return null==t?-1:U.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;n>r;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,s=e.length,a=!n;s>o;o++)r=!t(e[o],o),r!==a&&i.push(e[o]);return i},map:function(e,t,r){var i,o=0,s=e.length,a=n(e),u=[];if(a)for(;s>o;o++)i=t(e[o],o,r),null!=i&&u.push(i);else for(o in e)i=t(e[o],o,r),null!=i&&u.push(i);return z.apply([],u)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),Z.isFunction(e)?(r=_.call(arguments,2),i=function(){return e.apply(t||this,r.concat(_.call(arguments)))},i.guid=e.guid=e.guid||Z.guid++,i):void 0},now:Date.now,support:J}),Z.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){V["[object "+t+"]"]=t.toLowerCase()});var ie=function(e){function t(e,t,n,r){var i,o,s,a,u,c,f,d,h,g;if((t?t.ownerDocument||t:B)!==q&&L(t),t=t||q,n=n||[],a=t.nodeType,"string"!=typeof e||!e||1!==a&&9!==a&&11!==a)return n;if(!r&&O){if(11!==a&&(i=ye.exec(e)))if(s=i[1]){if(9===a){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&R(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return K.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&w.getElementsByClassName)return K.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!F||!F.test(e))){if(d=f=W,h=t,g=1!==a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(c=N(e),(f=t.getAttribute("id"))?d=f.replace(be,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",u=c.length;u--;)c[u]=d+p(c[u]);h=xe.test(e)&&l(t.parentNode)||t,g=c.join(",")}if(g)try{return K.apply(n,h.querySelectorAll(g)),n}catch(m){}finally{f||t.removeAttribute("id")}}}return S(e.replace(ue,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[W]=!0,e}function i(e){var t=q.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)T.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function l(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function p(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=I++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,s){var a,u,c=[$,o];if(s){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(u=t[W]||(t[W]={}),(a=u[r])&&a[0]===$&&a[1]===o)return c[2]=a[2];if(u[r]=c,c[2]=e(t,n,s))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;o>i;i++)t(e,n[i],r);return r}function m(e,t,n,r,i){for(var o,s=[],a=0,u=e.length,c=null!=t;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),c&&t.push(a));return s}function v(e,t,n,i,o,s){return i&&!i[W]&&(i=v(i)),o&&!o[W]&&(o=v(o,s)),r(function(r,s,a,u){var c,l,f,p=[],d=[],h=s.length,v=r||g(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?v:m(v,p,e,a,u),x=n?o||(r?e:h||i)?[]:s:y;if(n&&n(y,x,a,u),i)for(c=m(x,d),i(c,[],a,u),l=c.length;l--;)(f=c[l])&&(x[d[l]]=!(y[d[l]]=f));if(r){if(o||e){if(o){for(c=[],l=x.length;l--;)(f=x[l])&&c.push(y[l]=f);o(null,x=[],c,u)}for(l=x.length;l--;)(f=x[l])&&(c=o?ee(r,f):p[l])>-1&&(r[c]=!(s[c]=f))}}else x=m(x===s?x.splice(h,x.length):x),o?o(null,s,x,u):K.apply(s,x)})}function y(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],s=o||T.relative[" "],a=o?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var i=!o&&(r||n!==D)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,i}];i>a;a++)if(n=T.relative[e[a].type])l=[d(h(l),n)];else{if(n=T.filter[e[a].type].apply(null,e[a].matches),n[W]){for(r=++a;i>r&&!T.relative[e[r].type];r++);return v(a>1&&h(l),a>1&&p(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ue,"$1"),n,r>a&&y(e.slice(a,r)),i>r&&y(e=e.slice(r)),i>r&&p(e))}l.push(n)}return h(l)}function x(e,n){var i=n.length>0,o=e.length>0,s=function(r,s,a,u,c){var l,f,p,d=0,h="0",g=r&&[],v=[],y=D,x=r||o&&T.find.TAG("*",c),b=$+=null==y?1:Math.random()||.1,w=x.length;for(c&&(D=s!==q&&s);h!==w&&null!=(l=x[h]);h++){if(o&&l){for(f=0;p=e[f++];)if(p(l,s,a)){u.push(l);break}c&&($=b)}i&&((l=!p&&l)&&d--,r&&g.push(l))}if(d+=h,i&&h!==d){for(f=0;p=n[f++];)p(g,v,s,a);if(r){if(d>0)for(;h--;)g[h]||v[h]||(v[h]=J.call(u));v=m(v)}K.apply(u,v),c&&!r&&v.length>0&&d+n.length>1&&t.uniqueSort(u)}return c&&($=b,D=y),g};return i?r(s):s}var b,w,T,C,k,N,E,S,D,j,A,L,q,H,O,F,P,M,R,W="sizzle"+1*new Date,B=e.document,$=0,I=0,_=n(),z=n(),X=n(),U=function(e,t){return e===t&&(A=!0),0},V=1<<31,G={}.hasOwnProperty,Y=[],J=Y.pop,Q=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie=re.replace("w","w#"),oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+ne+"*\\]",se=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),ue=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ce=new RegExp("^"+ne+"*,"+ne+"*"),le=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),fe=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),pe=new RegExp(se),de=new RegExp("^"+ie+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re.replace("w","w*")+")"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+se),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},ge=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ve=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,xe=/[+~]/,be=/'|\\/g,we=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),Te=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Ce=function(){L()};try{K.apply(Y=Z.call(B.childNodes),B.childNodes),Y[B.childNodes.length].nodeType}catch(ke){K={apply:Y.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==q&&9===r.nodeType&&r.documentElement?(q=r,H=r.documentElement,n=r.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),O=!k(r),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=ve.test(r.getElementsByClassName),w.getById=i(function(e){return H.appendChild(e).id=W,!r.getElementsByName||!r.getElementsByName(W).length}),w.getById?(T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&O){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},T.filter.ID=function(e){var t=e.replace(we,Te);return function(e){return e.getAttribute("id")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(we,Te);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){return O?t.getElementsByClassName(e):void 0},P=[],F=[],(w.qsa=ve.test(r.querySelectorAll))&&(i(function(e){H.appendChild(e).innerHTML="<a id='"+W+"'></a><select id='"+W+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+W+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+W+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=r.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=ve.test(M=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&i(function(e){w.disconnectedMatch=M.call(e,"div"),M.call(e,"[s!='']:x"),P.push("!=",se)}),F=F.length&&new RegExp(F.join("|")),P=P.length&&new RegExp(P.join("|")),t=ve.test(H.compareDocumentPosition),R=t||ve.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return A=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===r||e.ownerDocument===B&&R(B,e)?-1:t===r||t.ownerDocument===B&&R(B,t)?1:j?ee(j,e)-ee(j,t):0:4&n?-1:1)}:function(e,t){if(e===t)return A=!0,0;var n,i=0,o=e.parentNode,a=t.parentNode,u=[e],c=[t];if(!o||!a)return e===r?-1:t===r?1:o?-1:a?1:j?ee(j,e)-ee(j,t):0;if(o===a)return s(e,t);for(n=e;n=n.parentNode;)u.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;u[i]===c[i];)i++;return i?s(u[i],c[i]):u[i]===B?-1:c[i]===B?1:0},r):q},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==q&&L(e),n=n.replace(fe,"='$1']"),w.matchesSelector&&O&&(!P||!P.test(n))&&(!F||!F.test(n)))try{var r=M.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,q,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==q&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==q&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&G.call(T.attrHandle,t.toLowerCase())?n(e,t,!O):void 0;return void 0!==r?r:w.attributes||!O?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!w.detectDuplicates,j=!w.sortStable&&e.slice(0),e.sort(U),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return j=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(we,Te),e[3]=(e[3]||e[4]||e[5]||"").replace(we,Te),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&pe.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(we,Te).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=_[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&_(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,d,h,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a;if(m){if(o){for(;g;){for(f=t;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&y){for(l=m[W]||(m[W]={}),c=l[e]||[],d=c[0]===$&&c[1],p=c[0]===$&&c[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(p=d=0)||h.pop();)if(1===f.nodeType&&++p&&f===t){l[e]=[$,d,p];break}}else if(y&&(c=(t[W]||(t[W]={}))[e])&&c[0]===$)p=c[1];else for(;(f=++d&&f&&f[g]||(p=d=0)||h.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++p||(y&&((f[W]||(f[W]={}))[e]=[$,p]),f!==t)););return p-=i,p===r||p%r===0&&p/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[W]?o(n):o.length>1?(i=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=ee(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=E(e.replace(ue,"$1"));return i[W]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(we,Te),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(we,Te).toLowerCase(),function(t){var n;do if(n=O?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===q.activeElement&&(!q.hasFocus||q.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return ge.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[b]=a(b);for(b in{submit:!0,reset:!0})T.pseudos[b]=u(b);return f.prototype=T.filters=T.pseudos,T.setFilters=new f,N=t.tokenize=function(e,n){var r,i,o,s,a,u,c,l=z[e+" "];if(l)return n?0:l.slice(0);for(a=e,u=[],c=T.preFilter;a;){(!r||(i=ce.exec(a)))&&(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),r=!1,(i=le.exec(a))&&(r=i.shift(),o.push({value:r,type:i[0].replace(ue," ")}),a=a.slice(r.length));for(s in T.filter)!(i=he[s].exec(a))||c[s]&&!(i=c[s](i))||(r=i.shift(),
+o.push({value:r,type:s,matches:i}),a=a.slice(r.length));if(!r)break}return n?a.length:a?t.error(e):z(e,u).slice(0)},E=t.compile=function(e,t){var n,r=[],i=[],o=X[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=y(t[n]),o[W]?r.push(o):i.push(o);o=X(e,x(i,r)),o.selector=e}return o},S=t.select=function(e,t,n,r){var i,o,s,a,u,c="function"==typeof e&&e,f=!r&&N(e=c.selector||e);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&"ID"===(s=o[0]).type&&w.getById&&9===t.nodeType&&O&&T.relative[o[1].type]){if(t=(T.find.ID(s.matches[0].replace(we,Te),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=he.needsContext.test(e)?0:o.length;i--&&(s=o[i],!T.relative[a=s.type]);)if((u=T.find[a])&&(r=u(s.matches[0].replace(we,Te),xe.test(o[0].type)&&l(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&p(o),!e)return K.apply(n,r),n;break}}return(c||E(e,f))(r,t,!O,n,xe.test(e)&&l(t.parentNode)||t),n},w.sortStable=W.split("").sort(U).join("")===W,w.detectDuplicates=!!A,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(q.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);Z.find=ie,Z.expr=ie.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=ie.uniqueSort,Z.text=ie.getText,Z.isXMLDoc=ie.isXML,Z.contains=ie.contains;var oe=Z.expr.match.needsContext,se=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ae=/^.[^:#\[\.,]*$/;Z.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?Z.find.matchesSelector(r,e)?[r]:[]:Z.find.matches(e,Z.grep(t,function(e){return 1===e.nodeType}))},Z.fn.extend({find:function(e){var t,n=this.length,r=[],i=this;if("string"!=typeof e)return this.pushStack(Z(e).filter(function(){for(t=0;n>t;t++)if(Z.contains(i[t],this))return!0}));for(t=0;n>t;t++)Z.find(e,i[t],r);return r=this.pushStack(n>1?Z.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&oe.test(e)?Z(e):e||[],!1).length}});var ue,ce=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,le=Z.fn.init=function(e,t){var n,r;if(!e)return this;if("string"==typeof e){if(n="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ce.exec(e),!n||!n[1]&&t)return!t||t.jquery?(t||ue).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof Z?t[0]:t,Z.merge(this,Z.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:Q,!0)),se.test(n[1])&&Z.isPlainObject(t))for(n in t)Z.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return r=Q.getElementById(n[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=Q,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):Z.isFunction(e)?"undefined"!=typeof ue.ready?ue.ready(e):e(Z):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),Z.makeArray(e,this))};le.prototype=Z.fn,ue=Z(Q);var fe=/^(?:parents|prev(?:Until|All))/,pe={children:!0,contents:!0,next:!0,prev:!0};Z.extend({dir:function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&Z(e).is(n))break;r.push(e)}return r},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}}),Z.fn.extend({has:function(e){var t=Z(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(Z.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,o=[],s=oe.test(e)||"string"!=typeof e?Z(e,t||this.context):0;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&Z.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?Z.unique(o):o)},index:function(e){return e?"string"==typeof e?U.call(Z(e),this[0]):U.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Z.unique(Z.merge(this.get(),Z(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Z.dir(e,"parentNode")},parentsUntil:function(e,t,n){return Z.dir(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,n){return Z.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return Z.dir(e,"previousSibling",n)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return e.contentDocument||Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(n,r){var i=Z.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Z.filter(r,i)),this.length>1&&(pe[e]||Z.unique(i),fe.test(e)&&i.reverse()),this.pushStack(i)}});var de=/\S+/g,he={};Z.Callbacks=function(e){e="string"==typeof e?he[e]||o(e):Z.extend({},e);var t,n,r,i,s,a,u=[],c=!e.once&&[],l=function(o){for(t=e.memory&&o,n=!0,a=i||0,i=0,s=u.length,r=!0;u&&s>a;a++)if(u[a].apply(o[0],o[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,u&&(c?c.length&&l(c.shift()):t?u=[]:f.disable())},f={add:function(){if(u){var n=u.length;!function o(t){Z.each(t,function(t,n){var r=Z.type(n);"function"===r?e.unique&&f.has(n)||u.push(n):n&&n.length&&"string"!==r&&o(n)})}(arguments),r?s=u.length:t&&(i=n,l(t))}return this},remove:function(){return u&&Z.each(arguments,function(e,t){for(var n;(n=Z.inArray(t,u,n))>-1;)u.splice(n,1),r&&(s>=n&&s--,a>=n&&a--)}),this},has:function(e){return e?Z.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],s=0,this},disable:function(){return u=c=t=void 0,this},disabled:function(){return!u},lock:function(){return c=void 0,t||f.disable(),this},locked:function(){return!c},fireWith:function(e,t){return!u||n&&!c||(t=t||[],t=[e,t.slice?t.slice():t],r?c.push(t):l(t)),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!n}};return f},Z.extend({Deferred:function(e){var t=[["resolve","done",Z.Callbacks("once memory"),"resolved"],["reject","fail",Z.Callbacks("once memory"),"rejected"],["notify","progress",Z.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return Z.Deferred(function(n){Z.each(t,function(t,o){var s=Z.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&Z.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o[0]+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?Z.extend(e,r):r}},i={};return r.pipe=r.then,Z.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=_.call(arguments),s=o.length,a=1!==s||e&&Z.isFunction(e.promise)?s:0,u=1===a?e:Z.Deferred(),c=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?_.call(arguments):i,r===t?u.notifyWith(n,r):--a||u.resolveWith(n,r)}};if(s>1)for(t=new Array(s),n=new Array(s),r=new Array(s);s>i;i++)o[i]&&Z.isFunction(o[i].promise)?o[i].promise().done(c(i,r,o)).fail(u.reject).progress(c(i,n,t)):--a;return a||u.resolveWith(r,o),u.promise()}});var ge;Z.fn.ready=function(e){return Z.ready.promise().done(e),this},Z.extend({isReady:!1,readyWait:1,holdReady:function(e){e?Z.readyWait++:Z.ready(!0)},ready:function(e){(e===!0?--Z.readyWait:Z.isReady)||(Z.isReady=!0,e!==!0&&--Z.readyWait>0||(ge.resolveWith(Q,[Z]),Z.fn.triggerHandler&&(Z(Q).triggerHandler("ready"),Z(Q).off("ready"))))}}),Z.ready.promise=function(t){return ge||(ge=Z.Deferred(),"complete"===Q.readyState?setTimeout(Z.ready):(Q.addEventListener("DOMContentLoaded",s,!1),e.addEventListener("load",s,!1))),ge.promise(t)},Z.ready.promise();var me=Z.access=function(e,t,n,r,i,o,s){var a=0,u=e.length,c=null==n;if("object"===Z.type(n)){i=!0;for(a in n)Z.access(e,t,a,n[a],!0,o,s)}else if(void 0!==r&&(i=!0,Z.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(Z(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:c?t.call(e):u?t(e[0],n):o};Z.acceptData=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},a.uid=1,a.accepts=Z.acceptData,a.prototype={key:function(e){if(!a.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=a.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,Z.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(Z.isEmptyObject(o))Z.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return void 0===t?n:n[t]},access:function(e,t,n){var r;return void 0===t||t&&"string"==typeof t&&void 0===n?(r=this.get(e,t),void 0!==r?r:this.get(e,Z.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(void 0===t)this.cache[o]={};else{Z.isArray(t)?r=t.concat(t.map(Z.camelCase)):(i=Z.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(de)||[])),n=r.length;for(;n--;)delete s[r[n]]}},hasData:function(e){return!Z.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var ve=new a,ye=new a,xe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,be=/([A-Z])/g;Z.extend({hasData:function(e){return ye.hasData(e)||ve.hasData(e)},data:function(e,t,n){return ye.access(e,t,n)},removeData:function(e,t){ye.remove(e,t)},_data:function(e,t,n){return ve.access(e,t,n)},_removeData:function(e,t){ve.remove(e,t)}}),Z.fn.extend({data:function(e,t){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(i=ye.get(o),1===o.nodeType&&!ve.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=Z.camelCase(r.slice(5)),u(o,r,i[r])));ve.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){ye.set(this,e)}):me(this,function(t){var n,r=Z.camelCase(e);if(o&&void 0===t){if(n=ye.get(o,e),void 0!==n)return n;if(n=ye.get(o,r),void 0!==n)return n;if(n=u(o,r,void 0),void 0!==n)return n}else this.each(function(){var n=ye.get(this,r);ye.set(this,r,t),-1!==e.indexOf("-")&&void 0!==n&&ye.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){ye.remove(this,e)})}}),Z.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=ve.get(e,t),n&&(!r||Z.isArray(n)?r=ve.access(e,t,Z.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=Z.queue(e,t),r=n.length,i=n.shift(),o=Z._queueHooks(e,t),s=function(){Z.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return ve.get(e,n)||ve.access(e,n,{empty:Z.Callbacks("once memory").add(function(){ve.remove(e,[t+"queue",n])})})}}),Z.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?Z.queue(this[0],e):void 0===t?this:this.each(function(){var n=Z.queue(this,e,t);Z._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&Z.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Z.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=Z.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)n=ve.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var we=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Te=["Top","Right","Bottom","Left"],Ce=function(e,t){return e=t||e,"none"===Z.css(e,"display")||!Z.contains(e.ownerDocument,e)},ke=/^(?:checkbox|radio)$/i;!function(){var e=Q.createDocumentFragment(),t=e.appendChild(Q.createElement("div")),n=Q.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),J.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",J.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ne="undefined";J.focusinBubbles="onfocusin"in e;var Ee=/^key/,Se=/^(?:mouse|pointer|contextmenu)|click/,De=/^(?:focusinfocus|focusoutblur)$/,je=/^([^.]*)(?:\.(.+)|)$/;Z.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,c,l,f,p,d,h,g,m=ve.get(e);if(m)for(n.handler&&(o=n,n=o.handler,i=o.selector),n.guid||(n.guid=Z.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return typeof Z!==Ne&&Z.event.triggered!==t.type?Z.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(de)||[""],c=t.length;c--;)a=je.exec(t[c])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d&&(f=Z.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=Z.event.special[d]||{},l=Z.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&Z.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||(p=u[d]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,h,s)!==!1||e.addEventListener&&e.addEventListener(d,s,!1)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,l):p.push(l),Z.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,c,l,f,p,d,h,g,m=ve.hasData(e)&&ve.get(e);if(m&&(u=m.events)){for(t=(t||"").match(de)||[""],c=t.length;c--;)if(a=je.exec(t[c])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d){for(f=Z.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=u[d]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=p.length;o--;)l=p[o],!i&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(o,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||Z.removeEvent(e,d,m.handle),delete u[d])}else for(d in u)Z.event.remove(e,d+t[c],n,r,!0);Z.isEmptyObject(u)&&(delete m.handle,ve.remove(e,"events"))}},trigger:function(t,n,r,i){var o,s,a,u,c,l,f,p=[r||Q],d=Y.call(t,"type")?t.type:t,h=Y.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||Q,3!==r.nodeType&&8!==r.nodeType&&!De.test(d+Z.event.triggered)&&(d.indexOf(".")>=0&&(h=d.split("."),d=h.shift(),h.sort()),c=d.indexOf(":")<0&&"on"+d,t=t[Z.expando]?t:new Z.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:Z.makeArray(n,[t]),f=Z.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!Z.isWindow(r)){for(u=f.delegateType||d,De.test(u+d)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||Q)&&p.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=p[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||d,l=(ve.get(s,"events")||{})[t.type]&&ve.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&Z.acceptData(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!Z.acceptData(r)||c&&Z.isFunction(r[d])&&!Z.isWindow(r)&&(a=r[c],a&&(r[c]=null),Z.event.triggered=d,r[d](),Z.event.triggered=void 0,a&&(r[c]=a)),t.result}},dispatch:function(e){e=Z.event.fix(e);var t,n,r,i,o,s=[],a=_.call(arguments),u=(ve.get(this,"events")||{})[e.type]||[],c=Z.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=Z.event.handlers.call(this,e,u),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((Z.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",void 0===r[i]&&(r[i]=o.needsContext?Z(i,this).index(u)>=0:Z.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return a<t.length&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,o=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||Q,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},fix:function(e){if(e[Z.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Se.test(i)?this.mouseHooks:Ee.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new Z.Event(o),t=r.length;t--;)n=r[t],e[n]=o[n];return e.target||(e.target=Q),3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,o):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==f()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===f()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&Z.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return Z.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=Z.extend(new Z.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?Z.event.trigger(i,null,t):Z.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},Z.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},Z.Event=function(e,t){return this instanceof Z.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?c:l):this.type=e,t&&Z.extend(this,t),this.timeStamp=e&&e.timeStamp||Z.now(),void(this[Z.expando]=!0)):new Z.Event(e,t)},Z.Event.prototype={isDefaultPrevented:l,isPropagationStopped:l,isImmediatePropagationStopped:l,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=c,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=c,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=c,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},Z.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){Z.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!Z.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),J.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){Z.event.simulate(t,e.target,Z.event.fix(e),!0)};Z.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=ve.access(r,t);i||r.addEventListener(e,n,!0),ve.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=ve.access(r,t)-1;i?ve.access(r,t,i):(r.removeEventListener(e,n,!0),ve.remove(r,t))}}}),Z.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=void 0);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=void 0):null==r&&("string"==typeof t?(r=n,n=void 0):(r=n,n=t,t=void 0)),r===!1)r=l;else if(!r)return this;return 1===i&&(o=r,r=function(e){return Z().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=Z.guid++)),this.each(function(){Z.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,Z(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=void 0),n===!1&&(n=l),this.each(function(){Z.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){Z.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?Z.event.trigger(e,t,n,!0):void 0}});var Ae=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Le=/<([\w:]+)/,qe=/<|&#?\w+;/,He=/<(?:script|style|link)/i,Oe=/checked\s*(?:[^=]|=\s*.checked.)/i,Fe=/^$|\/(?:java|ecma)script/i,Pe=/^true\/(.*)/,Me=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Re={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Re.optgroup=Re.option,Re.tbody=Re.tfoot=Re.colgroup=Re.caption=Re.thead,Re.th=Re.td,Z.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=Z.contains(e.ownerDocument,e);if(!(J.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(s=v(a),o=v(e),r=0,i=o.length;i>r;r++)y(o[r],s[r]);if(t)if(n)for(o=o||v(e),s=s||v(a),r=0,i=o.length;i>r;r++)m(o[r],s[r]);else m(e,a);return s=v(a,"script"),s.length>0&&g(s,!u&&v(e,"script")),a},buildFragment:function(e,t,n,r){for(var i,o,s,a,u,c,l=t.createDocumentFragment(),f=[],p=0,d=e.length;d>p;p++)if(i=e[p],i||0===i)if("object"===Z.type(i))Z.merge(f,i.nodeType?[i]:i);else if(qe.test(i)){for(o=o||l.appendChild(t.createElement("div")),s=(Le.exec(i)||["",""])[1].toLowerCase(),a=Re[s]||Re._default,o.innerHTML=a[1]+i.replace(Ae,"<$1></$2>")+a[2],c=a[0];c--;)o=o.lastChild;Z.merge(f,o.childNodes),o=l.firstChild,o.textContent=""}else f.push(t.createTextNode(i));for(l.textContent="",p=0;i=f[p++];)if((!r||-1===Z.inArray(i,r))&&(u=Z.contains(i.ownerDocument,i),o=v(l.appendChild(i),"script"),u&&g(o),n))for(c=0;i=o[c++];)Fe.test(i.type||"")&&n.push(i);return l},cleanData:function(e){for(var t,n,r,i,o=Z.event.special,s=0;void 0!==(n=e[s]);s++){if(Z.acceptData(n)&&(i=n[ve.expando],i&&(t=ve.cache[i]))){if(t.events)for(r in t.events)o[r]?Z.event.remove(n,r):Z.removeEvent(n,r,t.handle);ve.cache[i]&&delete ve.cache[i]}delete ye.cache[n[ye.expando]]}}}),Z.fn.extend({text:function(e){return me(this,function(e){return void 0===e?Z.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=e)})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=p(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=p(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,r=e?Z.filter(e,this):this,i=0;null!=(n=r[i]);i++)t||1!==n.nodeType||Z.cleanData(v(n)),n.parentNode&&(t&&Z.contains(n.ownerDocument,n)&&g(v(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Z.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return Z.clone(this,e,t)})},html:function(e){return me(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!He.test(e)&&!Re[(Le.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(Ae,"<$1></$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(Z.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,Z.cleanData(v(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=z.apply([],e);var n,r,i,o,s,a,u=0,c=this.length,l=this,f=c-1,p=e[0],g=Z.isFunction(p);if(g||c>1&&"string"==typeof p&&!J.checkClone&&Oe.test(p))return this.each(function(n){var r=l.eq(n);g&&(e[0]=p.call(this,n,r.html())),r.domManip(e,t)});if(c&&(n=Z.buildFragment(e,this[0].ownerDocument,!1,this),r=n.firstChild,1===n.childNodes.length&&(n=r),r)){for(i=Z.map(v(n,"script"),d),o=i.length;c>u;u++)s=n,u!==f&&(s=Z.clone(s,!0,!0),o&&Z.merge(i,v(s,"script"))),t.call(this[u],s,u);if(o)for(a=i[i.length-1].ownerDocument,Z.map(i,h),u=0;o>u;u++)s=i[u],Fe.test(s.type||"")&&!ve.access(s,"globalEval")&&Z.contains(a,s)&&(s.src?Z._evalUrl&&Z._evalUrl(s.src):Z.globalEval(s.textContent.replace(Me,"")))}return this}}),Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(e){for(var n,r=[],i=Z(e),o=i.length-1,s=0;o>=s;s++)n=s===o?this:this.clone(!0),Z(i[s])[t](n),X.apply(r,n.get());return this.pushStack(r)}});var We,Be={},$e=/^margin/,Ie=new RegExp("^("+we+")(?!px)[a-z%]+$","i"),_e=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)};!function(){function t(){s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",s.innerHTML="",i.appendChild(o);var t=e.getComputedStyle(s,null);n="1%"!==t.top,r="4px"===t.width,i.removeChild(o)}var n,r,i=Q.documentElement,o=Q.createElement("div"),s=Q.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",J.clearCloneStyle="content-box"===s.style.backgroundClip,o.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",o.appendChild(s),e.getComputedStyle&&Z.extend(J,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return null==r&&t(),r},reliableMarginRight:function(){var t,n=s.appendChild(Q.createElement("div"));return n.style.cssText=s.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",s.style.width="1px",i.appendChild(o),t=!parseFloat(e.getComputedStyle(n,null).marginRight),i.removeChild(o),s.removeChild(n),t}}))}(),Z.swap=function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i};var ze=/^(none|table(?!-c[ea]).+)/,Xe=new RegExp("^("+we+")(.*)$","i"),Ue=new RegExp("^([+-])=("+we+")","i"),Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"},Ye=["Webkit","O","Moz","ms"];Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=w(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=Z.camelCase(t),u=e.style;return t=Z.cssProps[a]||(Z.cssProps[a]=C(u,a)),s=Z.cssHooks[t]||Z.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:u[t]:(o=typeof n,"string"===o&&(i=Ue.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(Z.css(e,t)),o="number"),null!=n&&n===n&&("number"!==o||Z.cssNumber[a]||(n+="px"),J.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var i,o,s,a=Z.camelCase(t);return t=Z.cssProps[a]||(Z.cssProps[a]=C(e.style,a)),s=Z.cssHooks[t]||Z.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=w(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),n===!0||Z.isNumeric(o)?o||0:i):i}}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,n,r){return n?ze.test(Z.css(e,"display"))&&0===e.offsetWidth?Z.swap(e,Ve,function(){return E(e,t,r)}):E(e,t,r):void 0},set:function(e,n,r){var i=r&&_e(e);return k(e,n,r?N(e,t,r,"border-box"===Z.css(e,"boxSizing",!1,i),i):0)}}}),Z.cssHooks.marginRight=T(J.reliableMarginRight,function(e,t){return t?Z.swap(e,{display:"inline-block"},w,[e,"marginRight"]):void 0}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];4>r;r++)i[e+Te[r]+t]=o[r]||o[r-2]||o[0];return i}},$e.test(e)||(Z.cssHooks[e+t].set=k)}),Z.fn.extend({css:function(e,t){return me(this,function(e,t,n){var r,i,o={},s=0;if(Z.isArray(t)){for(r=_e(e),i=t.length;i>s;s++)o[t[s]]=Z.css(e,t[s],!1,r);return o}return void 0!==n?Z.style(e,t,n):Z.css(e,t)},e,t,arguments.length>1)},show:function(){return S(this,!0)},hide:function(){return S(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Ce(this)?Z(this).show():Z(this).hide()})}}),Z.Tween=D,D.prototype={constructor:D,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Z.cssNumber[n]?"":"px")},cur:function(){var e=D.propHooks[this.prop];return e&&e.get?e.get(this):D.propHooks._default.get(this)},run:function(e){var t,n=D.propHooks[this.prop];return this.options.duration?this.pos=t=Z.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):D.propHooks._default.set(this),this}},D.prototype.init.prototype=D.prototype,D.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=Z.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){Z.fx.step[e.prop]?Z.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[Z.cssProps[e.prop]]||Z.cssHooks[e.prop])?Z.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},D.propHooks.scrollTop=D.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2;
+}},Z.fx=D.prototype.init,Z.fx.step={};var Je,Qe,Ke=/^(?:toggle|show|hide)$/,Ze=new RegExp("^(?:([+-])=|)("+we+")([a-z%]*)$","i"),et=/queueHooks$/,tt=[q],nt={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Ze.exec(t),o=i&&i[3]||(Z.cssNumber[e]?"":"px"),s=(Z.cssNumber[e]||"px"!==o&&+r)&&Ze.exec(Z.css(n.elem,e)),a=1,u=20;if(s&&s[3]!==o){o=o||s[3],i=i||[],s=+r||1;do a=a||".5",s/=a,Z.style(n.elem,e,s+o);while(a!==(a=n.cur()/r)&&1!==a&&--u)}return i&&(s=n.start=+s||+r||0,n.unit=o,n.end=i[1]?s+(i[1]+1)*i[2]:+i[2]),n}]};Z.Animation=Z.extend(O,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;i>r;r++)n=e[r],nt[n]=nt[n]||[],nt[n].unshift(t)},prefilter:function(e,t){t?tt.unshift(e):tt.push(e)}}),Z.speed=function(e,t,n){var r=e&&"object"==typeof e?Z.extend({},e):{complete:n||!n&&t||Z.isFunction(e)&&e,duration:e,easing:n&&t||t&&!Z.isFunction(t)&&t};return r.duration=Z.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in Z.fx.speeds?Z.fx.speeds[r.duration]:Z.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){Z.isFunction(r.old)&&r.old.call(this),r.queue&&Z.dequeue(this,r.queue)},r},Z.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Ce).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Z.isEmptyObject(e),o=Z.speed(t,n,r),s=function(){var t=O(this,Z.extend({},e),o);(i||ve.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=Z.timers,s=ve.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&et.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));(t||!n)&&Z.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=ve.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=Z.timers,s=r?r.length:0;for(n.finish=!0,Z.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),Z.each(["toggle","show","hide"],function(e,t){var n=Z.fn[t];Z.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(A(t,!0),e,r,i)}}),Z.each({slideDown:A("show"),slideUp:A("hide"),slideToggle:A("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Z.timers=[],Z.fx.tick=function(){var e,t=0,n=Z.timers;for(Je=Z.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||Z.fx.stop(),Je=void 0},Z.fx.timer=function(e){Z.timers.push(e),e()?Z.fx.start():Z.timers.pop()},Z.fx.interval=13,Z.fx.start=function(){Qe||(Qe=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.stop=function(){clearInterval(Qe),Qe=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fn.delay=function(e,t){return e=Z.fx?Z.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},function(){var e=Q.createElement("input"),t=Q.createElement("select"),n=t.appendChild(Q.createElement("option"));e.type="checkbox",J.checkOn=""!==e.value,J.optSelected=n.selected,t.disabled=!0,J.optDisabled=!n.disabled,e=Q.createElement("input"),e.value="t",e.type="radio",J.radioValue="t"===e.value}();var rt,it,ot=Z.expr.attrHandle;Z.fn.extend({attr:function(e,t){return me(this,Z.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Z.removeAttr(this,e)})}}),Z.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return typeof e.getAttribute===Ne?Z.prop(e,t,n):(1===o&&Z.isXMLDoc(e)||(t=t.toLowerCase(),r=Z.attrHooks[t]||(Z.expr.match.bool.test(t)?it:rt)),void 0===n?r&&"get"in r&&null!==(i=r.get(e,t))?i:(i=Z.find.attr(e,t),null==i?void 0:i):null!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:(e.setAttribute(t,n+""),n):void Z.removeAttr(e,t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(de);if(o&&1===e.nodeType)for(;n=o[i++];)r=Z.propFix[n]||n,Z.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!J.radioValue&&"radio"===t&&Z.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),it={set:function(e,t,n){return t===!1?Z.removeAttr(e,n):e.setAttribute(n,n),n}},Z.each(Z.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ot[t]||Z.find.attr;ot[t]=function(e,t,r){var i,o;return r||(o=ot[t],ot[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,ot[t]=o),i}});var st=/^(?:input|select|textarea|button)$/i;Z.fn.extend({prop:function(e,t){return me(this,Z.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Z.propFix[e]||e]})}}),Z.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!Z.isXMLDoc(e),o&&(t=Z.propFix[t]||t,i=Z.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||st.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),J.optSelected||(Z.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),Z.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Z.propFix[this.toLowerCase()]=this});var at=/[\t\r\n\f]/g;Z.fn.extend({addClass:function(e){var t,n,r,i,o,s,a="string"==typeof e&&e,u=0,c=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).addClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(de)||[];c>u;u++)if(n=this[u],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(at," "):" ")){for(o=0;i=t[o++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=Z.trim(r),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,r,i,o,s,a=0===arguments.length||"string"==typeof e&&e,u=0,c=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).removeClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(de)||[];c>u;u++)if(n=this[u],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(at," "):"")){for(o=0;i=t[o++];)for(;r.indexOf(" "+i+" ")>=0;)r=r.replace(" "+i+" "," ");s=e?Z.trim(r):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):Z.isFunction(e)?this.each(function(n){Z(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n)for(var t,r=0,i=Z(this),o=e.match(de)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(n===Ne||"boolean"===n)&&(this.className&&ve.set(this,"__className__",this.className),this.className=this.className||e===!1?"":ve.get(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(at," ").indexOf(t)>=0)return!0;return!1}});var ut=/\r/g;Z.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=Z.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,Z(this).val()):e,null==i?i="":"number"==typeof i?i+="":Z.isArray(i)&&(i=Z.map(i,function(e){return null==e?"":e+""})),t=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=Z.valHooks[i.type]||Z.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(ut,""):null==n?"":n)}}}),Z.extend({valHooks:{option:{get:function(e){var t=Z.find.attr(e,"value");return null!=t?t:Z.trim(Z.text(e))}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;a>u;u++)if(n=r[u],(n.selected||u===i)&&(J.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!Z.nodeName(n.parentNode,"optgroup"))){if(t=Z(n).val(),o)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=Z.makeArray(t),s=i.length;s--;)r=i[s],(r.selected=Z.inArray(r.value,o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]={set:function(e,t){return Z.isArray(t)?e.checked=Z.inArray(Z(e).val(),t)>=0:void 0}},J.checkOn||(Z.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),Z.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){Z.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),Z.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var ct=Z.now(),lt=/\?/;Z.parseJSON=function(e){return JSON.parse(e+"")},Z.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&Z.error("Invalid XML: "+e),t};var ft=/#.*$/,pt=/([?&])_=[^&]*/,dt=/^(.*?):[ \t]*([^\r\n]*)$/gm,ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,gt=/^(?:GET|HEAD)$/,mt=/^\/\//,vt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,yt={},xt={},bt="*/".concat("*"),wt=e.location.href,Tt=vt.exec(wt.toLowerCase())||[];Z.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt,type:"GET",isLocal:ht.test(Tt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?M(M(e,Z.ajaxSettings),t):M(Z.ajaxSettings,e)},ajaxPrefilter:F(yt),ajaxTransport:F(xt),ajax:function(e,t){function n(e,t,n,s){var u,l,v,y,b,T=t;2!==x&&(x=2,a&&clearTimeout(a),r=void 0,o=s||"",w.readyState=e>0?4:0,u=e>=200&&300>e||304===e,n&&(y=R(f,w,n)),y=W(f,y,w,u),u?(f.ifModified&&(b=w.getResponseHeader("Last-Modified"),b&&(Z.lastModified[i]=b),b=w.getResponseHeader("etag"),b&&(Z.etag[i]=b)),204===e||"HEAD"===f.type?T="nocontent":304===e?T="notmodified":(T=y.state,l=y.data,v=y.error,u=!v)):(v=T,(e||!T)&&(T="error",0>e&&(e=0))),w.status=e,w.statusText=(t||T)+"",u?h.resolveWith(p,[l,T,w]):h.rejectWith(p,[w,T,v]),w.statusCode(m),m=void 0,c&&d.trigger(u?"ajaxSuccess":"ajaxError",[w,f,u?l:v]),g.fireWith(p,[w,T]),c&&(d.trigger("ajaxComplete",[w,f]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,o,s,a,u,c,l,f=Z.ajaxSetup({},t),p=f.context||f,d=f.context&&(p.nodeType||p.jquery)?Z(p):Z.event,h=Z.Deferred(),g=Z.Callbacks("once memory"),m=f.statusCode||{},v={},y={},x=0,b="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!s)for(s={};t=dt.exec(o);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?o:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=y[n]=y[n]||e,v[e]=t),this},overrideMimeType:function(e){return x||(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||b;return r&&r.abort(t),n(0,t),this}};if(h.promise(w).complete=g.add,w.success=w.done,w.error=w.fail,f.url=((e||f.url||wt)+"").replace(ft,"").replace(mt,Tt[1]+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=Z.trim(f.dataType||"*").toLowerCase().match(de)||[""],null==f.crossDomain&&(u=vt.exec(f.url.toLowerCase()),f.crossDomain=!(!u||u[1]===Tt[1]&&u[2]===Tt[2]&&(u[3]||("http:"===u[1]?"80":"443"))===(Tt[3]||("http:"===Tt[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=Z.param(f.data,f.traditional)),P(yt,f,t,w),2===x)return w;c=Z.event&&f.global,c&&0===Z.active++&&Z.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!gt.test(f.type),i=f.url,f.hasContent||(f.data&&(i=f.url+=(lt.test(i)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=pt.test(i)?i.replace(pt,"$1_="+ct++):i+(lt.test(i)?"&":"?")+"_="+ct++)),f.ifModified&&(Z.lastModified[i]&&w.setRequestHeader("If-Modified-Since",Z.lastModified[i]),Z.etag[i]&&w.setRequestHeader("If-None-Match",Z.etag[i])),(f.data&&f.hasContent&&f.contentType!==!1||t.contentType)&&w.setRequestHeader("Content-Type",f.contentType),w.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+bt+"; q=0.01":""):f.accepts["*"]);for(l in f.headers)w.setRequestHeader(l,f.headers[l]);if(f.beforeSend&&(f.beforeSend.call(p,w,f)===!1||2===x))return w.abort();b="abort";for(l in{success:1,error:1,complete:1})w[l](f[l]);if(r=P(xt,f,t,w)){w.readyState=1,c&&d.trigger("ajaxSend",[w,f]),f.async&&f.timeout>0&&(a=setTimeout(function(){w.abort("timeout")},f.timeout));try{x=1,r.send(v,n)}catch(T){if(!(2>x))throw T;n(-1,T)}}else n(-1,"No Transport");return w},getJSON:function(e,t,n){return Z.get(e,t,n,"json")},getScript:function(e,t){return Z.get(e,void 0,t,"script")}}),Z.each(["get","post"],function(e,t){Z[t]=function(e,n,r,i){return Z.isFunction(n)&&(i=i||r,r=n,n=void 0),Z.ajax({url:e,type:t,dataType:i,data:n,success:r})}}),Z._evalUrl=function(e){return Z.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},Z.fn.extend({wrapAll:function(e){var t;return Z.isFunction(e)?this.each(function(t){Z(this).wrapAll(e.call(this,t))}):(this[0]&&(t=Z(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return Z.isFunction(e)?this.each(function(t){Z(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Z(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(n){Z(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()}}),Z.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)};var Ct=/%20/g,kt=/\[\]$/,Nt=/\r?\n/g,Et=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;Z.param=function(e,t){var n,r=[],i=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){i(this.name,this.value)});else for(n in e)B(n,e[n],t,i);return r.join("&").replace(Ct,"+")},Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Z.prop(this,"elements");return e?Z.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Z(this).is(":disabled")&&St.test(this.nodeName)&&!Et.test(e)&&(this.checked||!ke.test(e))}).map(function(e,t){var n=Z(this).val();return null==n?null:Z.isArray(n)?Z.map(n,function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}}):{name:t.name,value:n.replace(Nt,"\r\n")}}).get()}}),Z.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var Dt=0,jt={},At={0:200,1223:204},Lt=Z.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in jt)jt[e]()}),J.cors=!!Lt&&"withCredentials"in Lt,J.ajax=Lt=!!Lt,Z.ajaxTransport(function(e){var t;return J.cors||Lt&&!e.crossDomain?{send:function(n,r){var i,o=e.xhr(),s=++Dt;if(o.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)o[i]=e.xhrFields[i];e.mimeType&&o.overrideMimeType&&o.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)o.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete jt[s],t=o.onload=o.onerror=null,"abort"===e?o.abort():"error"===e?r(o.status,o.statusText):r(At[o.status]||o.status,o.statusText,"string"==typeof o.responseText?{text:o.responseText}:void 0,o.getAllResponseHeaders()))}},o.onload=t(),o.onerror=t("error"),t=jt[s]=t("abort");try{o.send(e.hasContent&&e.data||null)}catch(a){if(t)throw a}},abort:function(){t&&t()}}:void 0}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=Z("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),Q.head.appendChild(t[0])},abort:function(){n&&n()}}}});var qt=[],Ht=/(=)\?(?=&|$)|\?\?/;Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=qt.pop()||Z.expando+"_"+ct++;return this[e]=!0,e}}),Z.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=t.jsonp!==!1&&(Ht.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ht.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=Z.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Ht,"$1"+i):t.jsonp!==!1&&(t.url+=(lt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||Z.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,qt.push(i)),s&&Z.isFunction(o)&&o(s[0]),s=o=void 0}),"script"):void 0}),Z.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||Q;var r=se.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=Z.buildFragment([e],t,i),i&&i.length&&Z(i).remove(),Z.merge([],r.childNodes))};var Ot=Z.fn.load;Z.fn.load=function(e,t,n){if("string"!=typeof e&&Ot)return Ot.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>=0&&(r=Z.trim(e.slice(a)),e=e.slice(0,a)),Z.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),s.length>0&&Z.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?Z("<div>").append(Z.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},Z.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){Z.fn[t]=function(e){return this.on(t,e)}}),Z.expr.filters.animated=function(e){return Z.grep(Z.timers,function(t){return e===t.elem}).length};var Ft=e.document.documentElement;Z.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,c,l=Z.css(e,"position"),f=Z(e),p={};"static"===l&&(e.style.position="relative"),a=f.offset(),o=Z.css(e,"top"),u=Z.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1,c?(r=f.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),Z.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(p.top=t.top-a.top+s),null!=t.left&&(p.left=t.left-a.left+i),"using"in t?t.using.call(e,p):f.css(p)}},Z.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){Z.offset.setOffset(this,e,t)});var t,n,r=this[0],i={top:0,left:0},o=r&&r.ownerDocument;if(o)return t=o.documentElement,Z.contains(t,r)?(typeof r.getBoundingClientRect!==Ne&&(i=r.getBoundingClientRect()),n=$(o),{top:i.top+n.pageYOffset-t.clientTop,left:i.left+n.pageXOffset-t.clientLeft}):i},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===Z.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),Z.nodeName(e[0],"html")||(r=e.offset()),r.top+=Z.css(e[0],"borderTopWidth",!0),r.left+=Z.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-Z.css(n,"marginTop",!0),left:t.left-r.left-Z.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||Ft;e&&!Z.nodeName(e,"html")&&"static"===Z.css(e,"position");)e=e.offsetParent;return e||Ft})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var r="pageYOffset"===n;Z.fn[t]=function(i){return me(this,function(t,i,o){var s=$(t);return void 0===o?s?s[n]:t[i]:void(s?s.scrollTo(r?e.pageXOffset:o,r?o:e.pageYOffset):t[i]=o)},t,i,arguments.length,null)}}),Z.each(["top","left"],function(e,t){Z.cssHooks[t]=T(J.pixelPosition,function(e,n){return n?(n=w(e,t),Ie.test(n)?Z(e).position()[t]+"px":n):void 0})}),Z.each({Height:"height",Width:"width"},function(e,t){Z.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){Z.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),s=n||(r===!0||i===!0?"margin":"border");return me(this,function(t,n,r){var i;return Z.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?Z.css(t,n,s):Z.style(t,n,r,s)},t,o?r:void 0,o,null)}})}),Z.fn.size=function(){return this.length},Z.fn.andSelf=Z.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Z});var Pt=e.jQuery,Mt=e.$;return Z.noConflict=function(t){return e.$===Z&&(e.$=Mt),t&&e.jQuery===Z&&(e.jQuery=Pt),Z},typeof t===Ne&&(e.jQuery=e.$=Z),Z});
+
+
+window.Modernizr=function(t,e,i){function n(t){b.cssText=t}function a(t,e){return typeof t===e}function s(t,e){return!!~(""+t).indexOf(e)}function o(t,e){for(var n in t){var a=t[n];if(!s(a,"-")&&b[a]!==i)return"pfx"==e?a:!0}return!1}function r(t,e,n){for(var s in t){var o=e[t[s]];if(o!==i)return n===!1?t[s]:a(o,"function")?o.bind(n||e):o}return!1}function l(t,e,i){var n=t.charAt(0).toUpperCase()+t.slice(1),s=(t+" "+x.join(n+" ")+n).split(" ");return a(e,"string")||a(e,"undefined")?o(s,e):(s=(t+" "+C.join(n+" ")+n).split(" "),r(s,e,i))}var c,d,u,p="2.8.3",m={},h=!0,f=e.documentElement,v="modernizr",g=e.createElement(v),b=g.style,y={}.toString,w=" -webkit- -moz- -o- -ms- ".split(" "),k="Webkit Moz O ms",x=k.split(" "),C=k.toLowerCase().split(" "),E={svg:"http://www.w3.org/2000/svg"},z={},T=[],_=T.slice,I=function(t,i,n,a){var s,o,r,l,c=e.createElement("div"),d=e.body,u=d||e.createElement("body");if(parseInt(n,10))for(;n--;)r=e.createElement("div"),r.id=a?a[n]:v+(n+1),c.appendChild(r);return s=["&#173;",'<style id="s',v,'">',t,"</style>"].join(""),c.id=v,(d?c:u).innerHTML+=s,u.appendChild(c),d||(u.style.background="",u.style.overflow="hidden",l=f.style.overflow,f.style.overflow="hidden",f.appendChild(u)),o=i(c,t),d?c.parentNode.removeChild(c):(u.parentNode.removeChild(u),f.style.overflow=l),!!o},P=function(e){var i=t.matchMedia||t.msMatchMedia;if(i)return i(e)&&i(e).matches||!1;var n;return I("@media "+e+" { #"+v+" { position: absolute; } }",function(e){n="absolute"==(t.getComputedStyle?getComputedStyle(e,null):e.currentStyle).position}),n},S={}.hasOwnProperty;u=a(S,"undefined")||a(S.call,"undefined")?function(t,e){return e in t&&a(t.constructor.prototype[e],"undefined")}:function(t,e){return S.call(t,e)},Function.prototype.bind||(Function.prototype.bind=function(t){var e=this;if("function"!=typeof e)throw new TypeError;var i=_.call(arguments,1),n=function(){if(this instanceof n){var a=function(){};a.prototype=e.prototype;var s=new a,o=e.apply(s,i.concat(_.call(arguments)));return Object(o)===o?o:s}return e.apply(t,i.concat(_.call(arguments)))};return n}),z.flexboxlegacy=function(){return l("boxDirection")},z.touch=function(){var i;return"ontouchstart"in t||t.DocumentTouch&&e instanceof DocumentTouch?i=!0:I(["@media (",w.join("touch-enabled),("),v,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(t){i=9===t.offsetTop}),i},z.svg=function(){return!!e.createElementNS&&!!e.createElementNS(E.svg,"svg").createSVGRect},z.inlinesvg=function(){var t=e.createElement("div");return t.innerHTML="<svg/>",(t.firstChild&&t.firstChild.namespaceURI)==E.svg},z.svgclippaths=function(){return!!e.createElementNS&&/SVGClipPath/.test(y.call(e.createElementNS(E.svg,"clipPath")))};for(var D in z)u(z,D)&&(d=D.toLowerCase(),m[d]=z[D](),T.push((m[d]?"":"no-")+d));return m.addTest=function(t,e){if("object"==typeof t)for(var n in t)u(t,n)&&m.addTest(n,t[n]);else{if(t=t.toLowerCase(),m[t]!==i)return m;e="function"==typeof e?e():e,"undefined"!=typeof h&&h&&(f.className+=" "+(e?"":"no-")+t),m[t]=e}return m},n(""),g=c=null,function(t,e){function i(t,e){var i=t.createElement("p"),n=t.getElementsByTagName("head")[0]||t.documentElement;return i.innerHTML="x<style>"+e+"</style>",n.insertBefore(i.lastChild,n.firstChild)}function n(){var t=b.elements;return"string"==typeof t?t.split(" "):t}function a(t){var e=g[t[f]];return e||(e={},v++,t[f]=v,g[v]=e),e}function s(t,i,n){if(i||(i=e),d)return i.createElement(t);n||(n=a(i));var s;return s=n.cache[t]?n.cache[t].cloneNode():h.test(t)?(n.cache[t]=n.createElem(t)).cloneNode():n.createElem(t),!s.canHaveChildren||m.test(t)||s.tagUrn?s:n.frag.appendChild(s)}function o(t,i){if(t||(t=e),d)return t.createDocumentFragment();i=i||a(t);for(var s=i.frag.cloneNode(),o=0,r=n(),l=r.length;l>o;o++)s.createElement(r[o]);return s}function r(t,e){e.cache||(e.cache={},e.createElem=t.createElement,e.createFrag=t.createDocumentFragment,e.frag=e.createFrag()),t.createElement=function(i){return b.shivMethods?s(i,t,e):e.createElem(i)},t.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+n().join().replace(/[\w\-]+/g,function(t){return e.createElem(t),e.frag.createElement(t),'c("'+t+'")'})+");return n}")(b,e.frag)}function l(t){t||(t=e);var n=a(t);return b.shivCSS&&!c&&!n.hasCSS&&(n.hasCSS=!!i(t,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),d||r(t,n),t}var c,d,u="3.7.0",p=t.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,h=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f="_html5shiv",v=0,g={};!function(){try{var t=e.createElement("a");t.innerHTML="<xyz></xyz>",c="hidden"in t,d=1==t.childNodes.length||function(){e.createElement("a");var t=e.createDocumentFragment();return"undefined"==typeof t.cloneNode||"undefined"==typeof t.createDocumentFragment||"undefined"==typeof t.createElement}()}catch(i){c=!0,d=!0}}();var b={elements:p.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:u,shivCSS:p.shivCSS!==!1,supportsUnknownElements:d,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:l,createElement:s,createDocumentFragment:o};t.html5=b,l(e)}(this,e),m._version=p,m._prefixes=w,m._domPrefixes=C,m._cssomPrefixes=x,m.mq=P,m.testProp=function(t){return o([t])},m.testAllProps=l,m.testStyles=I,f.className=f.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(h?" js "+T.join(" "):""),m}(this,this.document),Modernizr.addTest("cssmask",Modernizr.testAllProps("maskRepeat")),Modernizr.addTest("ie8compat",function(){return!window.addEventListener&&document.documentMode&&7===document.documentMode}),function(t,e){"use strict";t("#accessibility a").on("focus",function(){t(".dropdown:visible").parent().find(".active").removeClass("active"),t("#accessibility").addClass("focused")}).on("blur",function(){t("#accessibility").removeClass("focused")}).on("click",function(){var e=t(this).attr("href");setTimeout(function(){t(e).find(":tabbable").first().focus()})})}(jQuery),function(t,e){"use strict";function i(e){t("h4 + ul, h4 + ol",e).each(function(){t(this).hasClass("unfolded")||0===t(".current",t(this)).length&&t(this).hide()}),t("h4",e).click(function(e){t("+ ul, + ol",t(this)).slideToggle(100),e.preventDefault(),e.stopPropagation()})}t(document).ready(function(){t(".main .sidebar.accordeon, .main .sidebar .accordeon").each(function(){i(t(this))}).on("DOMNodeInserted",function(e){i(t(e.target))})})}(jQuery),function(t,e){"use strict";function i(){t("#mobile-menu [data-ajax-input]").each(function(){var e=t(this).data("ajax-input");console.log(t(this).text(),t(".sidebar").find("button[data-ajax-input='"+e+"']").text(),e),t(this).text(t(".sidebar").find("button[data-ajax-input='"+e+"']").text())})}t.fn.toggleText=function(t){var e=this.text(),i=this.data(t);this.text(i),this.data(t,e)},t(".sidebar").on("click","[data-ajax-input='follow-topic']",function(e){var n=t(this),a=t(this).parents("form:first"),s=t(this).parents("li:first").next().find("[data-ajax-input='follow-topic-by-email']");s.prop("disabled",!0);var o=a.find("input[name=csrfmiddlewaretoken]").val(),r=a.find("input[name=topic]").val(),l=a.find("input[name=follow]").val(),c=a.find("input[name=page]").val();t.ajax({url:a.attr("action"),type:"POST",dataType:"json",data:{csrfmiddlewaretoken:o,topic:r,follow:l,page:c},success:function(t){t.follow?a.find("input[name=follow]").val(1):(s.hasClass("blue")===!1&&(s.toggleText("content-on-click"),s.addClass("blue"),s.parents("form:first").find("input[name=email]").val(0)),a.find("input[name=follow]").val(0)),n.toggleText("content-on-click"),n.toggleClass("blue yellow"),i()},complete:function(){s.prop("disabled",!1)}}),e.stopPropagation(),e.preventDefault()}),t(".sidebar").on("click","[data-ajax-input='follow-topic-by-email']",function(e){var n=t(this),a=t(this).parents("li:first").prev().find("[data-ajax-input='follow-topic']"),s=t(this).parents("form:first");a.prop("disabled",!0);var o=s.find("input[name=csrfmiddlewaretoken]").val(),r=s.find("input[name=topic]").val(),l=s.find("input[name=email]").val(),c=s.find("input[name=page]").val();t.ajax({url:s.attr("action"),type:"POST",dataType:"json",data:{csrfmiddlewaretoken:o,topic:r,email:l,page:c},success:function(t){t.email?(a.hasClass("yellow")===!1&&(a.toggleText("content-on-click"),a.removeClass("blue"),a.addClass("yellow"),a.parents("form:first").find("input[name=follow]").val(1)),s.find("input[name=email]").val(1)):s.find("input[name=email]").val(0),n.toggleText("content-on-click"),n.toggleClass("blue"),i()},complete:function(){a.prop("disabled",!1)}}),e.stopPropagation(),e.preventDefault()}),t(".sidebar").on("click","[data-ajax-input='solve-topic']",function(e){var n=t(this),a=t(this).parents("form:first"),s=a.find("input[name=csrfmiddlewaretoken]").val(),o=a.find("input[name=topic]").val(),r=a.find("input[name=solved]").val(),l=a.find("input[name=page]").val();t.ajax({url:a.attr("action"),type:"POST",dataType:"json",data:{csrfmiddlewaretoken:s,topic:o,solved:r,page:l},success:function(e){e.solved?a.find("input[name=solved]").val(1):a.find("input[name=solved]").val(0),n.toggleText("content-on-click"),n.toggleClass("green blue"),t("[data-ajax-output='solve-topic']").toggleClass("empty"),i()}}),e.stopPropagation(),e.preventDefault()}),t("#mobile-menu").on("click","[data-ajax-input]",function(e){var i=t(this).data("ajax-input"),n=t(".sidebar").find("button[data-ajax-input='"+i+"']");n[0]&&(t(this).toggleText("content-on-click"),n.click(),e.stopPropagation(),e.preventDefault())}),t(".message-actions").on("click","[data-ajax-input='cite-message']",function(e){var i=t(this),n=t(".md-editor");t.ajax({url:i.attr("href"),dataType:"json",success:function(t){n.val(n.val()+t.text+"\n\n")}}),t("html, body").animate({scrollTop:n.offset().top},500),n.focus(),e.stopPropagation(),e.preventDefault()}),t(".message-bottom").on("click","[data-ajax-input='preview-message']",function(e){var i=t(this).parents("form:first"),n=i.find("input[name=csrfmiddlewaretoken]").val(),a=i.find("textarea[name=text]").val(),s=i.find("input[name=last_post]").val();t.ajax({url:i.attr("action"),type:"POST",data:{csrfmiddlewaretoken:n,text:a,last_post:s,preview:"preview"},success:function(e){t(".previsualisation").remove(),t(e).insertAfter(i),t(e).find("$").length>0&&MathJax.Hub.Queue(["Typeset",MathJax.Hub])}}),e.stopPropagation(),e.preventDefault()}),t(".topic-message").on("click","[data-ajax-input='mark-message-as-useful']",function(e){var i=t(this),n=i.parents("form:first"),a=n.parents("article"),s=a.find("[data-ajax-output='mark-message-as-useful']"),o=n.find("input[name=csrfmiddlewaretoken]").val();t.ajax({url:n.attr("action"),type:"POST",data:{csrfmiddlewaretoken:o},success:function(){a.toggleClass("helpful"),i.toggleText("content-on-click"),s.toggleClass("hidden"),i.blur()}}),e.stopPropagation(),e.preventDefault()})}(jQuery),function(t,e){"use strict";function i(e,i){this.$wrapper=n(t(e)),this.$input=this.$wrapper.find(".autocomplete-input"),this.$dropdown=this.$wrapper.find(".autocomplete-dropdown"),this.$input.on("keyup",this.handleInput.bind(this)),this.$input.on("keydown",this.handleKeydown.bind(this)),this.$input.on("blur",this.hideDropdown.bind(this)),this.options=i,"multiple"===this.options.type&&(this.$form=this.$wrapper.parents("form:first"),this.$form.on("submit",this.handleSubmit.bind(this))),this.selected=-1,this._lastInput=""}function n(e){var i=t(e),n=t("<div/>",{"class":"autocomplete-wrapper"}),a=t("<div/>",{"class":"autocomplete-dropdown"});return i.addClass("autocomplete-input").attr("autocomplete","off").wrap(n).parent().append(a)}i.prototype={cache:{},handleKeydown:function(t){var e;switch(t.which){case 38:t.preventDefault(),t.stopPropagation(),-1===this.selected?this.select(this.$dropdown.find("ul li").last().attr("data-autocomplete-id")):(e=this.$dropdown.find("ul li[data-autocomplete-id="+this.selected+"]").prev("li"),this.select(1===e.length?e.attr("data-autocomplete-id"):-1));break;case 40:t.preventDefault(),t.stopPropagation(),-1===this.selected?this.select(this.$dropdown.find("ul li").first().attr("data-autocomplete-id")):(e=this.$dropdown.find("ul li[data-autocomplete-id="+this.selected+"]").next("li"),this.select(1===e.length?e.attr("data-autocomplete-id"):-1));break;case 13:t.preventDefault(),t.stopPropagation(),this.enter()}},handleInput:function(t){!t||38!==t.which&&40!==t.which&&13!==t.which||(t.preventDefault(),t.stopPropagation());var e=this.$input.val();if(this._lastInput!==e){this._lastInput=e;var i=this.parseInput(e),n=this;i&&i!==this._lastAutocomplete?(this.fetchData(i).done(function(t){n.updateCache(t.results),n.updateDropdown(n.sortList(t.results,i))}).fail(function(){console.error("[Autocompletition] Something went wrong...")}),this.updateDropdown(this.sortList(this.searchCache(i),i)),this.showDropdown()):this.hideDropdown()}},handleSubmit:function(){var t=this.$input.val();", "===t.slice(-2)&&this.$input.val(t.slice(0,-2))},showDropdown:function(){this.$input.is("input")&&this.$dropdown.css("width",this.$input.outerWidth()),this.$dropdown.show()},hideDropdown:function(){this.$dropdown.hide()},select:function(t){this.selected=t,this.$dropdown.find("ul li.active").removeClass("active"),this.$dropdown.find("ul li[data-autocomplete-id="+this.selected+"]").addClass("active")},enter:function(t){t=t||this.selected;var e=this.$input.val(),i=e.substr(-1);if((","===i||-1===t)&&"multiple"===this.options.type)return!1;var n=this.getFromCache(t);if(!n)return!1;if("multiple"===this.options.type){var a=e.lastIndexOf(",");-1!==a?(e=e.substr(0,a)+", "+n[this.options.fieldname]+", ",this.$input.val(e)):this.$input.val(n[this.options.fieldname]+", ")}else this.$input.val(n[this.options.fieldname]);this._lastAutocomplete=n[this.options.fieldname],this.selected=-1,this.$input.trigger("input")},updateCache:function(t){for(var e=0;e<t.length;e++)this.cache[t[e][this.options.fieldname]]=t[e]},extractWords:function(i){var n=t.grep(t.map(i.split(","),t.trim),function(t){return""===t||t===e},!0);return n},parseInput:function(t){if("multiple"===this.options.type){if(","===t.substr(-1)||", "===t.substr(-2))return!1;var e=this.extractWords(t);return 0===e.length?!1:e[e.length-1]}return t},searchCache:function(e){var i=new RegExp(e,"ig");return t.grep(this.cache,function(t){return t["this"].options.fieldname.match(i)})},getFromCache:function(t){for(var e in this.cache)if(parseInt(this.cache[e].id)===parseInt(t))return this.cache[e];return!1},filterData:function(t,e){var i=this.options.fieldname;return t.filter(function(t){return-1===e.indexOf(t[i])})},updateDropdown:function(e){var i=this,n=function(e){e.preventDefault(),e.stopPropagation(),i.enter(t(this).attr("data-autocomplete-id")),i.$input.focus(),i.handleInput()};e=i.filterData(e,i.extractWords(this.$input.val())),e.length>this.options.limit&&(e=e.slice(0,this.options.limit));var a,s=t("<ul>"),o=!1;for(var r in e)t("#my-account .username").text()!==e[r][this.options.fieldname]&&(a=t("<li>").text(e[r][this.options.fieldname]),a.attr("data-autocomplete-id",e[r].id),e[r].id===this.selected&&(a.addClass("active"),o=!0),a.mousedown(n),s.append(a));this.$dropdown.children().remove(),this.$dropdown.append(s),o||this.select(s.find("li").first().attr("data-autocomplete-id"))},sortList:function(t,e){for(var i=[],n=[],a=0;a<t.length;a++)0===t[a][this.options.fieldname].indexOf(e)?i.push(t[a]):n.push(t[a]);var s=function(t,e){var i=t[this.options.fieldname].toLowerCase(),n=e[this.options.fieldname].toLowerCase();return n>i?-1:i>n?1:0};return i.sort(s.bind(this)),n.sort(s.bind(this)),i.concat(n)},fetchData:function(e){return t.getJSON(this.options.url.replace("%s",e))}},t.fn.autocomplete=function(e){var n={type:"single",url:"/api/membres/?search=%s",limit:4,fieldname:"username"};return e||(e=t(this).data("autocomplete")),new i(this,t.extend(n,e))},t(document).ready(function(){t("[data-autocomplete]").autocomplete(),t("#content").on("DOMNodeInserted","input",function(e){var i=t(e.target);i.is("[data-autocomplete]")&&i.autocomplete()})})}(jQuery),function(t,e){"use strict";t(".main").on("click",".close-alert-box:not(.open-modal)",function(e){t(this).parents(".alert-box:first").slideUp(150,function(){t(this).remove()}),e.preventDefault()})}(jQuery),function(t,e,i){"use strict";function n(t){var e=t.parent().parent();"compare-from"===t.attr("name")?(e.prevAll().find("[name='compare-to']").prop("disabled",!1),e.nextAll().find("[name='compare-to']").prop("disabled",!0),e.find("[name='compare-to']").prop("disabled",!0)):(e.prevAll().find("[name='compare-from']").prop("disabled",!0),e.nextAll().find("[name='compare-from']").prop("disabled",!1),e.find("[name='compare-from']").prop("disabled",!0))}e(".commits-list input[name^='compare']").on("change",function(){n(e(this))}),e(t).ready(function(){e(".commits-list input[name^='compare']:checked").each(function(){n(e(this))})}),e(".commits-compare-form").on("submit",function(){var t=e(this),i=t.find("input[name='from']"),n=t.find("input[name='to']"),a=e(".commits-list input[name='compare-from']:checked").val(),s=e(".commits-list input[name='compare-to']:checked").val();i.val(a),n.val(s)})}(document,jQuery),function(t,e,i){"use strict";function n(e){e.attr("tabindex",-1).attr("aria-hidden",!0).on("mousedown",function(){a=!0}).on("mouseup",function(){a=!1}).on("click focus",function(e){return"focus"===e.type&&a?!1:void(t(this).hasClass("dont-click-if-sidebar")&&t(".header-container .mobile-menu-btn").is(":visible")||(e.preventDefault(),e.stopPropagation(),t("#"+t(this).attr("data-click")).trigger(e.type)))})}var a=!1;t(e).ready(function(){n(t("[data-click]")),t("#content").on("DOMNodeInserted","[data-click]",function(e){n(t(e.target))})})}(jQuery,document),function(t,e){"use strict";function i(e){t("body").trigger("click"),e.addClass("active"),e.parent().find(".dropdown-list").scrollTop(0),e.is("[data-active]")&&t("#"+e.attr("data-active")).addClass("active"),e.parents(".logbox").length&&t("html").addClass("dropdown-active"),n(e)}function n(e){e.hasClass("active")?t("body").one("click",function(i){t(i.target).hasClass("dropdown")||t(i.target).parents(".dropdown").length||(e.removeClass("active"),e.next(":tabbable").focus(),e.is("[data-active]")&&t("#"+e.attr("data-active")).removeClass("active")),n(e)}):(t("html").removeClass("dropdown-active"),t(".dropdown :tabbable").off("blur"),e.is("[data-active]")&&t("#"+e.attr("data-active")).removeClass("active"))}var a=!1,s=!1;t(document).on("keydown keyup",function(t){s=t.shiftKey}),t(".dropdown").each(function(){var e=t(this),o=t(this).parent().find("> a");o.parents(".logbox").length||o.addClass("has-dropdown"),o.on("mousedown",function(){a=!0}).on("mouseup",function(){a=!1}).on("click",function(e){return t(this).parents(".header-menu-list").length>0&&parseInt(t("html").css("width"))<960?!0:(e.preventDefault(),e.stopPropagation(),void(t(this).hasClass("active")?(t(this).removeClass("active"),n(t(this))):(i(t(this)),t(this).off("blur"))))}).on("focus",function(r){r.preventDefault(),a||o.hasClass("active")||(i(o),o.off("blur").on("blur",function(){o.one("blur",function(){s&&n(o)}),setTimeout(function(){if(t(":tabbable:focus",e).length){var i=function(){t(":tabbable:last",e).one("blur",function(){return s?void i():(o.removeClass("active"),void n(o))})};i()}else o.removeClass("active"),n(o)},10)}).one("mousemove",function(){t(this).off("blur")}))})}),t(".dropdown-list").on("focus",function(){t(this).find(":tabbable:first").focus()}),t("body").on("keydown",function(e){27===e.which&&t(".has-dropdown.active, .ico-link.active, #my-account.active").focus().removeClass("active")})}(jQuery),function(t,e,i){"use strict";var n={buttons:"bold,italic,strike,abbr,key,monospace#sup,sub#center,right#ul,ol#titles,blockcode,image,quote,link#infoblocks,chars,smilies",tags:{bold:{title:"Gras",start:"**",end:"**",useless:!0},italic:{title:"Italique",start:"*",end:"*",useless:!0},strike:{title:"Barré",start:"~~",end:"~~",useless:!0},sup:{title:"Exposant",start:"^",end:"^"},sub:{title:"Indice",start:"~",end:"~"},abbr:{title:"Abréviation"},key:{title:"Touche",start:"||",end:"||"},titles:{title:"Titres",action:"buildTitles"},ul:{title:"Liste à puces"},ol:{title:"Liste ordonnée"},center:{title:"Aligner au centre",start:"-> ",end:" <-"},right:{title:"Aligner à droite",start:"-> ",end:" ->",useless:!0},quote:{title:"Citation"},image:{title:"Image"},link:{title:"Lien"},table:{title:"Tableau"},infoblocks:{title:"Blocs spéciaux",action:"buildInfoblocks"},information:{title:"Bloc Information"},question:{title:"Bloc Question"},attention:{title:"Bloc Attention"},error:{title:"Bloc Erreur"},secret:{title:"Bloc masqué"},monospace:{title:"Code inline",start:"`",end:"`"},blockcode:{title:"Bloc de code coloré",action:"buildCode"},math:{title:"Formule mathématique",start:"$",end:"$"},hr:{title:"Ligne horizontalle",start:"\n\n------\n\n",end:"",useless:!0},chars:{title:"Caractères spéciaux",action:"buildChars"},smilies:{title:"Smileys",action:"buildSmilies",useless:!0},footnote:{title:"Note en bas de page"}},codes:{Web:{html:{title:"HTML"},css:{title:"CSS"},js:{title:"Javascript"},php:{title:"PHP"},jfx:{title:"JavaFX"},cf:{title:"ColdFusion"},as3:{title:"Actionscript 3"},pl:{title:"Perl"},sql:{title:"SQL"},xml:{title:"XML"}},Prog:{c:{title:"C"},cpp:{title:"C++"},csharp:{title:"C#"},java:{title:"Java"},delphi:{title:"Delphi"},py:{title:"Python"},ruby:{title:"Ruby"},pascal:{title:"Pascal"},vb:{title:"Visual Basic"},vbnet:{title:"VB.NET"}},Autres:{bash:{title:"Bash"},diff:{title:"Diff"},erl:{title:"Erlang"},scala:{title:"Scala"},groovy:{title:"Groovy"},ps:{title:"PowerShell"},text:{title:"Autre"}}},chars:{Typo:{char_g0:{title:"« »",start:"« ",end:" »"},char_gl:{title:"«",start:"« ",end:""},char_gr:{title:"»",start:" »",end:""},char_h0:{title:"“ ”",start:"“",end:"”"},char_hl:{title:"“",start:"“",end:""},char_hr:{title:"”",start:"”",end:""},char_su:{title:"…",start:"…",end:""},char_ti:{title:"−",start:"−",end:""},char_ca:{title:"—",start:"—",end:""}},"Caractères":{char_in:{title:"Insécable",start:" ",end:""},char_ag:{title:"À",start:"À",end:""},char_cc:{title:"Ç",start:"Ç",end:""},char_ea:{title:"É",start:"É",end:""},char_eg:{title:"È",start:"È",end:""},char_oe:{title:"œ",start:"œ",end:""},char_eo:{title:"Œ",start:"Œ",end:""}}},smilies:{0:{smiley_sm:{title:":)",start:":)",end:"",image:"https://zestedesavoir.com/static/smileys/smile.png"},smiley_he:{title:":D",start:":D",end:"",image:"https://zestedesavoir.com/static/smileys/heureux.png"},smiley_cl:{title:";)",start:";)",end:"",image:"https://zestedesavoir.com/static/smileys/clin.png"},smiley_la:{title:":p",start:":p",end:"",image:"https://zestedesavoir.com/static/smileys/langue.png"},smiley_ri:{title:":lol:",start:":lol:",end:"",image:"https://zestedesavoir.com/static/smileys/rire.gif"},smiley_un:{title:":euh:",start:":euh:",end:"",image:"https://zestedesavoir.com/static/smileys/unsure.gif"},smiley_tr:{title:":(",start:":(",end:"",image:"https://zestedesavoir.com/static/smileys/triste.png"},smiley_hu:{title:":o",start:":o",end:"",image:"https://zestedesavoir.com/static/smileys/huh.png"}},1:{smiley_c1:{title:":colere2:",start:":colere2:",end:"",image:"https://zestedesavoir.com/static/smileys/mechant.png"},smiley_oo:{title:"o_O",start:"o_O",end:"",image:"https://zestedesavoir.com/static/smileys/blink.gif"},smiley_uu:{title:"^^",start:"^^",end:"",image:"https://zestedesavoir.com/static/smileys/hihi.png"},smiley_si:{title:":-°",start:":-°",end:"",image:"https://zestedesavoir.com/static/smileys/siffle.png"},smiley_an:{title:":ange:",start:":ange:",end:"",image:"https://zestedesavoir.com/static/smileys/ange.png"},smiley_c2:{title:":colere:",start:":colere:",end:"",image:"https://zestedesavoir.com/static/smileys/angry.gif"},smiley_di:{title:":diable:",start:":diable:",end:"",image:"https://zestedesavoir.com/static/smileys/diable.png"},smiley_ma:{title:":magicien:",start:":magicien:",end:"",image:"https://zestedesavoir.com/static/smileys/magicien.png"}},2:{smiley_ni:{title:":ninja:",start:":ninja:",end:"",image:"https://zestedesavoir.com/static/smileys/ninja.png"},smiley_gd:{title:"&gt;_&lt;",start:"&gt;_&lt;",end:"",image:"https://zestedesavoir.com/static/smileys/pinch.png"},smiley_pi:{title:":pirate:",start:":pirate:",end:"",image:"https://zestedesavoir.com/static/smileys/pirate.png"},smiley_pl:{title:":'(",start:":'(",end:"",image:"https://zestedesavoir.com/static/smileys/pleure.png"},smiley_ro:{title:":honte:",start:":honte:",end:"",image:"https://zestedesavoir.com/static/smileys/rouge.png"},smiley_so:{title:":soleil:",start:":soleil:",end:"",image:"https://zestedesavoir.com/static/smileys/soleil.png"},smiley_ww:{title:":waw:",start:":waw:",end:"",image:"https://zestedesavoir.com/static/smileys/waw.png"},smiley_zz:{title:":zorro:",start:":zorro:",end:"",image:"https://zestedesavoir.com/static/smileys/zorro.png"}}},titles:{link:"Lien hypertexte",abbr:"Abréviation",image:"Image"},isExecuted:!1,selection:null,currentElemPopup:null,addEvent:function(t,e,i){t.addEventListener?t.addEventListener(e,i,!1):t.attachEvent("on"+e,i)},init:function(){function i(t){var e=r.cloneNode(!0);return e.addEventListener("click",n.validatePopup.bind(n,t)),e}for(var n=this,a=e.getElementsByTagName("textarea"),s=0,o=a.length;o>s;s++)/md.editor/.test(a[s].className)&&this.setup(a[s].id);this.addEvent(e.getElementById("content"),"DOMNodeInserted",function(t){return function(e){/md.editor/.test(e.target.className)&&t.setup(e.target.id)}}(this));var r=e.createElement("a");r.className="btn btn-submit",r.innerHTML="Valider",r.href="javascript:;",this.modals={},this.modals.link=new t.Modal({title:this.titles.link,body:"<div><label for=zform-modal-link-href>Lien :</label><input type=text id=zform-modal-link-href /></div><div><label for=zform-modal-link-text>Texte :</label><input type=text id=zform-modal-link-text /></div>",footer:i("link")}),this.modals.image=new t.Modal({title:this.titles.image,body:"<div><label for=zform-modal-image-src>URL :</label><input type=text id=zform-modal-image-src /></div><div><label for=zform-modal-image-text>Texte :</label><input type=text id=zform-modal-image-text /></div>",footer:i("image")}),this.modals.abbr=new t.Modal({title:this.titles.abbr,body:"<div><label for=zform-modal-abbr-abbr>Abbréviation :</label><input type=text id=zform-modal-abbr-abbr /></div><div><label for=zform-modal-abbr-text>Texte :</label><input type=text id=zform-modal-abbr-text /></div>",footer:i("abbr")})},setup:function(t){var i=e.getElementById(t),n=e.createElement("ul"),a=this;n.className="zform-toolbar hide-for-small",i.parentNode.insertBefore(n,i),this.isExecuted||(this.addEvent(e,"click",function(t){if(~t.target.className.indexOf("zform-button")&&!~t.target.className.indexOf("zform-subbutton"))return t.stopPropagation();for(var i=e.getElementsByClassName("zform-popup"),n=0;i[n];)("dontclose"!==i[n].getAttribute("data-zform-info")||"textarea"===t.target.nodeName.toLowerCase())&&(i[n].style.display="none",a.currentElemPopup=i[n]==a.currentElemPopup?null:a.currentElemPopup),n++},!1),this.isExecuted=!0);for(var s,o,r,l,c=this.buttons.split("#"),d=0,u=c.length;u>d;d++){s=c[d].split(",");for(var p=0,m=s.length;m>p;p++)(l=this.tags[s[p]])?(o=n.appendChild(e.createElement("li")),r=o.appendChild(this.createButton(l,{display:"button",type:s[p],textarea:t}))):alert("La valeur '"+s[p]+"' n'est pas reconnue comme étant une valeur correcte pour un bouton de zForm ! Corrigez votre syntaxe.");r.style.marginRight="20px"}},createButton:function(t,i){var n,a=e.createElement("button"===i.display?"a":"span");if(a.className="button"===i.display?"ico-after zform-button zform-button-"+i.type:"zform-subbutton-span-"+i.type,t.useless&&(a.className+=" zform-button-useless"),a.setAttribute("data-zform-textarea",i.textarea),a.title=t.title,a.innerHTML=t.title,"span"===i.display&&(a.style.display="block"),t.hasOwnProperty("image")&&(a.innerHTML='<img src="'+t.image+'" alt="'+t.title+'" />'),t.action){var s=this;a.style.position="relative",this.currentElemPopup&&(a.removeChild(this.currentElemPopup),this.currentElemPopup=null),this.addEvent(a,"click",function(t,e){t.preventDefault(),(e=this.getElementsByTagName("div")[0])&&(e.style.display="block",s.currentElemPopup&&(s.currentElemPopup.style.display="none"),s.currentElemPopup==e?s.currentElemPopup=null:s.currentElemPopup=e)}),n=a.appendChild(e.createElement("div")),n.className="zform-popup",n.style.position="absolute",n.style.display="none",n.style.left="0",n.style.width="auto",n.style.whiteSpace="nowrap",n.style.textAlign="left",n=this[t.action](n,t,i.textarea)}else this.addEvent(a,"click",function(t,e,i,n,a){return function(s){i.wrap(t.start,t.end,e,n,a),this.style.fontWeight="bold"}}(t,i.textarea,this,i.type,i.extra),!1);return a},openPopup:function(t){return this.modals[t].open(),!1},closePopup:function(){t.Modal.closeCurrent()},validatePopup:function(t){t=t||this.selection.type,this.selection&&this.selection.type&&this.wrap("___","+++",this.selection.textareaId,t,null,!0),this.closePopup()},buildTitles:function(t,i,n,a){for(var s=1;4>=s;s++)a=t.appendChild(e.createElement("a")),a.className="ico-after zform-button zform-subbutton zform-button-title"+s,a.title="Titre de niveau "+s,a.innerText="Titre de niveau "+s,this.addEvent(a,"mousedown",function(t,e,i){return function(n){n.preventDefault(),t.wrap("","",e,i)}}(this,n,"title"+s),!1);return t},buildInfoblocks:function(t,i,n,a){for(var s=["information","question","attention","error","secret"],o=0;5>o;o++)a=t.appendChild(e.createElement("a")),a.className="ico-after zform-button zform-subbutton zform-button-"+s[o],a.title=this.tags[s[o]].title,a.innerText=this.tags[s[o]].title,this.addEvent(a,"mousedown",function(t,e,i){return function(n){n.preventDefault(),t.wrap("","",e,i)}}(this,n,s[o]),!1);return t},buildColumnous:function(t,i,n){var a,s,o;for(var r in n.src){a=t.appendChild(e.createElement("div")),a.className="zform-code-col",isNaN(r)&&(s=a.appendChild(e.createElement("b")),s.style.display="block",s.style.fontWeight="bold",s.innerHTML=r);for(o in n.src[r])n.extra=o,a.appendChild(this.createButton(n.src[r][o],n))}return t},buildCode:function(t,e,i){return this.buildColumnous(t,e,{textarea:i,src:this.codes,type:"blockcode",display:"span"})},buildChars:function(t,e,i){return this.buildColumnous(t,e,{textarea:i,src:this.chars,type:"chars",display:"span"})},buildSmilies:function(t,e,i){return this.buildColumnous(t,e,{textarea:i,src:this.smilies,type:"smiley",display:"span"})},wrap:function(t,i,n,a,s,o){var r=e.getElementById(n),l=r.scrollTop,c=o?this.selection:{before:null,current:null,after:null,range:null,startTag:t,endTag:i,textareaId:n,type:a,options:s};r.focus(),r.setSelectionRange?(o||(c.before=r.value.substring(0,r.selectionStart),c.current=r.value.substring(r.selectionStart,r.selectionEnd),c.after=r.value.substring(r.selectionEnd)),r.blur(),(c=this.tagType(c,c.type,c.options,o))&&(r.value=c.before+c.startTag+c.current+c.endTag+c.after,r.focus(),r.setSelectionRange(c.before.length+c.startTag.length,c.before.length+c.startTag.length+c.current.length))):(o||(c.range=e.selection.createRange(),c.current=c.range.text),(c=this.tagType(c,c.type,c.options,o))&&(c.range.text=c.startTag+c.current+c.endTag,c.range.moveStart("character",-c.endTag.length-c.current.length),c.range.moveEnd("character",-c.endTag.length),c.range.select())),r.scrollTop=l},tagType:function(t,i,n,a){function s(t,e){for(var i=t.split("\n"),n=0===e,a=0,s=i.length;s>a;a++)i[a]=(n?++e+".":e)+" "+i[a];return i.join("\n")}if(!i)return t;this.selection=t;var o,r,l,c="";switch(i){case"link":if(!a)return l=new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?"),this.openPopup(i),
+l.test(t.current)?(e.getElementById("zform-modal-link-href").value=t.current,e.getElementById("zform-modal-link-text").value="",e.getElementById("zform-modal-link-text").focus()):(e.getElementById("zform-modal-link-text").value=t.current,e.getElementById("zform-modal-link-href").value="",e.getElementById("zform-modal-link-href").focus()),!1;o=e.getElementById("zform-modal-link-href").value,r=e.getElementById("zform-modal-link-text").value,t.current="["+r+"]("+o+")";break;case"image":if(!a)return l=new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?"),this.openPopup(i),l.test(t.current)?(e.getElementById("zform-modal-image-src").value=t.current,e.getElementById("zform-modal-image-text").value="",e.getElementById("zform-modal-image-text").focus()):(e.getElementById("zform-modal-image-text").value=t.current,e.getElementById("zform-modal-image-src").value="",e.getElementById("zform-modal-image-src").focus()),!1;var d=e.getElementById("zform-modal-image-src").value;r=e.getElementById("zform-modal-image-text").value||"Image utilisateur",t.current="!["+r+"]("+d+")";break;case"quote":t.current=s(t.current,">");break;case"information":case"attention":case"question":case"secret":t.current="[["+i+"]]\n"+s(t.current,"|");break;case"error":t.current="[[erreur]]\n"+s(t.current,"|");break;case"ul":t.current=s(t.current,"-");break;case"ol":t.current=s(t.current,0);break;case"title1":case"title2":case"title3":case"title4":for(var u=0,p=parseInt(i.charAt(5));p>u;u++)c+="#";t.current=t.current.replace(/^\s*?/,c+" ");break;case"footnote":if(!t.current)return;(c=prompt("Entrez la signification de cette abréviation"))&&(t.after+="\n\n*["+t.current+"]: "+c);break;case"abbr":if(this.openPopup(i),!a)return t.current.length<10?(e.getElementById("zform-modal-abbr-abbr").value=t.current,e.getElementById("zform-modal-abbr-text").value="",e.getElementById("zform-modal-abbr-text").focus()):(e.getElementById("zform-modal-abbr-text").value=t.current,e.getElementById("zform-modal-abbr-abbr").value="",e.getElementById("zform-modal-abbr-abbr").focus()),!0;var m=e.getElementById("zform-modal-abbr-text").value;""===m.trim()&&(m=e.getElementById("zform-modal-abbr-abbr").value),t.after+="\n\n*["+e.getElementById("zform-modal-abbr-abbr").value+"]: "+m;break;case"blockcode":t.startTag="```"+t.options+(0===t.current.indexOf("\n")?"":"\n"),t.endTag="\n```"}return t.startTag||(t.startTag=""),t.endTag||(t.endTag=""),t}};n.addEvent(t,"load",function(t){return function(){t.init()}}(n))}(window,document),function(t,e){"use strict";t(".md-editor").on("keydown",function(e){!e.ctrlKey&&!e.metaKey||13!==e.which||e.altKey||e.shiftKey||(e.preventDefault(),t(".message-submit > button[name=answer]").click())})}(jQuery),function(t,e){function i(e,i){var n=t(i);e.image?n.find(".featured-resource-illu").show().attr("src",e.image):n.find(".featured-resource-illu").hide(),n.find("h3").text(e.title),n.find(".featured-resource-description").html(e.description),n.find("a").attr("href",e.link)}function n(t,e){var i=e;return t.length>0&&(i+=" par "+t),i}t(".featured-resource-edit-form form input").on("change input",function(){i({image:t(".featured-resource-edit-form input[name=image_url]").val(),title:t(".featured-resource-edit-form input[name=title]").val(),description:n(t(".featured-resource-edit-form input[name=authors]").val(),t(".featured-resource-edit-form input[name=type]").val()),link:t(".featured-edit-form input[name=url]").val()},t(".featured-resource-edit-form .featured-resource-item"))})}(jQuery),function(t,e){"use strict";var i=t("main [data-solved-topics-url]");i.length>0}(jQuery),function(t,e){"use strict";if(t("body").hasClass("form-email-username")){var i=t("#id_email"),n=t("#form-email"),a=t("[data-form-email-username-button=email]"),s=t("#id_username"),o=t("#form-username"),r=t("[data-form-email-username-button=username]");""===i.val()?n.addClass("hidden"):n.removeClass("hidden"),a.on("click",function(t){n.toggleClass("hidden"),o.addClass("hidden"),s.val(""),t.preventDefault()}),""===s.val()?o.addClass("hidden"):o.removeClass("hidden"),r.on("click",function(t){o.toggleClass("hidden"),n.addClass("hidden"),i.val(""),t.preventDefault()})}}(jQuery),function(t,e){"use strict";var i=t(".toggle-gallery-view"),n=t(".gallery"),a=function(){i.text(n.hasClass("list-view")?"Vue grille":"Vue liste")};i.length>0&&(i.on("click",function(){n.hasClass("list-view")?n.removeClass("list-view").addClass("grid-view"):n.removeClass("grid-view").addClass("list-view"),a()}),a());var s=function(){this.checked?t(this).parents(".gallery-item").addClass("selected"):t(this).parents(".gallery-item").removeClass("selected")};n.length>0&&t(".gallery-item input[type=checkbox]").on("change",s).each(s)}(jQuery),function(t){"use strict";function e(e){function i(e){return t.expr.filters.visible(e)&&!t(e).parents().addBack().filter(function(){return"hidden"===t.css(this,"visibility")}).length}var n,a,s,o=e.nodeName.toLowerCase(),r=!isNaN(t.attr(e,"tabindex"));return"area"===o?(n=e.parentNode,a=n.name,e.href&&a&&"map"===n.nodeName.toLowerCase()?(s=t("img[usemap=#"+a+"]")[0],!!s&&i(s)):!1):(/input|select|textarea|button|object/.test(o)?!e.disabled:"a"===o?e.href||r:r)&&i(e)}t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,n){return!!t.data(e,n[3])},focusable:function(i){return e(i,!isNaN(t.attr(i,"tabindex")))},tabbable:function(i){var n=t.attr(i,"tabindex"),a=isNaN(n);return(a||n>=0)&&e(i,!a)}})}(jQuery),function(t,e){"use strict";var i=function(t){if(this.message=t,!this.message.is(".topic-message"))throw new Error("Target is not a .topic-message");this.init(),this.message.data("karma",this)};i.prototype={updateInterval:3e4,init:function(){this.karmaElem=this.message.find(".message-karma"),this.karmaURI=this.karmaElem.data("karma-uri"),this.csrf=t("input[name=csrfmiddlewaretoken]").val(),this.like={},this.dislike={},this.like.button=this.karmaElem.find(".upvote"),this.dislike.button=this.karmaElem.find(".downvote"),this.like.tooltip=this.like.button.tooltip(this.like.button.hasClass("has-vote")?"Chargement...":""),this.dislike.tooltip=this.dislike.button.tooltip(this.dislike.button.hasClass("has-vote")?"Chargement...":""),t(this.like.tooltip.elem).add(this.dislike.tooltip.elem).on("click",this.showDetails.bind(this)),this.like.listElem=t("<ul>",{"class":"vote-list like"}),this.dislike.listElem=t("<ul>",{"class":"vote-list dislike"}),this.canVote=this.karmaElem.hasClass("can-vote"),this.updateInterval=3e4,this.canVote&&(this.like.button.on("click",this.vote.bind(this,"like")),this.dislike.button.on("click",this.vote.bind(this,"dislike"))),this.like.button.on("mouseover",this.regularUpdate.bind(this)),this.dislike.button.on("mouseover",this.regularUpdate.bind(this)),this.like.button.hasClass("voted")?this.currentVote="like":this.dislike.button.hasClass("voted")?this.currentVote="dislike":this.currentVote="neutral"},vote:function(e,i){e===this.currentVote&&(e="neutral"),t.ajax({method:"PUT",url:this.karmaURI,data:{vote:e},headers:{"X-CSRFToken":this.csrf}}).done(this.update.bind(this)),i&&(i.preventDefault(),i.stopPropagation())},fetchUpdate:function(){var e=this;this.updating||(this.updating=!0,t.getJSON(this.karmaURI).done(this.update.bind(this)).always(function(){e.updating=!1}))},regularUpdate:function(){(!this.lastUpdate||this.lastUpdate+this.updateInterval<Date.now())&&(this.fetchUpdate(),this.lastUpdate=Date.now())},update:function(t){this.updateOne(t,"like","dislike"),this.updateOne(t,"dislike","like"),this.currentVote=t.user},updateOne:function(e,i,n){e[i].count>0?this[i].button.addClass("has-vote"):this[i].button.removeClass("has-vote"),e[i].count>e[n].count?this[i].button.addClass("more-voted"):this[i].button.removeClass("more-voted"),e.user===i?this[i].button.addClass("voted"):this[i].button.removeClass("voted");var a=e[i].count+" personne";a+=1===e[i].count&&"like"===i?" a":1===e[i].count&&"dislike"===i?" n'a pas":"like"===i?"s ont":"s n'ont pas",a+=" trouvé ce message utile";var s;if(this.canVote?(s="Ce message "+("like"===i?"est":"n'est pas")+" utile",0!==e[i].count&&(s+=" ("+a+")")):s=a,this[i].button.attr("title",s),this[i].button.text(("like"===i?"+":"-")+e[i].count),e[i].hasOwnProperty("users")){var o=e[i].users.slice(0,9),r=e[i].count-o.length,l=t("#my-account .username").text(),c=o.map(function(t){return t.username===l?"Vous ("+t.username+")":t.username}).join("<br>");if(r>0&&(""!==c?c+="<br> et "+r+" autre":c=r+" vote",1!==r&&(c+="s")),this[i].tooltip.setContent(c),this[i].listElem.empty(),0===e[i].count)t("<li>",{"class":"muted",text:"Pas de votes "+("like"===i?"positifs":"négatifs")}).appendTo(this[i].listElem);else{this[i].listElem.append(e[i].users.map(function(e){return t("<li>").append(t("<a>",{href:e.html_url,text:e.username}).prepend(t("<img />",{src:e.avatar_url})))}));var d=e[i].count-e[i].users.length;d&&t("<li>",{text:d+" anonyme"+(1===d?"":"s"),"class":"muted"}).appendTo(this[i].listElem)}}},showDetails:function(){if(!this.detailsModal){var e=t("<div>",{"class":"vote-details"}).append(t("<div>",{"class":"vote-col"}).append(t("<h3>",{text:"Votes positifs"})).append(this.like.listElem)).append(t("<div>",{"class":"vote-col"}).append(t("<h3>",{text:"Votes négatifs"})).append(this.dislike.listElem));this.detailsModal=new window.Modal({title:"Détail des votants",titleIcon:"hide light",body:e,closeText:"Fermer"})}this.detailsModal.open()}},t.fn.karma=function(){if(1!==this.length)return t(this).map(function(e,i){t(i).karma()});var e;e=t(this).is(".topic-message")?t(this):t(this).parents(".topic-message");var n=e.data("karma");return n?n:new i(e)},t(document).ready(function(){t(".topic-message").has(".message-karma").karma()})}(jQuery),function(t,e,i){"use strict";e(t).ready(function(){function i(t){t.addClass("active").find(".navigable-link").focus()}var n=e("#content .navigable-list");if(n.length>0){var a=n.find(".navigable-elem");e("body").on("keydown",function(s){if(!e(t.activeElement).is(":input")&&(74===s.which||75===s.which)){var o=n.find(".navigable-elem.active"),r=null;if(1===o.length){var l=a.index(o);75===s.which?l>0&&(r=l-1):l+1<a.length&&(r=l+1)}else r=0;null!==r&&(o.removeClass("active"),i(a.eq(r)))}}),e("#content .navigable-list").on("focus",".navigable-link",function(){e(this).parents(".navigable-elem:first").hasClass("active")||(n.find(".navigable-elem.active").removeClass("active"),i(e(this).parents(".navigable-elem")))}).on("blur",".navigable-link",function(){e(this).parents(".navigable-elem:first").removeClass("active")})}e("#content").on("DOMNodeInserted",".navigable-list, .navigable-elem",function(){n=e("#content .navigable-list")})})}(document,jQuery),function(t,e,i){"use strict";function n(t){t.each(function(){var t=e("<div/>",{"class":"markdown-help",html:'<div class="markdown-help-more"><p>Les simples retours à la ligne ne sont pas pris en compte. Pour créer un nouveau paragraphe, pensez à <em>sauter une ligne</em> !</p><pre><code>**gras** \n*italique* \n[texte de lien](url du lien) \n> citation \n+ liste à puces </code></pre><a href="//zestedesavoir.com/tutoriels/221/rediger-sur-zds/">Voir la documentation complète du markdown</a><p>Vous pouvez également <a href="//zestedesavoir.com/tutoriels/202/comment-rediger-des-maths-sur-zeste-de-savoir/">écrire des formules mathématiques</a> en encadrant ces dernières du signe dollar ($) !</p></div><a href="#open-markdown-help" class="open-markdown-help btn btn-grey ico-after help"><span class="close-markdown-help-text">Masquer</span><span class="open-markdown-help-text">Afficher</span> l\'aide Markdown</a>'});e(this).after(t),e(".open-markdown-help, .close-markdown-help",t).click(function(i){e(".markdown-help-more",t).toggleClass("show-markdown-help"),i.preventDefault(),i.stopPropagation()})})}e(t).ready(function(){n(e(".md-editor")),e("#content").on("DOMNodeInserted",".md-editor",function(t){var i=e(t.target);i.next().hasClass("markdown-help")===!1&&n(i)})})}(document,jQuery),function(t,e){"use strict";t("#content [href^=#show-message-hidden]").on("click",function(e){t(this).parents(".message:first").find(".message-hidden-content").toggle(),e.preventDefault()})}(jQuery),function(t,e){"use strict";t(".message-bottom .signature").on("click",function(){t(this).toggleClass("full")})}(jQuery),function(t,e,i,n){"use strict";function a(t,e){if(!t.hasClass("mobile-menu-imported")){if(e)return t.addClass("mobile-menu-imported"),void t.clone().removeAttr("id").appendTo("#mobile-menu");var n=i("<div/>");n.addClass("mobile-menu-bloc"),n.attr("data-title",t.attr("data-title")),t.hasClass("mobile-show-ico")&&n.addClass("mobile-show-ico");var a=t.hasClass("mobile-all-links")?i("a, button, span.disabled",t).not(".action-hover").addClass("mobile-menu-link"):i(".mobile-menu-link",t);a.each(function(){if(0===i(this).parents(".mobile-menu-imported, .modal").length){var t,e=i(this).clone().addClass("light");if(i(this).is("button")){var a=i(this).parents("form:first");a.attr("id")?t=a.attr("id"):(t="form"+i(".identified-form").length,a.attr("id",t).addClass("identified-form")),e.attr("form",t)}n.append(e)}}),t.addClass("mobile-menu-imported"),n.appendTo(i("#mobile-menu"))}}function s(t){var n;null===t&&(t=!i("html").hasClass("show-mobile-menu")),i("body").removeClass("swipping");var a=e.querySelector('meta[name="viewport"]');t?i("html").hasClass("show-mobile-menu")||(n=i(e).scrollTop(),i(".page-container").css({"margin-top":"-"+n+"px","padding-bottom":n+"px"}),i("html").addClass("show-mobile-menu"),a.content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0"):(i("html").removeClass("show-mobile-menu"),n=parseInt(i(".page-container").css("padding-bottom")),i(".page-container").css({"margin-top":"","padding-bottom":""}),n>0&&i(e).scrollTop(n),i("body").removeClass("swipping"),setTimeout(function(){i("#mobile-menu").scrollTop(0),a.content="width=device-width, minimum-scale=1.0, initial-scale=1.0",i("html").css({position:"absolute",left:"0"}),setTimeout(function(){i("html").removeAttr("style")},500)},200))}var o=navigator.userAgent,r=o.indexOf("Android")>-1&&o.indexOf("Mozilla/5.0")>-1&&o.indexOf("AppleWebKit")>-1,l=new RegExp(/AppleWebKit\/([\d.]+)/),c=l.exec(o),d=null===c?null:parseFloat(l.exec(o)[1]),u=r&&null!==d&&537>d;u&&i("html").removeClass("enable-mobile-menu");for(var p="",m=["transform","msTransform","MozTransform","WebkitTransform","OTransform"],h=["","-ms-","-moz-","-webkit-","-o-"],f=e.createElement("div"),v=0;v<m.length;++v)if("undefined"!=typeof f.style[m[v]]){p=h[v];break}p+="transform",i(t).on("resize",function(){if(parseInt(i("html").css("width"))<960&&!u){if(i(".page-container").css("width",i("html").css("width")),i("#mobile-menu").hasClass("initialized")||(i("#mobile-menu").addClass("initialized"),i(".mobile-menu-btn").on("click",function(t){i("html").hasClass("show-mobile-menu")||(s(!0),t.preventDefault(),t.stopPropagation())}),a(i("#search"),!0),a(i(".logbox .my-account"),!0),a(i(".header-menu")),i(".page-container .mobile-menu-bloc .mobile-menu-bloc").each(function(){a(i(this))}),i(".page-container .mobile-menu-bloc:not(.my-account-dropdown)").each(function(){a(i(this))}),a(i(".my-account-dropdown"))),!i("#mobile-menu").hasClass("initialized-events")){var t=0,e=50,n=!1;i("body").on("touchstart",function(e){t=parseInt(e.originalEvent.touches[0].pageX,10)-i(".page-container").offset().left}),i(".page-container").on("touchmove",function(a){if(n||parseInt(a.originalEvent.touches[0].pageX,10)-i(this).offset().left<e){a.preventDefault(),i("body:not(.swipping)").addClass("swipping"),n=!0;var s=parseInt(a.originalEvent.touches[0].pageX,10)-t;if(s=100*s/parseInt(i("html").width()),s>0&&90>s){var o={};o[p]="translate3d("+s+"%, 0, 0)",i(this).css(o),s=20*s/90-20,o[p]="translate3d("+s+"%, 0, 0)",i("#mobile-menu").css(o)}}}).on("touchend touchleave touchcancel",function(){if(n){var t=parseInt(i(this).offset().left),e=parseInt(i("html").width()),a=t>e/3&&!i("html").hasClass("show-mobile-menu")||t>e-e/3&&i("html").hasClass("show-mobile-menu");s(a),n=!1,i("body").removeClass("swipping");var o={};o[p]="",i(".page-container, #mobile-menu").css(o)}}),i(".page-container").on("click",function(t){i("html").hasClass("show-mobile-menu")&&(s(!1),t.preventDefault(),t.stopPropagation())}),i("#mobile-menu").addClass("initialized-events")}}else i("html").removeClass("show-mobile-menu"),i("#mobile-menu").removeClass("initialized-events"),i(".page-container").removeAttr("style"),i(".page-container").off("click touchstart touchmove touchend")}),i(t).trigger("resize"),i(t).on("resize",function(){if(parseInt(i("html").css("width"))<960&&!u){var t=i(".sidebar .new-btn:not(.mobile-btn-imported)");if(t.length>0){var e=i("#content").find("> .content-wrapper, > .full-content-wrapper, > .content-col-2").first().find("h1, h2").first();e.next(".license").length>0&&(e=e.next(".license")),e.next(".subtitle").length>0&&(e=e.next(".subtitle")),e.next(".taglist").length>0&&(e=e.next(".taglist"));var n=i("<div/>",{"class":"new-btn-container"});t.each(function(){n.append(i(this).clone().removeAttr("id").removeClass("blue")),i(this).addClass("mobile-btn-imported")}),e.after(n)}}}),i(t).trigger("resize")}(window,document,jQuery),function(t,e,i){"use strict";function n(t){t.each(function(){var t=e("[href=#"+e(this).attr("id")+"]:first"),i="";t.hasClass("ico-after")&&(i=t.attr("class").split(" ").concat(["light"]).filter(function(t){return-1===["","ico-after","open-modal","blue"].indexOf(t)&&-1===t.indexOf("btn-")}).join(" ")),new a({title:t.text(),footer:e(this).find(".btn, [type=submit]").filter(":not(.modal-inner)").detach(),body:e(this).children(),modal:e(this),closeText:e(this).is("[data-modal-close]")?e(this).attr("data-modal-close"):"Annuler",titleIcon:i})})}var a=function(t){this.options=e.extend({titleIcon:"",closeText:"Annuler"},t),a._initialized||this.firstRun(),this.init()};a.closeCurrent=function(){a.current.modal.removeClass("open"),a.container.removeClass("open"),e("html").removeClass("dropdown-active"),a.current=null},a.openModal=function(t){a.list[t]&&a.list[t].open()},a.prototype={firstRun:function(){a.container=e("<div>",{"class":"modals-container"}),a.wrapper=e("<div>",{"class":"modals-wrapper"}),a.overlay=e("<div>",{"class":"modals-overlay"}),a.container.append(a.wrapper).append(a.overlay).appendTo(e("body")),a.list=[],a._initialized=!0,a.nextId=0,a.overlay.on("click",a.closeCurrent),e("body").on("click",".open-modal",function(t){a.openModal(e(this).attr("href").substring(1)),t.preventDefault(),t.stopPropagation()}).on("keydown",function(e){if(a.current&&27===e.which)a.closeCurrent(),e.stopPropagation();else if(a.current&&13===e.which&&("TEXTAREA"!==t.activeElement.tagName||e.ctrlKey)){var i=a.current.footer.find(".btn-submit").get(0);i&&i.click()}})},init:function(){this.modal=this.options.modal||e("<div>",{"class":"modal modal-flex"}),this.id=this.modal.attr("id")||"noid-"+a.nextId++,this.title=e("<div>",{"class":"modal-title",text:this.options.title}),this.options.titleIcon&&this.title.addClass(this.options.titleIcon+" ico-after"),this.body=e("<div>",{"class":"modal-body"}).append(this.options.body),this.footer=e("<div>",{"class":"modal-footer"}).append(this.options.footer).append(e("<a>",{"class":"btn btn-cancel",href:"#close-modal",text:this.options.closeText,click:function(t){a.closeCurrent(),t.preventDefault(),t.stopPropagation()}})),this.modal.addClass("tab-modalize").append(this.title,this.body,this.footer).appendTo(a.wrapper),a.list[this.id]=this},open:function(){a.current&&a.closeCurrent(),this.modal.addClass("open"),a.container.addClass("open"),a.current=this,this.body.find("input:visible, select, textarea").first().focus(),e("html").hasClass("enable-mobile-menu")||e("html").addClass("dropdown-active")},close:function(){a.closeCurrent()}},window.Modal=a,e(t).ready(function(){n(e(".modal")),e("#content").on("DOMNodeInserted",".modal",function(t){n(e(t.target))})})}(document,jQuery),function(t,e){"use strict";t("body").on("change",".select-autosubmit",function(){t(this).parents("form:first").submit()})}(jQuery);var LetItSnow=function(t){this._parent=t,this._canvas=document.createElement("canvas"),this.resize(),this._canvas.style.zIndex=-1,this._canvas.style.position="absolute",this._canvas.style.top=this._canvas.style.left=this._canvas.style.right=this._canvas.style.bottom=0,this._canvas.style.background=window.getComputedStyle(this._parent).getPropertyValue("background-color"),this._parent.style.background="transparent",this._parent.children.length>0?this._parent.insertBefore(this._canvas,this._parent.children[0]):this._parent.appendChild(this._canvas),this._ctx=this._canvas.getContext("2d"),this.setup()};LetItSnow.prototype={PARTICLES_COLOR:"rgba(255, 255, 255, 0.8)",MAX_PARTICLES:25,SPAWN_RATE:100,PARTICLES_SPEED:15,PARTICLES_SIZE:2,TURBULENCES_X:1,TURBULENCES_Y:.5,TURBULENCES_SPEED:1,MAX_TIMESHIFT:Math.PI/3,setup:function(){this.particles=[],this._lastSpawn=this._lastLoop=Date.now(),this.loop(),window.addEventListener("resize",this.resize.bind(this))},resize:function(){var t=this._parent.getBoundingClientRect();this.H=t.height,this.W=t.width,this._canvas.height=this.H,this._canvas.width=this.W},spawnParticle:function(){this.particles.push({x:Math.random()*this.W,y:-this.PARTICLES_SIZE,d:Math.random()+1,s:Math.random()*this.MAX_TIMESHIFT})},loop:function(){this.update(),this.draw(),requestAnimationFrame(this.loop.bind(this))},update:function(){var t,e=Date.now(),i=e-this._lastLoop;for(var n in this.particles)t=this.particles[n],t.y+=i/1e3*(this.PARTICLES_SPEED*t.d*(1.5+Math.sin(e*this.TURBULENCES_SPEED/1e3+t.s)*this.TURBULENCES_Y)),t.x+=i/1e3*(this.PARTICLES_SPEED*t.d*(Math.cos(e*this.TURBULENCES_SPEED/1e3+t.s)*this.TURBULENCES_X)),(t.y-4*t.d>this.H||t.x-4*t.d>this.W||t.x+4*t.d<0)&&this.particles.splice(n,1);this._lastSpawn<=e-this.SPAWN_RATE&&this.particles.length<this.MAX_PARTICLES&&(this._lastSpawn=e,this.spawnParticle()),this._lastLoop=e},draw:function(){this._ctx.clearRect(0,0,this.W,this.H),this._ctx.fillStyle=this.PARTICLES_COLOR,this._ctx.beginPath();var t;for(var e in this.particles)t=this.particles[e],this._ctx.moveTo(t.x,t.y),this._ctx.arc(t.x,t.y,t.d*this.PARTICLES_SIZE,0,2*Math.PI,!0);this._ctx.fill()}},window.addEventListener("DOMContentLoaded",function(){-1!==document.body.className.split(" ").indexOf("vc-snow")&&setTimeout(function(){window.snow=new LetItSnow(document.querySelector(".header-container > header"))},1e3)}),function(t,e,i){"use strict";function n(t){t.each(function(){var t=e(this);t.hasClass("spoiler-build")||(t.before(e("<a/>",{text:"Afficher/Masquer le contenu masqué","class":"spoiler-title ico-after view",href:"#",click:function(t){e(this).next(".spoiler").toggle(),t.preventDefault()}})),t.addClass("spoiler-build"))})}e(t).ready(function(){var t=e("#content");n(t.find(".spoiler")),t.on("DOMNodeInserted",function(t){var i=e(t.target).find(".spoiler");return n(i)})})}(document,jQuery),function(t,e){"use strict";var i="[type=submit], [type=reset]",n=null;t("body").on("submit","form",function(){t(i).addClass("disabled"),null===n&&(n=t(i,t(this))),n.addClass("submitted").append(t("<span/>",{"class":"line-loading"}))}),t("form").on("click",i,function(e){n=t(this),t(this).hasClass("disabled")&&e.preventDefault()})}(jQuery),function(t,e){"use strict";t("body").on("keydown",function(e){var i=t(".tab-modalize:visible");if(i.length>0&&9===e.which){var n=i.find(":focus"),a=i.find(":tabbable"),s=e.shiftKey?a.length-1:0;if(1===n.length){var o=a.index(n);e.shiftKey?o>0&&(s=o-1):o+1<a.length&&(s=o+1)}a.eq(s).focus(),e.stopPropagation(),e.preventDefault()}})}(jQuery),function(t,e){"use strict";var i=function(e){this.options=t.extend({target:null,content:null},e),i._initialized||this.firstRun(),this.init()};i.prototype={firstRun:function(){i.container=t("<div>",{"class":"tooltips-container"}),i.list=[],i.nextID=0,t("body").append(i.container),i._initialized=!0},init:function(){this.wrapper=t("<div>",{"class":"tooltip-wrapper"}),this.elem=t("<div>",{"class":"tooltip",id:"tooltip-"+i.nextID,role:"tooltip","aria-hidden":!0}),this.target=t(this.options.target),this.setOrientation("top"),this.setContent(this.options.content),this.hide(),this.wrapper.append(this.elem).appendTo(i.container),this.target.on("mouseover",this.mouseover.bind(this)),this.wrapper.on("mouseover",this.mouseover.bind(this)),this.target.on("mouseout",this.mouseout.bind(this)),this.wrapper.on("mouseout",this.mouseout.bind(this)),this.target.attr("aria-describedby","tooltip-"+i.nextID),this.hideTimeout=null,this.mouseon=!1,i.list.push(this),i.nextID++},mouseover:function(){this.mouseon||this.show(),this.mouseon=!0,clearTimeout(this.hideTimeout)},mouseout:function(){this.hideTimeout=setTimeout(this.hide.bind(this),50),this.mouseon=!1},setContent:function(e){this.content=t.trim(e),this.elem.html(this.content),""===this.content?this.hide():this.mouseon&&this.show()},hide:function(){this.wrapper.hide(),this.elem.attr("aria-hidden",!0)},show:function(){""!==this.content&&(this.wrapper.show(),this.elem.attr("aria-hidden",!1),this.recalc(),setTimeout(this.recalc.bind(this)))},guessOrientation:function(){this.target.offset().top-t(window).scrollTop()<this.wrapper.height()?this.setOrientation("bottom"):this.setOrientation("top")},recalc:function(){var t={top:null,bottom:null,left:this.target.offset().left+this.target.outerWidth()/2-this.wrapper.width()/2};this.guessOrientation(),"top"===this.orientation?t.top=this.target.offset().top-this.wrapper.outerHeight():"bottom"===this.orientation?t.top=this.target.offset().top+this.target.outerHeight():t.bottom=this.target.offset().top-this.wrapper.outerHeight()+8,this.wrapper.css(t)},setOrientation:function(t){"top"!==t&&"bottom"!==t||t===this.orientation||(this.wrapper.addClass(t),this.wrapper.removeClass(this.orientation),this.orientation=t)}},t.fn.tooltip=function(e){var n=t(this).data("tooltip");return n?e&&n.setContent(e):(n=new i({target:this,content:e}),t(this).data("tooltip",n)),n}}(jQuery),function(t,e){"use strict";t(".open-zen-mode").length>0&&(t(".open-zen-mode").on("click",function(e){var i=t(".open-zen-mode").text(),n=t(".open-zen-mode").attr("data-content-on-click");t(".open-zen-mode").attr("data-content-on-click",i),t(".open-zen-mode").text(n),"undefined"!=typeof sessionStorage&&(t(".content-container").hasClass("zen-mode")?"zenMode"in sessionStorage&&sessionStorage.setItem("zenMode","false"):sessionStorage.setItem("zenMode","true")),t(".content-container").toggleClass("zen-mode tab-modalize"),t(this).blur(),e.preventDefault(),e.stopPropagation()}),t("body").on("keydown",function(e){if(t(".zen-mode").length>0&&27===e.which){var i=t(".open-zen-mode").text(),n=t(".open-zen-mode").attr("data-content-on-click");t(".open-zen-mode").attr("data-content-on-click",i),t(".open-zen-mode").text(n),"undefined"!=typeof sessionStorage&&"zenMode"in sessionStorage&&sessionStorage.setItem("zenMode","false"),t(".content-container").toggleClass("zen-mode tab-modalize"),t(this).blur(),e.stopPropagation()}}),"undefined"!=typeof sessionStorage&&"zenMode"in sessionStorage&&"true"===sessionStorage.getItem("zenMode")&&t(".open-zen-mode").click())}(jQuery);
+
+
+//# sourceMappingURL=all.js.map
diff --git a/dist/js/all.js.map b/dist/js/all.js.map
new file mode 100644
index 0000000000..5e6f6aaaf0
--- /dev/null
+++ b/dist/js/all.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../vendors/cookies-eu-banner.js","../../vendors/jquery.js","../../assets/js/_custom.modernizr.js","../../assets/js/accessibility-links.js","../../assets/js/accordeon.js","../../assets/js/ajax-actions.js","../../assets/js/autocompletion.js","../../assets/js/close-alert-box.js","../../assets/js/compare-commits.js","../../assets/js/data-click.js","../../assets/js/dropdown-menu.js","../../assets/js/editor.js","../../assets/js/featured-resource-preview.js","../../assets/js/find-solved-topics.js","../../assets/js/form-email-username.js","../../assets/js/gallery.js","../../assets/js/jquery-tabbable.js","../../assets/js/karma.js","../../assets/js/keyboard-navigation.js","../../assets/js/markdown-help.js","../../assets/js/message-hidden.js","../../assets/js/message-signature.js","../../assets/js/mobile-menu.js","../../assets/js/modal.js","../../assets/js/select-autosubmit.js","../../assets/js/snow.js","../../assets/js/spoiler.js","../../assets/js/submit-dbclick.js","../../assets/js/tab-modalize.js","../../assets/js/tooltips.js","../../assets/js/zen-mode.js"],"names":["root","factory","undefined","define","amd","exports","module","CookiesEuBanner","window","document","launchFunction","waitAccept","this","cookieTimeout","bots","cookieName","trackingCookiesNames","init","prototype","isBot","isToTrack","hasConsent","showBanner","setCookie","_this","banner","getElementById","rejectButton","acceptButton","moreLink","style","display","addEventListener","deleteCookie","parentNode","removeChild","deleteTrackingCookies","cookie","indexOf","test","navigator","userAgent","dnt","doNotTrack","msDoNotTrack","name","value","date","Date","setTime","getTime","toGMTString","hostname","location","substring","DOMElement","evnt","callback","attachEvent","global","w","Error","noGlobal","isArraylike","obj","length","type","jQuery","isWindow","nodeType","winnow","elements","qualifier","not","isFunction","grep","elem","i","call","risSimple","filter","sibling","cur","dir","createOptions","options","object","optionsCache","each","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","Object","defineProperty","cache","get","expando","uid","dataAttr","key","data","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","data_user","set","returnTrue","returnFalse","safeActiveElement","activeElement","err","manipulationTarget","content","nodeName","firstChild","getElementsByTagName","appendChild","ownerDocument","createElement","disableScript","restoreScript","rscriptTypeMasked","exec","removeAttribute","setGlobalEval","elems","refElements","l","data_priv","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","event","add","extend","getAll","context","tag","ret","querySelectorAll","merge","fixInput","rcheckableType","checked","defaultValue","actualDisplay","doc","appendTo","body","getDefaultComputedStyle","css","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","contains","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","apply","arguments","vendorPropName","capName","toUpperCase","slice","origName","cssPrefixes","setPositiveNumber","subtract","matches","rnumsplit","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","support","boxSizingReliable","parseFloat","showHide","show","hidden","values","index","isHidden","Tween","prop","end","easing","createFxNow","setTimeout","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","tween","collection","tweeners","concat","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","hide","remove","start","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","Animation","properties","result","stopped","animationPrefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","push","stop","gotoEnd","rejectWith","map","fx","timer","progress","complete","fail","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","tmp","prev","responseFields","dataFilter","split","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","selector","fn","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","args","first","eq","last","len","j","sort","splice","copy","copyIsArray","clone","isPlainObject","random","isReady","msg","noop","Array","isNumeric","globalEval","code","script","indirect","eval","trim","text","head","string","makeArray","results","inArray","second","invert","callbackInverse","callbackExpect","arg","guid","proxy","Sizzle","seed","m","groups","old","nid","newContext","newSelector","preferredDoc","setDocument","documentIsHTML","rquickExpr","id","getElementsByClassName","qsa","rbuggyQSA","tokenize","rescape","setAttribute","toSelector","rsibling","testContext","join","qsaError","select","createCache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","a","b","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","outerCache","newCache","dirruns","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","compilerCache","sortOrder","push_native","list","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","childNodes","els","node","hasCompare","parent","top","className","createComment","getById","getElementsByName","attrId","getAttributeNode","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","textContent","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","lastChild","pseudo","idx","matched","has","innerText","lang","elemLang","hash","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","rneedsContext","rsingleTag","self","is","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","next","until","truncate","n","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","reverse","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","stack","once","stopOnFalse","disable","lock","locked","fireWith","tuples","then","fns","newDefer","tuple","returned","resolve","reject","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","off","readyState","chainable","emptyGet","raw","bulk","acceptData","owner","accepts","descriptor","unlock","defineProperties","stored","camel","discard","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","count","defer","pnum","source","el","fragment","createDocumentFragment","checkClone","cloneNode","noCloneChecked","strundefined","focusinBubbles","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","types","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","trigger","onlyHandlers","bubbleType","ontype","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","load","blur","click","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","timeStamp","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","attaches","on","one","origFn","rxhtmlTag","rtagName","rhtml","rnoInnerhtml","rchecked","rscriptType","rcleanScript","wrapMap","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","buildFragment","scripts","selection","wrap","nodes","createTextNode","cleanData","append","domManip","prepend","insertBefore","before","after","keepData","html","replaceWith","replaceChild","hasScripts","iNoClone","_evalUrl","prependTo","insertAfter","replaceAll","insert","opener","getComputedStyle","computePixelPositionAndBoxSizingReliable","cssText","container","divStyle","pixelPositionVal","boxSizingReliableVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginRight","marginDiv","marginRight","swap","rdisplayswap","rrelNum","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssNumber","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","margin","padding","border","suffix","expanded","parts","unit","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rfxnum","rrun","*","scale","maxIterations","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","nodeHook","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","removeProp","for","class","notxml","hasAttribute","rclass","addClass","classes","clazz","finalValue","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","prefilters","allTypes","ajaxLocation","ajaxLocParts","active","lastModified","etag","url","isLocal","processData","async","contentType","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","param","hasContent","beforeSend","send","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrId","xhrCallbacks","xhrSuccessStatus","0","1223","xhrSupported","cors","open","username","xhrFields","onload","onerror","responseText","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","left","using","win","box","getBoundingClientRect","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","size","andSelf","_jQuery","_$","$","noConflict","Modernizr","c","B","D","E","F","d","G","f","H","charAt","o","k","A","g","h","q","svg","r","u","x","parseInt","background","y","matchMedia","msMatchMedia","currentStyle","z","Function","TypeError","flexboxlegacy","touch","DocumentTouch","offsetTop","createElementNS","createSVGRect","inlinesvg","namespaceURI","svgclippaths","I","addTest","createElem","canHaveChildren","tagUrn","frag","createFrag","shivMethods","shivCSS","hasCSS","html5","supportsUnknownElements","shivDocument","_version","_prefixes","_domPrefixes","_cssomPrefixes","mq","testProp","testAllProps","testStyles","documentMode","link","accordeon","$elem","synchText","dataAjaxInput","console","log","toggleText","dataAttribute","textToPut","$act","$form","$email","csrfmiddlewaretoken","topic","follow","page","$follow","email","solved","$button","$editor","lastPost","last_post","preview","MathJax","Hub","Queue","$message","$usefulText","AutoComplete","$wrapper","buildDom","$input","$dropdown","handleInput","handleKeydown","hideDropdown","handleSubmit","_lastInput","$tmp","enter","search","parseInput","_lastAutocomplete","fetchData","updateCache","updateDropdown","sortList","searchCache","showDropdown","outerWidth","lastChar","substr","completion","getFromCache","lastComma","lastIndexOf","fieldname","extractWords","words","regexp","filterData","exclude","onClick","limit","$el","$list","mousedown","bestMatches","otherMatches","sortFn","valueA","valueB","autocomplete","defaults","toogleRadioInput","$radioInput","$row","$fromInput","$toInput","compareFrom","compareTo","dataClick","dropdownMouseDown","activeDropdown","triggerCloseDropdown","$that","mouseDown","shiftHold","shiftKey","listenBlurLast","zForm","buttons","tags","bold","title","useless","italic","strike","sup","sub","abbr","titles","action","ul","ol","center","right","quote","table","infoblocks","information","question","attention","secret","monospace","blockcode","math","hr","chars","smilies","footnote","codes","Web","js","php","jfx","cf","as3","pl","sql","Prog","cpp","csharp","java","delphi","py","ruby","pascal","vb","vbnet","Autres","bash","erl","scala","groovy","ps","Typo","char_g0","char_gl","char_gr","char_h0","char_hl","char_hr","char_su","char_ti","char_ca","Caractères","char_in","char_ag","char_cc","char_ea","char_eg","char_oe","char_eo","smiley_sm","smiley_he","smiley_cl","smiley_la","smiley_ri","smiley_un","smiley_tr","smiley_hu","1","smiley_c1","smiley_oo","smiley_uu","smiley_si","smiley_an","smiley_c2","smiley_di","smiley_ma","2","smiley_ni","smiley_gd","smiley_pi","smiley_pl","smiley_ro","smiley_so","smiley_ww","smiley_zz","isExecuted","currentElemPopup","addEvent","listener","buildButton","btn","validateButton","validatePopup","listTexta","modals","Modal","footer","textareaId","elemTexta","elemTools","menus","elemButtonLi","elemButton","currentButton","cg","cb","createButton","textarea","alert","elemPopup","whiteSpace","textAlign","_button","_textareaId","_tagtype","_extraoption","openPopup","popupGuid","closePopup","closeCurrent","buildTitles","elemItem","_options","buildInfoblocks","ids","buildColumnous","elemCol","elemStg","category","isNaN","buildCode","buildChars","buildSmilies","startTag","endTag","isFromPopup","field","scroll","range","setSelectionRange","selectionStart","selectionEnd","tagType","createRange","moveStart","moveEnd","iterateRows","txt","char","spltd","regex","prompt","valtext","ctrlKey","metaKey","altKey","updatePreview","element","description","buildDescription","authors","$solvedTopicsElem","$emailInput","$emailForm","$emailButton","$usernameInput","$usernameForm","$usernameButton","$btn","$galleryView","updateBtn","updateCheckbox","focusable","mapName","img","isTabIndexNotNaN","dataName","tabbable","isTabIndexNaN","Karma","message","updateInterval","karmaElem","karmaURI","csrf","like","dislike","tooltip","showDetails","listElem","canVote","vote","regularUpdate","currentVote","X-CSRFToken","update","fetchUpdate","updating","lastUpdate","updateOne","user","sign","otherSign","likeTitleCount","likeTitle","likers","users","otherLikeCount","currentUser","likeStr","setContent","anonymous","detailsModal","titleIcon","closeText","karma","instance","activeNavigableElem","$lists","$navigableElems","$current","nextIndex","currentIndex","addDocMD","$help","appendToSidebar","force","$div","$links","formId","toggleMobileMenu","viewportmeta","querySelector","margin-top","padding-bottom","navU","isAndroidMobile","regExAppleWebKit","resultAppleWebKitRegEx","appleWebKitVersion","disableMobileMenu","transform","prefixedPropertyNames","prefixes","tempDiv","beginTouchDown","borderWidth","swipping","touches","toMove","$newBtns","$prevElem","$newBtnContainer","buildModals","$elems","$link","linkIco","modal","_initialized","firstRun","openModal","wrapper","overlay","nextId","tagName","LetItSnow","_parent","_canvas","resize","bottom","_ctx","getContext","PARTICLES_COLOR","MAX_PARTICLES","SPAWN_RATE","PARTICLES_SPEED","PARTICLES_SIZE","TURBULENCES_X","TURBULENCES_Y","TURBULENCES_SPEED","MAX_TIMESHIFT","particles","_lastSpawn","_lastLoop","loop","rect","W","spawnParticle","draw","requestAnimationFrame","delta","sin","clearRect","fillStyle","beginPath","moveTo","arc","fill","snow","buildSpoilers","$this","$content","$spoilers","buttonsSelector","$lastButtonClicked","$modal","$tabbables","Tooltip","nextID","role","aria-hidden","setOrientation","mouseover","mouseout","hideTimeout","mouseon","recalc","guessOrientation","orientation","outerHeight","Text","TextToPut","sessionStorage","setItem","getItem"],"mappings":"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","file":"all.js","sourcesContent":["/**\n * Cookies EU banner v1.2.7 - Manage display of banner to accept/reject cookies from tracking services like Google Analytics\n * ------------------------\n * @link http://alex-d.github.io/Cookies-EU-banner/\n * @license MIT\n * @author Alex-D\n *         Twitter : @AlexandreDemode\n *         Website : alex-d.fr\n */\n\n(function(root, factory, undefined){\n    if(typeof define === \"function\" && define.amd){\n        define([], factory);\n    } else if(typeof exports === \"object\"){\n        module.exports = factory();\n    } else {\n        // root is window\n        root.CookiesEuBanner = factory();\n    }\n}(window, function(){\n    var CookiesEuBanner,\n        document = window.document;\n\n    CookiesEuBanner = function(launchFunction, waitAccept, undefined){\n        if(!(this instanceof CookiesEuBanner)){\n            return new CookiesEuBanner(launchFunction);\n        }\n\n        this.cookieTimeout = 33696000000; // 13 months in milliseconds\n        this.bots = /bot|googlebot|crawler|spider|robot|crawling/i;\n        this.cookieName = \"hasConsent\";\n        this.trackingCookiesNames = [\"__utma\",\"__utmb\",\"__utmc\",\"__utmt\",\"__utmv\",\"__utmz\",\"_ga\",\"_gat\"];\n        this.launchFunction = launchFunction;\n        this.waitAccept = waitAccept != null ? waitAccept : false;\n        this.init();\n    };\n\n    CookiesEuBanner.prototype = {\n        init: function(){\n            // Do nothing if it is a bot\n            // If DoNotTrack is activated, do nothing too\n            if(this.isBot() || !this.isToTrack() || this.hasConsent() === false){\n                return false;\n            }\n\n            // User has already consent to use cookies to tracking\n            if(this.hasConsent() === true){\n                // Launch user custom function\n                this.launchFunction();\n                return true;\n            }\n\n            // If it's not a bot, no DoNotTrack and not already accept : show banner\n            this.showBanner();\n\n            if(!this.waitAccept){\n                // Accept cookies by default for the next page\n                this.setCookie(this.cookieName, true);\n            }\n        },\n\n        /*\n         * Show banner at the top of the page\n         */\n        showBanner: function(){\n            var _this = this,\n                banner = document.getElementById(\"cookies-eu-banner\"),\n                rejectButton = document.getElementById(\"cookies-eu-reject\"),\n                acceptButton = document.getElementById(\"cookies-eu-accept\"),\n                moreLink = document.getElementById(\"cookies-eu-more\");\n\n            banner.style.display = \"block\";\n\n            this.addEventListener(moreLink, \"click\", function(){\n                _this.deleteCookie(_this.cookieName);\n            });\n\n            this.addEventListener(acceptButton, \"click\", function(){\n                banner.parentNode.removeChild(banner);\n                _this.setCookie(_this.cookieName, true);\n                _this.launchFunction();\n            });\n\n            this.addEventListener(rejectButton, \"click\", function(){\n                banner.parentNode.removeChild(banner);\n                _this.setCookie(_this.cookieName, false);\n                _this.deleteTrackingCookies();\n            });\n        },\n\n        /*\n         * Check if user already consent\n         */\n        hasConsent: function(){\n            if(document.cookie.indexOf(this.cookieName+\"=true\") > -1){\n                return true;\n            } else if(document.cookie.indexOf(this.cookieName+\"=false\") > -1){\n                return false;\n            }\n            return null;\n        },\n\n        /*\n         * Detect if the visitor is a bot or not\n         * Prevent for search engine take the cookie\n         * alert message as main content of the page\n         */\n        isBot: function(){\n            return this.bots.test(navigator.userAgent);\n        },\n\n        /*\n         * Check if DoNotTrack is activated\n         */\n        isToTrack: function() {\n            var dnt = navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack;\n            return (dnt != null) ? (dnt && dnt !== \"yes\" && dnt !== 1 && dnt !== \"1\") : true;\n        },\n\n        /*\n         * Delete existants tracking cookies\n         */\n        deleteTrackingCookies: function(){\n            var name;\n            for(name in this.trackingCookiesNames){\n                this.deleteCookie(name);\n            }\n        },\n\n        /*\n         * Create/update cookie\n         */\n        setCookie: function(name, value){\n            var date = new Date();\n            date.setTime(date.getTime() + this.cookieTimeout);\n\n            document.cookie = name + \"=\" + value + \";expires=\" + date.toGMTString() + \";path=/\";\n        },\n\n        /*\n         * Delete cookie by changing expire\n         */\n        deleteCookie: function(name){\n            var hostname = document.location.hostname;\n            if(hostname.indexOf(\"www.\") === 0){\n                hostname = hostname.substring(4);\n            }\n            document.cookie = name + \"=; domain=.\" + hostname + \"; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/\";\n            document.cookie = name + \"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/\";\n        },\n\n        addEventListener: function(DOMElement, evnt, callback){\n            if(document.addEventListener){ // For all major browsers, except IE 8 and earlier\n                DOMElement.addEventListener(evnt, callback);\n            } else if(DOMElement.attachEvent){ // For IE 8 and earlier versions\n                DOMElement.attachEvent(\"on\"+evnt, callback);\n            }\n        }\n    };\n\n    return CookiesEuBanner;\n}));\n\n","/*!\n * jQuery JavaScript Library v2.1.4\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-04-28T16:01Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\n\nvar arr = [];\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\t// Use the correct document accordingly with window argument (sandbox)\n\tdocument = window.document,\n\n\tversion = \"2.1.4\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\t// (You can seed the arguments with an array of args, but this is\n\t// only used internally.)\n\teach: function( callback, args ) {\n\t\treturn jQuery.each( this, callback, args );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map(this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t}));\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor(null);\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[0] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction(target) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null ) {\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray(src) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject(src) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend({\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type(obj) === \"function\";\n\t},\n\n\tisArray: Array.isArray,\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\treturn !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\t// Not plain objects:\n\t\t// - Any object or value whose internal [[Class]] property is not \"[object Object]\"\n\t\t// - DOM nodes\n\t\t// - window\n\t\tif ( jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype, \"isPrototypeOf\" ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If the function hasn't returned already, we're confident that\n\t\t// |obj| is a plain object, created by {} or constructed with new Object\n\t\treturn true;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\t\t// Support: Android<4.0, iOS<6 (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call(obj) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tvar script,\n\t\t\tindirect = eval;\n\n\t\tcode = jQuery.trim( code );\n\n\t\tif ( code ) {\n\t\t\t// If the code includes a valid, prologue position\n\t\t\t// strict mode pragma, execute code by injecting a\n\t\t\t// script tag into the document.\n\t\t\tif ( code.indexOf(\"use strict\") === 1 ) {\n\t\t\t\tscript = document.createElement(\"script\");\n\t\t\t\tscript.text = code;\n\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n\t\t\t} else {\n\t\t\t// Otherwise, avoid the DOM node creation, insertion\n\t\t\t// and removal by using an indirect global eval\n\t\t\t\tindirect( code );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE9-11+\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\t// args is for internal usage only\n\teach: function( obj, callback, args ) {\n\t\tvar value,\n\t\t\ti = 0,\n\t\t\tlength = obj.length,\n\t\t\tisArray = isArraylike( obj );\n\n\t\tif ( args ) {\n\t\t\tif ( isArray ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// A special, fast, case for the most common use of each\n\t\t} else {\n\t\t\tif ( isArray ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArraylike( Object(arr) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar value,\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tisArray = isArraylike( elems ),\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArray ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n});\n\n// Populate the class2type map\njQuery.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"), function(i, name) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n});\n\nfunction isArraylike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\tif ( obj.nodeType === 1 && length ) {\n\t\treturn true;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.0-pre\n * http://sizzlejs.com/\n *\n * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2014-12-16\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\t// http://www.w3.org/TR/css3-syntax/#characters\n\tcharacterEncoding = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Loosely modeled on CSS identifier characters\n\t// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors\n\t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = characterEncoding.replace( \"w\", \"w#\" ),\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + characterEncoding + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + characterEncoding + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + characterEncoding + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + characterEncoding + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + characterEncoding.replace( \"w\", \"w*\" ) + \")\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar match, elem, m, nodeType,\n\t\t// QSA vars\n\t\ti, groups, old, nid, newContext, newSelector;\n\n\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\n\tcontext = context || document;\n\tresults = results || [];\n\tnodeType = context.nodeType;\n\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\tif ( !seed && documentIsHTML ) {\n\n\t\t// Try to shortcut find operations when possible (e.g., not under DocumentFragment)\n\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\t\t\t// Speed-up: Sizzle(\"#ID\")\n\t\t\tif ( (m = match[1]) ) {\n\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\telem = context.getElementById( m );\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document (jQuery #6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Context is not a document\n\t\t\t\t\tif ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&\n\t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\n\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Speed-up: Sizzle(\"TAG\")\n\t\t\t} else if ( match[2] ) {\n\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\treturn results;\n\n\t\t\t// Speed-up: Sizzle(\".CLASS\")\n\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName ) {\n\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\treturn results;\n\t\t\t}\n\t\t}\n\n\t\t// QSA path\n\t\tif ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\t\t\tnid = old = expando;\n\t\t\tnewContext = context;\n\t\t\tnewSelector = nodeType !== 1 && selector;\n\n\t\t\t// qSA works strangely on Element-rooted queries\n\t\t\t// We can work around this by specifying an extra ID on the root\n\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\n\t\t\t// IE 8 doesn't work on object elements\n\t\t\tif ( nodeType === 1 && context.nodeName.toLowerCase() !== \"object\" ) {\n\t\t\t\tgroups = tokenize( selector );\n\n\t\t\t\tif ( (old = context.getAttribute(\"id\")) ) {\n\t\t\t\t\tnid = old.replace( rescape, \"\\\\$&\" );\n\t\t\t\t} else {\n\t\t\t\t\tcontext.setAttribute( \"id\", nid );\n\t\t\t\t}\n\t\t\t\tnid = \"[id='\" + nid + \"'] \";\n\n\t\t\t\ti = groups.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tgroups[i] = nid + toSelector( groups[i] );\n\t\t\t\t}\n\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;\n\t\t\t\tnewSelector = groups.join(\",\");\n\t\t\t}\n\n\t\t\tif ( newSelector ) {\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch(qsaError) {\n\t\t\t\t} finally {\n\t\t\t\t\tif ( !old ) {\n\t\t\t\t\t\tcontext.removeAttribute(\"id\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {Function(string, Object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = attrs.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// If no document and documentElement is available, return\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Set our document\n\tdocument = doc;\n\tdocElem = doc.documentElement;\n\tparent = doc.defaultView;\n\n\t// Support: IE>8\n\t// If iframe document is assigned to \"document\" variable and if iframe has been reloaded,\n\t// IE will throw \"permission denied\" error when accessing \"document\" variable, see jQuery #13936\n\t// IE6-8 do not support the defaultView property so parent will be undefined\n\tif ( parent && parent !== parent.top ) {\n\t\t// IE11 does not have attachEvent, so all must suffer\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Support tests\n\t---------------------------------------------------------------------- */\n\tdocumentIsHTML = !isXML( doc );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( doc.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( doc.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !doc.getElementsByName || !doc.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\treturn m && m.parentNode ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] =  function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"<a id='\" + expando + \"'></a>\" +\n\t\t\t\t\"<select id='\" + expando + \"-\\f]' msallowcapture=''>\" +\n\t\t\t\t\"<option selected=''></option></select>\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = doc.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully does not implement inclusive descendent\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === doc ? -1 :\n\t\t\t\tb === doc ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn doc;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, diff, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || (parent[ expando ] = {});\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[0] === dirruns && cache[1];\n\t\t\t\t\t\t\tdiff = cache[0] === dirruns && cache[2];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t} else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {\n\t\t\t\t\t\t\tdiff = cache[1];\n\n\t\t\t\t\t\t// xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\tif ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {\n\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t(node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t//   but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\t\t\t\t\t\tif ( (oldCache = outerCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\touterCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context !== document && context;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Keep `i` a string if there are no elements so `matchedCount` will be \"00\" below\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\tmatchedCount += i;\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n *  selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n *  selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is no seed and only one group\n\tif ( match.length === 1 ) {\n\n\t\t// Take a shortcut and set the context if the root selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\trsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"<a href='#'></a>\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"<input/>\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[\":\"] = jQuery.expr.pseudos;\njQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = (/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/);\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t});\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t});\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) >= 0 ) !== not;\n\t});\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t}));\n};\n\njQuery.fn.extend({\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tlen = this.length,\n\t\t\tret = [],\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter(function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector || [], false) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector || [], true) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n});\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[0] === \"<\" && selector[ selector.length - 1 ] === \">\" && selector.length >= 3 ) {\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && (match[1] || !context) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[1] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[0] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[1],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[2] );\n\n\t\t\t\t\t// Support: Blackberry 4.6\n\t\t\t\t\t// gEBID returns nodes no longer in the document (#6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[0] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || rootjQuery ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[0] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn typeof rootjQuery.ready !== \"undefined\" ?\n\t\t\t\trootjQuery.ready( selector ) :\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.extend({\n\tdir: function( elem, dir, until ) {\n\t\tvar matched = [],\n\t\t\ttruncate = until !== undefined;\n\n\t\twhile ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tmatched.push( elem );\n\t\t\t}\n\t\t}\n\t\treturn matched;\n\t},\n\n\tsibling: function( n, elem ) {\n\t\tvar matched = [];\n\n\t\tfor ( ; n; n = n.nextSibling ) {\n\t\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\t\tmatched.push( n );\n\t\t\t}\n\t\t}\n\n\t\treturn matched;\n\t}\n});\n\njQuery.fn.extend({\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter(function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[i] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) {\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && (pos ?\n\t\t\t\t\tpos.index(cur) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector(cur, selectors)) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.unique(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter(selector)\n\t\t);\n\t}\n});\n\nfunction sibling( cur, dir ) {\n\twhile ( (cur = cur[dir]) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each({\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn jQuery.dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn jQuery.sibling( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn elem.contentDocument || jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.unique( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n});\nvar rnotwhite = (/\\S+/g);\n\n\n\n// String to Object options format cache\nvar optionsCache = {};\n\n// Convert String-formatted options into Object-formatted ones and store in cache\nfunction createOptions( options ) {\n\tvar object = optionsCache[ options ] = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t});\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\t( optionsCache[ options ] || createOptions( options ) ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Last fire value (for non-forgettable lists)\n\t\tmemory,\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\t\t// Flag to know if list is currently firing\n\t\tfiring,\n\t\t// First callback to fire (used internally by add and fireWith)\n\t\tfiringStart,\n\t\t// End of the loop when firing\n\t\tfiringLength,\n\t\t// Index of currently firing callback (modified by remove if needed)\n\t\tfiringIndex,\n\t\t// Actual callback list\n\t\tlist = [],\n\t\t// Stack of fire calls for repeatable lists\n\t\tstack = !options.once && [],\n\t\t// Fire callbacks\n\t\tfire = function( data ) {\n\t\t\tmemory = options.memory && data;\n\t\t\tfired = true;\n\t\t\tfiringIndex = firingStart || 0;\n\t\t\tfiringStart = 0;\n\t\t\tfiringLength = list.length;\n\t\t\tfiring = true;\n\t\t\tfor ( ; list && firingIndex < firingLength; firingIndex++ ) {\n\t\t\t\tif ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {\n\t\t\t\t\tmemory = false; // To prevent further calls using add\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfiring = false;\n\t\t\tif ( list ) {\n\t\t\t\tif ( stack ) {\n\t\t\t\t\tif ( stack.length ) {\n\t\t\t\t\t\tfire( stack.shift() );\n\t\t\t\t\t}\n\t\t\t\t} else if ( memory ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t} else {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Actual Callbacks object\n\t\tself = {\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\t// First, we save the current length\n\t\t\t\t\tvar start = list.length;\n\t\t\t\t\t(function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tvar type = jQuery.type( arg );\n\t\t\t\t\t\t\tif ( type === \"function\" ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && type !== \"string\" ) {\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})( arguments );\n\t\t\t\t\t// Do we need to add the callbacks to the\n\t\t\t\t\t// current firing batch?\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tfiringLength = list.length;\n\t\t\t\t\t// With memory, if we're not firing then\n\t\t\t\t\t// we should call right away\n\t\t\t\t\t} else if ( memory ) {\n\t\t\t\t\t\tfiringStart = start;\n\t\t\t\t\t\tfire( memory );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\t\tvar index;\n\t\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\t\tlist.splice( index, 1 );\n\t\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\t\t\tif ( index <= firingLength ) {\n\t\t\t\t\t\t\t\t\tfiringLength--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );\n\t\t\t},\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tlist = [];\n\t\t\t\tfiringLength = 0;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Have the list do nothing anymore\n\t\t\tdisable: function() {\n\t\t\t\tlist = stack = memory = undefined;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it disabled?\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\t\t\t// Lock the list in its current state\n\t\t\tlock: function() {\n\t\t\t\tstack = undefined;\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it locked?\n\t\t\tlocked: function() {\n\t\t\t\treturn !stack;\n\t\t\t},\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( list && ( !fired || stack ) ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tstack.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfire( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend({\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks(\"memory\") ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred(function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[1] ](function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject )\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t}).promise();\n\t\t\t\t},\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[1] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(function() {\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[0] ] = function() {\n\t\t\t\tdeferred[ tuple[0] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[0] + \"With\" ] = list.fireWith;\n\t\t});\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred. If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// Add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject )\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n});\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend({\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n});\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed, false );\n\twindow.removeEventListener( \"load\", completed, false );\n\tjQuery.ready();\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called after the browser event has already occurred.\n\t\t// We once tried to use readyState \"interactive\" here, but it caused issues like the one\n\t\t// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15\n\t\tif ( document.readyState === \"complete\" ) {\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\tsetTimeout( jQuery.ready );\n\n\t\t} else {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed, false );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed, false );\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\tjQuery.access( elems, fn, i, key[i], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlen ? fn( elems[0], key ) : emptyGet;\n};\n\n\n/**\n * Determines whether an object can have data\n */\njQuery.acceptData = function( owner ) {\n\t// Accepts only:\n\t//  - Node\n\t//    - Node.ELEMENT_NODE\n\t//    - Node.DOCUMENT_NODE\n\t//  - Object\n\t//    - Any\n\t/* jshint -W018 */\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\nfunction Data() {\n\t// Support: Android<4,\n\t// Old WebKit does not have Object.preventExtensions/freeze method,\n\t// return new empty object instead with no [[set]] accessor\n\tObject.defineProperty( this.cache = {}, 0, {\n\t\tget: function() {\n\t\t\treturn {};\n\t\t}\n\t});\n\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\nData.accepts = jQuery.acceptData;\n\nData.prototype = {\n\tkey: function( owner ) {\n\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t// but we should not, see #8335.\n\t\t// Always return the key for a frozen object.\n\t\tif ( !Data.accepts( owner ) ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar descriptor = {},\n\t\t\t// Check if the owner object already has a cache key\n\t\t\tunlock = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !unlock ) {\n\t\t\tunlock = Data.uid++;\n\n\t\t\t// Secure it in a non-enumerable, non-writable property\n\t\t\ttry {\n\t\t\t\tdescriptor[ this.expando ] = { value: unlock };\n\t\t\t\tObject.defineProperties( owner, descriptor );\n\n\t\t\t// Support: Android<4\n\t\t\t// Fallback to a less secure definition\n\t\t\t} catch ( e ) {\n\t\t\t\tdescriptor[ this.expando ] = unlock;\n\t\t\t\tjQuery.extend( owner, descriptor );\n\t\t\t}\n\t\t}\n\n\t\t// Ensure the cache object\n\t\tif ( !this.cache[ unlock ] ) {\n\t\t\tthis.cache[ unlock ] = {};\n\t\t}\n\n\t\treturn unlock;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\t// There may be an unlock assigned to this node,\n\t\t\t// if there is no entry for this \"owner\", create one inline\n\t\t\t// and set the unlock as though an owner entry had always existed\n\t\t\tunlock = this.key( owner ),\n\t\t\tcache = this.cache[ unlock ];\n\n\t\t// Handle: [ owner, key, value ] args\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ data ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\t\t\t// Fresh assignments by object are shallow copied\n\t\t\tif ( jQuery.isEmptyObject( cache ) ) {\n\t\t\t\tjQuery.extend( this.cache[ unlock ], data );\n\t\t\t// Otherwise, copy the properties one-by-one to the cache object\n\t\t\t} else {\n\t\t\t\tfor ( prop in data ) {\n\t\t\t\t\tcache[ prop ] = data[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\t// Either a valid cache is found, or will be created.\n\t\t// New caches will be created and the unlock returned,\n\t\t// allowing direct access to the newly created\n\t\t// empty data object. A valid owner object must be provided.\n\t\tvar cache = this.cache[ this.key( owner ) ];\n\n\t\treturn key === undefined ?\n\t\t\tcache : cache[ key ];\n\t},\n\taccess: function( owner, key, value ) {\n\t\tvar stored;\n\t\t// In cases where either:\n\t\t//\n\t\t//   1. No key was specified\n\t\t//   2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t//   1. The entire cache object\n\t\t//   2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t((key && typeof key === \"string\") && value === undefined) ) {\n\n\t\t\tstored = this.get( owner, key );\n\n\t\t\treturn stored !== undefined ?\n\t\t\t\tstored : this.get( owner, jQuery.camelCase(key) );\n\t\t}\n\n\t\t// [*]When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t//   1. An object of properties\n\t\t//   2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i, name, camel,\n\t\t\tunlock = this.key( owner ),\n\t\t\tcache = this.cache[ unlock ];\n\n\t\tif ( key === undefined ) {\n\t\t\tthis.cache[ unlock ] = {};\n\n\t\t} else {\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( jQuery.isArray( key ) ) {\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n\t\t\t} else {\n\t\t\t\tcamel = jQuery.camelCase( key );\n\t\t\t\t// Try the string as a key before any manipulation\n\t\t\t\tif ( key in cache ) {\n\t\t\t\t\tname = [ key, camel ];\n\t\t\t\t} else {\n\t\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\t\tname = camel;\n\t\t\t\t\tname = name in cache ?\n\t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = name.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ name[ i ] ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\treturn !jQuery.isEmptyObject(\n\t\t\tthis.cache[ owner[ this.expando ] ] || {}\n\t\t);\n\t},\n\tdiscard: function( owner ) {\n\t\tif ( owner[ this.expando ] ) {\n\t\t\tdelete this.cache[ owner[ this.expando ] ];\n\t\t}\n\t}\n};\nvar data_priv = new Data();\n\nvar data_user = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /([A-Z])/g;\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdata_user.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend({\n\thasData: function( elem ) {\n\t\treturn data_user.hasData( elem ) || data_priv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn data_user.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdata_user.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to data_priv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn data_priv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdata_priv.remove( elem, name );\n\t}\n});\n\njQuery.fn.extend({\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = data_user.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !data_priv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice(5) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdata_priv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each(function() {\n\t\t\t\tdata_user.set( this, key );\n\t\t\t});\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data,\n\t\t\t\tcamelKey = jQuery.camelCase( key );\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key as-is\n\t\t\t\tdata = data_user.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key camelized\n\t\t\t\tdata = data_user.get( elem, camelKey );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each(function() {\n\t\t\t\t// First, attempt to store a copy or reference of any\n\t\t\t\t// data that might've been store with a camelCased key.\n\t\t\t\tvar data = data_user.get( this, camelKey );\n\n\t\t\t\t// For HTML5 data-* attribute interop, we have to\n\t\t\t\t// store property names with dashes in a camelCase form.\n\t\t\t\t// This might not apply to all properties...*\n\t\t\t\tdata_user.set( this, camelKey, value );\n\n\t\t\t\t// *... In the case of properties that might _actually_\n\t\t\t\t// have dashes, we need to also store a copy of that\n\t\t\t\t// unchanged property.\n\t\t\t\tif ( key.indexOf(\"-\") !== -1 && data !== undefined ) {\n\t\t\t\t\tdata_user.set( this, key, value );\n\t\t\t\t}\n\t\t\t});\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each(function() {\n\t\t\tdata_user.remove( this, key );\n\t\t});\n\t}\n});\n\n\njQuery.extend({\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = data_priv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = data_priv.access( elem, type, jQuery.makeArray(data) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn data_priv.get( elem, key ) || data_priv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks(\"once memory\").add(function() {\n\t\t\t\tdata_priv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t})\n\t\t});\n\t}\n});\n\njQuery.fn.extend({\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[0], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each(function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[0] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t});\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t});\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = data_priv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n});\nvar pnum = (/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/).source;\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" || !jQuery.contains( elem.ownerDocument, elem );\n\t};\n\nvar rcheckableType = (/^(?:checkbox|radio)$/i);\n\n\n\n(function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Safari<=5.1\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari<=5.1, Android<4.2\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<=11+\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n})();\nvar strundefined = typeof undefined;\n\n\n\nsupport.focusinBubbles = \"onfocusin\" in window;\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)$/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = data_priv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !(events = elemData.events) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !(eventHandle = elemData.handle) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tmp[1];\n\t\t\tnamespaces = ( tmp[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend({\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join(\".\")\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !(handlers = events[ type ]) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = data_priv.hasData( elem ) && data_priv.get( elem );\n\n\t\tif ( !elemData || !(events = elemData.events) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tmp[1];\n\t\t\tnamespaces = ( tmp[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[2] && new RegExp( \"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdelete elemData.handle;\n\t\t\tdata_priv.remove( elem, \"events\" );\n\t\t}\n\t},\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split(\".\") : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf(\".\") >= 0 ) {\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split(\".\");\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf(\":\") < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join(\".\");\n\t\tevent.namespace_re = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === (elem.ownerDocument || document) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( data_priv.get( cur, \"events\" ) || {} )[ event.type ] && data_priv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && jQuery.acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&\n\t\t\t\tjQuery.acceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( data_priv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[0] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )\n\t\t\t\t\t\t\t.apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( (event.result = ret) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG <use> instance trees (#13180)\n\t\t// Avoid non-left-click bubbling in Firefox (#3861)\n\t\tif ( delegateCount && cur.nodeType && (!event.button || event.type !== \"click\") ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.disabled !== true || event.type !== \"click\" ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) >= 0 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push({ elem: cur, handlers: matches });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: \"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: \"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY + ( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) - ( doc && doc.clientTop  || body && body.clientTop  || 0 );\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: Cordova 2.5 (WebKit) (#13255)\n\t\t// All events should have a target; Cordova deviceready doesn't\n\t\tif ( !event.target ) {\n\t\t\tevent.target = document;\n\t\t}\n\n\t\t// Support: Safari 6.0+, Chrome<28\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && jQuery.nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tsimulate: function( type, elem, event, bubble ) {\n\t\t// Piggyback on a donor event to simulate a different one.\n\t\t// Fake originalEvent to avoid donor's stopPropagation, but if the\n\t\t// simulated event prevents default then we do the same on the donor.\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true,\n\t\t\t\toriginalEvent: {}\n\t\t\t}\n\t\t);\n\t\tif ( bubble ) {\n\t\t\tjQuery.event.trigger( e, null, elem );\n\t\t} else {\n\t\t\tjQuery.event.dispatch.call( elem, e );\n\t\t}\n\t\tif ( e.isDefaultPrevented() ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle, false );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\t// Allow instantiation without the 'new' keyword\n\tif ( !(this instanceof jQuery.Event) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\t\t\t\t// Support: Android<4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && e.preventDefault ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopPropagation ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopImmediatePropagation ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// Support: Chrome 15+\njQuery.each({\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mousenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || (related !== target && !jQuery.contains( target, related )) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n});\n\n// Support: Firefox, Chrome, Safari\n// Create \"bubbling\" focus and blur events\nif ( !support.focusinBubbles ) {\n\tjQuery.each({ focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );\n\t\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = data_priv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdata_priv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = data_priv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdata_priv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdata_priv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n}\n\njQuery.fn.extend({\n\n\ton: function( types, selector, data, fn, /*INTERNAL*/ one ) {\n\t\tvar origFn, type;\n\n\t\t// Types can be a map of types/handlers\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-Object, selector, data )\n\t\t\tif ( typeof selector !== \"string\" ) {\n\t\t\t\t// ( types-Object, data )\n\t\t\t\tdata = data || selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.on( type, selector, data, types[ type ], one );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( data == null && fn == null ) {\n\t\t\t// ( types, fn )\n\t\t\tfn = selector;\n\t\t\tdata = selector = undefined;\n\t\t} else if ( fn == null ) {\n\t\t\tif ( typeof selector === \"string\" ) {\n\t\t\t\t// ( types, selector, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = undefined;\n\t\t\t} else {\n\t\t\t\t// ( types, data, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t} else if ( !fn ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( one === 1 ) {\n\t\t\torigFn = fn;\n\t\t\tfn = function( event ) {\n\t\t\t\t// Can use an empty set, since event contains the info\n\t\t\t\tjQuery().off( event );\n\t\t\t\treturn origFn.apply( this, arguments );\n\t\t\t};\n\t\t\t// Use same guid so caller can remove using origFn\n\t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.add( this, types, fn, data, selector );\n\t\t});\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn this.on( types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\t\t\t// ( event )  dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t});\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t});\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[0];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n});\n\n\nvar\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,\n\trtagName = /<([\\w:]+)/,\n\trhtml = /<|&#?\\w+;/,\n\trnoInnerhtml = /<(?:script|style|link)/i,\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptType = /^$|\\/(?:java|ecma)script/i,\n\trscriptTypeMasked = /^true\\/(.*)/,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g,\n\n\t// We have to close these tags to support XHTML (#13200)\n\twrapMap = {\n\n\t\t// Support: IE9\n\t\toption: [ 1, \"<select multiple='multiple'>\", \"</select>\" ],\n\n\t\tthead: [ 1, \"<table>\", \"</table>\" ],\n\t\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\t\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\t\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t\t_default: [ 0, \"\", \"\" ]\n\t};\n\n// Support: IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: 1.x compatibility\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName(\"tbody\")[0] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement(\"tbody\") ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = (elem.getAttribute(\"type\") !== null) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute(\"type\");\n\t}\n\n\treturn elem;\n}\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdata_priv.set(\n\t\t\telems[ i ], \"globalEval\", !refElements || data_priv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( data_priv.hasData( src ) ) {\n\t\tpdataOld = data_priv.access( src );\n\t\tpdataCur = data_priv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( data_user.hasData( src ) ) {\n\t\tudataOld = data_user.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdata_user.set( dest, udataCur );\n\t}\n}\n\nfunction getAll( context, tag ) {\n\tvar ret = context.getElementsByTagName ? context.getElementsByTagName( tag || \"*\" ) :\n\t\t\tcontext.querySelectorAll ? context.querySelectorAll( tag || \"*\" ) :\n\t\t\t[];\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], ret ) :\n\t\tret;\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\njQuery.extend({\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tbuildFragment: function( elems, context, scripts, selection ) {\n\t\tvar elem, tmp, tag, wrap, contains, j,\n\t\t\tfragment = context.createDocumentFragment(),\n\t\t\tnodes = [],\n\t\t\ti = 0,\n\t\t\tl = elems.length;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\telem = elems[ i ];\n\n\t\t\tif ( elem || elem === 0 ) {\n\n\t\t\t\t// Add nodes directly\n\t\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\t\t\t\t\t// Support: QtWebKit, PhantomJS\n\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t\t// Convert non-html into a text node\n\t\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t\t// Convert html into DOM nodes\n\t\t\t\t} else {\n\t\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement(\"div\") );\n\n\t\t\t\t\t// Deserialize a standard representation\n\t\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\t\ttmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, \"<$1></$2>\" ) + wrap[ 2 ];\n\n\t\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\t\tj = wrap[ 0 ];\n\t\t\t\t\twhile ( j-- ) {\n\t\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: QtWebKit, PhantomJS\n\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t\t// Remember the top-level container\n\t\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\t\ttmp.textContent = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remove wrapper from fragment\n\t\tfragment.textContent = \"\";\n\n\t\ti = 0;\n\t\twhile ( (elem = nodes[ i++ ]) ) {\n\n\t\t\t// #4087 - If origin and destination elements are the same, and this is\n\t\t\t// that element, do not do anything\n\t\t\tif ( selection && jQuery.inArray( elem, selection ) !== -1 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t\t// Append to fragment\n\t\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t\t// Preserve script evaluation history\n\t\t\tif ( contains ) {\n\t\t\t\tsetGlobalEval( tmp );\n\t\t\t}\n\n\t\t\t// Capture executables\n\t\t\tif ( scripts ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (elem = tmp[ j++ ]) ) {\n\t\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\t\tscripts.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn fragment;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type, key,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = elems[ i ]) !== undefined; i++ ) {\n\t\t\tif ( jQuery.acceptData( elem ) ) {\n\t\t\t\tkey = elem[ data_priv.expando ];\n\n\t\t\t\tif ( key && (data = data_priv.cache[ key ]) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( data_priv.cache[ key ] ) {\n\t\t\t\t\t\t// Discard any remaining `private` data\n\t\t\t\t\t\tdelete data_priv.cache[ key ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Discard any remaining `user` data\n\t\t\tdelete data_user.cache[ elem[ data_user.expando ] ];\n\t\t}\n\t}\n});\n\njQuery.fn.extend({\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each(function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t});\n\t},\n\n\tprepend: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t});\n\t},\n\n\tbefore: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t});\n\t},\n\n\tafter: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t});\n\t},\n\n\tremove: function( selector, keepData /* Internal Use Only */ ) {\n\t\tvar elem,\n\t\t\telems = selector ? jQuery.filter( selector, this ) : this,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\n\t\t\tif ( !keepData && elem.nodeType === 1 ) {\n\t\t\t\tjQuery.cleanData( getAll( elem ) );\n\t\t\t}\n\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\tif ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\t\t\tsetGlobalEval( getAll( elem, \"script\" ) );\n\t\t\t\t}\n\t\t\t\telem.parentNode.removeChild( elem );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = this[i]) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map(function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t});\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = value.replace( rxhtmlTag, \"<$1></$2>\" );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar arg = arguments[ 0 ];\n\n\t\t// Make the changes, replacing each context element with the new content\n\t\tthis.domManip( arguments, function( elem ) {\n\t\t\targ = this.parentNode;\n\n\t\t\tjQuery.cleanData( getAll( this ) );\n\n\t\t\tif ( arg ) {\n\t\t\t\targ.replaceChild( elem, this );\n\t\t\t}\n\t\t});\n\n\t\t// Force removal if there was no new content (e.g., from empty arguments)\n\t\treturn arg && (arg.length || arg.nodeType) ? this : this.remove();\n\t},\n\n\tdetach: function( selector ) {\n\t\treturn this.remove( selector, true );\n\t},\n\n\tdomManip: function( args, callback ) {\n\n\t\t// Flatten any nested arrays\n\t\targs = concat.apply( [], args );\n\n\t\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tset = this,\n\t\t\tiNoClone = l - 1,\n\t\t\tvalue = args[ 0 ],\n\t\t\tisFunction = jQuery.isFunction( value );\n\n\t\t// We can't cloneNode fragments that contain checked, in WebKit\n\t\tif ( isFunction ||\n\t\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\t\treturn this.each(function( index ) {\n\t\t\t\tvar self = set.eq( index );\n\t\t\t\tif ( isFunction ) {\n\t\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t\t}\n\t\t\t\tself.domManip( args, callback );\n\t\t\t});\n\t\t}\n\n\t\tif ( l ) {\n\t\t\tfragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );\n\t\t\tfirst = fragment.firstChild;\n\n\t\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\t\tfragment = first;\n\t\t\t}\n\n\t\t\tif ( first ) {\n\t\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\t\thasScripts = scripts.length;\n\n\t\t\t\t// Use the original fragment for the last item instead of the first because it can end up\n\t\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\tnode = fragment;\n\n\t\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\t\t\t// Support: QtWebKit\n\t\t\t\t\t\t\t// jQuery.merge because push.apply(_, arraylike) throws\n\t\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcallback.call( this[ i ], node, i );\n\t\t\t\t}\n\n\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t\t// Reenable scripts\n\t\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t\t!data_priv.access( node, \"globalEval\" ) && jQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\t\tif ( node.src ) {\n\t\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript, \"\" ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n});\n\njQuery.each({\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: QtWebKit\n\t\t\t// .get() because push.apply(_, arraylike) throws\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n});\n\n\nvar iframe,\n\telemdisplay = {};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar style,\n\t\telem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\t// getDefaultComputedStyle might be reliably used only on attached element\n\t\tdisplay = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?\n\n\t\t\t// Use of this method is a temporary fix (more like optimization) until something better comes along,\n\t\t\t// since it was removed from specification and supported only in FF\n\t\t\tstyle.display : jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = (iframe || jQuery( \"<iframe frameborder='0' width='0' height='0'/>\" )).appendTo( doc.documentElement );\n\n\t\t\t// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse\n\t\t\tdoc = iframe[ 0 ].contentDocument;\n\n\t\t\t// Support: IE\n\t\t\tdoc.write();\n\t\t\tdoc.close();\n\n\t\t\tdisplay = actualDisplay( nodeName, doc );\n\t\t\tiframe.detach();\n\t\t}\n\n\t\t// Store the correct default display\n\t\telemdisplay[ nodeName ] = display;\n\t}\n\n\treturn display;\n}\nvar rmargin = (/^margin/);\n\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\t\t// Support: IE<=11+, Firefox<=30+ (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tif ( elem.ownerDocument.defaultView.opener ) {\n\t\t\treturn elem.ownerDocument.defaultView.getComputedStyle( elem, null );\n\t\t}\n\n\t\treturn window.getComputedStyle( elem, null );\n\t};\n\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// Support: IE9\n\t// getPropertyValue is only needed for .css('filter') (#12537)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\t}\n\n\tif ( computed ) {\n\n\t\tif ( ret === \"\" && !jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// Support: iOS < 6\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// iOS < 6 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels\n\t\t// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values\n\t\tif ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\t\t// Support: IE\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn (this.get = hookFn).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\n(function() {\n\tvar pixelPositionVal, boxSizingReliableVal,\n\t\tdocElem = document.documentElement,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE9-11+\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tcontainer.style.cssText = \"border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;\" +\n\t\t\"position:absolute\";\n\tcontainer.appendChild( div );\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computePixelPositionAndBoxSizingReliable() {\n\t\tdiv.style.cssText =\n\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t// Vendor-prefix box-sizing\n\t\t\t\"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;\" +\n\t\t\t\"box-sizing:border-box;display:block;margin-top:1%;top:1%;\" +\n\t\t\t\"border:1px;padding:1px;width:4px;position:absolute\";\n\t\tdiv.innerHTML = \"\";\n\t\tdocElem.appendChild( container );\n\n\t\tvar divStyle = window.getComputedStyle( div, null );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\t\tboxSizingReliableVal = divStyle.width === \"4px\";\n\n\t\tdocElem.removeChild( container );\n\t}\n\n\t// Support: node.js jsdom\n\t// Don't assume that getComputedStyle is a property of the global object\n\tif ( window.getComputedStyle ) {\n\t\tjQuery.extend( support, {\n\t\t\tpixelPosition: function() {\n\n\t\t\t\t// This test is executed only once but we still do memoizing\n\t\t\t\t// since we can use the boxSizingReliable pre-computing.\n\t\t\t\t// No need to check if the test was already performed, though.\n\t\t\t\tcomputePixelPositionAndBoxSizingReliable();\n\t\t\t\treturn pixelPositionVal;\n\t\t\t},\n\t\t\tboxSizingReliable: function() {\n\t\t\t\tif ( boxSizingReliableVal == null ) {\n\t\t\t\t\tcomputePixelPositionAndBoxSizingReliable();\n\t\t\t\t}\n\t\t\t\treturn boxSizingReliableVal;\n\t\t\t},\n\t\t\treliableMarginRight: function() {\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Check if div with explicit width and no margin-right incorrectly\n\t\t\t\t// gets computed margin-right based on width of container. (#3333)\n\t\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\t\t// This support function is only executed once so no memoizing is needed.\n\t\t\t\tvar ret,\n\t\t\t\t\tmarginDiv = div.appendChild( document.createElement( \"div\" ) );\n\n\t\t\t\t// Reset CSS: box-sizing; display; margin; border; padding\n\t\t\t\tmarginDiv.style.cssText = div.style.cssText =\n\t\t\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\t\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;\" +\n\t\t\t\t\t\"box-sizing:content-box;display:block;margin:0;border:0;padding:0\";\n\t\t\t\tmarginDiv.style.marginRight = marginDiv.style.width = \"0\";\n\t\t\t\tdiv.style.width = \"1px\";\n\t\t\t\tdocElem.appendChild( container );\n\n\t\t\t\tret = !parseFloat( window.getComputedStyle( marginDiv, null ).marginRight );\n\n\t\t\t\tdocElem.removeChild( container );\n\t\t\t\tdiv.removeChild( marginDiv );\n\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t});\n\t}\n})();\n\n\n// A method for quickly swapping in/out CSS properties to get correct calculations.\njQuery.swap = function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar\n\t// Swappable if display is none or starts with table except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trnumsplit = new RegExp( \"^(\" + pnum + \")(.*)$\", \"i\" ),\n\trrelNum = new RegExp( \"^([+-])=(\" + pnum + \")\", \"i\" ),\n\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t},\n\n\tcssPrefixes = [ \"Webkit\", \"O\", \"Moz\", \"ms\" ];\n\n// Return a css property mapped to a potentially vendor prefixed property\nfunction vendorPropName( style, name ) {\n\n\t// Shortcut for names that are not vendor prefixed\n\tif ( name in style ) {\n\t\treturn name;\n\t}\n\n\t// Check for vendor prefixed names\n\tvar capName = name[0].toUpperCase() + name.slice(1),\n\t\torigName = name,\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in style ) {\n\t\t\treturn name;\n\t\t}\n\t}\n\n\treturn origName;\n}\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\tvar matches = rnumsplit.exec( value );\n\treturn matches ?\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {\n\tvar i = extra === ( isBorderBox ? \"border\" : \"content\" ) ?\n\t\t// If we already have the right measurement, avoid augmentation\n\t\t4 :\n\t\t// Otherwise initialize for horizontal or vertical properties\n\t\tname === \"width\" ? 1 : 0,\n\n\t\tval = 0;\n\n\tfor ( ; i < 4; i += 2 ) {\n\t\t// Both box models exclude margin, so add it if we want it\n\t\tif ( extra === \"margin\" ) {\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\tif ( isBorderBox ) {\n\t\t\t// border-box includes padding, so remove it if we want content\n\t\t\tif ( extra === \"content\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// At this point, extra isn't border nor margin, so remove border\n\t\t\tif ( extra !== \"margin\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t} else {\n\t\t\t// At this point, extra isn't content, so add padding\n\t\t\tval += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// At this point, extra isn't content nor padding, so add border\n\t\t\tif ( extra !== \"padding\" ) {\n\t\t\t\tval += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn val;\n}\n\nfunction getWidthOrHeight( elem, name, extra ) {\n\n\t// Start with offset property, which is equivalent to the border-box value\n\tvar valueIsBorderBox = true,\n\t\tval = name === \"width\" ? elem.offsetWidth : elem.offsetHeight,\n\t\tstyles = getStyles( elem ),\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t// Some non-html elements return undefined for offsetWidth, so check for null/undefined\n\t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\n\t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668\n\tif ( val <= 0 || val == null ) {\n\t\t// Fall back to computed then uncomputed css if necessary\n\t\tval = curCSS( elem, name, styles );\n\t\tif ( val < 0 || val == null ) {\n\t\t\tval = elem.style[ name ];\n\t\t}\n\n\t\t// Computed unit is not pixels. Stop here and return.\n\t\tif ( rnumnonpx.test(val) ) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// Check for style in case a browser which returns unreliable values\n\t\t// for getComputedStyle silently falls back to the reliable elem.style\n\t\tvalueIsBorderBox = isBorderBox &&\n\t\t\t( support.boxSizingReliable() || val === elem.style[ name ] );\n\n\t\t// Normalize \"\", auto, and prepare for extra\n\t\tval = parseFloat( val ) || 0;\n\t}\n\n\t// Use the active box-sizing model to add/subtract irrelevant styles\n\treturn ( val +\n\t\taugmentWidthOrHeight(\n\t\t\telem,\n\t\t\tname,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles\n\t\t)\n\t) + \"px\";\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem, hidden,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tvalues[ index ] = data_priv.get( elem, \"olddisplay\" );\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\t\t\t// Reset the inline display of this element to learn if it is\n\t\t\t// being hidden by cascaded rules or not\n\t\t\tif ( !values[ index ] && display === \"none\" ) {\n\t\t\t\telem.style.display = \"\";\n\t\t\t}\n\n\t\t\t// Set elements which have been overridden with display: none\n\t\t\t// in a stylesheet to whatever the default browser style is\n\t\t\t// for such an element\n\t\t\tif ( elem.style.display === \"\" && isHidden( elem ) ) {\n\t\t\t\tvalues[ index ] = data_priv.access( elem, \"olddisplay\", defaultDisplay(elem.nodeName) );\n\t\t\t}\n\t\t} else {\n\t\t\thidden = isHidden( elem );\n\n\t\t\tif ( display !== \"none\" || !hidden ) {\n\t\t\t\tdata_priv.set( elem, \"olddisplay\", hidden ? display : jQuery.css( elem, \"display\" ) );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of most of the elements in a second loop\n\t// to avoid the constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( !show || elem.style.display === \"none\" || elem.style.display === \"\" ) {\n\t\t\telem.style.display = show ? values[ index ] || \"\" : \"none\";\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.extend({\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {\n\t\t\"float\": \"cssFloat\"\n\t},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tstyle = elem.style;\n\n\t\tname = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && (ret = rrelNum.exec( value )) ) {\n\t\t\t\tvalue = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number, add 'px' to the (except for certain CSS properties)\n\t\t\tif ( type === \"number\" && !jQuery.cssNumber[ origName ] ) {\n\t\t\t\tvalue += \"px\";\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !(\"set\" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {\n\t\t\t\tstyle[ name ] = value;\n\t\t\t}\n\n\t\t} else {\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = jQuery.camelCase( name );\n\n\t\t// Make sure that we're working with the right name\n\t\tname = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || jQuery.isNumeric( num ) ? num || 0 : val;\n\t\t}\n\t\treturn val;\n\t}\n});\n\njQuery.each([ \"height\", \"width\" ], function( i, name ) {\n\tjQuery.cssHooks[ name ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) && elem.offsetWidth === 0 ?\n\t\t\t\t\tjQuery.swap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t\t}) :\n\t\t\t\t\tgetWidthOrHeight( elem, name, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar styles = extra && getStyles( elem );\n\t\t\treturn setPositiveNumber( elem, value, extra ?\n\t\t\t\taugmentWidthOrHeight(\n\t\t\t\t\telem,\n\t\t\t\t\tname,\n\t\t\t\t\textra,\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\t\tstyles\n\t\t\t\t) : 0\n\t\t\t);\n\t\t}\n\t};\n});\n\n// Support: Android 2.3\njQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn jQuery.swap( elem, { \"display\": \"inline-block\" },\n\t\t\t\tcurCSS, [ elem, \"marginRight\" ] );\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each({\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split(\" \") : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( !rmargin.test( prefix ) ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n});\n\njQuery.fn.extend({\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( jQuery.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t},\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tif ( isHidden( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t});\n\t}\n});\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || \"swing\";\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\tif ( tween.elem[ tween.prop ] != null &&\n\t\t\t\t(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE9\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t}\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back Compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, timerId,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trfxnum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" ),\n\trrun = /queueHooks$/,\n\tanimationPrefilters = [ defaultPrefilter ],\n\ttweeners = {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value ),\n\t\t\t\ttarget = tween.cur(),\n\t\t\t\tparts = rfxnum.exec( value ),\n\t\t\t\tunit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t\t\t// Starting value computation is required for potential unit mismatches\n\t\t\t\tstart = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +target ) &&\n\t\t\t\t\trfxnum.exec( jQuery.css( tween.elem, prop ) ),\n\t\t\t\tscale = 1,\n\t\t\t\tmaxIterations = 20;\n\n\t\t\tif ( start && start[ 3 ] !== unit ) {\n\t\t\t\t// Trust units reported by jQuery.css\n\t\t\t\tunit = unit || start[ 3 ];\n\n\t\t\t\t// Make sure we update the tween properties later on\n\t\t\t\tparts = parts || [];\n\n\t\t\t\t// Iteratively approximate from a nonzero starting point\n\t\t\t\tstart = +target || 1;\n\n\t\t\t\tdo {\n\t\t\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\t\t\tscale = scale || \".5\";\n\n\t\t\t\t\t// Adjust and apply\n\t\t\t\t\tstart = start / scale;\n\t\t\t\t\tjQuery.style( tween.elem, prop, start + unit );\n\n\t\t\t\t// Update scale, tolerating zero or NaN from tween.cur(),\n\t\t\t\t// break the loop if scale is unchanged or perfect, or if we've just had enough\n\t\t\t\t} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );\n\t\t\t}\n\n\t\t\t// Update tween properties\n\t\t\tif ( parts ) {\n\t\t\t\tstart = tween.start = +start || +target || 0;\n\t\t\t\ttween.unit = unit;\n\t\t\t\t// If a +=/-= token was provided, we're doing a relative animation\n\t\t\t\ttween.end = parts[ 1 ] ?\n\t\t\t\t\tstart + ( parts[ 1 ] + 1 ) * parts[ 2 ] :\n\t\t\t\t\t+parts[ 2 ];\n\t\t\t}\n\n\t\t\treturn tween;\n\t\t} ]\n\t};\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\tsetTimeout(function() {\n\t\tfxNow = undefined;\n\t});\n\treturn ( fxNow = jQuery.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4 ; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( tweeners[ prop ] || [] ).concat( tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( (tween = collection[ index ].call( animation, prop, value )) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\t/* jshint validthis: true */\n\tvar prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHidden( elem ),\n\t\tdataShow = data_priv.get( elem, \"fxshow\" );\n\n\t// Handle queue: false promises\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always(function() {\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always(function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t// Height/width overflow pass\n\tif ( elem.nodeType === 1 && ( \"height\" in props || \"width\" in props ) ) {\n\t\t// Make sure that nothing sneaks out\n\t\t// Record all 3 overflow attributes because IE9-10 do not\n\t\t// change the overflow attribute when overflowX and\n\t\t// overflowY are set to the same value\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Set display property to inline-block for height/width\n\t\t// animations on inline elements that are having width/height animated\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\n\t\t// Test default display if display is currently \"none\"\n\t\tcheckDisplay = display === \"none\" ?\n\t\t\tdata_priv.get( elem, \"olddisplay\" ) || defaultDisplay( elem.nodeName ) : display;\n\n\t\tif ( checkDisplay === \"inline\" && jQuery.css( elem, \"float\" ) === \"none\" ) {\n\t\t\tstyle.display = \"inline-block\";\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always(function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t});\n\t}\n\n\t// show/hide pass\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.exec( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\n\t\t// Any non-fx value stops us from restoring the original display value\n\t\t} else {\n\t\t\tdisplay = undefined;\n\t\t}\n\t}\n\n\tif ( !jQuery.isEmptyObject( orig ) ) {\n\t\tif ( dataShow ) {\n\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\thidden = dataShow.hidden;\n\t\t\t}\n\t\t} else {\n\t\t\tdataShow = data_priv.access( elem, \"fxshow\", {} );\n\t\t}\n\n\t\t// Store state if its toggle - enables .stop().toggle() to \"reverse\"\n\t\tif ( toggle ) {\n\t\t\tdataShow.hidden = !hidden;\n\t\t}\n\t\tif ( hidden ) {\n\t\t\tjQuery( elem ).show();\n\t\t} else {\n\t\t\tanim.done(function() {\n\t\t\t\tjQuery( elem ).hide();\n\t\t\t});\n\t\t}\n\t\tanim.done(function() {\n\t\t\tvar prop;\n\n\t\t\tdata_priv.remove( elem, \"fxshow\" );\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t}\n\t\t});\n\t\tfor ( prop in orig ) {\n\t\t\ttween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\n\t\t\tif ( !( prop in dataShow ) ) {\n\t\t\t\tdataShow[ prop ] = tween.start;\n\t\t\t\tif ( hidden ) {\n\t\t\t\t\ttween.end = tween.start;\n\t\t\t\t\ttween.start = prop === \"width\" || prop === \"height\" ? 1 : 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t// If this is a noop like .hide().hide(), restore an overwritten display value\n\t} else if ( (display === \"none\" ? defaultDisplay( elem.nodeName ) : display) === \"inline\" ) {\n\t\tstyle.display = display;\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = jQuery.camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( jQuery.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = animationPrefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t}),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ]);\n\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t} else {\n\t\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tanimation = deferred.promise({\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, { specialEasing: {} }, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length ; index++ ) {\n\t\tresult = animationPrefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t})\n\t);\n\n\t// attach callbacks from options\n\treturn animation.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweener: function( props, callback ) {\n\t\tif ( jQuery.isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.split(\" \");\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length ; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\ttweeners[ prop ] = tweeners[ prop ] || [];\n\t\t\ttweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tanimationPrefilters.unshift( callback );\n\t\t} else {\n\t\t\tanimationPrefilters.push( callback );\n\t\t}\n\t}\n});\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tjQuery.isFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\n\t};\n\n\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ? opt.duration :\n\t\topt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( jQuery.isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend({\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHidden ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate({ opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || data_priv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = data_priv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t});\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each(function() {\n\t\t\tvar index,\n\t\t\t\tdata = data_priv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t});\n\t}\n});\n\njQuery.each([ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n});\n\n// Generate shortcuts for custom animations\njQuery.each({\n\tslideDown: genFx(\"show\"),\n\tslideUp: genFx(\"hide\"),\n\tslideToggle: genFx(\"toggle\"),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n});\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = jQuery.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\t\t// Checks the timer has not already been removed\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tif ( timer() ) {\n\t\tjQuery.fx.start();\n\t} else {\n\t\tjQuery.timers.pop();\n\t}\n};\n\njQuery.fx.interval = 13;\n\njQuery.fx.start = function() {\n\tif ( !timerId ) {\n\t\ttimerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );\n\t}\n};\n\njQuery.fx.stop = function() {\n\tclearInterval( timerId );\n\ttimerId = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\tclearTimeout( timeout );\n\t\t};\n\t});\n};\n\n\n(function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: iOS<=5.1, Android<=4.2+\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE<=11+\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: Android<=2.3\n\t// Options inside disabled selects are incorrectly marked as disabled\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Support: IE<=11+\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n})();\n\n\nvar nodeHook, boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend({\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t});\n\t}\n});\n\njQuery.extend({\n\tattr: function( elem, name, value ) {\n\t\tvar hooks, ret,\n\t\t\tnType = elem.nodeType;\n\n\t\t// don't get/set attributes on text, comment and attribute nodes\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === strundefined ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// All attributes are lowercase\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\tname = name.toLowerCase();\n\t\t\thooks = jQuery.attrHooks[ name ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\n\t\t\t} else if ( hooks && \"set\" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {\n\t\t\t\treturn ret;\n\n\t\t\t} else {\n\t\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t} else if ( hooks && \"get\" in hooks && (ret = hooks.get( elem, name )) !== null ) {\n\t\t\treturn ret;\n\n\t\t} else {\n\t\t\tret = jQuery.find.attr( elem, name );\n\n\t\t\t// Non-existent attributes return null, we normalize to undefined\n\t\t\treturn ret == null ?\n\t\t\t\tundefined :\n\t\t\t\tret;\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name, propName,\n\t\t\ti = 0,\n\t\t\tattrNames = value && value.match( rnotwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( (name = attrNames[i++]) ) {\n\t\t\t\tpropName = jQuery.propFix[ name ] || name;\n\n\t\t\t\t// Boolean attributes get special treatment (#10870)\n\t\t\t\tif ( jQuery.expr.match.bool.test( name ) ) {\n\t\t\t\t\t// Set corresponding property to false\n\t\t\t\t\telem[ propName ] = false;\n\t\t\t\t}\n\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tjQuery.nodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle;\n\t\tif ( !isXML ) {\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ name ];\n\t\t\tattrHandle[ name ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tname.toLowerCase() :\n\t\t\t\tnull;\n\t\t\tattrHandle[ name ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n});\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i;\n\njQuery.fn.extend({\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each(function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t});\n\t}\n});\n\njQuery.extend({\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t},\n\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks, notxml,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\n\n\t\tif ( notxml ) {\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\treturn hooks && \"set\" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ?\n\t\t\t\tret :\n\t\t\t\t( elem[ name ] = value );\n\n\t\t} else {\n\t\t\treturn hooks && \"get\" in hooks && (ret = hooks.get( elem, name )) !== null ?\n\t\t\t\tret :\n\t\t\t\telem[ name ];\n\t\t}\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\t\t\t\treturn elem.hasAttribute( \"tabindex\" ) || rfocusable.test( elem.nodeName ) || elem.href ?\n\t\t\t\t\telem.tabIndex :\n\t\t\t\t\t-1;\n\t\t\t}\n\t\t}\n\t}\n});\n\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\njQuery.each([\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n});\n\n\n\n\nvar rclass = /[\\t\\r\\n\\f]/g;\n\njQuery.fn.extend({\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, clazz, j, finalValue,\n\t\t\tproceed = typeof value === \"string\" && value,\n\t\t\ti = 0,\n\t\t\tlen = this.length;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, this.className ) );\n\t\t\t});\n\t\t}\n\n\t\tif ( proceed ) {\n\t\t\t// The disjunction here is for better compressibility (see removeClass)\n\t\t\tclasses = ( value || \"\" ).match( rnotwhite ) || [];\n\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\telem = this[ i ];\n\t\t\t\tcur = elem.nodeType === 1 && ( elem.className ?\n\t\t\t\t\t( \" \" + elem.className + \" \" ).replace( rclass, \" \" ) :\n\t\t\t\t\t\" \"\n\t\t\t\t);\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (clazz = classes[j++]) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( elem.className !== finalValue ) {\n\t\t\t\t\t\telem.className = finalValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, clazz, j, finalValue,\n\t\t\tproceed = arguments.length === 0 || typeof value === \"string\" && value,\n\t\t\ti = 0,\n\t\t\tlen = this.length;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, this.className ) );\n\t\t\t});\n\t\t}\n\t\tif ( proceed ) {\n\t\t\tclasses = ( value || \"\" ).match( rnotwhite ) || [];\n\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\telem = this[ i ];\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( elem.className ?\n\t\t\t\t\t( \" \" + elem.className + \" \" ).replace( rclass, \" \" ) :\n\t\t\t\t\t\"\"\n\t\t\t\t);\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (clazz = classes[j++]) ) {\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) >= 0 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = value ? jQuery.trim( cur ) : \"\";\n\t\t\t\t\tif ( elem.className !== finalValue ) {\n\t\t\t\t\t\telem.className = finalValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value;\n\n\t\tif ( typeof stateVal === \"boolean\" && type === \"string\" ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( i ) {\n\t\t\t\tjQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );\n\t\t\t});\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tif ( type === \"string\" ) {\n\t\t\t\t// Toggle individual class names\n\t\t\t\tvar className,\n\t\t\t\t\ti = 0,\n\t\t\t\t\tself = jQuery( this ),\n\t\t\t\t\tclassNames = value.match( rnotwhite ) || [];\n\n\t\t\t\twhile ( (className = classNames[ i++ ]) ) {\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( type === strundefined || type === \"boolean\" ) {\n\t\t\t\tif ( this.className ) {\n\t\t\t\t\t// store className if set\n\t\t\t\t\tdata_priv.set( this, \"__className__\", this.className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tthis.className = this.className || value === false ? \"\" : data_priv.get( this, \"__className__\" ) || \"\";\n\t\t\t}\n\t\t});\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className = \" \" + selector + \" \",\n\t\t\ti = 0,\n\t\t\tl = this.length;\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tif ( this[i].nodeType === 1 && (\" \" + this[i].className + \" \").replace(rclass, \" \").indexOf( className ) >= 0 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n});\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend({\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[0];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, \"value\" )) !== undefined ) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\treturn typeof ret === \"string\" ?\n\t\t\t\t\t// Handle most common string cases\n\t\t\t\t\tret.replace(rreturn, \"\") :\n\t\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\t\tret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each(function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( jQuery.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !(\"set\" in hooks) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t});\n\t}\n});\n\njQuery.extend({\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\t\t\t\t\t// Support: IE10-11+\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\tjQuery.trim( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\" || index < 0,\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length,\n\t\t\t\t\ti = index < 0 ?\n\t\t\t\t\t\tmax :\n\t\t\t\t\t\tone ? index : 0;\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// IE6-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t( support.optDisabled ? !option.disabled : option.getAttribute( \"disabled\" ) === null ) &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\t\t\t\t\tif ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n});\n\n// Radios and checkboxes getter/setter\njQuery.each([ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( jQuery.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute(\"value\") === null ? \"on\" : elem.value;\n\t\t};\n\t}\n});\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\njQuery.each( (\"blur focus focusin focusout load resize scroll unload click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup error contextmenu\").split(\" \"), function( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n});\n\njQuery.fn.extend({\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t},\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ? this.off( selector, \"**\" ) : this.off( types, selector || \"**\", fn );\n\t}\n});\n\n\nvar nonce = jQuery.now();\n\nvar rquery = (/\\?/);\n\n\n\n// Support: Android 2.3\n// Workaround failure to string-cast null input\njQuery.parseJSON = function( data ) {\n\treturn JSON.parse( data + \"\" );\n};\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, tmp;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE9\n\ttry {\n\t\ttmp = new DOMParser();\n\t\txml = tmp.parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\n\tif ( !xml || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trhash = /#.*$/,\n\trts = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\trurl = /^([\\w.+-]+:)(?:\\/\\/(?:[^\\/?#]*@|)([^\\/?#:]*)(?::(\\d+)|)|)/,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t *    - BEFORE asking for a transport\n\t *    - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Document location\n\tajaxLocation = window.location.href,\n\n\t// Segment location into parts\n\tajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];\n\n\t\tif ( jQuery.isFunction( func ) ) {\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( (dataType = dataTypes[i++]) ) {\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[0] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t(structure[ dataType ] = structure[ dataType ] || []).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t(structure[ dataType ] = structure[ dataType ] || []).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t});\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader(\"Content-Type\");\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[0] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s[ \"throws\" ] ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn { state: \"parsererror\", error: conv ? e : \"No conversion from \" + prev + \" to \" + current };\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend({\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: ajaxLocation,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /xml/,\n\t\t\thtml: /html/,\n\t\t\tjson: /json/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": jQuery.parseJSON,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\t\t\t// Cross-domain detection vars\n\t\t\tparts,\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\t\t\t// Loop variable\n\t\t\ti,\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks(\"once memory\"),\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\t\t\t// The jqXHR state\n\t\t\tstate = 0,\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( state === 2 ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( (match = rheaders.exec( responseHeadersString )) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[1].toLowerCase() ] = match[ 2 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match;\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn state === 2 ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tvar lname = name.toLowerCase();\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\tname = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\t// Lazy-add the new callback in a way that preserves old ones\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR ).complete = completeDeferred.add;\n\t\tjqXHR.success = jqXHR.done;\n\t\tjqXHR.error = jqXHR.fail;\n\n\t\t// Remove hash character (#7531: and string promotion)\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || ajaxLocation ) + \"\" ).replace( rhash, \"\" )\n\t\t\t.replace( rprotocol, ajaxLocParts[ 1 ] + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = jQuery.trim( s.dataType || \"*\" ).toLowerCase().match( rnotwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when we have a protocol:host:port mismatch\n\t\tif ( s.crossDomain == null ) {\n\t\t\tparts = rurl.exec( s.url.toLowerCase() );\n\t\t\ts.crossDomain = !!( parts &&\n\t\t\t\t( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||\n\t\t\t\t\t( parts[ 3 ] || ( parts[ 1 ] === \"http:\" ? \"80\" : \"443\" ) ) !==\n\t\t\t\t\t\t( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === \"http:\" ? \"80\" : \"443\" ) ) )\n\t\t\t);\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( state === 2 ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger(\"ajaxStart\");\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\tcacheURL = s.url;\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// If data is available, append data to url\n\t\t\tif ( s.data ) {\n\t\t\t\tcacheURL = ( s.url += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data );\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add anti-cache in url if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\ts.url = rts.test( cacheURL ) ?\n\n\t\t\t\t\t// If there is already a '_' parameter, set its value\n\t\t\t\t\tcacheURL.replace( rts, \"$1_=\" + nonce++ ) :\n\n\t\t\t\t\t// Otherwise add one to the end\n\t\t\t\t\tcacheURL + ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + nonce++;\n\t\t\t}\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\n\t\t\tjqXHR[ i ]( s[ i ] );\n\t\t}\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = setTimeout(function() {\n\t\t\t\t\tjqXHR.abort(\"timeout\");\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tstate = 1;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\t\t\t\t// Propagate exception as error if not done\n\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\tdone( -1, e );\n\t\t\t\t// Simply rethrow otherwise\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Called once\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// State is \"done\" now\n\t\t\tstate = 2;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\tclearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader(\"Last-Modified\");\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader(\"etag\");\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger(\"ajaxStop\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n});\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\treturn jQuery.ajax({\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t});\n\t};\n});\n\n\njQuery._evalUrl = function( url ) {\n\treturn jQuery.ajax({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tasync: false,\n\t\tglobal: false,\n\t\t\"throws\": true\n\t});\n};\n\n\njQuery.fn.extend({\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each(function( i ) {\n\t\t\t\tjQuery( this ).wrapAll( html.call(this, i) );\n\t\t\t});\n\t\t}\n\n\t\tif ( this[ 0 ] ) {\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map(function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t}).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each(function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call(this, i) );\n\t\t\t});\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t});\n\t},\n\n\twrap: function( html ) {\n\t\tvar isFunction = jQuery.isFunction( html );\n\n\t\treturn this.each(function( i ) {\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );\n\t\t});\n\t},\n\n\tunwrap: function() {\n\t\treturn this.parent().each(function() {\n\t\t\tif ( !jQuery.nodeName( this, \"body\" ) ) {\n\t\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t\t}\n\t\t}).end();\n\t}\n});\n\n\njQuery.expr.filters.hidden = function( elem ) {\n\t// Support: Opera <= 12.12\n\t// Opera reports offsetWidths and offsetHeights less than zero on some elements\n\treturn elem.offsetWidth <= 0 && elem.offsetHeight <= 0;\n};\njQuery.expr.filters.visible = function( elem ) {\n\treturn !jQuery.expr.filters.hidden( elem );\n};\n\n\n\n\nvar r20 = /%20/g,\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( jQuery.isArray( obj ) ) {\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams( prefix + \"[\" + ( typeof v === \"object\" ? i : \"\" ) + \"]\", v, traditional, add );\n\t\t\t}\n\t\t});\n\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, value ) {\n\t\t\t// If value is a function, invoke it and return its value\n\t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value == null ? \"\" : value );\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" + encodeURIComponent( value );\n\t\t};\n\n\t// Set traditional to true for jQuery <= 1.3.2 behavior.\n\tif ( traditional === undefined ) {\n\t\ttraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t});\n\n\t} else {\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" ).replace( r20, \"+\" );\n};\n\njQuery.fn.extend({\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map(function() {\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t})\n\t\t.filter(function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t})\n\t\t.map(function( i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\treturn val == null ?\n\t\t\t\tnull :\n\t\t\t\tjQuery.isArray( val ) ?\n\t\t\t\t\tjQuery.map( val, function( val ) {\n\t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t\t}) :\n\t\t\t\t\t{ name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t}).get();\n\t}\n});\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new XMLHttpRequest();\n\t} catch( e ) {}\n};\n\nvar xhrId = 0,\n\txhrCallbacks = {},\n\txhrSuccessStatus = {\n\t\t// file protocol always yields status code 0, assume 200\n\t\t0: 200,\n\t\t// Support: IE9\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\n// Support: IE9\n// Open requests must be manually aborted on unload (#5280)\n// See https://support.microsoft.com/kb/2856746 for more info\nif ( window.attachEvent ) {\n\twindow.attachEvent( \"onunload\", function() {\n\t\tfor ( var key in xhrCallbacks ) {\n\t\t\txhrCallbacks[ key ]();\n\t\t}\n\t});\n}\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport(function( options ) {\n\tvar callback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr(),\n\t\t\t\t\tid = ++xhrId;\n\n\t\t\t\txhr.open( options.type, options.url, options.async, options.username, options.password );\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[\"X-Requested-With\"] ) {\n\t\t\t\t\theaders[\"X-Requested-With\"] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tdelete xhrCallbacks[ id ];\n\t\t\t\t\t\t\tcallback = xhr.onload = xhr.onerror = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\t// file: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\t\t\t\t\t\t\t\t\t// Support: IE9\n\t\t\t\t\t\t\t\t\t// Accessing binary-data responseText throws an exception\n\t\t\t\t\t\t\t\t\t// (#11426)\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText === \"string\" ? {\n\t\t\t\t\t\t\t\t\t\ttext: xhr.responseText\n\t\t\t\t\t\t\t\t\t} : undefined,\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\txhr.onerror = callback(\"error\");\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = xhrCallbacks[ id ] = callback(\"abort\");\n\n\t\t\t\ttry {\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n});\n\n\n\n\n// Install script dataType\njQuery.ajaxSetup({\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /(?:java|ecma)script/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n});\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n});\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\t// This transport only deals with cross domain requests\n\tif ( s.crossDomain ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery(\"<script>\").prop({\n\t\t\t\t\tasync: true,\n\t\t\t\t\tcharset: s.scriptCharset,\n\t\t\t\t\tsrc: s.url\n\t\t\t\t}).on(\n\t\t\t\t\t\"load error\",\n\t\t\t\t\tcallback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n});\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup({\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n});\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" && !( s.contentType || \"\" ).indexOf(\"application/x-www-form-urlencoded\") && rjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[\"script json\"] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always(function() {\n\t\t\t// Restore preexisting value\n\t\t\twindow[ callbackName ] = overwritten;\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\t\t\t\t// make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t});\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n});\n\n\n\n\n// data: string of html\n// context (optional): If specified, the fragment will be created in this context, defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\tcontext = context || document;\n\n\tvar parsed = rsingleTag.exec( data ),\n\t\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[1] ) ];\n\t}\n\n\tparsed = jQuery.buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n// Keep a copy of the old load method\nvar _load = jQuery.fn.load;\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tif ( typeof url !== \"string\" && _load ) {\n\t\treturn _load.apply( this, arguments );\n\t}\n\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf(\" \");\n\n\tif ( off >= 0 ) {\n\t\tselector = jQuery.trim( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( jQuery.isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax({\n\t\t\turl: url,\n\n\t\t\t// if \"type\" variable is undefined, then \"GET\" method will be used\n\t\t\ttype: type,\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t}).done(function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery(\"<div>\").append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t}).complete( callback && function( jqXHR, status ) {\n\t\t\tself.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t});\n\t}\n\n\treturn this;\n};\n\n\n\n\n// Attach a bunch of functions for handling common AJAX events\njQuery.each( [ \"ajaxStart\", \"ajaxStop\", \"ajaxComplete\", \"ajaxError\", \"ajaxSuccess\", \"ajaxSend\" ], function( i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n});\n\n\n\n\njQuery.expr.filters.animated = function( elem ) {\n\treturn jQuery.grep(jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t}).length;\n};\n\n\n\n\nvar docElem = window.document.documentElement;\n\n/**\n * Gets a window from an element\n */\nfunction getWindow( elem ) {\n\treturn jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;\n}\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf(\"auto\") > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( jQuery.isFunction( options ) ) {\n\t\t\toptions = options.call( elem, i, curOffset );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend({\n\toffset: function( options ) {\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each(function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t});\n\t\t}\n\n\t\tvar docElem, win,\n\t\t\telem = this[ 0 ],\n\t\t\tbox = { top: 0, left: 0 },\n\t\t\tdoc = elem && elem.ownerDocument;\n\n\t\tif ( !doc ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocElem = doc.documentElement;\n\n\t\t// Make sure it's not a disconnected DOM node\n\t\tif ( !jQuery.contains( docElem, elem ) ) {\n\t\t\treturn box;\n\t\t}\n\n\t\t// Support: BlackBerry 5, iOS 3 (original iPhone)\n\t\t// If we don't have gBCR, just use 0,0 rather than error\n\t\tif ( typeof elem.getBoundingClientRect !== strundefined ) {\n\t\t\tbox = elem.getBoundingClientRect();\n\t\t}\n\t\twin = getWindow( doc );\n\t\treturn {\n\t\t\ttop: box.top + win.pageYOffset - docElem.clientTop,\n\t\t\tleft: box.left + win.pageXOffset - docElem.clientLeft\n\t\t};\n\t},\n\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\t\t\t// Assume getBoundingClientRect is there when computed position is fixed\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\t\t\t// Get *real* offsetParent\n\t\t\toffsetParent = this.offsetParent();\n\n\t\t\t// Get correct offsets\n\t\t\toffset = this.offset();\n\t\t\tif ( !jQuery.nodeName( offsetParent[ 0 ], \"html\" ) ) {\n\t\t\t\tparentOffset = offsetParent.offset();\n\t\t\t}\n\n\t\t\t// Add offsetParent borders\n\t\t\tparentOffset.top += jQuery.css( offsetParent[ 0 ], \"borderTopWidth\", true );\n\t\t\tparentOffset.left += jQuery.css( offsetParent[ 0 ], \"borderLeftWidth\", true );\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\toffsetParent: function() {\n\t\treturn this.map(function() {\n\t\t\tvar offsetParent = this.offsetParent || docElem;\n\n\t\t\twhile ( offsetParent && ( !jQuery.nodeName( offsetParent, \"html\" ) && jQuery.css( offsetParent, \"position\" ) === \"static\" ) ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || docElem;\n\t\t});\n\t}\n});\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\t\t\tvar win = getWindow( elem );\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : window.pageXOffset,\n\t\t\t\t\ttop ? val : window.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length, null );\n\t};\n});\n\n// Support: Safari<7+, Chrome<37+\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n});\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name }, function( defaultExtra, funcName ) {\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( jQuery.isWindow( elem ) ) {\n\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\n\t\t\t\t\t// isn't a whole lot we can do. See pull request at this URL for discussion:\n\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n\t\t\t\t\treturn elem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable, null );\n\t\t};\n\t});\n});\n\n\n// The number of elements contained in the matched element set\njQuery.fn.size = function() {\n\treturn this.length;\n};\n\njQuery.fn.andSelf = jQuery.fn.addBack;\n\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t});\n}\n\n\n\n\nvar\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\nif ( typeof noGlobal === strundefined ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\n\n\n\nreturn jQuery;\n\n}));\n","/* Modernizr 2.8.3 (Custom Build) | MIT & BSD\n * Build: http://modernizr.com/download/#-flexboxlegacy-inlinesvg-svg-svgclippaths-touch-shiv-mq-cssclasses-teststyles-testallprops-prefixes-css_mask-ie8compat\n */\n;window.Modernizr=function(a,b,c){function B(a){j.cssText=a}function C(a,b){return B(m.join(a+\";\")+(b||\"\"))}function D(a,b){return typeof a===b}function E(a,b){return!!~(\"\"+a).indexOf(b)}function F(a,b){for(var d in a){var e=a[d];if(!E(e,\"-\")&&j[e]!==c)return b==\"pfx\"?e:!0}return!1}function G(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:D(f,\"function\")?f.bind(d||b):f}return!1}function H(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+\" \"+o.join(d+\" \")+d).split(\" \");return D(b,\"string\")||D(b,\"undefined\")?F(e,b):(e=(a+\" \"+p.join(d+\" \")+d).split(\" \"),G(e,b,c))}var d=\"2.8.3\",e={},f=!0,g=b.documentElement,h=\"modernizr\",i=b.createElement(h),j=i.style,k,l={}.toString,m=\" -webkit- -moz- -o- -ms- \".split(\" \"),n=\"Webkit Moz O ms\",o=n.split(\" \"),p=n.toLowerCase().split(\" \"),q={svg:\"http://www.w3.org/2000/svg\"},r={},s={},t={},u=[],v=u.slice,w,x=function(a,c,d,e){var f,i,j,k,l=b.createElement(\"div\"),m=b.body,n=m||b.createElement(\"body\");if(parseInt(d,10))while(d--)j=b.createElement(\"div\"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=[\"&#173;\",'<style id=\"s',h,'\">',a,\"</style>\"].join(\"\"),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background=\"\",n.style.overflow=\"hidden\",k=g.style.overflow,g.style.overflow=\"hidden\",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},y=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b)&&c(b).matches||!1;var d;return x(\"@media \"+b+\" { #\"+h+\" { position: absolute; } }\",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)[\"position\"]==\"absolute\"}),d},z={}.hasOwnProperty,A;!D(z,\"undefined\")&&!D(z.call,\"undefined\")?A=function(a,b){return z.call(a,b)}:A=function(a,b){return b in a&&D(a.constructor.prototype[b],\"undefined\")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!=\"function\")throw new TypeError;var d=v.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e}),r.flexboxlegacy=function(){return H(\"boxDirection\")},r.touch=function(){var c;return\"ontouchstart\"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:x([\"@media (\",m.join(\"touch-enabled),(\"),h,\")\",\"{#modernizr{top:9px;position:absolute}}\"].join(\"\"),function(a){c=a.offsetTop===9}),c},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,\"svg\").createSVGRect},r.inlinesvg=function(){var a=b.createElement(\"div\");return a.innerHTML=\"<svg/>\",(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(q.svg,\"clipPath\")))};for(var I in r)A(r,I)&&(w=I.toLowerCase(),e[w]=r[I](),u.push((e[w]?\"\":\"no-\")+w));return e.addTest=function(a,b){if(typeof a==\"object\")for(var d in a)A(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b==\"function\"?b():b,typeof f!=\"undefined\"&&f&&(g.className+=\" \"+(b?\"\":\"no-\")+a),e[a]=b}return e},B(\"\"),i=k=null,function(a,b){function l(a,b){var c=a.createElement(\"p\"),d=a.getElementsByTagName(\"head\")[0]||a.documentElement;return c.innerHTML=\"x<style>\"+b+\"</style>\",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a==\"string\"?a.split(\" \"):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?o(c,a,b):b.createElem(c)},a.createDocumentFragment=Function(\"h,f\",\"return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(\"+m().join().replace(/[\\w\\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c(\"'+a+'\")'})+\");return n}\")(s,b.frag)}function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.hasCSS=!!l(a,\"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}\")),k||q(a,c),a}var c=\"3.7.0\",d=a.html5||{},e=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g,h=\"_html5shiv\",i=0,j={},k;(function(){try{var a=b.createElement(\"a\");a.innerHTML=\"<xyz></xyz>\",g=\"hidden\"in a,k=a.childNodes.length==1||function(){b.createElement(\"a\");var a=b.createDocumentFragment();return typeof a.cloneNode==\"undefined\"||typeof a.createDocumentFragment==\"undefined\"||typeof a.createElement==\"undefined\"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||\"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video\",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:\"default\",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=y,e.testProp=function(a){return F([a])},e.testAllProps=H,e.testStyles=x,g.className=g.className.replace(/(^|\\s)no-js(\\s|$)/,\"$1$2\")+(f?\" js \"+u.join(\" \"):\"\"),e}(this,this.document),Modernizr.addTest(\"cssmask\",Modernizr.testAllProps(\"maskRepeat\")),Modernizr.addTest(\"ie8compat\",function(){return!window.addEventListener&&document.documentMode&&document.documentMode===7});","/* ===== Zeste de Savoir ====================================================\n   Managment of accessibility links\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    $(\"#accessibility a\").on(\"focus\", function() {\n        $(\".dropdown:visible\").parent().find(\".active\").removeClass(\"active\");\n        $(\"#accessibility\").addClass(\"focused\");\n    }).on(\"blur\", function() {\n        $(\"#accessibility\").removeClass(\"focused\");\n    }).on(\"click\", function() {\n        var link = $(this).attr(\"href\");\n        setTimeout(function() { // Forces the focus on next tick\n            $(link).find(\":tabbable\").first().focus(); // Focus the first focusable element\n        });\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Accordeon for sidebar\n   ---------------------------------\n   Author: Alex-D\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    function accordeon($elem){\n        $(\"h4 + ul, h4 + ol\", $elem).each(function(){\n            if(!$(this).hasClass(\"unfolded\")){\n                if($(\".current\", $(this)).length === 0)\n                    $(this).hide();\n            }\n        });\n\n        $(\"h4\", $elem).click(function(e){\n            $(\"+ ul, + ol\", $(this)).slideToggle(100);\n\n            e.preventDefault();\n            e.stopPropagation();\n        });\n    }\n    \n    $(document).ready(function(){\n        $(\".main .sidebar.accordeon, .main .sidebar .accordeon\")\n        .each(function(){\n            accordeon($(this));\n        })\n        .on(\"DOMNodeInserted\", function(e){\n            accordeon($(e.target));\n        });\n    });\n})(jQuery);","/* ===== Zeste de Savoir ====================================================\n   Manage action button AJAX requests\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    /**\n     * Toggle the text of the element by the text of an attribute\n     *\n     * @param {string} dataAttribute\n     */\n    $.fn.toggleText = function(dataAttribute){\n        var text = this.text(),\n            textToPut = this.data(dataAttribute);\n\n        this.text(textToPut);\n        this.data(dataAttribute, text);\n    };\n\n    function synchText() {\n        $(\"#mobile-menu [data-ajax-input]\").each(function () {\n            var dataAjaxInput = $(this).data(\"ajax-input\");\n            console.log($(this).text(), $(\".sidebar\").find(\"button[data-ajax-input='\" + dataAjaxInput + \"']\").text(), dataAjaxInput);\n\n            $(this).text($(\".sidebar\").find(\"button[data-ajax-input='\" + dataAjaxInput + \"']\").text());\n        });\n    }\n\n    /**\n     * Follow a topic\n     */\n    $(\".sidebar\").on(\"click\", \"[data-ajax-input='follow-topic']\", function(e){\n        var $act = $(this),\n            $form = $(this).parents(\"form:first\"),\n            $email = $(this).parents(\"li:first\").next().find(\"[data-ajax-input='follow-topic-by-email']\");\n\n        $email.prop(\"disabled\", true);\n\n        var csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val(),\n            topic = $form.find(\"input[name=topic]\").val(),\n            follow = $form.find(\"input[name=follow]\").val(),\n            page = $form.find(\"input[name=page]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            dataType: \"json\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken,\n                \"topic\": topic,\n                \"follow\": follow,\n                \"page\": page\n            },\n            success: function(data){\n                if(data.follow){\n                    $form.find(\"input[name=follow]\").val(1);\n                } else {\n                    if($email.hasClass(\"blue\") === false){\n                        $email.toggleText(\"content-on-click\");\n                        $email.addClass(\"blue\");\n\n                        $email.parents(\"form:first\").find(\"input[name=email]\").val(0);\n                    }\n\n                    $form.find(\"input[name=follow]\").val(0);\n                }\n\n                $act.toggleText(\"content-on-click\");\n                $act.toggleClass(\"blue yellow\");\n\n                synchText();\n            },\n            complete: function(){\n              $email.prop(\"disabled\", false);\n            }\n        });\n\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /**\n     * Be notified by email\n     */\n    $(\".sidebar\").on(\"click\", \"[data-ajax-input='follow-topic-by-email']\", function(e){\n        var $act = $(this),\n            $follow = $(this).parents(\"li:first\").prev().find(\"[data-ajax-input='follow-topic']\"),\n            $form = $(this).parents(\"form:first\");\n\n        $follow.prop(\"disabled\", true);\n\n        var csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val(),\n            topic = $form.find(\"input[name=topic]\").val(),\n            email = $form.find(\"input[name=email]\").val(),\n            page = $form.find(\"input[name=page]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            dataType: \"json\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken,\n                \"topic\": topic,\n                \"email\": email,\n                \"page\": page\n            },\n            success: function(data){\n                if(data.email){\n                    if($follow.hasClass(\"yellow\") === false){\n                        $follow.toggleText(\"content-on-click\");\n                        $follow.removeClass(\"blue\");\n                        $follow.addClass(\"yellow\");\n\n                        $follow.parents(\"form:first\").find(\"input[name=follow]\").val(1);\n                    }\n\n                    $form.find(\"input[name=email]\").val(1);\n                } else {\n                    $form.find(\"input[name=email]\").val(0);\n                }\n\n                $act.toggleText(\"content-on-click\");\n                $act.toggleClass(\"blue\");\n\n                synchText();\n            },\n            complete: function(){\n              $follow.prop(\"disabled\", false);\n            }\n        });\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /**\n     * Mark a topic solved\n     */\n    $(\".sidebar\").on(\"click\", \"[data-ajax-input='solve-topic']\", function(e){\n        var $act = $(this),\n            $form = $(this).parents(\"form:first\");\n\n        var csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val(),\n            topic = $form.find(\"input[name=topic]\").val(),\n            solved = $form.find(\"input[name=solved]\").val(),\n            page = $form.find(\"input[name=page]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            dataType: \"json\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken,\n                \"topic\": topic,\n                \"solved\": solved,\n                \"page\": page\n            },\n            success: function(data){\n                if(data.solved){\n                    $form.find(\"input[name=solved]\").val(1);\n                } else {\n                    $form.find(\"input[name=solved]\").val(0);\n                }\n\n                $act.toggleText(\"content-on-click\");\n                $act.toggleClass(\"green blue\");\n                $(\"[data-ajax-output='solve-topic']\").toggleClass(\"empty\");\n\n                synchText();\n            }\n        });\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /**\n     * Mobile action\n     */\n    $(\"#mobile-menu\").on(\"click\", \"[data-ajax-input]\", function(e){\n        var dataAjaxInput = $(this).data(\"ajax-input\");\n        var $button = $(\".sidebar\").find(\"button[data-ajax-input='\" + dataAjaxInput + \"']\");\n\n        if ($button[0]) {\n            $(this).toggleText(\"content-on-click\");\n            $button.click();\n\n            e.stopPropagation();\n            e.preventDefault();\n        }\n    });\n\n    /**\n     * Cite a message\n     */\n    $(\".message-actions\").on(\"click\", \"[data-ajax-input='cite-message']\", function(e){\n        var $act = $(this),\n            $editor = $(\".md-editor\");\n\n        $.ajax({\n            url: $act.attr(\"href\"),\n            dataType: \"json\",\n            success: function(data){\n                $editor.val($editor.val() + data.text + \"\\n\\n\");\n            }\n        });\n\n        // scroll to the textarea and focus the textarea\n        $(\"html, body\").animate({ scrollTop: $editor.offset().top }, 500);\n        $editor.focus();\n\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /**\n     * Preview the message\n     */\n    $(\".message-bottom\").on(\"click\", \"[data-ajax-input='preview-message']\", function(e){\n        var $form = $(this).parents(\"form:first\");\n        var csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val(),\n            text = $form.find(\"textarea[name=text]\").val(),\n            lastPost = $form.find(\"input[name=last_post]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken,\n                \"text\": text,\n                \"last_post\": lastPost,\n                \"preview\": \"preview\"\n            },\n            success: function(data){\n                $(\".previsualisation\").remove();\n\n                $(data).insertAfter($form);\n\n                /* global MathJax */\n                if ($(data).find(\"$\").length > 0)\n                    MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);\n            }\n        });\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /*\n     * Mark a message useful\n     */\n    $(\".topic-message\").on(\"click\", \"[data-ajax-input='mark-message-as-useful']\", function(e){\n        var $button = $(this),\n            $form = $button.parents(\"form:first\"),\n            $message = $form.parents(\"article\"),\n            $usefulText = $message.find(\"[data-ajax-output='mark-message-as-useful']\"),\n            csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken\n            },\n            success: function(){\n                $message.toggleClass(\"helpful\");\n                $button.toggleText(\"content-on-click\");\n                $usefulText.toggleClass(\"hidden\");\n                $button.blur();\n            }\n        });\n\n        e.stopPropagation();\n        e.preventDefault();\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Add autocomplete for members names\n   ---------------------------------\n   Author: Sandhose / Quentin Gliech\n   ========================================================================== */\n\n(function($, undefined) {\n    \"use strict\";\n\n    function AutoComplete(input, options) {\n        this.$wrapper = buildDom($(input));\n        this.$input = this.$wrapper.find(\".autocomplete-input\");\n        this.$dropdown = this.$wrapper.find(\".autocomplete-dropdown\");\n\n\n        this.$input.on(\"keyup\", this.handleInput.bind(this));\n        this.$input.on(\"keydown\", this.handleKeydown.bind(this));\n        this.$input.on(\"blur\", this.hideDropdown.bind(this));\n\n        this.options = options;\n\n        if(this.options.type === \"multiple\") {\n            this.$form = this.$wrapper.parents(\"form:first\");\n            this.$form.on(\"submit\", this.handleSubmit.bind(this));\n        }\n\n        this.selected = -1;\n\n        this._lastInput = \"\";\n    }\n\n    AutoComplete.prototype = {\n        cache: {},\n\n        handleKeydown: function(e) {\n            var $tmp;\n            switch (e.which) {\n                case 38: // Up\n                    e.preventDefault();\n                    e.stopPropagation();\n\n                    if (this.selected === -1) {\n                        this.select(this.$dropdown.find(\"ul li\").last().attr(\"data-autocomplete-id\"));\n                    } else {\n                        $tmp = this.$dropdown.find(\"ul li[data-autocomplete-id=\" + this.selected + \"]\").prev(\"li\");\n                        this.select($tmp.length === 1 ? $tmp.attr(\"data-autocomplete-id\") : -1);\n                    }\n                    break;\n                case 40: // Down\n                    e.preventDefault();\n                    e.stopPropagation();\n\n                    if (this.selected === -1) {\n                        this.select(this.$dropdown.find(\"ul li\").first().attr(\"data-autocomplete-id\"));\n                    } else {\n                        $tmp = this.$dropdown.find(\"ul li[data-autocomplete-id=\" + this.selected + \"]\").next(\"li\");\n                        this.select($tmp.length === 1 ? $tmp.attr(\"data-autocomplete-id\") : -1);\n                    }\n                    break;\n                case 13: // Enter\n                    e.preventDefault();\n                    e.stopPropagation();\n\n                    this.enter();\n                    break;\n            }\n        },\n\n        handleInput: function(e) {\n            if (e && (e.which === 38 || e.which === 40 || e.which === 13)) {\n                e.preventDefault();\n                e.stopPropagation();\n            }\n\n            var input = this.$input.val();\n\n            if (this._lastInput === input)\n                return;\n\n            this._lastInput = input;\n\n            var search = this.parseInput(input),\n                self = this;\n\n            if (!search || search === this._lastAutocomplete) {\n                this.hideDropdown();\n            } else {\n                this.fetchData(search)\n                    .done(function(data) {\n                        self.updateCache(data.results);\n                        self.updateDropdown(self.sortList(data.results, search));\n                    })\n                    .fail(function() {\n                        console.error(\"[Autocompletition] Something went wrong...\");\n                    });\n                this.updateDropdown(this.sortList(this.searchCache(search), search));\n                this.showDropdown();\n            }\n        },\n\n        handleSubmit: function() {\n            var content = this.$input.val();\n            if(content.slice(-2) === \", \") {\n                this.$input.val(content.slice(0, -2));\n            }\n        },\n\n        showDropdown: function() {\n            if (this.$input.is(\"input\"))\n                this.$dropdown.css(\"width\", this.$input.outerWidth());\n            this.$dropdown.show();\n        },\n\n        hideDropdown: function() {\n            this.$dropdown.hide();\n        },\n\n        select: function(id) {\n            this.selected = id;\n            this.$dropdown.find(\"ul li.active\").removeClass(\"active\");\n            this.$dropdown.find(\"ul li[data-autocomplete-id=\" + this.selected + \"]\").addClass(\"active\");\n        },\n\n        enter: function(selected) {\n            selected = selected || this.selected;\n            var input = this.$input.val();\n            var lastChar = input.substr(-1);\n            if ((lastChar === \",\" || selected === -1) && this.options.type === \"multiple\")\n                return false;\n\n            var completion = this.getFromCache(selected);\n            if (!completion)\n                return false;\n\n            if (this.options.type === \"multiple\") {\n                var lastComma = input.lastIndexOf(\",\");\n                if (lastComma !== -1) {\n                    input = input.substr(0, lastComma) + \", \" + completion[this.options.fieldname] + \", \";\n                    this.$input.val(input);\n                } else {\n                    this.$input.val(completion[this.options.fieldname] + \", \");\n                }\n            } else {\n                this.$input.val(completion[this.options.fieldname]);\n            }\n\n            this._lastAutocomplete = completion[this.options.fieldname];\n            this.selected = -1; // Deselect properly\n            this.$input.trigger(\"input\");\n        },\n\n        updateCache: function(data) {\n            for (var i = 0; i < data.length; i++) {\n                this.cache[data[i][this.options.fieldname]] = data[i];\n            }\n        },\n\n        extractWords: function(input) {\n            var words = $.grep(\n                $.map(input.split(\",\"), $.trim), // Remove empty\n                function(e) {\n                    return e === \"\" || e === undefined;\n                },\n                true\n            );\n\n            return words;\n        },\n\n        parseInput: function(input) {\n            if (this.options.type === \"multiple\") {\n                if (input.substr(-1) === \",\" || input.substr(-2) === \", \")\n                    return false;\n\n                var words = this.extractWords(input);\n                if (words.length === 0) return false;\n\n                return words[words.length - 1]; // last word in list\n            } else {\n                return input;\n            }\n        },\n\n        searchCache: function(input) {\n            var regexp = new RegExp(input, \"ig\");\n            return $.grep(\n                this.cache,\n                function(e) {\n                    return e.this.options.fieldname.match(regexp);\n                }\n            );\n        },\n\n        getFromCache: function(id) {\n            for (var i in this.cache) {\n                if (parseInt(this.cache[i].id) === parseInt(id))\n                    return this.cache[i];\n            }\n            return false;\n        },\n\n        filterData: function(data, exclude) {\n            var fieldname = this.options.fieldname;\n            return data.filter(function(e) {\n                return exclude.indexOf(e[fieldname]) === -1;\n            });\n        },\n\n        updateDropdown: function(list) {\n            var self = this;\n            var onClick = function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                self.enter($(this).attr(\"data-autocomplete-id\"));\n                self.$input.focus();\n                self.handleInput();\n            };\n\n            list = self.filterData(list, self.extractWords(this.$input.val()));\n\n            if (list.length > this.options.limit) list = list.slice(0, this.options.limit);\n\n            var $list = $(\"<ul>\"),\n                $el, selected = false;\n            for (var i in list) {\n                if ($(\"#my-account .username\").text() === list[i][this.options.fieldname])\n                    continue;\n                $el = $(\"<li>\").text(list[i][this.options.fieldname]);\n                $el.attr(\"data-autocomplete-id\", list[i].id);\n                if (list[i].id === this.selected) {\n                    $el.addClass(\"active\");\n                    selected = true;\n                }\n\n                $el.mousedown(onClick);\n                $list.append($el);\n            }\n            this.$dropdown.children().remove();\n            this.$dropdown.append($list);\n\n            if (!selected)\n                this.select($list.find(\"li\").first().attr(\"data-autocomplete-id\"));\n        },\n\n        sortList: function(list, search) {\n            var bestMatches = [],\n                otherMatches = [];\n\n            for (var i = 0; i < list.length; i++) {\n                if (list[i][this.options.fieldname].indexOf(search) === 0) {\n                    bestMatches.push(list[i]);\n                } else {\n                    otherMatches.push(list[i]);\n                }\n            }\n\n            var sortFn = function(a, b) {\n                var valueA = a[this.options.fieldname].toLowerCase(),\n                    valueB = b[this.options.fieldname].toLowerCase();\n                if (valueA < valueB)\n                    return -1;\n                if (valueA > valueB)\n                    return 1;\n                return 0;\n            };\n\n            bestMatches.sort(sortFn.bind(this));\n            otherMatches.sort(sortFn.bind(this));\n\n            return bestMatches.concat(otherMatches);\n        },\n\n        fetchData: function(input) {\n            return $.getJSON(this.options.url.replace(\"%s\", input));\n        }\n    };\n\n    function buildDom(input) {\n        var $input = $(input),\n            $wrapper = $(\"<div/>\", {\n                \"class\": \"autocomplete-wrapper\"\n            }),\n            $dropdown = $(\"<div/>\", {\n                \"class\": \"autocomplete-dropdown\"\n            });\n\n        return $input.addClass(\"autocomplete-input\")\n            .attr(\"autocomplete\", \"off\")\n            .wrap($wrapper)\n            .parent()\n            .append($dropdown);\n    }\n\n    $.fn.autocomplete = function(options) {\n        var defaults = { // defaults are set for pm member autocomplete\n            type: \"single\", // single|multiple|mentions\n            url: \"/api/membres/?search=%s\",\n            limit: 4,\n            fieldname: \"username\"\n        };\n\n        if (!options) {\n            options = $(this).data(\"autocomplete\");\n        }\n\n        return new AutoComplete(this, $.extend(defaults, options));\n    };\n\n    $(document).ready(function() {\n        $(\"[data-autocomplete]\").autocomplete();\n        $(\"#content\").on(\"DOMNodeInserted\", \"input\", function(e) {\n            var $input = $(e.target);\n            if ($input.is(\"[data-autocomplete]\"))\n                $input.autocomplete();\n        });\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Close alert-boxes\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    $(\".main\").on(\"click\", \".close-alert-box:not(.open-modal)\", function(e) {\n        $(this).parents(\".alert-box:first\").slideUp(150, function(){\n            $(this).remove();\n        });\n        e.preventDefault();\n    });\n})(jQuery);","/*\n * Allow the user to compare two commits\n */\n\n(function(document, $, undefined){\n    \"use strict\";\n\n    function toogleRadioInput($radioInput){\n        var $row = $radioInput.parent().parent();\n\n        if($radioInput.attr(\"name\") === \"compare-from\") {\n            $row.prevAll().find(\"[name='compare-to']\").prop(\"disabled\", false);\n            $row.nextAll().find(\"[name='compare-to']\").prop(\"disabled\", true);\n            $row.find(\"[name='compare-to']\").prop(\"disabled\", true);\n        }\n        else {\n            $row.prevAll().find(\"[name='compare-from']\").prop(\"disabled\", true);\n            $row.nextAll().find(\"[name='compare-from']\").prop(\"disabled\", false);\n            $row.find(\"[name='compare-from']\").prop(\"disabled\", true);\n        }\n    }\n\n    $(\".commits-list input[name^='compare']\").on(\"change\", function(){\n        toogleRadioInput($(this));\n    });\n\n    $(document).ready(function(){\n        $(\".commits-list input[name^='compare']:checked\").each(function(){\n            toogleRadioInput($(this));\n        });\n    });\n\n    $(\".commits-compare-form\").on(\"submit\", function(){\n        var $form = $(this),\n            $fromInput = $form.find(\"input[name='from']\"),\n            $toInput = $form.find(\"input[name='to']\"),\n            compareFrom = $(\".commits-list input[name='compare-from']:checked\").val(),\n            compareTo = $(\".commits-list input[name='compare-to']:checked\").val();\n\n        $fromInput.val(compareFrom);\n        $toInput.val(compareTo);\n    });\n})(document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Simulate click on element from another\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, document, undefined){\n    \"use strict\";\n    \n    var dropdownMouseDown = false;\n\n    function dataClick($elem){\n        $elem\n        .attr(\"tabindex\", -1)\n        .attr(\"aria-hidden\", true)\n        .on(\"mousedown\", function(){\n            dropdownMouseDown = true;\n        })\n        .on(\"mouseup\", function(){\n            dropdownMouseDown = false;\n        })\n        .on(\"click focus\", function(e){\n            if(e.type === \"focus\" && dropdownMouseDown)\n                return false;\n\n            if(!($(this).hasClass(\"dont-click-if-sidebar\") && $(\".header-container .mobile-menu-btn\").is(\":visible\"))){\n                e.preventDefault();\n                e.stopPropagation();\n                $(\"#\" + $(this).attr(\"data-click\")).trigger(e.type);\n            }\n        });\n    }\n\n    $(document).ready(function(){\n        dataClick($(\"[data-click]\"));\n        $(\"#content\").on(\"DOMNodeInserted\", \"[data-click]\", function(e){\n            dataClick($(e.target));\n        });\n    });\n})(jQuery, document);","/* ===== Zeste de Savoir ====================================================\n   Dropdown menu open/close\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    var mouseDown = false,\n        shiftHold = false;\n\n    $(document).on(\"keydown keyup\", function(e){\n        shiftHold = e.shiftKey;\n    });\n\n    $(\".dropdown\").each(function(){\n        var $dropdown = $(this),\n            $elem = $(this).parent().find(\"> a\");\n\n        if(!$elem.parents(\".logbox\").length)\n            $elem.addClass(\"has-dropdown\");\n\n        $elem\n        .on(\"mousedown\", function(){\n            mouseDown = true;\n        })\n        .on(\"mouseup\", function(){\n            mouseDown = false;\n        })\n        .on(\"click\", function(e){\n            if(($(this).parents(\".header-menu-list\").length > 0 && parseInt($(\"html\").css(\"width\")) < 960))\n                return true;\n\n            e.preventDefault();\n            e.stopPropagation();\n\n            if(!$(this).hasClass(\"active\")){\n                activeDropdown($(this));\n                $(this).off(\"blur\");\n            } else {\n                $(this).removeClass(\"active\");\n                triggerCloseDropdown($(this));\n            }\n        })\n        .on(\"focus\", function(e){\n            e.preventDefault();\n\n            if(!mouseDown && !$elem.hasClass(\"active\")){\n                activeDropdown($elem);\n                \n                $elem\n                .off(\"blur\")\n                .on(\"blur\", function(){\n                    $elem\n                    .one(\"blur\", function(){\n                        if(shiftHold)\n                            triggerCloseDropdown($elem);\n                    });\n\n                    setTimeout(function(){\n                        if($(\":tabbable:focus\", $dropdown).length){\n                            var listenBlurLast = function(){\n                                $(\":tabbable:last\", $dropdown)\n                                .one(\"blur\", function(){\n                                    if(shiftHold){\n                                        listenBlurLast();\n                                        return;\n                                    }\n                                    $elem.removeClass(\"active\");\n                                    triggerCloseDropdown($elem);\n                                });\n                            };\n                            listenBlurLast();\n                        } else {\n                            $elem.removeClass(\"active\");\n                            triggerCloseDropdown($elem);\n                        }\n                    }, 10);\n                })\n                .one(\"mousemove\", function(){\n                    $(this).off(\"blur\");\n                });\n            }\n        });\n    });\n\n    $(\".dropdown-list\").on(\"focus\", function(){\n        $(this).find(\":tabbable:first\").focus();\n    });\n\n    $(\"body\").on(\"keydown\", function(e){\n        if(e.which === 27)\n            $(\".has-dropdown.active, .ico-link.active, #my-account.active\").focus().removeClass(\"active\");\n    });\n\n    function activeDropdown($elem){\n        $(\"body\").trigger(\"click\");\n        $elem.addClass(\"active\");\n        $elem.parent().find(\".dropdown-list\").scrollTop(0);\n\n        if($elem.is(\"[data-active]\"))\n            $(\"#\" + $elem.attr(\"data-active\")).addClass(\"active\");\n\n        if($elem.parents(\".logbox\").length)\n            $(\"html\").addClass(\"dropdown-active\");\n\n        triggerCloseDropdown($elem);\n    }\n    function triggerCloseDropdown($that){\n        if($that.hasClass(\"active\")){\n            $(\"body\").one(\"click\", function(e){\n                if(!$(e.target).hasClass(\"dropdown\") && !$(e.target).parents(\".dropdown\").length) {\n                    $that.removeClass(\"active\");\n                    $that.next(\":tabbable\").focus();\n\n                    if($that.is(\"[data-active]\"))\n                        $(\"#\" + $that.attr(\"data-active\")).removeClass(\"active\");\n                }\n                \n                triggerCloseDropdown($that);\n            });\n        } else {\n            $(\"html\").removeClass(\"dropdown-active\");\n            $(\".dropdown :tabbable\").off(\"blur\");\n\n            if($that.is(\"[data-active]\"))\n                $(\"#\" + $that.attr(\"data-active\")).removeClass(\"active\");\n        }\n    }\n})(jQuery);","// by Thunderseb\n// update 28 sept 2015\n\n(function(window, document, undefined){\n    \"use strict\";\n\n    var zForm = {\n        // Params\n        // ~~~~~~\n        buttons: \"bold,italic,strike,abbr,key,monospace#sup,sub#center,right#ul,ol#titles,blockcode,image,quote,link#infoblocks,chars,smilies\",\n\n        tags: {\n            bold:       { title: \"Gras\",                        start: \"**\",                end: \"**\",  useless: true },\n            italic:     { title: \"Italique\",                    start: \"*\",                 end: \"*\",   useless: true },\n            strike:     { title: \"Barré\",                       start: \"~~\",                end: \"~~\",  useless: true },\n            sup:        { title: \"Exposant\",                    start: \"^\",                 end: \"^\"    },\n            sub:        { title: \"Indice\",                      start: \"~\",                 end: \"~\"    },\n            abbr:       { title: \"Abréviation\" },\n            key:        { title: \"Touche\",                      start: \"||\",                end: \"||\"   },\n\n            titles:     { title: \"Titres\",                      action: \"buildTitles\"                   },\n\n            ul:         { title: \"Liste à puces\"                                                        },\n            ol:         { title: \"Liste ordonnée\"                                                       },\n\n            center:     { title: \"Aligner au centre\",           start: \"-> \",               end: \" <-\"  },\n            right:      { title: \"Aligner à droite\",            start: \"-> \",               end: \" ->\", useless: true  },\n\n            quote:      { title: \"Citation\"                                                             },\n            image:      { title: \"Image\"                                                                },\n            link:       { title: \"Lien\"                                                                 },\n\n            table:      { title: \"Tableau\"                                                              },\n\n            infoblocks: { title: \"Blocs spéciaux\",              action: \"buildInfoblocks\"               },\n            information:{ title: \"Bloc Information\"                                                     },\n            question:   { title: \"Bloc Question\"                                                        },\n            attention:  { title: \"Bloc Attention\"                                                       },\n            error:      { title: \"Bloc Erreur\"                                                          },\n            secret:     { title: \"Bloc masqué\"                                                          },\n\n            monospace:  { title: \"Code inline\",                 start: \"`\",                 end: \"`\"    },\n            blockcode:  { title: \"Bloc de code coloré\",         action: \"buildCode\"                     },\n\n            math:       { title: \"Formule mathématique\",        start: \"$\",                 end: \"$\"    },\n            hr:         { title: \"Ligne horizontalle\",          start: \"\\n\\n------\\n\\n\",    end: \"\",    useless: true },\n\n            chars:      { title: \"Caractères spéciaux\",         action: \"buildChars\"                    },\n            smilies:    { title: \"Smileys\",                     action: \"buildSmilies\",                 useless: true },\n\n            footnote:   { title: \"Note en bas de page\"                                                  }\n        },\n\n        codes: {\n            Web: {\n                html:   { title: \"HTML\" },\n                css:    { title: \"CSS\" },\n                js:     { title: \"Javascript\" },\n                php:    { title: \"PHP\" },\n                jfx:    { title: \"JavaFX\" },\n                cf:     { title: \"ColdFusion\" },\n                as3:    { title: \"Actionscript 3\" },\n                pl:     { title: \"Perl\" },\n                sql:    { title: \"SQL\" },\n                xml:    { title: \"XML\" }\n            },\n            Prog: {\n                c:      { title: \"C\" },\n                cpp:    { title: \"C++\" },\n                csharp: { title: \"C#\" },\n                java:   { title: \"Java\" },\n                delphi: { title: \"Delphi\" },\n                py:     { title: \"Python\" },\n                ruby:   { title: \"Ruby\" },\n                pascal: { title: \"Pascal\" },\n                vb:     { title: \"Visual Basic\" },\n                vbnet:  { title: \"VB.NET\" }\n            },\n            Autres: {\n                bash:   { title: \"Bash\" },\n                diff:   { title: \"Diff\" },\n                erl:    { title: \"Erlang\" },\n                scala:  { title: \"Scala\" },\n                groovy: { title: \"Groovy\" },\n                ps:     { title: \"PowerShell\" },\n                text:   { title: \"Autre\" }\n            }\n        },\n\n        chars: {\n            Typo: {\n                char_g0: { title: \"« »\", start: \"« \", end: \" »\" },\n                char_gl: { title: \"«\", start: \"« \", end: \"\" },\n                char_gr: { title: \"»\", start: \" »\", end: \"\" },\n                char_h0: { title: \"“ ”\", start: \"“\", end: \"”\" },\n                char_hl: { title: \"“\", start: \"“\", end: \"\" },\n                char_hr: { title: \"”\", start: \"”\", end: \"\" },\n                char_su: { title: \"…\", start: \"…\", end: \"\" },\n                char_ti: { title: \"−\", start: \"−\", end: \"\" },\n                char_ca: { title: \"—\", start: \"—\", end: \"\" }\n            },\n            \"Caractères\": {\n                char_in: { title: \"Insécable\", start: \" \", end: \"\" },\n                char_ag: { title: \"À\", start: \"À\", end: \"\" },\n                char_cc: { title: \"Ç\", start: \"Ç\", end: \"\" },\n                char_ea: { title: \"É\", start: \"É\", end: \"\" },\n                char_eg: { title: \"È\", start: \"È\", end: \"\" },\n                char_oe: { title: \"œ\", start: \"œ\", end: \"\" },\n                char_eo: { title: \"Œ\", start: \"Œ\", end: \"\" }\n            }\n        },\n\n        smilies: {\n            0: {\n                smiley_sm: { title: \":)\",         start: \":)\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/smile.png\" },\n                smiley_he: { title: \":D\",         start: \":D\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/heureux.png\" },\n                smiley_cl: { title: \";)\",         start: \";)\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/clin.png\" },\n                smiley_la: { title: \":p\",         start: \":p\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/langue.png\" },\n                smiley_ri: { title: \":lol:\",      start: \":lol:\",      end: \"\", image: \"https://zestedesavoir.com/static/smileys/rire.gif\" },\n                smiley_un: { title: \":euh:\",      start: \":euh:\",      end: \"\", image: \"https://zestedesavoir.com/static/smileys/unsure.gif\" },\n                smiley_tr: { title: \":(\",         start: \":(\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/triste.png\" },\n                smiley_hu: { title: \":o\",         start: \":o\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/huh.png\" }\n            },\n            1: {\n                smiley_c1: { title: \":colere2:\",  start: \":colere2:\",  end: \"\", image: \"https://zestedesavoir.com/static/smileys/mechant.png\" },\n                smiley_oo: { title: \"o_O\",        start: \"o_O\",        end: \"\", image: \"https://zestedesavoir.com/static/smileys/blink.gif\" },\n                smiley_uu: { title: \"^^\",         start: \"^^\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/hihi.png\" },\n                smiley_si: { title: \":-°\",        start: \":-°\",        end: \"\", image: \"https://zestedesavoir.com/static/smileys/siffle.png\" },\n                smiley_an: { title: \":ange:\",     start: \":ange:\",     end: \"\", image: \"https://zestedesavoir.com/static/smileys/ange.png\" },\n                smiley_c2: { title: \":colere:\",   start: \":colere:\",   end: \"\", image: \"https://zestedesavoir.com/static/smileys/angry.gif\" },\n                smiley_di: { title: \":diable:\",   start: \":diable:\",   end: \"\", image: \"https://zestedesavoir.com/static/smileys/diable.png\" },\n                smiley_ma: { title: \":magicien:\", start: \":magicien:\", end: \"\", image: \"https://zestedesavoir.com/static/smileys/magicien.png\" }\n            },\n            2: {\n                smiley_ni: { title: \":ninja:\",    start: \":ninja:\",    end: \"\", image: \"https://zestedesavoir.com/static/smileys/ninja.png\" },\n                smiley_gd: { title: \"&gt;_&lt;\",  start: \"&gt;_&lt;\",  end: \"\", image: \"https://zestedesavoir.com/static/smileys/pinch.png\" },\n                smiley_pi: { title: \":pirate:\",   start: \":pirate:\",   end: \"\", image: \"https://zestedesavoir.com/static/smileys/pirate.png\" },\n                smiley_pl: { title: \":'(\",        start: \":'(\",        end: \"\", image: \"https://zestedesavoir.com/static/smileys/pleure.png\" },\n                smiley_ro: { title: \":honte:\",    start: \":honte:\",    end: \"\", image: \"https://zestedesavoir.com/static/smileys/rouge.png\" },\n                smiley_so: { title: \":soleil:\",   start: \":soleil:\",   end: \"\", image: \"https://zestedesavoir.com/static/smileys/soleil.png\" },\n                smiley_ww: { title: \":waw:\",      start: \":waw:\",      end: \"\", image: \"https://zestedesavoir.com/static/smileys/waw.png\" },\n                smiley_zz: { title: \":zorro:\",    start: \":zorro:\",    end: \"\", image: \"https://zestedesavoir.com/static/smileys/zorro.png\" }\n            }\n        },\n\n        titles: {\n            \"link\" :    \"Lien hypertexte\",\n            \"abbr\" :    \"Abréviation\",\n            \"image\":    \"Image\",\n        },\n\n        isExecuted: false,\n        selection: null,\n        currentElemPopup: null,\n\n        addEvent: function(elem, evt, listener) {\n            if (elem.addEventListener) {\n                elem.addEventListener(evt, listener, false);\n            } else {\n                elem.attachEvent(\"on\" + evt, listener);\n            }\n        },\n\n        init: function() {\n            var self = this,\n                listTexta = document.getElementsByTagName(\"textarea\");\n\n            for (var i=0, c=listTexta.length; i<c; i++) {\n                if (/md.editor/.test(listTexta[i].className)) {\n                    this.setup(listTexta[i].id);\n                }\n            }\n\n            this.addEvent(document.getElementById(\"content\"), \"DOMNodeInserted\", (function(_this){\n                return function(e) {\n                    if (/md.editor/.test(e.target.className)) {\n                        _this.setup(e.target.id);\n                    }\n                };\n            }) (this));\n\n            var validateButton = document.createElement(\"a\");\n            validateButton.className = \"btn btn-submit\";\n            validateButton.innerHTML = \"Valider\";\n            validateButton.href = \"javascript:;\";\n\n            function buildButton(type) {\n                var btn = validateButton.cloneNode(true);\n                btn.addEventListener(\"click\", self.validatePopup.bind(self, type));\n                return btn;\n            }\n\n            this.modals = {};\n            this.modals.link = new window.Modal({\n                \"title\": this.titles.link,\n                \"body\": \"<div>\" +\n                            \"<label for=zform-modal-link-href>Lien :</label>\" +\n                            \"<input type=text id=zform-modal-link-href />\" +\n                        \"</div><div>\" +\n                            \"<label for=zform-modal-link-text>Texte :</label>\" +\n                            \"<input type=text id=zform-modal-link-text />\" +\n                        \"</div>\",\n                \"footer\": buildButton(\"link\")\n            });\n\n            this.modals.image = new window.Modal({\n                \"title\": this.titles.image,\n                \"body\": \"<div>\" +\n                            \"<label for=zform-modal-image-src>URL :</label>\" +\n                            \"<input type=text id=zform-modal-image-src />\" +\n                        \"</div><div>\" +\n                            \"<label for=zform-modal-image-text>Texte :</label>\" +\n                            \"<input type=text id=zform-modal-image-text />\" +\n                        \"</div>\",\n                \"footer\": buildButton(\"image\")\n            });\n\n            this.modals.abbr = new window.Modal({\n                \"title\": this.titles.abbr,\n                \"body\": \"<div>\" +\n                            \"<label for=zform-modal-abbr-abbr>Abbréviation :</label>\" +\n                            \"<input type=text id=zform-modal-abbr-abbr />\" +\n                        \"</div><div>\" +\n                            \"<label for=zform-modal-abbr-text>Texte :</label>\" +\n                            \"<input type=text id=zform-modal-abbr-text />\" +\n                        \"</div>\",\n                \"footer\": buildButton(\"abbr\")\n            });\n        },\n\n        setup: function(textareaId) {\n            var elemTexta = document.getElementById(textareaId);\n            var elemTools = document.createElement(\"ul\");\n            var self = this;\n            elemTools.className = \"zform-toolbar hide-for-small\";\n\n            elemTexta.parentNode.insertBefore(elemTools, elemTexta);\n\n            if (!this.isExecuted) {\n                this.addEvent(document, \"click\", function(event) {\n                    // If it's a root button and not a subbutton\n                    if (~event.target.className.indexOf(\"zform-button\") && !(~event.target.className.indexOf(\"zform-subbutton\"))) {\n\n                        return event.stopPropagation();\n                    }\n\n                    var menus = document.getElementsByClassName(\"zform-popup\"), i = 0;\n\n                    while (menus[i]) {\n                        if (menus[i].getAttribute(\"data-zform-info\") !== \"dontclose\" || event.target.nodeName.toLowerCase() === \"textarea\") {\n                            menus[i].style.display = \"none\";\n                            self.currentElemPopup = (menus[i] == self.currentElemPopup) ? null: self.currentElemPopup;\n                        }\n                        i++;\n                    }\n                }, false);\n\n                this.isExecuted = true;\n            }\n\n            var groups = this.buttons.split(\"#\"), buttons;\n            var elemPopup, elemButtonLi, elemButton, currentButton;\n\n            for (var g=0, cg=groups.length; g<cg; g++) {\n                buttons = groups[g].split(\",\");\n\n                for (var b=0, cb=buttons.length; b<cb; b++) {\n                    if (!(currentButton = this.tags[buttons[b]])) {\n                        alert(\"La valeur '\" + buttons[b] + \"' n\\'est pas reconnue comme étant une valeur correcte pour un bouton de zForm ! Corrigez votre syntaxe.\");\n                        continue;\n                    }\n\n                    elemButtonLi = elemTools.appendChild(document.createElement(\"li\"));\n                    elemButton   = elemButtonLi.appendChild(this.createButton(currentButton, { display: \"button\", type: buttons[b], textarea: textareaId }));\n                }\n\n                elemButton.style.marginRight = \"20px\";\n            }\n        },\n\n        createButton: function(currentButton, opts) {\n            var elemButton = document.createElement((opts.display === \"button\") ? \"a\" : \"span\"), elemPopup;\n\n            elemButton.className = (opts.display === \"button\") ? \"ico-after zform-button zform-button-\" + opts.type : \"zform-subbutton-span-\" + opts.type;\n            if (currentButton.useless) { elemButton.className += \" zform-button-useless\" }\n            elemButton.setAttribute(\"data-zform-textarea\", opts.textarea);\n            elemButton.title = currentButton.title;\n            elemButton.innerHTML = currentButton.title;\n\n            if (opts.display === \"span\") { elemButton.style.display = \"block\"; }\n            if (currentButton.hasOwnProperty(\"image\")) elemButton.innerHTML = '<img src=\"' + currentButton.image +  '\" alt=\"' + currentButton.title + '\" />';\n\n            if (currentButton.action) { // Button with a submenu\n                var self = this;\n                elemButton.style.position = \"relative\";\n                if (this.currentElemPopup){\n                    elemButton.removeChild(this.currentElemPopup);\n                    this.currentElemPopup = null;\n                }\n                this.addEvent(elemButton, \"click\", function(event, elemPopup) {\n                    event.preventDefault();\n\n                    if (elemPopup = this.getElementsByTagName(\"div\")[0]) {\n                        elemPopup.style.display = \"block\";\n                        if(self.currentElemPopup){\n                            self.currentElemPopup.style.display = \"none\";\n                        }\n                        if(self.currentElemPopup == elemPopup){\n                            self.currentElemPopup = null;\n                        }else{\n                            self.currentElemPopup = elemPopup;\n                        }\n                    }\n                });\n\n                elemPopup = elemButton.appendChild(document.createElement(\"div\"));\n                elemPopup.className = \"zform-popup\";\n                elemPopup.style.position = \"absolute\";\n                elemPopup.style.display = \"none\";\n                elemPopup.style.left = \"0\";\n                elemPopup.style.width = \"auto\";\n                elemPopup.style.whiteSpace = \"nowrap\";\n                elemPopup.style.textAlign = \"left\";\n                elemPopup = this[currentButton.action](elemPopup, currentButton, opts.textarea);\n\n            } else {\n                this.addEvent(elemButton, \"click\", (function(_button, _textareaId, _this, _tagtype, _extraoption) {\n                    return function(event) {\n                        //event.preventDefault();\n                        _this.wrap(_button.start, _button.end, _textareaId, _tagtype, _extraoption);\n                        this.style.fontWeight = \"bold\";\n                    };\n                }) (currentButton, opts.textarea, this, opts.type, opts.extra), false);\n            }\n\n            return elemButton;\n        },\n\n        openPopup: function(popupGuid) {\n            this.modals[popupGuid].open();\n\n            return false;\n        },\n\n        closePopup: function() {\n            window.Modal.closeCurrent();\n        },\n\n        validatePopup: function(type) {\n            //var wrapper = document.getElementById(\"zform-modal-wrapper\");\n            type = type || this.selection.type;\n\n            if (this.selection && this.selection.type) {\n                this.wrap(\"___\", \"+++\", this.selection.textareaId, type, null, true);\n            }\n\n            this.closePopup();\n        },\n\n        buildTitles: function(elemPopup, currentButton, textareaId, elemItem) {\n            for (var i=1; i<=4; i++) {\n                elemItem = elemPopup.appendChild(document.createElement(\"a\"));\n                elemItem.className = \"ico-after zform-button zform-subbutton zform-button-title\" + i;\n                elemItem.title = \"Titre de niveau \" + i;\n                elemItem.innerText = \"Titre de niveau \" + i;\n                this.addEvent(elemItem, \"mousedown\", (function(_this, _textareaId, _options) {\n                    return function(event) {\n                        event.preventDefault(); // IE madafaker\n                        _this.wrap(\"\", \"\", _textareaId, _options);\n                    };\n                }) (this, textareaId, \"title\" + i), false);\n            }\n\n            return elemPopup;\n        },\n\n        buildInfoblocks: function(elemPopup, currentButton, textareaId, elemItem) {\n            var ids = [\"information\", \"question\", \"attention\", \"error\", \"secret\"];\n\n            for (var i=0; i<5; i++) {\n                elemItem = elemPopup.appendChild(document.createElement(\"a\"));\n                elemItem.className = \"ico-after zform-button zform-subbutton zform-button-\" + ids[i];\n                elemItem.title = this.tags[ids[i]].title;\n                elemItem.innerText = this.tags[ids[i]].title;\n                this.addEvent(elemItem, \"mousedown\", (function(_this, _textareaId, _options) {\n                    return function(event) {\n                        event.preventDefault(); // IE\n                        _this.wrap(\"\", \"\", _textareaId, _options);\n                    };\n                }) (this, textareaId, ids[i]), false);\n            }\n\n            return elemPopup;\n        },\n\n        buildColumnous: function(elemPopup, currentButton, opts) {\n            var elemCol, elemItem, elemStg, i, c, name;\n\n            for (var category in opts.src) {\n                elemCol = elemPopup.appendChild(document.createElement(\"div\"));\n                elemCol.className = \"zform-code-col\";\n\n                if (isNaN(category)) { // We put the title only if it's a string\n                    elemStg = elemCol.appendChild(document.createElement(\"b\"));\n                       elemStg.style.display = \"block\";\n                    elemStg.style.fontWeight = \"bold\";\n                    elemStg.innerHTML = category;\n                }\n\n                for (name in opts.src[category]) {\n                    opts.extra = name;\n                    elemCol.appendChild(this.createButton(opts.src[category][name], opts));\n                }\n            }\n\n            return elemPopup;\n        },\n\n        buildCode: function(elemPopup, currentButton, textareaId) {\n            return this.buildColumnous(elemPopup, currentButton, {\n                textarea: textareaId,\n                src: this.codes,\n                type: \"blockcode\",\n                display: \"span\"\n            });\n        },\n\n        buildChars: function(elemPopup, currentButton, textareaId) {\n            return this.buildColumnous(elemPopup, currentButton, {\n                textarea: textareaId,\n                src: this.chars,\n                type: \"chars\",\n                display: \"span\"\n            });\n        },\n\n        buildSmilies: function(elemPopup, currentButton, textareaId) {\n            return this.buildColumnous(elemPopup, currentButton, {\n                textarea: textareaId,\n                src: this.smilies,\n                type: \"smiley\",\n                display: \"span\"\n            });\n        },\n\n        wrap: function(startTag, endTag, textareaId, type, options, isFromPopup) {\n            var field       = document.getElementById(textareaId);\n            var scroll      = field.scrollTop;\n            var selection   = (!isFromPopup) ? {\n                before:     null,\n                current:    null,\n                after:      null,\n                range:      null,\n                startTag:   startTag,\n                endTag:     endTag,\n                textareaId: textareaId,\n                type:       type,\n                options:    options\n            } : this.selection;\n\n            field.focus();\n\n            if (field.setSelectionRange) {\n                if (!isFromPopup) {\n                    selection.before    = field.value.substring(0, field.selectionStart);\n                    selection.current   = field.value.substring(field.selectionStart, field.selectionEnd);\n                    selection.after     = field.value.substring(field.selectionEnd);\n                }\n\n                field.blur();\n\n                if (selection = this.tagType(selection, selection.type, selection.options, isFromPopup)) {\n                    field.value = selection.before + selection.startTag + selection.current + selection.endTag + selection.after;\n                    field.focus();\n                    field.setSelectionRange(selection.before.length + selection.startTag.length, selection.before.length + selection.startTag.length + selection.current.length);\n                }\n            } else { // IE < 9 with IE-only stuff\n                if (!isFromPopup) {\n                    selection.range     = document.selection.createRange();\n                    selection.current   = selection.range.text;\n                }\n\n                if (selection = this.tagType(selection, selection.type, selection.options, isFromPopup)) {\n                    selection.range.text = selection.startTag + selection.current + selection.endTag;\n                    selection.range.moveStart(\"character\",  -selection.endTag.length - selection.current.length);\n                    selection.range.moveEnd(\"character\",    -selection.endTag.length);\n                    selection.range.select();\n                }\n            }\n\n            field.scrollTop = scroll;\n        },\n\n        tagType: function(selection, type, options, isFromPopup) {\n            if (!type)\n                return selection;\n\n            this.selection = selection;\n\n            var input = \"\", href, text, regex;\n\n            function iterateRows(txt, char) {\n                var spltd = txt.split(\"\\n\");\n                var order = (char === 0);\n\n                for (var i=0, c=spltd.length; i<c; i++) {\n                    spltd[i] = ((order) ? ++char + \".\" : char) + \" \" + spltd[i];\n                }\n\n                return spltd.join(\"\\n\");\n            }\n\n            switch (type) {\n                case \"link\":\n                    if (isFromPopup) {\n                        href = document.getElementById(\"zform-modal-link-href\").value;\n                        text = document.getElementById(\"zform-modal-link-text\").value;\n\n                        selection.current = \"[\" + text + \"](\" + href + \")\";\n                    } else {\n                        regex = new RegExp(\"^(http[s]?:\\\\/\\\\/(www\\\\.)?|ftp:\\\\/\\\\/(www\\\\.)?|www\\\\.){1}([0-9A-Za-z-\\\\.@:%_+~#=]+)+((\\\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\\\?(.)*)?\");\n\n                        this.openPopup(type);\n\n                        if (regex.test(selection.current)){\n                            document.getElementById(\"zform-modal-link-href\").value = selection.current;\n                            document.getElementById(\"zform-modal-link-text\").value = \"\";\n                            document.getElementById(\"zform-modal-link-text\").focus();\n                        } else {\n                            document.getElementById(\"zform-modal-link-text\").value = selection.current;\n                            document.getElementById(\"zform-modal-link-href\").value = \"\";\n                            document.getElementById(\"zform-modal-link-href\").focus();\n                        }\n\n                        return false;\n                    }\n                    break;\n\n                case \"image\":\n                    if (isFromPopup) {\n                        var src   = document.getElementById(\"zform-modal-image-src\").value;\n                        text  = document.getElementById(\"zform-modal-image-text\").value || \"Image utilisateur\";\n\n                        selection.current = \"![\" + text + \"](\" + src + \")\";\n                    } else {\n                        regex = new RegExp(\"^(http[s]?:\\\\/\\\\/(www\\\\.)?|ftp:\\\\/\\\\/(www\\\\.)?|www\\\\.){1}([0-9A-Za-z-\\\\.@:%_+~#=]+)+((\\\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\\\?(.)*)?\");\n\n                        this.openPopup(type);\n\n                        if (regex.test(selection.current)){\n                            document.getElementById(\"zform-modal-image-src\").value = selection.current;\n                            document.getElementById(\"zform-modal-image-text\").value = \"\";\n                            document.getElementById(\"zform-modal-image-text\").focus();\n                        } else {\n                            document.getElementById(\"zform-modal-image-text\").value = selection.current;\n                            document.getElementById(\"zform-modal-image-src\").value = \"\";\n                            document.getElementById(\"zform-modal-image-src\").focus();\n                        }\n\n                        return false;\n                    }\n                    break;\n\n                case \"quote\":\n                    selection.current = iterateRows(selection.current, \">\");\n                    break;\n\n                case \"information\":\n                case \"attention\":\n                case \"question\":\n                case \"secret\":\n                    selection.current = \"[[\" + type + \"]]\\n\" + iterateRows(selection.current, \"|\");\n                    break;\n\n                case \"error\":\n                    selection.current = \"[[erreur]]\\n\" + iterateRows(selection.current, \"|\");\n                    break;\n\n                case \"ul\":\n                    selection.current = iterateRows(selection.current, \"-\");\n                    break;\n\n                case \"ol\":\n                    selection.current = iterateRows(selection.current, 0);\n                    break;\n\n                case \"title1\":\n                case \"title2\":\n                case \"title3\":\n                case \"title4\":\n                    for (var i=0, c=parseInt(type.charAt(5)); i<c; i++) {\n                        input += \"#\";\n                    }\n\n                    selection.current = selection.current.replace(/^\\s*?/, input + \" \");\n                    break;\n\n                case \"footnote\":\n                    if (!selection.current) return;\n\n                    if (input = prompt(\"Entrez la signification de cette abréviation\")) {\n                        selection.after += \"\\n\\n*[\" + selection.current +\"]: \" + input;\n                    }\n                    break;\n\n                case \"abbr\":\n                    this.openPopup(type);\n\n                    if (isFromPopup) {\n                        var valtext = document.getElementById(\"zform-modal-abbr-text\").value;\n                        if (valtext.trim() === \"\") {\n                            valtext = document.getElementById(\"zform-modal-abbr-abbr\").value;\n                        }\n                        selection.after += \"\\n\\n*[\" + document.getElementById(\"zform-modal-abbr-abbr\").value + \"]: \"+ valtext;\n                    } else {\n                        if (selection.current.length < 10) {\n                            document.getElementById(\"zform-modal-abbr-abbr\").value = selection.current;\n                            document.getElementById(\"zform-modal-abbr-text\").value = \"\";\n                            document.getElementById(\"zform-modal-abbr-text\").focus();\n                        } else {\n                            document.getElementById(\"zform-modal-abbr-text\").value = selection.current;\n                            document.getElementById(\"zform-modal-abbr-abbr\").value = \"\";\n                            document.getElementById(\"zform-modal-abbr-abbr\").focus();\n                        }\n\n                        return true;\n                    }\n                    break;\n\n                case \"blockcode\":\n                    selection.startTag = \"```\" + selection.options + ((selection.current.indexOf(\"\\n\") === 0) ? \"\" : \"\\n\");\n                    selection.endTag = \"\\n```\";\n                    break;\n            }\n\n            if (!selection.startTag)\n                selection.startTag = \"\";\n\n            if (!selection.endTag)\n                selection.endTag = \"\";\n\n            return selection;\n        }\n    };\n\n    zForm.addEvent(window, \"load\", (function(_this) {\n        return function() {\n            _this.init();\n        };\n    }) (zForm));\n})(window, document);\n\n\n(function($, undefined){\n    \"use strict\";\n\n    $(\".md-editor\").on(\"keydown\", function(e){\n        // the message is submitted if the user is pressing Ctrl or Cmd with Enter and isn't pressing Alt or Shift\n        if((e.ctrlKey || e.metaKey) && e.which === 13 && !e.altKey && !e.shiftKey){\n            e.preventDefault();\n\n            $(\".message-submit > button[name=answer]\").click();\n        }\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Preview when editing news\n   ========================================================================== */\n\n(function($, undefined) {\n    function updatePreview(data, element) {\n        var $el = $(element);\n        if(data.image) {\n            $el.find(\".featured-resource-illu\").show().attr(\"src\", data.image);\n        }\n        else {\n            $el.find(\".featured-resource-illu\").hide();\n        }\n\n        $el.find(\"h3\").text(data.title);\n        $el.find(\".featured-resource-description\").html(data.description);\n        $el.find(\"a\").attr(\"href\", data.link);\n    }\n\n    function buildDescription(authors, type) {\n        var text = type;\n        if(authors.length > 0)\n            text += \" par \" + authors;\n        return text;\n    }\n\n    $(\".featured-resource-edit-form form input\").on(\"change input\", function() {\n        updatePreview({\n            image: $(\".featured-resource-edit-form input[name=image_url]\").val(),\n            title: $(\".featured-resource-edit-form input[name=title]\").val(),\n            description: buildDescription(\n                $(\".featured-resource-edit-form input[name=authors]\").val(),\n                $(\".featured-resource-edit-form input[name=type]\").val()\n            ),\n            link: $(\".featured-edit-form input[name=url]\").val(),\n        }, $(\".featured-resource-edit-form .featured-resource-item\"));\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Search for solved topics when create a new topic\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    var $solvedTopicsElem = $(\"main [data-solved-topics-url]\");\n    if($solvedTopicsElem.length > 0){\n        //var solvedTopicsUrl = $solvedTopicsElem.attr(\"data-solved-topics-url\");\n        // TODO : le back fonctionne désormais\n    }\n})(jQuery);","/**\n * Used by recovering password and send again validation email functionality.\n */\n(function($, undefined) {\n    \"use strict\";\n\n    if($(\"body\").hasClass(\"form-email-username\")) {\n        var $emailInput = $(\"#id_email\"),\n            $emailForm = $(\"#form-email\"),\n            $emailButton = $(\"[data-form-email-username-button=email]\");\n\n        var $usernameInput = $(\"#id_username\"),\n            $usernameForm = $(\"#form-username\"),\n            $usernameButton = $(\"[data-form-email-username-button=username]\");\n\n        if ($emailInput.val() === \"\") {\n            $emailForm.addClass(\"hidden\");\n        }\n        else {\n            $emailForm.removeClass(\"hidden\");\n        }\n\n        $emailButton.on(\"click\", function(e) {\n            $emailForm.toggleClass(\"hidden\");\n            $usernameForm.addClass(\"hidden\");\n\n            $usernameInput.val(\"\");\n\n            e.preventDefault();\n        });\n\n        if ($usernameInput.val() === \"\") {\n            $usernameForm.addClass(\"hidden\");\n        }\n        else {\n            $usernameForm.removeClass(\"hidden\");\n        }\n\n        $usernameButton.on(\"click\", function(e) {\n            $usernameForm.toggleClass(\"hidden\");\n            $emailForm.addClass(\"hidden\");\n\n            $emailInput.val(\"\");\n\n            e.preventDefault();\n        });\n    }\n})(jQuery);\n\n","/* ===== Zeste de Savoir ====================================================\n   Gallery list and grid views management\n   ---------------------------------\n   Author: Sandhose / Quentin Gliech\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    var $btn = $(\".toggle-gallery-view\"),\n        $galleryView = $(\".gallery\");\n\n    var updateBtn = function(){\n        $btn.text($galleryView.hasClass(\"list-view\") ? \"Vue grille\" : \"Vue liste\");\n    };\n\n    if($btn.length > 0){\n        $btn.on(\"click\", function(){\n            if($galleryView.hasClass(\"list-view\")) \n                $galleryView.removeClass(\"list-view\").addClass(\"grid-view\");\n            else \n                $galleryView.removeClass(\"grid-view\").addClass(\"list-view\");\n            updateBtn();\n        });\n\n        updateBtn();\n    }\n\n    var updateCheckbox = function(){\n        if(this.checked) $(this).parents(\".gallery-item\").addClass(\"selected\");\n        else $(this).parents(\".gallery-item\").removeClass(\"selected\");\n    };\n\n    if($galleryView.length > 0){\n        $(\".gallery-item input[type=checkbox]\")\n            .on(\"change\", updateCheckbox)\n            .each(updateCheckbox)\n        ;\n    }\n})(jQuery);","/* ===== Zeste de Savoir ====================================================\n   jQuery :tabbable and :focusable selectors plugin\n   ========================================================================== */\n\n(function($){\n  \"use strict\";\n\n  $.extend($.expr[ \":\" ], {\n    data: $.expr.createPseudo ?\n      $.expr.createPseudo(function(dataName){\n        return function(elem){\n          return !!$.data(elem, dataName);\n        };\n      }) :\n      // support: jQuery <1.8\n      function(elem, i, match){\n        return !!$.data(elem, match[ 3 ]);\n      },\n\n    focusable: function(element){\n      return focusable(element, !isNaN($.attr(element, \"tabindex\")));\n    },\n\n    tabbable: function(element){\n      var tabIndex = $.attr(element, \"tabindex\"),\n        isTabIndexNaN = isNaN(tabIndex);\n      return ( isTabIndexNaN || tabIndex >= 0 ) && focusable(element, !isTabIndexNaN);\n    }\n  });\n\n  /**\n   * focussable function, taken from jQuery UI Core\n   * @param element\n   * @returns {*}\n   */\n  function focusable(element){\n    var map, mapName, img,\n      nodeName = element.nodeName.toLowerCase(),\n      isTabIndexNotNaN = !isNaN($.attr(element, \"tabindex\"));\n    if(\"area\" === nodeName){\n      map = element.parentNode;\n      mapName = map.name;\n      if(!element.href || !mapName || map.nodeName.toLowerCase() !== \"map\"){\n        return false;\n      }\n      img = $(\"img[usemap=#\" + mapName + \"]\")[0];\n      return !!img && visible(img);\n    }\n    return ( /input|select|textarea|button|object/.test(nodeName) ?\n      !element.disabled :\n      \"a\" === nodeName ?\n        element.href || isTabIndexNotNaN :\n        isTabIndexNotNaN) &&\n      // the element and all of its ancestors must be visible\n      visible(element);\n\n    function visible(element){\n      return $.expr.filters.visible(element) && !$(element).parents().addBack().filter(function(){\n        return $.css(this, \"visibility\") === \"hidden\";\n      }).length;\n    }\n  }\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Manage Karma buttons\n   ========================================================================== */\n\n(function($, undefined) {\n    \"use strict\";\n\n    /**\n     * Manages the karma of a message\n     * @class\n     */\n    var Karma = function(message) {\n        this.message = message;\n        if(!this.message.is(\".topic-message\")) throw new Error(\"Target is not a .topic-message\");\n        this.init();\n        this.message.data(\"karma\", this);\n    };\n\n    Karma.prototype = {\n        /**\n         * @var {number} - The interval between regular updates in ms\n         */\n        updateInterval: 30 * 1000,\n\n        /**\n         * Initialize the karma\n         */\n        init: function() {\n            this.karmaElem = this.message.find(\".message-karma\");\n\n            /**\n             * @member {string} - Endpoint to vote & fetch karma update\n             */\n            this.karmaURI = this.karmaElem.data(\"karma-uri\");\n\n            /**\n             * @member {string} - Token to pass when doing a put request\n             */\n            this.csrf = $(\"input[name=csrfmiddlewaretoken]\").val();\n\n            this.like = {};\n            this.dislike = {};\n\n            this.like.button = this.karmaElem.find(\".upvote\");\n            this.dislike.button = this.karmaElem.find(\".downvote\");\n\n            this.like.tooltip = this.like.button.tooltip(this.like.button.hasClass(\"has-vote\") ? \"Chargement...\" : \"\");\n            this.dislike.tooltip = this.dislike.button.tooltip(this.dislike.button.hasClass(\"has-vote\") ? \"Chargement...\" : \"\");\n\n            $(this.like.tooltip.elem).add(this.dislike.tooltip.elem).on(\"click\", this.showDetails.bind(this));\n\n            this.like.listElem = $(\"<ul>\", { class: \"vote-list like\" });\n            this.dislike.listElem = $(\"<ul>\", { class: \"vote-list dislike\" });\n\n            /**\n             * @member {boolean} - True if the message can be voted\n             */\n            this.canVote = this.karmaElem.hasClass(\"can-vote\");\n            this.updateInterval = 30 * 1000;\n            if(this.canVote) {\n                this.like.button.on(\"click\", this.vote.bind(this, \"like\"));\n                this.dislike.button.on(\"click\", this.vote.bind(this, \"dislike\"));\n            }\n\n            this.like.button.on(\"mouseover\", this.regularUpdate.bind(this));\n            this.dislike.button.on(\"mouseover\", this.regularUpdate.bind(this));\n\n            if(this.like.button.hasClass(\"voted\")) {\n                this.currentVote = \"like\";\n            } else if(this.dislike.button.hasClass(\"voted\")) {\n                this.currentVote = \"dislike\";\n            } else {\n                this.currentVote = \"neutral\";\n            }\n        },\n\n        /**\n         * Send a vote request and update with the result\n         *\n         * @param {string} vote - \"like\" or \"dislike\"\n         * @param {jQuery.Event} [event] - Event that triggered the vote. Will be prevented\n         */\n        vote: function(vote, event) {\n            if(vote === this.currentVote) vote = \"neutral\";\n            $.ajax({\n              method: \"PUT\",\n              url: this.karmaURI,\n              data: { \"vote\": vote },\n              headers: {\n                \"X-CSRFToken\": this.csrf\n              }\n            }).done(this.update.bind(this));\n\n            if(event) {\n                event.preventDefault();\n                event.stopPropagation();\n            }\n        },\n\n        /**\n         * Fetch the message's karma\n         */\n        fetchUpdate: function() {\n            var self = this;\n            if(this.updating) return;\n            this.updating = true;\n            $.getJSON(this.karmaURI).done(this.update.bind(this)).always(function() {\n                 self.updating = false;\n            });\n        },\n\n        /**\n         * Triggers this.update() if it was not updated withing this.updateInterval\n         */\n        regularUpdate: function() {\n            if(!this.lastUpdate || this.lastUpdate + this.updateInterval < Date.now()) {\n                this.fetchUpdate();\n                this.lastUpdate = Date.now();\n            }\n        },\n\n        /**\n         * Update message's karma\n         *\n         * @param {Object} data\n         * @param {Object} data.like - Data related to likes\n         * @param {Object} data.like.users - List of the non-anonymous likers\n         * @param {string} data.like.users[].username - Username of a liker\n         * @param {number} data.like.count - Like total count\n         * @param {Object} data.dislike - Data related to dislikes\n         * @param {Object} data.dislike.users - List of the non-anonymous dislikers\n         * @param {string} data.dislike.users[].username - Username of a disliker\n         * @param {number} data.dislike.count - Dislike total count\n         * @param {string} data.user - User vote, \"like\", \"dislike\" or \"neutral\"\n         */\n        update: function(data) {\n            this.updateOne(data, \"like\", \"dislike\");\n            this.updateOne(data, \"dislike\", \"like\");\n            this.currentVote = data.user;\n        },\n\n        /**\n         * Update one karma button\n         *\n         * Updates the button's classes, the tooltip, the title and the text\n         *\n         * @param {Object} data - See Karma.update data parameter\n         * @param {string} sign - The sign of the button (\"like\" or \"dislike\")\n         * @param {string} otherSign - The sign of the other button (\"like\" or \"dislike\")\n         */\n        updateOne: function(data, sign, otherSign) {\n            if(data[sign].count > 0) {\n                this[sign].button.addClass(\"has-vote\");\n            } else {\n                this[sign].button.removeClass(\"has-vote\");\n            }\n\n            if(data[sign].count > data[otherSign].count) {\n                this[sign].button.addClass(\"more-voted\");\n            } else {\n                this[sign].button.removeClass(\"more-voted\");\n            }\n\n            if(data.user === sign) {\n                this[sign].button.addClass(\"voted\");\n            } else {\n                this[sign].button.removeClass(\"voted\");\n            }\n\n            // Updating the title\n            var likeTitleCount = data[sign].count + \" personne\";\n            if(data[sign].count === 1 && sign === \"like\") {\n                likeTitleCount += \" a\";\n            } else if(data[sign].count === 1 && sign === \"dislike\") {\n                likeTitleCount += \" n'a pas\";\n            } else if(sign === \"like\") {\n                likeTitleCount += \"s ont\";\n            } else {\n                likeTitleCount += \"s n'ont pas\";\n            }\n            likeTitleCount += \" trouvé ce message utile\";\n\n            var likeTitle;\n            if(this.canVote) {\n                likeTitle = \"Ce message \" + (sign === \"like\" ? \"est\" : \"n'est pas\") + \" utile\";\n                if(data[sign].count !== 0) {\n                    likeTitle += \" (\" +  likeTitleCount + \")\";\n                }\n            } else {\n                likeTitle = likeTitleCount;\n            }\n\n            this[sign].button.attr(\"title\", likeTitle);\n            // Updating the text\n            this[sign].button.text((sign === \"like\" ? \"+\" : \"-\") + data[sign].count);\n\n            // Updating the tooltip\n            if(data[sign].hasOwnProperty(\"users\")) {\n                var likers = data[sign].users.slice(0, 9);\n                var otherLikeCount = data[sign].count - likers.length;\n\n                var currentUser = $(\"#my-account .username\").text();\n                var likeStr = likers.map(function(e) { return e.username === currentUser ? \"Vous (\" + e.username + \")\" : e.username; }).join(\"<br>\");\n                if(otherLikeCount > 0) {\n                    if(likeStr !== \"\") likeStr += \"<br> et \" + otherLikeCount + \" autre\";\n                    else likeStr = otherLikeCount + \" vote\";\n\n                    if(otherLikeCount !== 1) likeStr += \"s\";\n                }\n\n                this[sign].tooltip.setContent(likeStr);\n\n                // Build list in modal\n                this[sign].listElem.empty();\n\n                if(data[sign].count === 0) {\n                    $(\"<li>\", { class: \"muted\", text: \"Pas de votes \" + (sign === \"like\" ? \"positifs\" : \"négatifs\")}).appendTo(this[sign].listElem);\n                } else {\n                    this[sign].listElem.append(data[sign].users.map(function(user) {\n                        return $(\"<li>\").append($(\"<a>\", { href: user[\"html_url\"], text: user.username }).prepend($(\"<img />\", { src: user[\"avatar_url\"] })));\n                    }));\n\n                    var anonymous = data[sign].count - data[sign].users.length;\n                    if(anonymous) {\n                        $(\"<li>\", { text: anonymous + \" anonyme\" + (anonymous === 1 ? \"\" : \"s\"), class: \"muted\" }).appendTo(this[sign].listElem);\n                    }\n                }\n            }\n        },\n\n        /**\n         * Show the details of the votes in a modal\n         */\n        showDetails: function() {\n            if(!this.detailsModal) {\n                var body = $(\"<div>\", { class: \"vote-details\" })\n                    .append($(\"<div>\", { class: \"vote-col\" }).append($(\"<h3>\", { text: \"Votes positifs\" })).append(this.like.listElem))\n                    .append($(\"<div>\", { class: \"vote-col\" }).append($(\"<h3>\", { text: \"Votes négatifs\" })).append(this.dislike.listElem));\n\n                this.detailsModal = new window.Modal({\n                    title: \"Détail des votants\",\n                    titleIcon: \"hide light\",\n                    body: body,\n                    closeText: \"Fermer\"\n                });\n            }\n\n            this.detailsModal.open();\n        }\n    };\n\n    /**\n     * Create new Karma object for each jQuery element\n     *\n     * @example\n     * $(\".topic-message #p42\").karma().vote(\"like\");\n     * @returns {Karma}\n     */\n    $.fn.karma = function() {\n        if(this.length !== 1) {\n            return $(this).map(function(index, elem) {\n                $(elem).karma();\n            });\n        } else {\n            var message;\n            if($(this).is(\".topic-message\")) {\n                message = $(this);\n            } else {\n                message = $(this).parents(\".topic-message\");\n            }\n\n            var instance = message.data(\"karma\");\n            if(instance) return instance;\n\n            return new Karma(message);\n        }\n    };\n\n    $(document).ready(function() {\n        $(\".topic-message\").has(\".message-karma\").karma();\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Keyboard navigation in navigables lists, with j/k keys\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function(document, $, undefined){\n    \"use strict\";\n    \n    $(document).ready(function(){\n        var $lists = $(\"#content .navigable-list\");\n\n        if($lists.length > 0){\n            var $navigableElems = $lists.find(\".navigable-elem\");\n\n            $(\"body\").on(\"keydown\", function(e){\n                if(!$(document.activeElement).is(\":input\") && (e.which === 74 || e.which === 75)){\n                    var $current = $lists.find(\".navigable-elem.active\"),\n                        nextIndex = null;\n\n                    if($current.length === 1){\n                        var currentIndex = $navigableElems.index($current);\n                        if(e.which === 75){ // J\n                            if(currentIndex > 0)\n                                nextIndex = currentIndex - 1;\n                        } else { // K\n                            if(currentIndex + 1 < $navigableElems.length)\n                                nextIndex = currentIndex + 1;\n                        }\n                    } else {\n                        nextIndex = 0;\n                    }\n\n                    if(nextIndex !== null){\n                        $current.removeClass(\"active\");\n                        activeNavigableElem($navigableElems.eq(nextIndex));\n                    }\n                }\n            });\n\n            $(\"#content .navigable-list\")\n            .on(\"focus\", \".navigable-link\", function(){\n                if(!$(this).parents(\".navigable-elem:first\").hasClass(\"active\")){\n                    $lists.find(\".navigable-elem.active\").removeClass(\"active\");\n                    activeNavigableElem($(this).parents(\".navigable-elem\"));\n                }\n            })\n            .on(\"blur\", \".navigable-link\", function(){\n                $(this).parents(\".navigable-elem:first\").removeClass(\"active\");\n            });\n        }\n\n        function activeNavigableElem($elem){\n            $elem\n                .addClass(\"active\")\n                .find(\".navigable-link\")\n                    .focus();\n        }\n\n        $(\"#content\").on(\"DOMNodeInserted\", \".navigable-list, .navigable-elem\", function(){\n            $lists = $(\"#content .navigable-list\");\n        });\n    });\n})(document, jQuery);","/* ===== Zeste de Savoir ====================================================\n   Ugly markdown help block management\n   TEMP : Add this to the future awesome Markdown editor directly\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function(document ,$, undefined){\n    \"use strict\";\n\n    function addDocMD($elem){\n        $elem.each(function(){\n            var $help = $(\"<div/>\", {\n                \"class\": \"markdown-help\",\n                \"html\": \"<div class=\\\"markdown-help-more\\\">\" +\n                        \"<p>Les simples retours à la ligne ne sont pas pris en compte. Pour créer un nouveau paragraphe, pensez à <em>sauter une ligne</em> !</p>\" +\n                        \"<pre><code>**gras** \\n*italique* \\n[texte de lien](url du lien) \\n> citation \\n+ liste à puces </code></pre>\" +\n                        \"<a href=\\\"//zestedesavoir.com/tutoriels/221/rediger-sur-zds/\\\">Voir la documentation complète du markdown</a>\" +\n                        \"<p>Vous pouvez également <a href=\\\"//zestedesavoir.com/tutoriels/202/comment-rediger-des-maths-sur-zeste-de-savoir/\\\">écrire des formules mathématiques</a> en encadrant ces dernières du signe dollar ($) !</p></div>\"+\n                        \"<a href=\\\"#open-markdown-help\\\" class=\\\"open-markdown-help btn btn-grey ico-after help\\\">\"+\n                            \"<span class=\\\"close-markdown-help-text\\\">Masquer</span>\" +\n                            \"<span class=\\\"open-markdown-help-text\\\">Afficher</span> l'aide Markdown\" +\n                        \"</a>\"\n            });\n            $(this).after($help);\n            $(\".open-markdown-help, .close-markdown-help\", $help).click(function(e){\n                $(\".markdown-help-more\", $help).toggleClass(\"show-markdown-help\");\n                e.preventDefault();\n                e.stopPropagation();\n            });\n        });\n    }\n    \n\n    $(document).ready(function(){\n        addDocMD($(\".md-editor\"));\n        $(\"#content\").on(\"DOMNodeInserted\", \".md-editor\", function(e){\n            var $editor = $(e.target);\n            if($editor.next().hasClass(\"markdown-help\") === false) {\n                addDocMD($editor);\n            }\n        });\n    });\n})(document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Toggle message content for staff\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    $(\"#content [href^=#show-message-hidden]\").on(\"click\", function(e){\n        $(this).parents(\".message:first\").find(\".message-hidden-content\").toggle();\n\t\te.preventDefault();\n    });\n})(jQuery);","/* ===== Zeste de Savoir ====================================================\n   Single line/Multi lines signatures\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    $(\".message-bottom .signature\").on(\"click\", function(){\n        $(this).toggleClass(\"full\");\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Mobile sidebar menu, swipe open/close\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function(window, document, $, undefined){\n    \"use strict\";\n\n    /**\n     * Add class for mobile navigator does not support fixed position\n     */\n    var navU = navigator.userAgent;\n\n    // Android Mobile\n    var isAndroidMobile = navU.indexOf(\"Android\") > -1 && navU.indexOf(\"Mozilla/5.0\") > -1 && navU.indexOf(\"AppleWebKit\") > -1;\n\n    // Android Browser (not Chrome)\n    var regExAppleWebKit = new RegExp(/AppleWebKit\\/([\\d.]+)/);\n    var resultAppleWebKitRegEx = regExAppleWebKit.exec(navU);\n    var appleWebKitVersion = (resultAppleWebKitRegEx === null ? null : parseFloat(regExAppleWebKit.exec(navU)[1]));\n    var disableMobileMenu = isAndroidMobile && appleWebKitVersion !== null && appleWebKitVersion < 537;\n\n    if(disableMobileMenu)\n        $(\"html\").removeClass(\"enable-mobile-menu\");\n\n\n\n    /**\n     * Get prefix to support CSS transform\n     */\n    var transform = \"\";\n    var prefixedPropertyNames = [\"transform\", \"msTransform\", \"MozTransform\", \"WebkitTransform\", \"OTransform\"];\n    var prefixes = [\"\", \"-ms-\", \"-moz-\", \"-webkit-\", \"-o-\"];\n    var tempDiv = document.createElement(\"div\");\n    for(var i = 0; i < prefixedPropertyNames.length; ++i){\n        if(typeof tempDiv.style[prefixedPropertyNames[i]] !== \"undefined\"){\n            transform = prefixes[i];\n            break;\n        }\n    }\n    transform = transform+\"transform\";\n\n\n\n    /**\n     * Manage mobile sidebar on resize\n     */\n    $(window).on(\"resize\", function(){\n        if(parseInt($(\"html\").css(\"width\")) < 960 && !disableMobileMenu){\n            $(\".page-container\").css(\"width\", $(\"html\").css(\"width\"));\n\n            if(!$(\"#mobile-menu\").hasClass(\"initialized\")){\n                $(\"#mobile-menu\").addClass(\"initialized\");\n\n\n                /**\n                 * Manage menu button\n                 */\n                $(\".mobile-menu-btn\").on(\"click\", function(e){\n                    if(!$(\"html\").hasClass(\"show-mobile-menu\")){\n                        toggleMobileMenu(true);\n\n                        e.preventDefault();\n                        e.stopPropagation();\n                    }\n                });\n\n\n\n                /**\n                 * Build sidebar menu from page\n                 */\n\n                appendToSidebar($(\"#search\"), true);\n                appendToSidebar($(\".logbox .my-account\"), true);\n                appendToSidebar($(\".header-menu\"));\n\n                $(\".page-container .mobile-menu-bloc .mobile-menu-bloc\").each(function(){\n                    appendToSidebar($(this));\n                });\n                $(\".page-container .mobile-menu-bloc:not(.my-account-dropdown)\").each(function(){\n                    appendToSidebar($(this));\n                });\n\n                appendToSidebar($(\".my-account-dropdown\"));\n            }\n\n\n            /**\n             * Manage touch events for mobile sidebar\n             */\n            if(!$(\"#mobile-menu\").hasClass(\"initialized-events\")){\n                var beginTouchDown = 0;\n                var borderWidth    = 50;\n                var swipping       = false;\n\n                $(\"body\")\n                .on(\"touchstart\", function(e){\n                    beginTouchDown = parseInt(e.originalEvent.touches[0].pageX, 10) - $(\".page-container\").offset().left;\n                });\n\n                $(\".page-container\")\n                .on(\"touchmove\", function(e){\n                    if(swipping || parseInt(e.originalEvent.touches[0].pageX, 10) - $(this).offset().left < borderWidth){\n                        e.preventDefault();\n                        $(\"body:not(.swipping)\").addClass(\"swipping\");\n\n                        swipping   = true;\n\n                        var toMove = parseInt(e.originalEvent.touches[0].pageX, 10) - beginTouchDown;\n                        toMove     = (toMove * 100) / parseInt($(\"html\").width());\n\n                        if(toMove > 0 && toMove < 90){\n                            var props = {};\n                            props[transform] = \"translate3d(\"+toMove+\"%, 0, 0)\";\n                            $(this).css(props);\n\n                            toMove  = ((toMove * 20) / 90) - 20;\n                            props[transform] = \"translate3d(\"+toMove+\"%, 0, 0)\";\n                            $(\"#mobile-menu\").css(props);\n                        }\n                    }\n                })\n                .on(\"touchend touchleave touchcancel\", function(){\n                    if(swipping){\n                        var offset  = parseInt($(this).offset().left);\n                        var width   = parseInt($(\"html\").width());\n                        var visible = (offset > width/3 && !$(\"html\").hasClass(\"show-mobile-menu\")) || (offset > width-width/3 && $(\"html\").hasClass(\"show-mobile-menu\"));\n                        toggleMobileMenu(visible);\n\n                        swipping = false;\n                        $(\"body\").removeClass(\"swipping\");\n\n                        var props = {};\n                        props[transform] = \"\";\n                        $(\".page-container, #mobile-menu\").css(props);\n                    }\n                });\n\n\n                $(\".page-container\").on(\"click\", function(e){\n                    if($(\"html\").hasClass(\"show-mobile-menu\")){\n                        toggleMobileMenu(false);\n\n                        e.preventDefault();\n                        e.stopPropagation();\n                    }\n                });\n\n\n                $(\"#mobile-menu\").addClass(\"initialized-events\");\n            }\n        } else {\n            $(\"html\").removeClass(\"show-mobile-menu\");\n            $(\"#mobile-menu\").removeClass(\"initialized-events\");\n            $(\".page-container\").removeAttr(\"style\");\n            $(\".page-container\").off(\"click touchstart touchmove touchend\");\n        }\n    });\n    $(window).trigger(\"resize\");\n\n\n\n    function appendToSidebar($elem, force){\n        if($elem.hasClass(\"mobile-menu-imported\"))\n            return;\n\n        if(force){\n            $elem.addClass(\"mobile-menu-imported\");\n            $elem.clone().removeAttr(\"id\").appendTo(\"#mobile-menu\");\n            return;\n        }\n\n        var $div = $(\"<div/>\");\n        $div.addClass(\"mobile-menu-bloc\");\n        $div.attr(\"data-title\", $elem.attr(\"data-title\"));\n\n        if($elem.hasClass(\"mobile-show-ico\"))\n            $div.addClass(\"mobile-show-ico\");\n\n        var $links = ($elem.hasClass(\"mobile-all-links\")) ? $(\"a, button, span.disabled\", $elem).not(\".action-hover\").addClass(\"mobile-menu-link\") : $(\".mobile-menu-link\", $elem);\n\n        $links.each(function(){\n            if($(this).parents(\".mobile-menu-imported, .modal\").length === 0){\n                var $elem = $(this).clone().addClass(\"light\");\n                var formId;\n\n                if($(this).is(\"button\")){\n                    var $form = $(this).parents(\"form:first\");\n                    if(!$form.attr(\"id\")){\n                        formId = \"form\" + $(\".identified-form\").length;\n                        $form.attr(\"id\", formId).addClass(\"identified-form\");\n                    } else {\n                        formId = $form.attr(\"id\");\n                    }\n                    $elem.attr(\"form\", formId);\n                }\n\n                $div.append($elem);\n            }\n        });\n\n        $elem.addClass(\"mobile-menu-imported\");\n\n        $div.appendTo($(\"#mobile-menu\"));\n    }\n\n\n\n\n\n    /**\n     * Toggle sidebar for mobiles\n     */\n    function toggleMobileMenu(visible){\n        var scrollTop;\n        if(visible === null)\n            visible = !$(\"html\").hasClass(\"show-mobile-menu\");\n\n        $(\"body\").removeClass(\"swipping\");\n\n        var viewportmeta = document.querySelector(\"meta[name=\\\"viewport\\\"]\");\n\n        if(visible){\n            if(!$(\"html\").hasClass(\"show-mobile-menu\")){\n                scrollTop = $(document).scrollTop();\n                $(\".page-container\").css({\n                    \"margin-top\": \"-\" + scrollTop + \"px\",\n                    \"padding-bottom\": scrollTop + \"px\"\n                });\n                $(\"html\").addClass(\"show-mobile-menu\");\n\n                viewportmeta.content = \"width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0\";\n            }\n\n            // Manage back button to close sidebar\n            /*\n            if(history && history.pushState){\n                history.pushState(null, document.title, this.href);\n\n                $(window).off(\"popstate\").one(\"popstate\", function(e){\n                    if($(\"html\").hasClass(\"show-mobile-menu\"))\n                        toggleMobileMenu(false);\n                    else\n                        window.history.back();\n                });\n            }\n            */\n        } else {\n            $(\"html\").removeClass(\"show-mobile-menu\");\n\n            // Reset CSS modifications for restore scroll\n            scrollTop = parseInt($(\".page-container\").css(\"padding-bottom\"));\n            $(\".page-container\").css({\n                \"margin-top\": \"\",\n                \"padding-bottom\": \"\"\n            });\n            if(scrollTop > 0)\n                $(document).scrollTop(scrollTop);\n\n            // Stop swipping\n            $(\"body\").removeClass(\"swipping\");\n\n            setTimeout(function(){\n                // Reinit mobile menu at top\n                $(\"#mobile-menu\").scrollTop(0);\n\n                // Restore zoom\n                viewportmeta.content = \"width=device-width, minimum-scale=1.0, initial-scale=1.0\";\n\n                // Bugfix <html> element\n                $(\"html\").css({\n                    \"position\": \"absolute\",\n                    \"left\": \"0\"\n                });\n                setTimeout(function(){\n                    $(\"html\").removeAttr(\"style\");\n                }, 500);\n            }, 200);\n        }\n    }\n\n\n\n\n    /**\n     * Manage actions buttons, move them at the top af core of page\n     */\n    $(window).on(\"resize\", function(){\n        if(parseInt($(\"html\").css(\"width\")) < 960 && !disableMobileMenu){\n            var $newBtns = $(\".sidebar .new-btn:not(.mobile-btn-imported)\");\n            if($newBtns.length > 0){\n                var $prevElem = $(\"#content\")\n                    .find(\"> .content-wrapper, > .full-content-wrapper, > .content-col-2\")\n                    .first()\n                    .find(\"h1, h2\")\n                    .first();\n                if($prevElem.next(\".license\").length > 0)\n                    $prevElem = $prevElem.next(\".license\");\n                if($prevElem.next(\".subtitle\").length > 0)\n                    $prevElem = $prevElem.next(\".subtitle\");\n                if($prevElem.next(\".taglist\").length > 0)\n                    $prevElem = $prevElem.next(\".taglist\");\n\n                var $newBtnContainer = $(\"<div/>\", {\n                    \"class\": \"new-btn-container\"\n                });\n                $newBtns.each(function(){\n                    $newBtnContainer.append($(this).clone().removeAttr(\"id\").removeClass(\"blue\"));\n                    $(this).addClass(\"mobile-btn-imported\");\n                });\n                $prevElem.after($newBtnContainer);\n            }\n        }\n    });\n    $(window).trigger(\"resize\");\n})(window, document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Manage modals boxes\n   ========================================================================== */\n\n(function(document, $, undefined) {\n    \"use strict\";\n\n    /**\n     * Create a new Modal\n     *\n     * @constructor\n     * @param {Object} options\n     * @param {string} options.title\n     * @param {(Node|jQuery)} options.body\n     * @param {(Node|jQuery)} options.footer\n     * @param {string} [options.titleIcon=\"\"] - Icon to add to the title\n     * @param {string} [options.closeText=\"Annuler\"] - The text of the close button\n     * @param {(Node|jQuery)} [options.modal] - The modal element to wrap the content\n     */\n    var Modal = function(options) {\n        this.options = $.extend({\n            titleIcon: \"\",\n            closeText: \"Annuler\"\n        }, options);\n        if(!Modal._initialized) this.firstRun();\n        this.init();\n    };\n\n    /**\n     * Close the current modal\n     *\n     * @static\n     */\n    Modal.closeCurrent = function() {\n        Modal.current.modal.removeClass(\"open\");\n        Modal.container.removeClass(\"open\");\n        $(\"html\").removeClass(\"dropdown-active\");\n        Modal.current = null;\n    };\n\n    /**\n     * Open a modal\n     *\n     * @static\n     * @param {string} id - The id of the modal to open\n     */\n    Modal.openModal = function(id) {\n        if(Modal.list[id]) {\n            Modal.list[id].open();\n        }\n    };\n\n    Modal.prototype = {\n        /**\n         * To be run on first modal creation\n         *\n         * @access private\n         */\n        firstRun: function() {\n            /**\n             * The Node that contains all the modals and the overlay\n             * @type {jQuery}\n             */\n            Modal.container = $(\"<div>\", { class: \"modals-container\" });\n            /**\n             * The Node that wrap all the modals\n             * @type {jQuery}\n             */\n            Modal.wrapper = $(\"<div>\", { class: \"modals-wrapper\" });\n            /**\n             * The overlay\n             * @type {jQuery}\n             */\n            Modal.overlay = $(\"<div>\", { class: \"modals-overlay\" });\n            Modal.container.append(Modal.wrapper).append(Modal.overlay).appendTo($(\"body\"));\n            /**\n             * The list of all the modals\n             * @type {Modal[]}\n             */\n            Modal.list = [];\n            Modal._initialized = true;\n            Modal.nextId = 0;\n\n            Modal.overlay.on(\"click\", Modal.closeCurrent);\n\n            $(\"body\").on(\"click\", \".open-modal\", function(e) {\n                Modal.openModal($(this).attr(\"href\").substring(1));\n\n                e.preventDefault();\n                e.stopPropagation();\n            }).on(\"keydown\", function(e) {\n                // Escape close modal\n                if(Modal.current && e.which === 27){\n                    Modal.closeCurrent();\n                    e.stopPropagation();\n                } else if(Modal.current && e.which === 13) {\n                    if(document.activeElement.tagName !== \"TEXTAREA\" || e.ctrlKey) {\n                        var elem = Modal.current.footer.find(\".btn-submit\").get(0);\n                        if(elem) elem.click();\n                    }\n                }\n            });\n        },\n\n        /**\n         * Initialize a Modal\n         *\n         * @access private\n         */\n        init: function() {\n            /**\n             * The modal DOM Node\n             * @member {jQuery}\n             */\n            this.modal = this.options.modal || $(\"<div>\", { class: \"modal modal-flex\" });\n            /**\n             * The ID of the modal\n             * @member {string}\n             */\n            this.id = this.modal.attr(\"id\") || \"noid-\" + (Modal.nextId++);\n            /**\n             * The title of the modal\n             * @member {jQuery}\n             */\n            this.title = $(\"<div>\", {\n                class: \"modal-title\",\n                text: this.options.title\n            });\n\n            if(this.options.titleIcon) {\n                this.title.addClass(this.options.titleIcon + \" ico-after\");\n            }\n\n            /**\n             * The body of the modal\n             * @member {jQuery}\n             */\n            this.body = $(\"<div>\", {\n                class: \"modal-body\"\n            }).append(this.options.body);\n\n            /**\n             * The footer of the modal (contains the buttons)\n             * @member {jQuery}\n             */\n            this.footer = $(\"<div>\", {\n                class: \"modal-footer\"\n            }).append(this.options.footer).append($(\"<a>\", {\n                class: \"btn btn-cancel\",\n                href: \"#close-modal\",\n                text: this.options.closeText,\n                click: function(e){\n                    Modal.closeCurrent();\n                    e.preventDefault();\n                    e.stopPropagation();\n                }\n            }));\n\n            this.modal.addClass(\"tab-modalize\").append(this.title, this.body, this.footer).appendTo(Modal.wrapper);\n\n            Modal.list[this.id] = this;\n        },\n\n        /**\n         * Open the Modal\n         */\n        open: function() {\n            if(Modal.current) Modal.closeCurrent();\n            this.modal.addClass(\"open\");\n            Modal.container.addClass(\"open\");\n\n            Modal.current = this;\n\n            this.body.find(\"input:visible, select, textarea\").first().focus();\n            if(!$(\"html\").hasClass(\"enable-mobile-menu\"))\n                $(\"html\").addClass(\"dropdown-active\");\n        },\n\n        /**\n         * Close the Modal\n         */\n        close: function() {\n            Modal.closeCurrent();\n        }\n    };\n\n    /**\n     * Build the modal from the given elements\n     *\n     * @param {jQuery} $elems\n     */\n    function buildModals($elems){\n        $elems.each(function(){\n            var $link = $(\"[href=#\"+$(this).attr(\"id\")+\"]:first\");\n\n            var linkIco = \"\";\n            if($link.hasClass(\"ico-after\")) {\n                linkIco = $link.attr(\"class\").split(\" \").concat([\"light\"]).filter(function(c) {\n                    return [\"\", \"ico-after\", \"open-modal\", \"blue\"].indexOf(c) === -1 && c.indexOf(\"btn-\") === -1;\n                }).join(\" \");\n            }\n\n            new Modal({\n                title: $link.text(),\n                footer: $(this).find(\".btn, [type=submit]\").filter(\":not(.modal-inner)\").detach(),\n                body: $(this).children(),\n                modal: $(this),\n                closeText: $(this).is(\"[data-modal-close]\") ? $(this).attr(\"data-modal-close\") : \"Annuler\",\n                titleIcon: linkIco\n            });\n        });\n    }\n\n    window.Modal = Modal;\n\n    $(document).ready(function(){\n        buildModals($(\".modal\"));\n        $(\"#content\").on(\"DOMNodeInserted\", \".modal\", function(e){\n            buildModals($(e.target));\n        });\n    });\n})(document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Auto submit forms\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    $(\"body\").on(\"change\", \".select-autosubmit\", function() {\n        $(this).parents(\"form:first\").submit();\n    });\n})(jQuery);","var LetItSnow = function(element) {\n    this._parent = element;\n\n    this._canvas = document.createElement(\"canvas\");\n    this.resize();\n\n    this._canvas.style.zIndex = -1;\n    this._canvas.style.position = \"absolute\";\n    this._canvas.style.top = this._canvas.style.left = this._canvas.style.right = this._canvas.style.bottom = 0;\n\n    this._canvas.style.background = window\n        .getComputedStyle(this._parent)\n        .getPropertyValue(\"background-color\");\n    this._parent.style.background = \"transparent\";\n\n    // Append the canvas...\n    if(this._parent.children.length > 0) { // As first element if there is other children\n        this._parent.insertBefore(this._canvas, this._parent.children[0]);\n    }\n    else {\n        this._parent.appendChild(this._canvas);\n    }\n\n    this._ctx = this._canvas.getContext(\"2d\");\n\n    this.setup();\n};\n\nLetItSnow.prototype = {\n    PARTICLES_COLOR: \"rgba(255, 255, 255, 0.8)\", // Color\n    MAX_PARTICLES: 25, // Particles limits\n    SPAWN_RATE: 100, // time (ms) between two particles spawns\n    PARTICLES_SPEED: 15, // Base speed\n    PARTICLES_SIZE: 2, // Base size\n    TURBULENCES_X: 1, // Turbulences amount (X)\n    TURBULENCES_Y: 0.5, // Turbulences amount (Y)\n    TURBULENCES_SPEED: 1, // Turbulences speed\n    MAX_TIMESHIFT: Math.PI / 3, // Max time shifting (turbulences) between two particles\n\n    setup: function() {\n        this.particles = [];\n        this._lastSpawn = this._lastLoop = Date.now();\n        this.loop();\n\n        window.addEventListener(\"resize\", this.resize.bind(this));\n    },\n\n    resize: function() {\n        var rect = this._parent.getBoundingClientRect();\n\n        this.H = rect.height;\n        this.W = rect.width;\n\n        this._canvas.height = this.H;\n        this._canvas.width = this.W;\n    },\n\n    spawnParticle: function() {\n        this.particles.push({\n            x: Math.random() * this.W,\n            y: - this.PARTICLES_SIZE,\n            d: Math.random() + 1, // Density (affects speed and size)\n            s: Math.random() * this.MAX_TIMESHIFT // Time shift\n        });\n    },\n\n    loop: function() {\n        this.update();\n        this.draw();\n\n        requestAnimationFrame(this.loop.bind(this));\n    },\n\n    update: function() {\n        var p, now = Date.now(), delta = now - this._lastLoop;\n        for(var i in this.particles) {\n            p = this.particles[i];\n            p.y += (delta / 1000) * (this.PARTICLES_SPEED * p.d * (1.5 + Math.sin(now * this.TURBULENCES_SPEED / 1000 + p.s) * this.TURBULENCES_Y));\n            p.x += (delta / 1000) * (this.PARTICLES_SPEED * p.d * (Math.cos(now * this.TURBULENCES_SPEED / 1000 + p.s) * this.TURBULENCES_X));\n\n            if(p.y - (p.d * 4) > this.H || p.x - (p.d * 4) > this.W || p.x + (p.d * 4) < 0) {\n                this.particles.splice(i, 1);\n            }\n        }\n\n        if(this._lastSpawn <= now - this.SPAWN_RATE && this.particles.length < this.MAX_PARTICLES) {\n            this._lastSpawn = now;\n            this.spawnParticle();\n        }\n\n        this._lastLoop = now;\n    },\n\n    draw: function() {\n        this._ctx.clearRect(0, 0, this.W, this.H);\n\n        this._ctx.fillStyle = this.PARTICLES_COLOR;\n        this._ctx.beginPath();\n\n        var p;\n        for(var i in this.particles) {\n            p = this.particles[i];\n\n            this._ctx.moveTo(p.x, p.y);\n            this._ctx.arc(p.x, p.y, p.d * this.PARTICLES_SIZE, 0, Math.PI*2, true);\n        }\n\n        this._ctx.fill();\n    }\n};\n\nwindow.addEventListener(\"DOMContentLoaded\", function() {\n    if(document.body.className.split(\" \").indexOf(\"vc-snow\") !== -1) { // No jQuery here\n        setTimeout(function() {\n            window.snow = new LetItSnow(document.querySelector(\".header-container > header\"));\n        }, 1000); // to be sure to have the DOM completely ready\n    }\n});\n","/* ===== Zeste de Savoir ====================================================\n   Toggle spoiler content\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function(document, $, undefined) {\n    \"use strict\";\n\n    function buildSpoilers($elem) {\n        $elem.each(function() {\n            var $this = $(this);\n\n            if(!$this.hasClass(\"spoiler-build\")) {\n                $this.before($(\"<a/>\", {\n                    text: \"Afficher/Masquer le contenu masqué\",\n                    class: \"spoiler-title ico-after view\",\n                    href: \"#\",\n                    click: function(e) {\n                        $(this).next(\".spoiler\").toggle();\n                        e.preventDefault();\n                    }\n                }));\n                $this.addClass(\"spoiler-build\");\n            }\n        });\n    }\n\n    $(document).ready(function() {\n        var $content = $(\"#content\");\n        buildSpoilers($content.find(\".spoiler\"));\n        $content.on(\"DOMNodeInserted\", function(e) {\n            var $spoilers = $(e.target).find(\".spoiler\");\n            return buildSpoilers($spoilers);\n        });\n    });\n})(document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Prevent from double clic on submit buttons\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    var buttonsSelector = \"[type=submit], [type=reset]\",\n        $lastButtonClicked = null;\n\n    $(\"body\").on(\"submit\", \"form\", function(){\n        $(buttonsSelector)\n            .addClass(\"disabled\");\n\n        if($lastButtonClicked === null)\n            $lastButtonClicked = $(buttonsSelector, $(this));\n\n        $lastButtonClicked\n            .addClass(\"submitted\")\n            .append($(\"<span/>\", { class: \"line-loading\" }));\n    });\n    $(\"form\").on(\"click\", buttonsSelector, function(e){\n        $lastButtonClicked = $(this);\n\n        if($(this).hasClass(\"disabled\"))\n            e.preventDefault();\n    });\n})(jQuery);","/* ===== Zeste de Savoir ====================================================\n   Keyboad accessibility for overlayed boxes (modals, etc)\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    $(\"body\").on(\"keydown\", function(e){\n        var $modal = $(\".tab-modalize:visible\");\n        if($modal.length > 0){\n            // Tab do not go out modal\n            if(e.which === 9){\n                var $current = $modal.find(\":focus\"),\n                    $tabbables = $modal.find(\":tabbable\"),\n                    nextIndex = e.shiftKey ? $tabbables.length - 1 : 0;\n\n                if($current.length === 1){\n                    var currentIndex = $tabbables.index($current);\n                    if(e.shiftKey){\n                        if(currentIndex > 0)\n                            nextIndex = currentIndex - 1;\n                    } else {\n                        if(currentIndex + 1 < $tabbables.length)\n                            nextIndex = currentIndex + 1;\n                    }\n                }\n\n                $tabbables.eq(nextIndex).focus();\n                e.stopPropagation();\n                e.preventDefault();\n            }\n        }\n    });\n})(jQuery);","(function($, undefined) {\n    \"use strict\";\n\n    /**\n     * Create a tooltip for a target\n     *\n     * @param {Object} options\n     * @param {DOMNode} options.target - Tooltip target\n     * @param {string} options.content - Tooltip content\n     * @class\n     */\n    var Tooltip = function(options) {\n        this.options = $.extend({ target: null, content: null }, options);\n        if(!Tooltip._initialized) {\n            this.firstRun();\n        }\n\n        this.init();\n    };\n\n    Tooltip.prototype = {\n        /**\n         * Creates the containers for the all the tooltips\n         *\n         * @access private\n         */\n        firstRun: function() {\n            Tooltip.container = $(\"<div>\", { class: \"tooltips-container\" });\n            Tooltip.list = [];\n            Tooltip.nextID = 0;\n\n            $(\"body\").append(Tooltip.container);\n            Tooltip._initialized = true;\n        },\n\n        /**\n         * Initialize a tooltip\n         *\n         * @access private\n         */\n        init: function() {\n            /**\n             * @member {jQuery} - The tooltip wrapper\n             */\n            this.wrapper = $(\"<div>\", { class: \"tooltip-wrapper\" });\n\n            /**\n             * @member {jQuery} - The tooltip itself\n             */\n            this.elem = $(\"<div>\", {\n              class: \"tooltip\",\n              id: \"tooltip-\" + Tooltip.nextID,\n              role: \"tooltip\",\n              \"aria-hidden\": true\n            });\n\n            /**\n             * @member {jQuery} - The target element\n             */\n            this.target = $(this.options.target);\n\n            this.setOrientation(\"top\");\n            this.setContent(this.options.content);\n            this.hide();\n\n            /**\n             * Builds a DOM like:\n             *  <div class=\"tooltips-container\">\n             *    <div class=\"tooltip-wrapper {{ orientation }}\">\n             *      <div class=\"tooltip\" role=\"tooltip\" id=\"tooltip-N\" aria-hidden=\"true\">{{ content }}</div>\n             *    </div>\n             *    <div class=\"tooltip-wrapper\">...</div>\n             *    ...\n             *  </div>\n             */\n            this.wrapper.append(this.elem).appendTo(Tooltip.container);\n\n            this.target.on(\"mouseover\", this.mouseover.bind(this));\n            this.wrapper.on(\"mouseover\", this.mouseover.bind(this));\n            this.target.on(\"mouseout\", this.mouseout.bind(this));\n            this.wrapper.on(\"mouseout\", this.mouseout.bind(this));\n\n            this.target.attr(\"aria-describedby\", \"tooltip-\" + Tooltip.nextID);\n\n            this.hideTimeout = null;\n\n            this.mouseon = false;\n\n            Tooltip.list.push(this);\n            Tooltip.nextID++;\n        },\n\n        /**\n         * Show the tooltip on mouseover\n         *\n         * @access private\n         */\n        mouseover: function() {\n            if(!this.mouseon) this.show();\n            this.mouseon = true;\n            clearTimeout(this.hideTimeout);\n        },\n\n        /**\n         * Hide the tooltip on mouseout after a short delay\n         *\n         * @access private\n         */\n        mouseout: function() {\n            this.hideTimeout = setTimeout(this.hide.bind(this), 50);\n            this.mouseon = false;\n        },\n\n        /**\n         * Set the content of the tooltip\n         *\n         * @param {string} content - HTML content of the tooltip\n         */\n        setContent: function(content) {\n            this.content = $.trim(content);\n            this.elem.html(this.content);\n\n            if(this.content === \"\") {\n                this.hide();\n            } else if(this.mouseon) {\n                this.show();\n            }\n        },\n\n        /**\n         * Hide the tooltip\n         */\n        hide: function() {\n            this.wrapper.hide();\n            this.elem.attr(\"aria-hidden\", true);\n        },\n\n        /**\n         * Show the tooltip if the content is not empty\n         */\n        show: function() {\n            if(this.content !== \"\") {\n                this.wrapper.show();\n                this.elem.attr(\"aria-hidden\", false);\n                this.recalc(); // Need to recalc on this tick & on next\n                setTimeout(this.recalc.bind(this));\n            }\n        },\n\n        /**\n         * Guess the tooltip position depending on the tooltip's size and the viewport scroll\n         *\n         * @access private\n         */\n        guessOrientation: function() {\n            if(this.target.offset().top - $(window).scrollTop() < this.wrapper.height()) {\n                this.setOrientation(\"bottom\");\n            } else {\n                this.setOrientation(\"top\");\n            }\n        },\n\n        /**\n         * Recalculate the position of the tooltip\n         *\n         * @access private\n         */\n        recalc: function() {\n            var css = {\n                top: null,\n                bottom: null,\n                left: this.target.offset().left + (this.target.outerWidth() / 2) - (this.wrapper.width() / 2)\n            };\n\n            this.guessOrientation();\n            if(this.orientation === \"top\") {\n                css.top = this.target.offset().top - this.wrapper.outerHeight();\n            } else if(this.orientation === \"bottom\") {\n                css.top = this.target.offset().top + this.target.outerHeight();\n            } else {\n                css.bottom = this.target.offset().top - this.wrapper.outerHeight() + 8;\n            }\n\n            this.wrapper.css(css);\n        },\n\n        /**\n         * Set the orientation of the tooltip\n         *\n         * @access private\n         */\n        setOrientation: function(orientation) {\n            if (orientation !== \"top\" && orientation !== \"bottom\" || orientation === this.orientation) return;\n\n            this.wrapper.addClass(orientation);\n            this.wrapper.removeClass(this.orientation);\n            this.orientation = orientation;\n        }\n    };\n\n    /**\n     * Create a tooltip on a jQuery element\n     * Set the content of a tooltip if the tooltip already exists\n     *\n     * @example\n     * $(\".topic-message .message-karma .upvote\").tooltip(\"42 votes\");\n     * @param {string} content\n     * @return {Tooltip}\n     */\n    $.fn.tooltip = function(content) {\n        var tooltip = $(this).data(\"tooltip\");\n        if(tooltip) {\n            if(content) tooltip.setContent(content);\n        } else {\n            tooltip = new Tooltip({ target: this, content: content });\n            $(this).data(\"tooltip\", tooltip);\n        }\n\n        return tooltip;\n    };\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Zen mode for content-pages\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    if($(\".open-zen-mode\").length > 0){\n        $(\".open-zen-mode\").on(\"click\", function(e){\n                var Text = $(\".open-zen-mode\").text();\n                var TextToPut = $(\".open-zen-mode\").attr(\"data-content-on-click\");\n                $(\".open-zen-mode\").attr(\"data-content-on-click\", Text);\n                $(\".open-zen-mode\").text(TextToPut);\n\n                if(typeof sessionStorage !== \"undefined\"){\n                    if($(\".content-container\").hasClass(\"zen-mode\")){\n                        if(\"zenMode\" in sessionStorage){\n                            sessionStorage.setItem(\"zenMode\", \"false\");\n                        }\n                    }\n                    else{\n                        sessionStorage.setItem(\"zenMode\", \"true\");\n                    }\n                }\n\n                $(\".content-container\").toggleClass(\"zen-mode tab-modalize\");\n                $(this).blur();\n                e.preventDefault();\n                e.stopPropagation();\n            }\n        );\n\n        $(\"body\").on(\"keydown\", function(e){\n            // Escape close modal\n            if($(\".zen-mode\").length > 0 && e.which === 27){\n                var Text = $(\".open-zen-mode\").text();\n                var TextToPut = $(\".open-zen-mode\").attr(\"data-content-on-click\");\n                $(\".open-zen-mode\").attr(\"data-content-on-click\", Text);\n                $(\".open-zen-mode\").text(TextToPut);\n\n                if(typeof sessionStorage !== \"undefined\"){\n                    if(\"zenMode\" in sessionStorage){\n                        sessionStorage.setItem(\"zenMode\", \"false\");\n                    }\n                }\n\n                $(\".content-container\").toggleClass(\"zen-mode tab-modalize\");\n                $(this).blur();\n                e.stopPropagation();\n            }\n        });\n\n        if(typeof sessionStorage !== \"undefined\"){\n            if(\"zenMode\" in sessionStorage){\n                if(sessionStorage.getItem(\"zenMode\") === \"true\"){\n                    $(\".open-zen-mode\").click();\n                }\n            }\n        }\n    }\n})(jQuery);"],"sourceRoot":"../../assets/js"}
\ No newline at end of file
diff --git a/dist/js/main.js b/dist/js/main.js
new file mode 100644
index 0000000000..cb6a12d043
--- /dev/null
+++ b/dist/js/main.js
@@ -0,0 +1,3 @@
+window.Modernizr=function(t,e,i){function n(t){b.cssText=t}function a(t,e){return typeof t===e}function s(t,e){return!!~(""+t).indexOf(e)}function o(t,e){for(var n in t){var a=t[n];if(!s(a,"-")&&b[a]!==i)return"pfx"==e?a:!0}return!1}function r(t,e,n){for(var s in t){var o=e[t[s]];if(o!==i)return n===!1?t[s]:a(o,"function")?o.bind(n||e):o}return!1}function l(t,e,i){var n=t.charAt(0).toUpperCase()+t.slice(1),s=(t+" "+x.join(n+" ")+n).split(" ");return a(e,"string")||a(e,"undefined")?o(s,e):(s=(t+" "+C.join(n+" ")+n).split(" "),r(s,e,i))}var c,d,u,p="2.8.3",m={},h=!0,f=e.documentElement,v="modernizr",g=e.createElement(v),b=g.style,y={}.toString,w=" -webkit- -moz- -o- -ms- ".split(" "),k="Webkit Moz O ms",x=k.split(" "),C=k.toLowerCase().split(" "),E={svg:"http://www.w3.org/2000/svg"},z={},T=[],_=T.slice,I=function(t,i,n,a){var s,o,r,l,c=e.createElement("div"),d=e.body,u=d||e.createElement("body");if(parseInt(n,10))for(;n--;)r=e.createElement("div"),r.id=a?a[n]:v+(n+1),c.appendChild(r);return s=["&#173;",'<style id="s',v,'">',t,"</style>"].join(""),c.id=v,(d?c:u).innerHTML+=s,u.appendChild(c),d||(u.style.background="",u.style.overflow="hidden",l=f.style.overflow,f.style.overflow="hidden",f.appendChild(u)),o=i(c,t),d?c.parentNode.removeChild(c):(u.parentNode.removeChild(u),f.style.overflow=l),!!o},P=function(e){var i=t.matchMedia||t.msMatchMedia;if(i)return i(e)&&i(e).matches||!1;var n;return I("@media "+e+" { #"+v+" { position: absolute; } }",function(e){n="absolute"==(t.getComputedStyle?getComputedStyle(e,null):e.currentStyle).position}),n},S={}.hasOwnProperty;u=a(S,"undefined")||a(S.call,"undefined")?function(t,e){return e in t&&a(t.constructor.prototype[e],"undefined")}:function(t,e){return S.call(t,e)},Function.prototype.bind||(Function.prototype.bind=function(t){var e=this;if("function"!=typeof e)throw new TypeError;var i=_.call(arguments,1),n=function(){if(this instanceof n){var a=function(){};a.prototype=e.prototype;var s=new a,o=e.apply(s,i.concat(_.call(arguments)));return Object(o)===o?o:s}return e.apply(t,i.concat(_.call(arguments)))};return n}),z.flexboxlegacy=function(){return l("boxDirection")},z.touch=function(){var i;return"ontouchstart"in t||t.DocumentTouch&&e instanceof DocumentTouch?i=!0:I(["@media (",w.join("touch-enabled),("),v,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(t){i=9===t.offsetTop}),i},z.svg=function(){return!!e.createElementNS&&!!e.createElementNS(E.svg,"svg").createSVGRect},z.inlinesvg=function(){var t=e.createElement("div");return t.innerHTML="<svg/>",(t.firstChild&&t.firstChild.namespaceURI)==E.svg},z.svgclippaths=function(){return!!e.createElementNS&&/SVGClipPath/.test(y.call(e.createElementNS(E.svg,"clipPath")))};for(var D in z)u(z,D)&&(d=D.toLowerCase(),m[d]=z[D](),T.push((m[d]?"":"no-")+d));return m.addTest=function(t,e){if("object"==typeof t)for(var n in t)u(t,n)&&m.addTest(n,t[n]);else{if(t=t.toLowerCase(),m[t]!==i)return m;e="function"==typeof e?e():e,"undefined"!=typeof h&&h&&(f.className+=" "+(e?"":"no-")+t),m[t]=e}return m},n(""),g=c=null,function(t,e){function i(t,e){var i=t.createElement("p"),n=t.getElementsByTagName("head")[0]||t.documentElement;return i.innerHTML="x<style>"+e+"</style>",n.insertBefore(i.lastChild,n.firstChild)}function n(){var t=b.elements;return"string"==typeof t?t.split(" "):t}function a(t){var e=g[t[f]];return e||(e={},v++,t[f]=v,g[v]=e),e}function s(t,i,n){if(i||(i=e),d)return i.createElement(t);n||(n=a(i));var s;return s=n.cache[t]?n.cache[t].cloneNode():h.test(t)?(n.cache[t]=n.createElem(t)).cloneNode():n.createElem(t),!s.canHaveChildren||m.test(t)||s.tagUrn?s:n.frag.appendChild(s)}function o(t,i){if(t||(t=e),d)return t.createDocumentFragment();i=i||a(t);for(var s=i.frag.cloneNode(),o=0,r=n(),l=r.length;l>o;o++)s.createElement(r[o]);return s}function r(t,e){e.cache||(e.cache={},e.createElem=t.createElement,e.createFrag=t.createDocumentFragment,e.frag=e.createFrag()),t.createElement=function(i){return b.shivMethods?s(i,t,e):e.createElem(i)},t.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+n().join().replace(/[\w\-]+/g,function(t){return e.createElem(t),e.frag.createElement(t),'c("'+t+'")'})+");return n}")(b,e.frag)}function l(t){t||(t=e);var n=a(t);return b.shivCSS&&!c&&!n.hasCSS&&(n.hasCSS=!!i(t,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),d||r(t,n),t}var c,d,u="3.7.0",p=t.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,h=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f="_html5shiv",v=0,g={};!function(){try{var t=e.createElement("a");t.innerHTML="<xyz></xyz>",c="hidden"in t,d=1==t.childNodes.length||function(){e.createElement("a");var t=e.createDocumentFragment();return"undefined"==typeof t.cloneNode||"undefined"==typeof t.createDocumentFragment||"undefined"==typeof t.createElement}()}catch(i){c=!0,d=!0}}();var b={elements:p.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:u,shivCSS:p.shivCSS!==!1,supportsUnknownElements:d,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:l,createElement:s,createDocumentFragment:o};t.html5=b,l(e)}(this,e),m._version=p,m._prefixes=w,m._domPrefixes=C,m._cssomPrefixes=x,m.mq=P,m.testProp=function(t){return o([t])},m.testAllProps=l,m.testStyles=I,f.className=f.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(h?" js "+T.join(" "):""),m}(this,this.document),Modernizr.addTest("cssmask",Modernizr.testAllProps("maskRepeat")),Modernizr.addTest("ie8compat",function(){return!window.addEventListener&&document.documentMode&&7===document.documentMode}),function(t,e){"use strict";t("#accessibility a").on("focus",function(){t(".dropdown:visible").parent().find(".active").removeClass("active"),t("#accessibility").addClass("focused")}).on("blur",function(){t("#accessibility").removeClass("focused")}).on("click",function(){var e=t(this).attr("href");setTimeout(function(){t(e).find(":tabbable").first().focus()})})}(jQuery),function(t,e){"use strict";function i(e){t("h4 + ul, h4 + ol",e).each(function(){t(this).hasClass("unfolded")||0===t(".current",t(this)).length&&t(this).hide()}),t("h4",e).click(function(e){t("+ ul, + ol",t(this)).slideToggle(100),e.preventDefault(),e.stopPropagation()})}t(document).ready(function(){t(".main .sidebar.accordeon, .main .sidebar .accordeon").each(function(){i(t(this))}).on("DOMNodeInserted",function(e){i(t(e.target))})})}(jQuery),function(t,e){"use strict";function i(){t("#mobile-menu [data-ajax-input]").each(function(){var e=t(this).data("ajax-input");console.log(t(this).text(),t(".sidebar").find("button[data-ajax-input='"+e+"']").text(),e),t(this).text(t(".sidebar").find("button[data-ajax-input='"+e+"']").text())})}t.fn.toggleText=function(t){var e=this.text(),i=this.data(t);this.text(i),this.data(t,e)},t(".sidebar").on("click","[data-ajax-input='follow-topic']",function(e){var n=t(this),a=t(this).parents("form:first"),s=t(this).parents("li:first").next().find("[data-ajax-input='follow-topic-by-email']");s.prop("disabled",!0);var o=a.find("input[name=csrfmiddlewaretoken]").val(),r=a.find("input[name=topic]").val(),l=a.find("input[name=follow]").val(),c=a.find("input[name=page]").val();t.ajax({url:a.attr("action"),type:"POST",dataType:"json",data:{csrfmiddlewaretoken:o,topic:r,follow:l,page:c},success:function(t){t.follow?a.find("input[name=follow]").val(1):(s.hasClass("blue")===!1&&(s.toggleText("content-on-click"),s.addClass("blue"),s.parents("form:first").find("input[name=email]").val(0)),a.find("input[name=follow]").val(0)),n.toggleText("content-on-click"),n.toggleClass("blue yellow"),i()},complete:function(){s.prop("disabled",!1)}}),e.stopPropagation(),e.preventDefault()}),t(".sidebar").on("click","[data-ajax-input='follow-topic-by-email']",function(e){var n=t(this),a=t(this).parents("li:first").prev().find("[data-ajax-input='follow-topic']"),s=t(this).parents("form:first");a.prop("disabled",!0);var o=s.find("input[name=csrfmiddlewaretoken]").val(),r=s.find("input[name=topic]").val(),l=s.find("input[name=email]").val(),c=s.find("input[name=page]").val();t.ajax({url:s.attr("action"),type:"POST",dataType:"json",data:{csrfmiddlewaretoken:o,topic:r,email:l,page:c},success:function(t){t.email?(a.hasClass("yellow")===!1&&(a.toggleText("content-on-click"),a.removeClass("blue"),a.addClass("yellow"),a.parents("form:first").find("input[name=follow]").val(1)),s.find("input[name=email]").val(1)):s.find("input[name=email]").val(0),n.toggleText("content-on-click"),n.toggleClass("blue"),i()},complete:function(){a.prop("disabled",!1)}}),e.stopPropagation(),e.preventDefault()}),t(".sidebar").on("click","[data-ajax-input='solve-topic']",function(e){var n=t(this),a=t(this).parents("form:first"),s=a.find("input[name=csrfmiddlewaretoken]").val(),o=a.find("input[name=topic]").val(),r=a.find("input[name=solved]").val(),l=a.find("input[name=page]").val();t.ajax({url:a.attr("action"),type:"POST",dataType:"json",data:{csrfmiddlewaretoken:s,topic:o,solved:r,page:l},success:function(e){e.solved?a.find("input[name=solved]").val(1):a.find("input[name=solved]").val(0),n.toggleText("content-on-click"),n.toggleClass("green blue"),t("[data-ajax-output='solve-topic']").toggleClass("empty"),i()}}),e.stopPropagation(),e.preventDefault()}),t("#mobile-menu").on("click","[data-ajax-input]",function(e){var i=t(this).data("ajax-input"),n=t(".sidebar").find("button[data-ajax-input='"+i+"']");n[0]&&(t(this).toggleText("content-on-click"),n.click(),e.stopPropagation(),e.preventDefault())}),t(".message-actions").on("click","[data-ajax-input='cite-message']",function(e){var i=t(this),n=t(".md-editor");t.ajax({url:i.attr("href"),dataType:"json",success:function(t){n.val(n.val()+t.text+"\n\n")}}),t("html, body").animate({scrollTop:n.offset().top},500),n.focus(),e.stopPropagation(),e.preventDefault()}),t(".message-bottom").on("click","[data-ajax-input='preview-message']",function(e){var i=t(this).parents("form:first"),n=i.find("input[name=csrfmiddlewaretoken]").val(),a=i.find("textarea[name=text]").val(),s=i.find("input[name=last_post]").val();t.ajax({url:i.attr("action"),type:"POST",data:{csrfmiddlewaretoken:n,text:a,last_post:s,preview:"preview"},success:function(e){t(".previsualisation").remove(),t(e).insertAfter(i),t(e).find("$").length>0&&MathJax.Hub.Queue(["Typeset",MathJax.Hub])}}),e.stopPropagation(),e.preventDefault()}),t(".topic-message").on("click","[data-ajax-input='mark-message-as-useful']",function(e){var i=t(this),n=i.parents("form:first"),a=n.parents("article"),s=a.find("[data-ajax-output='mark-message-as-useful']"),o=n.find("input[name=csrfmiddlewaretoken]").val();t.ajax({url:n.attr("action"),type:"POST",data:{csrfmiddlewaretoken:o},success:function(){a.toggleClass("helpful"),i.toggleText("content-on-click"),s.toggleClass("hidden"),i.blur()}}),e.stopPropagation(),e.preventDefault()})}(jQuery),function(t,e){"use strict";function i(e,i){this.$wrapper=n(t(e)),this.$input=this.$wrapper.find(".autocomplete-input"),this.$dropdown=this.$wrapper.find(".autocomplete-dropdown"),this.$input.on("keyup",this.handleInput.bind(this)),this.$input.on("keydown",this.handleKeydown.bind(this)),this.$input.on("blur",this.hideDropdown.bind(this)),this.options=i,"multiple"===this.options.type&&(this.$form=this.$wrapper.parents("form:first"),this.$form.on("submit",this.handleSubmit.bind(this))),this.selected=-1,this._lastInput=""}function n(e){var i=t(e),n=t("<div/>",{"class":"autocomplete-wrapper"}),a=t("<div/>",{"class":"autocomplete-dropdown"});return i.addClass("autocomplete-input").attr("autocomplete","off").wrap(n).parent().append(a)}i.prototype={cache:{},handleKeydown:function(t){var e;switch(t.which){case 38:t.preventDefault(),t.stopPropagation(),-1===this.selected?this.select(this.$dropdown.find("ul li").last().attr("data-autocomplete-id")):(e=this.$dropdown.find("ul li[data-autocomplete-id="+this.selected+"]").prev("li"),this.select(1===e.length?e.attr("data-autocomplete-id"):-1));break;case 40:t.preventDefault(),t.stopPropagation(),-1===this.selected?this.select(this.$dropdown.find("ul li").first().attr("data-autocomplete-id")):(e=this.$dropdown.find("ul li[data-autocomplete-id="+this.selected+"]").next("li"),this.select(1===e.length?e.attr("data-autocomplete-id"):-1));break;case 13:t.preventDefault(),t.stopPropagation(),this.enter()}},handleInput:function(t){!t||38!==t.which&&40!==t.which&&13!==t.which||(t.preventDefault(),t.stopPropagation());var e=this.$input.val();if(this._lastInput!==e){this._lastInput=e;var i=this.parseInput(e),n=this;i&&i!==this._lastAutocomplete?(this.fetchData(i).done(function(t){n.updateCache(t.results),n.updateDropdown(n.sortList(t.results,i))}).fail(function(){console.error("[Autocompletition] Something went wrong...")}),this.updateDropdown(this.sortList(this.searchCache(i),i)),this.showDropdown()):this.hideDropdown()}},handleSubmit:function(){var t=this.$input.val();", "===t.slice(-2)&&this.$input.val(t.slice(0,-2))},showDropdown:function(){this.$input.is("input")&&this.$dropdown.css("width",this.$input.outerWidth()),this.$dropdown.show()},hideDropdown:function(){this.$dropdown.hide()},select:function(t){this.selected=t,this.$dropdown.find("ul li.active").removeClass("active"),this.$dropdown.find("ul li[data-autocomplete-id="+this.selected+"]").addClass("active")},enter:function(t){t=t||this.selected;var e=this.$input.val(),i=e.substr(-1);if((","===i||-1===t)&&"multiple"===this.options.type)return!1;var n=this.getFromCache(t);if(!n)return!1;if("multiple"===this.options.type){var a=e.lastIndexOf(",");-1!==a?(e=e.substr(0,a)+", "+n[this.options.fieldname]+", ",this.$input.val(e)):this.$input.val(n[this.options.fieldname]+", ")}else this.$input.val(n[this.options.fieldname]);this._lastAutocomplete=n[this.options.fieldname],this.selected=-1,this.$input.trigger("input")},updateCache:function(t){for(var e=0;e<t.length;e++)this.cache[t[e][this.options.fieldname]]=t[e]},extractWords:function(i){var n=t.grep(t.map(i.split(","),t.trim),function(t){return""===t||t===e},!0);return n},parseInput:function(t){if("multiple"===this.options.type){if(","===t.substr(-1)||", "===t.substr(-2))return!1;var e=this.extractWords(t);return 0===e.length?!1:e[e.length-1]}return t},searchCache:function(e){var i=new RegExp(e,"ig");return t.grep(this.cache,function(t){return t["this"].options.fieldname.match(i)})},getFromCache:function(t){for(var e in this.cache)if(parseInt(this.cache[e].id)===parseInt(t))return this.cache[e];return!1},filterData:function(t,e){var i=this.options.fieldname;return t.filter(function(t){return-1===e.indexOf(t[i])})},updateDropdown:function(e){var i=this,n=function(e){e.preventDefault(),e.stopPropagation(),i.enter(t(this).attr("data-autocomplete-id")),i.$input.focus(),i.handleInput()};e=i.filterData(e,i.extractWords(this.$input.val())),e.length>this.options.limit&&(e=e.slice(0,this.options.limit));var a,s=t("<ul>"),o=!1;for(var r in e)t("#my-account .username").text()!==e[r][this.options.fieldname]&&(a=t("<li>").text(e[r][this.options.fieldname]),a.attr("data-autocomplete-id",e[r].id),e[r].id===this.selected&&(a.addClass("active"),o=!0),a.mousedown(n),s.append(a));this.$dropdown.children().remove(),this.$dropdown.append(s),o||this.select(s.find("li").first().attr("data-autocomplete-id"))},sortList:function(t,e){for(var i=[],n=[],a=0;a<t.length;a++)0===t[a][this.options.fieldname].indexOf(e)?i.push(t[a]):n.push(t[a]);var s=function(t,e){var i=t[this.options.fieldname].toLowerCase(),n=e[this.options.fieldname].toLowerCase();return n>i?-1:i>n?1:0};return i.sort(s.bind(this)),n.sort(s.bind(this)),i.concat(n)},fetchData:function(e){return t.getJSON(this.options.url.replace("%s",e))}},t.fn.autocomplete=function(e){var n={type:"single",url:"/api/membres/?search=%s",limit:4,fieldname:"username"};return e||(e=t(this).data("autocomplete")),new i(this,t.extend(n,e))},t(document).ready(function(){t("[data-autocomplete]").autocomplete(),t("#content").on("DOMNodeInserted","input",function(e){var i=t(e.target);i.is("[data-autocomplete]")&&i.autocomplete()})})}(jQuery),function(t,e){"use strict";t(".main").on("click",".close-alert-box:not(.open-modal)",function(e){t(this).parents(".alert-box:first").slideUp(150,function(){t(this).remove()}),e.preventDefault()})}(jQuery),function(t,e,i){"use strict";function n(t){var e=t.parent().parent();"compare-from"===t.attr("name")?(e.prevAll().find("[name='compare-to']").prop("disabled",!1),e.nextAll().find("[name='compare-to']").prop("disabled",!0),e.find("[name='compare-to']").prop("disabled",!0)):(e.prevAll().find("[name='compare-from']").prop("disabled",!0),e.nextAll().find("[name='compare-from']").prop("disabled",!1),e.find("[name='compare-from']").prop("disabled",!0))}e(".commits-list input[name^='compare']").on("change",function(){n(e(this))}),e(t).ready(function(){e(".commits-list input[name^='compare']:checked").each(function(){n(e(this))})}),e(".commits-compare-form").on("submit",function(){var t=e(this),i=t.find("input[name='from']"),n=t.find("input[name='to']"),a=e(".commits-list input[name='compare-from']:checked").val(),s=e(".commits-list input[name='compare-to']:checked").val();i.val(a),n.val(s)})}(document,jQuery),function(t,e,i){"use strict";function n(e){e.attr("tabindex",-1).attr("aria-hidden",!0).on("mousedown",function(){a=!0}).on("mouseup",function(){a=!1}).on("click focus",function(e){return"focus"===e.type&&a?!1:void(t(this).hasClass("dont-click-if-sidebar")&&t(".header-container .mobile-menu-btn").is(":visible")||(e.preventDefault(),e.stopPropagation(),t("#"+t(this).attr("data-click")).trigger(e.type)))})}var a=!1;t(e).ready(function(){n(t("[data-click]")),t("#content").on("DOMNodeInserted","[data-click]",function(e){n(t(e.target))})})}(jQuery,document),function(t,e){"use strict";function i(e){t("body").trigger("click"),e.addClass("active"),e.parent().find(".dropdown-list").scrollTop(0),e.is("[data-active]")&&t("#"+e.attr("data-active")).addClass("active"),e.parents(".logbox").length&&t("html").addClass("dropdown-active"),n(e)}function n(e){e.hasClass("active")?t("body").one("click",function(i){t(i.target).hasClass("dropdown")||t(i.target).parents(".dropdown").length||(e.removeClass("active"),e.next(":tabbable").focus(),e.is("[data-active]")&&t("#"+e.attr("data-active")).removeClass("active")),n(e)}):(t("html").removeClass("dropdown-active"),t(".dropdown :tabbable").off("blur"),e.is("[data-active]")&&t("#"+e.attr("data-active")).removeClass("active"))}var a=!1,s=!1;t(document).on("keydown keyup",function(t){s=t.shiftKey}),t(".dropdown").each(function(){var e=t(this),o=t(this).parent().find("> a");o.parents(".logbox").length||o.addClass("has-dropdown"),o.on("mousedown",function(){a=!0}).on("mouseup",function(){a=!1}).on("click",function(e){return t(this).parents(".header-menu-list").length>0&&parseInt(t("html").css("width"))<960?!0:(e.preventDefault(),e.stopPropagation(),void(t(this).hasClass("active")?(t(this).removeClass("active"),n(t(this))):(i(t(this)),t(this).off("blur"))))}).on("focus",function(r){r.preventDefault(),a||o.hasClass("active")||(i(o),o.off("blur").on("blur",function(){o.one("blur",function(){s&&n(o)}),setTimeout(function(){if(t(":tabbable:focus",e).length){var i=function(){t(":tabbable:last",e).one("blur",function(){return s?void i():(o.removeClass("active"),void n(o))})};i()}else o.removeClass("active"),n(o)},10)}).one("mousemove",function(){t(this).off("blur")}))})}),t(".dropdown-list").on("focus",function(){t(this).find(":tabbable:first").focus()}),t("body").on("keydown",function(e){27===e.which&&t(".has-dropdown.active, .ico-link.active, #my-account.active").focus().removeClass("active")})}(jQuery),function(t,e,i){"use strict";var n={buttons:"bold,italic,strike,abbr,key,monospace#sup,sub#center,right#ul,ol#titles,blockcode,image,quote,link#infoblocks,chars,smilies",tags:{bold:{title:"Gras",start:"**",end:"**",useless:!0},italic:{title:"Italique",start:"*",end:"*",useless:!0},strike:{title:"Barré",start:"~~",end:"~~",useless:!0},sup:{title:"Exposant",start:"^",end:"^"},sub:{title:"Indice",start:"~",end:"~"},abbr:{title:"Abréviation"},key:{title:"Touche",start:"||",end:"||"},titles:{title:"Titres",action:"buildTitles"},ul:{title:"Liste à puces"},ol:{title:"Liste ordonnée"},center:{title:"Aligner au centre",start:"-> ",end:" <-"},right:{title:"Aligner à droite",start:"-> ",end:" ->",useless:!0},quote:{title:"Citation"},image:{title:"Image"},link:{title:"Lien"},table:{title:"Tableau"},infoblocks:{title:"Blocs spéciaux",action:"buildInfoblocks"},information:{title:"Bloc Information"},question:{title:"Bloc Question"},attention:{title:"Bloc Attention"},error:{title:"Bloc Erreur"},secret:{title:"Bloc masqué"},monospace:{title:"Code inline",start:"`",end:"`"},blockcode:{title:"Bloc de code coloré",action:"buildCode"},math:{title:"Formule mathématique",start:"$",end:"$"},hr:{title:"Ligne horizontalle",start:"\n\n------\n\n",end:"",useless:!0},chars:{title:"Caractères spéciaux",action:"buildChars"},smilies:{title:"Smileys",action:"buildSmilies",useless:!0},footnote:{title:"Note en bas de page"}},codes:{Web:{html:{title:"HTML"},css:{title:"CSS"},js:{title:"Javascript"},php:{title:"PHP"},jfx:{title:"JavaFX"},cf:{title:"ColdFusion"},as3:{title:"Actionscript 3"},pl:{title:"Perl"},sql:{title:"SQL"},xml:{title:"XML"}},Prog:{c:{title:"C"},cpp:{title:"C++"},csharp:{title:"C#"},java:{title:"Java"},delphi:{title:"Delphi"},py:{title:"Python"},ruby:{title:"Ruby"},pascal:{title:"Pascal"},vb:{title:"Visual Basic"},vbnet:{title:"VB.NET"}},Autres:{bash:{title:"Bash"},diff:{title:"Diff"},erl:{title:"Erlang"},scala:{title:"Scala"},groovy:{title:"Groovy"},ps:{title:"PowerShell"},text:{title:"Autre"}}},chars:{Typo:{char_g0:{title:"« »",start:"« ",end:" »"},char_gl:{title:"«",start:"« ",end:""},char_gr:{title:"»",start:" »",end:""},char_h0:{title:"“ ”",start:"“",end:"”"},char_hl:{title:"“",start:"“",end:""},char_hr:{title:"”",start:"”",end:""},char_su:{title:"…",start:"…",end:""},char_ti:{title:"−",start:"−",end:""},char_ca:{title:"—",start:"—",end:""}},"Caractères":{char_in:{title:"Insécable",start:" ",end:""},char_ag:{title:"À",start:"À",end:""},char_cc:{title:"Ç",start:"Ç",end:""},char_ea:{title:"É",start:"É",end:""},char_eg:{title:"È",start:"È",end:""},char_oe:{title:"œ",start:"œ",end:""},char_eo:{title:"Œ",start:"Œ",end:""}}},smilies:{0:{smiley_sm:{title:":)",start:":)",end:"",image:"https://zestedesavoir.com/static/smileys/smile.png"},smiley_he:{title:":D",start:":D",end:"",image:"https://zestedesavoir.com/static/smileys/heureux.png"},smiley_cl:{title:";)",start:";)",end:"",image:"https://zestedesavoir.com/static/smileys/clin.png"},smiley_la:{title:":p",start:":p",end:"",image:"https://zestedesavoir.com/static/smileys/langue.png"},smiley_ri:{title:":lol:",start:":lol:",end:"",image:"https://zestedesavoir.com/static/smileys/rire.gif"},smiley_un:{title:":euh:",start:":euh:",end:"",image:"https://zestedesavoir.com/static/smileys/unsure.gif"},smiley_tr:{title:":(",start:":(",end:"",image:"https://zestedesavoir.com/static/smileys/triste.png"},smiley_hu:{title:":o",start:":o",end:"",image:"https://zestedesavoir.com/static/smileys/huh.png"}},1:{smiley_c1:{title:":colere2:",start:":colere2:",end:"",image:"https://zestedesavoir.com/static/smileys/mechant.png"},smiley_oo:{title:"o_O",start:"o_O",end:"",image:"https://zestedesavoir.com/static/smileys/blink.gif"},smiley_uu:{title:"^^",start:"^^",end:"",image:"https://zestedesavoir.com/static/smileys/hihi.png"},smiley_si:{title:":-°",start:":-°",end:"",image:"https://zestedesavoir.com/static/smileys/siffle.png"},smiley_an:{title:":ange:",start:":ange:",end:"",image:"https://zestedesavoir.com/static/smileys/ange.png"},smiley_c2:{title:":colere:",start:":colere:",end:"",image:"https://zestedesavoir.com/static/smileys/angry.gif"},smiley_di:{title:":diable:",start:":diable:",end:"",image:"https://zestedesavoir.com/static/smileys/diable.png"},smiley_ma:{title:":magicien:",start:":magicien:",end:"",image:"https://zestedesavoir.com/static/smileys/magicien.png"}},2:{smiley_ni:{title:":ninja:",start:":ninja:",end:"",image:"https://zestedesavoir.com/static/smileys/ninja.png"},smiley_gd:{title:"&gt;_&lt;",start:"&gt;_&lt;",end:"",image:"https://zestedesavoir.com/static/smileys/pinch.png"},smiley_pi:{title:":pirate:",start:":pirate:",end:"",image:"https://zestedesavoir.com/static/smileys/pirate.png"},smiley_pl:{title:":'(",start:":'(",end:"",image:"https://zestedesavoir.com/static/smileys/pleure.png"},smiley_ro:{title:":honte:",start:":honte:",end:"",image:"https://zestedesavoir.com/static/smileys/rouge.png"},smiley_so:{title:":soleil:",start:":soleil:",end:"",image:"https://zestedesavoir.com/static/smileys/soleil.png"},smiley_ww:{title:":waw:",start:":waw:",end:"",image:"https://zestedesavoir.com/static/smileys/waw.png"},smiley_zz:{title:":zorro:",start:":zorro:",end:"",image:"https://zestedesavoir.com/static/smileys/zorro.png"}}},titles:{link:"Lien hypertexte",abbr:"Abréviation",image:"Image"},isExecuted:!1,selection:null,currentElemPopup:null,addEvent:function(t,e,i){t.addEventListener?t.addEventListener(e,i,!1):t.attachEvent("on"+e,i)},init:function(){function i(t){var e=r.cloneNode(!0);return e.addEventListener("click",n.validatePopup.bind(n,t)),e}for(var n=this,a=e.getElementsByTagName("textarea"),s=0,o=a.length;o>s;s++)/md.editor/.test(a[s].className)&&this.setup(a[s].id);this.addEvent(e.getElementById("content"),"DOMNodeInserted",function(t){return function(e){/md.editor/.test(e.target.className)&&t.setup(e.target.id)}}(this));var r=e.createElement("a");r.className="btn btn-submit",r.innerHTML="Valider",r.href="javascript:;",this.modals={},this.modals.link=new t.Modal({title:this.titles.link,body:"<div><label for=zform-modal-link-href>Lien :</label><input type=text id=zform-modal-link-href /></div><div><label for=zform-modal-link-text>Texte :</label><input type=text id=zform-modal-link-text /></div>",footer:i("link")}),this.modals.image=new t.Modal({title:this.titles.image,body:"<div><label for=zform-modal-image-src>URL :</label><input type=text id=zform-modal-image-src /></div><div><label for=zform-modal-image-text>Texte :</label><input type=text id=zform-modal-image-text /></div>",footer:i("image")}),this.modals.abbr=new t.Modal({title:this.titles.abbr,body:"<div><label for=zform-modal-abbr-abbr>Abbréviation :</label><input type=text id=zform-modal-abbr-abbr /></div><div><label for=zform-modal-abbr-text>Texte :</label><input type=text id=zform-modal-abbr-text /></div>",footer:i("abbr")})},setup:function(t){var i=e.getElementById(t),n=e.createElement("ul"),a=this;n.className="zform-toolbar hide-for-small",i.parentNode.insertBefore(n,i),this.isExecuted||(this.addEvent(e,"click",function(t){if(~t.target.className.indexOf("zform-button")&&!~t.target.className.indexOf("zform-subbutton"))return t.stopPropagation();for(var i=e.getElementsByClassName("zform-popup"),n=0;i[n];)("dontclose"!==i[n].getAttribute("data-zform-info")||"textarea"===t.target.nodeName.toLowerCase())&&(i[n].style.display="none",a.currentElemPopup=i[n]==a.currentElemPopup?null:a.currentElemPopup),n++},!1),this.isExecuted=!0);for(var s,o,r,l,c=this.buttons.split("#"),d=0,u=c.length;u>d;d++){s=c[d].split(",");for(var p=0,m=s.length;m>p;p++)(l=this.tags[s[p]])?(o=n.appendChild(e.createElement("li")),r=o.appendChild(this.createButton(l,{display:"button",type:s[p],textarea:t}))):alert("La valeur '"+s[p]+"' n'est pas reconnue comme étant une valeur correcte pour un bouton de zForm ! Corrigez votre syntaxe.");r.style.marginRight="20px"}},createButton:function(t,i){var n,a=e.createElement("button"===i.display?"a":"span");if(a.className="button"===i.display?"ico-after zform-button zform-button-"+i.type:"zform-subbutton-span-"+i.type,t.useless&&(a.className+=" zform-button-useless"),a.setAttribute("data-zform-textarea",i.textarea),a.title=t.title,a.innerHTML=t.title,"span"===i.display&&(a.style.display="block"),t.hasOwnProperty("image")&&(a.innerHTML='<img src="'+t.image+'" alt="'+t.title+'" />'),t.action){var s=this;a.style.position="relative",this.currentElemPopup&&(a.removeChild(this.currentElemPopup),this.currentElemPopup=null),this.addEvent(a,"click",function(t,e){t.preventDefault(),(e=this.getElementsByTagName("div")[0])&&(e.style.display="block",s.currentElemPopup&&(s.currentElemPopup.style.display="none"),s.currentElemPopup==e?s.currentElemPopup=null:s.currentElemPopup=e)}),n=a.appendChild(e.createElement("div")),n.className="zform-popup",n.style.position="absolute",n.style.display="none",n.style.left="0",n.style.width="auto",n.style.whiteSpace="nowrap",n.style.textAlign="left",n=this[t.action](n,t,i.textarea)}else this.addEvent(a,"click",function(t,e,i,n,a){return function(s){i.wrap(t.start,t.end,e,n,a),this.style.fontWeight="bold"}}(t,i.textarea,this,i.type,i.extra),!1);return a},openPopup:function(t){return this.modals[t].open(),!1},closePopup:function(){t.Modal.closeCurrent()},validatePopup:function(t){t=t||this.selection.type,this.selection&&this.selection.type&&this.wrap("___","+++",this.selection.textareaId,t,null,!0),this.closePopup()},buildTitles:function(t,i,n,a){for(var s=1;4>=s;s++)a=t.appendChild(e.createElement("a")),a.className="ico-after zform-button zform-subbutton zform-button-title"+s,a.title="Titre de niveau "+s,a.innerText="Titre de niveau "+s,this.addEvent(a,"mousedown",function(t,e,i){return function(n){n.preventDefault(),t.wrap("","",e,i)}}(this,n,"title"+s),!1);return t},buildInfoblocks:function(t,i,n,a){for(var s=["information","question","attention","error","secret"],o=0;5>o;o++)a=t.appendChild(e.createElement("a")),a.className="ico-after zform-button zform-subbutton zform-button-"+s[o],a.title=this.tags[s[o]].title,a.innerText=this.tags[s[o]].title,this.addEvent(a,"mousedown",function(t,e,i){return function(n){n.preventDefault(),t.wrap("","",e,i)}}(this,n,s[o]),!1);return t},buildColumnous:function(t,i,n){var a,s,o;for(var r in n.src){a=t.appendChild(e.createElement("div")),a.className="zform-code-col",isNaN(r)&&(s=a.appendChild(e.createElement("b")),s.style.display="block",s.style.fontWeight="bold",s.innerHTML=r);for(o in n.src[r])n.extra=o,a.appendChild(this.createButton(n.src[r][o],n))}return t},buildCode:function(t,e,i){return this.buildColumnous(t,e,{textarea:i,src:this.codes,type:"blockcode",display:"span"})},buildChars:function(t,e,i){return this.buildColumnous(t,e,{textarea:i,src:this.chars,type:"chars",display:"span"})},buildSmilies:function(t,e,i){return this.buildColumnous(t,e,{textarea:i,src:this.smilies,type:"smiley",display:"span"})},wrap:function(t,i,n,a,s,o){var r=e.getElementById(n),l=r.scrollTop,c=o?this.selection:{before:null,current:null,after:null,range:null,startTag:t,endTag:i,textareaId:n,type:a,options:s};r.focus(),r.setSelectionRange?(o||(c.before=r.value.substring(0,r.selectionStart),c.current=r.value.substring(r.selectionStart,r.selectionEnd),c.after=r.value.substring(r.selectionEnd)),r.blur(),(c=this.tagType(c,c.type,c.options,o))&&(r.value=c.before+c.startTag+c.current+c.endTag+c.after,r.focus(),r.setSelectionRange(c.before.length+c.startTag.length,c.before.length+c.startTag.length+c.current.length))):(o||(c.range=e.selection.createRange(),c.current=c.range.text),(c=this.tagType(c,c.type,c.options,o))&&(c.range.text=c.startTag+c.current+c.endTag,c.range.moveStart("character",-c.endTag.length-c.current.length),c.range.moveEnd("character",-c.endTag.length),c.range.select())),r.scrollTop=l},tagType:function(t,i,n,a){function s(t,e){for(var i=t.split("\n"),n=0===e,a=0,s=i.length;s>a;a++)i[a]=(n?++e+".":e)+" "+i[a];return i.join("\n")}if(!i)return t;this.selection=t;var o,r,l,c="";switch(i){case"link":if(!a)return l=new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?"),this.openPopup(i),
+l.test(t.current)?(e.getElementById("zform-modal-link-href").value=t.current,e.getElementById("zform-modal-link-text").value="",e.getElementById("zform-modal-link-text").focus()):(e.getElementById("zform-modal-link-text").value=t.current,e.getElementById("zform-modal-link-href").value="",e.getElementById("zform-modal-link-href").focus()),!1;o=e.getElementById("zform-modal-link-href").value,r=e.getElementById("zform-modal-link-text").value,t.current="["+r+"]("+o+")";break;case"image":if(!a)return l=new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?"),this.openPopup(i),l.test(t.current)?(e.getElementById("zform-modal-image-src").value=t.current,e.getElementById("zform-modal-image-text").value="",e.getElementById("zform-modal-image-text").focus()):(e.getElementById("zform-modal-image-text").value=t.current,e.getElementById("zform-modal-image-src").value="",e.getElementById("zform-modal-image-src").focus()),!1;var d=e.getElementById("zform-modal-image-src").value;r=e.getElementById("zform-modal-image-text").value||"Image utilisateur",t.current="!["+r+"]("+d+")";break;case"quote":t.current=s(t.current,">");break;case"information":case"attention":case"question":case"secret":t.current="[["+i+"]]\n"+s(t.current,"|");break;case"error":t.current="[[erreur]]\n"+s(t.current,"|");break;case"ul":t.current=s(t.current,"-");break;case"ol":t.current=s(t.current,0);break;case"title1":case"title2":case"title3":case"title4":for(var u=0,p=parseInt(i.charAt(5));p>u;u++)c+="#";t.current=t.current.replace(/^\s*?/,c+" ");break;case"footnote":if(!t.current)return;(c=prompt("Entrez la signification de cette abréviation"))&&(t.after+="\n\n*["+t.current+"]: "+c);break;case"abbr":if(this.openPopup(i),!a)return t.current.length<10?(e.getElementById("zform-modal-abbr-abbr").value=t.current,e.getElementById("zform-modal-abbr-text").value="",e.getElementById("zform-modal-abbr-text").focus()):(e.getElementById("zform-modal-abbr-text").value=t.current,e.getElementById("zform-modal-abbr-abbr").value="",e.getElementById("zform-modal-abbr-abbr").focus()),!0;var m=e.getElementById("zform-modal-abbr-text").value;""===m.trim()&&(m=e.getElementById("zform-modal-abbr-abbr").value),t.after+="\n\n*["+e.getElementById("zform-modal-abbr-abbr").value+"]: "+m;break;case"blockcode":t.startTag="```"+t.options+(0===t.current.indexOf("\n")?"":"\n"),t.endTag="\n```"}return t.startTag||(t.startTag=""),t.endTag||(t.endTag=""),t}};n.addEvent(t,"load",function(t){return function(){t.init()}}(n))}(window,document),function(t,e){"use strict";t(".md-editor").on("keydown",function(e){!e.ctrlKey&&!e.metaKey||13!==e.which||e.altKey||e.shiftKey||(e.preventDefault(),t(".message-submit > button[name=answer]").click())})}(jQuery),function(t,e){function i(e,i){var n=t(i);e.image?n.find(".featured-resource-illu").show().attr("src",e.image):n.find(".featured-resource-illu").hide(),n.find("h3").text(e.title),n.find(".featured-resource-description").html(e.description),n.find("a").attr("href",e.link)}function n(t,e){var i=e;return t.length>0&&(i+=" par "+t),i}t(".featured-resource-edit-form form input").on("change input",function(){i({image:t(".featured-resource-edit-form input[name=image_url]").val(),title:t(".featured-resource-edit-form input[name=title]").val(),description:n(t(".featured-resource-edit-form input[name=authors]").val(),t(".featured-resource-edit-form input[name=type]").val()),link:t(".featured-edit-form input[name=url]").val()},t(".featured-resource-edit-form .featured-resource-item"))})}(jQuery),function(t,e){"use strict";var i=t("main [data-solved-topics-url]");i.length>0}(jQuery),function(t,e){"use strict";if(t("body").hasClass("form-email-username")){var i=t("#id_email"),n=t("#form-email"),a=t("[data-form-email-username-button=email]"),s=t("#id_username"),o=t("#form-username"),r=t("[data-form-email-username-button=username]");""===i.val()?n.addClass("hidden"):n.removeClass("hidden"),a.on("click",function(t){n.toggleClass("hidden"),o.addClass("hidden"),s.val(""),t.preventDefault()}),""===s.val()?o.addClass("hidden"):o.removeClass("hidden"),r.on("click",function(t){o.toggleClass("hidden"),n.addClass("hidden"),i.val(""),t.preventDefault()})}}(jQuery),function(t,e){"use strict";var i=t(".toggle-gallery-view"),n=t(".gallery"),a=function(){i.text(n.hasClass("list-view")?"Vue grille":"Vue liste")};i.length>0&&(i.on("click",function(){n.hasClass("list-view")?n.removeClass("list-view").addClass("grid-view"):n.removeClass("grid-view").addClass("list-view"),a()}),a());var s=function(){this.checked?t(this).parents(".gallery-item").addClass("selected"):t(this).parents(".gallery-item").removeClass("selected")};n.length>0&&t(".gallery-item input[type=checkbox]").on("change",s).each(s)}(jQuery),function(t){"use strict";function e(e){function i(e){return t.expr.filters.visible(e)&&!t(e).parents().addBack().filter(function(){return"hidden"===t.css(this,"visibility")}).length}var n,a,s,o=e.nodeName.toLowerCase(),r=!isNaN(t.attr(e,"tabindex"));return"area"===o?(n=e.parentNode,a=n.name,e.href&&a&&"map"===n.nodeName.toLowerCase()?(s=t("img[usemap=#"+a+"]")[0],!!s&&i(s)):!1):(/input|select|textarea|button|object/.test(o)?!e.disabled:"a"===o?e.href||r:r)&&i(e)}t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,n){return!!t.data(e,n[3])},focusable:function(i){return e(i,!isNaN(t.attr(i,"tabindex")))},tabbable:function(i){var n=t.attr(i,"tabindex"),a=isNaN(n);return(a||n>=0)&&e(i,!a)}})}(jQuery),function(t,e){"use strict";var i=function(t){if(this.message=t,!this.message.is(".topic-message"))throw new Error("Target is not a .topic-message");this.init(),this.message.data("karma",this)};i.prototype={updateInterval:3e4,init:function(){this.karmaElem=this.message.find(".message-karma"),this.karmaURI=this.karmaElem.data("karma-uri"),this.csrf=t("input[name=csrfmiddlewaretoken]").val(),this.like={},this.dislike={},this.like.button=this.karmaElem.find(".upvote"),this.dislike.button=this.karmaElem.find(".downvote"),this.like.tooltip=this.like.button.tooltip(this.like.button.hasClass("has-vote")?"Chargement...":""),this.dislike.tooltip=this.dislike.button.tooltip(this.dislike.button.hasClass("has-vote")?"Chargement...":""),t(this.like.tooltip.elem).add(this.dislike.tooltip.elem).on("click",this.showDetails.bind(this)),this.like.listElem=t("<ul>",{"class":"vote-list like"}),this.dislike.listElem=t("<ul>",{"class":"vote-list dislike"}),this.canVote=this.karmaElem.hasClass("can-vote"),this.updateInterval=3e4,this.canVote&&(this.like.button.on("click",this.vote.bind(this,"like")),this.dislike.button.on("click",this.vote.bind(this,"dislike"))),this.like.button.on("mouseover",this.regularUpdate.bind(this)),this.dislike.button.on("mouseover",this.regularUpdate.bind(this)),this.like.button.hasClass("voted")?this.currentVote="like":this.dislike.button.hasClass("voted")?this.currentVote="dislike":this.currentVote="neutral"},vote:function(e,i){e===this.currentVote&&(e="neutral"),t.ajax({method:"PUT",url:this.karmaURI,data:{vote:e},headers:{"X-CSRFToken":this.csrf}}).done(this.update.bind(this)),i&&(i.preventDefault(),i.stopPropagation())},fetchUpdate:function(){var e=this;this.updating||(this.updating=!0,t.getJSON(this.karmaURI).done(this.update.bind(this)).always(function(){e.updating=!1}))},regularUpdate:function(){(!this.lastUpdate||this.lastUpdate+this.updateInterval<Date.now())&&(this.fetchUpdate(),this.lastUpdate=Date.now())},update:function(t){this.updateOne(t,"like","dislike"),this.updateOne(t,"dislike","like"),this.currentVote=t.user},updateOne:function(e,i,n){e[i].count>0?this[i].button.addClass("has-vote"):this[i].button.removeClass("has-vote"),e[i].count>e[n].count?this[i].button.addClass("more-voted"):this[i].button.removeClass("more-voted"),e.user===i?this[i].button.addClass("voted"):this[i].button.removeClass("voted");var a=e[i].count+" personne";a+=1===e[i].count&&"like"===i?" a":1===e[i].count&&"dislike"===i?" n'a pas":"like"===i?"s ont":"s n'ont pas",a+=" trouvé ce message utile";var s;if(this.canVote?(s="Ce message "+("like"===i?"est":"n'est pas")+" utile",0!==e[i].count&&(s+=" ("+a+")")):s=a,this[i].button.attr("title",s),this[i].button.text(("like"===i?"+":"-")+e[i].count),e[i].hasOwnProperty("users")){var o=e[i].users.slice(0,9),r=e[i].count-o.length,l=t("#my-account .username").text(),c=o.map(function(t){return t.username===l?"Vous ("+t.username+")":t.username}).join("<br>");if(r>0&&(""!==c?c+="<br> et "+r+" autre":c=r+" vote",1!==r&&(c+="s")),this[i].tooltip.setContent(c),this[i].listElem.empty(),0===e[i].count)t("<li>",{"class":"muted",text:"Pas de votes "+("like"===i?"positifs":"négatifs")}).appendTo(this[i].listElem);else{this[i].listElem.append(e[i].users.map(function(e){return t("<li>").append(t("<a>",{href:e.html_url,text:e.username}).prepend(t("<img />",{src:e.avatar_url})))}));var d=e[i].count-e[i].users.length;d&&t("<li>",{text:d+" anonyme"+(1===d?"":"s"),"class":"muted"}).appendTo(this[i].listElem)}}},showDetails:function(){if(!this.detailsModal){var e=t("<div>",{"class":"vote-details"}).append(t("<div>",{"class":"vote-col"}).append(t("<h3>",{text:"Votes positifs"})).append(this.like.listElem)).append(t("<div>",{"class":"vote-col"}).append(t("<h3>",{text:"Votes négatifs"})).append(this.dislike.listElem));this.detailsModal=new window.Modal({title:"Détail des votants",titleIcon:"hide light",body:e,closeText:"Fermer"})}this.detailsModal.open()}},t.fn.karma=function(){if(1!==this.length)return t(this).map(function(e,i){t(i).karma()});var e;e=t(this).is(".topic-message")?t(this):t(this).parents(".topic-message");var n=e.data("karma");return n?n:new i(e)},t(document).ready(function(){t(".topic-message").has(".message-karma").karma()})}(jQuery),function(t,e,i){"use strict";e(t).ready(function(){function i(t){t.addClass("active").find(".navigable-link").focus()}var n=e("#content .navigable-list");if(n.length>0){var a=n.find(".navigable-elem");e("body").on("keydown",function(s){if(!e(t.activeElement).is(":input")&&(74===s.which||75===s.which)){var o=n.find(".navigable-elem.active"),r=null;if(1===o.length){var l=a.index(o);75===s.which?l>0&&(r=l-1):l+1<a.length&&(r=l+1)}else r=0;null!==r&&(o.removeClass("active"),i(a.eq(r)))}}),e("#content .navigable-list").on("focus",".navigable-link",function(){e(this).parents(".navigable-elem:first").hasClass("active")||(n.find(".navigable-elem.active").removeClass("active"),i(e(this).parents(".navigable-elem")))}).on("blur",".navigable-link",function(){e(this).parents(".navigable-elem:first").removeClass("active")})}e("#content").on("DOMNodeInserted",".navigable-list, .navigable-elem",function(){n=e("#content .navigable-list")})})}(document,jQuery),function(t,e,i){"use strict";function n(t){t.each(function(){var t=e("<div/>",{"class":"markdown-help",html:'<div class="markdown-help-more"><p>Les simples retours à la ligne ne sont pas pris en compte. Pour créer un nouveau paragraphe, pensez à <em>sauter une ligne</em> !</p><pre><code>**gras** \n*italique* \n[texte de lien](url du lien) \n> citation \n+ liste à puces </code></pre><a href="//zestedesavoir.com/tutoriels/221/rediger-sur-zds/">Voir la documentation complète du markdown</a><p>Vous pouvez également <a href="//zestedesavoir.com/tutoriels/202/comment-rediger-des-maths-sur-zeste-de-savoir/">écrire des formules mathématiques</a> en encadrant ces dernières du signe dollar ($) !</p></div><a href="#open-markdown-help" class="open-markdown-help btn btn-grey ico-after help"><span class="close-markdown-help-text">Masquer</span><span class="open-markdown-help-text">Afficher</span> l\'aide Markdown</a>'});e(this).after(t),e(".open-markdown-help, .close-markdown-help",t).click(function(i){e(".markdown-help-more",t).toggleClass("show-markdown-help"),i.preventDefault(),i.stopPropagation()})})}e(t).ready(function(){n(e(".md-editor")),e("#content").on("DOMNodeInserted",".md-editor",function(t){var i=e(t.target);i.next().hasClass("markdown-help")===!1&&n(i)})})}(document,jQuery),function(t,e){"use strict";t("#content [href^=#show-message-hidden]").on("click",function(e){t(this).parents(".message:first").find(".message-hidden-content").toggle(),e.preventDefault()})}(jQuery),function(t,e){"use strict";t(".message-bottom .signature").on("click",function(){t(this).toggleClass("full")})}(jQuery),function(t,e,i,n){"use strict";function a(t,e){if(!t.hasClass("mobile-menu-imported")){if(e)return t.addClass("mobile-menu-imported"),void t.clone().removeAttr("id").appendTo("#mobile-menu");var n=i("<div/>");n.addClass("mobile-menu-bloc"),n.attr("data-title",t.attr("data-title")),t.hasClass("mobile-show-ico")&&n.addClass("mobile-show-ico");var a=t.hasClass("mobile-all-links")?i("a, button, span.disabled",t).not(".action-hover").addClass("mobile-menu-link"):i(".mobile-menu-link",t);a.each(function(){if(0===i(this).parents(".mobile-menu-imported, .modal").length){var t,e=i(this).clone().addClass("light");if(i(this).is("button")){var a=i(this).parents("form:first");a.attr("id")?t=a.attr("id"):(t="form"+i(".identified-form").length,a.attr("id",t).addClass("identified-form")),e.attr("form",t)}n.append(e)}}),t.addClass("mobile-menu-imported"),n.appendTo(i("#mobile-menu"))}}function s(t){var n;null===t&&(t=!i("html").hasClass("show-mobile-menu")),i("body").removeClass("swipping");var a=e.querySelector('meta[name="viewport"]');t?i("html").hasClass("show-mobile-menu")||(n=i(e).scrollTop(),i(".page-container").css({"margin-top":"-"+n+"px","padding-bottom":n+"px"}),i("html").addClass("show-mobile-menu"),a.content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0"):(i("html").removeClass("show-mobile-menu"),n=parseInt(i(".page-container").css("padding-bottom")),i(".page-container").css({"margin-top":"","padding-bottom":""}),n>0&&i(e).scrollTop(n),i("body").removeClass("swipping"),setTimeout(function(){i("#mobile-menu").scrollTop(0),a.content="width=device-width, minimum-scale=1.0, initial-scale=1.0",i("html").css({position:"absolute",left:"0"}),setTimeout(function(){i("html").removeAttr("style")},500)},200))}var o=navigator.userAgent,r=o.indexOf("Android")>-1&&o.indexOf("Mozilla/5.0")>-1&&o.indexOf("AppleWebKit")>-1,l=new RegExp(/AppleWebKit\/([\d.]+)/),c=l.exec(o),d=null===c?null:parseFloat(l.exec(o)[1]),u=r&&null!==d&&537>d;u&&i("html").removeClass("enable-mobile-menu");for(var p="",m=["transform","msTransform","MozTransform","WebkitTransform","OTransform"],h=["","-ms-","-moz-","-webkit-","-o-"],f=e.createElement("div"),v=0;v<m.length;++v)if("undefined"!=typeof f.style[m[v]]){p=h[v];break}p+="transform",i(t).on("resize",function(){if(parseInt(i("html").css("width"))<960&&!u){if(i(".page-container").css("width",i("html").css("width")),i("#mobile-menu").hasClass("initialized")||(i("#mobile-menu").addClass("initialized"),i(".mobile-menu-btn").on("click",function(t){i("html").hasClass("show-mobile-menu")||(s(!0),t.preventDefault(),t.stopPropagation())}),a(i("#search"),!0),a(i(".logbox .my-account"),!0),a(i(".header-menu")),i(".page-container .mobile-menu-bloc .mobile-menu-bloc").each(function(){a(i(this))}),i(".page-container .mobile-menu-bloc:not(.my-account-dropdown)").each(function(){a(i(this))}),a(i(".my-account-dropdown"))),!i("#mobile-menu").hasClass("initialized-events")){var t=0,e=50,n=!1;i("body").on("touchstart",function(e){t=parseInt(e.originalEvent.touches[0].pageX,10)-i(".page-container").offset().left}),i(".page-container").on("touchmove",function(a){if(n||parseInt(a.originalEvent.touches[0].pageX,10)-i(this).offset().left<e){a.preventDefault(),i("body:not(.swipping)").addClass("swipping"),n=!0;var s=parseInt(a.originalEvent.touches[0].pageX,10)-t;if(s=100*s/parseInt(i("html").width()),s>0&&90>s){var o={};o[p]="translate3d("+s+"%, 0, 0)",i(this).css(o),s=20*s/90-20,o[p]="translate3d("+s+"%, 0, 0)",i("#mobile-menu").css(o)}}}).on("touchend touchleave touchcancel",function(){if(n){var t=parseInt(i(this).offset().left),e=parseInt(i("html").width()),a=t>e/3&&!i("html").hasClass("show-mobile-menu")||t>e-e/3&&i("html").hasClass("show-mobile-menu");s(a),n=!1,i("body").removeClass("swipping");var o={};o[p]="",i(".page-container, #mobile-menu").css(o)}}),i(".page-container").on("click",function(t){i("html").hasClass("show-mobile-menu")&&(s(!1),t.preventDefault(),t.stopPropagation())}),i("#mobile-menu").addClass("initialized-events")}}else i("html").removeClass("show-mobile-menu"),i("#mobile-menu").removeClass("initialized-events"),i(".page-container").removeAttr("style"),i(".page-container").off("click touchstart touchmove touchend")}),i(t).trigger("resize"),i(t).on("resize",function(){if(parseInt(i("html").css("width"))<960&&!u){var t=i(".sidebar .new-btn:not(.mobile-btn-imported)");if(t.length>0){var e=i("#content").find("> .content-wrapper, > .full-content-wrapper, > .content-col-2").first().find("h1, h2").first();e.next(".license").length>0&&(e=e.next(".license")),e.next(".subtitle").length>0&&(e=e.next(".subtitle")),e.next(".taglist").length>0&&(e=e.next(".taglist"));var n=i("<div/>",{"class":"new-btn-container"});t.each(function(){n.append(i(this).clone().removeAttr("id").removeClass("blue")),i(this).addClass("mobile-btn-imported")}),e.after(n)}}}),i(t).trigger("resize")}(window,document,jQuery),function(t,e,i){"use strict";function n(t){t.each(function(){var t=e("[href=#"+e(this).attr("id")+"]:first"),i="";t.hasClass("ico-after")&&(i=t.attr("class").split(" ").concat(["light"]).filter(function(t){return-1===["","ico-after","open-modal","blue"].indexOf(t)&&-1===t.indexOf("btn-")}).join(" ")),new a({title:t.text(),footer:e(this).find(".btn, [type=submit]").filter(":not(.modal-inner)").detach(),body:e(this).children(),modal:e(this),closeText:e(this).is("[data-modal-close]")?e(this).attr("data-modal-close"):"Annuler",titleIcon:i})})}var a=function(t){this.options=e.extend({titleIcon:"",closeText:"Annuler"},t),a._initialized||this.firstRun(),this.init()};a.closeCurrent=function(){a.current.modal.removeClass("open"),a.container.removeClass("open"),e("html").removeClass("dropdown-active"),a.current=null},a.openModal=function(t){a.list[t]&&a.list[t].open()},a.prototype={firstRun:function(){a.container=e("<div>",{"class":"modals-container"}),a.wrapper=e("<div>",{"class":"modals-wrapper"}),a.overlay=e("<div>",{"class":"modals-overlay"}),a.container.append(a.wrapper).append(a.overlay).appendTo(e("body")),a.list=[],a._initialized=!0,a.nextId=0,a.overlay.on("click",a.closeCurrent),e("body").on("click",".open-modal",function(t){a.openModal(e(this).attr("href").substring(1)),t.preventDefault(),t.stopPropagation()}).on("keydown",function(e){if(a.current&&27===e.which)a.closeCurrent(),e.stopPropagation();else if(a.current&&13===e.which&&("TEXTAREA"!==t.activeElement.tagName||e.ctrlKey)){var i=a.current.footer.find(".btn-submit").get(0);i&&i.click()}})},init:function(){this.modal=this.options.modal||e("<div>",{"class":"modal modal-flex"}),this.id=this.modal.attr("id")||"noid-"+a.nextId++,this.title=e("<div>",{"class":"modal-title",text:this.options.title}),this.options.titleIcon&&this.title.addClass(this.options.titleIcon+" ico-after"),this.body=e("<div>",{"class":"modal-body"}).append(this.options.body),this.footer=e("<div>",{"class":"modal-footer"}).append(this.options.footer).append(e("<a>",{"class":"btn btn-cancel",href:"#close-modal",text:this.options.closeText,click:function(t){a.closeCurrent(),t.preventDefault(),t.stopPropagation()}})),this.modal.addClass("tab-modalize").append(this.title,this.body,this.footer).appendTo(a.wrapper),a.list[this.id]=this},open:function(){a.current&&a.closeCurrent(),this.modal.addClass("open"),a.container.addClass("open"),a.current=this,this.body.find("input:visible, select, textarea").first().focus(),e("html").hasClass("enable-mobile-menu")||e("html").addClass("dropdown-active")},close:function(){a.closeCurrent()}},window.Modal=a,e(t).ready(function(){n(e(".modal")),e("#content").on("DOMNodeInserted",".modal",function(t){n(e(t.target))})})}(document,jQuery),function(t,e){"use strict";t("body").on("change",".select-autosubmit",function(){t(this).parents("form:first").submit()})}(jQuery);var LetItSnow=function(t){this._parent=t,this._canvas=document.createElement("canvas"),this.resize(),this._canvas.style.zIndex=-1,this._canvas.style.position="absolute",this._canvas.style.top=this._canvas.style.left=this._canvas.style.right=this._canvas.style.bottom=0,this._canvas.style.background=window.getComputedStyle(this._parent).getPropertyValue("background-color"),this._parent.style.background="transparent",this._parent.children.length>0?this._parent.insertBefore(this._canvas,this._parent.children[0]):this._parent.appendChild(this._canvas),this._ctx=this._canvas.getContext("2d"),this.setup()};LetItSnow.prototype={PARTICLES_COLOR:"rgba(255, 255, 255, 0.8)",MAX_PARTICLES:25,SPAWN_RATE:100,PARTICLES_SPEED:15,PARTICLES_SIZE:2,TURBULENCES_X:1,TURBULENCES_Y:.5,TURBULENCES_SPEED:1,MAX_TIMESHIFT:Math.PI/3,setup:function(){this.particles=[],this._lastSpawn=this._lastLoop=Date.now(),this.loop(),window.addEventListener("resize",this.resize.bind(this))},resize:function(){var t=this._parent.getBoundingClientRect();this.H=t.height,this.W=t.width,this._canvas.height=this.H,this._canvas.width=this.W},spawnParticle:function(){this.particles.push({x:Math.random()*this.W,y:-this.PARTICLES_SIZE,d:Math.random()+1,s:Math.random()*this.MAX_TIMESHIFT})},loop:function(){this.update(),this.draw(),requestAnimationFrame(this.loop.bind(this))},update:function(){var t,e=Date.now(),i=e-this._lastLoop;for(var n in this.particles)t=this.particles[n],t.y+=i/1e3*(this.PARTICLES_SPEED*t.d*(1.5+Math.sin(e*this.TURBULENCES_SPEED/1e3+t.s)*this.TURBULENCES_Y)),t.x+=i/1e3*(this.PARTICLES_SPEED*t.d*(Math.cos(e*this.TURBULENCES_SPEED/1e3+t.s)*this.TURBULENCES_X)),(t.y-4*t.d>this.H||t.x-4*t.d>this.W||t.x+4*t.d<0)&&this.particles.splice(n,1);this._lastSpawn<=e-this.SPAWN_RATE&&this.particles.length<this.MAX_PARTICLES&&(this._lastSpawn=e,this.spawnParticle()),this._lastLoop=e},draw:function(){this._ctx.clearRect(0,0,this.W,this.H),this._ctx.fillStyle=this.PARTICLES_COLOR,this._ctx.beginPath();var t;for(var e in this.particles)t=this.particles[e],this._ctx.moveTo(t.x,t.y),this._ctx.arc(t.x,t.y,t.d*this.PARTICLES_SIZE,0,2*Math.PI,!0);this._ctx.fill()}},window.addEventListener("DOMContentLoaded",function(){-1!==document.body.className.split(" ").indexOf("vc-snow")&&setTimeout(function(){window.snow=new LetItSnow(document.querySelector(".header-container > header"))},1e3)}),function(t,e,i){"use strict";function n(t){t.each(function(){var t=e(this);t.hasClass("spoiler-build")||(t.before(e("<a/>",{text:"Afficher/Masquer le contenu masqué","class":"spoiler-title ico-after view",href:"#",click:function(t){e(this).next(".spoiler").toggle(),t.preventDefault()}})),t.addClass("spoiler-build"))})}e(t).ready(function(){var t=e("#content");n(t.find(".spoiler")),t.on("DOMNodeInserted",function(t){var i=e(t.target).find(".spoiler");return n(i)})})}(document,jQuery),function(t,e){"use strict";var i="[type=submit], [type=reset]",n=null;t("body").on("submit","form",function(){t(i).addClass("disabled"),null===n&&(n=t(i,t(this))),n.addClass("submitted").append(t("<span/>",{"class":"line-loading"}))}),t("form").on("click",i,function(e){n=t(this),t(this).hasClass("disabled")&&e.preventDefault()})}(jQuery),function(t,e){"use strict";t("body").on("keydown",function(e){var i=t(".tab-modalize:visible");if(i.length>0&&9===e.which){var n=i.find(":focus"),a=i.find(":tabbable"),s=e.shiftKey?a.length-1:0;if(1===n.length){var o=a.index(n);e.shiftKey?o>0&&(s=o-1):o+1<a.length&&(s=o+1)}a.eq(s).focus(),e.stopPropagation(),e.preventDefault()}})}(jQuery),function(t,e){"use strict";var i=function(e){this.options=t.extend({target:null,content:null},e),i._initialized||this.firstRun(),this.init()};i.prototype={firstRun:function(){i.container=t("<div>",{"class":"tooltips-container"}),i.list=[],i.nextID=0,t("body").append(i.container),i._initialized=!0},init:function(){this.wrapper=t("<div>",{"class":"tooltip-wrapper"}),this.elem=t("<div>",{"class":"tooltip",id:"tooltip-"+i.nextID,role:"tooltip","aria-hidden":!0}),this.target=t(this.options.target),this.setOrientation("top"),this.setContent(this.options.content),this.hide(),this.wrapper.append(this.elem).appendTo(i.container),this.target.on("mouseover",this.mouseover.bind(this)),this.wrapper.on("mouseover",this.mouseover.bind(this)),this.target.on("mouseout",this.mouseout.bind(this)),this.wrapper.on("mouseout",this.mouseout.bind(this)),this.target.attr("aria-describedby","tooltip-"+i.nextID),this.hideTimeout=null,this.mouseon=!1,i.list.push(this),i.nextID++},mouseover:function(){this.mouseon||this.show(),this.mouseon=!0,clearTimeout(this.hideTimeout)},mouseout:function(){this.hideTimeout=setTimeout(this.hide.bind(this),50),this.mouseon=!1},setContent:function(e){this.content=t.trim(e),this.elem.html(this.content),""===this.content?this.hide():this.mouseon&&this.show()},hide:function(){this.wrapper.hide(),this.elem.attr("aria-hidden",!0)},show:function(){""!==this.content&&(this.wrapper.show(),this.elem.attr("aria-hidden",!1),this.recalc(),setTimeout(this.recalc.bind(this)))},guessOrientation:function(){this.target.offset().top-t(window).scrollTop()<this.wrapper.height()?this.setOrientation("bottom"):this.setOrientation("top")},recalc:function(){var t={top:null,bottom:null,left:this.target.offset().left+this.target.outerWidth()/2-this.wrapper.width()/2};this.guessOrientation(),"top"===this.orientation?t.top=this.target.offset().top-this.wrapper.outerHeight():"bottom"===this.orientation?t.top=this.target.offset().top+this.target.outerHeight():t.bottom=this.target.offset().top-this.wrapper.outerHeight()+8,this.wrapper.css(t)},setOrientation:function(t){"top"!==t&&"bottom"!==t||t===this.orientation||(this.wrapper.addClass(t),this.wrapper.removeClass(this.orientation),this.orientation=t)}},t.fn.tooltip=function(e){var n=t(this).data("tooltip");return n?e&&n.setContent(e):(n=new i({target:this,content:e}),t(this).data("tooltip",n)),n}}(jQuery),function(t,e){"use strict";t(".open-zen-mode").length>0&&(t(".open-zen-mode").on("click",function(e){var i=t(".open-zen-mode").text(),n=t(".open-zen-mode").attr("data-content-on-click");t(".open-zen-mode").attr("data-content-on-click",i),t(".open-zen-mode").text(n),"undefined"!=typeof sessionStorage&&(t(".content-container").hasClass("zen-mode")?"zenMode"in sessionStorage&&sessionStorage.setItem("zenMode","false"):sessionStorage.setItem("zenMode","true")),t(".content-container").toggleClass("zen-mode tab-modalize"),t(this).blur(),e.preventDefault(),e.stopPropagation()}),t("body").on("keydown",function(e){if(t(".zen-mode").length>0&&27===e.which){var i=t(".open-zen-mode").text(),n=t(".open-zen-mode").attr("data-content-on-click");t(".open-zen-mode").attr("data-content-on-click",i),t(".open-zen-mode").text(n),"undefined"!=typeof sessionStorage&&"zenMode"in sessionStorage&&sessionStorage.setItem("zenMode","false"),t(".content-container").toggleClass("zen-mode tab-modalize"),t(this).blur(),e.stopPropagation()}}),"undefined"!=typeof sessionStorage&&"zenMode"in sessionStorage&&"true"===sessionStorage.getItem("zenMode")&&t(".open-zen-mode").click())}(jQuery);
+//# sourceMappingURL=main.js.map
diff --git a/dist/js/main.js.map b/dist/js/main.js.map
new file mode 100644
index 0000000000..2b78e5f4b8
--- /dev/null
+++ b/dist/js/main.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["_custom.modernizr.js","accessibility-links.js","accordeon.js","ajax-actions.js","autocompletion.js","close-alert-box.js","compare-commits.js","data-click.js","dropdown-menu.js","editor.js","featured-resource-preview.js","find-solved-topics.js","form-email-username.js","gallery.js","jquery-tabbable.js","karma.js","keyboard-navigation.js","markdown-help.js","message-hidden.js","message-signature.js","mobile-menu.js","modal.js","select-autosubmit.js","snow.js","spoiler.js","submit-dbclick.js","tab-modalize.js","tooltips.js","zen-mode.js"],"names":["window","Modernizr","a","b","c","B","j","cssText","D","E","indexOf","F","d","e","G","f","bind","H","charAt","toUpperCase","slice","o","join","split","p","k","w","A","g","documentElement","h","i","createElement","style","l","toString","m","n","toLowerCase","q","svg","r","u","v","x","body","parseInt","id","appendChild","innerHTML","background","overflow","parentNode","removeChild","y","matchMedia","msMatchMedia","matches","getComputedStyle","currentStyle","z","hasOwnProperty","call","constructor","prototype","Function","this","TypeError","arguments","apply","concat","Object","flexboxlegacy","touch","DocumentTouch","offsetTop","createElementNS","createSVGRect","inlinesvg","firstChild","namespaceURI","svgclippaths","test","I","push","addTest","className","getElementsByTagName","insertBefore","lastChild","s","elements","cache","cloneNode","createElem","canHaveChildren","tagUrn","frag","createDocumentFragment","length","createFrag","shivMethods","replace","shivCSS","hasCSS","html5","childNodes","version","supportsUnknownElements","type","shivDocument","_version","_prefixes","_domPrefixes","_cssomPrefixes","mq","testProp","testAllProps","testStyles","document","addEventListener","documentMode","$","undefined","on","parent","find","removeClass","addClass","link","attr","setTimeout","first","focus","jQuery","accordeon","$elem","each","hasClass","hide","click","slideToggle","preventDefault","stopPropagation","ready","target","synchText","dataAjaxInput","data","console","log","text","fn","toggleText","dataAttribute","textToPut","$act","$form","parents","$email","next","prop","csrfmiddlewaretoken","val","topic","follow","page","ajax","url","dataType","success","toggleClass","complete","$follow","prev","email","solved","$button","$editor","animate","scrollTop","offset","top","lastPost","last_post","preview","remove","insertAfter","MathJax","Hub","Queue","$message","$usefulText","blur","AutoComplete","input","options","$wrapper","buildDom","$input","$dropdown","handleInput","handleKeydown","hideDropdown","handleSubmit","selected","_lastInput","class","wrap","append","$tmp","which","select","last","enter","search","parseInput","self","_lastAutocomplete","fetchData","done","updateCache","results","updateDropdown","sortList","fail","error","searchCache","showDropdown","content","is","css","outerWidth","show","lastChar","substr","completion","getFromCache","lastComma","lastIndexOf","fieldname","trigger","extractWords","words","grep","map","trim","regexp","RegExp","match","filterData","exclude","filter","list","onClick","limit","$el","$list","mousedown","children","bestMatches","otherMatches","sortFn","valueA","valueB","sort","getJSON","autocomplete","defaults","extend","slideUp","toogleRadioInput","$radioInput","$row","prevAll","nextAll","$fromInput","$toInput","compareFrom","compareTo","dataClick","dropdownMouseDown","activeDropdown","triggerCloseDropdown","$that","one","off","mouseDown","shiftHold","shiftKey","listenBlurLast","zForm","buttons","tags","bold","title","start","end","useless","italic","strike","sup","sub","abbr","key","titles","action","ul","ol","center","right","quote","image","table","infoblocks","information","question","attention","secret","monospace","blockcode","math","hr","chars","smilies","footnote","codes","Web","html","js","php","jfx","cf","as3","pl","sql","xml","Prog","cpp","csharp","java","delphi","py","ruby","pascal","vb","vbnet","Autres","bash","diff","erl","scala","groovy","ps","Typo","char_g0","char_gl","char_gr","char_h0","char_hl","char_hr","char_su","char_ti","char_ca","Caractères","char_in","char_ag","char_cc","char_ea","char_eg","char_oe","char_eo","0","smiley_sm","smiley_he","smiley_cl","smiley_la","smiley_ri","smiley_un","smiley_tr","smiley_hu","1","smiley_c1","smiley_oo","smiley_uu","smiley_si","smiley_an","smiley_c2","smiley_di","smiley_ma","2","smiley_ni","smiley_gd","smiley_pi","smiley_pl","smiley_ro","smiley_so","smiley_ww","smiley_zz","isExecuted","selection","currentElemPopup","addEvent","elem","evt","listener","attachEvent","init","buildButton","btn","validateButton","validatePopup","listTexta","setup","getElementById","_this","href","modals","Modal","footer","textareaId","elemTexta","elemTools","event","menus","getElementsByClassName","getAttribute","nodeName","display","elemButtonLi","elemButton","currentButton","groups","cg","cb","createButton","textarea","alert","marginRight","opts","elemPopup","setAttribute","position","left","width","whiteSpace","textAlign","_button","_textareaId","_tagtype","_extraoption","fontWeight","extra","openPopup","popupGuid","open","closePopup","closeCurrent","buildTitles","elemItem","innerText","_options","buildInfoblocks","ids","buildColumnous","elemCol","elemStg","name","category","src","isNaN","buildCode","buildChars","buildSmilies","startTag","endTag","isFromPopup","field","scroll","before","current","after","range","setSelectionRange","value","substring","selectionStart","selectionEnd","tagType","createRange","moveStart","moveEnd","iterateRows","txt","char","spltd","order","regex","prompt","valtext","ctrlKey","metaKey","altKey","updatePreview","element","description","buildDescription","authors","$solvedTopicsElem","$emailInput","$emailForm","$emailButton","$usernameInput","$usernameForm","$usernameButton","$btn","$galleryView","updateBtn","updateCheckbox","checked","focusable","visible","expr","filters","addBack","mapName","img","isTabIndexNotNaN","disabled","createPseudo","dataName","tabbable","tabIndex","isTabIndexNaN","Karma","message","Error","updateInterval","karmaElem","karmaURI","csrf","like","dislike","button","tooltip","add","showDetails","listElem","canVote","vote","regularUpdate","currentVote","method","headers","X-CSRFToken","update","fetchUpdate","updating","always","lastUpdate","Date","now","updateOne","user","sign","otherSign","count","likeTitleCount","likeTitle","likers","users","otherLikeCount","currentUser","likeStr","username","setContent","empty","appendTo","prepend","anonymous","detailsModal","titleIcon","closeText","karma","index","instance","has","activeNavigableElem","$lists","$navigableElems","activeElement","$current","nextIndex","currentIndex","eq","addDocMD","$help","toggle","appendToSidebar","force","clone","removeAttr","$div","$links","not","formId","toggleMobileMenu","viewportmeta","querySelector","margin-top","padding-bottom","navU","navigator","userAgent","isAndroidMobile","regExAppleWebKit","resultAppleWebKitRegEx","exec","appleWebKitVersion","parseFloat","disableMobileMenu","transform","prefixedPropertyNames","prefixes","tempDiv","beginTouchDown","borderWidth","swipping","originalEvent","touches","pageX","toMove","props","$newBtns","$prevElem","$newBtnContainer","buildModals","$elems","$link","linkIco","detach","modal","_initialized","firstRun","container","openModal","wrapper","overlay","nextId","tagName","get","close","submit","LetItSnow","_parent","_canvas","resize","zIndex","bottom","getPropertyValue","_ctx","getContext","PARTICLES_COLOR","MAX_PARTICLES","SPAWN_RATE","PARTICLES_SPEED","PARTICLES_SIZE","TURBULENCES_X","TURBULENCES_Y","TURBULENCES_SPEED","MAX_TIMESHIFT","Math","PI","particles","_lastSpawn","_lastLoop","loop","rect","getBoundingClientRect","height","W","spawnParticle","random","draw","requestAnimationFrame","delta","sin","cos","splice","clearRect","fillStyle","beginPath","moveTo","arc","fill","snow","buildSpoilers","$this","$content","$spoilers","buttonsSelector","$lastButtonClicked","$modal","$tabbables","Tooltip","nextID","role","aria-hidden","setOrientation","mouseover","mouseout","hideTimeout","mouseon","clearTimeout","recalc","guessOrientation","orientation","outerHeight","Text","TextToPut","sessionStorage","setItem","getItem"],"mappings":"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","file":"main.js","sourcesContent":["/* Modernizr 2.8.3 (Custom Build) | MIT & BSD\n * Build: http://modernizr.com/download/#-flexboxlegacy-inlinesvg-svg-svgclippaths-touch-shiv-mq-cssclasses-teststyles-testallprops-prefixes-css_mask-ie8compat\n */\n;window.Modernizr=function(a,b,c){function B(a){j.cssText=a}function C(a,b){return B(m.join(a+\";\")+(b||\"\"))}function D(a,b){return typeof a===b}function E(a,b){return!!~(\"\"+a).indexOf(b)}function F(a,b){for(var d in a){var e=a[d];if(!E(e,\"-\")&&j[e]!==c)return b==\"pfx\"?e:!0}return!1}function G(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:D(f,\"function\")?f.bind(d||b):f}return!1}function H(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+\" \"+o.join(d+\" \")+d).split(\" \");return D(b,\"string\")||D(b,\"undefined\")?F(e,b):(e=(a+\" \"+p.join(d+\" \")+d).split(\" \"),G(e,b,c))}var d=\"2.8.3\",e={},f=!0,g=b.documentElement,h=\"modernizr\",i=b.createElement(h),j=i.style,k,l={}.toString,m=\" -webkit- -moz- -o- -ms- \".split(\" \"),n=\"Webkit Moz O ms\",o=n.split(\" \"),p=n.toLowerCase().split(\" \"),q={svg:\"http://www.w3.org/2000/svg\"},r={},s={},t={},u=[],v=u.slice,w,x=function(a,c,d,e){var f,i,j,k,l=b.createElement(\"div\"),m=b.body,n=m||b.createElement(\"body\");if(parseInt(d,10))while(d--)j=b.createElement(\"div\"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=[\"&#173;\",'<style id=\"s',h,'\">',a,\"</style>\"].join(\"\"),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background=\"\",n.style.overflow=\"hidden\",k=g.style.overflow,g.style.overflow=\"hidden\",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},y=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b)&&c(b).matches||!1;var d;return x(\"@media \"+b+\" { #\"+h+\" { position: absolute; } }\",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)[\"position\"]==\"absolute\"}),d},z={}.hasOwnProperty,A;!D(z,\"undefined\")&&!D(z.call,\"undefined\")?A=function(a,b){return z.call(a,b)}:A=function(a,b){return b in a&&D(a.constructor.prototype[b],\"undefined\")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!=\"function\")throw new TypeError;var d=v.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(v.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(v.call(arguments)))};return e}),r.flexboxlegacy=function(){return H(\"boxDirection\")},r.touch=function(){var c;return\"ontouchstart\"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:x([\"@media (\",m.join(\"touch-enabled),(\"),h,\")\",\"{#modernizr{top:9px;position:absolute}}\"].join(\"\"),function(a){c=a.offsetTop===9}),c},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,\"svg\").createSVGRect},r.inlinesvg=function(){var a=b.createElement(\"div\");return a.innerHTML=\"<svg/>\",(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(l.call(b.createElementNS(q.svg,\"clipPath\")))};for(var I in r)A(r,I)&&(w=I.toLowerCase(),e[w]=r[I](),u.push((e[w]?\"\":\"no-\")+w));return e.addTest=function(a,b){if(typeof a==\"object\")for(var d in a)A(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b==\"function\"?b():b,typeof f!=\"undefined\"&&f&&(g.className+=\" \"+(b?\"\":\"no-\")+a),e[a]=b}return e},B(\"\"),i=k=null,function(a,b){function l(a,b){var c=a.createElement(\"p\"),d=a.getElementsByTagName(\"head\")[0]||a.documentElement;return c.innerHTML=\"x<style>\"+b+\"</style>\",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a==\"string\"?a.split(\" \"):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?o(c,a,b):b.createElem(c)},a.createDocumentFragment=Function(\"h,f\",\"return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(\"+m().join().replace(/[\\w\\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c(\"'+a+'\")'})+\");return n}\")(s,b.frag)}function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.hasCSS=!!l(a,\"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}\")),k||q(a,c),a}var c=\"3.7.0\",d=a.html5||{},e=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g,h=\"_html5shiv\",i=0,j={},k;(function(){try{var a=b.createElement(\"a\");a.innerHTML=\"<xyz></xyz>\",g=\"hidden\"in a,k=a.childNodes.length==1||function(){b.createElement(\"a\");var a=b.createDocumentFragment();return typeof a.cloneNode==\"undefined\"||typeof a.createDocumentFragment==\"undefined\"||typeof a.createElement==\"undefined\"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||\"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video\",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:\"default\",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.mq=y,e.testProp=function(a){return F([a])},e.testAllProps=H,e.testStyles=x,g.className=g.className.replace(/(^|\\s)no-js(\\s|$)/,\"$1$2\")+(f?\" js \"+u.join(\" \"):\"\"),e}(this,this.document),Modernizr.addTest(\"cssmask\",Modernizr.testAllProps(\"maskRepeat\")),Modernizr.addTest(\"ie8compat\",function(){return!window.addEventListener&&document.documentMode&&document.documentMode===7});","/* ===== Zeste de Savoir ====================================================\n   Managment of accessibility links\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    $(\"#accessibility a\").on(\"focus\", function() {\n        $(\".dropdown:visible\").parent().find(\".active\").removeClass(\"active\");\n        $(\"#accessibility\").addClass(\"focused\");\n    }).on(\"blur\", function() {\n        $(\"#accessibility\").removeClass(\"focused\");\n    }).on(\"click\", function() {\n        var link = $(this).attr(\"href\");\n        setTimeout(function() { // Forces the focus on next tick\n            $(link).find(\":tabbable\").first().focus(); // Focus the first focusable element\n        });\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Accordeon for sidebar\n   ---------------------------------\n   Author: Alex-D\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    function accordeon($elem){\n        $(\"h4 + ul, h4 + ol\", $elem).each(function(){\n            if(!$(this).hasClass(\"unfolded\")){\n                if($(\".current\", $(this)).length === 0)\n                    $(this).hide();\n            }\n        });\n\n        $(\"h4\", $elem).click(function(e){\n            $(\"+ ul, + ol\", $(this)).slideToggle(100);\n\n            e.preventDefault();\n            e.stopPropagation();\n        });\n    }\n    \n    $(document).ready(function(){\n        $(\".main .sidebar.accordeon, .main .sidebar .accordeon\")\n        .each(function(){\n            accordeon($(this));\n        })\n        .on(\"DOMNodeInserted\", function(e){\n            accordeon($(e.target));\n        });\n    });\n})(jQuery);","/* ===== Zeste de Savoir ====================================================\n   Manage action button AJAX requests\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    /**\n     * Toggle the text of the element by the text of an attribute\n     *\n     * @param {string} dataAttribute\n     */\n    $.fn.toggleText = function(dataAttribute){\n        var text = this.text(),\n            textToPut = this.data(dataAttribute);\n\n        this.text(textToPut);\n        this.data(dataAttribute, text);\n    };\n\n    function synchText() {\n        $(\"#mobile-menu [data-ajax-input]\").each(function () {\n            var dataAjaxInput = $(this).data(\"ajax-input\");\n            console.log($(this).text(), $(\".sidebar\").find(\"button[data-ajax-input='\" + dataAjaxInput + \"']\").text(), dataAjaxInput);\n\n            $(this).text($(\".sidebar\").find(\"button[data-ajax-input='\" + dataAjaxInput + \"']\").text());\n        });\n    }\n\n    /**\n     * Follow a topic\n     */\n    $(\".sidebar\").on(\"click\", \"[data-ajax-input='follow-topic']\", function(e){\n        var $act = $(this),\n            $form = $(this).parents(\"form:first\"),\n            $email = $(this).parents(\"li:first\").next().find(\"[data-ajax-input='follow-topic-by-email']\");\n\n        $email.prop(\"disabled\", true);\n\n        var csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val(),\n            topic = $form.find(\"input[name=topic]\").val(),\n            follow = $form.find(\"input[name=follow]\").val(),\n            page = $form.find(\"input[name=page]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            dataType: \"json\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken,\n                \"topic\": topic,\n                \"follow\": follow,\n                \"page\": page\n            },\n            success: function(data){\n                if(data.follow){\n                    $form.find(\"input[name=follow]\").val(1);\n                } else {\n                    if($email.hasClass(\"blue\") === false){\n                        $email.toggleText(\"content-on-click\");\n                        $email.addClass(\"blue\");\n\n                        $email.parents(\"form:first\").find(\"input[name=email]\").val(0);\n                    }\n\n                    $form.find(\"input[name=follow]\").val(0);\n                }\n\n                $act.toggleText(\"content-on-click\");\n                $act.toggleClass(\"blue yellow\");\n\n                synchText();\n            },\n            complete: function(){\n              $email.prop(\"disabled\", false);\n            }\n        });\n\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /**\n     * Be notified by email\n     */\n    $(\".sidebar\").on(\"click\", \"[data-ajax-input='follow-topic-by-email']\", function(e){\n        var $act = $(this),\n            $follow = $(this).parents(\"li:first\").prev().find(\"[data-ajax-input='follow-topic']\"),\n            $form = $(this).parents(\"form:first\");\n\n        $follow.prop(\"disabled\", true);\n\n        var csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val(),\n            topic = $form.find(\"input[name=topic]\").val(),\n            email = $form.find(\"input[name=email]\").val(),\n            page = $form.find(\"input[name=page]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            dataType: \"json\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken,\n                \"topic\": topic,\n                \"email\": email,\n                \"page\": page\n            },\n            success: function(data){\n                if(data.email){\n                    if($follow.hasClass(\"yellow\") === false){\n                        $follow.toggleText(\"content-on-click\");\n                        $follow.removeClass(\"blue\");\n                        $follow.addClass(\"yellow\");\n\n                        $follow.parents(\"form:first\").find(\"input[name=follow]\").val(1);\n                    }\n\n                    $form.find(\"input[name=email]\").val(1);\n                } else {\n                    $form.find(\"input[name=email]\").val(0);\n                }\n\n                $act.toggleText(\"content-on-click\");\n                $act.toggleClass(\"blue\");\n\n                synchText();\n            },\n            complete: function(){\n              $follow.prop(\"disabled\", false);\n            }\n        });\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /**\n     * Mark a topic solved\n     */\n    $(\".sidebar\").on(\"click\", \"[data-ajax-input='solve-topic']\", function(e){\n        var $act = $(this),\n            $form = $(this).parents(\"form:first\");\n\n        var csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val(),\n            topic = $form.find(\"input[name=topic]\").val(),\n            solved = $form.find(\"input[name=solved]\").val(),\n            page = $form.find(\"input[name=page]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            dataType: \"json\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken,\n                \"topic\": topic,\n                \"solved\": solved,\n                \"page\": page\n            },\n            success: function(data){\n                if(data.solved){\n                    $form.find(\"input[name=solved]\").val(1);\n                } else {\n                    $form.find(\"input[name=solved]\").val(0);\n                }\n\n                $act.toggleText(\"content-on-click\");\n                $act.toggleClass(\"green blue\");\n                $(\"[data-ajax-output='solve-topic']\").toggleClass(\"empty\");\n\n                synchText();\n            }\n        });\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /**\n     * Mobile action\n     */\n    $(\"#mobile-menu\").on(\"click\", \"[data-ajax-input]\", function(e){\n        var dataAjaxInput = $(this).data(\"ajax-input\");\n        var $button = $(\".sidebar\").find(\"button[data-ajax-input='\" + dataAjaxInput + \"']\");\n\n        if ($button[0]) {\n            $(this).toggleText(\"content-on-click\");\n            $button.click();\n\n            e.stopPropagation();\n            e.preventDefault();\n        }\n    });\n\n    /**\n     * Cite a message\n     */\n    $(\".message-actions\").on(\"click\", \"[data-ajax-input='cite-message']\", function(e){\n        var $act = $(this),\n            $editor = $(\".md-editor\");\n\n        $.ajax({\n            url: $act.attr(\"href\"),\n            dataType: \"json\",\n            success: function(data){\n                $editor.val($editor.val() + data.text + \"\\n\\n\");\n            }\n        });\n\n        // scroll to the textarea and focus the textarea\n        $(\"html, body\").animate({ scrollTop: $editor.offset().top }, 500);\n        $editor.focus();\n\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /**\n     * Preview the message\n     */\n    $(\".message-bottom\").on(\"click\", \"[data-ajax-input='preview-message']\", function(e){\n        var $form = $(this).parents(\"form:first\");\n        var csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val(),\n            text = $form.find(\"textarea[name=text]\").val(),\n            lastPost = $form.find(\"input[name=last_post]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken,\n                \"text\": text,\n                \"last_post\": lastPost,\n                \"preview\": \"preview\"\n            },\n            success: function(data){\n                $(\".previsualisation\").remove();\n\n                $(data).insertAfter($form);\n\n                /* global MathJax */\n                if ($(data).find(\"$\").length > 0)\n                    MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);\n            }\n        });\n        e.stopPropagation();\n        e.preventDefault();\n    });\n\n    /*\n     * Mark a message useful\n     */\n    $(\".topic-message\").on(\"click\", \"[data-ajax-input='mark-message-as-useful']\", function(e){\n        var $button = $(this),\n            $form = $button.parents(\"form:first\"),\n            $message = $form.parents(\"article\"),\n            $usefulText = $message.find(\"[data-ajax-output='mark-message-as-useful']\"),\n            csrfmiddlewaretoken = $form.find(\"input[name=csrfmiddlewaretoken]\").val();\n\n        $.ajax({\n            url: $form.attr(\"action\"),\n            type: \"POST\",\n            data: {\n                \"csrfmiddlewaretoken\": csrfmiddlewaretoken\n            },\n            success: function(){\n                $message.toggleClass(\"helpful\");\n                $button.toggleText(\"content-on-click\");\n                $usefulText.toggleClass(\"hidden\");\n                $button.blur();\n            }\n        });\n\n        e.stopPropagation();\n        e.preventDefault();\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Add autocomplete for members names\n   ---------------------------------\n   Author: Sandhose / Quentin Gliech\n   ========================================================================== */\n\n(function($, undefined) {\n    \"use strict\";\n\n    function AutoComplete(input, options) {\n        this.$wrapper = buildDom($(input));\n        this.$input = this.$wrapper.find(\".autocomplete-input\");\n        this.$dropdown = this.$wrapper.find(\".autocomplete-dropdown\");\n\n\n        this.$input.on(\"keyup\", this.handleInput.bind(this));\n        this.$input.on(\"keydown\", this.handleKeydown.bind(this));\n        this.$input.on(\"blur\", this.hideDropdown.bind(this));\n\n        this.options = options;\n\n        if(this.options.type === \"multiple\") {\n            this.$form = this.$wrapper.parents(\"form:first\");\n            this.$form.on(\"submit\", this.handleSubmit.bind(this));\n        }\n\n        this.selected = -1;\n\n        this._lastInput = \"\";\n    }\n\n    AutoComplete.prototype = {\n        cache: {},\n\n        handleKeydown: function(e) {\n            var $tmp;\n            switch (e.which) {\n                case 38: // Up\n                    e.preventDefault();\n                    e.stopPropagation();\n\n                    if (this.selected === -1) {\n                        this.select(this.$dropdown.find(\"ul li\").last().attr(\"data-autocomplete-id\"));\n                    } else {\n                        $tmp = this.$dropdown.find(\"ul li[data-autocomplete-id=\" + this.selected + \"]\").prev(\"li\");\n                        this.select($tmp.length === 1 ? $tmp.attr(\"data-autocomplete-id\") : -1);\n                    }\n                    break;\n                case 40: // Down\n                    e.preventDefault();\n                    e.stopPropagation();\n\n                    if (this.selected === -1) {\n                        this.select(this.$dropdown.find(\"ul li\").first().attr(\"data-autocomplete-id\"));\n                    } else {\n                        $tmp = this.$dropdown.find(\"ul li[data-autocomplete-id=\" + this.selected + \"]\").next(\"li\");\n                        this.select($tmp.length === 1 ? $tmp.attr(\"data-autocomplete-id\") : -1);\n                    }\n                    break;\n                case 13: // Enter\n                    e.preventDefault();\n                    e.stopPropagation();\n\n                    this.enter();\n                    break;\n            }\n        },\n\n        handleInput: function(e) {\n            if (e && (e.which === 38 || e.which === 40 || e.which === 13)) {\n                e.preventDefault();\n                e.stopPropagation();\n            }\n\n            var input = this.$input.val();\n\n            if (this._lastInput === input)\n                return;\n\n            this._lastInput = input;\n\n            var search = this.parseInput(input),\n                self = this;\n\n            if (!search || search === this._lastAutocomplete) {\n                this.hideDropdown();\n            } else {\n                this.fetchData(search)\n                    .done(function(data) {\n                        self.updateCache(data.results);\n                        self.updateDropdown(self.sortList(data.results, search));\n                    })\n                    .fail(function() {\n                        console.error(\"[Autocompletition] Something went wrong...\");\n                    });\n                this.updateDropdown(this.sortList(this.searchCache(search), search));\n                this.showDropdown();\n            }\n        },\n\n        handleSubmit: function() {\n            var content = this.$input.val();\n            if(content.slice(-2) === \", \") {\n                this.$input.val(content.slice(0, -2));\n            }\n        },\n\n        showDropdown: function() {\n            if (this.$input.is(\"input\"))\n                this.$dropdown.css(\"width\", this.$input.outerWidth());\n            this.$dropdown.show();\n        },\n\n        hideDropdown: function() {\n            this.$dropdown.hide();\n        },\n\n        select: function(id) {\n            this.selected = id;\n            this.$dropdown.find(\"ul li.active\").removeClass(\"active\");\n            this.$dropdown.find(\"ul li[data-autocomplete-id=\" + this.selected + \"]\").addClass(\"active\");\n        },\n\n        enter: function(selected) {\n            selected = selected || this.selected;\n            var input = this.$input.val();\n            var lastChar = input.substr(-1);\n            if ((lastChar === \",\" || selected === -1) && this.options.type === \"multiple\")\n                return false;\n\n            var completion = this.getFromCache(selected);\n            if (!completion)\n                return false;\n\n            if (this.options.type === \"multiple\") {\n                var lastComma = input.lastIndexOf(\",\");\n                if (lastComma !== -1) {\n                    input = input.substr(0, lastComma) + \", \" + completion[this.options.fieldname] + \", \";\n                    this.$input.val(input);\n                } else {\n                    this.$input.val(completion[this.options.fieldname] + \", \");\n                }\n            } else {\n                this.$input.val(completion[this.options.fieldname]);\n            }\n\n            this._lastAutocomplete = completion[this.options.fieldname];\n            this.selected = -1; // Deselect properly\n            this.$input.trigger(\"input\");\n        },\n\n        updateCache: function(data) {\n            for (var i = 0; i < data.length; i++) {\n                this.cache[data[i][this.options.fieldname]] = data[i];\n            }\n        },\n\n        extractWords: function(input) {\n            var words = $.grep(\n                $.map(input.split(\",\"), $.trim), // Remove empty\n                function(e) {\n                    return e === \"\" || e === undefined;\n                },\n                true\n            );\n\n            return words;\n        },\n\n        parseInput: function(input) {\n            if (this.options.type === \"multiple\") {\n                if (input.substr(-1) === \",\" || input.substr(-2) === \", \")\n                    return false;\n\n                var words = this.extractWords(input);\n                if (words.length === 0) return false;\n\n                return words[words.length - 1]; // last word in list\n            } else {\n                return input;\n            }\n        },\n\n        searchCache: function(input) {\n            var regexp = new RegExp(input, \"ig\");\n            return $.grep(\n                this.cache,\n                function(e) {\n                    return e.this.options.fieldname.match(regexp);\n                }\n            );\n        },\n\n        getFromCache: function(id) {\n            for (var i in this.cache) {\n                if (parseInt(this.cache[i].id) === parseInt(id))\n                    return this.cache[i];\n            }\n            return false;\n        },\n\n        filterData: function(data, exclude) {\n            var fieldname = this.options.fieldname;\n            return data.filter(function(e) {\n                return exclude.indexOf(e[fieldname]) === -1;\n            });\n        },\n\n        updateDropdown: function(list) {\n            var self = this;\n            var onClick = function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                self.enter($(this).attr(\"data-autocomplete-id\"));\n                self.$input.focus();\n                self.handleInput();\n            };\n\n            list = self.filterData(list, self.extractWords(this.$input.val()));\n\n            if (list.length > this.options.limit) list = list.slice(0, this.options.limit);\n\n            var $list = $(\"<ul>\"),\n                $el, selected = false;\n            for (var i in list) {\n                if ($(\"#my-account .username\").text() === list[i][this.options.fieldname])\n                    continue;\n                $el = $(\"<li>\").text(list[i][this.options.fieldname]);\n                $el.attr(\"data-autocomplete-id\", list[i].id);\n                if (list[i].id === this.selected) {\n                    $el.addClass(\"active\");\n                    selected = true;\n                }\n\n                $el.mousedown(onClick);\n                $list.append($el);\n            }\n            this.$dropdown.children().remove();\n            this.$dropdown.append($list);\n\n            if (!selected)\n                this.select($list.find(\"li\").first().attr(\"data-autocomplete-id\"));\n        },\n\n        sortList: function(list, search) {\n            var bestMatches = [],\n                otherMatches = [];\n\n            for (var i = 0; i < list.length; i++) {\n                if (list[i][this.options.fieldname].indexOf(search) === 0) {\n                    bestMatches.push(list[i]);\n                } else {\n                    otherMatches.push(list[i]);\n                }\n            }\n\n            var sortFn = function(a, b) {\n                var valueA = a[this.options.fieldname].toLowerCase(),\n                    valueB = b[this.options.fieldname].toLowerCase();\n                if (valueA < valueB)\n                    return -1;\n                if (valueA > valueB)\n                    return 1;\n                return 0;\n            };\n\n            bestMatches.sort(sortFn.bind(this));\n            otherMatches.sort(sortFn.bind(this));\n\n            return bestMatches.concat(otherMatches);\n        },\n\n        fetchData: function(input) {\n            return $.getJSON(this.options.url.replace(\"%s\", input));\n        }\n    };\n\n    function buildDom(input) {\n        var $input = $(input),\n            $wrapper = $(\"<div/>\", {\n                \"class\": \"autocomplete-wrapper\"\n            }),\n            $dropdown = $(\"<div/>\", {\n                \"class\": \"autocomplete-dropdown\"\n            });\n\n        return $input.addClass(\"autocomplete-input\")\n            .attr(\"autocomplete\", \"off\")\n            .wrap($wrapper)\n            .parent()\n            .append($dropdown);\n    }\n\n    $.fn.autocomplete = function(options) {\n        var defaults = { // defaults are set for pm member autocomplete\n            type: \"single\", // single|multiple|mentions\n            url: \"/api/membres/?search=%s\",\n            limit: 4,\n            fieldname: \"username\"\n        };\n\n        if (!options) {\n            options = $(this).data(\"autocomplete\");\n        }\n\n        return new AutoComplete(this, $.extend(defaults, options));\n    };\n\n    $(document).ready(function() {\n        $(\"[data-autocomplete]\").autocomplete();\n        $(\"#content\").on(\"DOMNodeInserted\", \"input\", function(e) {\n            var $input = $(e.target);\n            if ($input.is(\"[data-autocomplete]\"))\n                $input.autocomplete();\n        });\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Close alert-boxes\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    $(\".main\").on(\"click\", \".close-alert-box:not(.open-modal)\", function(e) {\n        $(this).parents(\".alert-box:first\").slideUp(150, function(){\n            $(this).remove();\n        });\n        e.preventDefault();\n    });\n})(jQuery);","/*\n * Allow the user to compare two commits\n */\n\n(function(document, $, undefined){\n    \"use strict\";\n\n    function toogleRadioInput($radioInput){\n        var $row = $radioInput.parent().parent();\n\n        if($radioInput.attr(\"name\") === \"compare-from\") {\n            $row.prevAll().find(\"[name='compare-to']\").prop(\"disabled\", false);\n            $row.nextAll().find(\"[name='compare-to']\").prop(\"disabled\", true);\n            $row.find(\"[name='compare-to']\").prop(\"disabled\", true);\n        }\n        else {\n            $row.prevAll().find(\"[name='compare-from']\").prop(\"disabled\", true);\n            $row.nextAll().find(\"[name='compare-from']\").prop(\"disabled\", false);\n            $row.find(\"[name='compare-from']\").prop(\"disabled\", true);\n        }\n    }\n\n    $(\".commits-list input[name^='compare']\").on(\"change\", function(){\n        toogleRadioInput($(this));\n    });\n\n    $(document).ready(function(){\n        $(\".commits-list input[name^='compare']:checked\").each(function(){\n            toogleRadioInput($(this));\n        });\n    });\n\n    $(\".commits-compare-form\").on(\"submit\", function(){\n        var $form = $(this),\n            $fromInput = $form.find(\"input[name='from']\"),\n            $toInput = $form.find(\"input[name='to']\"),\n            compareFrom = $(\".commits-list input[name='compare-from']:checked\").val(),\n            compareTo = $(\".commits-list input[name='compare-to']:checked\").val();\n\n        $fromInput.val(compareFrom);\n        $toInput.val(compareTo);\n    });\n})(document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Simulate click on element from another\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, document, undefined){\n    \"use strict\";\n    \n    var dropdownMouseDown = false;\n\n    function dataClick($elem){\n        $elem\n        .attr(\"tabindex\", -1)\n        .attr(\"aria-hidden\", true)\n        .on(\"mousedown\", function(){\n            dropdownMouseDown = true;\n        })\n        .on(\"mouseup\", function(){\n            dropdownMouseDown = false;\n        })\n        .on(\"click focus\", function(e){\n            if(e.type === \"focus\" && dropdownMouseDown)\n                return false;\n\n            if(!($(this).hasClass(\"dont-click-if-sidebar\") && $(\".header-container .mobile-menu-btn\").is(\":visible\"))){\n                e.preventDefault();\n                e.stopPropagation();\n                $(\"#\" + $(this).attr(\"data-click\")).trigger(e.type);\n            }\n        });\n    }\n\n    $(document).ready(function(){\n        dataClick($(\"[data-click]\"));\n        $(\"#content\").on(\"DOMNodeInserted\", \"[data-click]\", function(e){\n            dataClick($(e.target));\n        });\n    });\n})(jQuery, document);","/* ===== Zeste de Savoir ====================================================\n   Dropdown menu open/close\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    var mouseDown = false,\n        shiftHold = false;\n\n    $(document).on(\"keydown keyup\", function(e){\n        shiftHold = e.shiftKey;\n    });\n\n    $(\".dropdown\").each(function(){\n        var $dropdown = $(this),\n            $elem = $(this).parent().find(\"> a\");\n\n        if(!$elem.parents(\".logbox\").length)\n            $elem.addClass(\"has-dropdown\");\n\n        $elem\n        .on(\"mousedown\", function(){\n            mouseDown = true;\n        })\n        .on(\"mouseup\", function(){\n            mouseDown = false;\n        })\n        .on(\"click\", function(e){\n            if(($(this).parents(\".header-menu-list\").length > 0 && parseInt($(\"html\").css(\"width\")) < 960))\n                return true;\n\n            e.preventDefault();\n            e.stopPropagation();\n\n            if(!$(this).hasClass(\"active\")){\n                activeDropdown($(this));\n                $(this).off(\"blur\");\n            } else {\n                $(this).removeClass(\"active\");\n                triggerCloseDropdown($(this));\n            }\n        })\n        .on(\"focus\", function(e){\n            e.preventDefault();\n\n            if(!mouseDown && !$elem.hasClass(\"active\")){\n                activeDropdown($elem);\n                \n                $elem\n                .off(\"blur\")\n                .on(\"blur\", function(){\n                    $elem\n                    .one(\"blur\", function(){\n                        if(shiftHold)\n                            triggerCloseDropdown($elem);\n                    });\n\n                    setTimeout(function(){\n                        if($(\":tabbable:focus\", $dropdown).length){\n                            var listenBlurLast = function(){\n                                $(\":tabbable:last\", $dropdown)\n                                .one(\"blur\", function(){\n                                    if(shiftHold){\n                                        listenBlurLast();\n                                        return;\n                                    }\n                                    $elem.removeClass(\"active\");\n                                    triggerCloseDropdown($elem);\n                                });\n                            };\n                            listenBlurLast();\n                        } else {\n                            $elem.removeClass(\"active\");\n                            triggerCloseDropdown($elem);\n                        }\n                    }, 10);\n                })\n                .one(\"mousemove\", function(){\n                    $(this).off(\"blur\");\n                });\n            }\n        });\n    });\n\n    $(\".dropdown-list\").on(\"focus\", function(){\n        $(this).find(\":tabbable:first\").focus();\n    });\n\n    $(\"body\").on(\"keydown\", function(e){\n        if(e.which === 27)\n            $(\".has-dropdown.active, .ico-link.active, #my-account.active\").focus().removeClass(\"active\");\n    });\n\n    function activeDropdown($elem){\n        $(\"body\").trigger(\"click\");\n        $elem.addClass(\"active\");\n        $elem.parent().find(\".dropdown-list\").scrollTop(0);\n\n        if($elem.is(\"[data-active]\"))\n            $(\"#\" + $elem.attr(\"data-active\")).addClass(\"active\");\n\n        if($elem.parents(\".logbox\").length)\n            $(\"html\").addClass(\"dropdown-active\");\n\n        triggerCloseDropdown($elem);\n    }\n    function triggerCloseDropdown($that){\n        if($that.hasClass(\"active\")){\n            $(\"body\").one(\"click\", function(e){\n                if(!$(e.target).hasClass(\"dropdown\") && !$(e.target).parents(\".dropdown\").length) {\n                    $that.removeClass(\"active\");\n                    $that.next(\":tabbable\").focus();\n\n                    if($that.is(\"[data-active]\"))\n                        $(\"#\" + $that.attr(\"data-active\")).removeClass(\"active\");\n                }\n                \n                triggerCloseDropdown($that);\n            });\n        } else {\n            $(\"html\").removeClass(\"dropdown-active\");\n            $(\".dropdown :tabbable\").off(\"blur\");\n\n            if($that.is(\"[data-active]\"))\n                $(\"#\" + $that.attr(\"data-active\")).removeClass(\"active\");\n        }\n    }\n})(jQuery);","// by Thunderseb\n// update 28 sept 2015\n\n(function(window, document, undefined){\n    \"use strict\";\n\n    var zForm = {\n        // Params\n        // ~~~~~~\n        buttons: \"bold,italic,strike,abbr,key,monospace#sup,sub#center,right#ul,ol#titles,blockcode,image,quote,link#infoblocks,chars,smilies\",\n\n        tags: {\n            bold:       { title: \"Gras\",                        start: \"**\",                end: \"**\",  useless: true },\n            italic:     { title: \"Italique\",                    start: \"*\",                 end: \"*\",   useless: true },\n            strike:     { title: \"Barré\",                       start: \"~~\",                end: \"~~\",  useless: true },\n            sup:        { title: \"Exposant\",                    start: \"^\",                 end: \"^\"    },\n            sub:        { title: \"Indice\",                      start: \"~\",                 end: \"~\"    },\n            abbr:       { title: \"Abréviation\" },\n            key:        { title: \"Touche\",                      start: \"||\",                end: \"||\"   },\n\n            titles:     { title: \"Titres\",                      action: \"buildTitles\"                   },\n\n            ul:         { title: \"Liste à puces\"                                                        },\n            ol:         { title: \"Liste ordonnée\"                                                       },\n\n            center:     { title: \"Aligner au centre\",           start: \"-> \",               end: \" <-\"  },\n            right:      { title: \"Aligner à droite\",            start: \"-> \",               end: \" ->\", useless: true  },\n\n            quote:      { title: \"Citation\"                                                             },\n            image:      { title: \"Image\"                                                                },\n            link:       { title: \"Lien\"                                                                 },\n\n            table:      { title: \"Tableau\"                                                              },\n\n            infoblocks: { title: \"Blocs spéciaux\",              action: \"buildInfoblocks\"               },\n            information:{ title: \"Bloc Information\"                                                     },\n            question:   { title: \"Bloc Question\"                                                        },\n            attention:  { title: \"Bloc Attention\"                                                       },\n            error:      { title: \"Bloc Erreur\"                                                          },\n            secret:     { title: \"Bloc masqué\"                                                          },\n\n            monospace:  { title: \"Code inline\",                 start: \"`\",                 end: \"`\"    },\n            blockcode:  { title: \"Bloc de code coloré\",         action: \"buildCode\"                     },\n\n            math:       { title: \"Formule mathématique\",        start: \"$\",                 end: \"$\"    },\n            hr:         { title: \"Ligne horizontalle\",          start: \"\\n\\n------\\n\\n\",    end: \"\",    useless: true },\n\n            chars:      { title: \"Caractères spéciaux\",         action: \"buildChars\"                    },\n            smilies:    { title: \"Smileys\",                     action: \"buildSmilies\",                 useless: true },\n\n            footnote:   { title: \"Note en bas de page\"                                                  }\n        },\n\n        codes: {\n            Web: {\n                html:   { title: \"HTML\" },\n                css:    { title: \"CSS\" },\n                js:     { title: \"Javascript\" },\n                php:    { title: \"PHP\" },\n                jfx:    { title: \"JavaFX\" },\n                cf:     { title: \"ColdFusion\" },\n                as3:    { title: \"Actionscript 3\" },\n                pl:     { title: \"Perl\" },\n                sql:    { title: \"SQL\" },\n                xml:    { title: \"XML\" }\n            },\n            Prog: {\n                c:      { title: \"C\" },\n                cpp:    { title: \"C++\" },\n                csharp: { title: \"C#\" },\n                java:   { title: \"Java\" },\n                delphi: { title: \"Delphi\" },\n                py:     { title: \"Python\" },\n                ruby:   { title: \"Ruby\" },\n                pascal: { title: \"Pascal\" },\n                vb:     { title: \"Visual Basic\" },\n                vbnet:  { title: \"VB.NET\" }\n            },\n            Autres: {\n                bash:   { title: \"Bash\" },\n                diff:   { title: \"Diff\" },\n                erl:    { title: \"Erlang\" },\n                scala:  { title: \"Scala\" },\n                groovy: { title: \"Groovy\" },\n                ps:     { title: \"PowerShell\" },\n                text:   { title: \"Autre\" }\n            }\n        },\n\n        chars: {\n            Typo: {\n                char_g0: { title: \"« »\", start: \"« \", end: \" »\" },\n                char_gl: { title: \"«\", start: \"« \", end: \"\" },\n                char_gr: { title: \"»\", start: \" »\", end: \"\" },\n                char_h0: { title: \"“ ”\", start: \"“\", end: \"”\" },\n                char_hl: { title: \"“\", start: \"“\", end: \"\" },\n                char_hr: { title: \"”\", start: \"”\", end: \"\" },\n                char_su: { title: \"…\", start: \"…\", end: \"\" },\n                char_ti: { title: \"−\", start: \"−\", end: \"\" },\n                char_ca: { title: \"—\", start: \"—\", end: \"\" }\n            },\n            \"Caractères\": {\n                char_in: { title: \"Insécable\", start: \" \", end: \"\" },\n                char_ag: { title: \"À\", start: \"À\", end: \"\" },\n                char_cc: { title: \"Ç\", start: \"Ç\", end: \"\" },\n                char_ea: { title: \"É\", start: \"É\", end: \"\" },\n                char_eg: { title: \"È\", start: \"È\", end: \"\" },\n                char_oe: { title: \"œ\", start: \"œ\", end: \"\" },\n                char_eo: { title: \"Œ\", start: \"Œ\", end: \"\" }\n            }\n        },\n\n        smilies: {\n            0: {\n                smiley_sm: { title: \":)\",         start: \":)\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/smile.png\" },\n                smiley_he: { title: \":D\",         start: \":D\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/heureux.png\" },\n                smiley_cl: { title: \";)\",         start: \";)\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/clin.png\" },\n                smiley_la: { title: \":p\",         start: \":p\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/langue.png\" },\n                smiley_ri: { title: \":lol:\",      start: \":lol:\",      end: \"\", image: \"https://zestedesavoir.com/static/smileys/rire.gif\" },\n                smiley_un: { title: \":euh:\",      start: \":euh:\",      end: \"\", image: \"https://zestedesavoir.com/static/smileys/unsure.gif\" },\n                smiley_tr: { title: \":(\",         start: \":(\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/triste.png\" },\n                smiley_hu: { title: \":o\",         start: \":o\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/huh.png\" }\n            },\n            1: {\n                smiley_c1: { title: \":colere2:\",  start: \":colere2:\",  end: \"\", image: \"https://zestedesavoir.com/static/smileys/mechant.png\" },\n                smiley_oo: { title: \"o_O\",        start: \"o_O\",        end: \"\", image: \"https://zestedesavoir.com/static/smileys/blink.gif\" },\n                smiley_uu: { title: \"^^\",         start: \"^^\",         end: \"\", image: \"https://zestedesavoir.com/static/smileys/hihi.png\" },\n                smiley_si: { title: \":-°\",        start: \":-°\",        end: \"\", image: \"https://zestedesavoir.com/static/smileys/siffle.png\" },\n                smiley_an: { title: \":ange:\",     start: \":ange:\",     end: \"\", image: \"https://zestedesavoir.com/static/smileys/ange.png\" },\n                smiley_c2: { title: \":colere:\",   start: \":colere:\",   end: \"\", image: \"https://zestedesavoir.com/static/smileys/angry.gif\" },\n                smiley_di: { title: \":diable:\",   start: \":diable:\",   end: \"\", image: \"https://zestedesavoir.com/static/smileys/diable.png\" },\n                smiley_ma: { title: \":magicien:\", start: \":magicien:\", end: \"\", image: \"https://zestedesavoir.com/static/smileys/magicien.png\" }\n            },\n            2: {\n                smiley_ni: { title: \":ninja:\",    start: \":ninja:\",    end: \"\", image: \"https://zestedesavoir.com/static/smileys/ninja.png\" },\n                smiley_gd: { title: \"&gt;_&lt;\",  start: \"&gt;_&lt;\",  end: \"\", image: \"https://zestedesavoir.com/static/smileys/pinch.png\" },\n                smiley_pi: { title: \":pirate:\",   start: \":pirate:\",   end: \"\", image: \"https://zestedesavoir.com/static/smileys/pirate.png\" },\n                smiley_pl: { title: \":'(\",        start: \":'(\",        end: \"\", image: \"https://zestedesavoir.com/static/smileys/pleure.png\" },\n                smiley_ro: { title: \":honte:\",    start: \":honte:\",    end: \"\", image: \"https://zestedesavoir.com/static/smileys/rouge.png\" },\n                smiley_so: { title: \":soleil:\",   start: \":soleil:\",   end: \"\", image: \"https://zestedesavoir.com/static/smileys/soleil.png\" },\n                smiley_ww: { title: \":waw:\",      start: \":waw:\",      end: \"\", image: \"https://zestedesavoir.com/static/smileys/waw.png\" },\n                smiley_zz: { title: \":zorro:\",    start: \":zorro:\",    end: \"\", image: \"https://zestedesavoir.com/static/smileys/zorro.png\" }\n            }\n        },\n\n        titles: {\n            \"link\" :    \"Lien hypertexte\",\n            \"abbr\" :    \"Abréviation\",\n            \"image\":    \"Image\",\n        },\n\n        isExecuted: false,\n        selection: null,\n        currentElemPopup: null,\n\n        addEvent: function(elem, evt, listener) {\n            if (elem.addEventListener) {\n                elem.addEventListener(evt, listener, false);\n            } else {\n                elem.attachEvent(\"on\" + evt, listener);\n            }\n        },\n\n        init: function() {\n            var self = this,\n                listTexta = document.getElementsByTagName(\"textarea\");\n\n            for (var i=0, c=listTexta.length; i<c; i++) {\n                if (/md.editor/.test(listTexta[i].className)) {\n                    this.setup(listTexta[i].id);\n                }\n            }\n\n            this.addEvent(document.getElementById(\"content\"), \"DOMNodeInserted\", (function(_this){\n                return function(e) {\n                    if (/md.editor/.test(e.target.className)) {\n                        _this.setup(e.target.id);\n                    }\n                };\n            }) (this));\n\n            var validateButton = document.createElement(\"a\");\n            validateButton.className = \"btn btn-submit\";\n            validateButton.innerHTML = \"Valider\";\n            validateButton.href = \"javascript:;\";\n\n            function buildButton(type) {\n                var btn = validateButton.cloneNode(true);\n                btn.addEventListener(\"click\", self.validatePopup.bind(self, type));\n                return btn;\n            }\n\n            this.modals = {};\n            this.modals.link = new window.Modal({\n                \"title\": this.titles.link,\n                \"body\": \"<div>\" +\n                            \"<label for=zform-modal-link-href>Lien :</label>\" +\n                            \"<input type=text id=zform-modal-link-href />\" +\n                        \"</div><div>\" +\n                            \"<label for=zform-modal-link-text>Texte :</label>\" +\n                            \"<input type=text id=zform-modal-link-text />\" +\n                        \"</div>\",\n                \"footer\": buildButton(\"link\")\n            });\n\n            this.modals.image = new window.Modal({\n                \"title\": this.titles.image,\n                \"body\": \"<div>\" +\n                            \"<label for=zform-modal-image-src>URL :</label>\" +\n                            \"<input type=text id=zform-modal-image-src />\" +\n                        \"</div><div>\" +\n                            \"<label for=zform-modal-image-text>Texte :</label>\" +\n                            \"<input type=text id=zform-modal-image-text />\" +\n                        \"</div>\",\n                \"footer\": buildButton(\"image\")\n            });\n\n            this.modals.abbr = new window.Modal({\n                \"title\": this.titles.abbr,\n                \"body\": \"<div>\" +\n                            \"<label for=zform-modal-abbr-abbr>Abbréviation :</label>\" +\n                            \"<input type=text id=zform-modal-abbr-abbr />\" +\n                        \"</div><div>\" +\n                            \"<label for=zform-modal-abbr-text>Texte :</label>\" +\n                            \"<input type=text id=zform-modal-abbr-text />\" +\n                        \"</div>\",\n                \"footer\": buildButton(\"abbr\")\n            });\n        },\n\n        setup: function(textareaId) {\n            var elemTexta = document.getElementById(textareaId);\n            var elemTools = document.createElement(\"ul\");\n            var self = this;\n            elemTools.className = \"zform-toolbar hide-for-small\";\n\n            elemTexta.parentNode.insertBefore(elemTools, elemTexta);\n\n            if (!this.isExecuted) {\n                this.addEvent(document, \"click\", function(event) {\n                    // If it's a root button and not a subbutton\n                    if (~event.target.className.indexOf(\"zform-button\") && !(~event.target.className.indexOf(\"zform-subbutton\"))) {\n\n                        return event.stopPropagation();\n                    }\n\n                    var menus = document.getElementsByClassName(\"zform-popup\"), i = 0;\n\n                    while (menus[i]) {\n                        if (menus[i].getAttribute(\"data-zform-info\") !== \"dontclose\" || event.target.nodeName.toLowerCase() === \"textarea\") {\n                            menus[i].style.display = \"none\";\n                            self.currentElemPopup = (menus[i] == self.currentElemPopup) ? null: self.currentElemPopup;\n                        }\n                        i++;\n                    }\n                }, false);\n\n                this.isExecuted = true;\n            }\n\n            var groups = this.buttons.split(\"#\"), buttons;\n            var elemPopup, elemButtonLi, elemButton, currentButton;\n\n            for (var g=0, cg=groups.length; g<cg; g++) {\n                buttons = groups[g].split(\",\");\n\n                for (var b=0, cb=buttons.length; b<cb; b++) {\n                    if (!(currentButton = this.tags[buttons[b]])) {\n                        alert(\"La valeur '\" + buttons[b] + \"' n\\'est pas reconnue comme étant une valeur correcte pour un bouton de zForm ! Corrigez votre syntaxe.\");\n                        continue;\n                    }\n\n                    elemButtonLi = elemTools.appendChild(document.createElement(\"li\"));\n                    elemButton   = elemButtonLi.appendChild(this.createButton(currentButton, { display: \"button\", type: buttons[b], textarea: textareaId }));\n                }\n\n                elemButton.style.marginRight = \"20px\";\n            }\n        },\n\n        createButton: function(currentButton, opts) {\n            var elemButton = document.createElement((opts.display === \"button\") ? \"a\" : \"span\"), elemPopup;\n\n            elemButton.className = (opts.display === \"button\") ? \"ico-after zform-button zform-button-\" + opts.type : \"zform-subbutton-span-\" + opts.type;\n            if (currentButton.useless) { elemButton.className += \" zform-button-useless\" }\n            elemButton.setAttribute(\"data-zform-textarea\", opts.textarea);\n            elemButton.title = currentButton.title;\n            elemButton.innerHTML = currentButton.title;\n\n            if (opts.display === \"span\") { elemButton.style.display = \"block\"; }\n            if (currentButton.hasOwnProperty(\"image\")) elemButton.innerHTML = '<img src=\"' + currentButton.image +  '\" alt=\"' + currentButton.title + '\" />';\n\n            if (currentButton.action) { // Button with a submenu\n                var self = this;\n                elemButton.style.position = \"relative\";\n                if (this.currentElemPopup){\n                    elemButton.removeChild(this.currentElemPopup);\n                    this.currentElemPopup = null;\n                }\n                this.addEvent(elemButton, \"click\", function(event, elemPopup) {\n                    event.preventDefault();\n\n                    if (elemPopup = this.getElementsByTagName(\"div\")[0]) {\n                        elemPopup.style.display = \"block\";\n                        if(self.currentElemPopup){\n                            self.currentElemPopup.style.display = \"none\";\n                        }\n                        if(self.currentElemPopup == elemPopup){\n                            self.currentElemPopup = null;\n                        }else{\n                            self.currentElemPopup = elemPopup;\n                        }\n                    }\n                });\n\n                elemPopup = elemButton.appendChild(document.createElement(\"div\"));\n                elemPopup.className = \"zform-popup\";\n                elemPopup.style.position = \"absolute\";\n                elemPopup.style.display = \"none\";\n                elemPopup.style.left = \"0\";\n                elemPopup.style.width = \"auto\";\n                elemPopup.style.whiteSpace = \"nowrap\";\n                elemPopup.style.textAlign = \"left\";\n                elemPopup = this[currentButton.action](elemPopup, currentButton, opts.textarea);\n\n            } else {\n                this.addEvent(elemButton, \"click\", (function(_button, _textareaId, _this, _tagtype, _extraoption) {\n                    return function(event) {\n                        //event.preventDefault();\n                        _this.wrap(_button.start, _button.end, _textareaId, _tagtype, _extraoption);\n                        this.style.fontWeight = \"bold\";\n                    };\n                }) (currentButton, opts.textarea, this, opts.type, opts.extra), false);\n            }\n\n            return elemButton;\n        },\n\n        openPopup: function(popupGuid) {\n            this.modals[popupGuid].open();\n\n            return false;\n        },\n\n        closePopup: function() {\n            window.Modal.closeCurrent();\n        },\n\n        validatePopup: function(type) {\n            //var wrapper = document.getElementById(\"zform-modal-wrapper\");\n            type = type || this.selection.type;\n\n            if (this.selection && this.selection.type) {\n                this.wrap(\"___\", \"+++\", this.selection.textareaId, type, null, true);\n            }\n\n            this.closePopup();\n        },\n\n        buildTitles: function(elemPopup, currentButton, textareaId, elemItem) {\n            for (var i=1; i<=4; i++) {\n                elemItem = elemPopup.appendChild(document.createElement(\"a\"));\n                elemItem.className = \"ico-after zform-button zform-subbutton zform-button-title\" + i;\n                elemItem.title = \"Titre de niveau \" + i;\n                elemItem.innerText = \"Titre de niveau \" + i;\n                this.addEvent(elemItem, \"mousedown\", (function(_this, _textareaId, _options) {\n                    return function(event) {\n                        event.preventDefault(); // IE madafaker\n                        _this.wrap(\"\", \"\", _textareaId, _options);\n                    };\n                }) (this, textareaId, \"title\" + i), false);\n            }\n\n            return elemPopup;\n        },\n\n        buildInfoblocks: function(elemPopup, currentButton, textareaId, elemItem) {\n            var ids = [\"information\", \"question\", \"attention\", \"error\", \"secret\"];\n\n            for (var i=0; i<5; i++) {\n                elemItem = elemPopup.appendChild(document.createElement(\"a\"));\n                elemItem.className = \"ico-after zform-button zform-subbutton zform-button-\" + ids[i];\n                elemItem.title = this.tags[ids[i]].title;\n                elemItem.innerText = this.tags[ids[i]].title;\n                this.addEvent(elemItem, \"mousedown\", (function(_this, _textareaId, _options) {\n                    return function(event) {\n                        event.preventDefault(); // IE\n                        _this.wrap(\"\", \"\", _textareaId, _options);\n                    };\n                }) (this, textareaId, ids[i]), false);\n            }\n\n            return elemPopup;\n        },\n\n        buildColumnous: function(elemPopup, currentButton, opts) {\n            var elemCol, elemItem, elemStg, i, c, name;\n\n            for (var category in opts.src) {\n                elemCol = elemPopup.appendChild(document.createElement(\"div\"));\n                elemCol.className = \"zform-code-col\";\n\n                if (isNaN(category)) { // We put the title only if it's a string\n                    elemStg = elemCol.appendChild(document.createElement(\"b\"));\n                       elemStg.style.display = \"block\";\n                    elemStg.style.fontWeight = \"bold\";\n                    elemStg.innerHTML = category;\n                }\n\n                for (name in opts.src[category]) {\n                    opts.extra = name;\n                    elemCol.appendChild(this.createButton(opts.src[category][name], opts));\n                }\n            }\n\n            return elemPopup;\n        },\n\n        buildCode: function(elemPopup, currentButton, textareaId) {\n            return this.buildColumnous(elemPopup, currentButton, {\n                textarea: textareaId,\n                src: this.codes,\n                type: \"blockcode\",\n                display: \"span\"\n            });\n        },\n\n        buildChars: function(elemPopup, currentButton, textareaId) {\n            return this.buildColumnous(elemPopup, currentButton, {\n                textarea: textareaId,\n                src: this.chars,\n                type: \"chars\",\n                display: \"span\"\n            });\n        },\n\n        buildSmilies: function(elemPopup, currentButton, textareaId) {\n            return this.buildColumnous(elemPopup, currentButton, {\n                textarea: textareaId,\n                src: this.smilies,\n                type: \"smiley\",\n                display: \"span\"\n            });\n        },\n\n        wrap: function(startTag, endTag, textareaId, type, options, isFromPopup) {\n            var field       = document.getElementById(textareaId);\n            var scroll      = field.scrollTop;\n            var selection   = (!isFromPopup) ? {\n                before:     null,\n                current:    null,\n                after:      null,\n                range:      null,\n                startTag:   startTag,\n                endTag:     endTag,\n                textareaId: textareaId,\n                type:       type,\n                options:    options\n            } : this.selection;\n\n            field.focus();\n\n            if (field.setSelectionRange) {\n                if (!isFromPopup) {\n                    selection.before    = field.value.substring(0, field.selectionStart);\n                    selection.current   = field.value.substring(field.selectionStart, field.selectionEnd);\n                    selection.after     = field.value.substring(field.selectionEnd);\n                }\n\n                field.blur();\n\n                if (selection = this.tagType(selection, selection.type, selection.options, isFromPopup)) {\n                    field.value = selection.before + selection.startTag + selection.current + selection.endTag + selection.after;\n                    field.focus();\n                    field.setSelectionRange(selection.before.length + selection.startTag.length, selection.before.length + selection.startTag.length + selection.current.length);\n                }\n            } else { // IE < 9 with IE-only stuff\n                if (!isFromPopup) {\n                    selection.range     = document.selection.createRange();\n                    selection.current   = selection.range.text;\n                }\n\n                if (selection = this.tagType(selection, selection.type, selection.options, isFromPopup)) {\n                    selection.range.text = selection.startTag + selection.current + selection.endTag;\n                    selection.range.moveStart(\"character\",  -selection.endTag.length - selection.current.length);\n                    selection.range.moveEnd(\"character\",    -selection.endTag.length);\n                    selection.range.select();\n                }\n            }\n\n            field.scrollTop = scroll;\n        },\n\n        tagType: function(selection, type, options, isFromPopup) {\n            if (!type)\n                return selection;\n\n            this.selection = selection;\n\n            var input = \"\", href, text, regex;\n\n            function iterateRows(txt, char) {\n                var spltd = txt.split(\"\\n\");\n                var order = (char === 0);\n\n                for (var i=0, c=spltd.length; i<c; i++) {\n                    spltd[i] = ((order) ? ++char + \".\" : char) + \" \" + spltd[i];\n                }\n\n                return spltd.join(\"\\n\");\n            }\n\n            switch (type) {\n                case \"link\":\n                    if (isFromPopup) {\n                        href = document.getElementById(\"zform-modal-link-href\").value;\n                        text = document.getElementById(\"zform-modal-link-text\").value;\n\n                        selection.current = \"[\" + text + \"](\" + href + \")\";\n                    } else {\n                        regex = new RegExp(\"^(http[s]?:\\\\/\\\\/(www\\\\.)?|ftp:\\\\/\\\\/(www\\\\.)?|www\\\\.){1}([0-9A-Za-z-\\\\.@:%_+~#=]+)+((\\\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\\\?(.)*)?\");\n\n                        this.openPopup(type);\n\n                        if (regex.test(selection.current)){\n                            document.getElementById(\"zform-modal-link-href\").value = selection.current;\n                            document.getElementById(\"zform-modal-link-text\").value = \"\";\n                            document.getElementById(\"zform-modal-link-text\").focus();\n                        } else {\n                            document.getElementById(\"zform-modal-link-text\").value = selection.current;\n                            document.getElementById(\"zform-modal-link-href\").value = \"\";\n                            document.getElementById(\"zform-modal-link-href\").focus();\n                        }\n\n                        return false;\n                    }\n                    break;\n\n                case \"image\":\n                    if (isFromPopup) {\n                        var src   = document.getElementById(\"zform-modal-image-src\").value;\n                        text  = document.getElementById(\"zform-modal-image-text\").value || \"Image utilisateur\";\n\n                        selection.current = \"![\" + text + \"](\" + src + \")\";\n                    } else {\n                        regex = new RegExp(\"^(http[s]?:\\\\/\\\\/(www\\\\.)?|ftp:\\\\/\\\\/(www\\\\.)?|www\\\\.){1}([0-9A-Za-z-\\\\.@:%_+~#=]+)+((\\\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\\\?(.)*)?\");\n\n                        this.openPopup(type);\n\n                        if (regex.test(selection.current)){\n                            document.getElementById(\"zform-modal-image-src\").value = selection.current;\n                            document.getElementById(\"zform-modal-image-text\").value = \"\";\n                            document.getElementById(\"zform-modal-image-text\").focus();\n                        } else {\n                            document.getElementById(\"zform-modal-image-text\").value = selection.current;\n                            document.getElementById(\"zform-modal-image-src\").value = \"\";\n                            document.getElementById(\"zform-modal-image-src\").focus();\n                        }\n\n                        return false;\n                    }\n                    break;\n\n                case \"quote\":\n                    selection.current = iterateRows(selection.current, \">\");\n                    break;\n\n                case \"information\":\n                case \"attention\":\n                case \"question\":\n                case \"secret\":\n                    selection.current = \"[[\" + type + \"]]\\n\" + iterateRows(selection.current, \"|\");\n                    break;\n\n                case \"error\":\n                    selection.current = \"[[erreur]]\\n\" + iterateRows(selection.current, \"|\");\n                    break;\n\n                case \"ul\":\n                    selection.current = iterateRows(selection.current, \"-\");\n                    break;\n\n                case \"ol\":\n                    selection.current = iterateRows(selection.current, 0);\n                    break;\n\n                case \"title1\":\n                case \"title2\":\n                case \"title3\":\n                case \"title4\":\n                    for (var i=0, c=parseInt(type.charAt(5)); i<c; i++) {\n                        input += \"#\";\n                    }\n\n                    selection.current = selection.current.replace(/^\\s*?/, input + \" \");\n                    break;\n\n                case \"footnote\":\n                    if (!selection.current) return;\n\n                    if (input = prompt(\"Entrez la signification de cette abréviation\")) {\n                        selection.after += \"\\n\\n*[\" + selection.current +\"]: \" + input;\n                    }\n                    break;\n\n                case \"abbr\":\n                    this.openPopup(type);\n\n                    if (isFromPopup) {\n                        var valtext = document.getElementById(\"zform-modal-abbr-text\").value;\n                        if (valtext.trim() === \"\") {\n                            valtext = document.getElementById(\"zform-modal-abbr-abbr\").value;\n                        }\n                        selection.after += \"\\n\\n*[\" + document.getElementById(\"zform-modal-abbr-abbr\").value + \"]: \"+ valtext;\n                    } else {\n                        if (selection.current.length < 10) {\n                            document.getElementById(\"zform-modal-abbr-abbr\").value = selection.current;\n                            document.getElementById(\"zform-modal-abbr-text\").value = \"\";\n                            document.getElementById(\"zform-modal-abbr-text\").focus();\n                        } else {\n                            document.getElementById(\"zform-modal-abbr-text\").value = selection.current;\n                            document.getElementById(\"zform-modal-abbr-abbr\").value = \"\";\n                            document.getElementById(\"zform-modal-abbr-abbr\").focus();\n                        }\n\n                        return true;\n                    }\n                    break;\n\n                case \"blockcode\":\n                    selection.startTag = \"```\" + selection.options + ((selection.current.indexOf(\"\\n\") === 0) ? \"\" : \"\\n\");\n                    selection.endTag = \"\\n```\";\n                    break;\n            }\n\n            if (!selection.startTag)\n                selection.startTag = \"\";\n\n            if (!selection.endTag)\n                selection.endTag = \"\";\n\n            return selection;\n        }\n    };\n\n    zForm.addEvent(window, \"load\", (function(_this) {\n        return function() {\n            _this.init();\n        };\n    }) (zForm));\n})(window, document);\n\n\n(function($, undefined){\n    \"use strict\";\n\n    $(\".md-editor\").on(\"keydown\", function(e){\n        // the message is submitted if the user is pressing Ctrl or Cmd with Enter and isn't pressing Alt or Shift\n        if((e.ctrlKey || e.metaKey) && e.which === 13 && !e.altKey && !e.shiftKey){\n            e.preventDefault();\n\n            $(\".message-submit > button[name=answer]\").click();\n        }\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Preview when editing news\n   ========================================================================== */\n\n(function($, undefined) {\n    function updatePreview(data, element) {\n        var $el = $(element);\n        if(data.image) {\n            $el.find(\".featured-resource-illu\").show().attr(\"src\", data.image);\n        }\n        else {\n            $el.find(\".featured-resource-illu\").hide();\n        }\n\n        $el.find(\"h3\").text(data.title);\n        $el.find(\".featured-resource-description\").html(data.description);\n        $el.find(\"a\").attr(\"href\", data.link);\n    }\n\n    function buildDescription(authors, type) {\n        var text = type;\n        if(authors.length > 0)\n            text += \" par \" + authors;\n        return text;\n    }\n\n    $(\".featured-resource-edit-form form input\").on(\"change input\", function() {\n        updatePreview({\n            image: $(\".featured-resource-edit-form input[name=image_url]\").val(),\n            title: $(\".featured-resource-edit-form input[name=title]\").val(),\n            description: buildDescription(\n                $(\".featured-resource-edit-form input[name=authors]\").val(),\n                $(\".featured-resource-edit-form input[name=type]\").val()\n            ),\n            link: $(\".featured-edit-form input[name=url]\").val(),\n        }, $(\".featured-resource-edit-form .featured-resource-item\"));\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Search for solved topics when create a new topic\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    var $solvedTopicsElem = $(\"main [data-solved-topics-url]\");\n    if($solvedTopicsElem.length > 0){\n        //var solvedTopicsUrl = $solvedTopicsElem.attr(\"data-solved-topics-url\");\n        // TODO : le back fonctionne désormais\n    }\n})(jQuery);","/**\n * Used by recovering password and send again validation email functionality.\n */\n(function($, undefined) {\n    \"use strict\";\n\n    if($(\"body\").hasClass(\"form-email-username\")) {\n        var $emailInput = $(\"#id_email\"),\n            $emailForm = $(\"#form-email\"),\n            $emailButton = $(\"[data-form-email-username-button=email]\");\n\n        var $usernameInput = $(\"#id_username\"),\n            $usernameForm = $(\"#form-username\"),\n            $usernameButton = $(\"[data-form-email-username-button=username]\");\n\n        if ($emailInput.val() === \"\") {\n            $emailForm.addClass(\"hidden\");\n        }\n        else {\n            $emailForm.removeClass(\"hidden\");\n        }\n\n        $emailButton.on(\"click\", function(e) {\n            $emailForm.toggleClass(\"hidden\");\n            $usernameForm.addClass(\"hidden\");\n\n            $usernameInput.val(\"\");\n\n            e.preventDefault();\n        });\n\n        if ($usernameInput.val() === \"\") {\n            $usernameForm.addClass(\"hidden\");\n        }\n        else {\n            $usernameForm.removeClass(\"hidden\");\n        }\n\n        $usernameButton.on(\"click\", function(e) {\n            $usernameForm.toggleClass(\"hidden\");\n            $emailForm.addClass(\"hidden\");\n\n            $emailInput.val(\"\");\n\n            e.preventDefault();\n        });\n    }\n})(jQuery);\n\n","/* ===== Zeste de Savoir ====================================================\n   Gallery list and grid views management\n   ---------------------------------\n   Author: Sandhose / Quentin Gliech\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    var $btn = $(\".toggle-gallery-view\"),\n        $galleryView = $(\".gallery\");\n\n    var updateBtn = function(){\n        $btn.text($galleryView.hasClass(\"list-view\") ? \"Vue grille\" : \"Vue liste\");\n    };\n\n    if($btn.length > 0){\n        $btn.on(\"click\", function(){\n            if($galleryView.hasClass(\"list-view\")) \n                $galleryView.removeClass(\"list-view\").addClass(\"grid-view\");\n            else \n                $galleryView.removeClass(\"grid-view\").addClass(\"list-view\");\n            updateBtn();\n        });\n\n        updateBtn();\n    }\n\n    var updateCheckbox = function(){\n        if(this.checked) $(this).parents(\".gallery-item\").addClass(\"selected\");\n        else $(this).parents(\".gallery-item\").removeClass(\"selected\");\n    };\n\n    if($galleryView.length > 0){\n        $(\".gallery-item input[type=checkbox]\")\n            .on(\"change\", updateCheckbox)\n            .each(updateCheckbox)\n        ;\n    }\n})(jQuery);","/* ===== Zeste de Savoir ====================================================\n   jQuery :tabbable and :focusable selectors plugin\n   ========================================================================== */\n\n(function($){\n  \"use strict\";\n\n  $.extend($.expr[ \":\" ], {\n    data: $.expr.createPseudo ?\n      $.expr.createPseudo(function(dataName){\n        return function(elem){\n          return !!$.data(elem, dataName);\n        };\n      }) :\n      // support: jQuery <1.8\n      function(elem, i, match){\n        return !!$.data(elem, match[ 3 ]);\n      },\n\n    focusable: function(element){\n      return focusable(element, !isNaN($.attr(element, \"tabindex\")));\n    },\n\n    tabbable: function(element){\n      var tabIndex = $.attr(element, \"tabindex\"),\n        isTabIndexNaN = isNaN(tabIndex);\n      return ( isTabIndexNaN || tabIndex >= 0 ) && focusable(element, !isTabIndexNaN);\n    }\n  });\n\n  /**\n   * focussable function, taken from jQuery UI Core\n   * @param element\n   * @returns {*}\n   */\n  function focusable(element){\n    var map, mapName, img,\n      nodeName = element.nodeName.toLowerCase(),\n      isTabIndexNotNaN = !isNaN($.attr(element, \"tabindex\"));\n    if(\"area\" === nodeName){\n      map = element.parentNode;\n      mapName = map.name;\n      if(!element.href || !mapName || map.nodeName.toLowerCase() !== \"map\"){\n        return false;\n      }\n      img = $(\"img[usemap=#\" + mapName + \"]\")[0];\n      return !!img && visible(img);\n    }\n    return ( /input|select|textarea|button|object/.test(nodeName) ?\n      !element.disabled :\n      \"a\" === nodeName ?\n        element.href || isTabIndexNotNaN :\n        isTabIndexNotNaN) &&\n      // the element and all of its ancestors must be visible\n      visible(element);\n\n    function visible(element){\n      return $.expr.filters.visible(element) && !$(element).parents().addBack().filter(function(){\n        return $.css(this, \"visibility\") === \"hidden\";\n      }).length;\n    }\n  }\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Manage Karma buttons\n   ========================================================================== */\n\n(function($, undefined) {\n    \"use strict\";\n\n    /**\n     * Manages the karma of a message\n     * @class\n     */\n    var Karma = function(message) {\n        this.message = message;\n        if(!this.message.is(\".topic-message\")) throw new Error(\"Target is not a .topic-message\");\n        this.init();\n        this.message.data(\"karma\", this);\n    };\n\n    Karma.prototype = {\n        /**\n         * @var {number} - The interval between regular updates in ms\n         */\n        updateInterval: 30 * 1000,\n\n        /**\n         * Initialize the karma\n         */\n        init: function() {\n            this.karmaElem = this.message.find(\".message-karma\");\n\n            /**\n             * @member {string} - Endpoint to vote & fetch karma update\n             */\n            this.karmaURI = this.karmaElem.data(\"karma-uri\");\n\n            /**\n             * @member {string} - Token to pass when doing a put request\n             */\n            this.csrf = $(\"input[name=csrfmiddlewaretoken]\").val();\n\n            this.like = {};\n            this.dislike = {};\n\n            this.like.button = this.karmaElem.find(\".upvote\");\n            this.dislike.button = this.karmaElem.find(\".downvote\");\n\n            this.like.tooltip = this.like.button.tooltip(this.like.button.hasClass(\"has-vote\") ? \"Chargement...\" : \"\");\n            this.dislike.tooltip = this.dislike.button.tooltip(this.dislike.button.hasClass(\"has-vote\") ? \"Chargement...\" : \"\");\n\n            $(this.like.tooltip.elem).add(this.dislike.tooltip.elem).on(\"click\", this.showDetails.bind(this));\n\n            this.like.listElem = $(\"<ul>\", { class: \"vote-list like\" });\n            this.dislike.listElem = $(\"<ul>\", { class: \"vote-list dislike\" });\n\n            /**\n             * @member {boolean} - True if the message can be voted\n             */\n            this.canVote = this.karmaElem.hasClass(\"can-vote\");\n            this.updateInterval = 30 * 1000;\n            if(this.canVote) {\n                this.like.button.on(\"click\", this.vote.bind(this, \"like\"));\n                this.dislike.button.on(\"click\", this.vote.bind(this, \"dislike\"));\n            }\n\n            this.like.button.on(\"mouseover\", this.regularUpdate.bind(this));\n            this.dislike.button.on(\"mouseover\", this.regularUpdate.bind(this));\n\n            if(this.like.button.hasClass(\"voted\")) {\n                this.currentVote = \"like\";\n            } else if(this.dislike.button.hasClass(\"voted\")) {\n                this.currentVote = \"dislike\";\n            } else {\n                this.currentVote = \"neutral\";\n            }\n        },\n\n        /**\n         * Send a vote request and update with the result\n         *\n         * @param {string} vote - \"like\" or \"dislike\"\n         * @param {jQuery.Event} [event] - Event that triggered the vote. Will be prevented\n         */\n        vote: function(vote, event) {\n            if(vote === this.currentVote) vote = \"neutral\";\n            $.ajax({\n              method: \"PUT\",\n              url: this.karmaURI,\n              data: { \"vote\": vote },\n              headers: {\n                \"X-CSRFToken\": this.csrf\n              }\n            }).done(this.update.bind(this));\n\n            if(event) {\n                event.preventDefault();\n                event.stopPropagation();\n            }\n        },\n\n        /**\n         * Fetch the message's karma\n         */\n        fetchUpdate: function() {\n            var self = this;\n            if(this.updating) return;\n            this.updating = true;\n            $.getJSON(this.karmaURI).done(this.update.bind(this)).always(function() {\n                 self.updating = false;\n            });\n        },\n\n        /**\n         * Triggers this.update() if it was not updated withing this.updateInterval\n         */\n        regularUpdate: function() {\n            if(!this.lastUpdate || this.lastUpdate + this.updateInterval < Date.now()) {\n                this.fetchUpdate();\n                this.lastUpdate = Date.now();\n            }\n        },\n\n        /**\n         * Update message's karma\n         *\n         * @param {Object} data\n         * @param {Object} data.like - Data related to likes\n         * @param {Object} data.like.users - List of the non-anonymous likers\n         * @param {string} data.like.users[].username - Username of a liker\n         * @param {number} data.like.count - Like total count\n         * @param {Object} data.dislike - Data related to dislikes\n         * @param {Object} data.dislike.users - List of the non-anonymous dislikers\n         * @param {string} data.dislike.users[].username - Username of a disliker\n         * @param {number} data.dislike.count - Dislike total count\n         * @param {string} data.user - User vote, \"like\", \"dislike\" or \"neutral\"\n         */\n        update: function(data) {\n            this.updateOne(data, \"like\", \"dislike\");\n            this.updateOne(data, \"dislike\", \"like\");\n            this.currentVote = data.user;\n        },\n\n        /**\n         * Update one karma button\n         *\n         * Updates the button's classes, the tooltip, the title and the text\n         *\n         * @param {Object} data - See Karma.update data parameter\n         * @param {string} sign - The sign of the button (\"like\" or \"dislike\")\n         * @param {string} otherSign - The sign of the other button (\"like\" or \"dislike\")\n         */\n        updateOne: function(data, sign, otherSign) {\n            if(data[sign].count > 0) {\n                this[sign].button.addClass(\"has-vote\");\n            } else {\n                this[sign].button.removeClass(\"has-vote\");\n            }\n\n            if(data[sign].count > data[otherSign].count) {\n                this[sign].button.addClass(\"more-voted\");\n            } else {\n                this[sign].button.removeClass(\"more-voted\");\n            }\n\n            if(data.user === sign) {\n                this[sign].button.addClass(\"voted\");\n            } else {\n                this[sign].button.removeClass(\"voted\");\n            }\n\n            // Updating the title\n            var likeTitleCount = data[sign].count + \" personne\";\n            if(data[sign].count === 1 && sign === \"like\") {\n                likeTitleCount += \" a\";\n            } else if(data[sign].count === 1 && sign === \"dislike\") {\n                likeTitleCount += \" n'a pas\";\n            } else if(sign === \"like\") {\n                likeTitleCount += \"s ont\";\n            } else {\n                likeTitleCount += \"s n'ont pas\";\n            }\n            likeTitleCount += \" trouvé ce message utile\";\n\n            var likeTitle;\n            if(this.canVote) {\n                likeTitle = \"Ce message \" + (sign === \"like\" ? \"est\" : \"n'est pas\") + \" utile\";\n                if(data[sign].count !== 0) {\n                    likeTitle += \" (\" +  likeTitleCount + \")\";\n                }\n            } else {\n                likeTitle = likeTitleCount;\n            }\n\n            this[sign].button.attr(\"title\", likeTitle);\n            // Updating the text\n            this[sign].button.text((sign === \"like\" ? \"+\" : \"-\") + data[sign].count);\n\n            // Updating the tooltip\n            if(data[sign].hasOwnProperty(\"users\")) {\n                var likers = data[sign].users.slice(0, 9);\n                var otherLikeCount = data[sign].count - likers.length;\n\n                var currentUser = $(\"#my-account .username\").text();\n                var likeStr = likers.map(function(e) { return e.username === currentUser ? \"Vous (\" + e.username + \")\" : e.username; }).join(\"<br>\");\n                if(otherLikeCount > 0) {\n                    if(likeStr !== \"\") likeStr += \"<br> et \" + otherLikeCount + \" autre\";\n                    else likeStr = otherLikeCount + \" vote\";\n\n                    if(otherLikeCount !== 1) likeStr += \"s\";\n                }\n\n                this[sign].tooltip.setContent(likeStr);\n\n                // Build list in modal\n                this[sign].listElem.empty();\n\n                if(data[sign].count === 0) {\n                    $(\"<li>\", { class: \"muted\", text: \"Pas de votes \" + (sign === \"like\" ? \"positifs\" : \"négatifs\")}).appendTo(this[sign].listElem);\n                } else {\n                    this[sign].listElem.append(data[sign].users.map(function(user) {\n                        return $(\"<li>\").append($(\"<a>\", { href: user[\"html_url\"], text: user.username }).prepend($(\"<img />\", { src: user[\"avatar_url\"] })));\n                    }));\n\n                    var anonymous = data[sign].count - data[sign].users.length;\n                    if(anonymous) {\n                        $(\"<li>\", { text: anonymous + \" anonyme\" + (anonymous === 1 ? \"\" : \"s\"), class: \"muted\" }).appendTo(this[sign].listElem);\n                    }\n                }\n            }\n        },\n\n        /**\n         * Show the details of the votes in a modal\n         */\n        showDetails: function() {\n            if(!this.detailsModal) {\n                var body = $(\"<div>\", { class: \"vote-details\" })\n                    .append($(\"<div>\", { class: \"vote-col\" }).append($(\"<h3>\", { text: \"Votes positifs\" })).append(this.like.listElem))\n                    .append($(\"<div>\", { class: \"vote-col\" }).append($(\"<h3>\", { text: \"Votes négatifs\" })).append(this.dislike.listElem));\n\n                this.detailsModal = new window.Modal({\n                    title: \"Détail des votants\",\n                    titleIcon: \"hide light\",\n                    body: body,\n                    closeText: \"Fermer\"\n                });\n            }\n\n            this.detailsModal.open();\n        }\n    };\n\n    /**\n     * Create new Karma object for each jQuery element\n     *\n     * @example\n     * $(\".topic-message #p42\").karma().vote(\"like\");\n     * @returns {Karma}\n     */\n    $.fn.karma = function() {\n        if(this.length !== 1) {\n            return $(this).map(function(index, elem) {\n                $(elem).karma();\n            });\n        } else {\n            var message;\n            if($(this).is(\".topic-message\")) {\n                message = $(this);\n            } else {\n                message = $(this).parents(\".topic-message\");\n            }\n\n            var instance = message.data(\"karma\");\n            if(instance) return instance;\n\n            return new Karma(message);\n        }\n    };\n\n    $(document).ready(function() {\n        $(\".topic-message\").has(\".message-karma\").karma();\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Keyboard navigation in navigables lists, with j/k keys\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function(document, $, undefined){\n    \"use strict\";\n    \n    $(document).ready(function(){\n        var $lists = $(\"#content .navigable-list\");\n\n        if($lists.length > 0){\n            var $navigableElems = $lists.find(\".navigable-elem\");\n\n            $(\"body\").on(\"keydown\", function(e){\n                if(!$(document.activeElement).is(\":input\") && (e.which === 74 || e.which === 75)){\n                    var $current = $lists.find(\".navigable-elem.active\"),\n                        nextIndex = null;\n\n                    if($current.length === 1){\n                        var currentIndex = $navigableElems.index($current);\n                        if(e.which === 75){ // J\n                            if(currentIndex > 0)\n                                nextIndex = currentIndex - 1;\n                        } else { // K\n                            if(currentIndex + 1 < $navigableElems.length)\n                                nextIndex = currentIndex + 1;\n                        }\n                    } else {\n                        nextIndex = 0;\n                    }\n\n                    if(nextIndex !== null){\n                        $current.removeClass(\"active\");\n                        activeNavigableElem($navigableElems.eq(nextIndex));\n                    }\n                }\n            });\n\n            $(\"#content .navigable-list\")\n            .on(\"focus\", \".navigable-link\", function(){\n                if(!$(this).parents(\".navigable-elem:first\").hasClass(\"active\")){\n                    $lists.find(\".navigable-elem.active\").removeClass(\"active\");\n                    activeNavigableElem($(this).parents(\".navigable-elem\"));\n                }\n            })\n            .on(\"blur\", \".navigable-link\", function(){\n                $(this).parents(\".navigable-elem:first\").removeClass(\"active\");\n            });\n        }\n\n        function activeNavigableElem($elem){\n            $elem\n                .addClass(\"active\")\n                .find(\".navigable-link\")\n                    .focus();\n        }\n\n        $(\"#content\").on(\"DOMNodeInserted\", \".navigable-list, .navigable-elem\", function(){\n            $lists = $(\"#content .navigable-list\");\n        });\n    });\n})(document, jQuery);","/* ===== Zeste de Savoir ====================================================\n   Ugly markdown help block management\n   TEMP : Add this to the future awesome Markdown editor directly\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function(document ,$, undefined){\n    \"use strict\";\n\n    function addDocMD($elem){\n        $elem.each(function(){\n            var $help = $(\"<div/>\", {\n                \"class\": \"markdown-help\",\n                \"html\": \"<div class=\\\"markdown-help-more\\\">\" +\n                        \"<p>Les simples retours à la ligne ne sont pas pris en compte. Pour créer un nouveau paragraphe, pensez à <em>sauter une ligne</em> !</p>\" +\n                        \"<pre><code>**gras** \\n*italique* \\n[texte de lien](url du lien) \\n> citation \\n+ liste à puces </code></pre>\" +\n                        \"<a href=\\\"//zestedesavoir.com/tutoriels/221/rediger-sur-zds/\\\">Voir la documentation complète du markdown</a>\" +\n                        \"<p>Vous pouvez également <a href=\\\"//zestedesavoir.com/tutoriels/202/comment-rediger-des-maths-sur-zeste-de-savoir/\\\">écrire des formules mathématiques</a> en encadrant ces dernières du signe dollar ($) !</p></div>\"+\n                        \"<a href=\\\"#open-markdown-help\\\" class=\\\"open-markdown-help btn btn-grey ico-after help\\\">\"+\n                            \"<span class=\\\"close-markdown-help-text\\\">Masquer</span>\" +\n                            \"<span class=\\\"open-markdown-help-text\\\">Afficher</span> l'aide Markdown\" +\n                        \"</a>\"\n            });\n            $(this).after($help);\n            $(\".open-markdown-help, .close-markdown-help\", $help).click(function(e){\n                $(\".markdown-help-more\", $help).toggleClass(\"show-markdown-help\");\n                e.preventDefault();\n                e.stopPropagation();\n            });\n        });\n    }\n    \n\n    $(document).ready(function(){\n        addDocMD($(\".md-editor\"));\n        $(\"#content\").on(\"DOMNodeInserted\", \".md-editor\", function(e){\n            var $editor = $(e.target);\n            if($editor.next().hasClass(\"markdown-help\") === false) {\n                addDocMD($editor);\n            }\n        });\n    });\n})(document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Toggle message content for staff\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    $(\"#content [href^=#show-message-hidden]\").on(\"click\", function(e){\n        $(this).parents(\".message:first\").find(\".message-hidden-content\").toggle();\n\t\te.preventDefault();\n    });\n})(jQuery);","/* ===== Zeste de Savoir ====================================================\n   Single line/Multi lines signatures\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    $(\".message-bottom .signature\").on(\"click\", function(){\n        $(this).toggleClass(\"full\");\n    });\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Mobile sidebar menu, swipe open/close\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function(window, document, $, undefined){\n    \"use strict\";\n\n    /**\n     * Add class for mobile navigator does not support fixed position\n     */\n    var navU = navigator.userAgent;\n\n    // Android Mobile\n    var isAndroidMobile = navU.indexOf(\"Android\") > -1 && navU.indexOf(\"Mozilla/5.0\") > -1 && navU.indexOf(\"AppleWebKit\") > -1;\n\n    // Android Browser (not Chrome)\n    var regExAppleWebKit = new RegExp(/AppleWebKit\\/([\\d.]+)/);\n    var resultAppleWebKitRegEx = regExAppleWebKit.exec(navU);\n    var appleWebKitVersion = (resultAppleWebKitRegEx === null ? null : parseFloat(regExAppleWebKit.exec(navU)[1]));\n    var disableMobileMenu = isAndroidMobile && appleWebKitVersion !== null && appleWebKitVersion < 537;\n\n    if(disableMobileMenu)\n        $(\"html\").removeClass(\"enable-mobile-menu\");\n\n\n\n    /**\n     * Get prefix to support CSS transform\n     */\n    var transform = \"\";\n    var prefixedPropertyNames = [\"transform\", \"msTransform\", \"MozTransform\", \"WebkitTransform\", \"OTransform\"];\n    var prefixes = [\"\", \"-ms-\", \"-moz-\", \"-webkit-\", \"-o-\"];\n    var tempDiv = document.createElement(\"div\");\n    for(var i = 0; i < prefixedPropertyNames.length; ++i){\n        if(typeof tempDiv.style[prefixedPropertyNames[i]] !== \"undefined\"){\n            transform = prefixes[i];\n            break;\n        }\n    }\n    transform = transform+\"transform\";\n\n\n\n    /**\n     * Manage mobile sidebar on resize\n     */\n    $(window).on(\"resize\", function(){\n        if(parseInt($(\"html\").css(\"width\")) < 960 && !disableMobileMenu){\n            $(\".page-container\").css(\"width\", $(\"html\").css(\"width\"));\n\n            if(!$(\"#mobile-menu\").hasClass(\"initialized\")){\n                $(\"#mobile-menu\").addClass(\"initialized\");\n\n\n                /**\n                 * Manage menu button\n                 */\n                $(\".mobile-menu-btn\").on(\"click\", function(e){\n                    if(!$(\"html\").hasClass(\"show-mobile-menu\")){\n                        toggleMobileMenu(true);\n\n                        e.preventDefault();\n                        e.stopPropagation();\n                    }\n                });\n\n\n\n                /**\n                 * Build sidebar menu from page\n                 */\n\n                appendToSidebar($(\"#search\"), true);\n                appendToSidebar($(\".logbox .my-account\"), true);\n                appendToSidebar($(\".header-menu\"));\n\n                $(\".page-container .mobile-menu-bloc .mobile-menu-bloc\").each(function(){\n                    appendToSidebar($(this));\n                });\n                $(\".page-container .mobile-menu-bloc:not(.my-account-dropdown)\").each(function(){\n                    appendToSidebar($(this));\n                });\n\n                appendToSidebar($(\".my-account-dropdown\"));\n            }\n\n\n            /**\n             * Manage touch events for mobile sidebar\n             */\n            if(!$(\"#mobile-menu\").hasClass(\"initialized-events\")){\n                var beginTouchDown = 0;\n                var borderWidth    = 50;\n                var swipping       = false;\n\n                $(\"body\")\n                .on(\"touchstart\", function(e){\n                    beginTouchDown = parseInt(e.originalEvent.touches[0].pageX, 10) - $(\".page-container\").offset().left;\n                });\n\n                $(\".page-container\")\n                .on(\"touchmove\", function(e){\n                    if(swipping || parseInt(e.originalEvent.touches[0].pageX, 10) - $(this).offset().left < borderWidth){\n                        e.preventDefault();\n                        $(\"body:not(.swipping)\").addClass(\"swipping\");\n\n                        swipping   = true;\n\n                        var toMove = parseInt(e.originalEvent.touches[0].pageX, 10) - beginTouchDown;\n                        toMove     = (toMove * 100) / parseInt($(\"html\").width());\n\n                        if(toMove > 0 && toMove < 90){\n                            var props = {};\n                            props[transform] = \"translate3d(\"+toMove+\"%, 0, 0)\";\n                            $(this).css(props);\n\n                            toMove  = ((toMove * 20) / 90) - 20;\n                            props[transform] = \"translate3d(\"+toMove+\"%, 0, 0)\";\n                            $(\"#mobile-menu\").css(props);\n                        }\n                    }\n                })\n                .on(\"touchend touchleave touchcancel\", function(){\n                    if(swipping){\n                        var offset  = parseInt($(this).offset().left);\n                        var width   = parseInt($(\"html\").width());\n                        var visible = (offset > width/3 && !$(\"html\").hasClass(\"show-mobile-menu\")) || (offset > width-width/3 && $(\"html\").hasClass(\"show-mobile-menu\"));\n                        toggleMobileMenu(visible);\n\n                        swipping = false;\n                        $(\"body\").removeClass(\"swipping\");\n\n                        var props = {};\n                        props[transform] = \"\";\n                        $(\".page-container, #mobile-menu\").css(props);\n                    }\n                });\n\n\n                $(\".page-container\").on(\"click\", function(e){\n                    if($(\"html\").hasClass(\"show-mobile-menu\")){\n                        toggleMobileMenu(false);\n\n                        e.preventDefault();\n                        e.stopPropagation();\n                    }\n                });\n\n\n                $(\"#mobile-menu\").addClass(\"initialized-events\");\n            }\n        } else {\n            $(\"html\").removeClass(\"show-mobile-menu\");\n            $(\"#mobile-menu\").removeClass(\"initialized-events\");\n            $(\".page-container\").removeAttr(\"style\");\n            $(\".page-container\").off(\"click touchstart touchmove touchend\");\n        }\n    });\n    $(window).trigger(\"resize\");\n\n\n\n    function appendToSidebar($elem, force){\n        if($elem.hasClass(\"mobile-menu-imported\"))\n            return;\n\n        if(force){\n            $elem.addClass(\"mobile-menu-imported\");\n            $elem.clone().removeAttr(\"id\").appendTo(\"#mobile-menu\");\n            return;\n        }\n\n        var $div = $(\"<div/>\");\n        $div.addClass(\"mobile-menu-bloc\");\n        $div.attr(\"data-title\", $elem.attr(\"data-title\"));\n\n        if($elem.hasClass(\"mobile-show-ico\"))\n            $div.addClass(\"mobile-show-ico\");\n\n        var $links = ($elem.hasClass(\"mobile-all-links\")) ? $(\"a, button, span.disabled\", $elem).not(\".action-hover\").addClass(\"mobile-menu-link\") : $(\".mobile-menu-link\", $elem);\n\n        $links.each(function(){\n            if($(this).parents(\".mobile-menu-imported, .modal\").length === 0){\n                var $elem = $(this).clone().addClass(\"light\");\n                var formId;\n\n                if($(this).is(\"button\")){\n                    var $form = $(this).parents(\"form:first\");\n                    if(!$form.attr(\"id\")){\n                        formId = \"form\" + $(\".identified-form\").length;\n                        $form.attr(\"id\", formId).addClass(\"identified-form\");\n                    } else {\n                        formId = $form.attr(\"id\");\n                    }\n                    $elem.attr(\"form\", formId);\n                }\n\n                $div.append($elem);\n            }\n        });\n\n        $elem.addClass(\"mobile-menu-imported\");\n\n        $div.appendTo($(\"#mobile-menu\"));\n    }\n\n\n\n\n\n    /**\n     * Toggle sidebar for mobiles\n     */\n    function toggleMobileMenu(visible){\n        var scrollTop;\n        if(visible === null)\n            visible = !$(\"html\").hasClass(\"show-mobile-menu\");\n\n        $(\"body\").removeClass(\"swipping\");\n\n        var viewportmeta = document.querySelector(\"meta[name=\\\"viewport\\\"]\");\n\n        if(visible){\n            if(!$(\"html\").hasClass(\"show-mobile-menu\")){\n                scrollTop = $(document).scrollTop();\n                $(\".page-container\").css({\n                    \"margin-top\": \"-\" + scrollTop + \"px\",\n                    \"padding-bottom\": scrollTop + \"px\"\n                });\n                $(\"html\").addClass(\"show-mobile-menu\");\n\n                viewportmeta.content = \"width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0\";\n            }\n\n            // Manage back button to close sidebar\n            /*\n            if(history && history.pushState){\n                history.pushState(null, document.title, this.href);\n\n                $(window).off(\"popstate\").one(\"popstate\", function(e){\n                    if($(\"html\").hasClass(\"show-mobile-menu\"))\n                        toggleMobileMenu(false);\n                    else\n                        window.history.back();\n                });\n            }\n            */\n        } else {\n            $(\"html\").removeClass(\"show-mobile-menu\");\n\n            // Reset CSS modifications for restore scroll\n            scrollTop = parseInt($(\".page-container\").css(\"padding-bottom\"));\n            $(\".page-container\").css({\n                \"margin-top\": \"\",\n                \"padding-bottom\": \"\"\n            });\n            if(scrollTop > 0)\n                $(document).scrollTop(scrollTop);\n\n            // Stop swipping\n            $(\"body\").removeClass(\"swipping\");\n\n            setTimeout(function(){\n                // Reinit mobile menu at top\n                $(\"#mobile-menu\").scrollTop(0);\n\n                // Restore zoom\n                viewportmeta.content = \"width=device-width, minimum-scale=1.0, initial-scale=1.0\";\n\n                // Bugfix <html> element\n                $(\"html\").css({\n                    \"position\": \"absolute\",\n                    \"left\": \"0\"\n                });\n                setTimeout(function(){\n                    $(\"html\").removeAttr(\"style\");\n                }, 500);\n            }, 200);\n        }\n    }\n\n\n\n\n    /**\n     * Manage actions buttons, move them at the top af core of page\n     */\n    $(window).on(\"resize\", function(){\n        if(parseInt($(\"html\").css(\"width\")) < 960 && !disableMobileMenu){\n            var $newBtns = $(\".sidebar .new-btn:not(.mobile-btn-imported)\");\n            if($newBtns.length > 0){\n                var $prevElem = $(\"#content\")\n                    .find(\"> .content-wrapper, > .full-content-wrapper, > .content-col-2\")\n                    .first()\n                    .find(\"h1, h2\")\n                    .first();\n                if($prevElem.next(\".license\").length > 0)\n                    $prevElem = $prevElem.next(\".license\");\n                if($prevElem.next(\".subtitle\").length > 0)\n                    $prevElem = $prevElem.next(\".subtitle\");\n                if($prevElem.next(\".taglist\").length > 0)\n                    $prevElem = $prevElem.next(\".taglist\");\n\n                var $newBtnContainer = $(\"<div/>\", {\n                    \"class\": \"new-btn-container\"\n                });\n                $newBtns.each(function(){\n                    $newBtnContainer.append($(this).clone().removeAttr(\"id\").removeClass(\"blue\"));\n                    $(this).addClass(\"mobile-btn-imported\");\n                });\n                $prevElem.after($newBtnContainer);\n            }\n        }\n    });\n    $(window).trigger(\"resize\");\n})(window, document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Manage modals boxes\n   ========================================================================== */\n\n(function(document, $, undefined) {\n    \"use strict\";\n\n    /**\n     * Create a new Modal\n     *\n     * @constructor\n     * @param {Object} options\n     * @param {string} options.title\n     * @param {(Node|jQuery)} options.body\n     * @param {(Node|jQuery)} options.footer\n     * @param {string} [options.titleIcon=\"\"] - Icon to add to the title\n     * @param {string} [options.closeText=\"Annuler\"] - The text of the close button\n     * @param {(Node|jQuery)} [options.modal] - The modal element to wrap the content\n     */\n    var Modal = function(options) {\n        this.options = $.extend({\n            titleIcon: \"\",\n            closeText: \"Annuler\"\n        }, options);\n        if(!Modal._initialized) this.firstRun();\n        this.init();\n    };\n\n    /**\n     * Close the current modal\n     *\n     * @static\n     */\n    Modal.closeCurrent = function() {\n        Modal.current.modal.removeClass(\"open\");\n        Modal.container.removeClass(\"open\");\n        $(\"html\").removeClass(\"dropdown-active\");\n        Modal.current = null;\n    };\n\n    /**\n     * Open a modal\n     *\n     * @static\n     * @param {string} id - The id of the modal to open\n     */\n    Modal.openModal = function(id) {\n        if(Modal.list[id]) {\n            Modal.list[id].open();\n        }\n    };\n\n    Modal.prototype = {\n        /**\n         * To be run on first modal creation\n         *\n         * @access private\n         */\n        firstRun: function() {\n            /**\n             * The Node that contains all the modals and the overlay\n             * @type {jQuery}\n             */\n            Modal.container = $(\"<div>\", { class: \"modals-container\" });\n            /**\n             * The Node that wrap all the modals\n             * @type {jQuery}\n             */\n            Modal.wrapper = $(\"<div>\", { class: \"modals-wrapper\" });\n            /**\n             * The overlay\n             * @type {jQuery}\n             */\n            Modal.overlay = $(\"<div>\", { class: \"modals-overlay\" });\n            Modal.container.append(Modal.wrapper).append(Modal.overlay).appendTo($(\"body\"));\n            /**\n             * The list of all the modals\n             * @type {Modal[]}\n             */\n            Modal.list = [];\n            Modal._initialized = true;\n            Modal.nextId = 0;\n\n            Modal.overlay.on(\"click\", Modal.closeCurrent);\n\n            $(\"body\").on(\"click\", \".open-modal\", function(e) {\n                Modal.openModal($(this).attr(\"href\").substring(1));\n\n                e.preventDefault();\n                e.stopPropagation();\n            }).on(\"keydown\", function(e) {\n                // Escape close modal\n                if(Modal.current && e.which === 27){\n                    Modal.closeCurrent();\n                    e.stopPropagation();\n                } else if(Modal.current && e.which === 13) {\n                    if(document.activeElement.tagName !== \"TEXTAREA\" || e.ctrlKey) {\n                        var elem = Modal.current.footer.find(\".btn-submit\").get(0);\n                        if(elem) elem.click();\n                    }\n                }\n            });\n        },\n\n        /**\n         * Initialize a Modal\n         *\n         * @access private\n         */\n        init: function() {\n            /**\n             * The modal DOM Node\n             * @member {jQuery}\n             */\n            this.modal = this.options.modal || $(\"<div>\", { class: \"modal modal-flex\" });\n            /**\n             * The ID of the modal\n             * @member {string}\n             */\n            this.id = this.modal.attr(\"id\") || \"noid-\" + (Modal.nextId++);\n            /**\n             * The title of the modal\n             * @member {jQuery}\n             */\n            this.title = $(\"<div>\", {\n                class: \"modal-title\",\n                text: this.options.title\n            });\n\n            if(this.options.titleIcon) {\n                this.title.addClass(this.options.titleIcon + \" ico-after\");\n            }\n\n            /**\n             * The body of the modal\n             * @member {jQuery}\n             */\n            this.body = $(\"<div>\", {\n                class: \"modal-body\"\n            }).append(this.options.body);\n\n            /**\n             * The footer of the modal (contains the buttons)\n             * @member {jQuery}\n             */\n            this.footer = $(\"<div>\", {\n                class: \"modal-footer\"\n            }).append(this.options.footer).append($(\"<a>\", {\n                class: \"btn btn-cancel\",\n                href: \"#close-modal\",\n                text: this.options.closeText,\n                click: function(e){\n                    Modal.closeCurrent();\n                    e.preventDefault();\n                    e.stopPropagation();\n                }\n            }));\n\n            this.modal.addClass(\"tab-modalize\").append(this.title, this.body, this.footer).appendTo(Modal.wrapper);\n\n            Modal.list[this.id] = this;\n        },\n\n        /**\n         * Open the Modal\n         */\n        open: function() {\n            if(Modal.current) Modal.closeCurrent();\n            this.modal.addClass(\"open\");\n            Modal.container.addClass(\"open\");\n\n            Modal.current = this;\n\n            this.body.find(\"input:visible, select, textarea\").first().focus();\n            if(!$(\"html\").hasClass(\"enable-mobile-menu\"))\n                $(\"html\").addClass(\"dropdown-active\");\n        },\n\n        /**\n         * Close the Modal\n         */\n        close: function() {\n            Modal.closeCurrent();\n        }\n    };\n\n    /**\n     * Build the modal from the given elements\n     *\n     * @param {jQuery} $elems\n     */\n    function buildModals($elems){\n        $elems.each(function(){\n            var $link = $(\"[href=#\"+$(this).attr(\"id\")+\"]:first\");\n\n            var linkIco = \"\";\n            if($link.hasClass(\"ico-after\")) {\n                linkIco = $link.attr(\"class\").split(\" \").concat([\"light\"]).filter(function(c) {\n                    return [\"\", \"ico-after\", \"open-modal\", \"blue\"].indexOf(c) === -1 && c.indexOf(\"btn-\") === -1;\n                }).join(\" \");\n            }\n\n            new Modal({\n                title: $link.text(),\n                footer: $(this).find(\".btn, [type=submit]\").filter(\":not(.modal-inner)\").detach(),\n                body: $(this).children(),\n                modal: $(this),\n                closeText: $(this).is(\"[data-modal-close]\") ? $(this).attr(\"data-modal-close\") : \"Annuler\",\n                titleIcon: linkIco\n            });\n        });\n    }\n\n    window.Modal = Modal;\n\n    $(document).ready(function(){\n        buildModals($(\".modal\"));\n        $(\"#content\").on(\"DOMNodeInserted\", \".modal\", function(e){\n            buildModals($(e.target));\n        });\n    });\n})(document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Auto submit forms\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    $(\"body\").on(\"change\", \".select-autosubmit\", function() {\n        $(this).parents(\"form:first\").submit();\n    });\n})(jQuery);","var LetItSnow = function(element) {\n    this._parent = element;\n\n    this._canvas = document.createElement(\"canvas\");\n    this.resize();\n\n    this._canvas.style.zIndex = -1;\n    this._canvas.style.position = \"absolute\";\n    this._canvas.style.top = this._canvas.style.left = this._canvas.style.right = this._canvas.style.bottom = 0;\n\n    this._canvas.style.background = window\n        .getComputedStyle(this._parent)\n        .getPropertyValue(\"background-color\");\n    this._parent.style.background = \"transparent\";\n\n    // Append the canvas...\n    if(this._parent.children.length > 0) { // As first element if there is other children\n        this._parent.insertBefore(this._canvas, this._parent.children[0]);\n    }\n    else {\n        this._parent.appendChild(this._canvas);\n    }\n\n    this._ctx = this._canvas.getContext(\"2d\");\n\n    this.setup();\n};\n\nLetItSnow.prototype = {\n    PARTICLES_COLOR: \"rgba(255, 255, 255, 0.8)\", // Color\n    MAX_PARTICLES: 25, // Particles limits\n    SPAWN_RATE: 100, // time (ms) between two particles spawns\n    PARTICLES_SPEED: 15, // Base speed\n    PARTICLES_SIZE: 2, // Base size\n    TURBULENCES_X: 1, // Turbulences amount (X)\n    TURBULENCES_Y: 0.5, // Turbulences amount (Y)\n    TURBULENCES_SPEED: 1, // Turbulences speed\n    MAX_TIMESHIFT: Math.PI / 3, // Max time shifting (turbulences) between two particles\n\n    setup: function() {\n        this.particles = [];\n        this._lastSpawn = this._lastLoop = Date.now();\n        this.loop();\n\n        window.addEventListener(\"resize\", this.resize.bind(this));\n    },\n\n    resize: function() {\n        var rect = this._parent.getBoundingClientRect();\n\n        this.H = rect.height;\n        this.W = rect.width;\n\n        this._canvas.height = this.H;\n        this._canvas.width = this.W;\n    },\n\n    spawnParticle: function() {\n        this.particles.push({\n            x: Math.random() * this.W,\n            y: - this.PARTICLES_SIZE,\n            d: Math.random() + 1, // Density (affects speed and size)\n            s: Math.random() * this.MAX_TIMESHIFT // Time shift\n        });\n    },\n\n    loop: function() {\n        this.update();\n        this.draw();\n\n        requestAnimationFrame(this.loop.bind(this));\n    },\n\n    update: function() {\n        var p, now = Date.now(), delta = now - this._lastLoop;\n        for(var i in this.particles) {\n            p = this.particles[i];\n            p.y += (delta / 1000) * (this.PARTICLES_SPEED * p.d * (1.5 + Math.sin(now * this.TURBULENCES_SPEED / 1000 + p.s) * this.TURBULENCES_Y));\n            p.x += (delta / 1000) * (this.PARTICLES_SPEED * p.d * (Math.cos(now * this.TURBULENCES_SPEED / 1000 + p.s) * this.TURBULENCES_X));\n\n            if(p.y - (p.d * 4) > this.H || p.x - (p.d * 4) > this.W || p.x + (p.d * 4) < 0) {\n                this.particles.splice(i, 1);\n            }\n        }\n\n        if(this._lastSpawn <= now - this.SPAWN_RATE && this.particles.length < this.MAX_PARTICLES) {\n            this._lastSpawn = now;\n            this.spawnParticle();\n        }\n\n        this._lastLoop = now;\n    },\n\n    draw: function() {\n        this._ctx.clearRect(0, 0, this.W, this.H);\n\n        this._ctx.fillStyle = this.PARTICLES_COLOR;\n        this._ctx.beginPath();\n\n        var p;\n        for(var i in this.particles) {\n            p = this.particles[i];\n\n            this._ctx.moveTo(p.x, p.y);\n            this._ctx.arc(p.x, p.y, p.d * this.PARTICLES_SIZE, 0, Math.PI*2, true);\n        }\n\n        this._ctx.fill();\n    }\n};\n\nwindow.addEventListener(\"DOMContentLoaded\", function() {\n    if(document.body.className.split(\" \").indexOf(\"vc-snow\") !== -1) { // No jQuery here\n        setTimeout(function() {\n            window.snow = new LetItSnow(document.querySelector(\".header-container > header\"));\n        }, 1000); // to be sure to have the DOM completely ready\n    }\n});\n","/* ===== Zeste de Savoir ====================================================\n   Toggle spoiler content\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function(document, $, undefined) {\n    \"use strict\";\n\n    function buildSpoilers($elem) {\n        $elem.each(function() {\n            var $this = $(this);\n\n            if(!$this.hasClass(\"spoiler-build\")) {\n                $this.before($(\"<a/>\", {\n                    text: \"Afficher/Masquer le contenu masqué\",\n                    class: \"spoiler-title ico-after view\",\n                    href: \"#\",\n                    click: function(e) {\n                        $(this).next(\".spoiler\").toggle();\n                        e.preventDefault();\n                    }\n                }));\n                $this.addClass(\"spoiler-build\");\n            }\n        });\n    }\n\n    $(document).ready(function() {\n        var $content = $(\"#content\");\n        buildSpoilers($content.find(\".spoiler\"));\n        $content.on(\"DOMNodeInserted\", function(e) {\n            var $spoilers = $(e.target).find(\".spoiler\");\n            return buildSpoilers($spoilers);\n        });\n    });\n})(document, jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Prevent from double clic on submit buttons\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    var buttonsSelector = \"[type=submit], [type=reset]\",\n        $lastButtonClicked = null;\n\n    $(\"body\").on(\"submit\", \"form\", function(){\n        $(buttonsSelector)\n            .addClass(\"disabled\");\n\n        if($lastButtonClicked === null)\n            $lastButtonClicked = $(buttonsSelector, $(this));\n\n        $lastButtonClicked\n            .addClass(\"submitted\")\n            .append($(\"<span/>\", { class: \"line-loading\" }));\n    });\n    $(\"form\").on(\"click\", buttonsSelector, function(e){\n        $lastButtonClicked = $(this);\n\n        if($(this).hasClass(\"disabled\"))\n            e.preventDefault();\n    });\n})(jQuery);","/* ===== Zeste de Savoir ====================================================\n   Keyboad accessibility for overlayed boxes (modals, etc)\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n    \n    $(\"body\").on(\"keydown\", function(e){\n        var $modal = $(\".tab-modalize:visible\");\n        if($modal.length > 0){\n            // Tab do not go out modal\n            if(e.which === 9){\n                var $current = $modal.find(\":focus\"),\n                    $tabbables = $modal.find(\":tabbable\"),\n                    nextIndex = e.shiftKey ? $tabbables.length - 1 : 0;\n\n                if($current.length === 1){\n                    var currentIndex = $tabbables.index($current);\n                    if(e.shiftKey){\n                        if(currentIndex > 0)\n                            nextIndex = currentIndex - 1;\n                    } else {\n                        if(currentIndex + 1 < $tabbables.length)\n                            nextIndex = currentIndex + 1;\n                    }\n                }\n\n                $tabbables.eq(nextIndex).focus();\n                e.stopPropagation();\n                e.preventDefault();\n            }\n        }\n    });\n})(jQuery);","(function($, undefined) {\n    \"use strict\";\n\n    /**\n     * Create a tooltip for a target\n     *\n     * @param {Object} options\n     * @param {DOMNode} options.target - Tooltip target\n     * @param {string} options.content - Tooltip content\n     * @class\n     */\n    var Tooltip = function(options) {\n        this.options = $.extend({ target: null, content: null }, options);\n        if(!Tooltip._initialized) {\n            this.firstRun();\n        }\n\n        this.init();\n    };\n\n    Tooltip.prototype = {\n        /**\n         * Creates the containers for the all the tooltips\n         *\n         * @access private\n         */\n        firstRun: function() {\n            Tooltip.container = $(\"<div>\", { class: \"tooltips-container\" });\n            Tooltip.list = [];\n            Tooltip.nextID = 0;\n\n            $(\"body\").append(Tooltip.container);\n            Tooltip._initialized = true;\n        },\n\n        /**\n         * Initialize a tooltip\n         *\n         * @access private\n         */\n        init: function() {\n            /**\n             * @member {jQuery} - The tooltip wrapper\n             */\n            this.wrapper = $(\"<div>\", { class: \"tooltip-wrapper\" });\n\n            /**\n             * @member {jQuery} - The tooltip itself\n             */\n            this.elem = $(\"<div>\", {\n              class: \"tooltip\",\n              id: \"tooltip-\" + Tooltip.nextID,\n              role: \"tooltip\",\n              \"aria-hidden\": true\n            });\n\n            /**\n             * @member {jQuery} - The target element\n             */\n            this.target = $(this.options.target);\n\n            this.setOrientation(\"top\");\n            this.setContent(this.options.content);\n            this.hide();\n\n            /**\n             * Builds a DOM like:\n             *  <div class=\"tooltips-container\">\n             *    <div class=\"tooltip-wrapper {{ orientation }}\">\n             *      <div class=\"tooltip\" role=\"tooltip\" id=\"tooltip-N\" aria-hidden=\"true\">{{ content }}</div>\n             *    </div>\n             *    <div class=\"tooltip-wrapper\">...</div>\n             *    ...\n             *  </div>\n             */\n            this.wrapper.append(this.elem).appendTo(Tooltip.container);\n\n            this.target.on(\"mouseover\", this.mouseover.bind(this));\n            this.wrapper.on(\"mouseover\", this.mouseover.bind(this));\n            this.target.on(\"mouseout\", this.mouseout.bind(this));\n            this.wrapper.on(\"mouseout\", this.mouseout.bind(this));\n\n            this.target.attr(\"aria-describedby\", \"tooltip-\" + Tooltip.nextID);\n\n            this.hideTimeout = null;\n\n            this.mouseon = false;\n\n            Tooltip.list.push(this);\n            Tooltip.nextID++;\n        },\n\n        /**\n         * Show the tooltip on mouseover\n         *\n         * @access private\n         */\n        mouseover: function() {\n            if(!this.mouseon) this.show();\n            this.mouseon = true;\n            clearTimeout(this.hideTimeout);\n        },\n\n        /**\n         * Hide the tooltip on mouseout after a short delay\n         *\n         * @access private\n         */\n        mouseout: function() {\n            this.hideTimeout = setTimeout(this.hide.bind(this), 50);\n            this.mouseon = false;\n        },\n\n        /**\n         * Set the content of the tooltip\n         *\n         * @param {string} content - HTML content of the tooltip\n         */\n        setContent: function(content) {\n            this.content = $.trim(content);\n            this.elem.html(this.content);\n\n            if(this.content === \"\") {\n                this.hide();\n            } else if(this.mouseon) {\n                this.show();\n            }\n        },\n\n        /**\n         * Hide the tooltip\n         */\n        hide: function() {\n            this.wrapper.hide();\n            this.elem.attr(\"aria-hidden\", true);\n        },\n\n        /**\n         * Show the tooltip if the content is not empty\n         */\n        show: function() {\n            if(this.content !== \"\") {\n                this.wrapper.show();\n                this.elem.attr(\"aria-hidden\", false);\n                this.recalc(); // Need to recalc on this tick & on next\n                setTimeout(this.recalc.bind(this));\n            }\n        },\n\n        /**\n         * Guess the tooltip position depending on the tooltip's size and the viewport scroll\n         *\n         * @access private\n         */\n        guessOrientation: function() {\n            if(this.target.offset().top - $(window).scrollTop() < this.wrapper.height()) {\n                this.setOrientation(\"bottom\");\n            } else {\n                this.setOrientation(\"top\");\n            }\n        },\n\n        /**\n         * Recalculate the position of the tooltip\n         *\n         * @access private\n         */\n        recalc: function() {\n            var css = {\n                top: null,\n                bottom: null,\n                left: this.target.offset().left + (this.target.outerWidth() / 2) - (this.wrapper.width() / 2)\n            };\n\n            this.guessOrientation();\n            if(this.orientation === \"top\") {\n                css.top = this.target.offset().top - this.wrapper.outerHeight();\n            } else if(this.orientation === \"bottom\") {\n                css.top = this.target.offset().top + this.target.outerHeight();\n            } else {\n                css.bottom = this.target.offset().top - this.wrapper.outerHeight() + 8;\n            }\n\n            this.wrapper.css(css);\n        },\n\n        /**\n         * Set the orientation of the tooltip\n         *\n         * @access private\n         */\n        setOrientation: function(orientation) {\n            if (orientation !== \"top\" && orientation !== \"bottom\" || orientation === this.orientation) return;\n\n            this.wrapper.addClass(orientation);\n            this.wrapper.removeClass(this.orientation);\n            this.orientation = orientation;\n        }\n    };\n\n    /**\n     * Create a tooltip on a jQuery element\n     * Set the content of a tooltip if the tooltip already exists\n     *\n     * @example\n     * $(\".topic-message .message-karma .upvote\").tooltip(\"42 votes\");\n     * @param {string} content\n     * @return {Tooltip}\n     */\n    $.fn.tooltip = function(content) {\n        var tooltip = $(this).data(\"tooltip\");\n        if(tooltip) {\n            if(content) tooltip.setContent(content);\n        } else {\n            tooltip = new Tooltip({ target: this, content: content });\n            $(this).data(\"tooltip\", tooltip);\n        }\n\n        return tooltip;\n    };\n})(jQuery);\n","/* ===== Zeste de Savoir ====================================================\n   Zen mode for content-pages\n   ---------------------------------\n   Author: Alex-D / Alexandre Demode\n   ========================================================================== */\n\n(function($, undefined){\n    \"use strict\";\n\n    if($(\".open-zen-mode\").length > 0){\n        $(\".open-zen-mode\").on(\"click\", function(e){\n                var Text = $(\".open-zen-mode\").text();\n                var TextToPut = $(\".open-zen-mode\").attr(\"data-content-on-click\");\n                $(\".open-zen-mode\").attr(\"data-content-on-click\", Text);\n                $(\".open-zen-mode\").text(TextToPut);\n\n                if(typeof sessionStorage !== \"undefined\"){\n                    if($(\".content-container\").hasClass(\"zen-mode\")){\n                        if(\"zenMode\" in sessionStorage){\n                            sessionStorage.setItem(\"zenMode\", \"false\");\n                        }\n                    }\n                    else{\n                        sessionStorage.setItem(\"zenMode\", \"true\");\n                    }\n                }\n\n                $(\".content-container\").toggleClass(\"zen-mode tab-modalize\");\n                $(this).blur();\n                e.preventDefault();\n                e.stopPropagation();\n            }\n        );\n\n        $(\"body\").on(\"keydown\", function(e){\n            // Escape close modal\n            if($(\".zen-mode\").length > 0 && e.which === 27){\n                var Text = $(\".open-zen-mode\").text();\n                var TextToPut = $(\".open-zen-mode\").attr(\"data-content-on-click\");\n                $(\".open-zen-mode\").attr(\"data-content-on-click\", Text);\n                $(\".open-zen-mode\").text(TextToPut);\n\n                if(typeof sessionStorage !== \"undefined\"){\n                    if(\"zenMode\" in sessionStorage){\n                        sessionStorage.setItem(\"zenMode\", \"false\");\n                    }\n                }\n\n                $(\".content-container\").toggleClass(\"zen-mode tab-modalize\");\n                $(this).blur();\n                e.stopPropagation();\n            }\n        });\n\n        if(typeof sessionStorage !== \"undefined\"){\n            if(\"zenMode\" in sessionStorage){\n                if(sessionStorage.getItem(\"zenMode\") === \"true\"){\n                    $(\".open-zen-mode\").click();\n                }\n            }\n        }\n    }\n})(jQuery);"],"sourceRoot":"../../assets/js"}
\ No newline at end of file
diff --git a/dist/js/vendors.js b/dist/js/vendors.js
new file mode 100644
index 0000000000..f438142933
--- /dev/null
+++ b/dist/js/vendors.js
@@ -0,0 +1,4 @@
+!function(e,t,n){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.CookiesEuBanner=t()}(window,function(){var e,t=window.document;return e=function(t,n,r){return this instanceof e?(this.cookieTimeout=33696e6,this.bots=/bot|googlebot|crawler|spider|robot|crawling/i,this.cookieName="hasConsent",this.trackingCookiesNames=["__utma","__utmb","__utmc","__utmt","__utmv","__utmz","_ga","_gat"],this.launchFunction=t,this.waitAccept=null!=n?n:!1,void this.init()):new e(t)},e.prototype={init:function(){return this.isBot()||!this.isToTrack()||this.hasConsent()===!1?!1:this.hasConsent()===!0?(this.launchFunction(),!0):(this.showBanner(),void(this.waitAccept||this.setCookie(this.cookieName,!0)))},showBanner:function(){var e=this,n=t.getElementById("cookies-eu-banner"),r=t.getElementById("cookies-eu-reject"),i=t.getElementById("cookies-eu-accept"),o=t.getElementById("cookies-eu-more");n.style.display="block",this.addEventListener(o,"click",function(){e.deleteCookie(e.cookieName)}),this.addEventListener(i,"click",function(){n.parentNode.removeChild(n),e.setCookie(e.cookieName,!0),e.launchFunction()}),this.addEventListener(r,"click",function(){n.parentNode.removeChild(n),e.setCookie(e.cookieName,!1),e.deleteTrackingCookies()})},hasConsent:function(){return t.cookie.indexOf(this.cookieName+"=true")>-1?!0:t.cookie.indexOf(this.cookieName+"=false")>-1?!1:null},isBot:function(){return this.bots.test(navigator.userAgent)},isToTrack:function(){var e=navigator.doNotTrack||navigator.msDoNotTrack||window.doNotTrack;return null!=e?e&&"yes"!==e&&1!==e&&"1"!==e:!0},deleteTrackingCookies:function(){var e;for(e in this.trackingCookiesNames)this.deleteCookie(e)},setCookie:function(e,n){var r=new Date;r.setTime(r.getTime()+this.cookieTimeout),t.cookie=e+"="+n+";expires="+r.toGMTString()+";path=/"},deleteCookie:function(e){var n=t.location.hostname;0===n.indexOf("www.")&&(n=n.substring(4)),t.cookie=e+"=; domain=."+n+"; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/",t.cookie=e+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/"},addEventListener:function(e,n,r){t.addEventListener?e.addEventListener(n,r):e.attachEvent&&e.attachEvent("on"+n,r)}},e}),function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t="length"in e&&e.length,n=Z.type(e);return"function"===n||Z.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function r(e,t,n){if(Z.isFunction(t))return Z.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return Z.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(ae.test(t))return Z.filter(t,e,n);t=Z.filter(t,e)}return Z.grep(e,function(e){return U.call(t,e)>=0!==n})}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function o(e){var t=he[e]={};return Z.each(e.match(de)||[],function(e,n){t[n]=!0}),t}function s(){Q.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1),Z.ready()}function a(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Z.expando+a.uid++}function u(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(be,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:xe.test(n)?Z.parseJSON(n):n}catch(i){}ye.set(e,t,n)}else n=void 0;return n}function c(){return!0}function l(){return!1}function f(){try{return Q.activeElement}catch(e){}}function p(e,t){return Z.nodeName(e,"table")&&Z.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function d(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function h(e){var t=Pe.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function g(e,t){for(var n=0,r=e.length;r>n;n++)ve.set(e[n],"globalEval",!t||ve.get(t[n],"globalEval"))}function m(e,t){var n,r,i,o,s,a,u,c;if(1===t.nodeType){if(ve.hasData(e)&&(o=ve.access(e),s=ve.set(t,o),c=o.events)){delete s.handle,s.events={};for(i in c)for(n=0,r=c[i].length;r>n;n++)Z.event.add(t,i,c[i][n])}ye.hasData(e)&&(a=ye.access(e),u=Z.extend({},a),ye.set(t,u))}}function v(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&Z.nodeName(e,t)?Z.merge([e],n):n}function y(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ke.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}function x(t,n){var r,i=Z(n.createElement(t)).appendTo(n.body),o=e.getDefaultComputedStyle&&(r=e.getDefaultComputedStyle(i[0]))?r.display:Z.css(i[0],"display");return i.detach(),o}function b(e){var t=Q,n=Be[e];return n||(n=x(e,t),"none"!==n&&n||(We=(We||Z("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=We[0].contentDocument,t.write(),t.close(),n=x(e,t),We.detach()),Be[e]=n),n}function w(e,t,n){var r,i,o,s,a=e.style;return n=n||_e(e),n&&(s=n.getPropertyValue(t)||n[t]),n&&(""!==s||Z.contains(e.ownerDocument,e)||(s=Z.style(e,t)),Ie.test(s)&&$e.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function T(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function C(e,t){if(t in e)return t;for(var n=t[0].toUpperCase()+t.slice(1),r=t,i=Ye.length;i--;)if(t=Ye[i]+n,t in e)return t;return r}function k(e,t,n){var r=Xe.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function N(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;4>o;o+=2)"margin"===n&&(s+=Z.css(e,n+Te[o],!0,i)),r?("content"===n&&(s-=Z.css(e,"padding"+Te[o],!0,i)),"margin"!==n&&(s-=Z.css(e,"border"+Te[o]+"Width",!0,i))):(s+=Z.css(e,"padding"+Te[o],!0,i),"padding"!==n&&(s+=Z.css(e,"border"+Te[o]+"Width",!0,i)));return s}function E(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=_e(e),s="border-box"===Z.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=w(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ie.test(i))return i;r=s&&(J.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+N(e,t,n||(s?"border":"content"),r,o)+"px"}function S(e,t){for(var n,r,i,o=[],s=0,a=e.length;a>s;s++)r=e[s],r.style&&(o[s]=ve.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Ce(r)&&(o[s]=ve.access(r,"olddisplay",b(r.nodeName)))):(i=Ce(r),"none"===n&&i||ve.set(r,"olddisplay",i?n:Z.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}function D(e,t,n,r,i){return new D.prototype.init(e,t,n,r,i)}function j(){return setTimeout(function(){Je=void 0}),Je=Z.now()}function A(e,t){var n,r=0,i={height:e};for(t=t?1:0;4>r;r+=2-t)n=Te[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function L(e,t,n){for(var r,i=(nt[t]||[]).concat(nt["*"]),o=0,s=i.length;s>o;o++)if(r=i[o].call(n,t,e))return r}function q(e,t,n){var r,i,o,s,a,u,c,l,f=this,p={},d=e.style,h=e.nodeType&&Ce(e),g=ve.get(e,"fxshow");n.queue||(a=Z._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,u=a.empty.fire,a.empty.fire=function(){a.unqueued||u()}),a.unqueued++,f.always(function(){f.always(function(){a.unqueued--,Z.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],c=Z.css(e,"display"),l="none"===c?ve.get(e,"olddisplay")||b(e.nodeName):c,"inline"===l&&"none"===Z.css(e,"float")&&(d.display="inline-block")),n.overflow&&(d.overflow="hidden",f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Ke.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(h?"hide":"show")){if("show"!==i||!g||void 0===g[r])continue;h=!0}p[r]=g&&g[r]||Z.style(e,r)}else c=void 0;if(Z.isEmptyObject(p))"inline"===("none"===c?b(e.nodeName):c)&&(d.display=c);else{g?"hidden"in g&&(h=g.hidden):g=ve.access(e,"fxshow",{}),o&&(g.hidden=!h),h?Z(e).show():f.done(function(){Z(e).hide()}),f.done(function(){var t;ve.remove(e,"fxshow");for(t in p)Z.style(e,t,p[t])});for(r in p)s=L(h?g[r]:0,r,f),r in g||(g[r]=s.start,h&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}}function H(e,t){var n,r,i,o,s;for(n in e)if(r=Z.camelCase(n),i=t[r],o=e[n],Z.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),s=Z.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function O(e,t,n){var r,i,o=0,s=tt.length,a=Z.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Je||j(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,o=1-r,s=0,u=c.tweens.length;u>s;s++)c.tweens[s].run(o);return a.notifyWith(e,[c,o,n]),1>o&&u?n:(a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:Z.extend({},t),opts:Z.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Je||j(),duration:n.duration,tweens:[],createTween:function(t,n){var r=Z.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)c.tweens[n].run(1);return t?a.resolveWith(e,[c,t]):a.rejectWith(e,[c,t]),this}}),l=c.props;for(H(l,c.opts.specialEasing);s>o;o++)if(r=tt[o].call(c,e,l,c.opts))return r;return Z.map(l,L,c),Z.isFunction(c.opts.start)&&c.opts.start.call(e,c),Z.fx.timer(Z.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function F(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(de)||[];if(Z.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function P(e,t,n,r){function i(a){var u;return o[a]=!0,Z.each(e[a]||[],function(e,a){var c=a(t,n,r);return"string"!=typeof c||s||o[c]?s?!(u=c):void 0:(t.dataTypes.unshift(c),i(c),!1)}),u}var o={},s=e===xt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function M(e,t){var n,r,i=Z.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&Z.extend(!0,e,r),e}function R(e,t,n){for(var r,i,o,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):void 0}function W(e,t,n,r){var i,o,s,a,u,c={},l=e.dataTypes.slice();if(l[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(o=l.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=l.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=c[u+" "+o]||c["* "+o],!s)for(i in c)if(a=i.split(" "),a[1]===o&&(s=c[u+" "+a[0]]||c["* "+a[0]])){s===!0?s=c[i]:c[i]!==!0&&(o=a[0],l.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(f){return{state:"parsererror",error:s?f:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}function B(e,t,n,r){var i;if(Z.isArray(t))Z.each(t,function(t,i){n||kt.test(e)?r(e,i):B(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==Z.type(t))r(e,t);else for(i in t)B(e+"["+i+"]",t[i],n,r)}function $(e){return Z.isWindow(e)?e:9===e.nodeType&&e.defaultView}var I=[],_=I.slice,z=I.concat,X=I.push,U=I.indexOf,V={},G=V.toString,Y=V.hasOwnProperty,J={},Q=e.document,K="2.1.4",Z=function(e,t){return new Z.fn.init(e,t)},ee=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,te=/^-ms-/,ne=/-([\da-z])/gi,re=function(e,t){return t.toUpperCase()};Z.fn=Z.prototype={jquery:K,constructor:Z,selector:"",length:0,toArray:function(){return _.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:_.call(this)},pushStack:function(e){var t=Z.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return Z.each(this,e,t)},map:function(e){return this.pushStack(Z.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(_.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:X,sort:I.sort,splice:I.splice},Z.extend=Z.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||Z.isFunction(s)||(s={}),a===u&&(s=this,a--);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(c&&r&&(Z.isPlainObject(r)||(i=Z.isArray(r)))?(i?(i=!1,o=n&&Z.isArray(n)?n:[]):o=n&&Z.isPlainObject(n)?n:{},s[t]=Z.extend(c,o,r)):void 0!==r&&(s[t]=r));return s},Z.extend({expando:"jQuery"+(K+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===Z.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!Z.isArray(e)&&e-parseFloat(e)+1>=0},isPlainObject:function(e){return"object"!==Z.type(e)||e.nodeType||Z.isWindow(e)?!1:e.constructor&&!Y.call(e.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?V[G.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;e=Z.trim(e),e&&(1===e.indexOf("use strict")?(t=Q.createElement("script"),t.text=e,Q.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(te,"ms-").replace(ne,re)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,r){var i,o=0,s=e.length,a=n(e);if(r){if(a)for(;s>o&&(i=t.apply(e[o],r),i!==!1);o++);else for(o in e)if(i=t.apply(e[o],r),i===!1)break}else if(a)for(;s>o&&(i=t.call(e[o],o,e[o]),i!==!1);o++);else for(o in e)if(i=t.call(e[o],o,e[o]),i===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ee,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?Z.merge(r,"string"==typeof e?[e]:e):X.call(r,e)),r},inArray:function(e,t,n){return null==t?-1:U.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;n>r;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,s=e.length,a=!n;s>o;o++)r=!t(e[o],o),r!==a&&i.push(e[o]);return i},map:function(e,t,r){var i,o=0,s=e.length,a=n(e),u=[];if(a)for(;s>o;o++)i=t(e[o],o,r),null!=i&&u.push(i);else for(o in e)i=t(e[o],o,r),null!=i&&u.push(i);return z.apply([],u)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),Z.isFunction(e)?(r=_.call(arguments,2),i=function(){return e.apply(t||this,r.concat(_.call(arguments)))},i.guid=e.guid=e.guid||Z.guid++,i):void 0},now:Date.now,support:J}),Z.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){V["[object "+t+"]"]=t.toLowerCase()});var ie=function(e){function t(e,t,n,r){var i,o,s,a,u,c,f,d,h,g;if((t?t.ownerDocument||t:B)!==q&&L(t),t=t||q,n=n||[],a=t.nodeType,"string"!=typeof e||!e||1!==a&&9!==a&&11!==a)return n;if(!r&&O){if(11!==a&&(i=ye.exec(e)))if(s=i[1]){if(9===a){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&R(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return K.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&w.getElementsByClassName)return K.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!F||!F.test(e))){if(d=f=W,h=t,g=1!==a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(c=N(e),(f=t.getAttribute("id"))?d=f.replace(be,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",u=c.length;u--;)c[u]=d+p(c[u]);h=xe.test(e)&&l(t.parentNode)||t,g=c.join(",")}if(g)try{return K.apply(n,h.querySelectorAll(g)),n}catch(m){}finally{f||t.removeAttribute("id")}}}return S(e.replace(ue,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[W]=!0,e}function i(e){var t=q.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)T.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function l(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function p(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=I++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,s){var a,u,c=[$,o];if(s){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(u=t[W]||(t[W]={}),(a=u[r])&&a[0]===$&&a[1]===o)return c[2]=a[2];if(u[r]=c,c[2]=e(t,n,s))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;o>i;i++)t(e,n[i],r);return r}function m(e,t,n,r,i){for(var o,s=[],a=0,u=e.length,c=null!=t;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),c&&t.push(a));return s}function v(e,t,n,i,o,s){return i&&!i[W]&&(i=v(i)),o&&!o[W]&&(o=v(o,s)),r(function(r,s,a,u){var c,l,f,p=[],d=[],h=s.length,v=r||g(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?v:m(v,p,e,a,u),x=n?o||(r?e:h||i)?[]:s:y;if(n&&n(y,x,a,u),i)for(c=m(x,d),i(c,[],a,u),l=c.length;l--;)(f=c[l])&&(x[d[l]]=!(y[d[l]]=f));if(r){if(o||e){if(o){for(c=[],l=x.length;l--;)(f=x[l])&&c.push(y[l]=f);o(null,x=[],c,u)}for(l=x.length;l--;)(f=x[l])&&(c=o?ee(r,f):p[l])>-1&&(r[c]=!(s[c]=f))}}else x=m(x===s?x.splice(h,x.length):x),o?o(null,s,x,u):K.apply(s,x)})}function y(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],s=o||T.relative[" "],a=o?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var i=!o&&(r||n!==D)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,i}];i>a;a++)if(n=T.relative[e[a].type])l=[d(h(l),n)];else{if(n=T.filter[e[a].type].apply(null,e[a].matches),n[W]){for(r=++a;i>r&&!T.relative[e[r].type];r++);return v(a>1&&h(l),a>1&&p(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ue,"$1"),n,r>a&&y(e.slice(a,r)),i>r&&y(e=e.slice(r)),i>r&&p(e))}l.push(n)}return h(l)}function x(e,n){var i=n.length>0,o=e.length>0,s=function(r,s,a,u,c){var l,f,p,d=0,h="0",g=r&&[],v=[],y=D,x=r||o&&T.find.TAG("*",c),b=$+=null==y?1:Math.random()||.1,w=x.length;for(c&&(D=s!==q&&s);h!==w&&null!=(l=x[h]);h++){if(o&&l){for(f=0;p=e[f++];)if(p(l,s,a)){u.push(l);break}c&&($=b)}i&&((l=!p&&l)&&d--,r&&g.push(l))}if(d+=h,i&&h!==d){for(f=0;p=n[f++];)p(g,v,s,a);if(r){if(d>0)for(;h--;)g[h]||v[h]||(v[h]=J.call(u));v=m(v)}K.apply(u,v),c&&!r&&v.length>0&&d+n.length>1&&t.uniqueSort(u)}return c&&($=b,D=y),g};return i?r(s):s}var b,w,T,C,k,N,E,S,D,j,A,L,q,H,O,F,P,M,R,W="sizzle"+1*new Date,B=e.document,$=0,I=0,_=n(),z=n(),X=n(),U=function(e,t){return e===t&&(A=!0),0},V=1<<31,G={}.hasOwnProperty,Y=[],J=Y.pop,Q=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie=re.replace("w","w#"),oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+ne+"*\\]",se=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),ue=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ce=new RegExp("^"+ne+"*,"+ne+"*"),le=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),fe=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),pe=new RegExp(se),de=new RegExp("^"+ie+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re.replace("w","w*")+")"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+se),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},ge=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ve=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,xe=/[+~]/,be=/'|\\/g,we=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),Te=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Ce=function(){L()};try{K.apply(Y=Z.call(B.childNodes),B.childNodes),Y[B.childNodes.length].nodeType}catch(ke){K={apply:Y.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==q&&9===r.nodeType&&r.documentElement?(q=r,H=r.documentElement,n=r.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),O=!k(r),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=ve.test(r.getElementsByClassName),w.getById=i(function(e){return H.appendChild(e).id=W,!r.getElementsByName||!r.getElementsByName(W).length}),w.getById?(T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&O){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},T.filter.ID=function(e){var t=e.replace(we,Te);return function(e){return e.getAttribute("id")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(we,Te);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){return O?t.getElementsByClassName(e):void 0},P=[],F=[],(w.qsa=ve.test(r.querySelectorAll))&&(i(function(e){H.appendChild(e).innerHTML="<a id='"+W+"'></a><select id='"+W+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+W+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+W+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=r.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=ve.test(M=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&i(function(e){w.disconnectedMatch=M.call(e,"div"),M.call(e,"[s!='']:x"),P.push("!=",se)}),F=F.length&&new RegExp(F.join("|")),P=P.length&&new RegExp(P.join("|")),t=ve.test(H.compareDocumentPosition),R=t||ve.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return A=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===r||e.ownerDocument===B&&R(B,e)?-1:t===r||t.ownerDocument===B&&R(B,t)?1:j?ee(j,e)-ee(j,t):0:4&n?-1:1)}:function(e,t){if(e===t)return A=!0,0;var n,i=0,o=e.parentNode,a=t.parentNode,u=[e],c=[t];if(!o||!a)return e===r?-1:t===r?1:o?-1:a?1:j?ee(j,e)-ee(j,t):0;if(o===a)return s(e,t);for(n=e;n=n.parentNode;)u.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;u[i]===c[i];)i++;return i?s(u[i],c[i]):u[i]===B?-1:c[i]===B?1:0},r):q},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==q&&L(e),n=n.replace(fe,"='$1']"),w.matchesSelector&&O&&(!P||!P.test(n))&&(!F||!F.test(n)))try{var r=M.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,q,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==q&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==q&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&G.call(T.attrHandle,t.toLowerCase())?n(e,t,!O):void 0;return void 0!==r?r:w.attributes||!O?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!w.detectDuplicates,j=!w.sortStable&&e.slice(0),e.sort(U),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return j=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(we,Te),e[3]=(e[3]||e[4]||e[5]||"").replace(we,Te),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&pe.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(we,Te).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=_[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&_(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,d,h,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a;if(m){if(o){for(;g;){for(f=t;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&y){for(l=m[W]||(m[W]={}),c=l[e]||[],d=c[0]===$&&c[1],p=c[0]===$&&c[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(p=d=0)||h.pop();)if(1===f.nodeType&&++p&&f===t){l[e]=[$,d,p];break}}else if(y&&(c=(t[W]||(t[W]={}))[e])&&c[0]===$)p=c[1];else for(;(f=++d&&f&&f[g]||(p=d=0)||h.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++p||(y&&((f[W]||(f[W]={}))[e]=[$,p]),f!==t)););return p-=i,p===r||p%r===0&&p/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[W]?o(n):o.length>1?(i=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=ee(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=E(e.replace(ue,"$1"));return i[W]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(we,Te),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(we,Te).toLowerCase(),function(t){var n;do if(n=O?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===q.activeElement&&(!q.hasFocus||q.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return ge.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[b]=a(b);for(b in{submit:!0,reset:!0})T.pseudos[b]=u(b);return f.prototype=T.filters=T.pseudos,T.setFilters=new f,N=t.tokenize=function(e,n){var r,i,o,s,a,u,c,l=z[e+" "];if(l)return n?0:l.slice(0);for(a=e,u=[],c=T.preFilter;a;){(!r||(i=ce.exec(a)))&&(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),r=!1,(i=le.exec(a))&&(r=i.shift(),o.push({value:r,type:i[0].replace(ue," ")}),a=a.slice(r.length));for(s in T.filter)!(i=he[s].exec(a))||c[s]&&!(i=c[s](i))||(r=i.shift(),
+o.push({value:r,type:s,matches:i}),a=a.slice(r.length));if(!r)break}return n?a.length:a?t.error(e):z(e,u).slice(0)},E=t.compile=function(e,t){var n,r=[],i=[],o=X[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=y(t[n]),o[W]?r.push(o):i.push(o);o=X(e,x(i,r)),o.selector=e}return o},S=t.select=function(e,t,n,r){var i,o,s,a,u,c="function"==typeof e&&e,f=!r&&N(e=c.selector||e);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&"ID"===(s=o[0]).type&&w.getById&&9===t.nodeType&&O&&T.relative[o[1].type]){if(t=(T.find.ID(s.matches[0].replace(we,Te),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=he.needsContext.test(e)?0:o.length;i--&&(s=o[i],!T.relative[a=s.type]);)if((u=T.find[a])&&(r=u(s.matches[0].replace(we,Te),xe.test(o[0].type)&&l(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&p(o),!e)return K.apply(n,r),n;break}}return(c||E(e,f))(r,t,!O,n,xe.test(e)&&l(t.parentNode)||t),n},w.sortStable=W.split("").sort(U).join("")===W,w.detectDuplicates=!!A,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(q.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);Z.find=ie,Z.expr=ie.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=ie.uniqueSort,Z.text=ie.getText,Z.isXMLDoc=ie.isXML,Z.contains=ie.contains;var oe=Z.expr.match.needsContext,se=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ae=/^.[^:#\[\.,]*$/;Z.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?Z.find.matchesSelector(r,e)?[r]:[]:Z.find.matches(e,Z.grep(t,function(e){return 1===e.nodeType}))},Z.fn.extend({find:function(e){var t,n=this.length,r=[],i=this;if("string"!=typeof e)return this.pushStack(Z(e).filter(function(){for(t=0;n>t;t++)if(Z.contains(i[t],this))return!0}));for(t=0;n>t;t++)Z.find(e,i[t],r);return r=this.pushStack(n>1?Z.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&oe.test(e)?Z(e):e||[],!1).length}});var ue,ce=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,le=Z.fn.init=function(e,t){var n,r;if(!e)return this;if("string"==typeof e){if(n="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ce.exec(e),!n||!n[1]&&t)return!t||t.jquery?(t||ue).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof Z?t[0]:t,Z.merge(this,Z.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:Q,!0)),se.test(n[1])&&Z.isPlainObject(t))for(n in t)Z.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return r=Q.getElementById(n[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=Q,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):Z.isFunction(e)?"undefined"!=typeof ue.ready?ue.ready(e):e(Z):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),Z.makeArray(e,this))};le.prototype=Z.fn,ue=Z(Q);var fe=/^(?:parents|prev(?:Until|All))/,pe={children:!0,contents:!0,next:!0,prev:!0};Z.extend({dir:function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&Z(e).is(n))break;r.push(e)}return r},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}}),Z.fn.extend({has:function(e){var t=Z(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(Z.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,o=[],s=oe.test(e)||"string"!=typeof e?Z(e,t||this.context):0;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&Z.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?Z.unique(o):o)},index:function(e){return e?"string"==typeof e?U.call(Z(e),this[0]):U.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Z.unique(Z.merge(this.get(),Z(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Z.dir(e,"parentNode")},parentsUntil:function(e,t,n){return Z.dir(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,n){return Z.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return Z.dir(e,"previousSibling",n)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return e.contentDocument||Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(n,r){var i=Z.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Z.filter(r,i)),this.length>1&&(pe[e]||Z.unique(i),fe.test(e)&&i.reverse()),this.pushStack(i)}});var de=/\S+/g,he={};Z.Callbacks=function(e){e="string"==typeof e?he[e]||o(e):Z.extend({},e);var t,n,r,i,s,a,u=[],c=!e.once&&[],l=function(o){for(t=e.memory&&o,n=!0,a=i||0,i=0,s=u.length,r=!0;u&&s>a;a++)if(u[a].apply(o[0],o[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,u&&(c?c.length&&l(c.shift()):t?u=[]:f.disable())},f={add:function(){if(u){var n=u.length;!function o(t){Z.each(t,function(t,n){var r=Z.type(n);"function"===r?e.unique&&f.has(n)||u.push(n):n&&n.length&&"string"!==r&&o(n)})}(arguments),r?s=u.length:t&&(i=n,l(t))}return this},remove:function(){return u&&Z.each(arguments,function(e,t){for(var n;(n=Z.inArray(t,u,n))>-1;)u.splice(n,1),r&&(s>=n&&s--,a>=n&&a--)}),this},has:function(e){return e?Z.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],s=0,this},disable:function(){return u=c=t=void 0,this},disabled:function(){return!u},lock:function(){return c=void 0,t||f.disable(),this},locked:function(){return!c},fireWith:function(e,t){return!u||n&&!c||(t=t||[],t=[e,t.slice?t.slice():t],r?c.push(t):l(t)),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!n}};return f},Z.extend({Deferred:function(e){var t=[["resolve","done",Z.Callbacks("once memory"),"resolved"],["reject","fail",Z.Callbacks("once memory"),"rejected"],["notify","progress",Z.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return Z.Deferred(function(n){Z.each(t,function(t,o){var s=Z.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&Z.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o[0]+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?Z.extend(e,r):r}},i={};return r.pipe=r.then,Z.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=_.call(arguments),s=o.length,a=1!==s||e&&Z.isFunction(e.promise)?s:0,u=1===a?e:Z.Deferred(),c=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?_.call(arguments):i,r===t?u.notifyWith(n,r):--a||u.resolveWith(n,r)}};if(s>1)for(t=new Array(s),n=new Array(s),r=new Array(s);s>i;i++)o[i]&&Z.isFunction(o[i].promise)?o[i].promise().done(c(i,r,o)).fail(u.reject).progress(c(i,n,t)):--a;return a||u.resolveWith(r,o),u.promise()}});var ge;Z.fn.ready=function(e){return Z.ready.promise().done(e),this},Z.extend({isReady:!1,readyWait:1,holdReady:function(e){e?Z.readyWait++:Z.ready(!0)},ready:function(e){(e===!0?--Z.readyWait:Z.isReady)||(Z.isReady=!0,e!==!0&&--Z.readyWait>0||(ge.resolveWith(Q,[Z]),Z.fn.triggerHandler&&(Z(Q).triggerHandler("ready"),Z(Q).off("ready"))))}}),Z.ready.promise=function(t){return ge||(ge=Z.Deferred(),"complete"===Q.readyState?setTimeout(Z.ready):(Q.addEventListener("DOMContentLoaded",s,!1),e.addEventListener("load",s,!1))),ge.promise(t)},Z.ready.promise();var me=Z.access=function(e,t,n,r,i,o,s){var a=0,u=e.length,c=null==n;if("object"===Z.type(n)){i=!0;for(a in n)Z.access(e,t,a,n[a],!0,o,s)}else if(void 0!==r&&(i=!0,Z.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(Z(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:c?t.call(e):u?t(e[0],n):o};Z.acceptData=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},a.uid=1,a.accepts=Z.acceptData,a.prototype={key:function(e){if(!a.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=a.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,Z.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(Z.isEmptyObject(o))Z.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return void 0===t?n:n[t]},access:function(e,t,n){var r;return void 0===t||t&&"string"==typeof t&&void 0===n?(r=this.get(e,t),void 0!==r?r:this.get(e,Z.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(void 0===t)this.cache[o]={};else{Z.isArray(t)?r=t.concat(t.map(Z.camelCase)):(i=Z.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(de)||[])),n=r.length;for(;n--;)delete s[r[n]]}},hasData:function(e){return!Z.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var ve=new a,ye=new a,xe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,be=/([A-Z])/g;Z.extend({hasData:function(e){return ye.hasData(e)||ve.hasData(e)},data:function(e,t,n){return ye.access(e,t,n)},removeData:function(e,t){ye.remove(e,t)},_data:function(e,t,n){return ve.access(e,t,n)},_removeData:function(e,t){ve.remove(e,t)}}),Z.fn.extend({data:function(e,t){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(i=ye.get(o),1===o.nodeType&&!ve.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=Z.camelCase(r.slice(5)),u(o,r,i[r])));ve.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){ye.set(this,e)}):me(this,function(t){var n,r=Z.camelCase(e);if(o&&void 0===t){if(n=ye.get(o,e),void 0!==n)return n;if(n=ye.get(o,r),void 0!==n)return n;if(n=u(o,r,void 0),void 0!==n)return n}else this.each(function(){var n=ye.get(this,r);ye.set(this,r,t),-1!==e.indexOf("-")&&void 0!==n&&ye.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){ye.remove(this,e)})}}),Z.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=ve.get(e,t),n&&(!r||Z.isArray(n)?r=ve.access(e,t,Z.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=Z.queue(e,t),r=n.length,i=n.shift(),o=Z._queueHooks(e,t),s=function(){Z.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return ve.get(e,n)||ve.access(e,n,{empty:Z.Callbacks("once memory").add(function(){ve.remove(e,[t+"queue",n])})})}}),Z.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?Z.queue(this[0],e):void 0===t?this:this.each(function(){var n=Z.queue(this,e,t);Z._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&Z.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Z.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=Z.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)n=ve.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var we=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Te=["Top","Right","Bottom","Left"],Ce=function(e,t){return e=t||e,"none"===Z.css(e,"display")||!Z.contains(e.ownerDocument,e)},ke=/^(?:checkbox|radio)$/i;!function(){var e=Q.createDocumentFragment(),t=e.appendChild(Q.createElement("div")),n=Q.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),J.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",J.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ne="undefined";J.focusinBubbles="onfocusin"in e;var Ee=/^key/,Se=/^(?:mouse|pointer|contextmenu)|click/,De=/^(?:focusinfocus|focusoutblur)$/,je=/^([^.]*)(?:\.(.+)|)$/;Z.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,c,l,f,p,d,h,g,m=ve.get(e);if(m)for(n.handler&&(o=n,n=o.handler,i=o.selector),n.guid||(n.guid=Z.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return typeof Z!==Ne&&Z.event.triggered!==t.type?Z.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(de)||[""],c=t.length;c--;)a=je.exec(t[c])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d&&(f=Z.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=Z.event.special[d]||{},l=Z.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&Z.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||(p=u[d]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,h,s)!==!1||e.addEventListener&&e.addEventListener(d,s,!1)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,l):p.push(l),Z.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,c,l,f,p,d,h,g,m=ve.hasData(e)&&ve.get(e);if(m&&(u=m.events)){for(t=(t||"").match(de)||[""],c=t.length;c--;)if(a=je.exec(t[c])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d){for(f=Z.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=u[d]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=p.length;o--;)l=p[o],!i&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(o,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||Z.removeEvent(e,d,m.handle),delete u[d])}else for(d in u)Z.event.remove(e,d+t[c],n,r,!0);Z.isEmptyObject(u)&&(delete m.handle,ve.remove(e,"events"))}},trigger:function(t,n,r,i){var o,s,a,u,c,l,f,p=[r||Q],d=Y.call(t,"type")?t.type:t,h=Y.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||Q,3!==r.nodeType&&8!==r.nodeType&&!De.test(d+Z.event.triggered)&&(d.indexOf(".")>=0&&(h=d.split("."),d=h.shift(),h.sort()),c=d.indexOf(":")<0&&"on"+d,t=t[Z.expando]?t:new Z.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:Z.makeArray(n,[t]),f=Z.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!Z.isWindow(r)){for(u=f.delegateType||d,De.test(u+d)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||Q)&&p.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=p[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||d,l=(ve.get(s,"events")||{})[t.type]&&ve.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&Z.acceptData(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!Z.acceptData(r)||c&&Z.isFunction(r[d])&&!Z.isWindow(r)&&(a=r[c],a&&(r[c]=null),Z.event.triggered=d,r[d](),Z.event.triggered=void 0,a&&(r[c]=a)),t.result}},dispatch:function(e){e=Z.event.fix(e);var t,n,r,i,o,s=[],a=_.call(arguments),u=(ve.get(this,"events")||{})[e.type]||[],c=Z.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=Z.event.handlers.call(this,e,u),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((Z.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",void 0===r[i]&&(r[i]=o.needsContext?Z(i,this).index(u)>=0:Z.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return a<t.length&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,o=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||Q,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},fix:function(e){if(e[Z.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Se.test(i)?this.mouseHooks:Ee.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new Z.Event(o),t=r.length;t--;)n=r[t],e[n]=o[n];return e.target||(e.target=Q),3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,o):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==f()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===f()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&Z.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(e){return Z.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=Z.extend(new Z.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?Z.event.trigger(i,null,t):Z.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},Z.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},Z.Event=function(e,t){return this instanceof Z.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?c:l):this.type=e,t&&Z.extend(this,t),this.timeStamp=e&&e.timeStamp||Z.now(),void(this[Z.expando]=!0)):new Z.Event(e,t)},Z.Event.prototype={isDefaultPrevented:l,isPropagationStopped:l,isImmediatePropagationStopped:l,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=c,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=c,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=c,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},Z.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){Z.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!Z.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),J.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){Z.event.simulate(t,e.target,Z.event.fix(e),!0)};Z.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=ve.access(r,t);i||r.addEventListener(e,n,!0),ve.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=ve.access(r,t)-1;i?ve.access(r,t,i):(r.removeEventListener(e,n,!0),ve.remove(r,t))}}}),Z.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=void 0);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=void 0):null==r&&("string"==typeof t?(r=n,n=void 0):(r=n,n=t,t=void 0)),r===!1)r=l;else if(!r)return this;return 1===i&&(o=r,r=function(e){return Z().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=Z.guid++)),this.each(function(){Z.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,Z(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=void 0),n===!1&&(n=l),this.each(function(){Z.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){Z.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?Z.event.trigger(e,t,n,!0):void 0}});var Ae=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Le=/<([\w:]+)/,qe=/<|&#?\w+;/,He=/<(?:script|style|link)/i,Oe=/checked\s*(?:[^=]|=\s*.checked.)/i,Fe=/^$|\/(?:java|ecma)script/i,Pe=/^true\/(.*)/,Me=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Re={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Re.optgroup=Re.option,Re.tbody=Re.tfoot=Re.colgroup=Re.caption=Re.thead,Re.th=Re.td,Z.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=Z.contains(e.ownerDocument,e);if(!(J.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(s=v(a),o=v(e),r=0,i=o.length;i>r;r++)y(o[r],s[r]);if(t)if(n)for(o=o||v(e),s=s||v(a),r=0,i=o.length;i>r;r++)m(o[r],s[r]);else m(e,a);return s=v(a,"script"),s.length>0&&g(s,!u&&v(e,"script")),a},buildFragment:function(e,t,n,r){for(var i,o,s,a,u,c,l=t.createDocumentFragment(),f=[],p=0,d=e.length;d>p;p++)if(i=e[p],i||0===i)if("object"===Z.type(i))Z.merge(f,i.nodeType?[i]:i);else if(qe.test(i)){for(o=o||l.appendChild(t.createElement("div")),s=(Le.exec(i)||["",""])[1].toLowerCase(),a=Re[s]||Re._default,o.innerHTML=a[1]+i.replace(Ae,"<$1></$2>")+a[2],c=a[0];c--;)o=o.lastChild;Z.merge(f,o.childNodes),o=l.firstChild,o.textContent=""}else f.push(t.createTextNode(i));for(l.textContent="",p=0;i=f[p++];)if((!r||-1===Z.inArray(i,r))&&(u=Z.contains(i.ownerDocument,i),o=v(l.appendChild(i),"script"),u&&g(o),n))for(c=0;i=o[c++];)Fe.test(i.type||"")&&n.push(i);return l},cleanData:function(e){for(var t,n,r,i,o=Z.event.special,s=0;void 0!==(n=e[s]);s++){if(Z.acceptData(n)&&(i=n[ve.expando],i&&(t=ve.cache[i]))){if(t.events)for(r in t.events)o[r]?Z.event.remove(n,r):Z.removeEvent(n,r,t.handle);ve.cache[i]&&delete ve.cache[i]}delete ye.cache[n[ye.expando]]}}}),Z.fn.extend({text:function(e){return me(this,function(e){return void 0===e?Z.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=e)})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=p(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=p(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,r=e?Z.filter(e,this):this,i=0;null!=(n=r[i]);i++)t||1!==n.nodeType||Z.cleanData(v(n)),n.parentNode&&(t&&Z.contains(n.ownerDocument,n)&&g(v(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Z.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return Z.clone(this,e,t)})},html:function(e){return me(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!He.test(e)&&!Re[(Le.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(Ae,"<$1></$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(Z.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,Z.cleanData(v(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=z.apply([],e);var n,r,i,o,s,a,u=0,c=this.length,l=this,f=c-1,p=e[0],g=Z.isFunction(p);if(g||c>1&&"string"==typeof p&&!J.checkClone&&Oe.test(p))return this.each(function(n){var r=l.eq(n);g&&(e[0]=p.call(this,n,r.html())),r.domManip(e,t)});if(c&&(n=Z.buildFragment(e,this[0].ownerDocument,!1,this),r=n.firstChild,1===n.childNodes.length&&(n=r),r)){for(i=Z.map(v(n,"script"),d),o=i.length;c>u;u++)s=n,u!==f&&(s=Z.clone(s,!0,!0),o&&Z.merge(i,v(s,"script"))),t.call(this[u],s,u);if(o)for(a=i[i.length-1].ownerDocument,Z.map(i,h),u=0;o>u;u++)s=i[u],Fe.test(s.type||"")&&!ve.access(s,"globalEval")&&Z.contains(a,s)&&(s.src?Z._evalUrl&&Z._evalUrl(s.src):Z.globalEval(s.textContent.replace(Me,"")))}return this}}),Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(e){for(var n,r=[],i=Z(e),o=i.length-1,s=0;o>=s;s++)n=s===o?this:this.clone(!0),Z(i[s])[t](n),X.apply(r,n.get());return this.pushStack(r)}});var We,Be={},$e=/^margin/,Ie=new RegExp("^("+we+")(?!px)[a-z%]+$","i"),_e=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)};!function(){function t(){s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",s.innerHTML="",i.appendChild(o);var t=e.getComputedStyle(s,null);n="1%"!==t.top,r="4px"===t.width,i.removeChild(o)}var n,r,i=Q.documentElement,o=Q.createElement("div"),s=Q.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",J.clearCloneStyle="content-box"===s.style.backgroundClip,o.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",o.appendChild(s),e.getComputedStyle&&Z.extend(J,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return null==r&&t(),r},reliableMarginRight:function(){var t,n=s.appendChild(Q.createElement("div"));return n.style.cssText=s.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",s.style.width="1px",i.appendChild(o),t=!parseFloat(e.getComputedStyle(n,null).marginRight),i.removeChild(o),s.removeChild(n),t}}))}(),Z.swap=function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i};var ze=/^(none|table(?!-c[ea]).+)/,Xe=new RegExp("^("+we+")(.*)$","i"),Ue=new RegExp("^([+-])=("+we+")","i"),Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"},Ye=["Webkit","O","Moz","ms"];Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=w(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=Z.camelCase(t),u=e.style;return t=Z.cssProps[a]||(Z.cssProps[a]=C(u,a)),s=Z.cssHooks[t]||Z.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:u[t]:(o=typeof n,"string"===o&&(i=Ue.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(Z.css(e,t)),o="number"),null!=n&&n===n&&("number"!==o||Z.cssNumber[a]||(n+="px"),J.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var i,o,s,a=Z.camelCase(t);return t=Z.cssProps[a]||(Z.cssProps[a]=C(e.style,a)),s=Z.cssHooks[t]||Z.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=w(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),n===!0||Z.isNumeric(o)?o||0:i):i}}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,n,r){return n?ze.test(Z.css(e,"display"))&&0===e.offsetWidth?Z.swap(e,Ve,function(){return E(e,t,r)}):E(e,t,r):void 0},set:function(e,n,r){var i=r&&_e(e);return k(e,n,r?N(e,t,r,"border-box"===Z.css(e,"boxSizing",!1,i),i):0)}}}),Z.cssHooks.marginRight=T(J.reliableMarginRight,function(e,t){return t?Z.swap(e,{display:"inline-block"},w,[e,"marginRight"]):void 0}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];4>r;r++)i[e+Te[r]+t]=o[r]||o[r-2]||o[0];return i}},$e.test(e)||(Z.cssHooks[e+t].set=k)}),Z.fn.extend({css:function(e,t){return me(this,function(e,t,n){var r,i,o={},s=0;if(Z.isArray(t)){for(r=_e(e),i=t.length;i>s;s++)o[t[s]]=Z.css(e,t[s],!1,r);return o}return void 0!==n?Z.style(e,t,n):Z.css(e,t)},e,t,arguments.length>1)},show:function(){return S(this,!0)},hide:function(){return S(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Ce(this)?Z(this).show():Z(this).hide()})}}),Z.Tween=D,D.prototype={constructor:D,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Z.cssNumber[n]?"":"px")},cur:function(){var e=D.propHooks[this.prop];return e&&e.get?e.get(this):D.propHooks._default.get(this)},run:function(e){var t,n=D.propHooks[this.prop];return this.options.duration?this.pos=t=Z.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):D.propHooks._default.set(this),this}},D.prototype.init.prototype=D.prototype,D.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=Z.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){Z.fx.step[e.prop]?Z.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[Z.cssProps[e.prop]]||Z.cssHooks[e.prop])?Z.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},D.propHooks.scrollTop=D.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2;
+}},Z.fx=D.prototype.init,Z.fx.step={};var Je,Qe,Ke=/^(?:toggle|show|hide)$/,Ze=new RegExp("^(?:([+-])=|)("+we+")([a-z%]*)$","i"),et=/queueHooks$/,tt=[q],nt={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Ze.exec(t),o=i&&i[3]||(Z.cssNumber[e]?"":"px"),s=(Z.cssNumber[e]||"px"!==o&&+r)&&Ze.exec(Z.css(n.elem,e)),a=1,u=20;if(s&&s[3]!==o){o=o||s[3],i=i||[],s=+r||1;do a=a||".5",s/=a,Z.style(n.elem,e,s+o);while(a!==(a=n.cur()/r)&&1!==a&&--u)}return i&&(s=n.start=+s||+r||0,n.unit=o,n.end=i[1]?s+(i[1]+1)*i[2]:+i[2]),n}]};Z.Animation=Z.extend(O,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;i>r;r++)n=e[r],nt[n]=nt[n]||[],nt[n].unshift(t)},prefilter:function(e,t){t?tt.unshift(e):tt.push(e)}}),Z.speed=function(e,t,n){var r=e&&"object"==typeof e?Z.extend({},e):{complete:n||!n&&t||Z.isFunction(e)&&e,duration:e,easing:n&&t||t&&!Z.isFunction(t)&&t};return r.duration=Z.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in Z.fx.speeds?Z.fx.speeds[r.duration]:Z.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){Z.isFunction(r.old)&&r.old.call(this),r.queue&&Z.dequeue(this,r.queue)},r},Z.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Ce).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Z.isEmptyObject(e),o=Z.speed(t,n,r),s=function(){var t=O(this,Z.extend({},e),o);(i||ve.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=Z.timers,s=ve.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&et.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));(t||!n)&&Z.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=ve.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=Z.timers,s=r?r.length:0;for(n.finish=!0,Z.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),Z.each(["toggle","show","hide"],function(e,t){var n=Z.fn[t];Z.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(A(t,!0),e,r,i)}}),Z.each({slideDown:A("show"),slideUp:A("hide"),slideToggle:A("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Z.timers=[],Z.fx.tick=function(){var e,t=0,n=Z.timers;for(Je=Z.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||Z.fx.stop(),Je=void 0},Z.fx.timer=function(e){Z.timers.push(e),e()?Z.fx.start():Z.timers.pop()},Z.fx.interval=13,Z.fx.start=function(){Qe||(Qe=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.stop=function(){clearInterval(Qe),Qe=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fn.delay=function(e,t){return e=Z.fx?Z.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},function(){var e=Q.createElement("input"),t=Q.createElement("select"),n=t.appendChild(Q.createElement("option"));e.type="checkbox",J.checkOn=""!==e.value,J.optSelected=n.selected,t.disabled=!0,J.optDisabled=!n.disabled,e=Q.createElement("input"),e.value="t",e.type="radio",J.radioValue="t"===e.value}();var rt,it,ot=Z.expr.attrHandle;Z.fn.extend({attr:function(e,t){return me(this,Z.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Z.removeAttr(this,e)})}}),Z.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return typeof e.getAttribute===Ne?Z.prop(e,t,n):(1===o&&Z.isXMLDoc(e)||(t=t.toLowerCase(),r=Z.attrHooks[t]||(Z.expr.match.bool.test(t)?it:rt)),void 0===n?r&&"get"in r&&null!==(i=r.get(e,t))?i:(i=Z.find.attr(e,t),null==i?void 0:i):null!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:(e.setAttribute(t,n+""),n):void Z.removeAttr(e,t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(de);if(o&&1===e.nodeType)for(;n=o[i++];)r=Z.propFix[n]||n,Z.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!J.radioValue&&"radio"===t&&Z.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),it={set:function(e,t,n){return t===!1?Z.removeAttr(e,n):e.setAttribute(n,n),n}},Z.each(Z.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ot[t]||Z.find.attr;ot[t]=function(e,t,r){var i,o;return r||(o=ot[t],ot[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,ot[t]=o),i}});var st=/^(?:input|select|textarea|button)$/i;Z.fn.extend({prop:function(e,t){return me(this,Z.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Z.propFix[e]||e]})}}),Z.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!Z.isXMLDoc(e),o&&(t=Z.propFix[t]||t,i=Z.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||st.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),J.optSelected||(Z.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),Z.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Z.propFix[this.toLowerCase()]=this});var at=/[\t\r\n\f]/g;Z.fn.extend({addClass:function(e){var t,n,r,i,o,s,a="string"==typeof e&&e,u=0,c=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).addClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(de)||[];c>u;u++)if(n=this[u],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(at," "):" ")){for(o=0;i=t[o++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=Z.trim(r),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,r,i,o,s,a=0===arguments.length||"string"==typeof e&&e,u=0,c=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).removeClass(e.call(this,t,this.className))});if(a)for(t=(e||"").match(de)||[];c>u;u++)if(n=this[u],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(at," "):"")){for(o=0;i=t[o++];)for(;r.indexOf(" "+i+" ")>=0;)r=r.replace(" "+i+" "," ");s=e?Z.trim(r):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):Z.isFunction(e)?this.each(function(n){Z(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n)for(var t,r=0,i=Z(this),o=e.match(de)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(n===Ne||"boolean"===n)&&(this.className&&ve.set(this,"__className__",this.className),this.className=this.className||e===!1?"":ve.get(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(at," ").indexOf(t)>=0)return!0;return!1}});var ut=/\r/g;Z.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=Z.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,Z(this).val()):e,null==i?i="":"number"==typeof i?i+="":Z.isArray(i)&&(i=Z.map(i,function(e){return null==e?"":e+""})),t=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=Z.valHooks[i.type]||Z.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(ut,""):null==n?"":n)}}}),Z.extend({valHooks:{option:{get:function(e){var t=Z.find.attr(e,"value");return null!=t?t:Z.trim(Z.text(e))}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;a>u;u++)if(n=r[u],(n.selected||u===i)&&(J.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!Z.nodeName(n.parentNode,"optgroup"))){if(t=Z(n).val(),o)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=Z.makeArray(t),s=i.length;s--;)r=i[s],(r.selected=Z.inArray(r.value,o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]={set:function(e,t){return Z.isArray(t)?e.checked=Z.inArray(Z(e).val(),t)>=0:void 0}},J.checkOn||(Z.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),Z.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){Z.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),Z.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var ct=Z.now(),lt=/\?/;Z.parseJSON=function(e){return JSON.parse(e+"")},Z.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&Z.error("Invalid XML: "+e),t};var ft=/#.*$/,pt=/([?&])_=[^&]*/,dt=/^(.*?):[ \t]*([^\r\n]*)$/gm,ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,gt=/^(?:GET|HEAD)$/,mt=/^\/\//,vt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,yt={},xt={},bt="*/".concat("*"),wt=e.location.href,Tt=vt.exec(wt.toLowerCase())||[];Z.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt,type:"GET",isLocal:ht.test(Tt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?M(M(e,Z.ajaxSettings),t):M(Z.ajaxSettings,e)},ajaxPrefilter:F(yt),ajaxTransport:F(xt),ajax:function(e,t){function n(e,t,n,s){var u,l,v,y,b,T=t;2!==x&&(x=2,a&&clearTimeout(a),r=void 0,o=s||"",w.readyState=e>0?4:0,u=e>=200&&300>e||304===e,n&&(y=R(f,w,n)),y=W(f,y,w,u),u?(f.ifModified&&(b=w.getResponseHeader("Last-Modified"),b&&(Z.lastModified[i]=b),b=w.getResponseHeader("etag"),b&&(Z.etag[i]=b)),204===e||"HEAD"===f.type?T="nocontent":304===e?T="notmodified":(T=y.state,l=y.data,v=y.error,u=!v)):(v=T,(e||!T)&&(T="error",0>e&&(e=0))),w.status=e,w.statusText=(t||T)+"",u?h.resolveWith(p,[l,T,w]):h.rejectWith(p,[w,T,v]),w.statusCode(m),m=void 0,c&&d.trigger(u?"ajaxSuccess":"ajaxError",[w,f,u?l:v]),g.fireWith(p,[w,T]),c&&(d.trigger("ajaxComplete",[w,f]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,o,s,a,u,c,l,f=Z.ajaxSetup({},t),p=f.context||f,d=f.context&&(p.nodeType||p.jquery)?Z(p):Z.event,h=Z.Deferred(),g=Z.Callbacks("once memory"),m=f.statusCode||{},v={},y={},x=0,b="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!s)for(s={};t=dt.exec(o);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?o:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=y[n]=y[n]||e,v[e]=t),this},overrideMimeType:function(e){return x||(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||b;return r&&r.abort(t),n(0,t),this}};if(h.promise(w).complete=g.add,w.success=w.done,w.error=w.fail,f.url=((e||f.url||wt)+"").replace(ft,"").replace(mt,Tt[1]+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=Z.trim(f.dataType||"*").toLowerCase().match(de)||[""],null==f.crossDomain&&(u=vt.exec(f.url.toLowerCase()),f.crossDomain=!(!u||u[1]===Tt[1]&&u[2]===Tt[2]&&(u[3]||("http:"===u[1]?"80":"443"))===(Tt[3]||("http:"===Tt[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=Z.param(f.data,f.traditional)),P(yt,f,t,w),2===x)return w;c=Z.event&&f.global,c&&0===Z.active++&&Z.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!gt.test(f.type),i=f.url,f.hasContent||(f.data&&(i=f.url+=(lt.test(i)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=pt.test(i)?i.replace(pt,"$1_="+ct++):i+(lt.test(i)?"&":"?")+"_="+ct++)),f.ifModified&&(Z.lastModified[i]&&w.setRequestHeader("If-Modified-Since",Z.lastModified[i]),Z.etag[i]&&w.setRequestHeader("If-None-Match",Z.etag[i])),(f.data&&f.hasContent&&f.contentType!==!1||t.contentType)&&w.setRequestHeader("Content-Type",f.contentType),w.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+bt+"; q=0.01":""):f.accepts["*"]);for(l in f.headers)w.setRequestHeader(l,f.headers[l]);if(f.beforeSend&&(f.beforeSend.call(p,w,f)===!1||2===x))return w.abort();b="abort";for(l in{success:1,error:1,complete:1})w[l](f[l]);if(r=P(xt,f,t,w)){w.readyState=1,c&&d.trigger("ajaxSend",[w,f]),f.async&&f.timeout>0&&(a=setTimeout(function(){w.abort("timeout")},f.timeout));try{x=1,r.send(v,n)}catch(T){if(!(2>x))throw T;n(-1,T)}}else n(-1,"No Transport");return w},getJSON:function(e,t,n){return Z.get(e,t,n,"json")},getScript:function(e,t){return Z.get(e,void 0,t,"script")}}),Z.each(["get","post"],function(e,t){Z[t]=function(e,n,r,i){return Z.isFunction(n)&&(i=i||r,r=n,n=void 0),Z.ajax({url:e,type:t,dataType:i,data:n,success:r})}}),Z._evalUrl=function(e){return Z.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},Z.fn.extend({wrapAll:function(e){var t;return Z.isFunction(e)?this.each(function(t){Z(this).wrapAll(e.call(this,t))}):(this[0]&&(t=Z(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return Z.isFunction(e)?this.each(function(t){Z(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Z(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(n){Z(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()}}),Z.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)};var Ct=/%20/g,kt=/\[\]$/,Nt=/\r?\n/g,Et=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;Z.param=function(e,t){var n,r=[],i=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){i(this.name,this.value)});else for(n in e)B(n,e[n],t,i);return r.join("&").replace(Ct,"+")},Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Z.prop(this,"elements");return e?Z.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Z(this).is(":disabled")&&St.test(this.nodeName)&&!Et.test(e)&&(this.checked||!ke.test(e))}).map(function(e,t){var n=Z(this).val();return null==n?null:Z.isArray(n)?Z.map(n,function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}}):{name:t.name,value:n.replace(Nt,"\r\n")}}).get()}}),Z.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var Dt=0,jt={},At={0:200,1223:204},Lt=Z.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in jt)jt[e]()}),J.cors=!!Lt&&"withCredentials"in Lt,J.ajax=Lt=!!Lt,Z.ajaxTransport(function(e){var t;return J.cors||Lt&&!e.crossDomain?{send:function(n,r){var i,o=e.xhr(),s=++Dt;if(o.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)o[i]=e.xhrFields[i];e.mimeType&&o.overrideMimeType&&o.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)o.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete jt[s],t=o.onload=o.onerror=null,"abort"===e?o.abort():"error"===e?r(o.status,o.statusText):r(At[o.status]||o.status,o.statusText,"string"==typeof o.responseText?{text:o.responseText}:void 0,o.getAllResponseHeaders()))}},o.onload=t(),o.onerror=t("error"),t=jt[s]=t("abort");try{o.send(e.hasContent&&e.data||null)}catch(a){if(t)throw a}},abort:function(){t&&t()}}:void 0}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=Z("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),Q.head.appendChild(t[0])},abort:function(){n&&n()}}}});var qt=[],Ht=/(=)\?(?=&|$)|\?\?/;Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=qt.pop()||Z.expando+"_"+ct++;return this[e]=!0,e}}),Z.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=t.jsonp!==!1&&(Ht.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ht.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=Z.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Ht,"$1"+i):t.jsonp!==!1&&(t.url+=(lt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||Z.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,qt.push(i)),s&&Z.isFunction(o)&&o(s[0]),s=o=void 0}),"script"):void 0}),Z.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||Q;var r=se.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=Z.buildFragment([e],t,i),i&&i.length&&Z(i).remove(),Z.merge([],r.childNodes))};var Ot=Z.fn.load;Z.fn.load=function(e,t,n){if("string"!=typeof e&&Ot)return Ot.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>=0&&(r=Z.trim(e.slice(a)),e=e.slice(0,a)),Z.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),s.length>0&&Z.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?Z("<div>").append(Z.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},Z.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){Z.fn[t]=function(e){return this.on(t,e)}}),Z.expr.filters.animated=function(e){return Z.grep(Z.timers,function(t){return e===t.elem}).length};var Ft=e.document.documentElement;Z.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,c,l=Z.css(e,"position"),f=Z(e),p={};"static"===l&&(e.style.position="relative"),a=f.offset(),o=Z.css(e,"top"),u=Z.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1,c?(r=f.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),Z.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(p.top=t.top-a.top+s),null!=t.left&&(p.left=t.left-a.left+i),"using"in t?t.using.call(e,p):f.css(p)}},Z.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){Z.offset.setOffset(this,e,t)});var t,n,r=this[0],i={top:0,left:0},o=r&&r.ownerDocument;if(o)return t=o.documentElement,Z.contains(t,r)?(typeof r.getBoundingClientRect!==Ne&&(i=r.getBoundingClientRect()),n=$(o),{top:i.top+n.pageYOffset-t.clientTop,left:i.left+n.pageXOffset-t.clientLeft}):i},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===Z.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),Z.nodeName(e[0],"html")||(r=e.offset()),r.top+=Z.css(e[0],"borderTopWidth",!0),r.left+=Z.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-Z.css(n,"marginTop",!0),left:t.left-r.left-Z.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||Ft;e&&!Z.nodeName(e,"html")&&"static"===Z.css(e,"position");)e=e.offsetParent;return e||Ft})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var r="pageYOffset"===n;Z.fn[t]=function(i){return me(this,function(t,i,o){var s=$(t);return void 0===o?s?s[n]:t[i]:void(s?s.scrollTo(r?e.pageXOffset:o,r?o:e.pageYOffset):t[i]=o)},t,i,arguments.length,null)}}),Z.each(["top","left"],function(e,t){Z.cssHooks[t]=T(J.pixelPosition,function(e,n){return n?(n=w(e,t),Ie.test(n)?Z(e).position()[t]+"px":n):void 0})}),Z.each({Height:"height",Width:"width"},function(e,t){Z.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){Z.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),s=n||(r===!0||i===!0?"margin":"border");return me(this,function(t,n,r){var i;return Z.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?Z.css(t,n,s):Z.style(t,n,r,s)},t,o?r:void 0,o,null)}})}),Z.fn.size=function(){return this.length},Z.fn.andSelf=Z.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Z});var Pt=e.jQuery,Mt=e.$;return Z.noConflict=function(t){return e.$===Z&&(e.$=Mt),t&&e.jQuery===Z&&(e.jQuery=Pt),Z},typeof t===Ne&&(e.jQuery=e.$=Z),Z});
+//# sourceMappingURL=vendors.js.map
diff --git a/dist/js/vendors.js.map b/dist/js/vendors.js.map
new file mode 100644
index 0000000000..54bc80307c
--- /dev/null
+++ b/dist/js/vendors.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["cookies-eu-banner.js","jquery.js"],"names":["root","factory","undefined","define","amd","exports","module","CookiesEuBanner","window","document","launchFunction","waitAccept","this","cookieTimeout","bots","cookieName","trackingCookiesNames","init","prototype","isBot","isToTrack","hasConsent","showBanner","setCookie","_this","banner","getElementById","rejectButton","acceptButton","moreLink","style","display","addEventListener","deleteCookie","parentNode","removeChild","deleteTrackingCookies","cookie","indexOf","test","navigator","userAgent","dnt","doNotTrack","msDoNotTrack","name","value","date","Date","setTime","getTime","toGMTString","hostname","location","substring","DOMElement","evnt","callback","attachEvent","global","w","Error","noGlobal","isArraylike","obj","length","type","jQuery","isWindow","nodeType","winnow","elements","qualifier","not","isFunction","grep","elem","i","call","risSimple","filter","sibling","cur","dir","createOptions","options","object","optionsCache","each","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","Object","defineProperty","cache","get","expando","uid","dataAttr","key","data","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","data_user","set","returnTrue","returnFalse","safeActiveElement","activeElement","err","manipulationTarget","content","nodeName","firstChild","getElementsByTagName","appendChild","ownerDocument","createElement","disableScript","restoreScript","rscriptTypeMasked","exec","removeAttribute","setGlobalEval","elems","refElements","l","data_priv","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","event","add","extend","getAll","context","tag","ret","querySelectorAll","merge","fixInput","rcheckableType","checked","defaultValue","actualDisplay","doc","appendTo","body","getDefaultComputedStyle","css","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","contains","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","apply","arguments","vendorPropName","capName","toUpperCase","slice","origName","cssPrefixes","setPositiveNumber","subtract","matches","rnumsplit","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","support","boxSizingReliable","parseFloat","showHide","show","hidden","values","index","isHidden","Tween","prop","end","easing","createFxNow","setTimeout","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","tween","collection","tweeners","concat","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","hide","remove","start","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","Animation","properties","result","stopped","animationPrefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","push","stop","gotoEnd","rejectWith","map","fx","timer","progress","complete","fail","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","tmp","prev","responseFields","dataFilter","split","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","selector","fn","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","args","first","eq","last","len","j","sort","splice","copy","copyIsArray","clone","isPlainObject","random","isReady","msg","noop","Array","isNumeric","globalEval","code","script","indirect","eval","trim","text","head","string","makeArray","results","inArray","second","invert","callbackInverse","callbackExpect","arg","guid","proxy","Sizzle","seed","m","groups","old","nid","newContext","newSelector","preferredDoc","setDocument","documentIsHTML","rquickExpr","id","getElementsByClassName","qsa","rbuggyQSA","tokenize","rescape","setAttribute","toSelector","rsibling","testContext","join","qsaError","select","createCache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","a","b","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","outerCache","newCache","dirruns","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","compilerCache","sortOrder","push_native","list","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","childNodes","els","node","hasCompare","parent","top","className","createComment","getById","getElementsByName","attrId","getAttributeNode","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","textContent","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","lastChild","pseudo","idx","matched","has","innerText","lang","elemLang","hash","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","rneedsContext","rsingleTag","self","is","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","next","until","truncate","n","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","reverse","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","stack","once","stopOnFalse","disable","lock","locked","fireWith","tuples","then","fns","newDefer","tuple","returned","resolve","reject","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","off","readyState","chainable","emptyGet","raw","bulk","acceptData","owner","accepts","descriptor","unlock","defineProperties","stored","camel","discard","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","count","defer","pnum","source","el","fragment","createDocumentFragment","checkClone","cloneNode","noCloneChecked","strundefined","focusinBubbles","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","types","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","trigger","onlyHandlers","bubbleType","ontype","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","load","blur","click","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","timeStamp","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","attaches","on","one","origFn","rxhtmlTag","rtagName","rhtml","rnoInnerhtml","rchecked","rscriptType","rcleanScript","wrapMap","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","buildFragment","scripts","selection","wrap","nodes","createTextNode","cleanData","append","domManip","prepend","insertBefore","before","after","keepData","html","replaceWith","replaceChild","hasScripts","iNoClone","_evalUrl","prependTo","insertAfter","replaceAll","insert","opener","getComputedStyle","computePixelPositionAndBoxSizingReliable","cssText","container","divStyle","pixelPositionVal","boxSizingReliableVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginRight","marginDiv","marginRight","swap","rdisplayswap","rrelNum","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssNumber","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","margin","padding","border","suffix","expanded","parts","unit","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rfxnum","rrun","*","scale","maxIterations","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","nodeHook","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","removeProp","for","class","notxml","hasAttribute","rclass","addClass","classes","clazz","finalValue","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","prefilters","allTypes","ajaxLocation","ajaxLocParts","active","lastModified","etag","url","isLocal","processData","async","contentType","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","param","hasContent","beforeSend","send","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrId","xhrCallbacks","xhrSuccessStatus","0","1223","xhrSupported","cors","open","username","xhrFields","onload","onerror","responseText","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","left","using","win","box","getBoundingClientRect","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","size","andSelf","_jQuery","_$","$","noConflict"],"mappings":"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","file":"vendors.js","sourcesContent":["/**\n * Cookies EU banner v1.2.7 - Manage display of banner to accept/reject cookies from tracking services like Google Analytics\n * ------------------------\n * @link http://alex-d.github.io/Cookies-EU-banner/\n * @license MIT\n * @author Alex-D\n *         Twitter : @AlexandreDemode\n *         Website : alex-d.fr\n */\n\n(function(root, factory, undefined){\n    if(typeof define === \"function\" && define.amd){\n        define([], factory);\n    } else if(typeof exports === \"object\"){\n        module.exports = factory();\n    } else {\n        // root is window\n        root.CookiesEuBanner = factory();\n    }\n}(window, function(){\n    var CookiesEuBanner,\n        document = window.document;\n\n    CookiesEuBanner = function(launchFunction, waitAccept, undefined){\n        if(!(this instanceof CookiesEuBanner)){\n            return new CookiesEuBanner(launchFunction);\n        }\n\n        this.cookieTimeout = 33696000000; // 13 months in milliseconds\n        this.bots = /bot|googlebot|crawler|spider|robot|crawling/i;\n        this.cookieName = \"hasConsent\";\n        this.trackingCookiesNames = [\"__utma\",\"__utmb\",\"__utmc\",\"__utmt\",\"__utmv\",\"__utmz\",\"_ga\",\"_gat\"];\n        this.launchFunction = launchFunction;\n        this.waitAccept = waitAccept != null ? waitAccept : false;\n        this.init();\n    };\n\n    CookiesEuBanner.prototype = {\n        init: function(){\n            // Do nothing if it is a bot\n            // If DoNotTrack is activated, do nothing too\n            if(this.isBot() || !this.isToTrack() || this.hasConsent() === false){\n                return false;\n            }\n\n            // User has already consent to use cookies to tracking\n            if(this.hasConsent() === true){\n                // Launch user custom function\n                this.launchFunction();\n                return true;\n            }\n\n            // If it's not a bot, no DoNotTrack and not already accept : show banner\n            this.showBanner();\n\n            if(!this.waitAccept){\n                // Accept cookies by default for the next page\n                this.setCookie(this.cookieName, true);\n            }\n        },\n\n        /*\n         * Show banner at the top of the page\n         */\n        showBanner: function(){\n            var _this = this,\n                banner = document.getElementById(\"cookies-eu-banner\"),\n                rejectButton = document.getElementById(\"cookies-eu-reject\"),\n                acceptButton = document.getElementById(\"cookies-eu-accept\"),\n                moreLink = document.getElementById(\"cookies-eu-more\");\n\n            banner.style.display = \"block\";\n\n            this.addEventListener(moreLink, \"click\", function(){\n                _this.deleteCookie(_this.cookieName);\n            });\n\n            this.addEventListener(acceptButton, \"click\", function(){\n                banner.parentNode.removeChild(banner);\n                _this.setCookie(_this.cookieName, true);\n                _this.launchFunction();\n            });\n\n            this.addEventListener(rejectButton, \"click\", function(){\n                banner.parentNode.removeChild(banner);\n                _this.setCookie(_this.cookieName, false);\n                _this.deleteTrackingCookies();\n            });\n        },\n\n        /*\n         * Check if user already consent\n         */\n        hasConsent: function(){\n            if(document.cookie.indexOf(this.cookieName+\"=true\") > -1){\n                return true;\n            } else if(document.cookie.indexOf(this.cookieName+\"=false\") > -1){\n                return false;\n            }\n            return null;\n        },\n\n        /*\n         * Detect if the visitor is a bot or not\n         * Prevent for search engine take the cookie\n         * alert message as main content of the page\n         */\n        isBot: function(){\n            return this.bots.test(navigator.userAgent);\n        },\n\n        /*\n         * Check if DoNotTrack is activated\n         */\n        isToTrack: function() {\n            var dnt = navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack;\n            return (dnt != null) ? (dnt && dnt !== \"yes\" && dnt !== 1 && dnt !== \"1\") : true;\n        },\n\n        /*\n         * Delete existants tracking cookies\n         */\n        deleteTrackingCookies: function(){\n            var name;\n            for(name in this.trackingCookiesNames){\n                this.deleteCookie(name);\n            }\n        },\n\n        /*\n         * Create/update cookie\n         */\n        setCookie: function(name, value){\n            var date = new Date();\n            date.setTime(date.getTime() + this.cookieTimeout);\n\n            document.cookie = name + \"=\" + value + \";expires=\" + date.toGMTString() + \";path=/\";\n        },\n\n        /*\n         * Delete cookie by changing expire\n         */\n        deleteCookie: function(name){\n            var hostname = document.location.hostname;\n            if(hostname.indexOf(\"www.\") === 0){\n                hostname = hostname.substring(4);\n            }\n            document.cookie = name + \"=; domain=.\" + hostname + \"; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/\";\n            document.cookie = name + \"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/\";\n        },\n\n        addEventListener: function(DOMElement, evnt, callback){\n            if(document.addEventListener){ // For all major browsers, except IE 8 and earlier\n                DOMElement.addEventListener(evnt, callback);\n            } else if(DOMElement.attachEvent){ // For IE 8 and earlier versions\n                DOMElement.attachEvent(\"on\"+evnt, callback);\n            }\n        }\n    };\n\n    return CookiesEuBanner;\n}));\n\n","/*!\n * jQuery JavaScript Library v2.1.4\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-04-28T16:01Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\n\nvar arr = [];\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\t// Use the correct document accordingly with window argument (sandbox)\n\tdocument = window.document,\n\n\tversion = \"2.1.4\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\t// (You can seed the arguments with an array of args, but this is\n\t// only used internally.)\n\teach: function( callback, args ) {\n\t\treturn jQuery.each( this, callback, args );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map(this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t}));\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor(null);\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[0] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction(target) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null ) {\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray(src) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject(src) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend({\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type(obj) === \"function\";\n\t},\n\n\tisArray: Array.isArray,\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\treturn !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\t// Not plain objects:\n\t\t// - Any object or value whose internal [[Class]] property is not \"[object Object]\"\n\t\t// - DOM nodes\n\t\t// - window\n\t\tif ( jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype, \"isPrototypeOf\" ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If the function hasn't returned already, we're confident that\n\t\t// |obj| is a plain object, created by {} or constructed with new Object\n\t\treturn true;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\t\t// Support: Android<4.0, iOS<6 (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call(obj) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tvar script,\n\t\t\tindirect = eval;\n\n\t\tcode = jQuery.trim( code );\n\n\t\tif ( code ) {\n\t\t\t// If the code includes a valid, prologue position\n\t\t\t// strict mode pragma, execute code by injecting a\n\t\t\t// script tag into the document.\n\t\t\tif ( code.indexOf(\"use strict\") === 1 ) {\n\t\t\t\tscript = document.createElement(\"script\");\n\t\t\t\tscript.text = code;\n\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n\t\t\t} else {\n\t\t\t// Otherwise, avoid the DOM node creation, insertion\n\t\t\t// and removal by using an indirect global eval\n\t\t\t\tindirect( code );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE9-11+\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\t// args is for internal usage only\n\teach: function( obj, callback, args ) {\n\t\tvar value,\n\t\t\ti = 0,\n\t\t\tlength = obj.length,\n\t\t\tisArray = isArraylike( obj );\n\n\t\tif ( args ) {\n\t\t\tif ( isArray ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// A special, fast, case for the most common use of each\n\t\t} else {\n\t\t\tif ( isArray ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArraylike( Object(arr) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar value,\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tisArray = isArraylike( elems ),\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArray ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n});\n\n// Populate the class2type map\njQuery.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"), function(i, name) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n});\n\nfunction isArraylike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\tif ( obj.nodeType === 1 && length ) {\n\t\treturn true;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.0-pre\n * http://sizzlejs.com/\n *\n * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2014-12-16\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\t// http://www.w3.org/TR/css3-syntax/#characters\n\tcharacterEncoding = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Loosely modeled on CSS identifier characters\n\t// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors\n\t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = characterEncoding.replace( \"w\", \"w#\" ),\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + characterEncoding + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + characterEncoding + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + characterEncoding + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + characterEncoding + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + characterEncoding.replace( \"w\", \"w*\" ) + \")\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar match, elem, m, nodeType,\n\t\t// QSA vars\n\t\ti, groups, old, nid, newContext, newSelector;\n\n\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\n\tcontext = context || document;\n\tresults = results || [];\n\tnodeType = context.nodeType;\n\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\tif ( !seed && documentIsHTML ) {\n\n\t\t// Try to shortcut find operations when possible (e.g., not under DocumentFragment)\n\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\t\t\t// Speed-up: Sizzle(\"#ID\")\n\t\t\tif ( (m = match[1]) ) {\n\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\telem = context.getElementById( m );\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document (jQuery #6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Context is not a document\n\t\t\t\t\tif ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&\n\t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\n\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Speed-up: Sizzle(\"TAG\")\n\t\t\t} else if ( match[2] ) {\n\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\treturn results;\n\n\t\t\t// Speed-up: Sizzle(\".CLASS\")\n\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName ) {\n\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\treturn results;\n\t\t\t}\n\t\t}\n\n\t\t// QSA path\n\t\tif ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\t\t\tnid = old = expando;\n\t\t\tnewContext = context;\n\t\t\tnewSelector = nodeType !== 1 && selector;\n\n\t\t\t// qSA works strangely on Element-rooted queries\n\t\t\t// We can work around this by specifying an extra ID on the root\n\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\n\t\t\t// IE 8 doesn't work on object elements\n\t\t\tif ( nodeType === 1 && context.nodeName.toLowerCase() !== \"object\" ) {\n\t\t\t\tgroups = tokenize( selector );\n\n\t\t\t\tif ( (old = context.getAttribute(\"id\")) ) {\n\t\t\t\t\tnid = old.replace( rescape, \"\\\\$&\" );\n\t\t\t\t} else {\n\t\t\t\t\tcontext.setAttribute( \"id\", nid );\n\t\t\t\t}\n\t\t\t\tnid = \"[id='\" + nid + \"'] \";\n\n\t\t\t\ti = groups.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tgroups[i] = nid + toSelector( groups[i] );\n\t\t\t\t}\n\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;\n\t\t\t\tnewSelector = groups.join(\",\");\n\t\t\t}\n\n\t\t\tif ( newSelector ) {\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch(qsaError) {\n\t\t\t\t} finally {\n\t\t\t\t\tif ( !old ) {\n\t\t\t\t\t\tcontext.removeAttribute(\"id\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {Function(string, Object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = attrs.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// If no document and documentElement is available, return\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Set our document\n\tdocument = doc;\n\tdocElem = doc.documentElement;\n\tparent = doc.defaultView;\n\n\t// Support: IE>8\n\t// If iframe document is assigned to \"document\" variable and if iframe has been reloaded,\n\t// IE will throw \"permission denied\" error when accessing \"document\" variable, see jQuery #13936\n\t// IE6-8 do not support the defaultView property so parent will be undefined\n\tif ( parent && parent !== parent.top ) {\n\t\t// IE11 does not have attachEvent, so all must suffer\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Support tests\n\t---------------------------------------------------------------------- */\n\tdocumentIsHTML = !isXML( doc );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( doc.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( doc.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !doc.getElementsByName || !doc.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\treturn m && m.parentNode ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] =  function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"<a id='\" + expando + \"'></a>\" +\n\t\t\t\t\"<select id='\" + expando + \"-\\f]' msallowcapture=''>\" +\n\t\t\t\t\"<option selected=''></option></select>\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = doc.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully does not implement inclusive descendent\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === doc ? -1 :\n\t\t\t\tb === doc ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn doc;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, diff, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || (parent[ expando ] = {});\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[0] === dirruns && cache[1];\n\t\t\t\t\t\t\tdiff = cache[0] === dirruns && cache[2];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t} else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {\n\t\t\t\t\t\t\tdiff = cache[1];\n\n\t\t\t\t\t\t// xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\tif ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {\n\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t(node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t//   but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\t\t\t\t\t\tif ( (oldCache = outerCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\touterCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context !== document && context;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Keep `i` a string if there are no elements so `matchedCount` will be \"00\" below\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\tmatchedCount += i;\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n *  selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n *  selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is no seed and only one group\n\tif ( match.length === 1 ) {\n\n\t\t// Take a shortcut and set the context if the root selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\trsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"<a href='#'></a>\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"<input/>\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[\":\"] = jQuery.expr.pseudos;\njQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = (/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/);\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t});\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t});\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) >= 0 ) !== not;\n\t});\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t}));\n};\n\njQuery.fn.extend({\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tlen = this.length,\n\t\t\tret = [],\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter(function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector || [], false) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector || [], true) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n});\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[0] === \"<\" && selector[ selector.length - 1 ] === \">\" && selector.length >= 3 ) {\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && (match[1] || !context) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[1] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[0] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[1],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[2] );\n\n\t\t\t\t\t// Support: Blackberry 4.6\n\t\t\t\t\t// gEBID returns nodes no longer in the document (#6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[0] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || rootjQuery ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[0] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn typeof rootjQuery.ready !== \"undefined\" ?\n\t\t\t\trootjQuery.ready( selector ) :\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.extend({\n\tdir: function( elem, dir, until ) {\n\t\tvar matched = [],\n\t\t\ttruncate = until !== undefined;\n\n\t\twhile ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tmatched.push( elem );\n\t\t\t}\n\t\t}\n\t\treturn matched;\n\t},\n\n\tsibling: function( n, elem ) {\n\t\tvar matched = [];\n\n\t\tfor ( ; n; n = n.nextSibling ) {\n\t\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\t\tmatched.push( n );\n\t\t\t}\n\t\t}\n\n\t\treturn matched;\n\t}\n});\n\njQuery.fn.extend({\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter(function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[i] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) {\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && (pos ?\n\t\t\t\t\tpos.index(cur) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector(cur, selectors)) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.unique(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter(selector)\n\t\t);\n\t}\n});\n\nfunction sibling( cur, dir ) {\n\twhile ( (cur = cur[dir]) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each({\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn jQuery.dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn jQuery.sibling( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn elem.contentDocument || jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.unique( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n});\nvar rnotwhite = (/\\S+/g);\n\n\n\n// String to Object options format cache\nvar optionsCache = {};\n\n// Convert String-formatted options into Object-formatted ones and store in cache\nfunction createOptions( options ) {\n\tvar object = optionsCache[ options ] = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t});\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\t( optionsCache[ options ] || createOptions( options ) ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Last fire value (for non-forgettable lists)\n\t\tmemory,\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\t\t// Flag to know if list is currently firing\n\t\tfiring,\n\t\t// First callback to fire (used internally by add and fireWith)\n\t\tfiringStart,\n\t\t// End of the loop when firing\n\t\tfiringLength,\n\t\t// Index of currently firing callback (modified by remove if needed)\n\t\tfiringIndex,\n\t\t// Actual callback list\n\t\tlist = [],\n\t\t// Stack of fire calls for repeatable lists\n\t\tstack = !options.once && [],\n\t\t// Fire callbacks\n\t\tfire = function( data ) {\n\t\t\tmemory = options.memory && data;\n\t\t\tfired = true;\n\t\t\tfiringIndex = firingStart || 0;\n\t\t\tfiringStart = 0;\n\t\t\tfiringLength = list.length;\n\t\t\tfiring = true;\n\t\t\tfor ( ; list && firingIndex < firingLength; firingIndex++ ) {\n\t\t\t\tif ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {\n\t\t\t\t\tmemory = false; // To prevent further calls using add\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfiring = false;\n\t\t\tif ( list ) {\n\t\t\t\tif ( stack ) {\n\t\t\t\t\tif ( stack.length ) {\n\t\t\t\t\t\tfire( stack.shift() );\n\t\t\t\t\t}\n\t\t\t\t} else if ( memory ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t} else {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Actual Callbacks object\n\t\tself = {\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\t// First, we save the current length\n\t\t\t\t\tvar start = list.length;\n\t\t\t\t\t(function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tvar type = jQuery.type( arg );\n\t\t\t\t\t\t\tif ( type === \"function\" ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && type !== \"string\" ) {\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})( arguments );\n\t\t\t\t\t// Do we need to add the callbacks to the\n\t\t\t\t\t// current firing batch?\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tfiringLength = list.length;\n\t\t\t\t\t// With memory, if we're not firing then\n\t\t\t\t\t// we should call right away\n\t\t\t\t\t} else if ( memory ) {\n\t\t\t\t\t\tfiringStart = start;\n\t\t\t\t\t\tfire( memory );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\t\tvar index;\n\t\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\t\tlist.splice( index, 1 );\n\t\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\t\t\tif ( index <= firingLength ) {\n\t\t\t\t\t\t\t\t\tfiringLength--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );\n\t\t\t},\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tlist = [];\n\t\t\t\tfiringLength = 0;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Have the list do nothing anymore\n\t\t\tdisable: function() {\n\t\t\t\tlist = stack = memory = undefined;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it disabled?\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\t\t\t// Lock the list in its current state\n\t\t\tlock: function() {\n\t\t\t\tstack = undefined;\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it locked?\n\t\t\tlocked: function() {\n\t\t\t\treturn !stack;\n\t\t\t},\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( list && ( !fired || stack ) ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tstack.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfire( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend({\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks(\"memory\") ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred(function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[1] ](function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject )\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t}).promise();\n\t\t\t\t},\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[1] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(function() {\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[0] ] = function() {\n\t\t\t\tdeferred[ tuple[0] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[0] + \"With\" ] = list.fireWith;\n\t\t});\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred. If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// Add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject )\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n});\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend({\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n});\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed, false );\n\twindow.removeEventListener( \"load\", completed, false );\n\tjQuery.ready();\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called after the browser event has already occurred.\n\t\t// We once tried to use readyState \"interactive\" here, but it caused issues like the one\n\t\t// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15\n\t\tif ( document.readyState === \"complete\" ) {\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\tsetTimeout( jQuery.ready );\n\n\t\t} else {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed, false );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed, false );\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\tjQuery.access( elems, fn, i, key[i], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlen ? fn( elems[0], key ) : emptyGet;\n};\n\n\n/**\n * Determines whether an object can have data\n */\njQuery.acceptData = function( owner ) {\n\t// Accepts only:\n\t//  - Node\n\t//    - Node.ELEMENT_NODE\n\t//    - Node.DOCUMENT_NODE\n\t//  - Object\n\t//    - Any\n\t/* jshint -W018 */\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\nfunction Data() {\n\t// Support: Android<4,\n\t// Old WebKit does not have Object.preventExtensions/freeze method,\n\t// return new empty object instead with no [[set]] accessor\n\tObject.defineProperty( this.cache = {}, 0, {\n\t\tget: function() {\n\t\t\treturn {};\n\t\t}\n\t});\n\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\nData.accepts = jQuery.acceptData;\n\nData.prototype = {\n\tkey: function( owner ) {\n\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t// but we should not, see #8335.\n\t\t// Always return the key for a frozen object.\n\t\tif ( !Data.accepts( owner ) ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar descriptor = {},\n\t\t\t// Check if the owner object already has a cache key\n\t\t\tunlock = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !unlock ) {\n\t\t\tunlock = Data.uid++;\n\n\t\t\t// Secure it in a non-enumerable, non-writable property\n\t\t\ttry {\n\t\t\t\tdescriptor[ this.expando ] = { value: unlock };\n\t\t\t\tObject.defineProperties( owner, descriptor );\n\n\t\t\t// Support: Android<4\n\t\t\t// Fallback to a less secure definition\n\t\t\t} catch ( e ) {\n\t\t\t\tdescriptor[ this.expando ] = unlock;\n\t\t\t\tjQuery.extend( owner, descriptor );\n\t\t\t}\n\t\t}\n\n\t\t// Ensure the cache object\n\t\tif ( !this.cache[ unlock ] ) {\n\t\t\tthis.cache[ unlock ] = {};\n\t\t}\n\n\t\treturn unlock;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\t// There may be an unlock assigned to this node,\n\t\t\t// if there is no entry for this \"owner\", create one inline\n\t\t\t// and set the unlock as though an owner entry had always existed\n\t\t\tunlock = this.key( owner ),\n\t\t\tcache = this.cache[ unlock ];\n\n\t\t// Handle: [ owner, key, value ] args\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ data ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\t\t\t// Fresh assignments by object are shallow copied\n\t\t\tif ( jQuery.isEmptyObject( cache ) ) {\n\t\t\t\tjQuery.extend( this.cache[ unlock ], data );\n\t\t\t// Otherwise, copy the properties one-by-one to the cache object\n\t\t\t} else {\n\t\t\t\tfor ( prop in data ) {\n\t\t\t\t\tcache[ prop ] = data[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\t// Either a valid cache is found, or will be created.\n\t\t// New caches will be created and the unlock returned,\n\t\t// allowing direct access to the newly created\n\t\t// empty data object. A valid owner object must be provided.\n\t\tvar cache = this.cache[ this.key( owner ) ];\n\n\t\treturn key === undefined ?\n\t\t\tcache : cache[ key ];\n\t},\n\taccess: function( owner, key, value ) {\n\t\tvar stored;\n\t\t// In cases where either:\n\t\t//\n\t\t//   1. No key was specified\n\t\t//   2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t//   1. The entire cache object\n\t\t//   2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t((key && typeof key === \"string\") && value === undefined) ) {\n\n\t\t\tstored = this.get( owner, key );\n\n\t\t\treturn stored !== undefined ?\n\t\t\t\tstored : this.get( owner, jQuery.camelCase(key) );\n\t\t}\n\n\t\t// [*]When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t//   1. An object of properties\n\t\t//   2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i, name, camel,\n\t\t\tunlock = this.key( owner ),\n\t\t\tcache = this.cache[ unlock ];\n\n\t\tif ( key === undefined ) {\n\t\t\tthis.cache[ unlock ] = {};\n\n\t\t} else {\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( jQuery.isArray( key ) ) {\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n\t\t\t} else {\n\t\t\t\tcamel = jQuery.camelCase( key );\n\t\t\t\t// Try the string as a key before any manipulation\n\t\t\t\tif ( key in cache ) {\n\t\t\t\t\tname = [ key, camel ];\n\t\t\t\t} else {\n\t\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\t\tname = camel;\n\t\t\t\t\tname = name in cache ?\n\t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = name.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ name[ i ] ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\treturn !jQuery.isEmptyObject(\n\t\t\tthis.cache[ owner[ this.expando ] ] || {}\n\t\t);\n\t},\n\tdiscard: function( owner ) {\n\t\tif ( owner[ this.expando ] ) {\n\t\t\tdelete this.cache[ owner[ this.expando ] ];\n\t\t}\n\t}\n};\nvar data_priv = new Data();\n\nvar data_user = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /([A-Z])/g;\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdata_user.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend({\n\thasData: function( elem ) {\n\t\treturn data_user.hasData( elem ) || data_priv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn data_user.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdata_user.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to data_priv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn data_priv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdata_priv.remove( elem, name );\n\t}\n});\n\njQuery.fn.extend({\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = data_user.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !data_priv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice(5) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdata_priv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each(function() {\n\t\t\t\tdata_user.set( this, key );\n\t\t\t});\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data,\n\t\t\t\tcamelKey = jQuery.camelCase( key );\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key as-is\n\t\t\t\tdata = data_user.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key camelized\n\t\t\t\tdata = data_user.get( elem, camelKey );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each(function() {\n\t\t\t\t// First, attempt to store a copy or reference of any\n\t\t\t\t// data that might've been store with a camelCased key.\n\t\t\t\tvar data = data_user.get( this, camelKey );\n\n\t\t\t\t// For HTML5 data-* attribute interop, we have to\n\t\t\t\t// store property names with dashes in a camelCase form.\n\t\t\t\t// This might not apply to all properties...*\n\t\t\t\tdata_user.set( this, camelKey, value );\n\n\t\t\t\t// *... In the case of properties that might _actually_\n\t\t\t\t// have dashes, we need to also store a copy of that\n\t\t\t\t// unchanged property.\n\t\t\t\tif ( key.indexOf(\"-\") !== -1 && data !== undefined ) {\n\t\t\t\t\tdata_user.set( this, key, value );\n\t\t\t\t}\n\t\t\t});\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each(function() {\n\t\t\tdata_user.remove( this, key );\n\t\t});\n\t}\n});\n\n\njQuery.extend({\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = data_priv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = data_priv.access( elem, type, jQuery.makeArray(data) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn data_priv.get( elem, key ) || data_priv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks(\"once memory\").add(function() {\n\t\t\t\tdata_priv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t})\n\t\t});\n\t}\n});\n\njQuery.fn.extend({\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[0], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each(function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[0] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t});\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t});\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = data_priv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n});\nvar pnum = (/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/).source;\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" || !jQuery.contains( elem.ownerDocument, elem );\n\t};\n\nvar rcheckableType = (/^(?:checkbox|radio)$/i);\n\n\n\n(function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Safari<=5.1\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari<=5.1, Android<4.2\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<=11+\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n})();\nvar strundefined = typeof undefined;\n\n\n\nsupport.focusinBubbles = \"onfocusin\" in window;\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)$/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = data_priv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !(events = elemData.events) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !(eventHandle = elemData.handle) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tmp[1];\n\t\t\tnamespaces = ( tmp[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend({\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join(\".\")\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !(handlers = events[ type ]) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = data_priv.hasData( elem ) && data_priv.get( elem );\n\n\t\tif ( !elemData || !(events = elemData.events) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tmp[1];\n\t\t\tnamespaces = ( tmp[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[2] && new RegExp( \"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdelete elemData.handle;\n\t\t\tdata_priv.remove( elem, \"events\" );\n\t\t}\n\t},\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split(\".\") : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf(\".\") >= 0 ) {\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split(\".\");\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf(\":\") < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join(\".\");\n\t\tevent.namespace_re = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === (elem.ownerDocument || document) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( data_priv.get( cur, \"events\" ) || {} )[ event.type ] && data_priv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && jQuery.acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&\n\t\t\t\tjQuery.acceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( data_priv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[0] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )\n\t\t\t\t\t\t\t.apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( (event.result = ret) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG <use> instance trees (#13180)\n\t\t// Avoid non-left-click bubbling in Firefox (#3861)\n\t\tif ( delegateCount && cur.nodeType && (!event.button || event.type !== \"click\") ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.disabled !== true || event.type !== \"click\" ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) >= 0 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push({ elem: cur, handlers: matches });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: \"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: \"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY + ( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) - ( doc && doc.clientTop  || body && body.clientTop  || 0 );\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: Cordova 2.5 (WebKit) (#13255)\n\t\t// All events should have a target; Cordova deviceready doesn't\n\t\tif ( !event.target ) {\n\t\t\tevent.target = document;\n\t\t}\n\n\t\t// Support: Safari 6.0+, Chrome<28\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && jQuery.nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tsimulate: function( type, elem, event, bubble ) {\n\t\t// Piggyback on a donor event to simulate a different one.\n\t\t// Fake originalEvent to avoid donor's stopPropagation, but if the\n\t\t// simulated event prevents default then we do the same on the donor.\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true,\n\t\t\t\toriginalEvent: {}\n\t\t\t}\n\t\t);\n\t\tif ( bubble ) {\n\t\t\tjQuery.event.trigger( e, null, elem );\n\t\t} else {\n\t\t\tjQuery.event.dispatch.call( elem, e );\n\t\t}\n\t\tif ( e.isDefaultPrevented() ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle, false );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\t// Allow instantiation without the 'new' keyword\n\tif ( !(this instanceof jQuery.Event) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\t\t\t\t// Support: Android<4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && e.preventDefault ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopPropagation ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopImmediatePropagation ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// Support: Chrome 15+\njQuery.each({\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mousenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || (related !== target && !jQuery.contains( target, related )) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n});\n\n// Support: Firefox, Chrome, Safari\n// Create \"bubbling\" focus and blur events\nif ( !support.focusinBubbles ) {\n\tjQuery.each({ focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );\n\t\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = data_priv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdata_priv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = data_priv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdata_priv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdata_priv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n}\n\njQuery.fn.extend({\n\n\ton: function( types, selector, data, fn, /*INTERNAL*/ one ) {\n\t\tvar origFn, type;\n\n\t\t// Types can be a map of types/handlers\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-Object, selector, data )\n\t\t\tif ( typeof selector !== \"string\" ) {\n\t\t\t\t// ( types-Object, data )\n\t\t\t\tdata = data || selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.on( type, selector, data, types[ type ], one );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( data == null && fn == null ) {\n\t\t\t// ( types, fn )\n\t\t\tfn = selector;\n\t\t\tdata = selector = undefined;\n\t\t} else if ( fn == null ) {\n\t\t\tif ( typeof selector === \"string\" ) {\n\t\t\t\t// ( types, selector, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = undefined;\n\t\t\t} else {\n\t\t\t\t// ( types, data, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t} else if ( !fn ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( one === 1 ) {\n\t\t\torigFn = fn;\n\t\t\tfn = function( event ) {\n\t\t\t\t// Can use an empty set, since event contains the info\n\t\t\t\tjQuery().off( event );\n\t\t\t\treturn origFn.apply( this, arguments );\n\t\t\t};\n\t\t\t// Use same guid so caller can remove using origFn\n\t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.add( this, types, fn, data, selector );\n\t\t});\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn this.on( types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\t\t\t// ( event )  dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t});\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t});\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[0];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n});\n\n\nvar\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,\n\trtagName = /<([\\w:]+)/,\n\trhtml = /<|&#?\\w+;/,\n\trnoInnerhtml = /<(?:script|style|link)/i,\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptType = /^$|\\/(?:java|ecma)script/i,\n\trscriptTypeMasked = /^true\\/(.*)/,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g,\n\n\t// We have to close these tags to support XHTML (#13200)\n\twrapMap = {\n\n\t\t// Support: IE9\n\t\toption: [ 1, \"<select multiple='multiple'>\", \"</select>\" ],\n\n\t\tthead: [ 1, \"<table>\", \"</table>\" ],\n\t\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\t\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\t\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t\t_default: [ 0, \"\", \"\" ]\n\t};\n\n// Support: IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: 1.x compatibility\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName(\"tbody\")[0] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement(\"tbody\") ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = (elem.getAttribute(\"type\") !== null) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute(\"type\");\n\t}\n\n\treturn elem;\n}\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdata_priv.set(\n\t\t\telems[ i ], \"globalEval\", !refElements || data_priv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( data_priv.hasData( src ) ) {\n\t\tpdataOld = data_priv.access( src );\n\t\tpdataCur = data_priv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( data_user.hasData( src ) ) {\n\t\tudataOld = data_user.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdata_user.set( dest, udataCur );\n\t}\n}\n\nfunction getAll( context, tag ) {\n\tvar ret = context.getElementsByTagName ? context.getElementsByTagName( tag || \"*\" ) :\n\t\t\tcontext.querySelectorAll ? context.querySelectorAll( tag || \"*\" ) :\n\t\t\t[];\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], ret ) :\n\t\tret;\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\njQuery.extend({\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tbuildFragment: function( elems, context, scripts, selection ) {\n\t\tvar elem, tmp, tag, wrap, contains, j,\n\t\t\tfragment = context.createDocumentFragment(),\n\t\t\tnodes = [],\n\t\t\ti = 0,\n\t\t\tl = elems.length;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\telem = elems[ i ];\n\n\t\t\tif ( elem || elem === 0 ) {\n\n\t\t\t\t// Add nodes directly\n\t\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\t\t\t\t\t// Support: QtWebKit, PhantomJS\n\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t\t// Convert non-html into a text node\n\t\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t\t// Convert html into DOM nodes\n\t\t\t\t} else {\n\t\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement(\"div\") );\n\n\t\t\t\t\t// Deserialize a standard representation\n\t\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\t\ttmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, \"<$1></$2>\" ) + wrap[ 2 ];\n\n\t\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\t\tj = wrap[ 0 ];\n\t\t\t\t\twhile ( j-- ) {\n\t\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: QtWebKit, PhantomJS\n\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t\t// Remember the top-level container\n\t\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\t\ttmp.textContent = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remove wrapper from fragment\n\t\tfragment.textContent = \"\";\n\n\t\ti = 0;\n\t\twhile ( (elem = nodes[ i++ ]) ) {\n\n\t\t\t// #4087 - If origin and destination elements are the same, and this is\n\t\t\t// that element, do not do anything\n\t\t\tif ( selection && jQuery.inArray( elem, selection ) !== -1 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t\t// Append to fragment\n\t\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t\t// Preserve script evaluation history\n\t\t\tif ( contains ) {\n\t\t\t\tsetGlobalEval( tmp );\n\t\t\t}\n\n\t\t\t// Capture executables\n\t\t\tif ( scripts ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (elem = tmp[ j++ ]) ) {\n\t\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\t\tscripts.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn fragment;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type, key,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = elems[ i ]) !== undefined; i++ ) {\n\t\t\tif ( jQuery.acceptData( elem ) ) {\n\t\t\t\tkey = elem[ data_priv.expando ];\n\n\t\t\t\tif ( key && (data = data_priv.cache[ key ]) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( data_priv.cache[ key ] ) {\n\t\t\t\t\t\t// Discard any remaining `private` data\n\t\t\t\t\t\tdelete data_priv.cache[ key ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Discard any remaining `user` data\n\t\t\tdelete data_user.cache[ elem[ data_user.expando ] ];\n\t\t}\n\t}\n});\n\njQuery.fn.extend({\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each(function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t});\n\t},\n\n\tprepend: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t});\n\t},\n\n\tbefore: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t});\n\t},\n\n\tafter: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t});\n\t},\n\n\tremove: function( selector, keepData /* Internal Use Only */ ) {\n\t\tvar elem,\n\t\t\telems = selector ? jQuery.filter( selector, this ) : this,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\n\t\t\tif ( !keepData && elem.nodeType === 1 ) {\n\t\t\t\tjQuery.cleanData( getAll( elem ) );\n\t\t\t}\n\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\tif ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\t\t\tsetGlobalEval( getAll( elem, \"script\" ) );\n\t\t\t\t}\n\t\t\t\telem.parentNode.removeChild( elem );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = this[i]) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map(function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t});\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = value.replace( rxhtmlTag, \"<$1></$2>\" );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar arg = arguments[ 0 ];\n\n\t\t// Make the changes, replacing each context element with the new content\n\t\tthis.domManip( arguments, function( elem ) {\n\t\t\targ = this.parentNode;\n\n\t\t\tjQuery.cleanData( getAll( this ) );\n\n\t\t\tif ( arg ) {\n\t\t\t\targ.replaceChild( elem, this );\n\t\t\t}\n\t\t});\n\n\t\t// Force removal if there was no new content (e.g., from empty arguments)\n\t\treturn arg && (arg.length || arg.nodeType) ? this : this.remove();\n\t},\n\n\tdetach: function( selector ) {\n\t\treturn this.remove( selector, true );\n\t},\n\n\tdomManip: function( args, callback ) {\n\n\t\t// Flatten any nested arrays\n\t\targs = concat.apply( [], args );\n\n\t\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tset = this,\n\t\t\tiNoClone = l - 1,\n\t\t\tvalue = args[ 0 ],\n\t\t\tisFunction = jQuery.isFunction( value );\n\n\t\t// We can't cloneNode fragments that contain checked, in WebKit\n\t\tif ( isFunction ||\n\t\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\t\treturn this.each(function( index ) {\n\t\t\t\tvar self = set.eq( index );\n\t\t\t\tif ( isFunction ) {\n\t\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t\t}\n\t\t\t\tself.domManip( args, callback );\n\t\t\t});\n\t\t}\n\n\t\tif ( l ) {\n\t\t\tfragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );\n\t\t\tfirst = fragment.firstChild;\n\n\t\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\t\tfragment = first;\n\t\t\t}\n\n\t\t\tif ( first ) {\n\t\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\t\thasScripts = scripts.length;\n\n\t\t\t\t// Use the original fragment for the last item instead of the first because it can end up\n\t\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\tnode = fragment;\n\n\t\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\t\t\t// Support: QtWebKit\n\t\t\t\t\t\t\t// jQuery.merge because push.apply(_, arraylike) throws\n\t\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcallback.call( this[ i ], node, i );\n\t\t\t\t}\n\n\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t\t// Reenable scripts\n\t\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t\t!data_priv.access( node, \"globalEval\" ) && jQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\t\tif ( node.src ) {\n\t\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript, \"\" ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n});\n\njQuery.each({\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: QtWebKit\n\t\t\t// .get() because push.apply(_, arraylike) throws\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n});\n\n\nvar iframe,\n\telemdisplay = {};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar style,\n\t\telem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\t// getDefaultComputedStyle might be reliably used only on attached element\n\t\tdisplay = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?\n\n\t\t\t// Use of this method is a temporary fix (more like optimization) until something better comes along,\n\t\t\t// since it was removed from specification and supported only in FF\n\t\t\tstyle.display : jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = (iframe || jQuery( \"<iframe frameborder='0' width='0' height='0'/>\" )).appendTo( doc.documentElement );\n\n\t\t\t// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse\n\t\t\tdoc = iframe[ 0 ].contentDocument;\n\n\t\t\t// Support: IE\n\t\t\tdoc.write();\n\t\t\tdoc.close();\n\n\t\t\tdisplay = actualDisplay( nodeName, doc );\n\t\t\tiframe.detach();\n\t\t}\n\n\t\t// Store the correct default display\n\t\telemdisplay[ nodeName ] = display;\n\t}\n\n\treturn display;\n}\nvar rmargin = (/^margin/);\n\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\t\t// Support: IE<=11+, Firefox<=30+ (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tif ( elem.ownerDocument.defaultView.opener ) {\n\t\t\treturn elem.ownerDocument.defaultView.getComputedStyle( elem, null );\n\t\t}\n\n\t\treturn window.getComputedStyle( elem, null );\n\t};\n\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// Support: IE9\n\t// getPropertyValue is only needed for .css('filter') (#12537)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\t}\n\n\tif ( computed ) {\n\n\t\tif ( ret === \"\" && !jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// Support: iOS < 6\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// iOS < 6 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels\n\t\t// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values\n\t\tif ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\t\t// Support: IE\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn (this.get = hookFn).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\n(function() {\n\tvar pixelPositionVal, boxSizingReliableVal,\n\t\tdocElem = document.documentElement,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE9-11+\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tcontainer.style.cssText = \"border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;\" +\n\t\t\"position:absolute\";\n\tcontainer.appendChild( div );\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computePixelPositionAndBoxSizingReliable() {\n\t\tdiv.style.cssText =\n\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t// Vendor-prefix box-sizing\n\t\t\t\"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;\" +\n\t\t\t\"box-sizing:border-box;display:block;margin-top:1%;top:1%;\" +\n\t\t\t\"border:1px;padding:1px;width:4px;position:absolute\";\n\t\tdiv.innerHTML = \"\";\n\t\tdocElem.appendChild( container );\n\n\t\tvar divStyle = window.getComputedStyle( div, null );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\t\tboxSizingReliableVal = divStyle.width === \"4px\";\n\n\t\tdocElem.removeChild( container );\n\t}\n\n\t// Support: node.js jsdom\n\t// Don't assume that getComputedStyle is a property of the global object\n\tif ( window.getComputedStyle ) {\n\t\tjQuery.extend( support, {\n\t\t\tpixelPosition: function() {\n\n\t\t\t\t// This test is executed only once but we still do memoizing\n\t\t\t\t// since we can use the boxSizingReliable pre-computing.\n\t\t\t\t// No need to check if the test was already performed, though.\n\t\t\t\tcomputePixelPositionAndBoxSizingReliable();\n\t\t\t\treturn pixelPositionVal;\n\t\t\t},\n\t\t\tboxSizingReliable: function() {\n\t\t\t\tif ( boxSizingReliableVal == null ) {\n\t\t\t\t\tcomputePixelPositionAndBoxSizingReliable();\n\t\t\t\t}\n\t\t\t\treturn boxSizingReliableVal;\n\t\t\t},\n\t\t\treliableMarginRight: function() {\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Check if div with explicit width and no margin-right incorrectly\n\t\t\t\t// gets computed margin-right based on width of container. (#3333)\n\t\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\t\t// This support function is only executed once so no memoizing is needed.\n\t\t\t\tvar ret,\n\t\t\t\t\tmarginDiv = div.appendChild( document.createElement( \"div\" ) );\n\n\t\t\t\t// Reset CSS: box-sizing; display; margin; border; padding\n\t\t\t\tmarginDiv.style.cssText = div.style.cssText =\n\t\t\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\t\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;\" +\n\t\t\t\t\t\"box-sizing:content-box;display:block;margin:0;border:0;padding:0\";\n\t\t\t\tmarginDiv.style.marginRight = marginDiv.style.width = \"0\";\n\t\t\t\tdiv.style.width = \"1px\";\n\t\t\t\tdocElem.appendChild( container );\n\n\t\t\t\tret = !parseFloat( window.getComputedStyle( marginDiv, null ).marginRight );\n\n\t\t\t\tdocElem.removeChild( container );\n\t\t\t\tdiv.removeChild( marginDiv );\n\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t});\n\t}\n})();\n\n\n// A method for quickly swapping in/out CSS properties to get correct calculations.\njQuery.swap = function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar\n\t// Swappable if display is none or starts with table except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trnumsplit = new RegExp( \"^(\" + pnum + \")(.*)$\", \"i\" ),\n\trrelNum = new RegExp( \"^([+-])=(\" + pnum + \")\", \"i\" ),\n\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t},\n\n\tcssPrefixes = [ \"Webkit\", \"O\", \"Moz\", \"ms\" ];\n\n// Return a css property mapped to a potentially vendor prefixed property\nfunction vendorPropName( style, name ) {\n\n\t// Shortcut for names that are not vendor prefixed\n\tif ( name in style ) {\n\t\treturn name;\n\t}\n\n\t// Check for vendor prefixed names\n\tvar capName = name[0].toUpperCase() + name.slice(1),\n\t\torigName = name,\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in style ) {\n\t\t\treturn name;\n\t\t}\n\t}\n\n\treturn origName;\n}\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\tvar matches = rnumsplit.exec( value );\n\treturn matches ?\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {\n\tvar i = extra === ( isBorderBox ? \"border\" : \"content\" ) ?\n\t\t// If we already have the right measurement, avoid augmentation\n\t\t4 :\n\t\t// Otherwise initialize for horizontal or vertical properties\n\t\tname === \"width\" ? 1 : 0,\n\n\t\tval = 0;\n\n\tfor ( ; i < 4; i += 2 ) {\n\t\t// Both box models exclude margin, so add it if we want it\n\t\tif ( extra === \"margin\" ) {\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\tif ( isBorderBox ) {\n\t\t\t// border-box includes padding, so remove it if we want content\n\t\t\tif ( extra === \"content\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// At this point, extra isn't border nor margin, so remove border\n\t\t\tif ( extra !== \"margin\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t} else {\n\t\t\t// At this point, extra isn't content, so add padding\n\t\t\tval += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// At this point, extra isn't content nor padding, so add border\n\t\t\tif ( extra !== \"padding\" ) {\n\t\t\t\tval += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn val;\n}\n\nfunction getWidthOrHeight( elem, name, extra ) {\n\n\t// Start with offset property, which is equivalent to the border-box value\n\tvar valueIsBorderBox = true,\n\t\tval = name === \"width\" ? elem.offsetWidth : elem.offsetHeight,\n\t\tstyles = getStyles( elem ),\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t// Some non-html elements return undefined for offsetWidth, so check for null/undefined\n\t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\n\t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668\n\tif ( val <= 0 || val == null ) {\n\t\t// Fall back to computed then uncomputed css if necessary\n\t\tval = curCSS( elem, name, styles );\n\t\tif ( val < 0 || val == null ) {\n\t\t\tval = elem.style[ name ];\n\t\t}\n\n\t\t// Computed unit is not pixels. Stop here and return.\n\t\tif ( rnumnonpx.test(val) ) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// Check for style in case a browser which returns unreliable values\n\t\t// for getComputedStyle silently falls back to the reliable elem.style\n\t\tvalueIsBorderBox = isBorderBox &&\n\t\t\t( support.boxSizingReliable() || val === elem.style[ name ] );\n\n\t\t// Normalize \"\", auto, and prepare for extra\n\t\tval = parseFloat( val ) || 0;\n\t}\n\n\t// Use the active box-sizing model to add/subtract irrelevant styles\n\treturn ( val +\n\t\taugmentWidthOrHeight(\n\t\t\telem,\n\t\t\tname,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles\n\t\t)\n\t) + \"px\";\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem, hidden,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tvalues[ index ] = data_priv.get( elem, \"olddisplay\" );\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\t\t\t// Reset the inline display of this element to learn if it is\n\t\t\t// being hidden by cascaded rules or not\n\t\t\tif ( !values[ index ] && display === \"none\" ) {\n\t\t\t\telem.style.display = \"\";\n\t\t\t}\n\n\t\t\t// Set elements which have been overridden with display: none\n\t\t\t// in a stylesheet to whatever the default browser style is\n\t\t\t// for such an element\n\t\t\tif ( elem.style.display === \"\" && isHidden( elem ) ) {\n\t\t\t\tvalues[ index ] = data_priv.access( elem, \"olddisplay\", defaultDisplay(elem.nodeName) );\n\t\t\t}\n\t\t} else {\n\t\t\thidden = isHidden( elem );\n\n\t\t\tif ( display !== \"none\" || !hidden ) {\n\t\t\t\tdata_priv.set( elem, \"olddisplay\", hidden ? display : jQuery.css( elem, \"display\" ) );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of most of the elements in a second loop\n\t// to avoid the constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( !show || elem.style.display === \"none\" || elem.style.display === \"\" ) {\n\t\t\telem.style.display = show ? values[ index ] || \"\" : \"none\";\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.extend({\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {\n\t\t\"float\": \"cssFloat\"\n\t},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tstyle = elem.style;\n\n\t\tname = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && (ret = rrelNum.exec( value )) ) {\n\t\t\t\tvalue = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number, add 'px' to the (except for certain CSS properties)\n\t\t\tif ( type === \"number\" && !jQuery.cssNumber[ origName ] ) {\n\t\t\t\tvalue += \"px\";\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !(\"set\" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {\n\t\t\t\tstyle[ name ] = value;\n\t\t\t}\n\n\t\t} else {\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = jQuery.camelCase( name );\n\n\t\t// Make sure that we're working with the right name\n\t\tname = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || jQuery.isNumeric( num ) ? num || 0 : val;\n\t\t}\n\t\treturn val;\n\t}\n});\n\njQuery.each([ \"height\", \"width\" ], function( i, name ) {\n\tjQuery.cssHooks[ name ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) && elem.offsetWidth === 0 ?\n\t\t\t\t\tjQuery.swap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t\t}) :\n\t\t\t\t\tgetWidthOrHeight( elem, name, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar styles = extra && getStyles( elem );\n\t\t\treturn setPositiveNumber( elem, value, extra ?\n\t\t\t\taugmentWidthOrHeight(\n\t\t\t\t\telem,\n\t\t\t\t\tname,\n\t\t\t\t\textra,\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\t\tstyles\n\t\t\t\t) : 0\n\t\t\t);\n\t\t}\n\t};\n});\n\n// Support: Android 2.3\njQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn jQuery.swap( elem, { \"display\": \"inline-block\" },\n\t\t\t\tcurCSS, [ elem, \"marginRight\" ] );\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each({\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split(\" \") : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( !rmargin.test( prefix ) ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n});\n\njQuery.fn.extend({\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( jQuery.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t},\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tif ( isHidden( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t});\n\t}\n});\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || \"swing\";\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\tif ( tween.elem[ tween.prop ] != null &&\n\t\t\t\t(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE9\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t}\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back Compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, timerId,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trfxnum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" ),\n\trrun = /queueHooks$/,\n\tanimationPrefilters = [ defaultPrefilter ],\n\ttweeners = {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value ),\n\t\t\t\ttarget = tween.cur(),\n\t\t\t\tparts = rfxnum.exec( value ),\n\t\t\t\tunit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t\t\t// Starting value computation is required for potential unit mismatches\n\t\t\t\tstart = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +target ) &&\n\t\t\t\t\trfxnum.exec( jQuery.css( tween.elem, prop ) ),\n\t\t\t\tscale = 1,\n\t\t\t\tmaxIterations = 20;\n\n\t\t\tif ( start && start[ 3 ] !== unit ) {\n\t\t\t\t// Trust units reported by jQuery.css\n\t\t\t\tunit = unit || start[ 3 ];\n\n\t\t\t\t// Make sure we update the tween properties later on\n\t\t\t\tparts = parts || [];\n\n\t\t\t\t// Iteratively approximate from a nonzero starting point\n\t\t\t\tstart = +target || 1;\n\n\t\t\t\tdo {\n\t\t\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\t\t\tscale = scale || \".5\";\n\n\t\t\t\t\t// Adjust and apply\n\t\t\t\t\tstart = start / scale;\n\t\t\t\t\tjQuery.style( tween.elem, prop, start + unit );\n\n\t\t\t\t// Update scale, tolerating zero or NaN from tween.cur(),\n\t\t\t\t// break the loop if scale is unchanged or perfect, or if we've just had enough\n\t\t\t\t} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );\n\t\t\t}\n\n\t\t\t// Update tween properties\n\t\t\tif ( parts ) {\n\t\t\t\tstart = tween.start = +start || +target || 0;\n\t\t\t\ttween.unit = unit;\n\t\t\t\t// If a +=/-= token was provided, we're doing a relative animation\n\t\t\t\ttween.end = parts[ 1 ] ?\n\t\t\t\t\tstart + ( parts[ 1 ] + 1 ) * parts[ 2 ] :\n\t\t\t\t\t+parts[ 2 ];\n\t\t\t}\n\n\t\t\treturn tween;\n\t\t} ]\n\t};\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\tsetTimeout(function() {\n\t\tfxNow = undefined;\n\t});\n\treturn ( fxNow = jQuery.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4 ; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( tweeners[ prop ] || [] ).concat( tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( (tween = collection[ index ].call( animation, prop, value )) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\t/* jshint validthis: true */\n\tvar prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHidden( elem ),\n\t\tdataShow = data_priv.get( elem, \"fxshow\" );\n\n\t// Handle queue: false promises\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always(function() {\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always(function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t// Height/width overflow pass\n\tif ( elem.nodeType === 1 && ( \"height\" in props || \"width\" in props ) ) {\n\t\t// Make sure that nothing sneaks out\n\t\t// Record all 3 overflow attributes because IE9-10 do not\n\t\t// change the overflow attribute when overflowX and\n\t\t// overflowY are set to the same value\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Set display property to inline-block for height/width\n\t\t// animations on inline elements that are having width/height animated\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\n\t\t// Test default display if display is currently \"none\"\n\t\tcheckDisplay = display === \"none\" ?\n\t\t\tdata_priv.get( elem, \"olddisplay\" ) || defaultDisplay( elem.nodeName ) : display;\n\n\t\tif ( checkDisplay === \"inline\" && jQuery.css( elem, \"float\" ) === \"none\" ) {\n\t\t\tstyle.display = \"inline-block\";\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always(function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t});\n\t}\n\n\t// show/hide pass\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.exec( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\n\t\t// Any non-fx value stops us from restoring the original display value\n\t\t} else {\n\t\t\tdisplay = undefined;\n\t\t}\n\t}\n\n\tif ( !jQuery.isEmptyObject( orig ) ) {\n\t\tif ( dataShow ) {\n\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\thidden = dataShow.hidden;\n\t\t\t}\n\t\t} else {\n\t\t\tdataShow = data_priv.access( elem, \"fxshow\", {} );\n\t\t}\n\n\t\t// Store state if its toggle - enables .stop().toggle() to \"reverse\"\n\t\tif ( toggle ) {\n\t\t\tdataShow.hidden = !hidden;\n\t\t}\n\t\tif ( hidden ) {\n\t\t\tjQuery( elem ).show();\n\t\t} else {\n\t\t\tanim.done(function() {\n\t\t\t\tjQuery( elem ).hide();\n\t\t\t});\n\t\t}\n\t\tanim.done(function() {\n\t\t\tvar prop;\n\n\t\t\tdata_priv.remove( elem, \"fxshow\" );\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t}\n\t\t});\n\t\tfor ( prop in orig ) {\n\t\t\ttween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\n\t\t\tif ( !( prop in dataShow ) ) {\n\t\t\t\tdataShow[ prop ] = tween.start;\n\t\t\t\tif ( hidden ) {\n\t\t\t\t\ttween.end = tween.start;\n\t\t\t\t\ttween.start = prop === \"width\" || prop === \"height\" ? 1 : 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t// If this is a noop like .hide().hide(), restore an overwritten display value\n\t} else if ( (display === \"none\" ? defaultDisplay( elem.nodeName ) : display) === \"inline\" ) {\n\t\tstyle.display = display;\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = jQuery.camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( jQuery.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = animationPrefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t}),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ]);\n\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t} else {\n\t\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tanimation = deferred.promise({\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, { specialEasing: {} }, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length ; index++ ) {\n\t\tresult = animationPrefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t})\n\t);\n\n\t// attach callbacks from options\n\treturn animation.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweener: function( props, callback ) {\n\t\tif ( jQuery.isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.split(\" \");\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length ; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\ttweeners[ prop ] = tweeners[ prop ] || [];\n\t\t\ttweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tanimationPrefilters.unshift( callback );\n\t\t} else {\n\t\t\tanimationPrefilters.push( callback );\n\t\t}\n\t}\n});\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tjQuery.isFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\n\t};\n\n\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ? opt.duration :\n\t\topt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( jQuery.isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend({\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHidden ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate({ opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || data_priv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = data_priv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t});\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each(function() {\n\t\t\tvar index,\n\t\t\t\tdata = data_priv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t});\n\t}\n});\n\njQuery.each([ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n});\n\n// Generate shortcuts for custom animations\njQuery.each({\n\tslideDown: genFx(\"show\"),\n\tslideUp: genFx(\"hide\"),\n\tslideToggle: genFx(\"toggle\"),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n});\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = jQuery.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\t\t// Checks the timer has not already been removed\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tif ( timer() ) {\n\t\tjQuery.fx.start();\n\t} else {\n\t\tjQuery.timers.pop();\n\t}\n};\n\njQuery.fx.interval = 13;\n\njQuery.fx.start = function() {\n\tif ( !timerId ) {\n\t\ttimerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );\n\t}\n};\n\njQuery.fx.stop = function() {\n\tclearInterval( timerId );\n\ttimerId = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\tclearTimeout( timeout );\n\t\t};\n\t});\n};\n\n\n(function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: iOS<=5.1, Android<=4.2+\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE<=11+\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: Android<=2.3\n\t// Options inside disabled selects are incorrectly marked as disabled\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Support: IE<=11+\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n})();\n\n\nvar nodeHook, boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend({\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t});\n\t}\n});\n\njQuery.extend({\n\tattr: function( elem, name, value ) {\n\t\tvar hooks, ret,\n\t\t\tnType = elem.nodeType;\n\n\t\t// don't get/set attributes on text, comment and attribute nodes\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === strundefined ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// All attributes are lowercase\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\tname = name.toLowerCase();\n\t\t\thooks = jQuery.attrHooks[ name ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\n\t\t\t} else if ( hooks && \"set\" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {\n\t\t\t\treturn ret;\n\n\t\t\t} else {\n\t\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t} else if ( hooks && \"get\" in hooks && (ret = hooks.get( elem, name )) !== null ) {\n\t\t\treturn ret;\n\n\t\t} else {\n\t\t\tret = jQuery.find.attr( elem, name );\n\n\t\t\t// Non-existent attributes return null, we normalize to undefined\n\t\t\treturn ret == null ?\n\t\t\t\tundefined :\n\t\t\t\tret;\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name, propName,\n\t\t\ti = 0,\n\t\t\tattrNames = value && value.match( rnotwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( (name = attrNames[i++]) ) {\n\t\t\t\tpropName = jQuery.propFix[ name ] || name;\n\n\t\t\t\t// Boolean attributes get special treatment (#10870)\n\t\t\t\tif ( jQuery.expr.match.bool.test( name ) ) {\n\t\t\t\t\t// Set corresponding property to false\n\t\t\t\t\telem[ propName ] = false;\n\t\t\t\t}\n\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tjQuery.nodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n});\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle;\n\t\tif ( !isXML ) {\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ name ];\n\t\t\tattrHandle[ name ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tname.toLowerCase() :\n\t\t\t\tnull;\n\t\t\tattrHandle[ name ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n});\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i;\n\njQuery.fn.extend({\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each(function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t});\n\t}\n});\n\njQuery.extend({\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t},\n\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks, notxml,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\n\n\t\tif ( notxml ) {\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\treturn hooks && \"set\" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ?\n\t\t\t\tret :\n\t\t\t\t( elem[ name ] = value );\n\n\t\t} else {\n\t\t\treturn hooks && \"get\" in hooks && (ret = hooks.get( elem, name )) !== null ?\n\t\t\t\tret :\n\t\t\t\telem[ name ];\n\t\t}\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\t\t\t\treturn elem.hasAttribute( \"tabindex\" ) || rfocusable.test( elem.nodeName ) || elem.href ?\n\t\t\t\t\telem.tabIndex :\n\t\t\t\t\t-1;\n\t\t\t}\n\t\t}\n\t}\n});\n\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\njQuery.each([\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n});\n\n\n\n\nvar rclass = /[\\t\\r\\n\\f]/g;\n\njQuery.fn.extend({\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, clazz, j, finalValue,\n\t\t\tproceed = typeof value === \"string\" && value,\n\t\t\ti = 0,\n\t\t\tlen = this.length;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, this.className ) );\n\t\t\t});\n\t\t}\n\n\t\tif ( proceed ) {\n\t\t\t// The disjunction here is for better compressibility (see removeClass)\n\t\t\tclasses = ( value || \"\" ).match( rnotwhite ) || [];\n\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\telem = this[ i ];\n\t\t\t\tcur = elem.nodeType === 1 && ( elem.className ?\n\t\t\t\t\t( \" \" + elem.className + \" \" ).replace( rclass, \" \" ) :\n\t\t\t\t\t\" \"\n\t\t\t\t);\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (clazz = classes[j++]) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( elem.className !== finalValue ) {\n\t\t\t\t\t\telem.className = finalValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, clazz, j, finalValue,\n\t\t\tproceed = arguments.length === 0 || typeof value === \"string\" && value,\n\t\t\ti = 0,\n\t\t\tlen = this.length;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, this.className ) );\n\t\t\t});\n\t\t}\n\t\tif ( proceed ) {\n\t\t\tclasses = ( value || \"\" ).match( rnotwhite ) || [];\n\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\telem = this[ i ];\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( elem.className ?\n\t\t\t\t\t( \" \" + elem.className + \" \" ).replace( rclass, \" \" ) :\n\t\t\t\t\t\"\"\n\t\t\t\t);\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (clazz = classes[j++]) ) {\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) >= 0 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = value ? jQuery.trim( cur ) : \"\";\n\t\t\t\t\tif ( elem.className !== finalValue ) {\n\t\t\t\t\t\telem.className = finalValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value;\n\n\t\tif ( typeof stateVal === \"boolean\" && type === \"string\" ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each(function( i ) {\n\t\t\t\tjQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );\n\t\t\t});\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tif ( type === \"string\" ) {\n\t\t\t\t// Toggle individual class names\n\t\t\t\tvar className,\n\t\t\t\t\ti = 0,\n\t\t\t\t\tself = jQuery( this ),\n\t\t\t\t\tclassNames = value.match( rnotwhite ) || [];\n\n\t\t\t\twhile ( (className = classNames[ i++ ]) ) {\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( type === strundefined || type === \"boolean\" ) {\n\t\t\t\tif ( this.className ) {\n\t\t\t\t\t// store className if set\n\t\t\t\t\tdata_priv.set( this, \"__className__\", this.className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tthis.className = this.className || value === false ? \"\" : data_priv.get( this, \"__className__\" ) || \"\";\n\t\t\t}\n\t\t});\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className = \" \" + selector + \" \",\n\t\t\ti = 0,\n\t\t\tl = this.length;\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tif ( this[i].nodeType === 1 && (\" \" + this[i].className + \" \").replace(rclass, \" \").indexOf( className ) >= 0 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n});\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend({\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[0];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, \"value\" )) !== undefined ) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\treturn typeof ret === \"string\" ?\n\t\t\t\t\t// Handle most common string cases\n\t\t\t\t\tret.replace(rreturn, \"\") :\n\t\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\t\tret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each(function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( jQuery.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !(\"set\" in hooks) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t});\n\t}\n});\n\njQuery.extend({\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\t\t\t\t\t// Support: IE10-11+\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\tjQuery.trim( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\" || index < 0,\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length,\n\t\t\t\t\ti = index < 0 ?\n\t\t\t\t\t\tmax :\n\t\t\t\t\t\tone ? index : 0;\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// IE6-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t( support.optDisabled ? !option.disabled : option.getAttribute( \"disabled\" ) === null ) &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\t\t\t\t\tif ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n});\n\n// Radios and checkboxes getter/setter\njQuery.each([ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( jQuery.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute(\"value\") === null ? \"on\" : elem.value;\n\t\t};\n\t}\n});\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\njQuery.each( (\"blur focus focusin focusout load resize scroll unload click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup error contextmenu\").split(\" \"), function( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n});\n\njQuery.fn.extend({\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t},\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ? this.off( selector, \"**\" ) : this.off( types, selector || \"**\", fn );\n\t}\n});\n\n\nvar nonce = jQuery.now();\n\nvar rquery = (/\\?/);\n\n\n\n// Support: Android 2.3\n// Workaround failure to string-cast null input\njQuery.parseJSON = function( data ) {\n\treturn JSON.parse( data + \"\" );\n};\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, tmp;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE9\n\ttry {\n\t\ttmp = new DOMParser();\n\t\txml = tmp.parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\n\tif ( !xml || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trhash = /#.*$/,\n\trts = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\trurl = /^([\\w.+-]+:)(?:\\/\\/(?:[^\\/?#]*@|)([^\\/?#:]*)(?::(\\d+)|)|)/,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t *    - BEFORE asking for a transport\n\t *    - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Document location\n\tajaxLocation = window.location.href,\n\n\t// Segment location into parts\n\tajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];\n\n\t\tif ( jQuery.isFunction( func ) ) {\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( (dataType = dataTypes[i++]) ) {\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[0] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t(structure[ dataType ] = structure[ dataType ] || []).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t(structure[ dataType ] = structure[ dataType ] || []).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t});\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader(\"Content-Type\");\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[0] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s[ \"throws\" ] ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn { state: \"parsererror\", error: conv ? e : \"No conversion from \" + prev + \" to \" + current };\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend({\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: ajaxLocation,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /xml/,\n\t\t\thtml: /html/,\n\t\t\tjson: /json/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": jQuery.parseJSON,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\t\t\t// Cross-domain detection vars\n\t\t\tparts,\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\t\t\t// Loop variable\n\t\t\ti,\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks(\"once memory\"),\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\t\t\t// The jqXHR state\n\t\t\tstate = 0,\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( state === 2 ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( (match = rheaders.exec( responseHeadersString )) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[1].toLowerCase() ] = match[ 2 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match;\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn state === 2 ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tvar lname = name.toLowerCase();\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\tname = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\t// Lazy-add the new callback in a way that preserves old ones\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR ).complete = completeDeferred.add;\n\t\tjqXHR.success = jqXHR.done;\n\t\tjqXHR.error = jqXHR.fail;\n\n\t\t// Remove hash character (#7531: and string promotion)\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || ajaxLocation ) + \"\" ).replace( rhash, \"\" )\n\t\t\t.replace( rprotocol, ajaxLocParts[ 1 ] + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = jQuery.trim( s.dataType || \"*\" ).toLowerCase().match( rnotwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when we have a protocol:host:port mismatch\n\t\tif ( s.crossDomain == null ) {\n\t\t\tparts = rurl.exec( s.url.toLowerCase() );\n\t\t\ts.crossDomain = !!( parts &&\n\t\t\t\t( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||\n\t\t\t\t\t( parts[ 3 ] || ( parts[ 1 ] === \"http:\" ? \"80\" : \"443\" ) ) !==\n\t\t\t\t\t\t( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === \"http:\" ? \"80\" : \"443\" ) ) )\n\t\t\t);\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( state === 2 ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger(\"ajaxStart\");\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\tcacheURL = s.url;\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// If data is available, append data to url\n\t\t\tif ( s.data ) {\n\t\t\t\tcacheURL = ( s.url += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data );\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add anti-cache in url if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\ts.url = rts.test( cacheURL ) ?\n\n\t\t\t\t\t// If there is already a '_' parameter, set its value\n\t\t\t\t\tcacheURL.replace( rts, \"$1_=\" + nonce++ ) :\n\n\t\t\t\t\t// Otherwise add one to the end\n\t\t\t\t\tcacheURL + ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + nonce++;\n\t\t\t}\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\n\t\t\tjqXHR[ i ]( s[ i ] );\n\t\t}\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = setTimeout(function() {\n\t\t\t\t\tjqXHR.abort(\"timeout\");\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tstate = 1;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\t\t\t\t// Propagate exception as error if not done\n\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\tdone( -1, e );\n\t\t\t\t// Simply rethrow otherwise\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Called once\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// State is \"done\" now\n\t\t\tstate = 2;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\tclearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader(\"Last-Modified\");\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader(\"etag\");\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger(\"ajaxStop\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n});\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\treturn jQuery.ajax({\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t});\n\t};\n});\n\n\njQuery._evalUrl = function( url ) {\n\treturn jQuery.ajax({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tasync: false,\n\t\tglobal: false,\n\t\t\"throws\": true\n\t});\n};\n\n\njQuery.fn.extend({\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each(function( i ) {\n\t\t\t\tjQuery( this ).wrapAll( html.call(this, i) );\n\t\t\t});\n\t\t}\n\n\t\tif ( this[ 0 ] ) {\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map(function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t}).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each(function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call(this, i) );\n\t\t\t});\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t});\n\t},\n\n\twrap: function( html ) {\n\t\tvar isFunction = jQuery.isFunction( html );\n\n\t\treturn this.each(function( i ) {\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );\n\t\t});\n\t},\n\n\tunwrap: function() {\n\t\treturn this.parent().each(function() {\n\t\t\tif ( !jQuery.nodeName( this, \"body\" ) ) {\n\t\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t\t}\n\t\t}).end();\n\t}\n});\n\n\njQuery.expr.filters.hidden = function( elem ) {\n\t// Support: Opera <= 12.12\n\t// Opera reports offsetWidths and offsetHeights less than zero on some elements\n\treturn elem.offsetWidth <= 0 && elem.offsetHeight <= 0;\n};\njQuery.expr.filters.visible = function( elem ) {\n\treturn !jQuery.expr.filters.hidden( elem );\n};\n\n\n\n\nvar r20 = /%20/g,\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( jQuery.isArray( obj ) ) {\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams( prefix + \"[\" + ( typeof v === \"object\" ? i : \"\" ) + \"]\", v, traditional, add );\n\t\t\t}\n\t\t});\n\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, value ) {\n\t\t\t// If value is a function, invoke it and return its value\n\t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value == null ? \"\" : value );\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" + encodeURIComponent( value );\n\t\t};\n\n\t// Set traditional to true for jQuery <= 1.3.2 behavior.\n\tif ( traditional === undefined ) {\n\t\ttraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t});\n\n\t} else {\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" ).replace( r20, \"+\" );\n};\n\njQuery.fn.extend({\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map(function() {\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t})\n\t\t.filter(function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t})\n\t\t.map(function( i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\treturn val == null ?\n\t\t\t\tnull :\n\t\t\t\tjQuery.isArray( val ) ?\n\t\t\t\t\tjQuery.map( val, function( val ) {\n\t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t\t}) :\n\t\t\t\t\t{ name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t}).get();\n\t}\n});\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new XMLHttpRequest();\n\t} catch( e ) {}\n};\n\nvar xhrId = 0,\n\txhrCallbacks = {},\n\txhrSuccessStatus = {\n\t\t// file protocol always yields status code 0, assume 200\n\t\t0: 200,\n\t\t// Support: IE9\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\n// Support: IE9\n// Open requests must be manually aborted on unload (#5280)\n// See https://support.microsoft.com/kb/2856746 for more info\nif ( window.attachEvent ) {\n\twindow.attachEvent( \"onunload\", function() {\n\t\tfor ( var key in xhrCallbacks ) {\n\t\t\txhrCallbacks[ key ]();\n\t\t}\n\t});\n}\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport(function( options ) {\n\tvar callback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr(),\n\t\t\t\t\tid = ++xhrId;\n\n\t\t\t\txhr.open( options.type, options.url, options.async, options.username, options.password );\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[\"X-Requested-With\"] ) {\n\t\t\t\t\theaders[\"X-Requested-With\"] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tdelete xhrCallbacks[ id ];\n\t\t\t\t\t\t\tcallback = xhr.onload = xhr.onerror = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\t// file: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\t\t\t\t\t\t\t\t\t// Support: IE9\n\t\t\t\t\t\t\t\t\t// Accessing binary-data responseText throws an exception\n\t\t\t\t\t\t\t\t\t// (#11426)\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText === \"string\" ? {\n\t\t\t\t\t\t\t\t\t\ttext: xhr.responseText\n\t\t\t\t\t\t\t\t\t} : undefined,\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\txhr.onerror = callback(\"error\");\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = xhrCallbacks[ id ] = callback(\"abort\");\n\n\t\t\t\ttry {\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n});\n\n\n\n\n// Install script dataType\njQuery.ajaxSetup({\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /(?:java|ecma)script/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n});\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n});\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\t// This transport only deals with cross domain requests\n\tif ( s.crossDomain ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery(\"<script>\").prop({\n\t\t\t\t\tasync: true,\n\t\t\t\t\tcharset: s.scriptCharset,\n\t\t\t\t\tsrc: s.url\n\t\t\t\t}).on(\n\t\t\t\t\t\"load error\",\n\t\t\t\t\tcallback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n});\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup({\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n});\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" && !( s.contentType || \"\" ).indexOf(\"application/x-www-form-urlencoded\") && rjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[\"script json\"] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always(function() {\n\t\t\t// Restore preexisting value\n\t\t\twindow[ callbackName ] = overwritten;\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\t\t\t\t// make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t});\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n});\n\n\n\n\n// data: string of html\n// context (optional): If specified, the fragment will be created in this context, defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\tcontext = context || document;\n\n\tvar parsed = rsingleTag.exec( data ),\n\t\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[1] ) ];\n\t}\n\n\tparsed = jQuery.buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n// Keep a copy of the old load method\nvar _load = jQuery.fn.load;\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tif ( typeof url !== \"string\" && _load ) {\n\t\treturn _load.apply( this, arguments );\n\t}\n\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf(\" \");\n\n\tif ( off >= 0 ) {\n\t\tselector = jQuery.trim( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( jQuery.isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax({\n\t\t\turl: url,\n\n\t\t\t// if \"type\" variable is undefined, then \"GET\" method will be used\n\t\t\ttype: type,\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t}).done(function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery(\"<div>\").append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t}).complete( callback && function( jqXHR, status ) {\n\t\t\tself.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t});\n\t}\n\n\treturn this;\n};\n\n\n\n\n// Attach a bunch of functions for handling common AJAX events\njQuery.each( [ \"ajaxStart\", \"ajaxStop\", \"ajaxComplete\", \"ajaxError\", \"ajaxSuccess\", \"ajaxSend\" ], function( i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n});\n\n\n\n\njQuery.expr.filters.animated = function( elem ) {\n\treturn jQuery.grep(jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t}).length;\n};\n\n\n\n\nvar docElem = window.document.documentElement;\n\n/**\n * Gets a window from an element\n */\nfunction getWindow( elem ) {\n\treturn jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;\n}\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf(\"auto\") > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( jQuery.isFunction( options ) ) {\n\t\t\toptions = options.call( elem, i, curOffset );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend({\n\toffset: function( options ) {\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each(function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t});\n\t\t}\n\n\t\tvar docElem, win,\n\t\t\telem = this[ 0 ],\n\t\t\tbox = { top: 0, left: 0 },\n\t\t\tdoc = elem && elem.ownerDocument;\n\n\t\tif ( !doc ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocElem = doc.documentElement;\n\n\t\t// Make sure it's not a disconnected DOM node\n\t\tif ( !jQuery.contains( docElem, elem ) ) {\n\t\t\treturn box;\n\t\t}\n\n\t\t// Support: BlackBerry 5, iOS 3 (original iPhone)\n\t\t// If we don't have gBCR, just use 0,0 rather than error\n\t\tif ( typeof elem.getBoundingClientRect !== strundefined ) {\n\t\t\tbox = elem.getBoundingClientRect();\n\t\t}\n\t\twin = getWindow( doc );\n\t\treturn {\n\t\t\ttop: box.top + win.pageYOffset - docElem.clientTop,\n\t\t\tleft: box.left + win.pageXOffset - docElem.clientLeft\n\t\t};\n\t},\n\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\t\t\t// Assume getBoundingClientRect is there when computed position is fixed\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\t\t\t// Get *real* offsetParent\n\t\t\toffsetParent = this.offsetParent();\n\n\t\t\t// Get correct offsets\n\t\t\toffset = this.offset();\n\t\t\tif ( !jQuery.nodeName( offsetParent[ 0 ], \"html\" ) ) {\n\t\t\t\tparentOffset = offsetParent.offset();\n\t\t\t}\n\n\t\t\t// Add offsetParent borders\n\t\t\tparentOffset.top += jQuery.css( offsetParent[ 0 ], \"borderTopWidth\", true );\n\t\t\tparentOffset.left += jQuery.css( offsetParent[ 0 ], \"borderLeftWidth\", true );\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\toffsetParent: function() {\n\t\treturn this.map(function() {\n\t\t\tvar offsetParent = this.offsetParent || docElem;\n\n\t\t\twhile ( offsetParent && ( !jQuery.nodeName( offsetParent, \"html\" ) && jQuery.css( offsetParent, \"position\" ) === \"static\" ) ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || docElem;\n\t\t});\n\t}\n});\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\t\t\tvar win = getWindow( elem );\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : window.pageXOffset,\n\t\t\t\t\ttop ? val : window.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length, null );\n\t};\n});\n\n// Support: Safari<7+, Chrome<37+\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n});\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name }, function( defaultExtra, funcName ) {\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( jQuery.isWindow( elem ) ) {\n\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\n\t\t\t\t\t// isn't a whole lot we can do. See pull request at this URL for discussion:\n\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n\t\t\t\t\treturn elem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable, null );\n\t\t};\n\t});\n});\n\n\n// The number of elements contained in the matched element set\njQuery.fn.size = function() {\n\treturn this.length;\n};\n\njQuery.fn.andSelf = jQuery.fn.addBack;\n\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t});\n}\n\n\n\n\nvar\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\nif ( typeof noGlobal === strundefined ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\n\n\n\nreturn jQuery;\n\n}));\n"],"sourceRoot":"../../vendors"}
\ No newline at end of file
diff --git a/dist/smileys/ange.png b/dist/smileys/ange.png
new file mode 100644
index 0000000000000000000000000000000000000000..97d79d3caf7ecd4e10ac5f772f0fcce0dad6224c
GIT binary patch
literal 583
zcmeAS@N?(olHy`uVBq!ia0vp^sz5Bp!OXzG$i8yw5+Elnz$e6YMVZz0>E8eUZ}@*O
z^Z)UJ|J!2!Z;ASUv*rKQ`u{&y{(m*&|HYdBJL3PpoBMxP;{PWT{~yWyzc=;&x26Ao
zulaws^Z&W>XNv;<e_8zh&8+_qd;gy<nKEU{|G(@0Z;H5n{rdm^|AF=Z$>5)MEI^i0
zNswPKkc%HM@Lo7v2y|wir;B5V#`)YyCySUB1)QbRzVEy3`C{6a|MoMPjki7KQm^O;
z^4#J%#V5gCxS}QWkhP+-^9hwxYq*$ie|r1TQ8jRqkI39bJ_&l^PHJ~fZS$PKTJd6T
zLub+|D^DTrlZUDdIvGFJ?TcTh5@5@;L38nfw>k_bRaoA9D$TV1-pbgR@cx}Hb7O>!
zOHo<HtxreSv?<&@Icxc>RkN2}ozQYrc*CTV9}|p~4!EB@u(gzF&c(V@&lkSDcd_cm
z`u@G&c>>&AT4ZPS?v8e8aBDjF<lXEe3LcX+ynH%8mvL@s(I~aO{P*M!ogK@rZhlrS
z%Dh13R@Uy=THeKhLV+(o9c5%lDA#)0{#>5#wVI%)o%S5p{*_O7L=yhwng3I(URe=6
z*Xx|6|L={qCVQ99)L-@MS=r6?e$Ou_XY}vx{oUThz{Iibb>Z1<H%tA>^Cdb~Z0una
zP!RCh9eaIp$@k={*aSVRCJrx?^6&d3drM`M|Gli6xzPUy_n(*HJ+^Mj^MUci;OXk;
Jvd$@?2>=rLGMfMZ

literal 0
HcmV?d00001

diff --git a/dist/smileys/angry.gif b/dist/smileys/angry.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d9c07f64de6670b2d7705546aa2fb45315623ec7
GIT binary patch
literal 3523
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

literal 0
HcmV?d00001

diff --git a/dist/smileys/blink.gif b/dist/smileys/blink.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d945c390451203f561988f4066249cbc65fa14c0
GIT binary patch
literal 719
zcmZ?wbhEHb6lM@+xXQrre@oQ=;|2eJuKa(u^Z%<E|1Z}3zuEHtYW@GcssDGx|Np(_
z|F@<8cP0LRH~0UOiT{t}{{OQ0|C?FQ76tr2SN{KD@Bh;!|35F9GG)sDgPH&TuKT|&
z_W%D4*Qa~0D6{&%DdPYC{|rDYz$B1C3!wO)+s`#5*x50_)kx2PnGtA*;!hUV6AX$B
zIw1Q%-eh1~b6`S&1e0X%ktY{!e6+CkSSoNu(PW*-VMZ<1Oa&&_8-^E(96aAE9ZoC1
z$9kqR^6Vb#+2_*lS7z*R<>jiXsc!R?%Lox<suEYI?yr%O3s4XWtMZX|n=F?;olmSc
zzqx(Nd^aKHMT@xw*~&TnR)(;qilh`utk@Exz_?xbFvrm?ei9k3wGwrE7>>(vG`Py}
z9Cbg=QS72{?cyc=JDD9@B%)8nhRD2`7L@7!(!~+%0iZV+bXXWz7`PeOfgaETdcZ?M
zqHT7HMzW#bw38X112|KxZsc5(@(o(S&okwwL5Sdq0Lumsj%I}a5!#i3+HYtI_0H|z
oB<!U(^}?g)OhG}@Jq0wP{~C1Pe^J0A#>PkuYq?NeO%H3W0rY|MegFUf

literal 0
HcmV?d00001

diff --git a/dist/smileys/clin.png b/dist/smileys/clin.png
new file mode 100644
index 0000000000000000000000000000000000000000..7868af9c6eea65397d4849966b73eca33308d721
GIT binary patch
literal 453
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$jJ%t332^@F!TSGsQ))x{=b^>
z|L4m8cRT-Itoi?L?*F~1|98ayKa%?&2)-@-zbo<o?=}CQO#FYf{{Ol1|8Hjf|FZbm
zqJaMod;fo4G-b+^CFM^4PnTqQDE!|R`~P^s_37UK|E~N0f5VD0tN)uKfVKgRkqNo9
z1;|n<3GxdD8A|{#MCkDH0@Xk9ba4!kxE$;6T68pkLFwJ6t&?mR-_;-2Gm70}Eg``&
zO;K=JqB7U5hnCZt$^|y0I&W+WT*`Z>(mG>CD^GOj_gkrlzt6Z-ZI!uV<+a~CCp2x9
z5vrElrhC&Y$9q@6yH!TFKL}pFwdG*I+@Lx8*dAIg56RYHns?h~`riW#Ti@=SAR;5y
z$<sF1^GW^5ZA*QO;<rw(vU#<&F2uKzd%FKm!C)`VeY5|X$wjt(+S@n(zSqXz7b@k>
zG|h_+KQ3~8-5fQU6oDzXm(}F@R)2GM+;pO8s$t)&_9m5^&tLC4bkuUr!}I$D4!z$e
YFFjpV)%&<x8qmKCp00i_>zopr0E<ZUdjJ3c

literal 0
HcmV?d00001

diff --git a/dist/smileys/cthulhu.png b/dist/smileys/cthulhu.png
new file mode 100644
index 0000000000000000000000000000000000000000..522be75980274c72ee9dad3ac7bacbd89bad5082
GIT binary patch
literal 253
zcmeAS@N?(olHy`uVBq!ia0vp^l0YoV!VDxGStGPToB*E?*Z=?jGc+*hXzLiAH7ehn
zyK2qKe}DdLx0=uZRKQpg<QL4~@a#q!kTcEG#W6%e()Qp%UM52xmIJO4dvaAp8ZsW#
zWPdznv54>2`le=?GY_(tJj$Q2?1tyWyc?XJ<~~Y$J|(f&JpH+G-RnvXvqzCjzQ4OM
zC3WJPy&?`(1&;-}I;{7aCbuwOjaVD?K1K80X~V<DYc^<@N$MUJx!f_$=cr1`1<}bO
zo`=sXoZTQSe@%9G(a{A-RreY$=N|lW=s5QQX-_%Hf4SUk+&~vHc)I$ztaD0e0ssb1
BWv>7L

literal 0
HcmV?d00001

diff --git a/dist/smileys/diable.png b/dist/smileys/diable.png
new file mode 100644
index 0000000000000000000000000000000000000000..f50a4046675b17d1662f18a953e2a71eec24cb6c
GIT binary patch
literal 473
zcmeAS@N?(olHy`uVBq!ia0vp^!ayv>!OXzGnB<av8_3BI@CkAK|99OFGqeB43;w^F
z@qb(F|AU$Tf3E!hZtnlPo&Wcy{=ZoBe@oQ=FN^>GUi1HI{r@+!{{P?bY*E1fZ%hB*
zY`M<C@&C!h|GN^WOqud4HTD0w^8Y*H|DP`Te<b(+!`|!Dy}1|}|8I&|QD*i3|9_x`
zK=M)Ydp{scwIs+d7|10E80^nG`2#h4@pN$vk&rY!$X;~VK!D|7YRI{Bj0f(%`F}rS
zQ^>n%xsH=J=4giQds0}ZaHDuaukQLIHX^Sly|=x!nR#cRj&$_8sn=FqEqcNAeEx=t
zxyr`J+GL(IZO94c+V=ES=+--ex-WFfk6$kQeKS&KeaCshqcZP3dluey+j(-O=uxxn
ze`n|(nX+2eh<(BFO`SqFJ}vs}R93svOndjfkm$0vyR34|4!?gKV{f-gclJlU3z-dn
zLpG%9ZC*FgGp*)(Ja6~yf^Zd;6rc7mf$eW!A9z_;`DM3xR5t6(I)Am*KDSy@gYPMX
vZ_vK+sVSrTa0%a@3G){)+n@aZVZZ&?je2QsCa3fP{m<a(>gTe~DWM4fuoDEN

literal 0
HcmV?d00001

diff --git a/dist/smileys/heureux.png b/dist/smileys/heureux.png
new file mode 100644
index 0000000000000000000000000000000000000000..c67b7c08834be5e23bfe77cbee7f2bcea722e2eb
GIT binary patch
literal 429
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$VmwB332^@F!TS<mH%JO_`fao
z|J~02#|!?yoBRJ}%l|D=|F72nzgYAC$;AKX%Kv{^{Qviw|3`BFznS%aZ|eVVOaJdm
z{J$gq|HIz@r%V3--|+wMy6e-u|8I&|QD*gQQNaKI|A96DNy)`QhCr4=NswPKkc$s6
z#KcIy1**N{>Eak7aXHrCJ&(mvAn8+1-0^o_AO6SxGKlgnn=7EOK!GcVZ>PdS{Rf;?
z@1+;6VN&r*kXP(^%apXz%W+@u1dDa?>RuN%w@2#e704MI-{t(My!umblgh+NES@U-
zBCmI}viR=3`+PH}%#B}X{FUxUOZ)ZToiP2(nG)vnp`lM(-Yi~qheh*_;QvXg6Cb`S
zydw9iMEc#~+&SA<%i0}VYkq0h#OudJL?q5HbkAP9{<i6~lg$Zn*A{NCi{GA~P-Naz
zIB#>@^nL7#Y;r%n_a6OdmHYk7nLjaa&f6JRzx~bFsHpgDZu5@MKz}lLy85}Sb4q9e
E005ih+5i9m

literal 0
HcmV?d00001

diff --git a/dist/smileys/hihi.png b/dist/smileys/hihi.png
new file mode 100644
index 0000000000000000000000000000000000000000..5670f984d164557ae7e3bd1833737464c3cb04ff
GIT binary patch
literal 437
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$VmwB332^@v*rKY&i_AG{(m*&
z|CXr#dsF{kt^a?q=Kqt4|KH91|9j2<U5WpX<o^G*^#8f?|2yLUznS%HQNaH%i~m3D
z{r`E<|I;P^4`%+~7W@Br!S(6h|NpN0|9``ZGOPcaB7iph|Nno@oa|O0OQ9slFBr(h
z2N+^vq~8M7KJj#M43W4T>+fE4)Ij9W-TgQIg>GBIe&_$R$cjxKWd;T!5p7zDQf8+Z
zdp`szRQUL8NOfN7?H2xAMdr2N;Ww!_Ug^CLH2b5mN?z9FO3C%(h03h2w{^>;+}M_K
zdxP#vm%^6<W_zYr<u1!vu~zF>-l5`^TV>zZ9xIL$<B>Kt@jc$V<Ux(_$($RG%YIDH
ziRPMAcx~RRe_89_uFl@@?DF!8sZrUw^V4G9SDy&5xh1sKjdM-m8y?5=KQB#-S|?r;
zeCwo+#xl0|J7@MKzW4m57%}l(Id8Q8B$-Eh*3}f{x&Pa&|NPJH_w3FUivBVBZ9YK%
OGI+ZBxvX<aXaWHGfb66I

literal 0
HcmV?d00001

diff --git a/dist/smileys/huh.png b/dist/smileys/huh.png
new file mode 100644
index 0000000000000000000000000000000000000000..889b6831c18e197c8b9e6dedf419dd0420da6687
GIT binary patch
literal 447
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$Vm(E332`ZYR3PcEB{}t`G2?b
z|K8O9SL^@pO8ozA>Hi(^|KH91e<b(+&6fXfX8nIM@&A{_|Id{_TNLpB_nIkFru=`{
z`~P&w|Ids5Z;AT9E%yJx%>Ty={{LO~|Nn;T)4f-eS^eJ>@&EsSpglmcN@KYIkfl@-
z<QEL&;s*@87Y-K!RX_7|aSV}=WIfoP*y13-a`2$-`?)F>yM3O|U$UxYqU<4#kWG6!
zw%$ncoXEm<)63)P$y4iX1vW}Hmi~<7c@+1mP{(qDdhNTPB8d+#?{hul#$eXKaJyka
ze93EtZ$b8Q(w_qQi~h`8`#s9`$1c;o@~^9ApTGE|@XYd#4H?UIm86>F{A5{fu(34U
zRbF(Pf#btJnK#Rq-Civz@a}w2_S&cUQ8jmWPyAi0v9&ICU)|F^?%V&=#k2+WKQ5Bd
zd@FdiNPhY4^T|@5_v8z1Eam=QvUl0fJ+3ZC?({Nj*FDr{@jT6e;l|#r*K!&DF{*4<
V{$>*OMjq&622WQ%mvv4FO#nB@^V|Rc

literal 0
HcmV?d00001

diff --git a/dist/smileys/langue.png b/dist/smileys/langue.png
new file mode 100644
index 0000000000000000000000000000000000000000..ebe06abdfe138e7a1f6db11d07791fe27b859137
GIT binary patch
literal 451
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$jJ%t332^@F!TS<mH)TJ{(m?3
z|J~02H(UPyUi1IejAx4i{vXNx|77C-i#7khE&cyy*8eS0|M#Z;zgqwQ%VHK57G@^K
z|L4m8?@IiCy5#@E-v6H${ofJ)|9C-BfcpQx>#k4t{=X^W|Njl|mp88{vjW=o|NsBr
z^}KyRmP$#GUoenM2rxwG@bUuHKk{^O43UszJ;<8$#6f`Nppfq3kABW~r~d!HSh;1Q
zyLh8R>2&*}Yi}wY7LrIYU-)>(iCeOrKX{Zs6#lH0JhHd%<NK}UPqxau`(6H0>|a^S
zd^ZNO28P=W3ez7?Q+W2Oc|C9Csle-h^5^Cy`>g-G_+`n>{M(zqs>OR-cx}&+RNbU_
zqQ^(z!$W=th8s7l{iPWg=iR@YSS5e`?P^JZbLFLc;p<<1p5u1zcgS&x#d^1|?>ld+
zJ74c~h`X)M?S7N*_jI0@>Tb)ut@n4LnBUxPWtoSU=4Z0(u$7r8cyBf%V}iAEF7pR=
YyJKp{<IdjG1p1c2)78&qol`;+0K|mvR{#J2

literal 0
HcmV?d00001

diff --git a/dist/smileys/magicien.png b/dist/smileys/magicien.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a51bb16d6406f233cd6d8c862b462231090a6df
GIT binary patch
literal 630
zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)v!OXzGxHC@nCXmw-;1lBd{~N=KGOO#;z5gFC
z`2T;y|1%8#4`%+q+c_<Z;s2JX|9{v0-xm9S0>l5kssDE+{y&mizUKM=pDX`gt^dC@
z`v1k6|8Hjfe=_m^&6a120{-ua|Nm`i+|-Nz-_8Ahy5#?>8B?ZA`G2nb|L-*~A2R&^
zviSeQUYW3I9M&cOH$@0~wEqA9ALt4oIqj80B9Nt1666;Q<Pr-Qj$h;K0eYv@)5S4F
z<NVa1+hxrP0xkx#GOirC^WHO>F&${qu5PKx-@Yt-J@K%CHS_KT9S&V5PA614aLx<-
z9=&=)nbCCCrO&QZcrL2lvu4X0cRjA1dsz<lNcqju{^S*qe6#JvjcvwLFWuUa@M4nV
zami*IhI%PMvABiq848IP7pB%^7g`#4g>Shp*T4JGgOcT!pPsQ?K7XE0_02?^yyJV{
z=EVzKdF0Ceo;hf8z@qPyR;hjFjIQ8Y8N1`%j0twW&8Lc)FD&#GdmJV$F0d~0&Nj8e
zfC$EyUpE>q6`mqAQ_8dNf@+~=@wycb^<oz0t3QVGIu{(S6Z@UA=V-lV+8+DFC0C>$
zv&-sx2eV}z3}0ba7f>|4muv3Bdk2zCTn-Dq`SE$%@@0)(cAIBJPurSXyZ%$g5`o-l
zK8(5r=4#~=_e?5ydn5n+nbiKz?<T2O+H)_Pur4g&s@2`v+{;@vm+Z~EwtCmzNvpgL
x`5Fc9d84{yT1j8?#r<(&0-0+UpKII4xbIB9SnGx455S0H@O1TaS?83{1OU%CQzQTY

literal 0
HcmV?d00001

diff --git a/dist/smileys/mechant.png b/dist/smileys/mechant.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9fa15d127f556259fb6cf75892982504c6a4651
GIT binary patch
literal 440
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$Vm?H332_uE%yJGsQ<5K{QtS~
z|JC~c7i<3C?fn03>Hj0S|8KVZ-<9}(Z|eVdbN`<!|Nnc<vqb^_pG^G!W%2(V@&Dh<
z`v0(Z%9JVpPnZ1vyYBzN%>Vy4{6AiBeY*FGGOPcaBL4sX53~eGUSV6U17s<d1o;I6
zxp)D?{DT)1fr=k{x;TbNNU|PecVaQ*VL5oS#8Q3(-=yXL|9h=!nK)NTFeCqyR$q0*
z8rALt3ddtE#Kf*C3s)*KVmiNl{#Av2)w0RCoi#J$@0Xq2^5JOkuPl}XW{wTK9FNTA
zGq;r4?<sw<l&^n(|5uwZ{`t$+J%3$c6K{X>X>RuPGh1Fv*EF_nI-$eJl*7z)pzjQi
zGy~(c>PnsWKMVGiGaveRFPry$-`Bbz3Cn$_<6f^nzW)7M&BLEQmqvfHI+oiLH07r5
z@iL45d-$SvXPr8usU!2WL~GmIGke+uAK0a)rPW25D=@ryvA3P~fW6F8rFl#n_iY4v
Om%-E3&t;ucLK6TK>*_-Q

literal 0
HcmV?d00001

diff --git a/dist/smileys/ninja.png b/dist/smileys/ninja.png
new file mode 100644
index 0000000000000000000000000000000000000000..05043801a6a2cb735528e68a93d99ba553d21262
GIT binary patch
literal 407
zcmeAS@N?(olHy`uVBq!ia0vp^5<o1>!OXzGcq)^3K9G|T;1lBd|Nn;nn<D=IUHAWZ
z!T)bd|G$~_|6u0-pDX_#$^E}A_W#xTDO09ATNLpB)r=KoR@bL{|KAb+|MQ~%yAuE3
z?fkzt_5ZuM|DR0!f3E!hmZ<-yOa9+%`Tu*(|NsAi#*0hl0U0}L<GO(yg_0n@U?3MC
zV2Fv4ehXB4%+tj&L_#w3AZL(_Ap^_7c{jVId-9{Ne*GUG6~)1k?#7d|(e11qhpLg}
zZkNErODbjN7|zYexu`L>pli8p@*UZ2Sr0zGfB9jTWA7KP>^TQkuV@IrsHeA4r<7}Y
zk73>ZhG!2Y*v$9OTiy8h<N5948g2U)s($ND*wXDCa$xli2k{TiA-_29yC$69Qvb8+
z`{%Zksy1`=s*l+|o>ypbC(mER)aK8Rx|_z+KL0GcJuma(g=zk|ncWlr@n;%p&28{o
gA=1lT!f5}8S;$@gePq2MD5M!YUHx3vIVCg!0MLThjsO4v

literal 0
HcmV?d00001

diff --git a/dist/smileys/pinch.png b/dist/smileys/pinch.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3eed52bc210a7cb4aaf36a14707dc7b06fb5e4e
GIT binary patch
literal 433
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$VmwB332_uCF=j(&i_AG{=eDs
z|J98D7i<2%oBRLwn*Uep|L;otza#$tx$^&eQ~!Tk`fO3a|0fgwAIbgyX4d~Ni~oOK
z^#63p|A)Q*4`%+~7W@Br!T<jou21*=|99PrGOPcaB7iph|NsBXioPfyOQ9slFBr(h
z2N+^vq~8M7KJavL43W4T>u+AfV#ttGyszex7SO1r-Lm3k?99#$sU9tvH#C~kerU{n
zU}<n*8t+s)iM=8%#oZ=8CpKK|zaMG#N5?CFuE~`zmp{jN9E@6YB(^QrdmHcVNqQm2
z_pLUQ@t!qHQ93JF>ukDcUi%fV6FctqFTNd~mLYMjb;*N04k>1DyxM;0-`p1Bd2RK#
zpvSA{-U`2861}fx)%r<6UQh3yxvd-~x$6A3B}+owa-T~^vfh1{933?C*gIh-mCXyR
zOzwWa$MamyQ7CjnR)x(HQI(T><E~HDKlk-a{kNxc>c9VG$d*^E_;PxlF3_(Gp00i_
I>zopr0LSC%cmMzZ

literal 0
HcmV?d00001

diff --git a/dist/smileys/pirate.png b/dist/smileys/pirate.png
new file mode 100644
index 0000000000000000000000000000000000000000..692308c58ffcb799578a44259865109c60a8f14d
GIT binary patch
literal 511
zcmeAS@N?(olHy`uVBq!ia0vp^;y^6M!OXzGn7#h^LLjFiz$e6YgAxCVGOPc0JO3Xq
zxIW$c|NjkFuU@scwf%oE^Z(Z9|9{v0-xBqIZ|eVVOaE_+{eQFN|C5Q&76tr&H~0U=
zn*Xn6{6CWW|7!jJU5WpHuKfRI*8hjSQ>IM$f4b!Vj`;td7ybXe=7=fZs#UA*-MjaH
zQ^ZMEh5!Hm18oM9N`H;Yfh>)ZAirQBml(jXZ<U?|(D{6xE{-7*lBownCp``jaXBb-
zW7141cKN%(zwbZv5d3yM<<vHwPv10dH!Z51ovOa`MEN4Io3YR1;u2=Etk`%dw|>6k
zhPz2KC(eB;-gUJnDw~t5==;$l=O6kwzWXKrx1i6<(X2h{HN)Pg;yU|THu(ybr98Y6
z<$ZGEQSX$GXHD)(W~CJVy;aaz+^ZueF6VCHGHv(wjvJR!Q~Ix*^61Yo?wcX|sh%U}
zXXn&#mxG76C*4x=yy0@PgKf#TDJmV41bJ`di~Y72+~0P8s)ppu+qX0K&s5uS=y%Nu
zmxP(o^|jW2ZENG(9;<H+Ta=PwY-7g}CU|A$q>VYobwX>J9-lb%scW4c-)Hysn{TUh
g>^FYm+VG$8^BX(;i;m0ffT79Y>FVdQ&MBb@0NQaDo&W#<

literal 0
HcmV?d00001

diff --git a/dist/smileys/pleure.png b/dist/smileys/pleure.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1d769d4a99387e8bb727e525507304385279459
GIT binary patch
literal 457
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$jJ}z332_uCF=jd%>Ty={@?BV
z|8wR4tM&gc*8G1p<NuEM|3`8o8~*=)GV%Yrx&Qa3{{Oc0|GDyKivs?CS!|v8|NqUF
z|8Hjf|Gen`?=}A)_Ws|MIAzKdm7tgZPnZ1P7W@D2y8r(-T%Yc}qRi_5rilOl{{t-q
zl0KWXZU9-TB|(0{KrTVRV1M4pAE@Dpr;B5Vge2?1)<hOZ0cJ;8d*k0?X;*(9f1#C_
z($2x+<vZ`l$!#-sy<lOx`R>A{eRHqQzwXe|bKvwtTgfBJPyfvM<sdihZvOY~4Ik3C
zKF(lCVCLAs%ke64XShK2r_;rba>ag!?;qPW=hODe)r(I5E6LvOD^fY{x4%n-$mxeo
z3*1UXS#GegG{h<|y2Zfpp-MLXajE3H=SdDb;wBfLdui!&Z{5`sUk#VdiS}MQ_jg@y
z*3V7$J(=m|zpt$oJX$oj{dcwfnZJdhE-RvTl-*vtH}Hnw@hp}d8cIq@m&KWx4y;=`
dC5!n3e?Yt13a8go76Sdt;OXk;vd$@?2>@!u`&s}1

literal 0
HcmV?d00001

diff --git a/dist/smileys/rire.gif b/dist/smileys/rire.gif
new file mode 100644
index 0000000000000000000000000000000000000000..237d431ad44791be557c9a8efc1b3b3c0805351d
GIT binary patch
literal 339
zcmV-Z0j&N<Nk%w1VG{ro0K@<Q|Jj89-HHGCssHMj|J8s0v|9hseE;s9|MsQ-#BKlk
ztpDVZ|Gj1Zx?%s$cmM2~|F~b~qEP?zqyO`w|I2j$;f?>nY5%re|Hp9GmrMWsuK)kA
zsCGL4vRD8B0RR90A^!_bMO0HmK~P09E-(WD0000X`2+<I03QG>00000695wc00p7o
zCyt+Inq)efT<3DADtg>-+!a8;vUf=WMQ{<&WjrY#Lc?SZiU!MZRcmgp6KLYXD;<Oz
z6V^n*Ksrd;Bgnb7IXaHH1M@^|)@#nZ?Huh36G2!9It+b&CJ_OFf&zte4K9f^21OM_
zQ5F}RlRO?6mJTPRlNLxNaux}sCoT+KB^i<zt*=ug9<wg45E!^gEt3TnJE%Q08On7s
lNu)9%03rDV1rGop04xRo3;+iJ0RR962cUyl&DC`w06R%tk=y_P

literal 0
HcmV?d00001

diff --git a/dist/smileys/rouge.png b/dist/smileys/rouge.png
new file mode 100644
index 0000000000000000000000000000000000000000..db3da53a3a2e3fd9cfadb3428e2fc8aba230bfcc
GIT binary patch
literal 605
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$T<+;6XJSnn(zOgEB|+={-2!l
z|I3p93yS|=sr!F0=l`6n|7&vuIoSWtF4<k-`u|A&|HD21=Oq4rHRJ!9=;yuR|6eTr
zf41!ZlllMWru<)!_J3~t|AkrqXD0sNn*IOV>i^5q{vWRWzqIoC!odI2lKxLfU0-hZ
ze|hZxO%V?!1^r)^_kULU|4GUJ|8MxeHTM7A&i^-Crc9ag|IMub@8-Uo8~ndL?f=8x
z|Bt8sKR@mNx{8Zc0slAF{J+@se@Fa^GOPc8*Zu$hALs)hdG5AgA&})z666;Q<Wd3{
z4pnb-0R|6`r;B5Vge2?1cBiHUhSrO#Cp61sXhm3hZFI?vxcT6D-TVJxbCrAEOgtfw
zackOiB|dfT^nTe!N4`wy+IxHMMBdFvJECFCv^-y4x4D9M>D^c28j<VjUR7O_Q9H!_
zeCPaLh8zaQZH$gzr_Iw6s9(r)eA)!*rOoQ~*Q%^)Gk@f%?2Qlmy6N8g@=u{xPRgD0
z?Y>(x<9^vO4ztK_SD1nN7!$%>14GOhm})wt7YZ&ve%XbsWwphW)X26UH)eg|pE_~%
z^&kK4mCC-l_4nJt6*}wd*_#hepL^@>QJwo*ftPm2xL*AF>QXF^{Q2k4ob?6Yot-aZ
zd;ZhIxA*40xXtk)Z}!b?&+l#oT9U7lo5S#r@kO%j>YMkK768MT!PC{xWt~$(69AQ#
BT}S``

literal 0
HcmV?d00001

diff --git a/dist/smileys/siffle.png b/dist/smileys/siffle.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfe99a6f9739d1871d7125dfdb0ffc3b9b0b9a9c
GIT binary patch
literal 466
zcmeAS@N?(olHy`uVBq!ia0vp^B0wz6!OXzGcp>zyAdr(E;1lBd|6u0-yPf}Uw){U{
z@PA9x|DP-WU#R~7YR3N~x&PnI{r`K-|8GnGKbiO+2zDj@-<$euQNY{fq5pTp|NpZ1
z|JC~cZ)TaAnogNA<;jA8|EEj-KkWT~vF87_*cD|~|NpMLKHYn1sm=fY8~$&K09pt%
zBRAH#639|53GxdDnMnvR*q?Xu2Woih>Eak7At`&1wdqiRfXl(Y$9&l*r&regH_lt&
zb!<_a%!#m9E)&16bgk3q%E_6i78z{IQTkXWvQK;3*)2~Sb?t-KUTAeSemn23CezHz
zcidx&Cx$<mn!_A-GH%<J?%Ybh((8W`yBCH@<wZ=dU3)nBa{B9{8}Dy_*4-d+{GEuP
z{*#(l%1YuX(>vZXP0Kx?{gZcEN5ld7O=oN5%kC^+#=2)x<hzyY_GRq5afW+a#60I!
zs~>N)mD_D8rlZ&Xc0$&z+}rY*eJ3KOY|O0ZKYL^DbGv&+My|7a&uzD}ixWwiedqXb
m)8|24)9x>LGKc%eV|k-)jfKw7Z>s@4&fw|l=d#Wzp$P!@ll_YT

literal 0
HcmV?d00001

diff --git a/dist/smileys/smile.png b/dist/smileys/smile.png
new file mode 100644
index 0000000000000000000000000000000000000000..459cd1cfb4ffaabe9f7f9e15043fc3e88c0c6090
GIT binary patch
literal 442
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$Vm?H332_uCF=jrmH%JO_<ytI
z|J~02dsF{kt^faR>Hi(^|1Z}3e>eC4x$^(N*Zkj=`2R@m|2MP#KbiRd%i?E?0{%bj
zoib(0|I;P^4`%+~7W@Br!T<jo{{LNfeY*FGGOPcaBL4sX53~eGK2gkG31lgj1o;I6
zxp)D?{DT)1fr_7cx;TbNNU|PmPds8E!0f0|e{R~0z8n8mf9WwO;uquynY5>Ct&iAi
zx!ng8rWd*=zuP@^ox6gQ+k=mvVtF4$ZmQ4bdQ!Q^_Ok7vL*Ebg9pyN{CXgU4u;sLc
zset>*?LT8Cw*Ptk&pL9x?)QcEAzv$VZ*Q5i=v4ahY73oLcgsRpbd&NG4wxx0yb%*T
z%jVF~|Ghx^-ea5C)r=3n=~;e{tBPOWzgTjoZTqCnci(1vxtpAxe?3)W=N-Mv_xH&Q
zUM;ddfBC!V{L4ieN>_C5d^>*lw5MQS#4N!Ft2#P5f>*JzG~CTvdzS5iJgdA?I=4V_
Q0MNq>p00i_>zopr0QRQrqyPW_

literal 0
HcmV?d00001

diff --git a/dist/smileys/soleil.png b/dist/smileys/soleil.png
new file mode 100644
index 0000000000000000000000000000000000000000..617336200d5ee041382c89a7222f8e505ca2b8a7
GIT binary patch
literal 425
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$Vm?H32`k9*86`j^Z%<E|F^~d
zzgYACZs-5M>;C^-`Tu6i|KkP!w?zH_w)FqIx&N=$|KFSX|M!~zyAq!*3i$tJ@&6|i
z|G$~_|Nn;nJL3PJEB}AG<p0Co|3`AKPxt=6DPl#L)&KwhftCQtzIUtpfGow5AirQB
z7cXF#fAE4LQ1KN{7sn8Z%d!3LMJ|p!PCqTr{W-}e#QWWTsd(=6({<Wj0YXiw8bW@D
z-8ifc-nQVj+i0>O)j9dL#9F16*4DP-sfnxa7Ea=QE$!@FZ8Ob#Swd_C*LkCy=uNpd
zriF-p7u)iX?|kx$!xOqfR37f~oV<l?-S^zt=hySBcz-e|s368mQ?l*snYRCCx2MgR
zxh8$}?Yj*xuklrM&l1l6wRADhM?=p^5$T?e*MHmfp8t5``S)cnjhqF3C;r>P|JP~K
yOl{Wgv+CZhm1(uH8`V5NZ9Ou-PVnR9_uM;Em8WG3u+IbfkHOQ`&t;ucLK6VA=;WgS

literal 0
HcmV?d00001

diff --git a/dist/smileys/triste.png b/dist/smileys/triste.png
new file mode 100644
index 0000000000000000000000000000000000000000..980aa8a8f48b5daa76c2948df25ad4e6e276d7b6
GIT binary patch
literal 444
zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S%)r2C)cGv~$Vm(E332_uE%yJGsQ-66|6i>6
zf3^Pqs~P`~<o>_e@_$$2|GlaI&z1jwH~0UyrT>4f{QqU~|0fflEeiPmX4d~5@&6z8
z{{OvZ%9JVpPnZ1vyy*YI%>Ty={{LO~|Nn;T)4f-eS^eJ>@&EsSpglmc>EZ1eK$cQT
zkY6y6iytuXUN~F`RQ=e~#W6%elJ#JF;t>M|X2V^z?=!cl2JZPgokyWbh+Fx>KF!TL
z-geFiU*FU)Db>~cq*SiB<U>V{O)>kQHB`J``n}Tl)Q+0{+b7FT3}$;S!!m(^!-I+A
zR;i_#z^&8YEkdVMzpVcM*JXXQ=lR4HRkr!tAOC#3%I9*~CfPv$=C@r7Ze}wxdNMFh
zFuASE=-}{WhkE~$ij|Bmx03ajPWhWZN1uJ`f-T=`^`EN$RiB<aIeN<V&sF!m-(SCX
zJ+!R%(z1^~zRE0ryXN4x3rd%+9ZvL}bi;1Df<ozr+~1q8GB7D*ZoM{*;RFBwbIM25
Tl~*qXdY8e|)z4*}Q$iB}Fjez>

literal 0
HcmV?d00001

diff --git a/dist/smileys/unsure.gif b/dist/smileys/unsure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..700cdd3882f7429e1b382f18cda78fe9a987d5eb
GIT binary patch
literal 513
zcmZ?wbhEHb6lM@+xXQrre@oQ=;|2d;&G`Rw<^P*4|1Z}3-<$gXZs-4ZbN_!^`u}SE
z|6Pgycf|kyzv0=Ufd6l1{r|G~|L-;bkL3P8SN{LW#3@sz{D0W{|8&X!gPH%g#s2@h
z?)r4^6=hccH%0va|DOS9K9~eDXap4hbNji51UowhxEkphFf#(JQT)lmdV)cLK?h_d
z$eRpo>m4Q(aQu?!J@VwjiI*0Z9!ozQ7F1X#*2JXsH$|b@V@A=1JUh>Pr^9L7r&!Na
zM&=e<%-Wr#bh4nEBZ*f=POha*oRLR1BZNP(T~uCfl1!IufIMGVWviQ<j|78k`Ye&g
z%5skKX_9_R`Pi2yaPqTE=k{CT!<s6VQn;vlSByO4-kQ#xyZj_FT-TmDe1@&wRhsSc
z8CkYs7x^2v?+D$?^!0O-h&~@1BK>}5P^SAE7e}xk7(jktXJBVwV_*XMf$PAj<H}!Z
e9Nba_5ME@%DGk<*kmhvof2yp~)H7d!!5RQ)t*O2M

literal 0
HcmV?d00001

diff --git a/dist/smileys/waw.png b/dist/smileys/waw.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0f7c49ceada05deeb45529ea024434892f61f2e
GIT binary patch
literal 570
zcmeAS@N?(olHy`uVBq!ia0vp^!ayv+!OXzG7~#jZ8pt^i;1l9{eY*Gm;|2e(*8krU
z^?zIJ|G(@0-|hVWYR3PcEC0Wn`+slh|BE&MZ?^p35&!>O`Tr*q|9@NhY*E1fFN^=b
zne~5H;*=><{y*&f|9R2>Bf0;7ulawv<p2K-{|{!aD6{&%DdPYC|3G_a3M4ih2nSlA
zR1)MD473hEVBo!QxDXfs?4B-;Arg|T2iqq;F<@YJJmLNN?oM^iYc5THHvh^KoRTNV
z616DgV}y`lSh!=8!h)358NXkdO66@9^b_FZ*d%*D*<sK0pt@rRHC|u4@4Q|4(@gc>
zA}lJL3Jb2@Vqo-SaJ1g$&1|^*&sxD#ai=!@+wFGV{rtbH>Mtwnzj*JDI`z}0Cdd7S
z@lCO&XFkdt1w0^Rbj?tKVN%*|RR)d|e{TK%c70o19+$$UIL)O~o~Fy@&x{VZRUPm3
zKGm{HzU`*&sn2z9Y+t(j|H{$!vR*&^{qHI{zt1VvS%R5gzi*%CH#ztBm8OP_O_P6E
zX*4i+6bo%<P+;hoYyl*bc3-n%V_<Zcq{7(npKF&z;W_slP-0;4boFyt=akR{0M_I4
Ay#N3J

literal 0
HcmV?d00001

diff --git a/dist/smileys/zorro.png b/dist/smileys/zorro.png
new file mode 100644
index 0000000000000000000000000000000000000000..83f969ba73476c4ce29a5d52ac0409d742ece7b9
GIT binary patch
literal 613
zcmeAS@N?(olHy`uVBq!ia0vp^5<o1*!3-qdE?%<>NF50932}9Da#B)KDk&)m3JU7(
z?iLgjl$DjOsHi9_D=R805)%{i^Yi26<mBb$RZ~-ojg7UjvC-1fVqsy?)6>(@(UFpp
zVq|1oQD$|0y7&JrQUCX*{y&)c|9HXw{~P|_?fieS=Krq5|J!2!U#<UtB=`T0`2T;_
zT3cKHzuEHtT=|qKQ{v;}?d|Q2jg1o%6aPP%XkudW|J%})D_4ewhCW*q(Ae1c|6y-d
zR@VQ|i~fIE{Qvb#S65eabMyb3BL4sX5A*?$TxIp{G?3*`666;Q<Wd3{4pnb-VPIes
z@pN$v(KsJF@nu<)fj}!GZwLp+LaA+=7K^R%E|0d_^FP{ig2TsoKPT?IZ#mO9BhPC3
z=3d3_>V@ZL|0|rf<yGL-(2o(mjb9?=Qs*Y9+zS4%PNz<waoU<?33m07x5T!v@GsDr
zKKoRN;6@$aXpc+Hi}sv*<F<jvIZW`9VWctR8cxL-H<~j4z0(bhQ*1Fz+@LD)y5lOt
zuUMO{TKf)_Oji}DD17ndcuDoQ1>fiImN>ytai{rzeBlQ%IlbkNN^Y{n&ADFsw!mR=
z!S6zj#Rt6aTr1c7u&zm?x2#cK-E^}3Ht)YWpZDH*Ta!O$F{66l!Bo2|ap8^m;xgOc
z-8$KP?|C-+sk*|yQx1KRduwo|P=>3Zym;S6#q4!^A0-(FeGSwAhBbqytDnm{r-UW|
D<;yqk

literal 0
HcmV?d00001