@charset "UTF-8";
/*!
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! 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: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.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: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  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"] {
  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;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    color: #000 !important;
    text-shadow: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: "Glyphicons Halflings";
  src: url("../fonts/glyphicons-halflings-regular.eot");
  src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg");
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: "Glyphicons Halflings";
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\002a";
}
.glyphicon-plus:before {
  content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
.glyphicon-cd:before {
  content: "\e201";
}
.glyphicon-save-file:before {
  content: "\e202";
}
.glyphicon-open-file:before {
  content: "\e203";
}
.glyphicon-level-up:before {
  content: "\e204";
}
.glyphicon-copy:before {
  content: "\e205";
}
.glyphicon-paste:before {
  content: "\e206";
}
.glyphicon-alert:before {
  content: "\e209";
}
.glyphicon-equalizer:before {
  content: "\e210";
}
.glyphicon-king:before {
  content: "\e211";
}
.glyphicon-queen:before {
  content: "\e212";
}
.glyphicon-pawn:before {
  content: "\e213";
}
.glyphicon-bishop:before {
  content: "\e214";
}
.glyphicon-knight:before {
  content: "\e215";
}
.glyphicon-baby-formula:before {
  content: "\e216";
}
.glyphicon-tent:before {
  content: "\26fa";
}
.glyphicon-blackboard:before {
  content: "\e218";
}
.glyphicon-bed:before {
  content: "\e219";
}
.glyphicon-apple:before {
  content: "\f8ff";
}
.glyphicon-erase:before {
  content: "\e221";
}
.glyphicon-hourglass:before {
  content: "\231b";
}
.glyphicon-lamp:before {
  content: "\e223";
}
.glyphicon-duplicate:before {
  content: "\e224";
}
.glyphicon-piggy-bank:before {
  content: "\e225";
}
.glyphicon-scissors:before {
  content: "\e226";
}
.glyphicon-bitcoin:before {
  content: "\e227";
}
.glyphicon-btc:before {
  content: "\e227";
}
.glyphicon-xbt:before {
  content: "\e227";
}
.glyphicon-yen:before {
  content: "\00a5";
}
.glyphicon-jpy:before {
  content: "\00a5";
}
.glyphicon-ruble:before {
  content: "\20bd";
}
.glyphicon-rub:before {
  content: "\20bd";
}
.glyphicon-scale:before {
  content: "\e230";
}
.glyphicon-ice-lolly:before {
  content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}
.glyphicon-education:before {
  content: "\e233";
}
.glyphicon-option-horizontal:before {
  content: "\e234";
}
.glyphicon-option-vertical:before {
  content: "\e235";
}
.glyphicon-menu-hamburger:before {
  content: "\e236";
}
.glyphicon-modal-window:before {
  content: "\e237";
}
.glyphicon-oil:before {
  content: "\e238";
}
.glyphicon-grain:before {
  content: "\e239";
}
.glyphicon-sunglasses:before {
  content: "\e240";
}
.glyphicon-text-size:before {
  content: "\e241";
}
.glyphicon-text-color:before {
  content: "\e242";
}
.glyphicon-text-background:before {
  content: "\e243";
}
.glyphicon-object-align-top:before {
  content: "\e244";
}
.glyphicon-object-align-bottom:before {
  content: "\e245";
}
.glyphicon-object-align-horizontal:before {
  content: "\e246";
}
.glyphicon-object-align-left:before {
  content: "\e247";
}
.glyphicon-object-align-vertical:before {
  content: "\e248";
}
.glyphicon-object-align-right:before {
  content: "\e249";
}
.glyphicon-triangle-right:before {
  content: "\e250";
}
.glyphicon-triangle-left:before {
  content: "\e251";
}
.glyphicon-triangle-bottom:before {
  content: "\e252";
}
.glyphicon-triangle-top:before {
  content: "\e253";
}
.glyphicon-console:before {
  content: "\e254";
}
.glyphicon-superscript:before {
  content: "\e255";
}
.glyphicon-subscript:before {
  content: "\e256";
}
.glyphicon-menu-left:before {
  content: "\e257";
}
.glyphicon-menu-right:before {
  content: "\e258";
}
.glyphicon-menu-down:before {
  content: "\e259";
}
.glyphicon-menu-up:before {
  content: "\e260";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.42857143;
  color: #333333;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 6px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transition: all all 0.2s ease-in-out ease-out;
  -moz-transition: all all 0.2s ease-in-out ease-out;
  transition: all all 0.2s ease-in-out ease-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 21px;
  margin-bottom: 21px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: 400;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 21px;
  margin-bottom: 10.5px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 10.5px;
  margin-bottom: 10.5px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 39px;
}
h2,
.h2 {
  font-size: 32px;
}
h3,
.h3 {
  font-size: 26px;
}
h4,
.h4 {
  font-size: 19px;
}
h5,
.h5 {
  font-size: 15px;
}
h6,
.h6 {
  font-size: 13px;
}
p {
  margin: 0 0 10.5px;
}
.lead {
  margin-bottom: 21px;
  font-size: 17px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 22.5px;
  }
}
small,
.small {
  font-size: 86%;
}
mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 9.5px;
  margin: 42px 0 21px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 10.5px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-right: 5px;
  padding-left: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 21px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: 700;
}
dd {
  margin-left: 0;
}
@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 10.5px 21px;
  margin: 0 0 21px;
  font-size: 18.75px;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: "\2014 \00A0";
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  text-align: right;
  border-right: 5px solid #eeeeee;
  border-left: 0;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: "";
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: "\00A0 \2014";
}
address {
  margin-bottom: 21px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 0;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #fff;
  background-color: #333;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 700;
  box-shadow: none;
}
pre {
  display: block;
  padding: 10px;
  margin: 0 0 10.5px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  word-break: break-all;
  word-wrap: break-word;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 0;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
.container-fluid {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
.row {
  margin-right: -15px;
  margin-left: -15px;
}
.row-no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.row-no-gutters [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}
.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-10,
  .col-md-11,
  .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
table col[class*="col-"] {
  position: static;
  display: table-column;
  float: none;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  display: table-cell;
  float: none;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 21px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  min-height: 0.01%;
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15.75px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 21px;
  font-size: 22.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: 700;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 15px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 35px;
  padding: 6px 12px;
  font-size: 15px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -webkit-transition: all border-color ease-in-out .15s, box-shadow ease-in-out .15s ease-out;
  -moz-transition: all border-color ease-in-out .15s, box-shadow ease-in-out .15s ease-out;
  transition: all border-color ease-in-out .15s, box-shadow ease-in-out .15s ease-out;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 35px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 31px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 48px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.radio label,
.checkbox label {
  min-height: 21px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: 400;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-top: 4px \9;
  margin-left: -20px;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: 400;
  vertical-align: middle;
  cursor: pointer;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
.form-control-static {
  min-height: 36px;
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-right: 0;
  padding-left: 0;
}
.input-sm {
  height: 31px;
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-sm {
  height: 31px;
  line-height: 31px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 31px;
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 3px;
}
.form-group-sm select.form-control {
  height: 31px;
  line-height: 31px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 31px;
  min-height: 34px;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.5;
}
.input-lg {
  height: 48px;
  padding: 10px 16px;
  font-size: 19px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-lg {
  height: 48px;
  line-height: 48px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 48px;
  padding: 10px 16px;
  font-size: 19px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.form-group-lg select.form-control {
  height: 48px;
  line-height: 48px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 48px;
  min-height: 40px;
  padding: 11px 16px;
  font-size: 19px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 43.75px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 48px;
  height: 48px;
  line-height: 48px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 31px;
  height: 31px;
  line-height: 31px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #3c763d;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #8a6d3b;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  background-color: #f2dede;
  border-color: #a94442;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 26px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #737373;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  padding-top: 7px;
  margin-top: 0;
  margin-bottom: 0;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 28px;
}
.form-horizontal .form-group {
  margin-right: -15px;
  margin-left: -15px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    padding-top: 7px;
    margin-bottom: 0;
    text-align: right;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 19px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 13px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  padding: 6px 12px;
  font-size: 15px;
  line-height: 1.42857143;
  border-radius: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  -khtml-opacity: 0.65;
  -webkit-opacity: 0.65;
  opacity: 0.65;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  background-image: none;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  background-image: none;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  background-image: none;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  background-image: none;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  background-image: none;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  background-image: none;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  font-weight: 400;
  color: #337ab7;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 19px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 3px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 3px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  -webkit-transition: all opacity 0.15s linear ease-out;
  -moz-transition: all opacity 0.15s linear ease-out;
  transition: all opacity 0.15s linear ease-out;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition: height, visibility 0.2s ease-out;
  -moz-transition: height, visibility 0.2s ease-out;
  transition: height, visibility 0.2s ease-out;
  -moz-transition-duration: 0.35s;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  font-size: 15px;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 9.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  color: #262626;
  text-decoration: none;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  background-color: #337ab7;
  outline: 0;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  right: 0;
  left: auto;
}
.dropdown-menu-left {
  right: auto;
  left: 0;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  content: "";
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto;
  }
  .navbar-right .dropdown-menu-left {
    right: auto;
    left: 0;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-right: 8px;
  padding-left: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-right: 12px;
  padding-left: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  display: table-cell;
  float: none;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-right: 0;
  padding-left: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 48px;
  padding: 10px 16px;
  font-size: 19px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 48px;
  line-height: 48px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 31px;
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 31px;
  line-height: 31px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 0;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 13px;
  border-radius: 3px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 19px;
  border-radius: 6px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 9.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 0 0 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  cursor: default;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  margin-bottom: 5px;
  text-align: center;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 0;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 0 0 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 0;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  margin-bottom: 5px;
  text-align: center;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 0;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 0 0 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 21px;
  border: 1px solid transparent;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 0;
  }
}
@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  padding-right: 15px;
  padding-left: 15px;
  overflow-x: visible;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-right: 0;
    padding-left: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}
@media (min-width: 768px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-brand {
  float: left;
  height: 50px;
  padding: 14.5px 15px;
  font-size: 19px;
  line-height: 21px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  padding: 9px 10px;
  margin-right: 15px;
  margin-top: 8px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 7.25px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 21px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 21px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 14.5px;
    padding-bottom: 14.5px;
  }
}
.navbar-form {
  padding: 10px 15px;
  margin-right: -15px;
  margin-left: -15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 7.5px;
  margin-bottom: 7.5px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    padding-top: 0;
    padding-bottom: 0;
    margin-right: 0;
    margin-left: 0;
    border: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: 7.5px;
  margin-bottom: 7.5px;
}
.navbar-btn.btn-sm {
  margin-top: 9.5px;
  margin-bottom: 9.5px;
}
.navbar-btn.btn-xs {
  margin-top: 14px;
  margin-bottom: 14px;
}
.navbar-text {
  margin-top: 14.5px;
  margin-bottom: 14.5px;
}
@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-right: 15px;
    margin-left: 15px;
  }
}
@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }
  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #555;
  background-color: #e7e7e7;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  color: #fff;
  background-color: #080808;
}
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 21px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 0;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  padding: 0 5px;
  color: #ccc;
  content: "/\00a0";
}
.breadcrumb > .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 21px 0;
  border-radius: 0;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  color: #337ab7;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ddd;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  cursor: default;
  background-color: #337ab7;
  border-color: #337ab7;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  cursor: not-allowed;
  background-color: #fff;
  border-color: #ddd;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 19px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
.pager {
  padding-left: 0;
  margin: 21px 0;
  text-align: center;
  list-style: none;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  cursor: not-allowed;
  background-color: #fff;
}
.label {
  display: inline;
  padding: 0.2em 0.6em 0.3em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 23px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  padding-right: 15px;
  padding-left: 15px;
  border-radius: 6px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-right: 60px;
    padding-left: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 68px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 21px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
  -webkit-transition: all border 0.2s ease-in-out ease-out;
  -moz-transition: all border 0.2s ease-in-out ease-out;
  transition: all border 0.2s ease-in-out ease-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-right: auto;
  margin-left: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #333333;
}
.alert {
  padding: 15px;
  margin-bottom: 21px;
  border: 1px solid transparent;
  border-radius: 0;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  height: 21px;
  margin-bottom: 21px;
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: 0;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 13px;
  line-height: 21px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
  -webkit-transition: all width 0.6s ease ease-out;
  -moz-transition: all width 0.6s ease ease-out;
  transition: all width 0.6s ease ease-out;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -moz-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  overflow: hidden;
  zoom: 1;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  color: #777777;
  cursor: not-allowed;
  background-color: #eeeeee;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  color: #555;
  text-decoration: none;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 21px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-left-radius: -1;
  border-top-right-radius: -1;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 17px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-left-radius: -1;
  border-top-right-radius: -1;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-right: 15px;
  padding-left: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-left-radius: -1;
  border-top-right-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: -1;
  border-top-right-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: -1;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: -1;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-right-radius: -1;
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: -1;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: -1;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  margin-bottom: 0;
  border: 0;
}
.panel-group {
  margin-bottom: 21px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 0;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 6px;
}
.well-sm {
  padding: 9px;
  border-radius: 3px;
}
.close {
  float: right;
  font-size: 22.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  filter: alpha(opacity=20);
  -moz-opacity: 0.2;
  -khtml-opacity: 0.2;
  -webkit-opacity: 0.2;
  opacity: 0.2;
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  -webkit-opacity: 0.5;
  opacity: 0.5;
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -moz-transform: translate(0, -25%);
  -webkit-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -moz-transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  -webkit-opacity: 0;
  opacity: 0;
}
.modal-backdrop.in {
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  -webkit-opacity: 0.5;
  opacity: 0.5;
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-bottom: 0;
  margin-left: 5px;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.42857143;
  line-break: auto;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  white-space: normal;
  font-size: 13px;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  -webkit-opacity: 0;
  opacity: 0;
}
.tooltip.in {
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  -khtml-opacity: 0.9;
  -webkit-opacity: 0.9;
  opacity: 0.9;
}
.tooltip.top {
  padding: 5px 0;
  margin-top: -3px;
}
.tooltip.right {
  padding: 0 5px;
  margin-left: 3px;
}
.tooltip.bottom {
  padding: 5px 0;
  margin-top: 3px;
}
.tooltip.left {
  padding: 0 5px;
  margin-left: -3px;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  right: 5px;
  bottom: 0;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.42857143;
  line-break: auto;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  white-space: normal;
  font-size: 15px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow:after {
  content: "";
  border-width: 10px;
}
.popover.top > .arrow {
  bottom: -11px;
  left: 50%;
  margin-left: -11px;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-width: 0;
}
.popover.top > .arrow:after {
  bottom: 1px;
  margin-left: -10px;
  content: " ";
  border-top-color: #fff;
  border-bottom-width: 0;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
  border-left-width: 0;
}
.popover.right > .arrow:after {
  bottom: -10px;
  left: 1px;
  content: " ";
  border-right-color: #fff;
  border-left-width: 0;
}
.popover.bottom > .arrow {
  top: -11px;
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.popover.bottom > .arrow:after {
  top: 1px;
  margin-left: -10px;
  content: " ";
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  right: 1px;
  bottom: -10px;
  content: " ";
  border-right-width: 0;
  border-left-color: #fff;
}
.popover-title {
  padding: 8px 14px;
  margin: 0;
  font-size: 15px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner > .item {
  position: relative;
  display: none;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
  -webkit-transition: all 0.6s ease-in-out left ease-out;
  -moz-transition: all 0.6s ease-in-out left ease-out;
  transition: all 0.6s ease-in-out left ease-out;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 15%;
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  -webkit-opacity: 0.5;
  opacity: 0.5;
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
  background-repeat: repeat-x;
}
.carousel-control.right {
  right: 0;
  left: auto;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
  background-repeat: repeat-x;
}
.carousel-control:hover,
.carousel-control:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  -khtml-opacity: 0.9;
  -webkit-opacity: 0.9;
  opacity: 0.9;
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
  margin-top: -10px;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  font-family: serif;
  line-height: 1;
}
.carousel-control .icon-prev:before {
  content: "\2039";
}
.carousel-control .icon-next:before {
  content: "\203a";
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  padding-left: 0;
  margin-left: -30%;
  text-align: center;
  list-style: none;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid #fff;
  border-radius: 10px;
}
.carousel-indicators .active {
  width: 12px;
  height: 12px;
  margin: 0;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after {
  display: table;
  content: " ";
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after {
  clear: both;
}
.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*

Animate.less
Cross-browser LESS animation library for Bootstrap
Licensed under the ☺ license (http://licence.visualidiot.com/)
Documenation: https://github.com/machito/animate.less
-------------------------------------------------------
Copyright © 2012 Michael Castilla
Email: yo@machito.co
Twitter: https://twitter.com/micr0bitz

*/
body {
  -webkit-backface-visibility: hidden;
}
@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
  }
}
@-moz-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -moz-transform: translateY(0);
  }
  40% {
    -moz-transform: translateY(-30px);
  }
  60% {
    -moz-transform: translateY(-15px);
  }
}
@-o-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -o-transform: translateY(0);
  }
  40% {
    -o-transform: translateY(-30px);
  }
  60% {
    -o-transform: translateY(-15px);
  }
}
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  -moz-animation-name: bounce;
  -o-animation-name: bounce;
  animation-name: bounce;
}
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes bounceIn {
  0% {
    opacity: 0;
    -moz-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1.05);
  }
  70% {
    -moz-transform: scale(0.9);
  }
  100% {
    -moz-transform: scale(1);
  }
}
@-o-keyframes bounceIn {
  0% {
    opacity: 0;
    -o-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -o-transform: scale(1.05);
  }
  70% {
    -o-transform: scale(0.9);
  }
  100% {
    -o-transform: scale(1);
  }
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
  -moz-animation-name: bounceIn;
  -o-animation-name: bounceIn;
  animation-name: bounceIn;
}
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes bounceInDown {
  0% {
    opacity: 0;
    -moz-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateY(30px);
  }
  80% {
    -moz-transform: translateY(-10px);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@-o-keyframes bounceInDown {
  0% {
    opacity: 0;
    -o-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -o-transform: translateY(30px);
  }
  80% {
    -o-transform: translateY(-10px);
  }
  100% {
    -o-transform: translateY(0);
  }
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  -moz-animation-name: bounceInDown;
  -o-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
  }
  80% {
    -webkit-transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -moz-transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(30px);
  }
  80% {
    -moz-transform: translateX(-10px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-o-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -o-transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -o-transform: translateX(30px);
  }
  80% {
    -o-transform: translateX(-10px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(30px);
  }
  80% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  -moz-animation-name: bounceInLeft;
  -o-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
  }
  80% {
    -webkit-transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes bounceInRight {
  0% {
    opacity: 0;
    -moz-transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(-30px);
  }
  80% {
    -moz-transform: translateX(10px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-o-keyframes bounceInRight {
  0% {
    opacity: 0;
    -o-transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -o-transform: translateX(-30px);
  }
  80% {
    -o-transform: translateX(10px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  -moz-animation-name: bounceInRight;
  -o-animation-name: bounceInRight;
  animation-name: bounceInRight;
}
@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
  }
  80% {
    -webkit-transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes bounceInUp {
  0% {
    opacity: 0;
    -moz-transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateY(-30px);
  }
  80% {
    -moz-transform: translateY(10px);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@-o-keyframes bounceInUp {
  0% {
    opacity: 0;
    -o-transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -o-transform: translateY(-30px);
  }
  80% {
    -o-transform: translateY(10px);
  }
  100% {
    -o-transform: translateY(0);
  }
}
@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(-30px);
  }
  80% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  -moz-animation-name: bounceInUp;
  -o-animation-name: bounceInUp;
  animation-name: bounceInUp;
}
@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
  }
}
@-moz-keyframes bounceOut {
  0% {
    -moz-transform: scale(1);
  }
  25% {
    -moz-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(0.3);
  }
}
@-o-keyframes bounceOut {
  0% {
    -o-transform: scale(1);
  }
  25% {
    -o-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -o-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -o-transform: scale(0.3);
  }
}
@keyframes bounceOut {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
.bounceOut {
  -webkit-animation-name: bounceOut;
  -moz-animation-name: bounceOut;
  -o-animation-name: bounceOut;
  animation-name: bounceOut;
}
@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
}
@-moz-keyframes bounceOutDown {
  0% {
    -moz-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(2000px);
  }
}
@-o-keyframes bounceOutDown {
  0% {
    -o-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -o-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(2000px);
  }
}
@keyframes bounceOutDown {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  -moz-animation-name: bounceOutDown;
  -o-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
  }
}
@-moz-keyframes bounceOutLeft {
  0% {
    -moz-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(-2000px);
  }
}
@-o-keyframes bounceOutLeft {
  0% {
    -o-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -o-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(-2000px);
  }
}
@keyframes bounceOutLeft {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  -moz-animation-name: bounceOutLeft;
  -o-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
  }
}
@-moz-keyframes bounceOutRight {
  0% {
    -moz-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(2000px);
  }
}
@-o-keyframes bounceOutRight {
  0% {
    -o-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -o-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(2000px);
  }
}
@keyframes bounceOutRight {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  -moz-animation-name: bounceOutRight;
  -o-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}
@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
}
@-moz-keyframes bounceOutUp {
  0% {
    -moz-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(-2000px);
  }
}
@-o-keyframes bounceOutUp {
  0% {
    -o-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -o-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(-2000px);
  }
}
@keyframes bounceOutUp {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  -moz-animation-name: bounceOutUp;
  -o-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  -moz-animation-name: fadeIn;
  -o-animation-name: fadeIn;
  animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes fadeInDown {
  0% {
    opacity: 0;
    -moz-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@-o-keyframes fadeInDown {
  0% {
    opacity: 0;
    -ms-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -ms-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  -moz-animation-name: fadeInDown;
  -o-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -moz-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@-o-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -o-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -o-transform: translateY(0);
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  -moz-animation-name: fadeInDownBig;
  -o-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -moz-transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@-o-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -o-transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  -moz-animation-name: fadeInLeft;
  -o-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -moz-transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@-o-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -o-transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0);
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  -moz-animation-name: fadeInLeftBig;
  -o-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes fadeInRight {
  0% {
    opacity: 0;
    -moz-transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@-o-keyframes fadeInRight {
  0% {
    opacity: 0;
    -o-transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  -moz-animation-name: fadeInRight;
  -o-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -moz-transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@-o-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -o-transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0);
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  -moz-animation-name: fadeInRightBig;
  -o-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes fadeInUp {
  0% {
    opacity: 0;
    -moz-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@-o-keyframes fadeInUp {
  0% {
    opacity: 0;
    -o-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -o-transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  -moz-animation-name: fadeInUp;
  -o-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -moz-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@-o-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -o-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -o-transform: translateY(0);
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  -moz-animation-name: fadeInUpBig;
  -o-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-moz-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-o-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  -moz-animation-name: fadeOut;
  -o-animation-name: fadeOut;
  animation-name: fadeOut;
}
@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
}
@-moz-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(20px);
  }
}
@-o-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -o-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(20px);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  -moz-animation-name: fadeOutDown;
  -o-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
}
@-moz-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(2000px);
  }
}
@-o-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -o-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(2000px);
  }
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  -moz-animation-name: fadeOutDownBig;
  -o-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
  }
}
@-moz-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(-20px);
  }
}
@-o-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -o-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(-20px);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-20px);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  -moz-animation-name: fadeOutLeft;
  -o-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
  }
}
@-moz-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(-2000px);
  }
}
@-o-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -o-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(-2000px);
  }
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  -moz-animation-name: fadeOutLeftBig;
  -o-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
  }
}
@-moz-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(20px);
  }
}
@-o-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -o-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(20px);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(20px);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  -moz-animation-name: fadeOutRight;
  -o-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
  }
}
@-moz-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(2000px);
  }
}
@-o-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -o-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(2000px);
  }
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  -moz-animation-name: fadeOutRightBig;
  -o-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}
@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
}
@-moz-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(-20px);
  }
}
@-o-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -o-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(-20px);
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  -moz-animation-name: fadeOutUp;
  -o-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
}
@-moz-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(-2000px);
  }
}
@-o-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -o-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(-2000px);
  }
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  -moz-animation-name: fadeOutUpBig;
  -o-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}
@-webkit-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@-moz-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@-o-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  -moz-animation-name: flash;
  -o-animation-name: flash;
  animation-name: flash;
}
@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
  }
}
@-moz-keyframes flip {
  0% {
    -moz-transform: perspective(400px) rotateY(0);
    -moz-animation-timing-function: ease-out;
  }
  40% {
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-animation-timing-function: ease-out;
  }
  50% {
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-animation-timing-function: ease-in;
  }
  80% {
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-animation-timing-function: ease-in;
  }
  100% {
    -moz-transform: perspective(400px) scale(1);
    -moz-animation-timing-function: ease-in;
  }
}
@-o-keyframes flip {
  0% {
    -o-transform: perspective(400px) rotateY(0);
    -o-animation-timing-function: ease-out;
  }
  40% {
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-animation-timing-function: ease-out;
  }
  50% {
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-animation-timing-function: ease-in;
  }
  80% {
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-animation-timing-function: ease-in;
  }
  100% {
    -o-transform: perspective(400px) scale(1);
    -o-animation-timing-function: ease-in;
  }
}
@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(0);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    animation-timing-function: ease-in;
  }
  100% {
    transform: perspective(400px) scale(1);
    animation-timing-function: ease-in;
  }
}
.flip {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flip;
  -o-backface-visibility: visible !important;
  -o-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip;
}
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
@-moz-keyframes flipInX {
  0% {
    -moz-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -moz-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -moz-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -moz-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
@-o-keyframes flipInX {
  0% {
    -o-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -o-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -o-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -o-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInX;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
@-moz-keyframes flipInY {
  0% {
    -moz-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -moz-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -moz-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -moz-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
@-o-keyframes flipInY {
  0% {
    -o-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -o-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -o-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -o-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInY;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
@-moz-keyframes flipOutX {
  0% {
    -moz-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -moz-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
@-o-keyframes flipOutX {
  0% {
    -o-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -o-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  0% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -moz-animation-name: flipOutX;
  -moz-backface-visibility: visible !important;
  -o-animation-name: flipOutX;
  -o-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
@-moz-keyframes flipOutY {
  0% {
    -moz-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -moz-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
@-o-keyframes flipOutY {
  0% {
    -o-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -o-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  0% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipOutY;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate(80deg);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
  }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
  }
  100% {
    -webkit-transform: translateY(700px);
    opacity: 0;
  }
}
@-moz-keyframes hinge {
  0% {
    -moz-transform: rotate(0);
    -moz-transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -moz-transform: rotate(80deg);
    -moz-transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
  }
  40% {
    -moz-transform: rotate(60deg);
    -moz-transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
  }
  80% {
    -moz-transform: rotate(60deg) translateY(0);
    opacity: 1;
    -moz-transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
  }
  100% {
    -moz-transform: translateY(700px);
    opacity: 0;
  }
}
@-o-keyframes hinge {
  0% {
    -o-transform: rotate(0);
    -o-transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -o-transform: rotate(80deg);
    -o-transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
  }
  40% {
    -o-transform: rotate(60deg);
    -o-transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
  }
  80% {
    -o-transform: rotate(60deg) translateY(0);
    opacity: 1;
    -o-transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
  }
  100% {
    -o-transform: translateY(700px);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    transform: rotate(0);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  80% {
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  100% {
    transform: translateY(700px);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-name: hinge;
  -moz-animation-name: hinge;
  -o-animation-name: hinge;
  animation-name: hinge;
}
@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
@-moz-keyframes lightSpeedIn {
  0% {
    -moz-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -moz-transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -moz-transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -moz-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
@-o-keyframes lightSpeedIn {
  0% {
    -o-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -o-transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -o-transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -o-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  0% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  -moz-animation-name: lightSpeedIn;
  -o-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  -moz-animation-timing-function: ease-out;
  -o-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
@-moz-keyframes lightSpeedOut {
  0% {
    -moz-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -moz-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
@-o-keyframes lightSpeedOut {
  0% {
    -o-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -o-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  -moz-animation-name: lightSpeedOut;
  -o-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  -o-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes pulse {
  0% {
    -moz-transform: scale(1);
  }
  50% {
    -moz-transform: scale(1.1);
  }
  100% {
    -moz-transform: scale(1);
  }
}
@-o-keyframes pulse {
  0% {
    -o-transform: scale(1);
  }
  50% {
    -o-transform: scale(1.1);
  }
  100% {
    -o-transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  -moz-animation-name: pulse;
  -o-animation-name: pulse;
  animation-name: pulse;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
  }
}
@-moz-keyframes rollIn {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0px) rotate(0deg);
  }
}
@-o-keyframes rollIn {
  0% {
    opacity: 0;
    -o-transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0px) rotate(0deg);
  }
}
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  -moz-animation-name: rollIn;
  -o-animation-name: rollIn;
  animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
  }
}
@-moz-keyframes rollOut {
  0% {
    opacity: 1;
    -moz-transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(100%) rotate(120deg);
  }
}
@-o-keyframes rollOut {
  0% {
    opacity: 1;
    -o-transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(100%) rotate(120deg);
  }
}
@keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  -moz-animation-name: rollOut;
  -o-animation-name: rollOut;
  animation-name: rollOut;
}
@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateIn {
  0% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateIn {
  0% {
    -o-transform-origin: center center;
    -o-transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: center center;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  0% {
    transform-origin: center center;
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  -moz-animation-name: rotateIn;
  -o-animation-name: rotateIn;
  animation-name: rotateIn;
}
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateInDownLeft {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateInDownLeft {
  0% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  -moz-animation-name: rotateInDownLeft;
  -o-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}
@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateInDownRight {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateInDownRight {
  0% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  -moz-animation-name: rotateInDownRight;
  -o-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}
@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateInUpLeft {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateInUpLeft {
  0% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  -moz-animation-name: rotateInUpLeft;
  -o-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}
@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateInUpRight {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateInUpRight {
  0% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  -moz-animation-name: rotateInUpRight;
  -o-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}
@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOut {
  0% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(200deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOut {
  0% {
    -o-transform-origin: center center;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: center center;
    -o-transform: rotate(200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  0% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: center center;
    transform: rotate(200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  -moz-animation-name: rotateOut;
  -o-animation-name: rotateOut;
  animation-name: rotateOut;
}
@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutDownLeft {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOutDownLeft {
  0% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(90deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  -moz-animation-name: rotateOutDownLeft;
  -o-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}
@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutDownRight {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOutDownRight {
  0% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(-90deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  -moz-animation-name: rotateOutDownRight;
  -o-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}
@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutUpLeft {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOutUpLeft {
  0% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(-90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -transform-origin: left bottom;
    -transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  -moz-animation-name: rotateOutUpLeft;
  -o-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}
@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutUpRight {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOutUpRight {
  0% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  -moz-animation-name: rotateOutUpRight;
  -o-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}
@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
  }
}
@-moz-keyframes shake {
  0%,
  100% {
    -moz-transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -moz-transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -moz-transform: translateX(10px);
  }
}
@-o-keyframes shake {
  0%,
  100% {
    -o-transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -o-transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -o-transform: translateX(10px);
  }
}
@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(10px);
  }
}
.shake {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  -o-animation-name: shake;
  animation-name: shake;
}
@-webkit-keyframes swing {
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transform-origin: top center;
  }
  20% {
    -webkit-transform: rotate(15deg);
  }
  40% {
    -webkit-transform: rotate(-10deg);
  }
  60% {
    -webkit-transform: rotate(5deg);
  }
  80% {
    -webkit-transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}
@-moz-keyframes swing {
  20% {
    -moz-transform: rotate(15deg);
  }
  40% {
    -moz-transform: rotate(-10deg);
  }
  60% {
    -moz-transform: rotate(5deg);
  }
  80% {
    -moz-transform: rotate(-5deg);
  }
  100% {
    -moz-transform: rotate(0deg);
  }
}
@-o-keyframes swing {
  20% {
    -o-transform: rotate(15deg);
  }
  40% {
    -o-transform: rotate(-10deg);
  }
  60% {
    -o-transform: rotate(5deg);
  }
  80% {
    -o-transform: rotate(-5deg);
  }
  100% {
    -o-transform: rotate(0deg);
  }
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
  -moz-transform-origin: top center;
  -o-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  -moz-animation-name: swing;
  -o-animation-name: swing;
  animation-name: swing;
}
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
  }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0);
  }
}
@-moz-keyframes tada {
  0% {
    -moz-transform: scale(1);
  }
  10%,
  20% {
    -moz-transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -moz-transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -moz-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -moz-transform: scale(1) rotate(0);
  }
}
@-o-keyframes tada {
  0% {
    -o-transform: scale(1);
  }
  10%,
  20% {
    -o-transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -o-transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -o-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -o-transform: scale(1) rotate(0);
  }
}
@keyframes tada {
  0% {
    transform: scale(1);
  }
  10%,
  20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
.tada {
  -webkit-animation-name: tada;
  -moz-animation-name: tada;
  -o-animation-name: tada;
  animation-name: tada;
}
@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
  }
  10% {
    -webkit-transform: skewX(-8deg);
  }
  20% {
    -webkit-transform: skewX(7deg);
  }
  30% {
    -webkit-transform: skewX(-6deg);
  }
  40% {
    -webkit-transform: skewX(5deg);
  }
  50% {
    -webkit-transform: skewX(-4deg);
  }
  60% {
    -webkit-transform: skewX(3deg);
  }
  70% {
    -webkit-transform: skewX(-2deg);
  }
  80% {
    -webkit-transform: skewX(1deg);
  }
  90% {
    -webkit-transform: skewX(0deg);
  }
  100% {
    -webkit-transform: skewX(0deg);
  }
}
@-moz-keyframes wiggle {
  0% {
    -moz-transform: skewX(9deg);
  }
  10% {
    -moz-transform: skewX(-8deg);
  }
  20% {
    -moz-transform: skewX(7deg);
  }
  30% {
    -moz-transform: skewX(-6deg);
  }
  40% {
    -moz-transform: skewX(5deg);
  }
  50% {
    -moz-transform: skewX(-4deg);
  }
  60% {
    -moz-transform: skewX(3deg);
  }
  70% {
    -moz-transform: skewX(-2deg);
  }
  80% {
    -moz-transform: skewX(1deg);
  }
  90% {
    -moz-transform: skewX(0deg);
  }
  100% {
    -moz-transform: skewX(0deg);
  }
}
@-o-keyframes wiggle {
  0% {
    -o-transform: skewX(9deg);
  }
  10% {
    -o-transform: skewX(-8deg);
  }
  20% {
    -o-transform: skewX(7deg);
  }
  30% {
    -o-transform: skewX(-6deg);
  }
  40% {
    -o-transform: skewX(5deg);
  }
  50% {
    -o-transform: skewX(-4deg);
  }
  60% {
    -o-transform: skewX(3deg);
  }
  70% {
    -o-transform: skewX(-2deg);
  }
  80% {
    -o-transform: skewX(1deg);
  }
  90% {
    -o-transform: skewX(0deg);
  }
  100% {
    -o-transform: skewX(0deg);
  }
}
@keyframes wiggle {
  0% {
    transform: skewX(9deg);
  }
  10% {
    transform: skewX(-8deg);
  }
  20% {
    transform: skewX(7deg);
  }
  30% {
    transform: skewX(-6deg);
  }
  40% {
    transform: skewX(5deg);
  }
  50% {
    transform: skewX(-4deg);
  }
  60% {
    transform: skewX(3deg);
  }
  70% {
    transform: skewX(-2deg);
  }
  80% {
    transform: skewX(1deg);
  }
  90% {
    transform: skewX(0deg);
  }
  100% {
    transform: skewX(0deg);
  }
}
.wiggle {
  -webkit-animation-name: wiggle;
  -moz-animation-name: wiggle;
  -o-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  -o-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
  }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
  }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -webkit-transform: translateX(0%);
  }
}
@-moz-keyframes wobble {
  0% {
    -moz-transform: translateX(0%);
  }
  15% {
    -moz-transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -moz-transform: translateX(20%) rotate(3deg);
  }
  45% {
    -moz-transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -moz-transform: translateX(10%) rotate(2deg);
  }
  75% {
    -moz-transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -moz-transform: translateX(0%);
  }
}
@-o-keyframes wobble {
  0% {
    -o-transform: translateX(0%);
  }
  15% {
    -o-transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -o-transform: translateX(20%) rotate(3deg);
  }
  45% {
    -o-transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -o-transform: translateX(10%) rotate(2deg);
  }
  75% {
    -o-transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -o-transform: translateX(0%);
  }
}
@keyframes wobble {
  0% {
    transform: translateX(0%);
  }
  15% {
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    transform: translateX(0%);
  }
}
.wobble {
  -webkit-animation-name: wobble;
  -moz-animation-name: wobble;
  -o-animation-name: wobble;
  animation-name: wobble;
}
/*!
 * Hover.css (http://ianlunn.github.io/Hover/)
 * Version: 2.3.2
 * Author: Ian Lunn @IanLunn
 * Author URL: http://ianlunn.co.uk/
 * Github: https://github.com/IanLunn/Hover

 * Hover.css Copyright Ian Lunn 2017. Generated with Sass.
 */
/* 2D TRANSITIONS */
/* Grow */
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
/* Shrink */
.hvr-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-shrink:hover,
.hvr-shrink:focus,
.hvr-shrink:active {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}
/* Pulse */
@-webkit-keyframes hvr-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
@keyframes hvr-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
.hvr-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pulse:hover,
.hvr-pulse:focus,
.hvr-pulse:active {
  -webkit-animation-name: hvr-pulse;
  animation-name: hvr-pulse;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
/* Pulse Grow */
@-webkit-keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@keyframes hvr-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
.hvr-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pulse-grow:hover,
.hvr-pulse-grow:focus,
.hvr-pulse-grow:active {
  -webkit-animation-name: hvr-pulse-grow;
  animation-name: hvr-pulse-grow;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
/* Pulse Shrink */
@-webkit-keyframes hvr-pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
@keyframes hvr-pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
.hvr-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pulse-shrink:hover,
.hvr-pulse-shrink:focus,
.hvr-pulse-shrink:active {
  -webkit-animation-name: hvr-pulse-shrink;
  animation-name: hvr-pulse-shrink;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
/* Push */
@-webkit-keyframes hvr-push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes hvr-push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.hvr-push {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-push:hover,
.hvr-push:focus,
.hvr-push:active {
  -webkit-animation-name: hvr-push;
  animation-name: hvr-push;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Pop */
@-webkit-keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
@keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
.hvr-pop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-pop:hover,
.hvr-pop:focus,
.hvr-pop:active {
  -webkit-animation-name: hvr-pop;
  animation-name: hvr-pop;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Bounce In */
.hvr-bounce-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hvr-bounce-in:hover,
.hvr-bounce-in:focus,
.hvr-bounce-in:active {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}
/* Bounce Out */
.hvr-bounce-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hvr-bounce-out:hover,
.hvr-bounce-out:focus,
.hvr-bounce-out:active {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}
/* Rotate */
.hvr-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-rotate:hover,
.hvr-rotate:focus,
.hvr-rotate:active {
  -webkit-transform: rotate(4deg);
  transform: rotate(4deg);
}
/* Grow Rotate */
.hvr-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow-rotate:hover,
.hvr-grow-rotate:focus,
.hvr-grow-rotate:active {
  -webkit-transform: scale(1.1) rotate(4deg);
  transform: scale(1.1) rotate(4deg);
}
/* Float */
.hvr-float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-float:hover,
.hvr-float:focus,
.hvr-float:active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}
/* Sink */
.hvr-sink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-sink:hover,
.hvr-sink:focus,
.hvr-sink:active {
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}
/* Bob */
@-webkit-keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@-webkit-keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
.hvr-bob {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-bob:hover,
.hvr-bob:focus,
.hvr-bob:active {
  -webkit-animation-name: hvr-bob-float, hvr-bob;
  animation-name: hvr-bob-float, hvr-bob;
  -webkit-animation-duration: 0.3s, 1.5s;
  animation-duration: 0.3s, 1.5s;
  -webkit-animation-delay: 0s, 0.3s;
  animation-delay: 0s, 0.3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}
/* Hang */
@-webkit-keyframes hvr-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}
@keyframes hvr-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}
@-webkit-keyframes hvr-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}
@keyframes hvr-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}
.hvr-hang {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-hang:hover,
.hvr-hang:focus,
.hvr-hang:active {
  -webkit-animation-name: hvr-hang-sink, hvr-hang;
  animation-name: hvr-hang-sink, hvr-hang;
  -webkit-animation-duration: 0.3s, 1.5s;
  animation-duration: 0.3s, 1.5s;
  -webkit-animation-delay: 0s, 0.3s;
  animation-delay: 0s, 0.3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}
/* Skew */
.hvr-skew {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-skew:hover,
.hvr-skew:focus,
.hvr-skew:active {
  -webkit-transform: skew(-10deg);
  transform: skew(-10deg);
}
/* Skew Forward */
.hvr-skew-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.hvr-skew-forward:hover,
.hvr-skew-forward:focus,
.hvr-skew-forward:active {
  -webkit-transform: skew(-10deg);
  transform: skew(-10deg);
}
/* Skew Backward */
.hvr-skew-backward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.hvr-skew-backward:hover,
.hvr-skew-backward:focus,
.hvr-skew-backward:active {
  -webkit-transform: skew(10deg);
  transform: skew(10deg);
}
/* Wobble Vertical */
@-webkit-keyframes hvr-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes hvr-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.hvr-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-vertical:hover,
.hvr-wobble-vertical:focus,
.hvr-wobble-vertical:active {
  -webkit-animation-name: hvr-wobble-vertical;
  animation-name: hvr-wobble-vertical;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Wobble Horizontal */
@-webkit-keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes hvr-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.hvr-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-horizontal:hover,
.hvr-wobble-horizontal:focus,
.hvr-wobble-horizontal:active {
  -webkit-animation-name: hvr-wobble-horizontal;
  animation-name: hvr-wobble-horizontal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Wobble To Bottom Right */
@-webkit-keyframes hvr-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px);
  }
  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px);
  }
  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
  }
  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px);
  }
  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes hvr-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px);
  }
  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px);
  }
  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
  }
  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px);
  }
  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.hvr-wobble-to-bottom-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-to-bottom-right:hover,
.hvr-wobble-to-bottom-right:focus,
.hvr-wobble-to-bottom-right:active {
  -webkit-animation-name: hvr-wobble-to-bottom-right;
  animation-name: hvr-wobble-to-bottom-right;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Wobble To Top Right */
@-webkit-keyframes hvr-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }
  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px);
  }
  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
  }
  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px);
  }
  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes hvr-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }
  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px);
  }
  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
  }
  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px);
  }
  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.hvr-wobble-to-top-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-to-top-right:hover,
.hvr-wobble-to-top-right:focus,
.hvr-wobble-to-top-right:active {
  -webkit-animation-name: hvr-wobble-to-top-right;
  animation-name: hvr-wobble-to-top-right;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Wobble Top */
@-webkit-keyframes hvr-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
@keyframes hvr-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
.hvr-wobble-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.hvr-wobble-top:hover,
.hvr-wobble-top:focus,
.hvr-wobble-top:active {
  -webkit-animation-name: hvr-wobble-top;
  animation-name: hvr-wobble-top;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Wobble Bottom */
@-webkit-keyframes hvr-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
@keyframes hvr-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
.hvr-wobble-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}
.hvr-wobble-bottom:hover,
.hvr-wobble-bottom:focus,
.hvr-wobble-bottom:active {
  -webkit-animation-name: hvr-wobble-bottom;
  animation-name: hvr-wobble-bottom;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Wobble Skew */
@-webkit-keyframes hvr-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
@keyframes hvr-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
.hvr-wobble-skew {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-wobble-skew:hover,
.hvr-wobble-skew:focus,
.hvr-wobble-skew:active {
  -webkit-animation-name: hvr-wobble-skew;
  animation-name: hvr-wobble-skew;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Buzz */
@-webkit-keyframes hvr-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
@keyframes hvr-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hvr-buzz {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-buzz:hover,
.hvr-buzz:focus,
.hvr-buzz:active {
  -webkit-animation-name: hvr-buzz;
  animation-name: hvr-buzz;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
/* Buzz Out */
@-webkit-keyframes hvr-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
@keyframes hvr-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
.hvr-buzz-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-buzz-out:hover,
.hvr-buzz-out:focus,
.hvr-buzz-out:active {
  -webkit-animation-name: hvr-buzz-out;
  animation-name: hvr-buzz-out;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Forward */
.hvr-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-forward:hover,
.hvr-forward:focus,
.hvr-forward:active {
  -webkit-transform: translateX(8px);
  transform: translateX(8px);
}
/* Backward */
.hvr-backward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-backward:hover,
.hvr-backward:focus,
.hvr-backward:active {
  -webkit-transform: translateX(-8px);
  transform: translateX(-8px);
}
/* BACKGROUND TRANSITIONS */
/* Fade */
.hvr-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}
.hvr-fade:hover,
.hvr-fade:focus,
.hvr-fade:active {
  background-color: #2098D1;
  color: white;
}
/* Back Pulse */
@-webkit-keyframes hvr-back-pulse {
  50% {
    background-color: rgba(32, 152, 209, 0.75);
  }
}
@keyframes hvr-back-pulse {
  50% {
    background-color: rgba(32, 152, 209, 0.75);
  }
}
.hvr-back-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}
.hvr-back-pulse:hover,
.hvr-back-pulse:focus,
.hvr-back-pulse:active {
  -webkit-animation-name: hvr-back-pulse;
  animation-name: hvr-back-pulse;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  background-color: #2098D1;
  background-color: #2098d1;
  color: white;
}
/* Sweep To Right */
.hvr-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-sweep-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-right:hover,
.hvr-sweep-to-right:focus,
.hvr-sweep-to-right:active {
  color: white;
}
.hvr-sweep-to-right:hover:before,
.hvr-sweep-to-right:focus:before,
.hvr-sweep-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
/* Sweep To Left */
.hvr-sweep-to-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-sweep-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-left:hover,
.hvr-sweep-to-left:focus,
.hvr-sweep-to-left:active {
  color: white;
}
.hvr-sweep-to-left:hover:before,
.hvr-sweep-to-left:focus:before,
.hvr-sweep-to-left:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
/* Sweep To Bottom */
.hvr-sweep-to-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-sweep-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-bottom:hover,
.hvr-sweep-to-bottom:focus,
.hvr-sweep-to-bottom:active {
  color: white;
}
.hvr-sweep-to-bottom:hover:before,
.hvr-sweep-to-bottom:focus:before,
.hvr-sweep-to-bottom:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}
/* Sweep To Top */
.hvr-sweep-to-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-sweep-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-top:hover,
.hvr-sweep-to-top:focus,
.hvr-sweep-to-top:active {
  color: white;
}
.hvr-sweep-to-top:hover:before,
.hvr-sweep-to-top:focus:before,
.hvr-sweep-to-top:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}
/* Bounce To Right */
.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-right:hover,
.hvr-bounce-to-right:focus,
.hvr-bounce-to-right:active {
  color: white;
}
.hvr-bounce-to-right:hover:before,
.hvr-bounce-to-right:focus:before,
.hvr-bounce-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
/* Bounce To Left */
.hvr-bounce-to-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hvr-bounce-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-left:hover,
.hvr-bounce-to-left:focus,
.hvr-bounce-to-left:active {
  color: white;
}
.hvr-bounce-to-left:hover:before,
.hvr-bounce-to-left:focus:before,
.hvr-bounce-to-left:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
/* Bounce To Bottom */
.hvr-bounce-to-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hvr-bounce-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-bottom:hover,
.hvr-bounce-to-bottom:focus,
.hvr-bounce-to-bottom:active {
  color: white;
}
.hvr-bounce-to-bottom:hover:before,
.hvr-bounce-to-bottom:focus:before,
.hvr-bounce-to-bottom:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
/* Bounce To Top */
.hvr-bounce-to-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hvr-bounce-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-top:hover,
.hvr-bounce-to-top:focus,
.hvr-bounce-to-top:active {
  color: white;
}
.hvr-bounce-to-top:hover:before,
.hvr-bounce-to-top:focus:before,
.hvr-bounce-to-top:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
/* Radial Out */
.hvr-radial-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-radial-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  border-radius: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-radial-out:hover,
.hvr-radial-out:focus,
.hvr-radial-out:active {
  color: white;
}
.hvr-radial-out:hover:before,
.hvr-radial-out:focus:before,
.hvr-radial-out:active:before {
  -webkit-transform: scale(2);
  transform: scale(2);
}
/* Radial In */
.hvr-radial-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
  background: #2098D1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-radial-in:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #e1e1e1;
  border-radius: 100%;
  -webkit-transform: scale(2);
  transform: scale(2);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-radial-in:hover,
.hvr-radial-in:focus,
.hvr-radial-in:active {
  color: white;
}
.hvr-radial-in:hover:before,
.hvr-radial-in:focus:before,
.hvr-radial-in:active:before {
  -webkit-transform: scale(0);
  transform: scale(0);
}
/* Rectangle In */
.hvr-rectangle-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-rectangle-in:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #e1e1e1;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-rectangle-in:hover,
.hvr-rectangle-in:focus,
.hvr-rectangle-in:active {
  color: white;
}
.hvr-rectangle-in:hover:before,
.hvr-rectangle-in:focus:before,
.hvr-rectangle-in:active:before {
  -webkit-transform: scale(0);
  transform: scale(0);
}
/* Rectangle Out */
.hvr-rectangle-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-rectangle-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-rectangle-out:hover,
.hvr-rectangle-out:focus,
.hvr-rectangle-out:active {
  color: white;
}
.hvr-rectangle-out:hover:before,
.hvr-rectangle-out:focus:before,
.hvr-rectangle-out:active:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}
/* Shutter In Horizontal */
.hvr-shutter-in-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-shutter-in-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #e1e1e1;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-shutter-in-horizontal:hover,
.hvr-shutter-in-horizontal:focus,
.hvr-shutter-in-horizontal:active {
  color: white;
}
.hvr-shutter-in-horizontal:hover:before,
.hvr-shutter-in-horizontal:focus:before,
.hvr-shutter-in-horizontal:active:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}
/* Shutter Out Horizontal */
.hvr-shutter-out-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-shutter-out-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2098D1;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-shutter-out-horizontal:hover,
.hvr-shutter-out-horizontal:focus,
.hvr-shutter-out-horizontal:active {
  color: white;
}
.hvr-shutter-out-horizontal:hover:before,
.hvr-shutter-out-horizontal:focus:before,
.hvr-shutter-out-horizontal:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
/* Shutter In Vertical */
.hvr-shutter-in-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #2098D1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-shutter-in-vertical:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #e1e1e1;
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-shutter-in-vertical:hover,
.hvr-shutter-in-vertical:focus,
.hvr-shutter-in-vertical:active {
  color: white;
}
.hvr-shutter-in-vertical:hover:before,
.hvr-shutter-in-vertical:focus:before,
.hvr-shutter-in-vertical:active:before {
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
}
/* Shutter Out Vertical */
.hvr-shutter-out-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-shutter-out-vertical:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #2098D1;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-shutter-out-vertical:hover,
.hvr-shutter-out-vertical:focus,
.hvr-shutter-out-vertical:active {
  color: white;
}
.hvr-shutter-out-vertical:hover:before,
.hvr-shutter-out-vertical:focus:before,
.hvr-shutter-out-vertical:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}
/* BORDER TRANSITIONS */
/* Border Fade */
.hvr-border-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}
.hvr-border-fade:hover,
.hvr-border-fade:focus,
.hvr-border-fade:active {
  box-shadow: inset 0 0 0 4px #2098D1, 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}
/* Hollow */
.hvr-hollow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: background;
  transition-property: background;
  box-shadow: inset 0 0 0 4px #e1e1e1, 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}
.hvr-hollow:hover,
.hvr-hollow:focus,
.hvr-hollow:active {
  background: none;
}
/* Trim */
.hvr-trim {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-trim:before {
  content: '';
  position: absolute;
  border: white solid 4px;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.hvr-trim:hover:before,
.hvr-trim:focus:before,
.hvr-trim:active:before {
  opacity: 1;
}
/* Ripple Out */
@-webkit-keyframes hvr-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
@keyframes hvr-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
.hvr-ripple-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-ripple-out:before {
  content: '';
  position: absolute;
  border: #e1e1e1 solid 6px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.hvr-ripple-out:hover:before,
.hvr-ripple-out:focus:before,
.hvr-ripple-out:active:before {
  -webkit-animation-name: hvr-ripple-out;
  animation-name: hvr-ripple-out;
}
/* Ripple In */
@-webkit-keyframes hvr-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
}
@keyframes hvr-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
}
.hvr-ripple-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-ripple-in:before {
  content: '';
  position: absolute;
  border: #e1e1e1 solid 4px;
  top: -12px;
  right: -12px;
  bottom: -12px;
  left: -12px;
  opacity: 0;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.hvr-ripple-in:hover:before,
.hvr-ripple-in:focus:before,
.hvr-ripple-in:active:before {
  -webkit-animation-name: hvr-ripple-in;
  animation-name: hvr-ripple-in;
}
/* Outline Out */
.hvr-outline-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-outline-out:before {
  content: '';
  position: absolute;
  border: #e1e1e1 solid 4px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: top, right, bottom, left;
  transition-property: top, right, bottom, left;
}
.hvr-outline-out:hover:before,
.hvr-outline-out:focus:before,
.hvr-outline-out:active:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
}
/* Outline In */
.hvr-outline-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-outline-in:before {
  pointer-events: none;
  content: '';
  position: absolute;
  border: #e1e1e1 solid 4px;
  top: -16px;
  right: -16px;
  bottom: -16px;
  left: -16px;
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: top, right, bottom, left;
  transition-property: top, right, bottom, left;
}
.hvr-outline-in:hover:before,
.hvr-outline-in:focus:before,
.hvr-outline-in:active:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  opacity: 1;
}
/* Round Corners */
.hvr-round-corners {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: border-radius;
  transition-property: border-radius;
}
.hvr-round-corners:hover,
.hvr-round-corners:focus,
.hvr-round-corners:active {
  border-radius: 1em;
}
/* Underline From Left */
.hvr-underline-from-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-underline-from-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-underline-from-left:hover:before,
.hvr-underline-from-left:focus:before,
.hvr-underline-from-left:active:before {
  right: 0;
}
/* Underline From Center */
.hvr-underline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-underline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-underline-from-center:hover:before,
.hvr-underline-from-center:focus:before,
.hvr-underline-from-center:active:before {
  left: 0;
  right: 0;
}
/* Underline From Right */
.hvr-underline-from-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-underline-from-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 100%;
  right: 0;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  -webkit-transition-property: left;
  transition-property: left;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-underline-from-right:hover:before,
.hvr-underline-from-right:focus:before,
.hvr-underline-from-right:active:before {
  left: 0;
}
/* Overline From Left */
.hvr-overline-from-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-overline-from-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  top: 0;
  background: #2098D1;
  height: 4px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-overline-from-left:hover:before,
.hvr-overline-from-left:focus:before,
.hvr-overline-from-left:active:before {
  right: 0;
}
/* Overline From Center */
.hvr-overline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-overline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  top: 0;
  background: #2098D1;
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-overline-from-center:hover:before,
.hvr-overline-from-center:focus:before,
.hvr-overline-from-center:active:before {
  left: 0;
  right: 0;
}
/* Overline From Right */
.hvr-overline-from-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-overline-from-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 100%;
  right: 0;
  top: 0;
  background: #2098D1;
  height: 4px;
  -webkit-transition-property: left;
  transition-property: left;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-overline-from-right:hover:before,
.hvr-overline-from-right:focus:before,
.hvr-overline-from-right:active:before {
  left: 0;
}
/* Reveal */
.hvr-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-color: #2098D1;
  border-style: solid;
  border-width: 0;
  -webkit-transition-property: border-width;
  transition-property: border-width;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-reveal:hover:before,
.hvr-reveal:focus:before,
.hvr-reveal:active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  border-width: 4px;
}
/* Underline Reveal */
.hvr-underline-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-underline-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  height: 4px;
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-underline-reveal:hover:before,
.hvr-underline-reveal:focus:before,
.hvr-underline-reveal:active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
/* Overline Reveal */
.hvr-overline-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hvr-overline-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  background: #2098D1;
  height: 4px;
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-overline-reveal:hover:before,
.hvr-overline-reveal:focus:before,
.hvr-overline-reveal:active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
/* SHADOW/GLOW TRANSITIONS */
/* Glow */
.hvr-glow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
}
.hvr-glow:hover,
.hvr-glow:focus,
.hvr-glow:active {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
/* Shadow */
.hvr-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
}
.hvr-shadow:hover,
.hvr-shadow:focus,
.hvr-shadow:active {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
}
/* Grow Shadow */
.hvr-grow-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow, transform;
  transition-property: box-shadow, transform;
}
.hvr-grow-shadow:hover,
.hvr-grow-shadow:focus,
.hvr-grow-shadow:active {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
/* Box Shadow Outset */
.hvr-box-shadow-outset {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
}
.hvr-box-shadow-outset:hover,
.hvr-box-shadow-outset:focus,
.hvr-box-shadow-outset:active {
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
}
/* Box Shadow Inset */
.hvr-box-shadow-inset {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}
.hvr-box-shadow-inset:hover,
.hvr-box-shadow-inset:focus,
.hvr-box-shadow-inset:active {
  box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}
/* Float Shadow */
.hvr-float-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-float-shadow:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  top: 100%;
  left: 5%;
  height: 10px;
  width: 90%;
  opacity: 0;
  background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
  /* W3C */
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform, opacity;
  transition-property: transform, opacity;
}
.hvr-float-shadow:hover,
.hvr-float-shadow:focus,
.hvr-float-shadow:active {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
  /* move the element up by 5px */
}
.hvr-float-shadow:hover:before,
.hvr-float-shadow:focus:before,
.hvr-float-shadow:active:before {
  opacity: 1;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
  /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */
}
/* Shadow Radial */
.hvr-shadow-radial {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-shadow-radial:before,
.hvr-shadow-radial:after {
  pointer-events: none;
  position: absolute;
  content: '';
  left: 0;
  width: 100%;
  box-sizing: border-box;
  background-repeat: no-repeat;
  height: 5px;
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.hvr-shadow-radial:before {
  bottom: 100%;
  background: -webkit-radial-gradient(50% 150%, ellipse, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
}
.hvr-shadow-radial:after {
  top: 100%;
  background: -webkit-radial-gradient(50% -50%, ellipse, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
}
.hvr-shadow-radial:hover:before,
.hvr-shadow-radial:focus:before,
.hvr-shadow-radial:active:before,
.hvr-shadow-radial:hover:after,
.hvr-shadow-radial:focus:after,
.hvr-shadow-radial:active:after {
  opacity: 1;
}
/* SPEECH BUBBLES */
/* Bubble Top */
.hvr-bubble-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-bubble-top:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  border-style: solid;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  left: calc(50% - 10px);
  top: 0;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #e1e1e1 transparent;
}
.hvr-bubble-top:hover:before,
.hvr-bubble-top:focus:before,
.hvr-bubble-top:active:before {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}
/* Bubble Right */
.hvr-bubble-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-bubble-right:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  border-style: solid;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  top: calc(50% - 10px);
  right: 0;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #e1e1e1;
}
.hvr-bubble-right:hover:before,
.hvr-bubble-right:focus:before,
.hvr-bubble-right:active:before {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}
/* Bubble Bottom */
.hvr-bubble-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-bubble-bottom:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  border-style: solid;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  left: calc(50% - 10px);
  bottom: 0;
  border-width: 10px 10px 0 10px;
  border-color: #e1e1e1 transparent transparent transparent;
}
.hvr-bubble-bottom:hover:before,
.hvr-bubble-bottom:focus:before,
.hvr-bubble-bottom:active:before {
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}
/* Bubble Left */
.hvr-bubble-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-bubble-left:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  border-style: solid;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  top: calc(50% - 10px);
  left: 0;
  border-width: 10px 10px 10px 0;
  border-color: transparent #e1e1e1 transparent transparent;
}
.hvr-bubble-left:hover:before,
.hvr-bubble-left:focus:before,
.hvr-bubble-left:active:before {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
}
/* Bubble Float Top */
.hvr-bubble-float-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-bubble-float-top:before {
  position: absolute;
  z-index: -1;
  content: '';
  left: calc(50% - 10px);
  top: 0;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #e1e1e1 transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-bubble-float-top:hover,
.hvr-bubble-float-top:focus,
.hvr-bubble-float-top:active {
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}
.hvr-bubble-float-top:hover:before,
.hvr-bubble-float-top:focus:before,
.hvr-bubble-float-top:active:before {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}
/* Bubble Float Right */
.hvr-bubble-float-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-bubble-float-right:before {
  position: absolute;
  z-index: -1;
  top: calc(50% - 10px);
  right: 0;
  content: '';
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #e1e1e1;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-bubble-float-right:hover,
.hvr-bubble-float-right:focus,
.hvr-bubble-float-right:active {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
}
.hvr-bubble-float-right:hover:before,
.hvr-bubble-float-right:focus:before,
.hvr-bubble-float-right:active:before {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}
/* Bubble Float Bottom */
.hvr-bubble-float-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-bubble-float-bottom:before {
  position: absolute;
  z-index: -1;
  content: '';
  left: calc(50% - 10px);
  bottom: 0;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #e1e1e1 transparent transparent transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-bubble-float-bottom:hover,
.hvr-bubble-float-bottom:focus,
.hvr-bubble-float-bottom:active {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}
.hvr-bubble-float-bottom:hover:before,
.hvr-bubble-float-bottom:focus:before,
.hvr-bubble-float-bottom:active:before {
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}
/* Bubble Float Left */
.hvr-bubble-float-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-bubble-float-left:before {
  position: absolute;
  z-index: -1;
  content: '';
  top: calc(50% - 10px);
  left: 0;
  border-style: solid;
  border-width: 10px 10px 10px 0;
  border-color: transparent #e1e1e1 transparent transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-bubble-float-left:hover,
.hvr-bubble-float-left:focus,
.hvr-bubble-float-left:active {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}
.hvr-bubble-float-left:hover:before,
.hvr-bubble-float-left:focus:before,
.hvr-bubble-float-left:active:before {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
}
/* ICONS */
/* Icon Back */
.hvr-icon-back {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.hvr-icon-back .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-back:hover .hvr-icon,
.hvr-icon-back:focus .hvr-icon,
.hvr-icon-back:active .hvr-icon {
  -webkit-transform: translateX(-4px);
  transform: translateX(-4px);
}
/* Icon Forward */
.hvr-icon-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.hvr-icon-forward .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-forward:hover .hvr-icon,
.hvr-icon-forward:focus .hvr-icon,
.hvr-icon-forward:active .hvr-icon {
  -webkit-transform: translateX(4px);
  transform: translateX(4px);
}
/* Icon Down */
@-webkit-keyframes hvr-icon-down {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
  75% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
@keyframes hvr-icon-down {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
  75% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
/* Icon Down */
.hvr-icon-down {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-down .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-down:hover .hvr-icon,
.hvr-icon-down:focus .hvr-icon,
.hvr-icon-down:active .hvr-icon {
  -webkit-animation-name: hvr-icon-down;
  animation-name: hvr-icon-down;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
/* Icon Up */
@-webkit-keyframes hvr-icon-up {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
  75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
@keyframes hvr-icon-up {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
  75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
/* Icon Up */
.hvr-icon-up {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-up .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-up:hover .hvr-icon,
.hvr-icon-up:focus .hvr-icon,
.hvr-icon-up:active .hvr-icon {
  -webkit-animation-name: hvr-icon-up;
  animation-name: hvr-icon-up;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
/* Icon Spin */
.hvr-icon-spin {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-spin .hvr-icon {
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}
.hvr-icon-spin:hover .hvr-icon,
.hvr-icon-spin:focus .hvr-icon,
.hvr-icon-spin:active .hvr-icon {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
/* Icon Drop */
@-webkit-keyframes hvr-icon-drop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  51%,
  100% {
    opacity: 1;
  }
}
@keyframes hvr-icon-drop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  51%,
  100% {
    opacity: 1;
  }
}
/* Icon Drop */
.hvr-icon-drop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-drop .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-drop:hover .hvr-icon,
.hvr-icon-drop:focus .hvr-icon,
.hvr-icon-drop:active .hvr-icon {
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-animation-name: hvr-icon-drop;
  animation-name: hvr-icon-drop;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
/* Icon Fade */
.hvr-icon-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-fade .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: color;
  transition-property: color;
}
.hvr-icon-fade:hover .hvr-icon,
.hvr-icon-fade:focus .hvr-icon,
.hvr-icon-fade:active .hvr-icon {
  color: #0F9E5E;
}
/* Icon Float Away */
@-webkit-keyframes hvr-icon-float-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em);
  }
}
@keyframes hvr-icon-float-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em);
  }
}
/* Icon Float Away */
.hvr-icon-float-away {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-float-away .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.hvr-icon-float-away:hover .hvr-icon,
.hvr-icon-float-away:focus .hvr-icon,
.hvr-icon-float-away:active .hvr-icon {
  -webkit-animation-name: hvr-icon-float-away;
  animation-name: hvr-icon-float-away;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
/* Icon Sink Away */
@-webkit-keyframes hvr-icon-sink-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(1em);
    transform: translateY(1em);
  }
}
@keyframes hvr-icon-sink-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(1em);
    transform: translateY(1em);
  }
}
/* Icon Sink Away */
.hvr-icon-sink-away {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-sink-away .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.hvr-icon-sink-away:hover .hvr-icon,
.hvr-icon-sink-away:focus .hvr-icon,
.hvr-icon-sink-away:active .hvr-icon {
  -webkit-animation-name: hvr-icon-sink-away;
  animation-name: hvr-icon-sink-away;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
/* Icon Grow */
.hvr-icon-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-grow .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-grow:hover .hvr-icon,
.hvr-icon-grow:focus .hvr-icon,
.hvr-icon-grow:active .hvr-icon {
  -webkit-transform: scale(1.3) translateZ(0);
  transform: scale(1.3) translateZ(0);
}
/* Icon Shrink */
.hvr-icon-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-shrink .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-shrink:hover .hvr-icon,
.hvr-icon-shrink:focus .hvr-icon,
.hvr-icon-shrink:active .hvr-icon {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
}
/* Icon Pulse */
@-webkit-keyframes hvr-icon-pulse {
  25% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  75% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}
@keyframes hvr-icon-pulse {
  25% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  75% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}
.hvr-icon-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-pulse .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-pulse:hover .hvr-icon,
.hvr-icon-pulse:focus .hvr-icon,
.hvr-icon-pulse:active .hvr-icon {
  -webkit-animation-name: hvr-icon-pulse;
  animation-name: hvr-icon-pulse;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
/* Icon Pulse Grow */
@-webkit-keyframes hvr-icon-pulse-grow {
  to {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
}
@keyframes hvr-icon-pulse-grow {
  to {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
}
.hvr-icon-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-pulse-grow .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-pulse-grow:hover .hvr-icon,
.hvr-icon-pulse-grow:focus .hvr-icon,
.hvr-icon-pulse-grow:active .hvr-icon {
  -webkit-animation-name: hvr-icon-pulse-grow;
  animation-name: hvr-icon-pulse-grow;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
/* Icon Pulse Shrink */
@-webkit-keyframes hvr-icon-pulse-shrink {
  to {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}
@keyframes hvr-icon-pulse-shrink {
  to {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}
.hvr-icon-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-icon-pulse-shrink .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-pulse-shrink:hover .hvr-icon,
.hvr-icon-pulse-shrink:focus .hvr-icon,
.hvr-icon-pulse-shrink:active .hvr-icon {
  -webkit-animation-name: hvr-icon-pulse-shrink;
  animation-name: hvr-icon-pulse-shrink;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
/* Icon Push */
@-webkit-keyframes hvr-icon-push {
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
}
@keyframes hvr-icon-push {
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
}
.hvr-icon-push {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-push .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-push:hover .hvr-icon,
.hvr-icon-push:focus .hvr-icon,
.hvr-icon-push:active .hvr-icon {
  -webkit-animation-name: hvr-icon-push;
  animation-name: hvr-icon-push;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Icon Pop */
@-webkit-keyframes hvr-icon-pop {
  50% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
}
@keyframes hvr-icon-pop {
  50% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
}
.hvr-icon-pop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-pop .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-pop:hover .hvr-icon,
.hvr-icon-pop:focus .hvr-icon,
.hvr-icon-pop:active .hvr-icon {
  -webkit-animation-name: hvr-icon-pop;
  animation-name: hvr-icon-pop;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Icon Bounce */
.hvr-icon-bounce {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-bounce .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-bounce:hover .hvr-icon,
.hvr-icon-bounce:focus .hvr-icon,
.hvr-icon-bounce:active .hvr-icon {
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}
/* Icon Rotate */
.hvr-icon-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-rotate .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-rotate:hover .hvr-icon,
.hvr-icon-rotate:focus .hvr-icon,
.hvr-icon-rotate:active .hvr-icon {
  -webkit-transform: rotate(20deg);
  transform: rotate(20deg);
}
/* Icon Grow Rotate */
.hvr-icon-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-grow-rotate .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-grow-rotate:hover .hvr-icon,
.hvr-icon-grow-rotate:focus .hvr-icon,
.hvr-icon-grow-rotate:active .hvr-icon {
  -webkit-transform: scale(1.5) rotate(12deg);
  transform: scale(1.5) rotate(12deg);
}
/* Icon Float */
.hvr-icon-float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-float .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-float:hover .hvr-icon,
.hvr-icon-float:focus .hvr-icon,
.hvr-icon-float:active .hvr-icon {
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
}
/* Icon Sink */
.hvr-icon-sink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-sink .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-icon-sink:hover .hvr-icon,
.hvr-icon-sink:focus .hvr-icon,
.hvr-icon-sink:active .hvr-icon {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}
/* Icon Bob */
@-webkit-keyframes hvr-icon-bob {
  0% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  50% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
@keyframes hvr-icon-bob {
  0% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  50% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
@-webkit-keyframes hvr-icon-bob-float {
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
@keyframes hvr-icon-bob-float {
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
.hvr-icon-bob {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-bob .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-bob:hover .hvr-icon,
.hvr-icon-bob:focus .hvr-icon,
.hvr-icon-bob:active .hvr-icon {
  -webkit-animation-name: hvr-icon-bob-float, hvr-icon-bob;
  animation-name: hvr-icon-bob-float, hvr-icon-bob;
  -webkit-animation-duration: 0.3s, 1.5s;
  animation-duration: 0.3s, 1.5s;
  -webkit-animation-delay: 0s, 0.3s;
  animation-delay: 0s, 0.3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}
/* Icon Hang */
@-webkit-keyframes hvr-icon-hang {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  50% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
@keyframes hvr-icon-hang {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  50% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
@-webkit-keyframes hvr-icon-hang-sink {
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
@keyframes hvr-icon-hang-sink {
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
.hvr-icon-hang {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-hang .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-hang:hover .hvr-icon,
.hvr-icon-hang:focus .hvr-icon,
.hvr-icon-hang:active .hvr-icon {
  -webkit-animation-name: hvr-icon-hang-sink, hvr-icon-hang;
  animation-name: hvr-icon-hang-sink, hvr-icon-hang;
  -webkit-animation-duration: 0.3s, 1.5s;
  animation-duration: 0.3s, 1.5s;
  -webkit-animation-delay: 0s, 0.3s;
  animation-delay: 0s, 0.3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}
/* Icon Wobble Horizontal */
@-webkit-keyframes hvr-icon-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px);
  }
  33.3% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes hvr-icon-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px);
  }
  33.3% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.hvr-icon-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-wobble-horizontal .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-wobble-horizontal:hover .hvr-icon,
.hvr-icon-wobble-horizontal:focus .hvr-icon,
.hvr-icon-wobble-horizontal:active .hvr-icon {
  -webkit-animation-name: hvr-icon-wobble-horizontal;
  animation-name: hvr-icon-wobble-horizontal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Icon Wobble Vertical */
@-webkit-keyframes hvr-icon-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  33.3% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes hvr-icon-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  33.3% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.hvr-icon-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-wobble-vertical .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-wobble-vertical:hover .hvr-icon,
.hvr-icon-wobble-vertical:focus .hvr-icon,
.hvr-icon-wobble-vertical:active .hvr-icon {
  -webkit-animation-name: hvr-icon-wobble-vertical;
  animation-name: hvr-icon-wobble-vertical;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* Icon Buzz */
@-webkit-keyframes hvr-icon-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
@keyframes hvr-icon-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hvr-icon-buzz {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-buzz .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-buzz:hover .hvr-icon,
.hvr-icon-buzz:focus .hvr-icon,
.hvr-icon-buzz:active .hvr-icon {
  -webkit-animation-name: hvr-icon-buzz;
  animation-name: hvr-icon-buzz;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
/* Icon Buzz Out */
@-webkit-keyframes hvr-icon-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
@keyframes hvr-icon-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
.hvr-icon-buzz-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-buzz-out .hvr-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-buzz-out:hover .hvr-icon,
.hvr-icon-buzz-out:focus .hvr-icon,
.hvr-icon-buzz-out:active .hvr-icon {
  -webkit-animation-name: hvr-icon-buzz-out;
  animation-name: hvr-icon-buzz-out;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}
/* CURLS */
/* Curl Top Left */
.hvr-curl-top-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-curl-top-left:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  top: 0;
  left: 0;
  background: white;
  /* IE9 */
  background: linear-gradient(135deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ffffff', endColorstr='#000000');
  /*For IE7-8-9*/
  z-index: 1000;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hvr-curl-top-left:hover:before,
.hvr-curl-top-left:focus:before,
.hvr-curl-top-left:active:before {
  width: 25px;
  height: 25px;
}
/* Curl Top Right */
.hvr-curl-top-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-curl-top-right:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  top: 0;
  right: 0;
  background: white;
  /* IE9 */
  background: linear-gradient(225deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hvr-curl-top-right:hover:before,
.hvr-curl-top-right:focus:before,
.hvr-curl-top-right:active:before {
  width: 25px;
  height: 25px;
}
/* Curl Bottom Right */
.hvr-curl-bottom-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-curl-bottom-right:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  bottom: 0;
  right: 0;
  background: white;
  /* IE9 */
  background: linear-gradient(315deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hvr-curl-bottom-right:hover:before,
.hvr-curl-bottom-right:focus:before,
.hvr-curl-bottom-right:active:before {
  width: 25px;
  height: 25px;
}
/* Curl Bottom Left */
.hvr-curl-bottom-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hvr-curl-bottom-left:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  bottom: 0;
  left: 0;
  background: white;
  /* IE9 */
  background: linear-gradient(45deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hvr-curl-bottom-left:hover:before,
.hvr-curl-bottom-left:focus:before,
.hvr-curl-bottom-left:active:before {
  width: 25px;
  height: 25px;
}
/*# sourceMappingURL=hover.css.map */
/* LESS / Social Media Brand Colors */
.color-twitter {
  background-color: #00aced !important;
}
.soft-color-twitter {
  background-color: #55abcb !important;
}
.soft-color-twitter:hover {
  background-color: #00aced !important;
}
.color-facebook {
  background-color: #3b5998 !important;
}
.soft-color-facebook {
  background-color: #7382a1 !important;
}
.soft-color-facebook:hover {
  background-color: #3b5998 !important;
}
.color-googleplus {
  background-color: #dd4b39 !important;
}
.soft-color-googleplus {
  background-color: #c47b72 !important;
}
.soft-color-googleplus:hover {
  background-color: #dd4b39 !important;
}
.color-pinterest {
  background-color: #cb2027 !important;
}
.soft-color-pinterest {
  background-color: #bb6569 !important;
}
.soft-color-pinterest:hover {
  background-color: #cb2027 !important;
}
.color-linkedin {
  background-color: #007bb6 !important;
}
.soft-color-linkedin {
  background-color: #5593b0 !important;
}
.soft-color-linkedin:hover {
  background-color: #007bb6 !important;
}
.color-youtube {
  background-color: #bb0000 !important;
}
.soft-color-youtube {
  background-color: #b35555 !important;
}
.soft-color-youtube:hover {
  background-color: #bb0000 !important;
}
.color-vimeo {
  background-color: #aad450 !important;
}
.soft-color-vimeo {
  background-color: #aabf7d !important;
}
.soft-color-vimeo:hover {
  background-color: #aad450 !important;
}
.color-tumblr {
  background-color: #32506d !important;
}
.soft-color-tumblr {
  background-color: #6e7d8c !important;
}
.soft-color-tumblr:hover {
  background-color: #32506d !important;
}
.color-instagram {
  background-color: #517fa4 !important;
}
.soft-color-instagram {
  background-color: #7e95a7 !important;
}
.soft-color-instagram:hover {
  background-color: #517fa4 !important;
}
.color-flickr {
  background-color: #ff0084 !important;
}
.soft-color-flickr {
  background-color: #d55597 !important;
}
.soft-color-flickr:hover {
  background-color: #ff0084 !important;
}
.color-dribbble {
  background-color: #ea4c89 !important;
}
.soft-color-dribbble {
  background-color: #ca7b9a !important;
}
.soft-color-dribbble:hover {
  background-color: #ea4c89 !important;
}
.color-quora {
  background-color: #a82400 !important;
}
.soft-color-quora {
  background-color: #a96755 !important;
}
.soft-color-quora:hover {
  background-color: #a82400 !important;
}
.color-foursquare {
  background-color: #0072b1 !important;
}
.soft-color-foursquare {
  background-color: #558ead !important;
}
.soft-color-foursquare:hover {
  background-color: #0072b1 !important;
}
.color-forrst {
  background-color: #5B9A68 !important;
}
.soft-color-forrst {
  background-color: #83a289 !important;
}
.soft-color-forrst:hover {
  background-color: #5B9A68 !important;
}
.color-vk {
  background-color: #45668e !important;
}
.soft-color-vk {
  background-color: #77889c !important;
}
.soft-color-vk:hover {
  background-color: #45668e !important;
}
.color-wordpress {
  background-color: #21759b !important;
}
.soft-color-wordpress {
  background-color: #6690a3 !important;
}
.soft-color-wordpress:hover {
  background-color: #21759b !important;
}
.color-stumbleupon {
  background-color: #EB4823 !important;
}
.soft-color-stumbleupon {
  background-color: #cb7966 !important;
}
.soft-color-stumbleupon:hover {
  background-color: #EB4823 !important;
}
.color-yahoo {
  background-color: #7B0099 !important;
}
.soft-color-yahoo {
  background-color: #9355a2 !important;
}
.soft-color-yahoo:hover {
  background-color: #7B0099 !important;
}
.color-blogger {
  background-color: #fb8f3d !important;
}
.soft-color-blogger {
  background-color: #d39c73 !important;
}
.soft-color-blogger:hover {
  background-color: #fb8f3d !important;
}
.color-soundcloud {
  background-color: #ff3a00 !important;
}
.soft-color-soundcloud {
  background-color: #d57255 !important;
}
.soft-color-soundcloud:hover {
  background-color: #ff3a00 !important;
}
.btn-xl {
  padding: 14px 22.4px;
  font-size: 26.6px;
  line-height: 1.86666662;
  border-radius: 8.4px;
}
.btn-wide {
  min-width: 30%;
}
.typography img {
  border: none;
  max-width: 100%;
}
.typography img.right {
  float: right;
  margin-left: 1em;
}
.typography img.left {
  float: left;
  margin-right: 1em;
}
.typography img.leftAlone {
  float: left;
  margin-right: 100%;
}
.typography img.rightAlone {
  float: right;
  margin-left: 100%;
}
.typography img.center {
  float: none;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.typography h1,
.typography h2,
.typography h3,
.typography h4,
.typography h5,
.typography h6 {
  clear: left;
}
p.message {
  padding: 15px;
  background-color: #d9edf7;
}
ap.message:hover,
ap.message:focus {
  background-color: #afd9ee;
}
p.message.bad {
  background-color: #f2dede;
}
ap.message.bad:hover,
ap.message.bad:focus {
  background-color: #e4b9b9;
}
p.message.warning {
  background-color: #fcf8e3;
}
ap.message.warning:hover,
ap.message.warning:focus {
  background-color: #f7ecb5;
}
p.message.good {
  background-color: #dff0d8;
}
ap.message.good:hover,
ap.message.good:focus {
  background-color: #c1e2b3;
}
form .Actions {
  margin-top: 15px;
}
form textarea {
  resize: none;
}
form.form-inline .field,
form.form-inline .Actions,
form.form-inline .controls,
form.form-inline fieldset {
  display: inline-block;
}
form.form-inline .Actions {
  margin-top: 0;
}
.form-group.holder-validation .help-block,
.form-group.holder-validation .control-label,
.form-group.holder-validation .radio,
.form-group.holder-validation .checkbox,
.form-group.holder-validation .radio-inline,
.form-group.holder-validation .checkbox-inline,
.form-group.holder-validation.radio label,
.form-group.holder-validation.checkbox label,
.form-group.holder-validation.radio-inline label,
.form-group.holder-validation.checkbox-inline label {
  color: #a94442;
}
.form-group.holder-validation .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.form-group.holder-validation .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.form-group.holder-validation .input-group-addon {
  color: #a94442;
  background-color: #f2dede;
  border-color: #a94442;
}
.form-group.holder-validation .form-control-feedback {
  color: #a94442;
}
.actionsrow {
  margin: 15px 0;
}
.form-inline.form-always-inline .form-group,
.form-inline.form-always-inline fieldset,
.form-inline.form-always-inline .form-control {
  display: inline-block;
}
.form-inline.form-always-inline .form-control {
  width: auto;
}
body {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  -o-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeIn;
  -moz-animation-name: fadeIn;
  -o-animation-name: fadeIn;
  animation-name: fadeIn;
}
.nav-hover > li:hover .dropdown-menu {
  display: block;
}
@media (max-width: 767px) {
  .navbar-nav .dropdown-menu {
    display: block;
    position: relative;
    float: none;
    box-shadow: none;
    background: none;
    border: none;
  }
}
.header_logo img {
  max-height: 60px !important;
  margin: 10px 0;
}
iframe {
  max-width: 100%;
}
.layout {
  min-height: 500px;
  padding-bottom: 50px;
}
.herobanner {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.herobanner .jumbotron {
  background: rgba(0, 0, 0, 0.5);
  border: none;
}
.jumbotron.invert {
  color: #fff;
}
/*---------------------------------------------------
		LESS Elements 0.6
	---------------------------------------------------
		A set of useful LESS mixins by Dmitry Fadeyev
		Special thanks for mixin suggestions to:
			Kris Van Herzeele,
			Benoit Adam,
			Portenart Emile-Victor,
			Ryan Faerman

		More info at: http://lesselements.com
-----------------------------------------------------*/
html,
body {
  font-family: 'Open Sans', sans-serif;
}
.navbar-inverse {
  background-color: #231f20;
}
.navbar-inverse .navbar-toggle {
  border-color: #ffffff;
  color: #ffffff;
}
.navbar-inverse .navbar-brand {
  padding: 0 15px;
}
#topnav {
  text-transform: uppercase;
  font-weight: bold;
  margin: 0;
}
#topnav .dropdown-menu {
  min-width: 260px;
  background-color: #f2f2f2;
  border: none;
}
#topnav .dropdown-menu li {
  background-color: #ffffff;
  margin-bottom: 3px;
}
#topnav .dropdown-menu li a {
  color: #231f20;
  font-weight: bold;
  padding: 1em;
}
#topnav .dropdown-menu li.active a {
  background-color: #ddd;
}
#topnav .dropdown-menu .dropdown-submenu {
  display: none;
}
@media (min-width: 768px) {
  body {
    margin-top: 50px;
  }
  #topnav {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030;
    top: 0;
    border-width: 0 0 1px;
  }
  #topnav .navbar-collapse {
    max-height: 340px;
  }
}
@media (min-width: 768px) and (max-device-width: 480px) and (orientation: landscape) {
  #topnav .navbar-collapse {
    max-height: 200px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  #topnav {
    border-radius: 0;
  }
}
.section > .container,
.section_inner {
  padding-top: 5em;
  padding-bottom: 5em;
}
.section > .container .btn,
.section_inner .btn {
  font-size: 130%;
}
.section_inverse {
  color: #ffffff;
}
.section_inverse a {
  color: #ffffff;
}
.section_inverse .btn-default {
  border-color: #ffffff;
  color: #ffffff;
}
.section_inverse .btn-default:hover {
  color: #ffffff;
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.1);
}
.section_grey {
  background: #6f6f6e;
  color: #ffffff;
}
.section_grey a {
  color: #ffffff;
}
.section_grey .btn-default {
  border-color: #ffffff;
  color: #ffffff;
}
.section_grey .btn-default:hover {
  color: #ffffff;
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.1);
}
.section_black {
  background: #231f20;
  color: #ffffff;
}
.section_black a {
  color: #ffffff;
}
.section_black .btn-default {
  border-color: #ffffff;
  color: #ffffff;
}
.section_black .btn-default:hover {
  color: #ffffff;
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.1);
}
.section_aqua {
  background: #3ad6c5;
  color: #ffffff;
}
.section_aqua a {
  color: #ffffff;
}
.section_aqua .btn-default {
  border-color: #ffffff;
  color: #ffffff;
}
.section_aqua .btn-default:hover {
  color: #ffffff;
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.1);
}
.section_yellow {
  background: #fecb00;
}
.section_photo {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  min-height: 600px;
}
@media (max-width: 1300px) {
  .section_photo {
    min-height: 400px;
  }
}
@media (max-width: 700px) {
  .section_photo {
    min-height: 300px;
  }
}
.section_logo {
  padding-bottom: 5em;
}
.btn-default,
form input.btn {
  background: none;
  border-width: 3px;
  border-color: #231f20;
  color: #231f20;
  text-transform: uppercase;
  min-width: 5em;
  padding-right: 2em;
  padding-left: 2em;
  font-size: 160%;
  font-weight: bold;
}
.btn-default:hover,
form input.btn:hover {
  color: #231f20;
  border-color: #231f20;
  background-color: rgba(35, 31, 32, 0.1);
}
.btn-default-inverse {
  border-color: #ffffff;
  color: #ffffff;
}
.btn-default-inverse:hover {
  color: #ffffff;
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.1);
}
.btn-actions {
  margin-top: 2em;
}
form input.text,
form textarea {
  border: 3px solid #231f20;
  font-size: 24px;
  width: 100%;
  max-width: 500px;
  padding: 0.3em;
}
form textarea {
  resize: vertical;
}
form .field {
  margin-top: 0.5em;
  margin-bottom: 1em;
}
form .field label,
form .field legend {
  font-size: 15px;
  margin-left: 1em;
  font-weight: bold;
  border: none;
}
form .field.checkbox {
  padding-left: 5px;
}
form .field.checkbox input {
  margin-left: 0;
}
form .field.checkbox label {
  padding-left: 10px;
}
form .field span.message {
  background: #ddd;
  display: block;
  padding: 0.3em;
}
form .field span.message.error,
form .field span.message.bad {
  background: #ffadc0;
  color: #e00034;
}
form .field span.message.warning {
  background: #fff5cb;
  color: #fecb00;
}
form .field span.message.success,
form .field span.message.good {
  background: #68ffae;
  color: #009b48;
}
form .Actions {
  max-width: 500px;
}
form .step-buttons {
  padding: 0;
}
form .step-buttons button {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  padding: 6px 12px;
  font-size: 15px;
  line-height: 1.42857143;
  border-radius: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
  background: none;
  border-width: 3px;
  border-color: #231f20;
  color: #231f20;
  text-transform: uppercase;
  min-width: 5em;
  padding-right: 2em;
  padding-left: 2em;
  font-size: 160%;
  font-weight: bold;
}
form .step-buttons button:focus,
form .step-buttons button:active:focus,
form .step-buttons button.active:focus,
form .step-buttons button.focus,
form .step-buttons button:active.focus,
form .step-buttons button.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
form .step-buttons button:hover,
form .step-buttons button:focus,
form .step-buttons button.focus {
  color: #333;
  text-decoration: none;
}
form .step-buttons button:active,
form .step-buttons button.active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
form .step-buttons button.disabled,
form .step-buttons button[disabled],
fieldset[disabled] form .step-buttons button {
  cursor: not-allowed;
  filter: alpha(opacity=65);
  -moz-opacity: 0.65;
  -khtml-opacity: 0.65;
  -webkit-opacity: 0.65;
  opacity: 0.65;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
aform .step-buttons button.disabled,
fieldset[disabled] aform .step-buttons button {
  pointer-events: none;
}
form .step-buttons button:focus,
form .step-buttons button.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
form .step-buttons button:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
form .step-buttons button:active,
form .step-buttons button.active,
.open > .dropdown-toggleform .step-buttons button {
  color: #333;
  background-color: #e6e6e6;
  background-image: none;
  border-color: #adadad;
}
form .step-buttons button:active:hover,
form .step-buttons button.active:hover,
.open > .dropdown-toggleform .step-buttons button:hover,
form .step-buttons button:active:focus,
form .step-buttons button.active:focus,
.open > .dropdown-toggleform .step-buttons button:focus,
form .step-buttons button:active.focus,
form .step-buttons button.active.focus,
.open > .dropdown-toggleform .step-buttons button.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
form .step-buttons button.disabled:hover,
form .step-buttons button[disabled]:hover,
fieldset[disabled] form .step-buttons button:hover,
form .step-buttons button.disabled:focus,
form .step-buttons button[disabled]:focus,
fieldset[disabled] form .step-buttons button:focus,
form .step-buttons button.disabled.focus,
form .step-buttons button[disabled].focus,
fieldset[disabled] form .step-buttons button.focus {
  background-color: #fff;
  border-color: #ccc;
}
form .step-buttons button .badge {
  color: #fff;
  background-color: #333;
}
form .step-buttons button:hover {
  color: #231f20;
  border-color: #231f20;
  background-color: rgba(35, 31, 32, 0.1);
}
form.userform {
  max-width: 500px;
  margin: 0 auto;
}
form.userform .progress-title {
  font-size: 28px;
  text-transform: uppercase;
  font-weight: bold;
}
form.userform legend {
  text-transform: uppercase;
  font-weight: bold;
}
h1 {
  font-weight: bold;
  text-transform: uppercase;
}
.pagetitle {
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 30px;
}
.hero {
  background-color: #555555;
  position: relative;
  overflow: hidden;
}
.hero .hero_inner {
  background-repeat: no-repeat;
  background-position: 50% 5%;
  min-height: 380px;
  background-size: cover;
  background-attachment: fixed;
}
.hero .hero_inner.noparallax {
  background-attachment: scroll;
}
@media (max-width: 767px) {
  .hero .hero_inner.noparallax {
    min-height: 200px;
  }
}
ol.breadcrumb {
  background: none;
}
ol.breadcrumb a {
  color: #555;
}
ul.pagination a {
  font-weight: bold;
  border: none;
  color: #231f20;
}
ul.pagination .active a {
  background: #231f20;
}
.social-links {
  float: right;
}
.social-links a {
  padding-left: 6px !important;
  padding-right: 6px !important;
  margin-right: 0 !important;
  border: none !important;
}
.social-links a:hover {
  background: none !important;
}
.social-links.xs {
  margin-right: 10px;
}
.alert.alert-info {
  background-color: #fecb00;
  color: #231f20;
  border: none;
}
.site-banner-info {
  margin-bottom: 0;
}
.homepage_navigation {
  text-align: center;
  text-transform: uppercase;
}
.homepage_navigation .navbar-nav {
  float: none;
}
.homepage_navigation .navbar-nav > li {
  float: none;
  display: inline-block;
}
.homepage_navigation .navbar-collapse {
  text-align: center;
}
.homepage_navigation .nav li a {
  color: #231f20;
  font-weight: bold;
  font-size: 20px;
}
.section_contact h1 {
  margin-bottom: 1em;
}
.section_services h3 {
  font-weight: bold;
  font-size: 120%;
}
.section_pastors h1,
.section_pastors h2,
.section_pastors h3 {
  text-transform: uppercase;
}
.section_pastors h1 {
  margin-top: 0;
  font-size: 40px;
}
.section_pastors h2 {
  margin-bottom: 0;
  font-size: 30px;
}
.staffprofile {
  text-align: center;
  margin-top: 50px;
}
.staffprofile img {
  background-color: #007ac9;
  max-width: 90%;
}
.staffprofile .staffprofile_name {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 3px;
}
.staffprofile .staffprofile_title {
  margin-top: 0;
  font-size: 14px;
  color: #555555;
}
.staffprofile_main {
  margin-bottom: 5em;
}
.staffprofile_main .img-circle {
  margin-top: 2em;
}
.staffprofile_main .staffprofile_blurb {
  text-align: left;
}
.staffprofile_main .staffprofile_name {
  font-size: 28px;
  text-transform: uppercase;
  margin-bottom: 0;
}
.staffprofile_main .staffprofile_title {
  font-size: 18px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.mediaitem img {
  width: 100%;
}
.mediaitem_details {
  text-align: left;
  clear: both;
}
.mediaitem_title {
  font-size: 100%;
  margin-top: 0.8em;
  margin-bottom: 0;
}
.mediaitem_date {
  font-size: 90%;
  margin-top: 0.3em;
  margin-bottom: 2em;
}
@media (max-width: 768px) {
  .mediaitem img {
    width: auto;
    margin: 0 auto;
  }
  .mediaitem_details {
    text-align: center;
  }
}
.media_archivelink {
  margin: 1.8em 0;
  display: block;
}
.mediaplayer iframe {
  margin-top: 2em;
  min-height: 600px;
  width: 100%;
}
@media (max-width: 1000px) {
  .mediaplayer iframe {
    min-height: 400px;
  }
}
@media (max-width: 600px) {
  .mediaplayer iframe {
    min-height: 300px;
  }
}
@media (max-width: 400px) {
  .mediaplayer iframe {
    min-height: 200px;
  }
}
.MediaPage .layout {
  padding-bottom: 0;
  min-height: 0;
}
.mediapage_watch_title {
  font-size: 21px;
}
.mediapage_watch_date {
  font-size: 18px;
  margin-top: 0;
}
.connect-groups-category-title {
  background-color: #fecb00;
  font-size: 1.6em;
  padding: 0.6em;
}
.connect-group {
  position: relative;
  margin-bottom: 2em;
}
.connect-group p {
  margin-bottom: 7px;
}
.connect-group .connect-group-name {
  font-size: 1.5em;
  font-weight: bold;
}
.connect-group .connect-group-description {
  margin-bottom: 15px;
}
.connect-group .connect-group-timeplace {
  font-size: 1.2em;
  font-weight: bold;
}
.connect-group.registration-closed {
  color: grey;
}
.connect-group .full-notice {
  color: #FF6666;
  font-weight: bold;
}
#BetterNavigator {
  top: 150px !important;
}
.EventsPage .fb-page {
  margin: 0 auto;
}
.footer .footer_legal {
  margin-top: 1em;
  font-size: 0.8em;
  font-style: italic;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL2FuaW1hdGUubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3Mvbm9ybWFsaXplLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL3ByaW50Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL2dseXBoaWNvbnMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3Mvc2NhZmZvbGRpbmcubGVzcyIsImxpYi9lbGVtZW50cy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy92YXJpYWJsZXMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3RhYi1mb2N1cy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy90aHVtYm5haWxzLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL2Nhcm91c2VsLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9pbWFnZS5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvdmVuZG9yLXByZWZpeGVzLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL3R5cGUubGVzcyIsImZvbnRzLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL21peGlucy90ZXh0LWVtcGhhc2lzLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3RleHQtb3ZlcmZsb3cubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvY29kZS5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9ncmlkLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9ncmlkLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2Uvd29iYmxlLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9ncmlkLWZyYW1ld29yay5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy90YWJsZXMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3RhYmxlLXJvdy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9mb3Jtcy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvZm9ybXMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvYnV0dG9ucy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvYnV0dG9ucy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvb3BhY2l0eS5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9idXR0b24tZ3JvdXBzLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL2NvbXBvbmVudC1hbmltYXRpb25zLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL2Ryb3Bkb3ducy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvbmF2LWRpdmlkZXIubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3Jlc2V0LWZpbHRlci5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvYm9yZGVyLXJhZGl1cy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9pbnB1dC1ncm91cHMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbmF2cy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9uYXZiYXIubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL25hdi12ZXJ0aWNhbC1hbGlnbi5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy91dGlsaXRpZXMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvYnJlYWRjcnVtYnMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvcGFnaW5hdGlvbi5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvcGFnaW5hdGlvbi5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9wYWdlci5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9sYWJlbHMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2xhYmVscy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9iYWRnZXMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvanVtYm90cm9uLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL2FsZXJ0cy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvYWxlcnRzLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL3Byb2dyZXNzLWJhcnMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2dyYWRpZW50cy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvcHJvZ3Jlc3MtYmFyLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL21lZGlhLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL2xpc3QtZ3JvdXAubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2xpc3QtZ3JvdXAubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvcGFuZWxzLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9wYW5lbHMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvcmVzcG9uc2l2ZS1lbWJlZC5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy93ZWxscy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9jbG9zZS5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9tb2RhbHMubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvdG9vbHRpcC5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvcmVzZXQtdGV4dC5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9wb3BvdmVycy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvY2xlYXJmaXgubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2NlbnRlci1ibG9jay5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9ib290c3RyYXAvbGVzcy9taXhpbnMvaGlkZS10ZXh0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL3Jlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9yZXNwb25zaXZlLXZpc2liaWxpdHkubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9hbmltYXRlZC5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2JvdW5jZS5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2JvdW5jZUluLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvYm91bmNlSW5Eb3duLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvYm91bmNlSW5MZWZ0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvYm91bmNlSW5SaWdodC5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2JvdW5jZUluVXAubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9ib3VuY2VPdXQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9ib3VuY2VPdXREb3duLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvYm91bmNlT3V0TGVmdC5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2JvdW5jZU91dFJpZ2h0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvYm91bmNlT3V0VXAubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlSW4ubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlSW5Eb3duLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvZmFkZUluRG93bkJpZy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2ZhZGVJbkxlZnQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlSW5MZWZ0QmlnLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvZmFkZUluUmlnaHQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlSW5SaWdodEJpZy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2ZhZGVJblVwLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvZmFkZUluVXBCaWcubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlT3V0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvZmFkZU91dERvd24ubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlT3V0RG93bkJpZy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2ZhZGVPdXRMZWZ0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvZmFkZU91dExlZnRCaWcubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlT3V0UmlnaHQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlT3V0UmlnaHRCaWcubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlT3V0VXAubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mYWRlT3V0VXBCaWcubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mbGFzaC5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2ZsaXAubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9mbGlwSW5YLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvZmxpcEluWS5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2ZsaXBPdXRYLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2UvZmxpcE91dFkubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9oaW5nZS5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2xpZ2h0U3BlZWRJbi5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL2xpZ2h0U3BlZWRPdXQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9wdWxzZS5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL3JvbGxJbi5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL3JvbGxPdXQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9yb3RhdGVJbi5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL3JvdGF0ZUluRG93bkxlZnQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9yb3RhdGVJbkRvd25SaWdodC5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL3JvdGF0ZUluVXBMZWZ0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2Uvcm90YXRlSW5VcFJpZ2h0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2Uvcm90YXRlT3V0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2Uvcm90YXRlT3V0RG93bkxlZnQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9yb3RhdGVPdXREb3duUmlnaHQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9yb3RhdGVPdXRVcExlZnQubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9yb3RhdGVPdXRVcFJpZ2h0Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbm9kZV9tb2R1bGVzL2FuaW1hdGUubGVzcy9zb3VyY2Uvc2hha2UubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS9zd2luZy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL25vZGVfbW9kdWxlcy9hbmltYXRlLmxlc3Mvc291cmNlL3RhZGEubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvYW5pbWF0ZS5sZXNzL3NvdXJjZS93aWdnbGUubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9ub2RlX21vZHVsZXMvaG92ZXIuY3NzL2Nzcy9ob3Zlci5jc3MiLCIuLi8uLi9ib290c3RyYXAvbGVzcy9saWIvc29jaWFsLW1lZGlhLWNvbG9ycy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL2xlc3MvbGliL3hsLWJ1dHRvbi5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL2xlc3MvbGliL3R5cG9ncmFwaHkubGVzcyIsIi4uLy4uL2Jvb3RzdHJhcC9sZXNzL2xpYi9ib290c3RyYXAtc2lsdmVyc3RyaXBlLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbGVzcy9saWIvcGFnZS10cmFuc2l0aW9ucy5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL2xlc3MvbGliL25hdmhvdmVyLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbGVzcy9saWIvbmF2bW9iaWxlLmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbGVzcy9jb21wb25lbnRzL2hlYWRlci5sZXNzIiwiLi4vLi4vYm9vdHN0cmFwL2xlc3MvY29tcG9uZW50cy9jb250ZW50Lmxlc3MiLCIuLi8uLi9ib290c3RyYXAvbGVzcy9jb21wb25lbnRzL2hvbWVwYWdlLmxlc3MiLCJ0b3BuYXYubGVzcyIsInNlY3Rpb25zLmxlc3MiLCJidXR0b25zLmxlc3MiLCJmb3Jtcy5sZXNzIiwidHlwb2dyYXBoeS5sZXNzIiwiY29tcG9uZW50cy9oZXJvYmFubmVyLmxlc3MiLCJjb21wb25lbnRzL2JyZWFkY3J1bWJzLmxlc3MiLCJjb21wb25lbnRzL3BhZ2luYXRpb24ubGVzcyIsImNvbXBvbmVudHMvc29jaWFsbGlua3MubGVzcyIsImNvbXBvbmVudHMvYWxlcnRzLmxlc3MiLCJwYWdlcy9ob21lcGFnZS5sZXNzIiwicGFnZXMvc3RhZmZwcm9maWxlcy5sZXNzIiwicGFnZXMvbWVkaWFwYWdlLmxlc3Mi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O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsY0FBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxtQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDZCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDBCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsY0FBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxjQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsMkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsK0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNkJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUNBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsd0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsa0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsaUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gscUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsc0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gseUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsNEJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gseUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsdUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gseUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsYUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxtQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQVNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCx1QkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGNBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZ0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsb0JBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxxQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxtQkFBQztFQUFVLFNBQVMsT0FBVDs7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REcsVUFBQTs7QUQ5REg7RUM4REcsbUJBQUE7O0FEOURIO0VDOERHLG1CQUFBOztBRDlESDtFQzhERyxVQUFBOztBRDlESDtFQzhERyxtQkFBQTs7QUQ5REg7RUM4REcsa0JBQUE7O0FEOURIO0VDbUVHLFdBQUE7O0FEbkVIO0VDb0RHLFVBQUE7O0FEcERIO0VDb0RHLGtCQUFBOztBRHBESDtFQ29ERyxrQkFBQTs7QURwREg7RUNvREcsU0FBQTs7QURwREg7RUNvREcsa0JBQUE7O0FEcERIO0VDb0RHLGtCQUFBOztBRHBESDtFQ29ERyxTQUFBOztBRHBESDtFQ29ERyxrQkFBQTs7QURwREg7RUNvREcsa0JBQUE7O0FEcERIO0VDb0RHLFNBQUE7O0FEcERIO0VDb0RHLGtCQUFBOztBRHBESDtFQ29ERyxpQkFBQTs7QURwREg7RUN5REcsVUFBQTs7QUR6REg7RUN3RUcsaUJBQUE7O0FEeEVIO0VDd0VHLHlCQUFBOztBRHhFSDtFQ3dFRyx5QkFBQTs7QUR4RUg7RUN3RUcsZ0JBQUE7O0FEeEVIO0VDd0VHLHlCQUFBOztBRHhFSDtFQ3dFRyx5QkFBQTs7QUR4RUg7RUN3RUcsZ0JBQUE7O0FEeEVIO0VDd0VHLHlCQUFBOztBRHhFSDtFQ3dFRyx5QkFBQTs7QUR4RUg7RUN3RUcsZ0JBQUE7O0FEeEVIO0VDd0VHLHlCQUFBOztBRHhFSDtFQ3dFRyx3QkFBQTs7QUR4RUg7RUN3RUcsZUFBQTs7QUhDSixRQUFtQztFRXpFbEM7RUFBVztFQUFXO0VBQVc7RUFBVztFQUFXO0VBQVc7RUFBVztFQUVyRTtFQUFXO0VBQ2hCO0VBQVk7SUNvQ1YsV0FBQTs7RUR2Q0w7SUMrQ0csV0FBQTs7RUQvQ0g7SUMrQ0csbUJBQUE7O0VEL0NIO0lDK0NHLG1CQUFBOztFRC9DSDtJQytDRyxVQUFBOztFRC9DSDtJQytDRyxtQkFBQTs7RUQvQ0g7SUMrQ0csbUJBQUE7O0VEL0NIO0lDK0NHLFVBQUE7O0VEL0NIO0lDK0NHLG1CQUFBOztFRC9DSDtJQytDRyxtQkFBQTs7RUQvQ0g7SUMrQ0csVUFBQTs7RUQvQ0g7SUMrQ0csbUJBQUE7O0VEL0NIO0lDK0NHLGtCQUFBOztFRC9DSDtJQzhERyxXQUFBOztFRDlESDtJQzhERyxtQkFBQTs7RUQ5REg7SUM4REcsbUJBQUE7O0VEOURIO0lDOERHLFVBQUE7O0VEOURIO0lDOERHLG1CQUFBOztFRDlESDtJQzhERyxtQkFBQTs7RUQ5REg7SUM4REcsVUFBQTs7RUQ5REg7SUM4REcsbUJBQUE7O0VEOURIO0lDOERHLG1CQUFBOztFRDlESDtJQzhERyxVQUFBOztFRDlESDtJQzhERyxtQkFBQTs7RUQ5REg7SUM4REcsa0JBQUE7O0VEOURIO0lDbUVHLFdBQUE7O0VEbkVIO0lDb0RHLFVBQUE7O0VEcERIO0lDb0RHLGtCQUFBOztFRHBESDtJQ29ERyxrQkFBQTs7RURwREg7SUNvREcsU0FBQTs7RURwREg7SUNvREcsa0JBQUE7O0VEcERIO0lDb0RHLGtCQUFBOztFRHBESDtJQ29ERyxTQUFBOztFRHBESDtJQ29ERyxrQkFBQTs7RURwREg7SUNvREcsa0JBQUE7O0VEcERIO0lDb0RHLFNBQUE7O0VEcERIO0lDb0RHLGtCQUFBOztFRHBESDtJQ29ERyxpQkFBQTs7RURwREg7SUN5REcsVUFBQTs7RUR6REg7SUN3RUcsaUJBQUE7O0VEeEVIO0lDd0VHLHlCQUFBOztFRHhFSDtJQ3dFRyx5QkFBQTs7RUR4RUg7SUN3RUcsZ0JBQUE7O0VEeEVIO0lDd0VHLHlCQUFBOztFRHhFSDtJQ3dFRyx5QkFBQTs7RUR4RUg7SUN3RUcsZ0JBQUE7O0VEeEVIO0lDd0VHLHlCQUFBOztFRHhFSDtJQ3dFRyx5QkFBQTs7RUR4RUg7SUN3RUcsZ0JBQUE7O0VEeEVIO0lDd0VHLHlCQUFBOztFRHhFSDtJQ3dFRyx3QkFBQTs7RUR4RUg7SUN3RUcsZUFBQTs7O0FIVUosUUFBbUM7RUVsRmxDO0VBQVc7RUFBVztFQUFXO0VBQVc7RUFBVztFQUFXO0VBQVc7RUFFckU7RUFBVztFQUNoQjtFQUFZO0lDb0NWLFdBQUE7O0VEdkNMO0lDK0NHLFdBQUE7O0VEL0NIO0lDK0NHLG1CQUFBOztFRC9DSDtJQytDRyxtQkFBQTs7RUQvQ0g7SUMrQ0csVUFBQTs7RUQvQ0g7SUMrQ0csbUJBQUE7O0VEL0NIO0lDK0NHLG1CQUFBOztFRC9DSDtJQytDRyxVQUFBOztFRC9DSDtJQytDRyxtQkFBQTs7RUQvQ0g7SUMrQ0csbUJBQUE7O0VEL0NIO0lDK0NHLFVBQUE7O0VEL0NIO0lDK0NHLG1CQUFBOztFRC9DSDtJQytDRyxrQkFBQTs7RUQvQ0g7SUM4REcsV0FBQTs7RUQ5REg7SUM4REcsbUJBQUE7O0VEOURIO0lDOERHLG1CQUFBOztFRDlESDtJQzhERyxVQUFBOztFRDlESDtJQzhERyxtQkFBQTs7RUQ5REg7SUM4REcsbUJBQUE7O0VEOURIO0lDOERHLFVBQUE7O0VEOURIO0lDOERHLG1CQUFBOztFRDlESDtJQzhERyxtQkFBQTs7RUQ5REg7SUM4REcsVUFBQTs7RUQ5REg7SUM4REcsbUJBQUE7O0VEOURIO0lDOERHLGtCQUFBOztFRDlESDtJQ21FRyxXQUFBOztFRG5FSDtJQ29ERyxVQUFBOztFRHBESDtJQ29ERyxrQkFBQTs7RURwREg7SUNvREcsa0JBQUE7O0VEcERIO0lDb0RHLFNBQUE7O0VEcERIO0lDb0RHLGtCQUFBOztFRHBESDtJQ29ERyxrQkFBQTs7RURwREg7SUNvREcsU0FBQTs7RURwREg7SUNvREcsa0JBQUE7O0VEcERIO0lDb0RHLGtCQUFBOztFRHBESDtJQ29ERyxTQUFBOztFRHBESDtJQ29ERyxrQkFBQTs7RURwREg7SUNvREcsaUJBQUE7O0VEcERIO0lDeURHLFVBQUE7O0VEekRIO0lDd0VHLGlCQUFBOztFRHhFSDtJQ3dFRyx5QkFBQTs7RUR4RUg7SUN3RUcseUJBQUE7O0VEeEVIO0lDd0VHLGdCQUFBOztFRHhFSDtJQ3dFRyx5QkFBQTs7RUR4RUg7SUN3RUcseUJBQUE7O0VEeEVIO0lDd0VHLGdCQUFBOztFRHhFSDtJQ3dFRyx5QkFBQTs7RUR4RUg7SUN3RUcseUJBQUE7O0VEeEVIO0lDd0VHLGdCQUFBOztFRHhFSDtJQ3dFRyx5QkFBQTs7RUR4RUg7SUN3RUcsd0JBQUE7O0VEeEVIO0lDd0VHLGVBQUE7OztBSG1CSixRQUFtQztFRTNGbEM7RUFBVztFQUFXO0VBQVc7RUFBVztFQUFXO0VBQVc7RUFBVztFQUVyRTtFQUFXO0VBQ2hCO0VBQVk7SUNvQ1YsV0FBQTs7RUR2Q0w7SUMrQ0csV0FBQTs7RUQvQ0g7SUMrQ0csbUJBQUE7O0VEL0NIO0lDK0NHLG1CQUFBOztFRC9DSDtJQytDRyxVQUFBOztFRC9DSDtJQytDRyxtQkFBQTs7RUQvQ0g7SUMrQ0csbUJBQUE7O0VEL0NIO0lDK0NHLFVBQUE7O0VEL0NIO0lDK0NHLG1CQUFBOztFRC9DSDtJQytDRyxtQkFBQTs7RUQvQ0g7SUMrQ0csVUFBQTs7RUQvQ0g7SUMrQ0csbUJBQUE7O0VEL0NIO0lDK0NHLGtCQUFBOztFRC9DSDtJQzhERyxXQUFBOztFRDlESDtJQzhERyxtQkFBQTs7RUQ5REg7SUM4REcsbUJBQUE7O0VEOURIO0lDOERHLFVBQUE7O0VEOURIO0lDOERHLG1CQUFBOztFRDlESDtJQzhERyxtQkFBQTs7RUQ5REg7SUM4REcsVUFBQTs7RUQ5REg7SUM4REcsbUJBQUE7O0VEOURIO0lDOERHLG1CQUFBOztFRDlESDtJQzhERyxVQUFBOztFRDlESDtJQzhERyxtQkFBQTs7RUQ5REg7SUM4REcsa0JBQUE7O0VEOURIO0lDbUVHLFdBQUE7O0VEbkVIO0lDb0RHLFVBQUE7O0VEcERIO0lDb0RHLGtCQUFBOztFRHBESDtJQ29ERyxrQkFBQTs7RURwREg7SUNvREcsU0FBQTs7RURwREg7SUNvREcsa0JBQUE7O0VEcERIO0lDb0RHLGtCQUFBOztFRHBESDtJQ29ERyxTQUFBOztFRHBESDtJQ29ERyxrQkFBQTs7RURwREg7SUNvREcsa0JBQUE7O0VEcERIO0lDb0RHLFNBQUE7O0VEcERIO0lDb0RHLGtCQUFBOztFRHBESDtJQ29ERyxpQkFBQTs7RURwREg7SUN5REcsVUFBQTs7RUR6REg7SUN3RUcsaUJBQUE7O0VEeEVIO0lDd0VHLHlCQUFBOztFRHhFSDtJQ3dFRyx5QkFBQTs7RUR4RUg7SUN3RUcsZ0JBQUE7O0VEeEVIO0lDd0VHLHlCQUFBOztFRHhFSDtJQ3dFRyx5QkFB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K0NJRztBL0NKSCxVK0NLRztBL0NlSCxnQitDaEJHO0EvQ2dCSCxnQitDZkc7QS9Dd0JILEkrQ3pCRztBL0N5QkgsSStDeEJHO0F6QytnQkgsZ0JBcUJFLFl5Q3JpQkM7QXpDZ2hCSCxnQkFxQkUsWXlDcGlCQztBcENzQkgsWW9DdkJHO0FwQ3VCSCxZb0N0Qkc7QXBDbUlILG1CQVdFLGFvQy9JQztBcENvSUgsbUJBV0UsYW9DOUlDO0E3QkpILEk2QkdHO0E3QkhILEk2QklHO0E1QkZILE80QkNHO0E1QkRILE80QkVHO0E1QmtCSCxjNEJuQkc7QTVCbUJILGM0QmxCRztBNUJxQ0gsZ0I0QnRDRztBNUJzQ0gsZ0I0QnJDRztBdEJUSCxNc0JRRztBdEJSSCxNc0JTRztBVEdILFdTSkc7QVRJSCxXU0hHO0FKZ0VILGFJakVHO0FKaUVILGFJaEVHO0FKd0ZILGFJekZHO0FKeUZILGFJeEZHO0VBQ0MsY0FBQTtFQUNBLFNBQVMsR0FBVDs7QUFFRixTQUFDO0FyRGdNSCxjQUNFLEdxRGpNQztBL0NUSCxVK0NTRztBL0NXSCxnQitDWEc7QS9Db0JILEkrQ3BCRztBekMyZ0JILGdCQXFCRSxZeUNoaUJDO0FwQ2tCSCxZb0NsQkc7QXBDK0hILG1CQVdFLGFvQzFJQztBN0JSSCxJNkJRRztBNUJOSCxPNEJNRztBNUJjSCxjNEJkRztBNUJpQ0gsZ0I0QmpDRztBdEJiSCxNc0JhRztBVERILFdTQ0c7QUo0REgsYUk1REc7QUpvRkgsYUlwRkc7RUFDQyxXQUFBOztBMUJOSjtFMkJWRSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTs7QTNCV0Y7RUFDRSx1QkFBQTs7QUFFRjtFQUNFLHNCQUFBOztBQVFGO0VBQ0Usd0JBQUE7O0FBRUY7RUFDRSx5QkFBQTs7QUFFRjtFQUNFLGtCQUFBOztBQUVGO0U0QnpCRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDZCQUFBO0VBQ0EsU0FBQTs7QTVCOEJGO0VBQ0Usd0JBQUE7O0FBT0Y7RUFDRSxlQUFBOztBNkJqQ0Y7RUFDRSxtQkFBQTs7QUFNRjtBQUNBO0FBQ0E7QUFDQTtFQ3JCRSx3QkFBQTs7QUR5QkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0Usd0JBQUE7O0FBSUEsUUFBbUM7RUFBbkM7SUNqREEseUJBQUE7O0VBQ0EsS0FBSztJQUFLLHlCQUFBOztFQUNWLEVBQUU7SUFBUSxrQkFBQTs7RUFDVixFQUFFO0VBQ0YsRUFBRTtJQUFRLG1CQUFBOzs7QURrRFYsUUFBbUM7RUFBbkM7SUFDRSx5QkFBQTs7O0FBSUYsUUFBbUM7RUFBbkM7SUFDRSwwQkFBQTs7O0FBSUYsUUFBbUM7RUFBbkM7SUFDRSxxQkFBQTs7O0FBS0YsUUFBbUMsdUJBQWdDO0VBQW5FO0lDdEVBLHlCQUFBOztFQUNBLEtBQUs7SUFBSyx5QkFBQTs7RUFDVixFQUFFO0lBQVEsa0JBQUE7O0VBQ1YsRUFBRTtFQUNGLEVBQUU7SUFBUSxtQkFBQTs7O0FEdUVWLFFBQW1DLHVCQUFnQztFQUFuRTtJQUNFLHlCQUFBOzs7QUFJRixRQUFtQyx1QkFBZ0M7RUFBbkU7SUFDRSwwQkFBQTs7O0FBSUYsUUFBbUMsdUJBQWdDO0VBQW5FO0lBQ0UscUJBQUE7OztBQUtGLFFBQW1DLHVCQUFnQztFQUFuRTtJQzNGQSx5QkFBQTs7RUFDQSxLQUFLO0lBQUsseUJBQUE7O0VBQ1YsRUFBRTtJQUFRLGtCQUFBOztFQUNWLEVBQUU7RUFDRixFQUFFO0lBQVEsbUJBQUE7OztBRDRGVixRQUFtQyx1QkFBZ0M7RUFBbkU7SUFDRSx5QkFBQTs7O0FBSUYsUUFBbUMsdUJBQWdDO0VBQW5FO0lBQ0UsMEJBQUE7OztBQUlGLFFBQW1DLHVCQUFnQztFQUFuRTtJQUNFLHFCQUFBOzs7QUFLRixRQUFtQztFQUFuQztJQ2hIQSx5QkFBQTs7RUFDQSxLQUFLO0lBQUsseUJBQUE7O0VBQ1YsRUFBRTtJQUFRLGtCQUFBOztFQUNWLEVBQUU7RUFDRixFQUFFO0lBQVEsbUJBQUE7OztBRGlIVixRQUFtQztFQUFuQztJQUNFLHlCQUFBOzs7QUFJRixRQUFtQztFQUFuQztJQUNFLDBCQUFBOzs7QUFJRixRQUFtQztFQUFuQztJQUNFLHFCQUFBOzs7QUFLRixRQUFtQztFQUFuQztJQzdIQSx3QkFBQTs7O0FEa0lBLFFBQW1DLHVCQUFnQztFQUFuRTtJQ2xJQSx3QkFBQTs7O0FEdUlBLFFBQW1DLHVCQUFnQztFQUFuRTtJQ3ZJQSx3QkFBQTs7O0FENElBLFFBQW1DO0VBQW5DO0lDNUlBLHdCQUFBOzs7QUR1SkY7RUN2SkUsd0JBQUE7O0FEMEpBO0VBQUE7SUNsS0EseUJBQUE7O0VBQ0EsS0FBSztJQUFLLHlCQUFBOztFQUNWLEVBQUU7SUFBUSxrQkFBQTs7RUFDVixFQUFFO0VBQ0YsRUFBRTtJQUFRLG1CQUFBOzs7QURrS1o7RUFDRSx3QkFBQTs7QUFFQTtFQUFBO0lBQ0UseUJBQUE7OztBQUdKO0VBQ0Usd0JBQUE7O0FBRUE7RUFBQTtJQUNFLDBCQUFBOzs7QUFHSjtFQUNFLHdCQUFBOztBQUVBO0VBQUE7SUFDRSxxQkFBQTs7O0FBS0Y7RUFBQTtJQ3JMQSx3QkFBQTs7Ozs7Ozs7Ozs7Ozs7O0FDWEY7RUFDQyxtQ0FBQTs7QUNERDtFQUNDO0VBQUk7RUFBSztFQUFLO0VBQUs7SUFBTSxtQkFBbUIsYUFBbkI7O0VBQ3pCO0lBQUssbUJBQW1CLGlCQUFuQjs7RUFDTDtJQUFLLG1CQUFtQixpQkFBbkI7OztBQUdOO0VBQ0M7RUFBSTtFQUFLO0VBQUs7RUFBSztJQUFNLGdCQUFnQixhQUFoQjs7RUFDekI7SUFBSyxnQkFBZ0IsaUJBQWhCOztFQUNMO0lBQUssZ0JBQWdCLGlCQUFoQjs7O0FBR047RUFDQztFQUFJO0VBQUs7RUFBSztFQUFLO0lBQU0sY0FBYyxhQUFkOztFQUN6QjtJQUFLLGNBQWMsaUJBQWQ7O0VBQ0w7SUFBSyxjQUFjLGlCQUFkOzs7QUFFTjtFQUNDO0VBQUk7RUFBSztFQUFLO0VBQUs7SUFBTSxXQUFXLGFBQVg7O0VBQ3pCO0lBQUssV0FBVyxpQkFBWDs7RUFDTDtJQUFLLFdBQVcsaUJBQVg7OztBQUdOO0VBQ0MsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7O0FDM0JEO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLFVBQW5COztFQUdEO0lBQ0MsVUFBQTtJQUNBLG1CQUFtQixXQUFuQjs7RUFHRDtJQUNDLG1CQUFtQixVQUFuQjs7RUFHRDtJQUNDLG1CQUFtQixRQUFuQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsVUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLFdBQWhCOztFQUdEO0lBQ0MsZ0JBQWdCLFVBQWhCOztFQUdEO0lBQ0MsZ0JBQWdCLFFBQWhCOzs7QUFJRjtFQUNDO0lBQ0MsVUFBQTtJQUNBLGNBQWMsVUFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLFdBQWQ7O0VBR0Q7SUFDQyxjQUFjLFVBQWQ7O0VBR0Q7SUFDQyxjQUFjLFFBQWQ7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxVQUFYOztFQUdEO0lBQ0MsVUFBQTtJQUNBLFdBQVcsV0FBWDs7RUFHRDtJQUNDLFdBQVcsVUFBWDs7RUFHRDtJQUNDLFdBQVcsUUFBWDs7O0FBSUY7RUFDQyxnQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7RUFDQSx3QkFBQTs7QUNwRkQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsbUJBQW5COztFQUdEO0lBQ0MsVUFBQTtJQUNBLG1CQUFtQixnQkFBbkI7O0VBR0Q7SUFDQyxtQkFBbUIsaUJBQW5COztFQUdEO0lBQ0MsbUJBQW1CLGFBQW5COzs7QUFJRjtFQUNDO0lBQ0MsVUFBQTtJQUNBLGdCQUFnQixtQkFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGdCQUFoQjs7RUFHRDtJQUNDLGdCQUFnQixpQkFBaEI7O0VBR0Q7SUFDQyxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxtQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGdCQUFkOztFQUdEO0lBQ0MsY0FBYyxpQkFBZDs7RUFHRDtJQUNDLGNBQWMsYUFBZDs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLG1CQUFYOztFQUdEO0lBQ0MsVUFBQTtJQUNBLFdBQVcsZ0JBQVg7O0VBR0Q7SUFDQyxXQUFXLGlCQUFYOztFQUdEO0lBQ0MsV0FBVyxhQUFYOzs7QUFJRjtFQUNDLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSwrQkFBQTtFQUNBLDRCQUFBOztBQ3BGRDtFQUNDO0lBQ0MsVUFBQTtJQUNBLG1CQUFtQixtQkFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGdCQUFuQjs7RUFHRDtJQUNDLG1CQUFtQixpQkFBbkI7O0VBR0Q7SUFDQyxtQkFBbUIsYUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLG1CQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsZ0JBQWhCOztFQUdEO0lBQ0MsZ0JBQWdCLGlCQUFoQjs7RUFHRDtJQUNDLGdCQUFnQixhQUFoQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLG1CQUFkOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGNBQWMsZ0JBQWQ7O0VBR0Q7SUFDQyxjQUFjLGlCQUFkOztFQUdEO0lBQ0MsY0FBYyxhQUFkOzs7QUFJRjtFQUNDO0lBQ0MsVUFBQTtJQUNBLFdBQVcsbUJBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxnQkFBWDs7RUFHRDtJQUNDLFdBQVcsaUJBQVg7O0VBR0Q7SUFDQyxXQUFXLGFBQVg7OztBQUlGO0VBQ0Msb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsNEJBQUE7O0FDcEZEO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGtCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsaUJBQW5COztFQUdEO0lBQ0MsbUJBQW1CLGdCQUFuQjs7RUFHRDtJQUNDLG1CQUFtQixhQUFuQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0Isa0JBQWhCOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGdCQUFnQixpQkFBaEI7O0VBR0Q7SUFDQyxnQkFBZ0IsZ0JBQWhCOztFQUdEO0lBQ0MsZ0JBQWdCLGFBQWhCOzs7QUFJRjtFQUNDO0lBQ0MsVUFBQTtJQUNBLGNBQWMsa0JBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxpQkFBZDs7RUFHRDtJQUNDLGNBQWMsZ0JBQWQ7O0VBR0Q7SUFDQyxjQUFjLGFBQWQ7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxrQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGlCQUFYOztFQUdEO0lBQ0MsV0FBVyxnQkFBWDs7RUFHRDtJQUNDLFdBQVcsYUFBWDs7O0FBSUY7RUFDQyxxQ0FBQTtFQUNBLGtDQUFBO0VBQ0EsZ0NBQUE7RUFDQSw2QkFBQTs7QUNwRkQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsa0JBQW5COztFQUdEO0lBQ0MsVUFBQTtJQUNBLG1CQUFtQixpQkFBbkI7O0VBR0Q7SUFDQyxtQkFBbUIsZ0JBQW5COztFQUdEO0lBQ0MsbUJBQW1CLGFBQW5COzs7QUFHRjtFQUNDO0lBQ0MsVUFBQTtJQUNBLGdCQUFnQixrQkFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGlCQUFoQjs7RUFHRDtJQUNDLGdCQUFnQixnQkFBaEI7O0VBR0Q7SUFDQyxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxrQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGlCQUFkOztFQUdEO0lBQ0MsY0FBYyxnQkFBZDs7RUFHRDtJQUNDLGNBQWMsYUFBZDs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGtCQUFYOztFQUdEO0lBQ0MsVUFBQTtJQUNBLFdBQVcsaUJBQVg7O0VBR0Q7SUFDQyxXQUFXLGdCQUFYOztFQUdEO0lBQ0MsV0FBVyxhQUFYOzs7QUFJRjtFQUNDLGtDQUFBO0VBQ0EsK0JBQUE7RUFDQSw2QkFBQTtFQUNBLDBCQUFBOztBQ25GRDtFQUNDO0lBQ0MsbUJBQW1CLFFBQW5COztFQUdEO0lBQ0MsbUJBQW1CLFdBQW5COztFQUdEO0lBQ0MsVUFBQTtJQUNBLG1CQUFtQixVQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsVUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxnQkFBZ0IsUUFBaEI7O0VBR0Q7SUFDQyxnQkFBZ0IsV0FBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLFVBQWhCOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGdCQUFnQixVQUFoQjs7O0FBSUY7RUFDQztJQUNDLGNBQWMsUUFBZDs7RUFHRDtJQUNDLGNBQWMsV0FBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLFVBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxVQUFkOzs7QUFJRjtFQUNDO0lBQ0MsV0FBVyxRQUFYOztFQUdEO0lBQ0MsV0FBVyxXQUFYOztFQUdEO0lBQ0MsVUFBQTtJQUNBLFdBQVcsVUFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLFVBQVg7OztBQUlGO0VBQ0MsaUNBQUE7RUFDQSw4QkFBQTtFQUNBLDRCQUFBO0VBQ0EseUJBQUE7O0FDcEZEO0VBQ0M7SUFDQyxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGlCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsa0JBQW5COzs7QUFJRjtFQUNDO0lBQ0MsZ0JBQWdCLGFBQWhCOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGdCQUFnQixpQkFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGtCQUFoQjs7O0FBSUY7RUFDQztJQUNDLGNBQWMsYUFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGlCQUFkOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGNBQWMsa0JBQWQ7OztBQUlGO0VBQ0M7SUFDQyxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxpQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGtCQUFYOzs7QUFJRjtFQUNDLHFDQUFBO0VBQ0Esa0NBQUE7RUFDQSxnQ0FBQTtFQUNBLDZCQUFBOztBQ3BFRDtFQUNDO0lBQ0MsbUJBQW1CLGFBQW5COztFQUdEO0lBQ0MsVUFBQTtJQUNBLG1CQUFtQixnQkFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLG1CQUFuQjs7O0FBSUY7RUFDQztJQUNDLGdCQUFnQixhQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsZ0JBQWhCOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGdCQUFnQixtQkFBaEI7OztBQUlGO0VBQ0M7SUFDQyxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxnQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLG1CQUFkOzs7QUFJRjtFQUNDO0lBQ0MsV0FBVyxhQUFYOztFQUdEO0lBQ0MsVUFBQTtJQUNBLFdBQVcsZ0JBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxtQkFBWDs7O0FBSUY7RUFDQyxxQ0FBQTtFQUNBLGtDQUFBO0VBQ0EsZ0NBQUE7RUFDQSw2QkFBQTs7QUNwRUQ7RUFDQztJQUNDLG1CQUFtQixhQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsaUJBQW5COztFQUdEO0lBQ0MsVUFBQTtJQUNBLG1CQUFtQixrQkFBbkI7OztBQUlGO0VBQ0M7SUFDQyxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGlCQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0Isa0JBQWhCOzs7QUFJRjtFQUNDO0lBQ0MsY0FBYyxhQUFkOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGNBQWMsaUJBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxrQkFBZDs7O0FBSUY7RUFDQztJQUNDLFdBQVcsYUFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGlCQUFYOztFQUdEO0lBQ0MsVUFBQTtJQUNBLFdBQVcsa0JBQVg7OztBQUlGO0VBQ0Msc0NBQUE7RUFDQSxtQ0FBQTtFQUNBLGlDQUFBO0VBQ0EsOEJBQUE7O0FDcEVEO0VBQ0M7SUFDQyxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGdCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsbUJBQW5COzs7QUFJRjtFQUNDO0lBQ0MsZ0JBQWdCLGFBQWhCOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGdCQUFnQixnQkFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLG1CQUFoQjs7O0FBSUY7RUFDQztJQUNDLGNBQWMsYUFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGdCQUFkOztFQUdEO0lBQ0MsVUFBQTtJQUNBLGNBQWMsbUJBQWQ7OztBQUlGO0VBQ0M7SUFDQyxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxnQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLG1CQUFYOzs7QUFJRjtFQUNDLG1DQUFBO0VBQ0EsZ0NBQUE7RUFDQSw4QkFBQTtFQUNBLDJCQUFBOztBQ3BFRDtFQUNDO0lBQUksVUFBQTs7RUFDSjtJQUFNLFVBQUE7OztBQUdQO0VBQ0M7SUFBSSxVQUFBOztFQUNKO0lBQU0sVUFBQTs7O0FBR1A7RUFDQztJQUFJLFVBQUE7O0VBQ0o7SUFBTSxVQUFBOzs7QUFHUDtFQUNDO0lBQUksVUFBQTs7RUFDSjtJQUFNLFVBQUE7OztBQUdQO0VBQ0MsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7O0FDeEJEO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGlCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGlCQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZUFBZSxpQkFBZjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxlQUFlLGFBQWY7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxpQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7OztBQUlGO0VBQ0Msa0NBQUE7RUFDQSwrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMEJBQUE7O0FDcEREO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLG1CQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLG1CQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxtQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxtQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7OztBQUlGO0VBQ0MscUNBQUE7RUFDQSxrQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsNkJBQUE7O0FDcEREO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGlCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGlCQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxpQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxpQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7OztBQUlGO0VBQ0Msa0NBQUE7RUFDQSwrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMEJBQUE7O0FDcEREO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLG1CQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7OztBQUdGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLG1CQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7OztBQUdGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxtQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7OztBQUdGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxtQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7OztBQUlGO0VBQ0MscUNBQUE7RUFDQSxrQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsNkJBQUE7O0FDakREO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGdCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGdCQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxnQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxnQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7OztBQUlGO0VBQ0MsbUNBQUE7RUFDQSxnQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsMkJBQUE7O0FDcEREO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGtCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGtCQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxrQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxrQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7OztBQUlGO0VBQ0Msc0NBQUE7RUFDQSxtQ0FBQTtFQUNBLGlDQUFBO0VBQ0EsOEJBQUE7O0FDcEREO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGdCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGdCQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxnQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxnQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7OztBQUlGO0VBQ0MsZ0NBQUE7RUFDQSw2QkFBQTtFQUNBLDJCQUFBO0VBQ0Esd0JBQUE7O0FDcEREO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGtCQUFuQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGtCQUFoQjs7RUFHRDtJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsY0FBYyxrQkFBZDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7OztBQUlGO0VBQ0M7SUFDQyxVQUFBO0lBQ0EsV0FBVyxrQkFBWDs7RUFHRDtJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7OztBQUlGO0VBQ0MsbUNBQUE7RUFDQSxnQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsMkJBQUE7O0FDcEREO0VBQ0M7SUFBSSxVQUFBOztFQUNKO0lBQU0sVUFBQTs7O0FBR1A7RUFDQztJQUFJLFVBQUE7O0VBQ0o7SUFBTSxVQUFBOzs7QUFHUDtFQUNDO0lBQUksVUFBQTs7RUFDSjtJQUFNLFVBQUE7OztBQUdQO0VBQ0M7SUFBSSxVQUFBOztFQUNKO0lBQU0sVUFBQTs7O0FBR1A7RUFDQywrQkFBQTtFQUNBLDRCQUFBO0VBQ0EsMEJBQUE7RUFDQSx1QkFBQTs7QUN4QkQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGdCQUFuQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGdCQUFoQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxnQkFBZDs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxnQkFBWDs7O0FBSUY7RUFDQyxtQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsOEJBQUE7RUFDQSwyQkFBQTs7QUNwREQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGtCQUFuQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGtCQUFoQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxrQkFBZDs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxrQkFBWDs7O0FBSUY7RUFDQyxzQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsaUNBQUE7RUFDQSw4QkFBQTs7QUNwREQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGlCQUFuQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGlCQUFoQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxpQkFBZDs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxpQkFBWDs7O0FBSUY7RUFDQyxtQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsOEJBQUE7RUFDQSwyQkFBQTs7QUNwREQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLG1CQUFuQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLG1CQUFoQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxtQkFBZDs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxtQkFBWDs7O0FBSUY7RUFDQyxzQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsaUNBQUE7RUFDQSw4QkFBQTs7QUNwREQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGdCQUFuQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGdCQUFoQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxnQkFBZDs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxnQkFBWDs7O0FBSUY7RUFDQyxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EsK0JBQUE7RUFDQSw0QkFBQTs7QUNwREQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGtCQUFuQjs7O0FBR0Y7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGtCQUFoQjs7O0FBR0Y7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxrQkFBZDs7O0FBR0Y7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxrQkFBWDs7O0FBSUY7RUFDQyx1Q0FBQTtFQUNBLG9DQUFBO0VBQ0Esa0NBQUE7RUFDQSwrQkFBQTs7QUNqREQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLGlCQUFuQjs7O0FBR0Y7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLGlCQUFoQjs7O0FBR0Y7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxpQkFBZDs7O0FBR0Y7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxpQkFBWDs7O0FBSUY7RUFDQyxpQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsNEJBQUE7RUFDQSx5QkFBQTs7QUNqREQ7RUFDQztJQUNDLFVBQUE7SUFDQSxtQkFBbUIsYUFBbkI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsbUJBQW1CLG1CQUFuQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxnQkFBZ0IsYUFBaEI7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsZ0JBQWdCLG1CQUFoQjs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxjQUFjLGFBQWQ7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsY0FBYyxtQkFBZDs7O0FBSUY7RUFDQztJQUNDLFVBQUE7SUFDQSxXQUFXLGFBQVg7O0VBR0Q7SUFDQyxVQUFBO0lBQ0EsV0FBVyxtQkFBWDs7O0FBSUY7RUFDQyxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EsK0JBQUE7RUFDQSw0QkFBQTs7QUNwREQ7RUFDQztFQUFJO0VBQUs7SUFBTSxVQUFBOztFQUNmO0VBQUs7SUFBSyxVQUFBOzs7QUFHWDtFQUNDO0VBQUk7RUFBSztJQUFNLFVBQUE7O0VBQ2Y7RUFBSztJQUFLLFVBQUE7OztBQUdYO0VBQ0M7RUFBSTtFQUFLO0lBQU0sVUFBQTs7RUFDZjtFQUFLO0lBQUssVUFBQTs7O0FBR1g7RUFDQztFQUFJO0VBQUs7SUFBTSxVQUFBOztFQUNmO0VBQUs7SUFBSyxVQUFBOzs7QUFHWDtFQUNDLDZCQUFBO0VBQ0EsMEJBQUE7RUFDQSx3QkFBQTtFQUNBLHFCQUFBOztBQ3hCRDtFQUNDO0lBQ0MsbUJBQW1CLG1CQUFtQixVQUF0QztJQUNBLDJDQUFBOztFQUVEO0lBQ0MsbUJBQW1CLG1CQUFtQixrQkFBa0IsZUFBeEQ7SUFDQSwyQ0FBQTs7RUFFRDtJQUNDLG1CQUFtQixtQkFBbUIsa0JBQWtCLGdCQUFnQixRQUF4RTtJQUNBLDBDQUFBOztFQUVEO0lBQ0MsbUJBQW1CLG1CQUFtQixnQkFBZ0IsV0FBdEQ7SUFDQSwwQ0FBQTs7RUFFRDtJQUNDLG1CQUFtQixtQkFBbUIsUUFBdEM7SUFDQSwwQ0FBQTs7O0FBR0Y7RUFDQztJQUNDLGdCQUFnQixtQkFBbUIsVUFBbkM7SUFDQSx3Q0FBQTs7RUFFRDtJQUNDLGdCQUFnQixtQkFBbUIsa0JBQWtCLGVBQXJEO0lBQ0Esd0NBQUE7O0VBRUQ7SUFDQyxnQkFBZ0IsbUJBQW1CLGtCQUFrQixnQkFBZ0IsUUFBckU7SUFDQSx1Q0FBQTs7RUFFRDtJQUNDLGdCQUFnQixtQkFBbUIsZ0JBQWdCLFdBQW5EO0lBQ0EsdUNBQUE7O0VBRUQ7SUFDQyxnQkFBZ0IsbUJBQW1CLFFBQW5DO0lBQ0EsdUNBQUE7OztBQUdGO0VBQ0M7SUFDQyxjQUFjLG1CQUFtQixVQUFqQztJQUNBLHNDQUFBOztFQUVEO0lBQ0MsY0FBYyxtQkFBbUIsa0JBQWtCLGVBQW5EO0lBQ0Esc0NBQUE7O0VBRUQ7SUFDQyxjQUFjLG1CQUFtQixrQkFBa0IsZ0JBQWdCLFFBQW5FO0lBQ0EscUNBQUE7O0VBRUQ7SUFDQyxjQUFjLG1CQUFtQixnQkFBZ0IsV0FBakQ7SUFDQSxxQ0FBQTs7RUFFRDtJQUNDLGNBQWMsbUJBQW1CLFFBQWpDO0lBQ0EscUNBQUE7OztBQUdGO0VBQ0M7SUFDQyxXQUFXLG1CQUFtQixVQUE5QjtJQUNBLG1DQUFBOztFQUVEO0lBQ0MsV0FBVyxtQkFBbUIsa0JBQWtCLGVBQWhEO0lBQ0EsbUNBQUE7O0VBRUQ7SUFDQyxXQUFXLG1CQUFtQixrQkFBa0IsZ0JBQWdCLFFBQWhFO0lBQ0Esa0NBQUE7O0VBRUQ7SUFDQyxXQUFXLG1CQUFtQixnQkFBZ0IsV0FBOUM7SUFDQSxrQ0FBQTs7RUFFRDtJQUNDLFdBQVcsbUJBQW1CLFFBQTlCO0lBQ0Esa0NBQUE7OztBQUlGO0VBQ0Msb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsNEJBQUE7RUFDQSwrQ0FBQTtFQUNBLDRCQUFBO0VBQ0EsNENBQUE7RUFDQSx5QkFBQTtFQUNBLDBDQUFBO0VBQ0EsdUJBQUE7RUFDQSx1Q0FBQTtFQUNBLG9CQUFBOztBQ3JHRDtFQUNJO0lBQ0ksbUJBQW1CLG1CQUFtQixjQUF0QztJQUNBLFVBQUE7O0VBR0o7SUFDSSxtQkFBbUIsbUJBQW1CLGVBQXRDOztFQUdKO0lBQ0ksbUJBQW1CLG1CQUFtQixjQUF0Qzs7RUFHSjtJQUNJLG1CQUFtQixtQkFBbUIsYUFBdEM7SUFDQSxVQUFBOzs7QUFHUjtFQUNJO0lBQ0ksZ0JBQWdCLG1CQUFtQixjQUFuQztJQUNBLFVBQUE7O0VBR0o7SUFDSSxnQkFBZ0IsbUJBQW1CLGVBQW5DOztFQUdKO0lBQ0ksZ0JBQWdCLG1CQUFtQixjQUFuQzs7RUFHSjtJQUNJLGdCQUFnQixtQkFBbUIsYUFBbkM7SUFDQSxVQUFBOzs7QUFHUjtFQUNJO0lBQ0ksY0FBYyxtQkFBbUIsY0FBakM7SUFDQSxVQUFBOztFQUdKO0lBQ0ksY0FBYyxtQkFBbUIsZUFBakM7O0VBR0o7SUFDSSxjQUFjLG1CQUFtQixjQUFqQzs7RUFHSjtJQUNJLGNBQWMsbUJBQW1CLGFBQWpDO0lBQ0EsVUFBQTs7O0FBR1I7RUFDSTtJQUNJLFdBQVcsbUJBQW1CLGNBQTlCO0lBQ0EsVUFBQTs7RUFHSjtJQUNJLFdBQVcsbUJBQW1CLGVBQTlCOztFQUdKO0lBQ0ksV0FBVyxtQkFBbUIsY0FBOUI7O0VBR0o7SUFDSSxXQUFXLG1CQUFtQixhQUE5QjtJQUNBLFVBQUE7OztBQUlSO0VBQ0MsK0NBQUE7RUFDQSwrQkFBQTtFQUNBLDRDQUFBO0VBQ0EsNEJBQUE7RUFDQSwwQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsdUNBQUE7RUFDQSx1QkFBQTs7QUNyRkQ7RUFDSTtJQUNJLG1CQUFtQixtQkFBbUIsY0FBdEM7SUFDQSxVQUFBOztFQUdKO0lBQ0ksbUJBQW1CLG1CQUFtQixlQUF0Qzs7RUFHSjtJQUNJLG1CQUFtQixtQkFBbUIsY0FBdEM7O0VBR0o7SUFDSSxtQkFBbUIsbUJBQW1CLGFBQXRDO0lBQ0EsVUFBQTs7O0FBR1I7RUFDSTtJQUNJLGdCQUFnQixtQkFBbUIsY0FBbkM7SUFDQSxVQUFBOztFQUdKO0lBQ0ksZ0JBQWdCLG1CQUFtQixlQUFuQzs7RUFHSjtJQUNJLGdCQUFnQixtQkFBbUIsY0FBbkM7O0VBR0o7SUFDSSxnQkFBZ0IsbUJBQW1CLGFBQW5DO0lBQ0EsVUFBQTs7O0FBR1I7RUFDSTtJQUNJLGNBQWMsbUJBQW1CLGNBQWpDO0lBQ0EsVUFBQTs7RUFHSjtJQUNJLGNBQWMsbUJBQW1CLGVBQWpDOztFQUdKO0lBQ0ksY0FBYyxtQkFBbUIsY0FBakM7O0VBR0o7SUFDSSxjQUFjLG1CQUFtQixhQUFqQztJQUNBLFVBQUE7OztBQUdSO0VBQ0k7SUFDSSxXQUFXLG1CQUFtQixjQUE5QjtJQUNBLFVBQUE7O0VBR0o7SUFDSSxXQUFXLG1CQUFtQixlQUE5Qjs7RUFHSjtJQUNJLFdBQVcsbUJBQW1CLGNBQTlCOztFQUdKO0lBQ0ksV0FBVyxtQkFBbUIsYUFBOUI7SUFDQSxVQUFBOzs7QUFJUjtFQUNDLCtDQUFBO0VBQ0EsK0JBQUE7RUFDQSw0Q0FBQTtFQUNBLDRCQUFBO0VBQ0EsMENBQUE7RUFDQSwwQkFBQTtFQUNBLHVDQUFBO0VBQ0EsdUJBQUE7O0FDckZEO0VBQ0k7SUFDSSxtQkFBbUIsbUJBQW1CLGFBQXRDO0lBQ0EsVUFBQTs7RUFFUDtJQUNPLG1CQUFtQixtQkFBbUIsY0FBdEM7SUFDQSxVQUFBOzs7QUFJUjtFQUNJO0lBQ0ksZ0JBQWdCLG1CQUFtQixhQUFuQztJQUNBLFVBQUE7O0VBRVA7SUFDTyxnQkFBZ0IsbUJBQW1CLGNBQW5DO0lBQ0EsVUFBQTs7O0FBSVI7RUFDSTtJQUNJLGNBQWMsbUJBQW1CLGFBQWpDO0lBQ0EsVUFBQTs7RUFFUDtJQUNPLGNBQWMsbUJBQW1CLGNBQWpDO0lBQ0EsVUFBQTs7O0FBSVI7RUFDSTtJQUNJLFdBQVcsbUJBQW1CLGFBQTlCO0lBQ0EsVUFBQTs7RUFFUDtJQUNPLFdBQVcsbUJBQW1CLGNBQTlCO0lBQ0EsVUFBQTs7O0FBSVI7RUFDQyxnQ0FBQTtFQUNBLCtDQUFBO0VBQ0EsNkJBQUE7RUFDQSw0Q0FBQTtFQUNBLDJCQUFBO0VBQ0EsMENBQUE7RUFDQSx3QkFBQTtFQUNBLHVDQUFBOztBQ3BERDtFQUNJO0lBQ0ksbUJBQW1CLG1CQUFtQixhQUF0QztJQUNBLFVBQUE7O0VBRVA7SUFDTyxtQkFBbUIsbUJBQW1CLGNBQXRDO0lBQ0EsVUFBQTs7O0FBR1I7RUFDSTtJQUNJLGdCQUFnQixtQkFBbUIsYUFBbkM7SUFDQSxVQUFBOztFQUVQO0lBQ08sZ0JBQWdCLG1CQUFtQixjQUFuQztJQUNBLFVBQUE7OztBQUdSO0VBQ0k7SUFDSSxjQUFjLG1CQUFtQixhQUFqQztJQUNBLFVBQUE7O0VBRVA7SUFDTyxjQUFjLG1CQUFtQixjQUFqQztJQUNBLFVBQUE7OztBQUdSO0VBQ0k7SUFDSSxXQUFXLG1CQUFtQixhQUE5QjtJQUNBLFVBQUE7O0VBRVA7SUFDTyxXQUFXLG1CQUFtQixjQUE5QjtJQUNBLFVBQUE7OztBQUlSO0VBQ0MsK0NBQUE7RUFDQSxnQ0FBQTtFQUNBLDRDQUFBO0VBQ0EsNkJBQUE7RUFDQSwwQ0FBQTtFQUNBLDJCQUFBO0VBQ0EsdUNBQUE7RUFDQSx3QkFBQTs7QUNqREQ7RUFDQztJQUFLLG1CQUFtQixTQUFuQjtJQUE4QixrQ0FBQTtJQUFvQyw4Q0FBQTs7RUFDdkU7RUFBSztJQUFNLG1CQUFtQixhQUFuQjtJQUFrQyxrQ0FBQTtJQUFvQyw4Q0FBQTs7RUFDakY7SUFBTSxtQkFBbUIsYUFBbkI7SUFBa0Msa0NBQUE7SUFBb0MsOENBQUE7O0VBQzVFO0lBQU0sbUJBQW1CLGNBQWMsYUFBakM7SUFBZ0QsVUFBQTtJQUFZLGtDQUFBO0lBQW9DLDhDQUFBOztFQUN0RztJQUFPLG1CQUFtQixpQkFBbkI7SUFBc0MsVUFBQTs7O0FBRzlDO0VBQ0M7SUFBSyxnQkFBZ0IsU0FBaEI7SUFBMkIsK0JBQUE7SUFBaUMsMkNBQUE7O0VBQ2pFO0VBQUs7SUFBTSxnQkFBZ0IsYUFBaEI7SUFBK0IsK0JBQUE7SUFBaUMsMkNBQUE7O0VBQzNFO0lBQU0sZ0JBQWdCLGFBQWhCO0lBQStCLCtCQUFBO0lBQWlDLDJDQUFBOztFQUN0RTtJQUFNLGdCQUFnQixjQUFjLGFBQTlCO0lBQTZDLFVBQUE7SUFBWSwrQkFBQTtJQUFpQywyQ0FBQTs7RUFDaEc7SUFBTyxnQkFBZ0IsaUJBQWhCO0lBQW1DLFVBQUE7OztBQUczQztFQUNDO0lBQUssY0FBYyxTQUFkO0lBQXlCLDZCQUFBO0lBQStCLHlDQUFBOztFQUM3RDtFQUFLO0lBQU0sY0FBYyxhQUFkO0lBQTZCLDZCQUFBO0lBQStCLHlDQUFBOztFQUN2RTtJQUFNLGNBQWMsYUFBZDtJQUE2Qiw2QkFBQTtJQUErQix5Q0FBQTs7RUFDbEU7SUFBTSxjQUFjLGNBQWMsYUFBNUI7SUFBMkMsVUFBQTtJQUFZLDZCQUFBO0lBQStCLHlDQUFBOztFQUM1RjtJQUFPLGNBQWMsaUJBQWQ7SUFBaUMsVUFBQTs7O0FBR3pDO0VBQ0M7SUFBSyxXQUFXLFNBQVg7SUFBc0IsMEJBQUE7SUFBNEIsc0NBQUE7O0VBQ3ZEO0VBQUs7SUFBTSxXQUFXLGFBQVg7SUFBMEIsMEJBQUE7SUFBNEIsc0NBQUE7O0VBQ2pFO0lBQU0sV0FBVyxhQUFYO0lBQTBCLDBCQUFBO0lBQTRCLHNDQUFBOztFQUM1RDtJQUFNLFdBQVcsY0FBYyxhQUF6QjtJQUF3QyxVQUFBO0lBQVksMEJBQUE7SUFBNEIsc0NBQUE7O0VBQ3RGO0lBQU8sV0FBVyxpQkFBWDtJQUE4QixVQUFBOzs7QUFHdEM7RUFDQyw2QkFBQTtFQUNBLDBCQUFBO0VBQ0Esd0JBQUE7RUFDQSxxQkFBQTs7QUNwQ0Q7RUFDQztJQUFLLG1CQUFtQixpQkFBaUIsYUFBcEM7SUFBbUQsVUFBQTs7RUFDeEQ7SUFBTSxtQkFBbUIsaUJBQWlCLFlBQXBDO0lBQWtELFVBQUE7O0VBQ3hEO0lBQU0sbUJBQW1CLGVBQWUsYUFBbEM7SUFBaUQsVUFBQTs7RUFDdkQ7SUFBTyxtQkFBbUIsZUFBZSxXQUFsQztJQUErQyxVQUFBOzs7QUFHdkQ7RUFDQztJQUFLLGdCQUFnQixpQkFBaUIsYUFBakM7SUFBZ0QsVUFBQTs7RUFDckQ7SUFBTSxnQkFBZ0IsaUJBQWlCLFlBQWpDO0lBQStDLFVBQUE7O0VBQ3JEO0lBQU0sZ0JBQWdCLGVBQWUsYUFBL0I7SUFBOEMsVUFBQTs7RUFDcEQ7SUFBTyxnQkFBZ0IsZUFBZSxXQUEvQjtJQUE0QyxVQUFBOzs7QUFHcEQ7RUFDQztJQUFLLGNBQWMsaUJBQWlCLGFBQS9CO0lBQThDLFVBQUE7O0VBQ25EO0lBQU0sY0FBYyxpQkFBaUIsWUFBL0I7SUFBNkMsVUFBQTs7RUFDbkQ7SUFBTSxjQUFjLGVBQWUsYUFBN0I7SUFBNEMsVUFBQTs7RUFDbEQ7SUFBTyxjQUFjLGVBQWUsV0FBN0I7SUFBMEMsVUFBQTs7O0FBR2xEO0VBQ0M7SUFBSyxXQUFXLGlCQUFpQixhQUE1QjtJQUEyQyxVQUFBOztFQUNoRDtJQUFNLFdBQVcsaUJBQWlCLFlBQTVCO0lBQTBDLFVBQUE7O0VBQ2hEO0lBQU0sV0FBVyxlQUFlLGFBQTFCO0lBQXlDLFVBQUE7O0VBQy9DO0lBQU8sV0FBVyxlQUFlLFdBQTFCO0lBQXVDLFVBQUE7OztBQUcvQztFQUNJLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSwrQkFBQTtFQUNBLDRCQUFBO0VBRUEsMkNBQUE7RUFDQSx3Q0FBQTtFQUNBLHNDQUFBO0VBQ0EsbUNBQUE7O0FDckNKO0VBQ0k7SUFBSyxtQkFBbUIsZUFBZSxXQUFsQztJQUErQyxVQUFBOztFQUN2RDtJQUFPLG1CQUFtQixpQkFBaUIsYUFBcEM7SUFBbUQsVUFBQTs7O0FBRzNEO0VBQ0M7SUFBSyxnQkFBZ0IsZUFBZSxXQUEvQjtJQUE0QyxVQUFBOztFQUNqRDtJQUFPLGdCQUFnQixpQkFBaUIsYUFBakM7SUFBZ0QsVUFBQTs7O0FBR3hEO0VBQ0M7SUFBSyxjQUFjLGVBQWUsV0FBN0I7SUFBMEMsVUFBQTs7RUFDL0M7SUFBTyxjQUFjLGlCQUFpQixhQUEvQjtJQUE4QyxVQUFBOzs7QUFHdEQ7RUFDQztJQUFLLFdBQVcsZUFBZSxXQUExQjtJQUF1QyxVQUFBOztFQUM1QztJQUFPLFdBQVcsaUJBQWlCLGFBQTVCO0lBQTJDLFVBQUE7OztBQUduRDtFQUNJLHFDQUFBO0VBQ0Esa0NBQUE7RUFDQSxnQ0FBQTtFQUNBLDZCQUFBO0VBRUEsMENBQUE7RUFDQSx1Q0FBQTtFQUNBLHFDQUFBO0VBQ0Esa0NBQUE7OztBQzNCSjtFQUNJO0lBQUssbUJBQW1CLFFBQW5COztFQUNSO0lBQU0sbUJBQW1CLFVBQW5COztFQUNIO0lBQU8sbUJBQW1CLFFBQW5COzs7QUFFWDtFQUNJO0lBQUssZ0JBQWdCLFFBQWhCOztFQUNSO0lBQU0sZ0JBQWdCLFVBQWhCOztFQUNIO0lBQU8sZ0JBQWdCLFFBQWhCOzs7QUFFWDtFQUNJO0lBQUssY0FBYyxRQUFkOztFQUNSO0lBQU0sY0FBYyxVQUFkOztFQUNIO0lBQU8sY0FBYyxRQUFkOzs7QUFFWDtFQUNJO0lBQUssV0FBVyxRQUFYOztFQUNSO0lBQU0sV0FBVyxVQUFYOztFQUNIO0lBQU8sV0FBVyxRQUFYOzs7QUFHWDtFQUNDLDZCQUFBO0VBQ0EsMEJBQUE7RUFDQSx3QkFBQTtFQUNBLHFCQUFBOzs7QUN6QkQ7RUFDQztJQUFLLFVBQUE7SUFBWSxtQkFBbUIsa0JBQWtCLGVBQXJDOztFQUNqQjtJQUFPLFVBQUE7SUFBWSxtQkFBbUIsZ0JBQWdCLFlBQW5DOzs7QUFHcEI7RUFDQztJQUFLLFVBQUE7SUFBWSxnQkFBZ0Isa0JBQWtCLGVBQWxDOztFQUNqQjtJQUFPLFVBQUE7SUFBWSxnQkFBZ0IsZ0JBQWdCLFlBQWhDOzs7QUFHcEI7RUFDQztJQUFLLFVBQUE7SUFBWSxjQUFjLGtCQUFrQixlQUFoQzs7RUFDakI7SUFBTyxVQUFBO0lBQVksY0FBYyxnQkFBZ0IsWUFBOUI7OztBQUdwQjtFQUNDO0lBQUssVUFBQTtJQUFZLFdBQVcsa0JBQWtCLGVBQTdCOztFQUNqQjtJQUFPLFVBQUE7SUFBWSxXQUFXLGdCQUFnQixZQUEzQjs7O0FBR3BCO0VBQ0MsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7OztBQ3hCRDtFQUNJO0lBQ0YsVUFBQTtJQUNBLG1CQUFtQixnQkFBZ0IsWUFBbkM7O0VBR0U7SUFDRixVQUFBO0lBQ0EsbUJBQW1CLGlCQUFpQixjQUFwQzs7O0FBSUY7RUFDSTtJQUNGLFVBQUE7SUFDQSxnQkFBZ0IsZ0JBQWdCLFlBQWhDOztFQUdFO0lBQ0YsVUFBQTtJQUNBLGdCQUFnQixpQkFBaUIsY0FBakM7OztBQUlGO0VBQ0k7SUFDRixVQUFBO0lBQ0EsY0FBYyxnQkFBZ0IsWUFBOUI7O0VBR0U7SUFDRixVQUFBO0lBQ0EsY0FBYyxpQkFBaUIsY0FBL0I7OztBQUlGO0VBQ0k7SUFDRixVQUFBO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBR0U7SUFDRixVQUFBO0lBQ0EsV0FBVyxpQkFBaUIsY0FBNUI7OztBQUlGO0VBQ0MsK0JBQUE7RUFDQSw0QkFBQTtFQUNBLDBCQUFBO0VBQ0EsdUJBQUE7O0FDdEREO0VBQ0M7SUFDQyx1Q0FBQTtJQUNBLG1CQUFtQixlQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyx1Q0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7OztBQUdGO0VBQ0M7SUFDQyxvQ0FBQTtJQUNBLGdCQUFnQixlQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxvQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7OztBQUdGO0VBQ0M7SUFDQyxrQ0FBQTtJQUNBLGNBQWMsZUFBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxrQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7OztBQUdGO0VBQ0M7SUFDQywrQkFBQTtJQUNBLFdBQVcsZUFBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQywrQkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0MsZ0NBQUE7RUFDQSw2QkFBQTtFQUNBLDJCQUFBO0VBQ0Esd0JBQUE7O0FDekREO0VBQ0M7SUFDQyxxQ0FBQTtJQUNBLG1CQUFtQixjQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxxQ0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxrQ0FBQTtJQUNBLGdCQUFnQixjQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxrQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxnQ0FBQTtJQUNBLGNBQWMsY0FBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxnQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyw2QkFBQTtJQUNBLFdBQVcsY0FBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyw2QkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0Msd0NBQUE7RUFDQSxxQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsZ0NBQUE7O0FDNUREO0VBQ0M7SUFDQyxzQ0FBQTtJQUNBLG1CQUFtQixhQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxzQ0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxtQ0FBQTtJQUNBLGdCQUFnQixhQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxtQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxpQ0FBQTtJQUNBLGNBQWMsYUFBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxpQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyw4QkFBQTtJQUNBLFdBQVcsYUFBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyw4QkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0MseUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7O0FDNUREO0VBQ0M7SUFDQyxxQ0FBQTtJQUNBLG1CQUFtQixhQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxxQ0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxrQ0FBQTtJQUNBLGdCQUFnQixhQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxrQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxnQ0FBQTtJQUNBLGNBQWMsYUFBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxnQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyw2QkFBQTtJQUNBLFdBQVcsYUFBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyw2QkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0Msc0NBQUE7RUFDQSxtQ0FBQTtFQUNBLGlDQUFBO0VBQ0EsOEJBQUE7O0FDNUREO0VBQ0M7SUFDQyxzQ0FBQTtJQUNBLG1CQUFtQixjQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxzQ0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxtQ0FBQTtJQUNBLGdCQUFnQixjQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxtQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxpQ0FBQTtJQUNBLGNBQWMsY0FBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxpQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyw4QkFBQTtJQUNBLFdBQVcsY0FBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyw4QkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0MsdUNBQUE7RUFDQSxvQ0FBQTtFQUNBLGtDQUFBO0VBQ0EsK0JBQUE7O0FDNUREO0VBQ0M7SUFDQyx1Q0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyx1Q0FBQTtJQUNBLG1CQUFtQixjQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxvQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxvQ0FBQTtJQUNBLGdCQUFnQixjQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxrQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxrQ0FBQTtJQUNBLGNBQWMsY0FBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQywrQkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQywrQkFBQTtJQUNBLFdBQVcsY0FBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0MsaUNBQUE7RUFDQSw4QkFBQTtFQUNBLDRCQUFBO0VBQ0EseUJBQUE7O0FDNUREO0VBQ0M7SUFDQyxxQ0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxxQ0FBQTtJQUNBLG1CQUFtQixhQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxrQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxrQ0FBQTtJQUNBLGdCQUFnQixhQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxnQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxnQ0FBQTtJQUNBLGNBQWMsYUFBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyw2QkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyw2QkFBQTtJQUNBLFdBQVcsYUFBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0MseUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7O0FDNUREO0VBQ0M7SUFDQyxzQ0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxzQ0FBQTtJQUNBLG1CQUFtQixjQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxtQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxtQ0FBQTtJQUNBLGdCQUFnQixjQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxpQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxpQ0FBQTtJQUNBLGNBQWMsY0FBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyw4QkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyw4QkFBQTtJQUNBLFdBQVcsY0FBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0MsMENBQUE7RUFDQSx1Q0FBQTtFQUNBLHFDQUFBO0VBQ0Esa0NBQUE7O0FDNUREO0VBQ0M7SUFDQyxxQ0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxxQ0FBQTtJQUNBLG1CQUFtQixjQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxrQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxrQ0FBQTtJQUNBLGdCQUFnQixjQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxnQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxnQ0FBQTtJQUNBLGNBQWMsY0FBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyw2QkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyw4QkFBQTtJQUNBLFlBQVksY0FBWjtJQUNBLFVBQUE7OztBQUlGO0VBQ0MsdUNBQUE7RUFDQSxvQ0FBQTtFQUNBLGtDQUFBO0VBQ0EsK0JBQUE7O0FDNUREO0VBQ0M7SUFDQyxzQ0FBQTtJQUNBLG1CQUFtQixTQUFuQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxzQ0FBQTtJQUNBLG1CQUFtQixhQUFuQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxtQ0FBQTtJQUNBLGdCQUFnQixTQUFoQjtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxtQ0FBQTtJQUNBLGdCQUFnQixhQUFoQjtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyxpQ0FBQTtJQUNBLGNBQWMsU0FBZDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyxpQ0FBQTtJQUNBLGNBQWMsYUFBZDtJQUNBLFVBQUE7OztBQUlGO0VBQ0M7SUFDQyw4QkFBQTtJQUNBLFdBQVcsU0FBWDtJQUNBLFVBQUE7O0VBR0Q7SUFDQyw4QkFBQTtJQUNBLFdBQVcsYUFBWDtJQUNBLFVBQUE7OztBQUlGO0VBQ0Msd0NBQUE7RUFDQSxxQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsZ0NBQUE7O0FDNUREO0VBQ0M7RUFBSTtJQUFNLG1CQUFtQixhQUFuQjs7RUFDVjtFQUFLO0VBQUs7RUFBSztFQUFLO0lBQUssbUJBQW1CLGlCQUFuQjs7RUFDekI7RUFBSztFQUFLO0VBQUs7SUFBSyxtQkFBbUIsZ0JBQW5COzs7QUFHckI7RUFDQztFQUFJO0lBQU0sZ0JBQWdCLGFBQWhCOztFQUNWO0VBQUs7RUFBSztFQUFLO0VBQUs7SUFBSyxnQkFBZ0IsaUJBQWhCOztFQUN6QjtFQUFLO0VBQUs7RUFBSztJQUFLLGdCQUFnQixnQkFBaEI7OztBQUdyQjtFQUNDO0VBQUk7SUFBTSxjQUFjLGFBQWQ7O0VBQ1Y7RUFBSztFQUFLO0VBQUs7RUFBSztJQUFLLGNBQWMsaUJBQWQ7O0VBQ3pCO0VBQUs7RUFBSztFQUFLO0lBQUssY0FBYyxnQkFBZDs7O0FBR3JCO0VBQ0M7RUFBSTtJQUFNLFdBQVcsYUFBWDs7RUFDVjtFQUFLO0VBQUs7RUFBSztFQUFLO0lBQUssV0FBVyxpQkFBWDs7RUFDekI7RUFBSztFQUFLO0VBQUs7SUFBSyxXQUFXLGdCQUFYOzs7QUFHckI7RUFDQyw2QkFBQTtFQUNBLDBCQUFBO0VBQ0Esd0JBQUE7RUFDQSxxQkFBQTs7QUM1QkQ7RUFDQztFQUFLO0VBQUs7RUFBSztFQUFLO0lBQU8sb0NBQUE7O0VBQzNCO0lBQU0sbUJBQW1CLGFBQW5COztFQUNOO0lBQU0sbUJBQW1CLGNBQW5COztFQUNOO0lBQU0sbUJBQW1CLFlBQW5COztFQUNOO0lBQU0sbUJBQW1CLGFBQW5COztFQUNOO0lBQU8sbUJBQW1CLFlBQW5COzs7QUFHUjtFQUNDO0lBQU0sZ0JBQWdCLGFBQWhCOztFQUNOO0lBQU0sZ0JBQWdCLGNBQWhCOztFQUNOO0lBQU0sZ0JBQWdCLFlBQWhCOztFQUNOO0lBQU0sZ0JBQWdCLGFBQWhCOztFQUNOO0lBQU8sZ0JBQWdCLFlBQWhCOzs7QUFHUjtFQUNDO0lBQU0sY0FBYyxhQUFkOztFQUNOO0lBQU0sY0FBYyxjQUFkOztFQUNOO0lBQU0sY0FBYyxZQUFkOztFQUNOO0lBQU0sY0FBYyxhQUFkOztFQUNOO0lBQU8sY0FBYyxZQUFkOzs7QUFHUjtFQUNDO0lBQU0sV0FBVyxhQUFYOztFQUNOO0lBQU0sV0FBVyxjQUFYOztFQUNOO0lBQU0sV0FBVyxZQUFYOztFQUNOO0lBQU0sV0FBVyxhQUFYOztFQUNOO0lBQU8sV0FBVyxZQUFYOzs7QUFHUjtFQUNDLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSwrQkFBQTtFQUNBLDRCQUFBO0VBQ0EsNkJBQUE7RUFDQSwwQkFBQTtFQUNBLHdCQUFBO0VBQ0EscUJBQUE7O0FDekNEO0VBQ0M7SUFBSSxtQkFBbUIsUUFBbkI7O0VBQ0o7RUFBSztJQUFLLG1CQUFtQixXQUFXLGFBQTlCOztFQUNWO0VBQUs7RUFBSztFQUFLO0lBQUssbUJBQW1CLFdBQVcsWUFBOUI7O0VBQ3BCO0VBQUs7RUFBSztJQUFLLG1CQUFtQixXQUFXLGFBQTlCOztFQUNmO0lBQU0sbUJBQW1CLFNBQVMsU0FBNUI7OztBQUdQO0VBQ0M7SUFBSSxnQkFBZ0IsUUFBaEI7O0VBQ0o7RUFBSztJQUFLLGdCQUFnQixXQUFXLGFBQTNCOztFQUNWO0VBQUs7RUFBSztFQUFLO0lBQUssZ0JBQWdCLFdBQVcsWUFBM0I7O0VBQ3BCO0VBQUs7RUFBSztJQUFLLGdCQUFnQixXQUFXLGFBQTNCOztFQUNmO0lBQU0sZ0JBQWdCLFNBQVMsU0FBekI7OztBQUdQO0VBQ0M7SUFBSSxjQUFjLFFBQWQ7O0VBQ0o7RUFBSztJQUFLLGNBQWMsV0FBVyxhQUF6Qjs7RUFDVjtFQUFLO0VBQUs7RUFBSztJQUFLLGNBQWMsV0FBVyxZQUF6Qjs7RUFDcEI7RUFBSztFQUFLO0lBQUssY0FBYyxXQUFXLGFBQXpCOztFQUNmO0lBQU0sY0FBYyxTQUFTLFNBQXZCOzs7QUFHUDtFQUNDO0lBQUksV0FBVyxRQUFYOztFQUNKO0VBQUs7SUFBSyxXQUFXLFdBQVcsYUFBdEI7O0VBQ1Y7RUFBSztFQUFLO0VBQUs7SUFBSyxXQUFXLFdBQVcsWUFBdEI7O0VBQ3BCO0VBQUs7RUFBSztJQUFLLFdBQVcsV0FBVyxhQUF0Qjs7RUFDZjtJQUFNLFdBQVcsU0FBUyxTQUFwQjs7O0FBR1A7RUFDQyw0QkFBQTtFQUNBLHlCQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTs7QUNwQ0Q7RUFDSTtJQUFLLG1CQUFtQixXQUFuQjs7RUFDTDtJQUFNLG1CQUFtQixZQUFuQjs7RUFDTjtJQUFNLG1CQUFtQixXQUFuQjs7RUFDTjtJQUFNLG1CQUFtQixZQUFuQjs7RUFDTjtJQUFNLG1CQUFtQixXQUFuQjs7RUFDTjtJQUFNLG1CQUFtQixZQUFuQjs7RUFDTjtJQUFNLG1CQUFtQixXQUFuQjs7RUFDTjtJQUFNLG1CQUFtQixZQUFuQjs7RUFDTjtJQUFNLG1CQUFtQixXQUFuQjs7RUFDTjtJQUFNLG1CQUFtQixXQUFuQjs7RUFDVDtJQUFPLG1CQUFtQixXQUFuQjs7O0FBR1I7RUFDSTtJQUFLLGdCQUFnQixXQUFoQjs7RUFDTDtJQUFNLGdCQUFnQixZQUFoQjs7RUFDTjtJQUFNLGdCQUFnQixXQUFoQjs7RUFDTjtJQUFNLGdCQUFnQixZQUFoQjs7RUFDTjtJQUFNLGdCQUFnQixXQUFoQjs7RUFDTjtJQUFNLGdCQUFnQixZQUFoQjs7RUFDTjtJQUFNLGdCQUFnQixXQUFoQjs7RUFDTjtJQUFNLGdCQUFnQixZQUFoQjs7RUFDTjtJQUFNLGdCQUFnQixXQUFoQjs7RUFDTjtJQUFNLGdCQUFnQixXQUFoQjs7RUFDVDtJQUFPLGdCQUFnQixXQUFoQjs7O0FBR1I7RUFDSTtJQUFLLGNBQWMsV0FBZDs7RUFDTDtJQUFNLGNBQWMsWUFBZDs7RUFDTjtJQUFNLGNBQWMsV0FBZDs7RUFDTjtJQUFNLGNBQWMsWUFBZDs7RUFDTjtJQUFNLGNBQWMsV0FBZDs7RUFDTjtJQUFNLGNBQWMsWUFBZDs7RUFDTjtJQUFNLGNBQWMsV0FBZDs7RUFDTjtJQUFNLGNBQWMsWUFBZDs7RUFDTjtJQUFNLGNBQWMsV0FBZDs7RUFDTjtJQUFNLGNBQWMsV0FBZDs7RUFDVDtJQUFPLGNBQWMsV0FBZDs7O0FBR1I7RUFDSTtJQUFLLFdBQVcsV0FBWDs7RUFDTDtJQUFNLFdBQVcsWUFBWDs7RUFDTjtJQUFNLFdBQVcsV0FBWDs7RUFDTjtJQUFNLFdBQVcsWUFBWDs7RUFDTjtJQUFNLFdBQVcsV0FBWDs7RUFDTjtJQUFNLFdBQVcsWUFBWDs7RUFDTjtJQUFNLFdBQVcsV0FBWDs7RUFDTjtJQUFNLFdBQVcsWUFBWDs7RUFDTjtJQUFNLFdBQVcsV0FBWDs7RUFDTjtJQUFNLFdBQVcsV0FBWDs7RUFDVDtJQUFPLFdBQVcsV0FBWDs7O0FBR1I7RUFDSSw4QkFBQTtFQUNBLDJCQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTtFQUVBLDBDQUFBO0VBQ0EsdUNBQUE7RUFDQSxxQ0FBQTtFQUNBLGtDQUFBOzs7QXpHL0RKO0VBQ0U7SUFBSyxtQkFBbUIsY0FBbkI7O0VBQ0w7SUFBTSxtQkFBbUIsaUJBQWlCLGFBQXBDOztFQUNOO0lBQU0sbUJBQW1CLGdCQUFnQixZQUFuQzs7RUFDTjtJQUFNLG1CQUFtQixpQkFBaUIsYUFBcEM7O0VBQ047SUFBTSxtQkFBbUIsZ0JBQWdCLFlBQW5DOztFQUNOO0lBQU0sbUJBQW1CLGdCQUFnQixhQUFuQzs7RUFDTjtJQUFPLG1CQUFtQixjQUFuQjs7O0FBR1Q7RUFDRTtJQUFLLGdCQUFnQixjQUFoQjs7RUFDTDtJQUFNLGdCQUFnQixpQkFBaUIsYUFBakM7O0VBQ047SUFBTSxnQkFBZ0IsZ0JBQWdCLFlBQWhDOztFQUNOO0lBQU0sZ0JBQWdCLGlCQUFpQixhQUFqQzs7RUFDTjtJQUFNLGdCQUFnQixnQkFBZ0IsWUFBaEM7O0VBQ047SUFBTSxnQkFBZ0IsZ0JBQWdCLGFBQWhDOztFQUNOO0lBQU8sZ0JBQWdCLGNBQWhCOzs7QUFHVDtFQUNFO0lBQUssY0FBYyxjQUFkOztFQUNMO0lBQU0sY0FBYyxpQkFBaUIsYUFBL0I7O0VBQ047SUFBTSxjQUFjLGdCQUFnQixZQUE5Qjs7RUFDTjtJQUFNLGNBQWMsaUJBQWlCLGFBQS9COztFQUNOO0lBQU0sY0FBYyxnQkFBZ0IsWUFBOUI7O0VBQ047SUFBTSxjQUFjLGdCQUFnQixhQUE5Qjs7RUFDTjtJQUFPLGNBQWMsY0FBZDs7O0FBR1Q7RUFDRTtJQUFLLFdBQVcsY0FBWDs7RUFDTDtJQUFNLFdBQVcsaUJBQWlCLGFBQTVCOztFQUNOO0lBQU0sV0FBVyxnQkFBZ0IsWUFBM0I7O0VBQ047SUFBTSxXQUFXLGlCQUFpQixhQUE1Qjs7RUFDTjtJQUFNLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUNOO0lBQU0sV0FBVyxnQkFBZ0IsYUFBM0I7O0VBQ047SUFBTyxXQUFXLGNBQVg7OztBQUdUO0VBQ0MsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7Ozs7Ozs7Ozs7Ozs7QTBHbkNEO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7O0FBRUYsU0FBUztBQUFRLFNBQVM7QUFBUSxTQUFTO0VBQ3pDLG1CQUFtQixVQUFuQjtFQUNBLFdBQVcsVUFBWDs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTs7QUFFRixXQUFXO0FBQVEsV0FBVztBQUFRLFdBQVc7RUFDL0MsbUJBQW1CLFVBQW5CO0VBQ0EsV0FBVyxVQUFYOzs7QUFJRjtFQUNFO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOzs7QUFHSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTs7QUFFRixVQUFVO0FBQVEsVUFBVTtBQUFRLFVBQVU7RUFDNUMsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLDhCQUFBO0VBQ0Esc0JBQUE7RUFDQSx5Q0FBQTtFQUNBLGlDQUFBO0VBQ0EsMkNBQUE7RUFDQSxtQ0FBQTs7O0FBSUY7RUFDRTtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsZUFBZTtBQUFRLGVBQWU7QUFBUSxlQUFlO0VBQzNELHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxnQ0FBQTtFQUNBLHdCQUFBO0VBQ0EseUNBQUE7RUFDQSxpQ0FBQTtFQUNBLDJDQUFBO0VBQ0EsbUNBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBOzs7QUFJRjtFQUNFO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOzs7QUFHSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTs7QUFFRixpQkFBaUI7QUFBUSxpQkFBaUI7QUFBUSxpQkFBaUI7RUFDakUsd0NBQUE7RUFDQSxnQ0FBQTtFQUNBLGdDQUFBO0VBQ0Esd0JBQUE7RUFDQSx5Q0FBQTtFQUNBLGlDQUFBO0VBQ0EsMkNBQUE7RUFDQSxtQ0FBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsVUFBbkI7SUFDQSxXQUFXLFVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsUUFBbkI7SUFDQSxXQUFXLFFBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsVUFBbkI7SUFDQSxXQUFXLFVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsUUFBbkI7SUFDQSxXQUFXLFFBQVg7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBOztBQUVGLFNBQVM7QUFBUSxTQUFTO0FBQVEsU0FBUztFQUN6QyxnQ0FBQTtFQUNBLHdCQUFBO0VBQ0EsZ0NBQUE7RUFDQSx3QkFBQTtFQUNBLHlDQUFBO0VBQ0EsaUNBQUE7RUFDQSxvQ0FBQTtFQUNBLDRCQUFBOzs7QUFJRjtFQUNFO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOzs7QUFHSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTs7QUFFRixRQUFRO0FBQVEsUUFBUTtBQUFRLFFBQVE7RUFDdEMsK0JBQUE7RUFDQSx1QkFBQTtFQUNBLGdDQUFBO0VBQ0Esd0JBQUE7RUFDQSx5Q0FBQTtFQUNBLGlDQUFBO0VBQ0Esb0NBQUE7RUFDQSw0QkFBQTs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLGNBQWM7QUFBUSxjQUFjO0FBQVEsY0FBYztFQUN4RCxtQkFBbUIsVUFBbkI7RUFDQSxXQUFXLFVBQVg7RUFDQSxvQ0FBb0MscUNBQXBDO0VBQ0EsNEJBQTRCLHFDQUE1Qjs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLGVBQWU7QUFBUSxlQUFlO0FBQVEsZUFBZTtFQUMzRCxtQkFBbUIsVUFBbkI7RUFDQSxXQUFXLFVBQVg7RUFDQSxvQ0FBb0MscUNBQXBDO0VBQ0EsNEJBQTRCLHFDQUE1Qjs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTs7QUFFRixXQUFXO0FBQVEsV0FBVztBQUFRLFdBQVc7RUFDL0MsbUJBQW1CLFlBQW5CO0VBQ0EsV0FBVyxZQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBOztBQUVGLGdCQUFnQjtBQUFRLGdCQUFnQjtBQUFRLGdCQUFnQjtFQUM5RCxtQkFBbUIsV0FBVyxZQUE5QjtFQUNBLFdBQVcsV0FBVyxZQUF0Qjs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYsVUFBVTtBQUFRLFVBQVU7QUFBUSxVQUFVO0VBQzVDLG1CQUFtQixnQkFBbkI7RUFDQSxXQUFXLGdCQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixTQUFTO0FBQVEsU0FBUztBQUFRLFNBQVM7RUFDekMsbUJBQW1CLGVBQW5CO0VBQ0EsV0FBVyxlQUFYOzs7QUFJRjtFQUNFO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsUUFBUTtBQUFRLFFBQVE7QUFBUSxRQUFRO0VBQ3RDLDhDQUFBO0VBQ0Esc0NBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHdEQUFBO0VBQ0EsZ0RBQUE7RUFDQSw4Q0FBQTtFQUNBLHNDQUFBO0VBQ0EscUNBQUE7RUFDQSw2QkFBQTtFQUNBLDhDQUFBO0VBQ0Esc0NBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBOztBQUVGLFNBQVM7QUFBUSxTQUFTO0FBQVEsU0FBUztFQUN6QywrQ0FBQTtFQUNBLHVDQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSx3REFBQTtFQUNBLGdEQUFBO0VBQ0EsOENBQUE7RUFDQSxzQ0FBQTtFQUNBLHFDQUFBO0VBQ0EsNkJBQUE7RUFDQSw4Q0FBQTtFQUNBLHNDQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBOztBQUVGLFNBQVM7QUFBUSxTQUFTO0FBQVEsU0FBUztFQUN6QyxtQkFBbUIsWUFBbkI7RUFDQSxXQUFXLFlBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxnQ0FBQTtFQUNBLHdCQUFBOztBQUVGLGlCQUFpQjtBQUFRLGlCQUFpQjtBQUFRLGlCQUFpQjtFQUNqRSxtQkFBbUIsWUFBbkI7RUFDQSxXQUFXLFlBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxnQ0FBQTtFQUNBLHdCQUFBOztBQUVGLGtCQUFrQjtBQUFRLGtCQUFrQjtBQUFRLGtCQUFrQjtFQUNwRSxtQkFBbUIsV0FBbkI7RUFDQSxXQUFXLFdBQVg7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGFBQW5CO0lBQ0EsV0FBVyxhQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixhQUFuQjtJQUNBLFdBQVcsYUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsb0JBQW9CO0FBQVEsb0JBQW9CO0FBQVEsb0JBQW9CO0VBQzFFLDJDQUFBO0VBQ0EsbUNBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsOENBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsNEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGFBQW5CO0lBQ0EsV0FBVyxhQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixhQUFuQjtJQUNBLFdBQVcsYUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsc0JBQXNCO0FBQVEsc0JBQXNCO0FBQVEsc0JBQXNCO0VBQ2hGLDZDQUFBO0VBQ0EscUNBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsOENBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsNEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsbUJBQW5CO0lBQ0EsV0FBVyxtQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixxQkFBbkI7SUFDQSxXQUFXLHFCQUFYOztFQUVGO0lBQ0UsbUJBQW1CLG1CQUFuQjtJQUNBLFdBQVcsbUJBQVg7O0VBRUY7SUFDRSxtQkFBbUIscUJBQW5CO0lBQ0EsV0FBVyxxQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixtQkFBbkI7SUFDQSxXQUFXLG1CQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLG1CQUFuQjtJQUNBLFdBQVcsbUJBQVg7O0VBRUY7SUFDRSxtQkFBbUIscUJBQW5CO0lBQ0EsV0FBVyxxQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixtQkFBbkI7SUFDQSxXQUFXLG1CQUFYOztFQUVGO0lBQ0UsbUJBQW1CLHFCQUFuQjtJQUNBLFdBQVcscUJBQVg7O0VBRUY7SUFDRSxtQkFBbUIsbUJBQW5CO0lBQ0EsV0FBVyxtQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsMkJBQTJCO0FBQVEsMkJBQTJCO0FBQVEsMkJBQTJCO0VBQy9GLGtEQUFBO0VBQ0EsMENBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsOENBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsNEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsb0JBQW5CO0lBQ0EsV0FBVyxvQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixvQkFBbkI7SUFDQSxXQUFXLG9CQUFYOztFQUVGO0lBQ0UsbUJBQW1CLG9CQUFuQjtJQUNBLFdBQVcsb0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsb0JBQW5CO0lBQ0EsV0FBVyxvQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixvQkFBbkI7SUFDQSxXQUFXLG9CQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLG9CQUFuQjtJQUNBLFdBQVcsb0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsb0JBQW5CO0lBQ0EsV0FBVyxvQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixvQkFBbkI7SUFDQSxXQUFXLG9CQUFYOztFQUVGO0lBQ0UsbUJBQW1CLG9CQUFuQjtJQUNBLFdBQVcsb0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsb0JBQW5CO0lBQ0EsV0FBVyxvQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsd0JBQXdCO0FBQVEsd0JBQXdCO0FBQVEsd0JBQXdCO0VBQ3RGLCtDQUFBO0VBQ0EsdUNBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsOENBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsNEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsWUFBbkI7SUFDQSxXQUFXLFlBQVg7O0VBRUY7SUFDRSxtQkFBbUIsV0FBbkI7SUFDQSxXQUFXLFdBQVg7O0VBRUY7SUFDRSxtQkFBbUIsV0FBbkI7SUFDQSxXQUFXLFdBQVg7O0VBRUY7SUFDRSxtQkFBbUIsVUFBbkI7SUFDQSxXQUFXLFVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsV0FBbkI7SUFDQSxXQUFXLFdBQVg7O0VBRUY7SUFDRSxtQkFBbUIsT0FBbkI7SUFDQSxXQUFXLE9BQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsWUFBbkI7SUFDQSxXQUFXLFlBQVg7O0VBRUY7SUFDRSxtQkFBbUIsV0FBbkI7SUFDQSxXQUFXLFdBQVg7O0VBRUY7SUFDRSxtQkFBbUIsV0FBbkI7SUFDQSxXQUFXLFdBQVg7O0VBRUY7SUFDRSxtQkFBbUIsVUFBbkI7SUFDQSxXQUFXLFVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsV0FBbkI7SUFDQSxXQUFXLFdBQVg7O0VBRUY7SUFDRSxtQkFBbUIsT0FBbkI7SUFDQSxXQUFXLE9BQVg7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsZ0NBQUE7RUFDQSx3QkFBQTs7QUFFRixlQUFlO0FBQVEsZUFBZTtBQUFRLGVBQWU7RUFDM0Qsc0NBQUE7RUFDQSw4QkFBQTtFQUNBLDhCQUFBO0VBQ0Esc0JBQUE7RUFDQSw4Q0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7RUFDQSw0QkFBQTs7O0FBSUY7RUFDRTtJQUNFLG1CQUFtQixZQUFuQjtJQUNBLFdBQVcsWUFBWDs7RUFFRjtJQUNFLG1CQUFtQixXQUFuQjtJQUNBLFdBQVcsV0FBWDs7RUFFRjtJQUNFLG1CQUFtQixXQUFuQjtJQUNBLFdBQVcsV0FBWDs7RUFFRjtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7RUFFRjtJQUNFLG1CQUFtQixXQUFuQjtJQUNBLFdBQVcsV0FBWDs7RUFFRjtJQUNFLG1CQUFtQixPQUFuQjtJQUNBLFdBQVcsT0FBWDs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixZQUFuQjtJQUNBLFdBQVcsWUFBWDs7RUFFRjtJQUNFLG1CQUFtQixXQUFuQjtJQUNBLFdBQVcsV0FBWDs7RUFFRjtJQUNFLG1CQUFtQixXQUFuQjtJQUNBLFdBQVcsV0FBWDs7RUFFRjtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7RUFFRjtJQUNFLG1CQUFtQixXQUFuQjtJQUNBLFdBQVcsV0FBWDs7RUFFRjtJQUNFLG1CQUFtQixPQUFuQjtJQUNBLFdBQVcsT0FBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxnQ0FBQTtFQUNBLHdCQUFBOztBQUVGLGtCQUFrQjtBQUFRLGtCQUFrQjtBQUFRLGtCQUFrQjtFQUNwRSx5Q0FBQTtFQUNBLGlDQUFBO0VBQ0EsOEJBQUE7RUFDQSxzQkFBQTtFQUNBLDhDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtFQUNBLDRCQUFBOzs7QUFJRjtFQUNFO0lBQ0UsbUJBQW1CLFlBQW5CO0lBQ0EsV0FBVyxZQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFdBQW5CO0lBQ0EsV0FBVyxXQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFdBQW5CO0lBQ0EsV0FBVyxXQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFdBQW5CO0lBQ0EsV0FBVyxXQUFYOztFQUVGO0lBQ0UsbUJBQW1CLE9BQW5CO0lBQ0EsV0FBVyxPQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLFlBQW5CO0lBQ0EsV0FBVyxZQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFdBQW5CO0lBQ0EsV0FBVyxXQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFdBQW5CO0lBQ0EsV0FBVyxXQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOztFQUVGO0lBQ0UsbUJBQW1CLFdBQW5CO0lBQ0EsV0FBVyxXQUFYOztFQUVGO0lBQ0UsbUJBQW1CLE9BQW5CO0lBQ0EsV0FBVyxPQUFYOzs7QUFHSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTs7QUFFRixnQkFBZ0I7QUFBUSxnQkFBZ0I7QUFBUSxnQkFBZ0I7RUFDOUQsdUNBQUE7RUFDQSwrQkFBQTtFQUNBLDhCQUFBO0VBQ0Esc0JBQUE7RUFDQSw4Q0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7RUFDQSw0QkFBQTs7O0FBSUY7RUFDRTtJQUNFLG1CQUFtQixnQkFBZ0IsWUFBbkM7SUFDQSxXQUFXLGdCQUFnQixZQUEzQjs7RUFFRjtJQUNFLG1CQUFtQixpQkFBaUIsYUFBcEM7SUFDQSxXQUFXLGlCQUFpQixhQUE1Qjs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixnQkFBZ0IsWUFBbkM7SUFDQSxXQUFXLGdCQUFnQixZQUEzQjs7RUFFRjtJQUNFLG1CQUFtQixpQkFBaUIsYUFBcEM7SUFDQSxXQUFXLGlCQUFpQixhQUE1Qjs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsU0FBUztBQUFRLFNBQVM7QUFBUSxTQUFTO0VBQ3pDLGdDQUFBO0VBQ0Esd0JBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EseUNBQUE7RUFDQSxpQ0FBQTtFQUNBLDJDQUFBO0VBQ0EsbUNBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQWdCLFNBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsU0FBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLFNBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsU0FBNUI7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQWdCLFNBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsU0FBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLFNBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsU0FBNUI7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBOztBQUVGLGFBQWE7QUFBUSxhQUFhO0FBQVEsYUFBYTtFQUNyRCxvQ0FBQTtFQUNBLDRCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHlDQUFBO0VBQ0EsaUNBQUE7RUFDQSxvQ0FBQTtFQUNBLDRCQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBOztBQUVGLFlBQVk7QUFBUSxZQUFZO0FBQVEsWUFBWTtFQUNsRCxtQkFBbUIsZUFBbkI7RUFDQSxXQUFXLGVBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7O0FBRUYsYUFBYTtBQUFRLGFBQWE7QUFBUSxhQUFhO0VBQ3JELG1CQUFtQixnQkFBbkI7RUFDQSxXQUFXLGdCQUFYOzs7O0FBS0Y7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxvREFBQTtFQUNBLDRDQUFBOztBQUVGLFNBQVM7QUFBUSxTQUFTO0FBQVEsU0FBUztFQUN6Qyx5QkFBQTtFQUNBLFlBQUE7OztBQUlGO0VBQ0U7SUFDRSwwQ0FBQTs7O0FBR0o7RUFDRTtJQUNFLDBDQUFBOzs7QUFHSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLG9EQUFBO0VBQ0EsNENBQUE7O0FBRUYsZUFBZTtBQUFRLGVBQWU7QUFBUSxlQUFlO0VBQzNELHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsNkJBQUE7RUFDQSxxQkFBQTtFQUNBLHlDQUFBO0VBQ0EsaUNBQUE7RUFDQSwyQ0FBQTtFQUNBLG1DQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixtQkFBbUI7RUFDakIsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0EsK0JBQUE7RUFDQSx1QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixtQkFBbUI7QUFBUSxtQkFBbUI7QUFBUSxtQkFBbUI7RUFDdkUsWUFBQTs7QUFFRixtQkFBbUIsTUFBTTtBQUFTLG1CQUFtQixNQUFNO0FBQVMsbUJBQW1CLE9BQU87RUFDNUYsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYsa0JBQWtCO0VBQ2hCLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFtQixTQUFuQjtFQUNBLFdBQVcsU0FBWDtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYsa0JBQWtCO0FBQVEsa0JBQWtCO0FBQVEsa0JBQWtCO0VBQ3BFLFlBQUE7O0FBRUYsa0JBQWtCLE1BQU07QUFBUyxrQkFBa0IsTUFBTTtBQUFTLGtCQUFrQixPQUFPO0VBQ3pGLG1CQUFtQixTQUFuQjtFQUNBLFdBQVcsU0FBWDs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLG9CQUFvQjtFQUNsQixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7RUFDQSwrQkFBQTtFQUNBLHVCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLG9CQUFvQjtBQUFRLG9CQUFvQjtBQUFRLG9CQUFvQjtFQUMxRSxZQUFBOztBQUVGLG9CQUFvQixNQUFNO0FBQVMsb0JBQW9CLE1BQU07QUFBUyxvQkFBb0IsT0FBTztFQUMvRixtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixpQkFBaUI7RUFDZixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLGlCQUFpQjtBQUFRLGlCQUFpQjtBQUFRLGlCQUFpQjtFQUNqRSxZQUFBOztBQUVGLGlCQUFpQixNQUFNO0FBQVMsaUJBQWlCLE1BQU07QUFBUyxpQkFBaUIsT0FBTztFQUN0RixtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixvQkFBb0I7RUFDbEIsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0EsK0JBQUE7RUFDQSx1QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixvQkFBb0I7QUFBUSxvQkFBb0I7QUFBUSxvQkFBb0I7RUFDMUUsWUFBQTs7QUFFRixvQkFBb0IsTUFBTTtBQUFTLG9CQUFvQixNQUFNO0FBQVMsb0JBQW9CLE9BQU87RUFDL0YsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0Esb0NBQW9DLG9DQUFwQztFQUNBLDRCQUE0QixvQ0FBNUI7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixtQkFBbUI7RUFDakIsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixtQkFBbUI7QUFBUSxtQkFBbUI7QUFBUSxtQkFBbUI7RUFDdkUsWUFBQTs7QUFFRixtQkFBbUIsTUFBTTtBQUFTLG1CQUFtQixNQUFNO0FBQVMsbUJBQW1CLE9BQU87RUFDNUYsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0Esb0NBQW9DLG9DQUFwQztFQUNBLDRCQUE0QixvQ0FBNUI7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixxQkFBcUI7RUFDbkIsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0EsK0JBQUE7RUFDQSx1QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixxQkFBcUI7QUFBUSxxQkFBcUI7QUFBUSxxQkFBcUI7RUFDN0UsWUFBQTs7QUFFRixxQkFBcUIsTUFBTTtBQUFTLHFCQUFxQixNQUFNO0FBQVMscUJBQXFCLE9BQU87RUFDbEcsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0Esb0NBQW9DLG9DQUFwQztFQUNBLDRCQUE0QixvQ0FBNUI7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixrQkFBa0I7RUFDaEIsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixrQkFBa0I7QUFBUSxrQkFBa0I7QUFBUSxrQkFBa0I7RUFDcEUsWUFBQTs7QUFFRixrQkFBa0IsTUFBTTtBQUFTLGtCQUFrQixNQUFNO0FBQVMsa0JBQWtCLE9BQU87RUFDekYsbUJBQW1CLFNBQW5CO0VBQ0EsV0FBVyxTQUFYO0VBQ0Esb0NBQW9DLG9DQUFwQztFQUNBLDRCQUE0QixvQ0FBNUI7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYsZUFBZTtFQUNiLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQW1CLFFBQW5CO0VBQ0EsV0FBVyxRQUFYO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLGVBQWU7QUFBUSxlQUFlO0FBQVEsZUFBZTtFQUMzRCxZQUFBOztBQUVGLGVBQWUsTUFBTTtBQUFTLGVBQWUsTUFBTTtBQUFTLGVBQWUsT0FBTztFQUNoRixtQkFBbUIsUUFBbkI7RUFDQSxXQUFXLFFBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYsY0FBYztFQUNaLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQW1CLFFBQW5CO0VBQ0EsV0FBVyxRQUFYO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLGNBQWM7QUFBUSxjQUFjO0FBQVEsY0FBYztFQUN4RCxZQUFBOztBQUVGLGNBQWMsTUFBTTtBQUFTLGNBQWMsTUFBTTtBQUFTLGNBQWMsT0FBTztFQUM3RSxtQkFBbUIsUUFBbkI7RUFDQSxXQUFXLFFBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLGlCQUFpQjtFQUNmLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFtQixRQUFuQjtFQUNBLFdBQVcsUUFBWDtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixpQkFBaUI7QUFBUSxpQkFBaUI7QUFBUSxpQkFBaUI7RUFDakUsWUFBQTs7QUFFRixpQkFBaUIsTUFBTTtBQUFTLGlCQUFpQixNQUFNO0FBQVMsaUJBQWlCLE9BQU87RUFDdEYsbUJBQW1CLFFBQW5CO0VBQ0EsV0FBVyxRQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixrQkFBa0I7RUFDaEIsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQW1CLFFBQW5CO0VBQ0EsV0FBVyxRQUFYO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLGtCQUFrQjtBQUFRLGtCQUFrQjtBQUFRLGtCQUFrQjtFQUNwRSxZQUFBOztBQUVGLGtCQUFrQixNQUFNO0FBQVMsa0JBQWtCLE1BQU07QUFBUyxrQkFBa0IsT0FBTztFQUN6RixtQkFBbUIsUUFBbkI7RUFDQSxXQUFXLFFBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLDBCQUEwQjtFQUN4QixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7RUFDQSw2QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLDBCQUEwQjtBQUFRLDBCQUEwQjtBQUFRLDBCQUEwQjtFQUM1RixZQUFBOztBQUVGLDBCQUEwQixNQUFNO0FBQVMsMEJBQTBCLE1BQU07QUFBUywwQkFBMEIsT0FBTztFQUNqSCxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLDJCQUEyQjtFQUN6QixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7RUFDQSw2QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLDJCQUEyQjtBQUFRLDJCQUEyQjtBQUFRLDJCQUEyQjtFQUMvRixZQUFBOztBQUVGLDJCQUEyQixNQUFNO0FBQVMsMkJBQTJCLE1BQU07QUFBUywyQkFBMkIsT0FBTztFQUNwSCxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLHdCQUF3QjtFQUN0QixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7RUFDQSw2QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLHdCQUF3QjtBQUFRLHdCQUF3QjtBQUFRLHdCQUF3QjtFQUN0RixZQUFBOztBQUVGLHdCQUF3QixNQUFNO0FBQVMsd0JBQXdCLE1BQU07QUFBUyx3QkFBd0IsT0FBTztFQUMzRyxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLHlCQUF5QjtFQUN2QixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7RUFDQSw2QkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLHlCQUF5QjtBQUFRLHlCQUF5QjtBQUFRLHlCQUF5QjtFQUN6RixZQUFBOztBQUVGLHlCQUF5QixNQUFNO0FBQVMseUJBQXlCLE1BQU07QUFBUyx5QkFBeUIsT0FBTztFQUM5RyxtQkFBbUIsU0FBbkI7RUFDQSxXQUFXLFNBQVg7Ozs7QUFLRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSx1Q0FBQTtFQUNBLCtCQUFBO0VBQ0EsNkRBQUE7OztBQUdGLGdCQUFnQjtBQUFRLGdCQUFnQjtBQUFRLGdCQUFnQjtFQUM5RCw2REFBQTs7OztBQUtGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHVDQUFBO0VBQ0EsK0JBQUE7RUFDQSw2REFBQTs7O0FBR0YsV0FBVztBQUFRLFdBQVc7QUFBUSxXQUFXO0VBQy9DLGdCQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBOztBQUVGLFNBQVM7RUFDUCxTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSw0QkFBQTs7QUFFRixTQUFTLE1BQU07QUFBUyxTQUFTLE1BQU07QUFBUyxTQUFTLE9BQU87RUFDOUQsVUFBQTs7O0FBSUY7RUFDRTtJQUNFLFVBQUE7SUFDQSxZQUFBO0lBQ0EsYUFBQTtJQUNBLFdBQUE7SUFDQSxVQUFBOzs7QUFHSjtFQUNFO0lBQ0UsVUFBQTtJQUNBLFlBQUE7SUFDQSxhQUFBO0lBQ0EsV0FBQTtJQUNBLFVBQUE7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7O0FBRUYsZUFBZTtFQUNiLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsOEJBQUE7RUFDQSxzQkFBQTs7QUFFRixlQUFlLE1BQU07QUFBUyxlQUFlLE1BQU07QUFBUyxlQUFlLE9BQU87RUFDaEYsc0NBQUE7RUFDQSw4QkFBQTs7O0FBSUY7RUFDRTtJQUNFLE1BQUE7SUFDQSxRQUFBO0lBQ0EsU0FBQTtJQUNBLE9BQUE7SUFDQSxVQUFBOzs7QUFHSjtFQUNFO0lBQ0UsTUFBQTtJQUNBLFFBQUE7SUFDQSxTQUFBO0lBQ0EsT0FBQTtJQUNBLFVBQUE7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7O0FBRUYsY0FBYztFQUNaLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLDhCQUFBO0VBQ0Esc0JBQUE7O0FBRUYsY0FBYyxNQUFNO0FBQVMsY0FBYyxNQUFNO0FBQVMsY0FBYyxPQUFPO0VBQzdFLHFDQUFBO0VBQ0EsNkJBQUE7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7O0FBRUYsZ0JBQWdCO0VBQ2QsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EscURBQUE7RUFDQSw2Q0FBQTs7QUFFRixnQkFBZ0IsTUFBTTtBQUFTLGdCQUFnQixNQUFNO0FBQVMsZ0JBQWdCLE9BQU87RUFDbkYsU0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTs7QUFFRixlQUFlO0VBQ2Isb0JBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EscURBQUE7RUFDQSw2Q0FBQTs7QUFFRixlQUFlLE1BQU07QUFBUyxlQUFlLE1BQU07QUFBUyxlQUFlLE9BQU87RUFDaEYsU0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLDBDQUFBO0VBQ0Esa0NBQUE7O0FBRUYsa0JBQWtCO0FBQVEsa0JBQWtCO0FBQVEsa0JBQWtCO0VBQ3BFLGtCQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7O0FBRUYsd0JBQXdCO0VBQ3RCLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGtDQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRix3QkFBd0IsTUFBTTtBQUFTLHdCQUF3QixNQUFNO0FBQVMsd0JBQXdCLE9BQU87RUFDM0csUUFBQTs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBOztBQUVGLDBCQUEwQjtFQUN4QixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSx3Q0FBQTtFQUNBLGdDQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYsMEJBQTBCLE1BQU07QUFBUywwQkFBMEIsTUFBTTtBQUFTLDBCQUEwQixPQUFPO0VBQ2pILE9BQUE7RUFDQSxRQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7O0FBRUYseUJBQXlCO0VBQ3ZCLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRix5QkFBeUIsTUFBTTtBQUFTLHlCQUF5QixNQUFNO0FBQVMseUJBQXlCLE9BQU87RUFDOUcsT0FBQTs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBOztBQUVGLHVCQUF1QjtFQUNyQixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLE1BQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxrQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYsdUJBQXVCLE1BQU07QUFBUyx1QkFBdUIsTUFBTTtBQUFTLHVCQUF1QixPQUFPO0VBQ3hHLFFBQUE7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTs7QUFFRix5QkFBeUI7RUFDdkIsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxNQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0Esd0NBQUE7RUFDQSxnQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLHlCQUF5QixNQUFNO0FBQVMseUJBQXlCLE1BQU07QUFBUyx5QkFBeUIsT0FBTztFQUM5RyxPQUFBO0VBQ0EsUUFBQTs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBOztBQUVGLHdCQUF3QjtFQUN0QixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsUUFBQTtFQUNBLE1BQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYsd0JBQXdCLE1BQU07QUFBUyx3QkFBd0IsTUFBTTtBQUFTLHdCQUF3QixPQUFPO0VBQzNHLE9BQUE7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTs7QUFFRixXQUFXO0VBQ1QsU0FBUyxFQUFUO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxNQUFBO0VBQ0EsU0FBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EseUNBQUE7RUFDQSxpQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLFdBQVcsTUFBTTtBQUFTLFdBQVcsTUFBTTtBQUFTLFdBQVcsT0FBTztFQUNwRSxtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7RUFDQSxpQkFBQTs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBOztBQUVGLHFCQUFxQjtFQUNuQixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBbUIsZUFBbkI7RUFDQSxXQUFXLGVBQVg7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYscUJBQXFCLE1BQU07QUFBUyxxQkFBcUIsTUFBTTtBQUFTLHFCQUFxQixPQUFPO0VBQ2xHLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBOztBQUVGLG9CQUFvQjtFQUNsQixTQUFTLEVBQVQ7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLE1BQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBbUIsZ0JBQW5CO0VBQ0EsV0FBVyxnQkFBWDtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixvQkFBb0IsTUFBTTtBQUFTLG9CQUFvQixNQUFNO0FBQVMsb0JBQW9CLE9BQU87RUFDL0YsbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYOzs7O0FBS0Y7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsdUNBQUE7RUFDQSwrQkFBQTs7QUFFRixTQUFTO0FBQVEsU0FBUztBQUFRLFNBQVM7RUFDekMsc0NBQUE7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHVDQUFBO0VBQ0EsK0JBQUE7O0FBRUYsV0FBVztBQUFRLFdBQVc7QUFBUSxXQUFXO0VBQy9DLGdEQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxrREFBQTtFQUNBLDBDQUFBOztBQUVGLGdCQUFnQjtBQUFRLGdCQUFnQjtBQUFRLGdCQUFnQjtFQUM5RCxnREFBQTtFQUNBLG1CQUFtQixVQUFuQjtFQUNBLFdBQVcsVUFBWDs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsdUNBQUE7RUFDQSwrQkFBQTs7QUFFRixzQkFBc0I7QUFBUSxzQkFBc0I7QUFBUSxzQkFBc0I7RUFDaEYsMENBQUE7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHVDQUFBO0VBQ0EsK0JBQUE7RUFDQSxvRUFBQTs7O0FBR0YscUJBQXFCO0FBQVEscUJBQXFCO0FBQVEscUJBQXFCO0VBQzdFLDBFQUFBOzs7O0FBS0Y7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBOztBQUVGLGlCQUFpQjtFQUNmLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFZLHNGQUFaO0VBQ0EsWUFBWSxnRkFBWjs7RUFFQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsK0NBQUE7RUFDQSx1Q0FBQTs7QUFFRixpQkFBaUI7QUFBUSxpQkFBaUI7QUFBUSxpQkFBaUI7RUFDakUsbUJBQW1CLGdCQUFuQjtFQUNBLFdBQVcsZ0JBQVg7OztBQUdGLGlCQUFpQixNQUFNO0FBQVMsaUJBQWlCLE1BQU07QUFBUyxpQkFBaUIsT0FBTztFQUN0RixVQUFBO0VBQ0EsbUJBQW1CLGVBQW5CO0VBQ0EsV0FBVyxlQUFYOzs7O0FBS0Y7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTs7QUFFRixrQkFBa0I7QUFBUyxrQkFBa0I7RUFDM0Msb0JBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQVMsRUFBVDtFQUNBLE9BQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSw0QkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLG9DQUFBO0VBQ0EsNEJBQUE7O0FBRUYsa0JBQWtCO0VBQ2hCLFlBQUE7RUFDQSxZQUFZLHVGQUFaO0VBQ0EsWUFBWSxpRkFBWjs7QUFFRixrQkFBa0I7RUFDaEIsU0FBQTtFQUNBLFlBQVksdUZBQVo7RUFDQSxZQUFZLGlGQUFaOztBQUVGLGtCQUFrQixNQUFNO0FBQVMsa0JBQWtCLE1BQU07QUFBUyxrQkFBa0IsT0FBTztBQUFTLGtCQUFrQixNQUFNO0FBQVEsa0JBQWtCLE1BQU07QUFBUSxrQkFBa0IsT0FBTztFQUMzTCxVQUFBOzs7O0FBS0Y7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTs7QUFFRixlQUFlO0VBQ2Isb0JBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxtQkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsTUFBTSxnQkFBTjtFQUNBLE1BQUE7RUFDQSw4QkFBQTtFQUNBLHlEQUFBOztBQUVGLGVBQWUsTUFBTTtBQUFTLGVBQWUsTUFBTTtBQUFTLGVBQWUsT0FBTztFQUNoRixtQkFBbUIsaUJBQW5CO0VBQ0EsV0FBVyxpQkFBWDs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTs7QUFFRixpQkFBaUI7RUFDZixvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQVMsRUFBVDtFQUNBLG1CQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxLQUFLLGdCQUFMO0VBQ0EsUUFBQTtFQUNBLDhCQUFBO0VBQ0EseURBQUE7O0FBRUYsaUJBQWlCLE1BQU07QUFBUyxpQkFBaUIsTUFBTTtBQUFTLGlCQUFpQixPQUFPO0VBQ3RGLG1CQUFtQixnQkFBbkI7RUFDQSxXQUFXLGdCQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBOztBQUVGLGtCQUFrQjtFQUNoQixvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQVMsRUFBVDtFQUNBLG1CQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxNQUFNLGdCQUFOO0VBQ0EsU0FBQTtFQUNBLDhCQUFBO0VBQ0EseURBQUE7O0FBRUYsa0JBQWtCLE1BQU07QUFBUyxrQkFBa0IsTUFBTTtBQUFTLGtCQUFrQixPQUFPO0VBQ3pGLG1CQUFtQixnQkFBbkI7RUFDQSxXQUFXLGdCQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBOztBQUVGLGdCQUFnQjtFQUNkLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsbUJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLEtBQUssZ0JBQUw7RUFDQSxPQUFBO0VBQ0EsOEJBQUE7RUFDQSx5REFBQTs7QUFFRixnQkFBZ0IsTUFBTTtBQUFTLGdCQUFnQixNQUFNO0FBQVMsZ0JBQWdCLE9BQU87RUFDbkYsbUJBQW1CLGlCQUFuQjtFQUNBLFdBQVcsaUJBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTs7QUFFRixxQkFBcUI7RUFDbkIsa0JBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsTUFBTSxnQkFBTjtFQUNBLE1BQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0EseURBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTs7QUFFRixxQkFBcUI7QUFBUSxxQkFBcUI7QUFBUSxxQkFBcUI7RUFDN0UsbUJBQW1CLGdCQUFuQjtFQUNBLFdBQVcsZ0JBQVg7O0FBRUYscUJBQXFCLE1BQU07QUFBUyxxQkFBcUIsTUFBTTtBQUFTLHFCQUFxQixPQUFPO0VBQ2xHLG1CQUFtQixpQkFBbkI7RUFDQSxXQUFXLGlCQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7O0FBRUYsdUJBQXVCO0VBQ3JCLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLEtBQUssZ0JBQUw7RUFDQSxRQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtFQUNBLHlEQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7O0FBRUYsdUJBQXVCO0FBQVEsdUJBQXVCO0FBQVEsdUJBQXVCO0VBQ25GLG1CQUFtQixpQkFBbkI7RUFDQSxXQUFXLGlCQUFYOztBQUVGLHVCQUF1QixNQUFNO0FBQVMsdUJBQXVCLE1BQU07QUFBUyx1QkFBdUIsT0FBTztFQUN4RyxtQkFBbUIsZ0JBQW5CO0VBQ0EsV0FBVyxnQkFBWDs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBOztBQUVGLHdCQUF3QjtFQUN0QixrQkFBQTtFQUNBLFdBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxNQUFNLGdCQUFOO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsOEJBQUE7RUFDQSx5REFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBOztBQUVGLHdCQUF3QjtBQUFRLHdCQUF3QjtBQUFRLHdCQUF3QjtFQUN0RixtQkFBbUIsaUJBQW5CO0VBQ0EsV0FBVyxpQkFBWDs7QUFFRix3QkFBd0IsTUFBTTtBQUFTLHdCQUF3QixNQUFNO0FBQVMsd0JBQXdCLE9BQU87RUFDM0csbUJBQW1CLGdCQUFuQjtFQUNBLFdBQVcsZ0JBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTs7QUFFRixzQkFBc0I7RUFDcEIsa0JBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsS0FBSyxnQkFBTDtFQUNBLE9BQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0EseURBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTs7QUFFRixzQkFBc0I7QUFBUSxzQkFBc0I7QUFBUSxzQkFBc0I7RUFDaEYsbUJBQW1CLGdCQUFuQjtFQUNBLFdBQVcsZ0JBQVg7O0FBRUYsc0JBQXNCLE1BQU07QUFBUyxzQkFBc0IsTUFBTTtBQUFTLHNCQUFzQixPQUFPO0VBQ3JHLG1CQUFtQixpQkFBbkI7RUFDQSxXQUFXLGlCQUFYOzs7O0FBS0Y7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLGNBQWU7RUFDYixtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYsY0FBYyxNQUFPO0FBQVcsY0FBYyxNQUFPO0FBQVcsY0FBYyxPQUFRO0VBQ3BGLG1CQUFtQixnQkFBbkI7RUFDQSxXQUFXLGdCQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYsaUJBQWtCO0VBQ2hCLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixpQkFBaUIsTUFBTztBQUFXLGlCQUFpQixNQUFPO0FBQVcsaUJBQWlCLE9BQVE7RUFDN0YsbUJBQW1CLGVBQW5CO0VBQ0EsV0FBVyxlQUFYOzs7QUFJRjtFQUNFO0VBQ0Q7RUFDQTtJQUNHLG1CQUFtQixhQUFuQjtJQUNBLFdBQVcsYUFBWDs7RUFFRjtFQUNEO0lBQ0csbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOzs7QUFHSjtFQUNFO0VBQ0Q7RUFDQTtJQUNHLG1CQUFtQixhQUFuQjtJQUNBLFdBQVcsYUFBWDs7RUFFRjtFQUNEO0lBQ0csbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOzs7O0FBSUo7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsY0FBZTtFQUNiLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDs7QUFFRixjQUFjLE1BQU87QUFBVyxjQUFjLE1BQU87QUFBVyxjQUFjLE9BQVE7RUFDcEYscUNBQUE7RUFDQSw2QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSwyQ0FBQTtFQUNBLG1DQUFBOzs7QUFJRjtFQUNFO0VBQ0Q7RUFDQTtJQUNHLG1CQUFtQixhQUFuQjtJQUNBLFdBQVcsYUFBWDs7RUFFRjtFQUNEO0lBQ0csbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7OztBQUdKO0VBQ0U7RUFDRDtFQUNBO0lBQ0csbUJBQW1CLGFBQW5CO0lBQ0EsV0FBVyxhQUFYOztFQUVGO0VBQ0Q7SUFDRyxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7OztBQUlKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBOztBQUVGLFlBQWE7RUFDWCxtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7O0FBRUYsWUFBWSxNQUFPO0FBQVcsWUFBWSxNQUFPO0FBQVcsWUFBWSxPQUFRO0VBQzlFLG1DQUFBO0VBQ0EsMkJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsMkNBQUE7RUFDQSxtQ0FBQTs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsY0FBZTtFQUNiLCtCQUFBO0VBQ0EsdUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsK0NBQUE7RUFDQSx1Q0FBQTs7QUFFRixjQUFjLE1BQU87QUFBVyxjQUFjLE1BQU87QUFBVyxjQUFjLE9BQVE7RUFDcEYsbUJBQW1CLGNBQW5CO0VBQ0EsV0FBVyxjQUFYOzs7QUFJRjtFQUNFO0lBQ0UsVUFBQTs7RUFFRjtJQUNFLFVBQUE7SUFDQSxtQkFBbUIsaUJBQW5CO0lBQ0EsV0FBVyxpQkFBWDs7RUFFRjtFQUNEO0lBQ0csVUFBQTs7O0FBR0o7RUFDRTtJQUNFLFVBQUE7O0VBRUY7SUFDRSxVQUFBO0lBQ0EsbUJBQW1CLGlCQUFuQjtJQUNBLFdBQVcsaUJBQVg7O0VBRUY7RUFDRDtJQUNHLFVBQUE7Ozs7QUFJSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTs7QUFFRixjQUFlO0VBQ2IsbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYOztBQUVGLGNBQWMsTUFBTztBQUFXLGNBQWMsTUFBTztBQUFXLGNBQWMsT0FBUTtFQUNwRixVQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHFDQUFBO0VBQ0EsNkJBQUE7RUFDQSxnQ0FBQTtFQUNBLHdCQUFBO0VBQ0EsNkJBQUE7RUFDQSxxQkFBQTtFQUNBLHFDQUFBO0VBQ0EsNkJBQUE7RUFDQSw4Q0FBQTtFQUNBLHNDQUFBO0VBQ0EsbUNBQW1DLG9DQUFuQztFQUNBLDJCQUEyQixvQ0FBM0I7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBOztBQUVGLGNBQWU7RUFDYixtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esa0NBQUE7RUFDQSwwQkFBQTs7QUFFRixjQUFjLE1BQU87QUFBVyxjQUFjLE1BQU87QUFBVyxjQUFjLE9BQVE7RUFDcEYsY0FBQTs7O0FBSUY7RUFDRTtJQUNFLFVBQUE7O0VBRUY7SUFDRSxVQUFBO0lBQ0EsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7OztBQUdKO0VBQ0U7SUFDRSxVQUFBOztFQUVGO0lBQ0UsVUFBQTtJQUNBLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOzs7O0FBSUo7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsb0JBQXFCO0VBQ25CLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDtFQUNBLGdDQUFBO0VBQ0Esd0JBQUE7RUFDQSxxQ0FBQTtFQUNBLDZCQUFBOztBQUVGLG9CQUFvQixNQUFPO0FBQVcsb0JBQW9CLE1BQU87QUFBVyxvQkFBb0IsT0FBUTtFQUN0RywyQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsMkNBQUE7RUFDQSxtQ0FBQTs7O0FBSUY7RUFDRTtJQUNFLFVBQUE7O0VBRUY7SUFDRSxVQUFBO0lBQ0EsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOzs7QUFHSjtFQUNFO0lBQ0UsVUFBQTs7RUFFRjtJQUNFLFVBQUE7SUFDQSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7Ozs7QUFJSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTs7QUFFRixtQkFBb0I7RUFDbEIsbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYO0VBQ0EsZ0NBQUE7RUFDQSx3QkFBQTtFQUNBLHFDQUFBO0VBQ0EsNkJBQUE7O0FBRUYsbUJBQW1CLE1BQU87QUFBVyxtQkFBbUIsTUFBTztBQUFXLG1CQUFtQixPQUFRO0VBQ25HLDBDQUFBO0VBQ0Esa0NBQUE7RUFDQSwyQ0FBQTtFQUNBLG1DQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYsY0FBZTtFQUNiLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixjQUFjLE1BQU87QUFBVyxjQUFjLE1BQU87QUFBVyxjQUFjLE9BQVE7RUFDcEYsbUJBQW1CLFdBQVcsYUFBOUI7RUFDQSxXQUFXLFdBQVcsYUFBdEI7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixnQkFBaUI7RUFDZixtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYsZ0JBQWdCLE1BQU87QUFBVyxnQkFBZ0IsTUFBTztBQUFXLGdCQUFnQixPQUFRO0VBQzFGLG1CQUFtQixVQUFuQjtFQUNBLFdBQVcsVUFBWDs7O0FBSUY7RUFDRTtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7RUFFRjtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7RUFFRjtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7O0FBRUYsZUFBZ0I7RUFDZCxtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLGVBQWUsTUFBTztBQUFXLGVBQWUsTUFBTztBQUFXLGVBQWUsT0FBUTtFQUN2RixzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsOEJBQUE7RUFDQSxzQkFBQTtFQUNBLHlDQUFBO0VBQ0EsaUNBQUE7RUFDQSwyQ0FBQTtFQUNBLG1DQUFBOzs7QUFJRjtFQUNFO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLFVBQW5CO0lBQ0EsV0FBVyxVQUFYOzs7QUFHSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTs7QUFFRixvQkFBcUI7RUFDbkIsbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixvQkFBb0IsTUFBTztBQUFXLG9CQUFvQixNQUFPO0FBQVcsb0JBQW9CLE9BQVE7RUFDdEcsMkNBQUE7RUFDQSxtQ0FBQTtFQUNBLGdDQUFBO0VBQ0Esd0JBQUE7RUFDQSx5Q0FBQTtFQUNBLGlDQUFBO0VBQ0EsMkNBQUE7RUFDQSxtQ0FBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsVUFBbkI7SUFDQSxXQUFXLFVBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsVUFBbkI7SUFDQSxXQUFXLFVBQVg7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBOztBQUVGLHNCQUF1QjtFQUNyQixtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLHNCQUFzQixNQUFPO0FBQVcsc0JBQXNCLE1BQU87QUFBVyxzQkFBc0IsT0FBUTtFQUM1Ryw2Q0FBQTtFQUNBLHFDQUFBO0VBQ0EsZ0NBQUE7RUFDQSx3QkFBQTtFQUNBLHlDQUFBO0VBQ0EsaUNBQUE7RUFDQSwyQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTs7O0FBSUY7RUFDRTtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixVQUFuQjtJQUNBLFdBQVcsVUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLGNBQWU7RUFDYixtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esc0NBQUE7RUFDQSw4QkFBQTtFQUNBLDRDQUFBO0VBQ0Esb0NBQUE7O0FBRUYsY0FBYyxNQUFPO0FBQVcsY0FBYyxNQUFPO0FBQVcsY0FBYyxPQUFRO0VBQ3BGLHFDQUFBO0VBQ0EsNkJBQUE7RUFDQSxnQ0FBQTtFQUNBLHdCQUFBO0VBQ0EseUNBQUE7RUFDQSxpQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsNEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsVUFBbkI7SUFDQSxXQUFXLFVBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsVUFBbkI7SUFDQSxXQUFXLFVBQVg7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixhQUFjO0VBQ1osbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLGFBQWEsTUFBTztBQUFXLGFBQWEsTUFBTztBQUFXLGFBQWEsT0FBUTtFQUNqRixvQ0FBQTtFQUNBLDRCQUFBO0VBQ0EsZ0NBQUE7RUFDQSx3QkFBQTtFQUNBLHlDQUFBO0VBQ0EsaUNBQUE7RUFDQSxvQ0FBQTtFQUNBLDRCQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYsZ0JBQWlCO0VBQ2YsbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLGdCQUFnQixNQUFPO0FBQVcsZ0JBQWdCLE1BQU87QUFBVyxnQkFBZ0IsT0FBUTtFQUMxRixtQkFBbUIsVUFBbkI7RUFDQSxXQUFXLFVBQVg7RUFDQSxvQ0FBb0MscUNBQXBDO0VBQ0EsNEJBQTRCLHFDQUE1Qjs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLGdCQUFpQjtFQUNmLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixnQkFBZ0IsTUFBTztBQUFXLGdCQUFnQixNQUFPO0FBQVcsZ0JBQWdCLE9BQVE7RUFDMUYsbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYscUJBQXNCO0VBQ3BCLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixxQkFBcUIsTUFBTztBQUFXLHFCQUFxQixNQUFPO0FBQVcscUJBQXFCLE9BQVE7RUFDekcsbUJBQW1CLFdBQVcsYUFBOUI7RUFDQSxXQUFXLFdBQVcsYUFBdEI7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixlQUFnQjtFQUNkLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsNENBQUE7RUFDQSxvQ0FBQTs7QUFFRixlQUFlLE1BQU87QUFBVyxlQUFlLE1BQU87QUFBVyxlQUFlLE9BQVE7RUFDdkYsbUJBQW1CLGdCQUFuQjtFQUNBLFdBQVcsZ0JBQVg7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixjQUFlO0VBQ2IsbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSw0Q0FBQTtFQUNBLG9DQUFBOztBQUVGLGNBQWMsTUFBTztBQUFXLGNBQWMsTUFBTztBQUFXLGNBQWMsT0FBUTtFQUNwRixtQkFBbUIsZUFBbkI7RUFDQSxXQUFXLGVBQVg7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOzs7QUFHSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYsYUFBYztFQUNaLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDs7QUFFRixhQUFhLE1BQU87QUFBVyxhQUFhLE1BQU87QUFBVyxhQUFhLE9BQVE7RUFDakYsd0RBQUE7RUFDQSxnREFBQTtFQUNBLHNDQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esd0RBQUE7RUFDQSxnREFBQTtFQUNBLDhDQUFBO0VBQ0Esc0NBQUE7RUFDQSxxQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsOENBQUE7RUFDQSxzQ0FBQTs7O0FBSUY7RUFDRTtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7O0FBR0o7RUFDRTtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLGNBQWU7RUFDYixtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7O0FBRUYsY0FBYyxNQUFPO0FBQVcsY0FBYyxNQUFPO0FBQVcsY0FBYyxPQUFRO0VBQ3BGLHlEQUFBO0VBQ0EsaURBQUE7RUFDQSxzQ0FBQTtFQUNBLDhCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHdEQUFBO0VBQ0EsZ0RBQUE7RUFDQSw4Q0FBQTtFQUNBLHNDQUFBO0VBQ0EscUNBQUE7RUFDQSw2QkFBQTtFQUNBLDhDQUFBO0VBQ0Esc0NBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGFBQW5CO0lBQ0EsV0FBVyxhQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixhQUFuQjtJQUNBLFdBQVcsYUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLDJCQUE0QjtFQUMxQixtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7O0FBRUYsMkJBQTJCLE1BQU87QUFBVywyQkFBMkIsTUFBTztBQUFXLDJCQUEyQixPQUFRO0VBQzNILGtEQUFBO0VBQ0EsMENBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsOENBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsNEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixnQkFBbkI7SUFDQSxXQUFXLGdCQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGFBQW5CO0lBQ0EsV0FBVyxhQUFYOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLGVBQW5CO0lBQ0EsV0FBVyxlQUFYOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFuQjtJQUNBLFdBQVcsZ0JBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZUFBbkI7SUFDQSxXQUFXLGVBQVg7O0VBRUY7SUFDRSxtQkFBbUIsZ0JBQW5CO0lBQ0EsV0FBVyxnQkFBWDs7RUFFRjtJQUNFLG1CQUFtQixlQUFuQjtJQUNBLFdBQVcsZUFBWDs7RUFFRjtJQUNFLG1CQUFtQixhQUFuQjtJQUNBLFdBQVcsYUFBWDs7O0FBR0o7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUVGLHlCQUEwQjtFQUN4QixtQkFBbUIsYUFBbkI7RUFDQSxXQUFXLGFBQVg7O0FBRUYseUJBQXlCLE1BQU87QUFBVyx5QkFBeUIsTUFBTztBQUFXLHlCQUF5QixPQUFRO0VBQ3JILGdEQUFBO0VBQ0Esd0NBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsOENBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsNEJBQUE7OztBQUlGO0VBQ0U7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7OztBQUdKO0VBQ0U7SUFDRSxtQkFBbUIsZ0JBQWdCLFlBQW5DO0lBQ0EsV0FBVyxnQkFBZ0IsWUFBM0I7O0VBRUY7SUFDRSxtQkFBbUIsaUJBQWlCLGFBQXBDO0lBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7OztBQUdKO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTs7QUFFRixjQUFlO0VBQ2IsbUJBQW1CLGFBQW5CO0VBQ0EsV0FBVyxhQUFYOztBQUVGLGNBQWMsTUFBTztBQUFXLGNBQWMsTUFBTztBQUFXLGNBQWMsT0FBUTtFQUNwRixxQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLHlDQUFBO0VBQ0EsaUNBQUE7RUFDQSwyQ0FBQTtFQUNBLG1DQUFBOzs7QUFJRjtFQUNFO0lBQ0UsbUJBQW1CLGdCQUFnQixZQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixhQUFwQztJQUNBLFdBQVcsaUJBQWlCLGFBQTVCOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFnQixZQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixhQUFwQztJQUNBLFdBQVcsaUJBQWlCLGFBQTVCOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFnQixZQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixhQUFwQztJQUNBLFdBQVcsaUJBQWlCLGFBQTVCOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFnQixZQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixhQUFwQztJQUNBLFdBQVcsaUJBQWlCLGFBQTVCOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFnQixTQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFNBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixTQUFwQztJQUNBLFdBQVcsaUJBQWlCLFNBQTVCOzs7QUFHSjtFQUNFO0lBQ0UsbUJBQW1CLGdCQUFnQixZQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixhQUFwQztJQUNBLFdBQVcsaUJBQWlCLGFBQTVCOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFnQixZQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixhQUFwQztJQUNBLFdBQVcsaUJBQWlCLGFBQTVCOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFnQixZQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixhQUFwQztJQUNBLFdBQVcsaUJBQWlCLGFBQTVCOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFnQixZQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFlBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixhQUFwQztJQUNBLFdBQVcsaUJBQWlCLGFBQTVCOztFQUVGO0lBQ0UsbUJBQW1CLGdCQUFnQixTQUFuQztJQUNBLFdBQVcsZ0JBQWdCLFNBQTNCOztFQUVGO0lBQ0UsbUJBQW1CLGlCQUFpQixTQUFwQztJQUNBLFdBQVcsaUJBQWlCLFNBQTVCOzs7QUFHSjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBRUYsa0JBQW1CO0VBQ2pCLG1CQUFtQixhQUFuQjtFQUNBLFdBQVcsYUFBWDs7QUFFRixrQkFBa0IsTUFBTztBQUFXLGtCQUFrQixNQUFPO0FBQVcsa0JBQWtCLE9BQVE7RUFDaEcseUNBQUE7RUFDQSxpQ0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSx5Q0FBQTtFQUNBLGlDQUFBO0VBQ0Esb0NBQUE7RUFDQSw0QkFBQTs7OztBQUtGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7O0FBRUYsa0JBQWtCO0VBQ2hCLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsaUJBQUE7O0VBRUEsWUFBWSxpRUFBWjtFQUNBLFFBQVEseUVBQXdFLHVCQUF1QixVQUF2Rzs7RUFFQSxhQUFBO0VBQ0EsMENBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsMENBQUE7RUFDQSxrQ0FBQTs7QUFFRixrQkFBa0IsTUFBTTtBQUFTLGtCQUFrQixNQUFNO0FBQVMsa0JBQWtCLE9BQU87RUFDekYsV0FBQTtFQUNBLFlBQUE7OztBQUlGO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFtQixpQkFBaUIsYUFBcEM7RUFDQSxXQUFXLGlCQUFpQixhQUE1QjtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7O0FBRUYsbUJBQW1CO0VBQ2pCLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFTLEVBQVQ7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsaUJBQUE7O0VBRUEsWUFBWSxpRUFBWjtFQUNBLDJDQUFBO0VBQ0EsaUNBQUE7RUFDQSx5QkFBQTtFQUNBLDBDQUFBO0VBQ0Esa0NBQUE7O0FBRUYsbUJBQW1CLE1BQU07QUFBUyxtQkFBbUIsTUFBTTtBQUFTLG1CQUFtQixPQUFPO0VBQzVGLFdBQUE7RUFDQSxZQUFBOzs7QUFJRjtFQUNFLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBbUIsaUJBQWlCLGFBQXBDO0VBQ0EsV0FBVyxpQkFBaUIsYUFBNUI7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBOztBQUVGLHNCQUFzQjtFQUNwQixvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsUUFBQTtFQUNBLGlCQUFBOztFQUVBLFlBQVksaUVBQVo7RUFDQSw0Q0FBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7RUFDQSwwQ0FBQTtFQUNBLGtDQUFBOztBQUVGLHNCQUFzQixNQUFNO0FBQVMsc0JBQXNCLE1BQU07QUFBUyxzQkFBc0IsT0FBTztFQUNyRyxXQUFBO0VBQ0EsWUFBQTs7O0FBSUY7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQW1CLGlCQUFpQixhQUFwQztFQUNBLFdBQVcsaUJBQWlCLGFBQTVCO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTs7QUFFRixxQkFBcUI7RUFDbkIsb0JBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQVMsRUFBVDtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxpQkFBQTs7RUFFQSxZQUFZLGdFQUFaO0VBQ0EsMkNBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBO0VBQ0EsMENBQUE7RUFDQSxrQ0FBQTs7QUFFRixxQkFBcUIsTUFBTTtBQUFTLHFCQUFxQixNQUFNO0FBQVMscUJBQXFCLE9BQU87RUFDbEcsV0FBQTtFQUNBLFlBQUE7Ozs7QTFHcGpJRDtFMkdrQ0UseUJBQUE7O0EzR2xDRjtFMkdxQ0UseUJBQUE7O0FBQ0EsbUJBQUM7RUFDQSx5QkFBQTs7QTNHdkNIO0UyR2tDRSx5QkFBQTs7QTNHbENGO0UyR3FDRSx5QkFBQTs7QUFDQSxvQkFBQztFQUNBLHlCQUFBOztBM0d2Q0g7RTJHa0NFLHlCQUFBOztBM0dsQ0Y7RTJHcUNFLHlCQUFBOztBQUNBLHNCQUFDO0VBQ0EseUJBQUE7O0EzR3ZDSDtFMkdrQ0UseUJBQUE7O0EzR2xDRjtFMkdxQ0UseUJBQUE7O0FBQ0EscUJBQUM7RUFDQSx5QkFBQTs7QTNHdkNIO0UyR2tDRSx5QkFBQTs7QTNHbENGO0UyR3FDRSx5QkFBQTs7QUFDQSxvQkFBQztFQUNBLHlCQUFBOztBM0d2Q0g7RTJHa0NFLHlCQUFBOztBM0dsQ0Y7RTJHcUNFLHlCQUFBOztBQUNBLG1CQUFDO0VBQ0EseUJBQUE7O0EzR3ZDSDtFMkdrQ0UseUJBQUE7O0EzR2xDRjtFMkdxQ0UseUJBQUE7O0FBQ0EsaUJBQUM7RUFDQSx5QkFBQTs7QTNHdkNIO0UyR2tDRSx5QkFBQTs7QTNHbENGO0UyR3FDRSx5QkFBQTs7QUFDQSxrQkFBQztFQUNBLHlCQUFBOztBM0d2Q0g7RTJHa0NFLHlCQUFBOztBM0dsQ0Y7RTJHcUNFLHlCQUFBOztBQUNBLHFCQUFDO0VBQ0EseUJBQUE7O0EzR3ZDSDtFMkdrQ0UseUJBQUE7O0EzR2xDRjtFMkdxQ0UseUJBQUE7O0FBQ0Esa0JBQUM7RUFDQSx5QkFBQTs7QTNHdkNIO0UyR2tDRSx5QkFBQTs7QTNHbENGO0UyR3FDRSx5QkFBQTs7QUFDQSxvQkFBQztFQUNBLHlCQUFBOztBM0d2Q0g7RTJHa0NFLHlCQUFBOztBM0dsQ0Y7RTJHcUNFLHlCQUFBOztBQUNBLGlCQUFDO0VBQ0EseUJBQUE7O0EzR3ZDSDtFMkdrQ0UseUJBQUE7O0EzR2xDRjtFMkdxQ0UseUJBQUE7O0FBQ0Esc0JBQUM7RUFDQSx5QkFBQTs7QTNHdkNIO0UyR2tDRSx5QkFBQTs7QTNHbENGO0UyR3FDRSx5QkFBQTs7QUFDQSxrQkFBQztFQUNBLHlCQUFBOztBM0d2Q0g7RTJHa0NFLHlCQUFBOztBM0dsQ0Y7RTJHcUNFLHlCQUFBOztBQUNBLGNBQUM7RUFDQSx5QkFBQTs7QTNHdkNIO0UyR2tDRSx5QkFBQTs7QTNHbENGO0UyR3FDRSx5QkFBQTs7QUFDQSxxQkFBQztFQUNBLHlCQUFBOztBM0d2Q0g7RTJHa0NFLHlCQUFBOztBM0dsQ0Y7RTJHcUNFLHlCQUFBOztBQUNBLHVCQUFDO0VBQ0EseUJBQUE7O0EzR3ZDSDtFMkdrQ0UseUJBQUE7O0EzR2xDRjtFMkdxQ0UseUJBQUE7O0FBQ0EsaUJBQUM7RUFDQSx5QkFBQTs7QTNHdkNIO0UyR2tDRSx5QkFBQTs7QTNHbENGO0UyR3FDRSx5QkFBQTs7QUFDQSxtQkFBQztFQUNBLHlCQUFBOztBM0d2Q0g7RTJHa0NFLHlCQUFBOztBM0dsQ0Y7RTJHcUNFLHlCQUFBOztBQUNBLHNCQUFDO0VBQ0EseUJBQUE7O0FDaENKO0VyR2lERSxvQkFBQTtFQUNBLGlCQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTs7QXFHaERGO0VBQ0MsY0FBQTs7QUNaRCxXQUNDO0VBQ0MsWUFBQTtFQUNBLGVBQUE7O0FBRUEsV0FKRCxJQUlFO0VBQ0EsWUFBQTtFQUNBLGdCQUFBOztBQUVELFdBUkQsSUFRRTtFQUNBLFdBQUE7RUFDQSxpQkFBQTs7QUFFRCxXQVpELElBWUU7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FBRUQsV0FoQkQsSUFnQkU7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7O0FBRUQsV0FwQkQsSUFvQkU7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7O0FBekJILFdBNkJDO0FBN0JELFdBNkJJLENBQUE7QUE3QkosV0E2Qk8sQ0FBQTtBQTdCUCxXQTZCVSxDQUFBO0FBN0JWLFdBNkJhLENBQUE7QUE3QmIsV0E2QmdCLENBQUE7RUFDZCxXQUFBOztBQzVCRixDQUFDO0VBQ0EsYUFBQTtFbkhBQyx5QkFBQTs7QUFDQSxDQUFDLENtSEZGLFFuSEVHO0FBQ0YsQ0FBQyxDbUhIRixRbkhHRztFQUNBLHlCQUFBOztBbUhESCxDQUhBLFFBR0M7RW5IRkEseUJBQUE7O0FBQ0EsQ0FBQyxDbUhGRixRQUdDLEluSERFO0FBQ0YsQ0FBQyxDbUhIRixRQUdDLEluSEFFO0VBQ0EseUJBQUE7O0FtSEVILENBTkEsUUFNQztFbkhMQSx5QkFBQTs7QUFDQSxDQUFDLENtSEZGLFFBTUMsUW5ISkU7QUFDRixDQUFDLENtSEhGLFFBTUMsUW5ISEU7RUFDQSx5QkFBQTs7QW1IS0gsQ0FUQSxRQVNDO0VuSFJBLHlCQUFBOztBQUNBLENBQUMsQ21IRkYsUUFTQyxLbkhQRTtBQUNGLENBQUMsQ21ISEYsUUFTQyxLbkhORTtFQUNBLHlCQUFBOztBbUhVSixJQUNDO0VBQ0MsZ0JBQUE7O0FBRkYsSUFJQztFQUNDLFlBQUE7O0FBRUQsSUFBQyxZQUNBO0FBREQsSUFBQyxZQUNRO0FBRFQsSUFBQyxZQUNrQjtBQURuQixJQUFDLFlBQzZCO0VBQzVCLHFCQUFBOztBQUZGLElBQUMsWUFJQTtFQUNDLGFBQUE7O0FBTUYsV0FBQyxrQnpHM0JBO0F5RzJCRCxXQUFDLGtCekcxQkE7QXlHMEJELFdBQUMsa0J6R3pCQTtBeUd5QkQsV0FBQyxrQnpHeEJBO0F5R3dCRCxXQUFDLGtCekd2QkE7QXlHdUJELFdBQUMsa0J6R3RCQTtBQUNBLFd5R3FCQSxrQnpHckJDLE1BQU87QUFDUixXeUdvQkEsa0J6R3BCQyxTQUFVO0FBQ1gsV3lHbUJBLGtCekduQkMsYUFBYztBQUNmLFd5R2tCQSxrQnpHbEJDLGdCQUFpQjtFQUNoQixjQUFBOztBeUdpQkgsV0FBQyxrQnpHZEE7RUFDRSxxQkFBQTtFcEIrRkgsd0RBQUE7RUFDQSxxREFBQTtFQUNBLGdEQUFBOztBb0IvRkcsV3lHV0Ysa0J6R2RBLGNBR0c7RUFDQyxxQkFBQTtFcEI0RkwseUVBQUE7RUFDQSxzRUFBQTtFQUNBLGlFQUFBOztBNkhwRkEsV0FBQyxrQnpHSkE7RUFDRSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QXlHQ0gsV0FBQyxrQnpHRUE7RUFDRSxjQUFBOztBeUdFSjtFQUNDLGNBQUE7O0FBR0QsWUFBWSxtQkFDWDtBQURELFlBQVksbUJBQ0U7QUFEZCxZQUFZLG1CQUNZO0VBQ3RCLHFCQUFBOztBQUZGLFlBQVksbUJBSVg7RUFDQyxXQUFBOztBQ2hERjtFN0RJQyw4QkFBQTtFQUNHLDJCQUFBO0VBQ0UseUJBQUE7RUFDRyxzQkFBQTtFQUNSLGlDQUFBO0VBQ0csOEJBQUE7RUFDRSw0QkFBQTtFQUNHLHlCQUFBO0VZVVIsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7O0FrRHBCQyxVQUZELEtBRUUsTUFDQTtFQUNDLGNBQUE7O0FDTEosUUFBbUM7RUFDbEMsV0FBWTtJQUNYLGNBQUE7SUFDQSxrQkFBQTtJQUNBLFdBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0lBQ0EsWUFBQTs7O0FDUkYsWUFBYTtFQUNaLDJCQUFBO0VBQ0EsY0FBQTs7QUNERDtFQUNDLGVBQUE7O0FBSUQ7RUFDQyxpQkFBQTtFQUNBLG9CQUFBOztBQ1JEO0VBQ0MsNEJBQUE7RUFDQSxrQ0FBQTtFQUNBLHNCQUFBOztBQUhELFdBSUM7RUFDQyw4QkFBQTtFQUNBLFlBQUE7O0FBS0QsVUFBQztFQUNBLFdBQUE7Ozs7Ozs7Ozs7Ozs7O0EzSFBGO0FBQUs7RUFDSixhQU5XLHVCQU1YOztBNEhMRDtFQUNDLHlCQUFBOztBQURELGVBRUM7RUFDQyxxQkFBQTtFQUNBLGNBQUE7O0FBSkYsZUFNQztFQUNDLGVBQUE7O0FBR0Y7RUFDQyx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EsU0FBQTs7QUFIRCxPQUlDO0VBQ0MsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7O0FBUEYsT0FJQyxlQUlDO0VBQ0MseUJBQUE7RUFDQSxrQkFBQTs7QUFWSCxPQUlDLGVBSUMsR0FHQztFQUNDLGNBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FBRUQsT0FaRixlQUlDLEdBUUUsT0FBUTtFQUNSLHNCQUFBOztBQWpCSixPQUlDLGVBZ0JDO0VBQ0MsYUFBQTs7QUFLSCxRQUEwQjtFQUN0QjtJQUNJLGdCQUFBOztFQUVOO0lwRzZEQSxlQUFBO0lBQ0EsUUFBQTtJQUNBLE9BQUE7SUFDQSxhQUFBO0lBU0EsTUFBQTtJQUNBLHFCQUFBOztFb0cxRUEsT3BHb0RBO0lBQ0UsaUJBQUE7OztBQUVBLFFvRzNEc0IsdUJwRzJEb0IsOEJBQTZCO0VBQXZFLE9BSEY7SUFJSSxpQkFBQTs7O0FBV0osUW9HdkV3Qix1QnBHdUVtQjtFQUEzQztJQUNFLGdCQUFBOzs7QXFHN0dKLFFBQVM7QUFDVDtFQUNDLGdCQUFBO0VBQ0EsbUJBQUE7O0FBSEQsUUFBUyxhQUtSO0FBSkQsY0FJQztFQUNDLGVBQUE7O0FBSUY7RUFDQyxjQUFBOztBQURELGdCQUVDO0VBQ0MsY0FBQTs7QUFIRixnQkFLQztFQ0tBLHFCQUFBO0VBQ0EsY0FBQTs7QUFDQSxnQkRQQSxhQ09DO0VBQ0EsY0FBQTtFQUNBLHFCQUFBO0VBQ0EsMENBQUE7O0FETEY7RUFDQyxtQkFBQTtFQVZBLGNBQUE7O0FBU0QsYUFSQztFQUNDLGNBQUE7O0FBT0YsYUFMQztFQ0tBLHFCQUFBO0VBQ0EsY0FBQTs7QUFDQSxhRFBBLGFDT0M7RUFDQSxjQUFBO0VBQ0EscUJBQUE7RUFDQSwwQ0FBQTs7QURBRjtFQUNDLG1CQUFBO0VBZkEsY0FBQTs7QUFjRCxjQWJDO0VBQ0MsY0FBQTs7QUFZRixjQVZDO0VDS0EscUJBQUE7RUFDQSxjQUFBOztBQUNBLGNEUEEsYUNPQztFQUNBLGNBQUE7RUFDQSxxQkFBQTtFQUNBLDBDQUFBOztBREtGO0VBQ0MsbUJBQUE7RUFwQkEsY0FBQTs7QUFtQkQsYUFsQkM7RUFDQyxjQUFBOztBQWlCRixhQWZDO0VDS0EscUJBQUE7RUFDQSxjQUFBOztBQUNBLGFEUEEsYUNPQztFQUNBLGNBQUE7RUFDQSxxQkFBQTtFQUNBLDBDQUFBOztBRFVGO0VBQ0MsbUJBQUE7O0FBR0Q7RUFDQyxzQkFBQTtFQUNBLDRCQUFBO0VBQ0Esa0NBQUE7RUFDQSxpQkFBQTs7QUFDQSxRQUEyQjtFQUEzQjtJQUNDLGlCQUFBOzs7QUFFRCxRQUEwQjtFQUExQjtJQUNDLGlCQUFBOzs7QUFLRjtFQUNDLG1CQUFBOztBQ3JERDtBQUFjLElBQUssTUFBSztFQUN2QixnQkFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTs7QUFDQSxZQUFDO0FBQUQsSUFYa0IsTUFBSyxJQVd0QjtFQUNBLGNBQUE7RUFDQSxxQkFBQTtFQUNBLHVDQUFBOztBQUlGO0VBQ0MscUJBQUE7RUFDQSxjQUFBOztBQUNBLG9CQUFDO0VBQ0EsY0FBQTtFQUNBLHFCQUFBO0VBQ0EsMENBQUE7O0FBSUY7RUFDQyxlQUFBOztBQzlCRCxJQUNDLE1BQUs7QUFETixJQUVDO0VBQ0MseUJBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTs7QUFQRixJQVVDO0VBQ0MsZ0JBQUE7O0FBWEYsSUFhQztFQUNDLGlCQUFBO0VBT0Esa0JBQUE7O0FBckJGLElBYUMsT0FFQztBQWZGLElBYUMsT0FFUTtFQUNOLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTs7QUFHRCxJQVRELE9BU0U7RUFDQSxpQkFBQTs7QUFERCxJQVRELE9BU0UsU0FFQTtFQUNDLGNBQUE7O0FBSEYsSUFURCxPQVNFLFNBS0E7RUFDQyxrQkFBQTs7QUE1QkosSUFhQyxPQWtCQyxLQUFJO0VBQ0gsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTs7QUFDQSxJQXRCRixPQWtCQyxLQUFJLFFBSUY7QUFBTyxJQXRCVixPQWtCQyxLQUFJLFFBSU07RUFDUixtQkFBQTtFQUNBLGNBQUE7O0FBRUQsSUExQkYsT0FrQkMsS0FBSSxRQVFGO0VBQ0EsbUJBQUE7RUFDQSxjQUFBOztBQUVELElBOUJGLE9Ba0JDLEtBQUksUUFZRjtBQUFTLElBOUJaLE9Ba0JDLEtBQUksUUFZUTtFQUNWLG1CQUFBO0VBQ0EsY0FBQTs7QUE3Q0osSUFpREM7RUFDQyxnQkFBQTs7QUFsREYsSUFvREM7RUFDQyxVQUFBOztBQXJERixJQW9EQyxjQUVDO0VsSDNDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSwwQkFBQTtFQUNBLGVBQUE7RUFDQSxzQkFBQTtFQUNBLDZCQUFBO0VDb0NBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RWhCcUtBLHlCQUFBO0VBQ0csc0JBQUE7RUFDQyxxQkFBQTtFQUNJLGlCQUFBO0VnQjdOUixXQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFZ0hORCxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTs7QWpIZ0JHLElrSHlCSCxjQUVDLE9sSDNCRztBQUFELElrSHlCSCxjQUVDLE9sSDdCQyxPQUVFO0FBQUQsSWtIeUJILGNBRUMsT2xINUJDLE9BQ0U7QUFDRCxJa0h3QkgsY0FFQyxPbEgxQkc7QUFBRCxJa0h3QkgsY0FFQyxPbEg3QkMsT0FHRTtBQUFELElrSHdCSCxjQUVDLE9sSDVCQyxPQUVFO0VuQnRCSCwwQ0FBQTtFQUNBLG9CQUFBOztBbUIwQkEsSWtIbUJELGNBRUMsT2xIckJDO0FBQ0QsSWtIa0JELGNBRUMsT2xIcEJDO0FBQ0QsSWtIaUJELGNBRUMsT2xIbkJDO0VBQ0MsV0FBQTtFQUNBLHFCQUFBOztBQUdGLElrSFlELGNBRUMsT2xIZEM7QUFDRCxJa0hXRCxjQUVDLE9sSGJDO0VBQ0Msc0JBQUE7RUFDQSxVQUFBO0VyQnlFSCx3REFBQTtFQUNBLHFEQUFBO0VBQ0EsZ0RBQUE7O0FxQnZFQyxJa0hLRCxjQUVDLE9sSFBDO0FBQ0QsSWtISUQsY0FFQyxPbEhOQztBQUNELFFBQVEsVUFBVyxLa0hHcEIsY0FFQztFbEhKRSxtQkFBQTtFRTlDRix5QkFBQTtFdkJrRUQsa0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsYUFBQTtFQTJDQSx3QkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7O0FxQjlERyxDQURELElrSEhGLGNBRUMsT2xIRUc7QUFDRCxRQUFRLFVBQVcsRUFGcEIsSWtISEYsY0FFQztFbEhJSSxvQkFBQTs7QUNoREosSWlIMENELGNBRUMsT2pINUNDO0FBQ0QsSWlIeUNELGNBRUMsT2pIM0NDO0VBQ0MsV0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBRUYsSWlIb0NELGNBRUMsT2pIdENDO0VBQ0MsV0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBRUYsSWlIK0JELGNBRUMsT2pIakNDO0FBQ0QsSWlIOEJELGNBRUMsT2pIaENDO0FBQ0QsS0FBTSxtQkFBa0IsSWlINkJ6QixjQUVDO0VqSDlCRSxXQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBOztBQUVBLElpSHVCSCxjQUVDLE9qSGpDQyxPQVFFO0FBQUQsSWlIdUJILGNBRUMsT2pIaENDLE9BT0U7QUFBRCxLQU5JLG1CQUFrQixJaUg2QnpCLGNBRUMsT2pIekJHO0FBQ0QsSWlIc0JILGNBRUMsT2pIakNDLE9BU0U7QUFBRCxJaUhzQkgsY0FFQyxPakhoQ0MsT0FRRTtBQUFELEtBUEksbUJBQWtCLElpSDZCekIsY0FFQyxPakh4Qkc7QUFDRCxJaUhxQkgsY0FFQyxPakhqQ0MsT0FVRTtBQUFELElpSHFCSCxjQUVDLE9qSGhDQyxPQVNFO0FBQUQsS0FSSSxtQkFBa0IsSWlINkJ6QixjQUVDLE9qSHZCRztFQUNDLFdBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQU1GLElpSFlILGNBRUMsT2pIakJDLFNBR0U7QUFBRCxJaUhZSCxjQUVDLE9qSGhCQyxVQUVFO0FBQUQsUUFETSxVQUFXLEtpSGFwQixjQUVDLE9qSGRHO0FBQ0QsSWlIV0gsY0FFQyxPakhqQkMsU0FJRTtBQUFELElpSFdILGNBRUMsT2pIaEJDLFVBR0U7QUFBRCxRQUZNLFVBQVcsS2lIYXBCLGNBRUMsT2pIYkc7QUFDRCxJaUhVSCxjQUVDLE9qSGpCQyxTQUtFO0FBQUQsSWlIVUgsY0FFQyxPakhoQkMsVUFJRTtBQUFELFFBSE0sVUFBVyxLaUhhcEIsY0FFQyxPakhaRztFQUNDLHNCQUFBO0VBQ0Esa0JBQUE7O0FpSDVDTixJQW9EQyxjQUVDLE9qSE5BO0VBQ0UsV0FBQTtFQUNBLHNCQUFBOztBZ0h0Q0gsSUN3Q0EsY0FFQyxPRDFDQTtFQUNBLGNBQUE7RUFDQSxxQkFBQTtFQUNBLHVDQUFBOztBQzZDRixJQUFJO0VBQ0gsZ0JBQUE7RUFDQSxjQUFBOztBQUZELElBQUksU0FHSDtFQUNDLGVBQUE7RUFDQSx5QkFBQTtFQUNBLGlCQUFBOztBQU5GLElBQUksU0FRSDtFQUNDLHlCQUFBO0VBQ0EsaUJBQUE7O0FDdEVGO0VBQ0MsaUJBQUE7RUFDQSx5QkFBQTs7QUFHRDtFQUNDLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBOztBQ1REO0VBQ0MseUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBOztBQUhELEtBS0M7RUFDQyw0QkFBQTtFQUNBLDJCQUFBO0VBQ0EsaUJBQUE7RUFDQSxzQkFBQTtFQUNBLDRCQUFBOztBQUNBLEtBTkQsWUFNRTtFQUNBLDZCQUFBOztBQU1ILFFBQW1DO0VBR2hDLEtBREQsWUFDRTtJQUNBLGlCQUFBOzs7QUN0QkosRUFBRTtFQUNDLGdCQUFBOztBQURILEVBQUUsV0FFQztFQUNHLFdBQUE7O0FDSE4sRUFBRSxXQUNEO0VBQ0MsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTs7QUFKRixFQUFFLFdBTUQsUUFBUTtFQUNQLG1CQUFBOztBQ1BGO0VBQ0MsWUFBQTs7QUFERCxhQUVDO0VBQ0MsNEJBQUE7RUFDQSw2QkFBQTtFQUNBLDBCQUFBO0VBQ0EsdUJBQUE7O0FBQ0EsYUFMRCxFQUtFO0VBQ0EsMkJBQUE7O0FBR0YsYUFBQztFQUNBLGtCQUFBOztBQ1pGLE1BQU07RUFDRix5QkFBQTtFQUNBLGNBQUE7RUFDQSxZQUFBOztBQUdKO0VBQ0ksZ0JBQUE7O0FDUEo7RUFDQyxrQkFBQTtFQUNBLHlCQUFBOztBQUZELG9CQUlDO0VBQ0MsV0FBQTs7QUFMRixvQkFPQyxZQUFZO0VBQ1gsV0FBQTtFQUNBLHFCQUFBOztBQVRGLG9CQVlDO0VBQ0Msa0JBQUE7O0FBYkYsb0JBZ0JDLEtBQ0MsR0FBRztFQUNGLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7O0FBS0gsZ0JBQWlCO0VBQ2hCLGtCQUFBOztBQUdELGlCQUNDO0VBQ0MsaUJBQUE7RUFDQSxlQUFBOztBQUlGLGdCQUNDO0FBREQsZ0JBQ0ksQ0FBQTtBQURKLGdCQUNPLENBQUE7RUFDTCx5QkFBQTs7QUFGRixnQkFJQztFQUNDLGFBQUE7RUFDQSxlQUFBOztBQU5GLGdCQVFDO0VBQ0MsZ0JBQUE7RUFDQSxlQUFBOztBQzlDRjtFQUNDLGtCQUFBO0VBQ0EsZ0JBQUE7O0FBRkQsYUFHQztFQUNDLHlCQUFBO0VBQ0EsY0FBQTs7QUFMRixhQU9DO0VBQ0MsaUJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7O0FBVkYsYUFZQztFQUNDLGFBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTs7QUFJRjtFQUNDLGtCQUFBOztBQURELGtCQUVDO0VBQ0MsZUFBQTs7QUFIRixrQkFLQztFQUNDLGdCQUFBOztBQU5GLGtCQVFDO0VBQ0MsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7O0FBWEYsa0JBYUM7RUFDQyxlQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTs7QUNuQ0YsVUFDQztFQUNDLFdBQUE7O0FBSUY7RUFDQyxnQkFBQTtFQUNBLFdBQUE7O0FBR0Q7RUFDQyxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTs7QUFHRDtFQUNDLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBOztBQUdELFFBQTBCO0VBQ3pCLFVBQVc7SUFDVixXQUFBO0lBQ0EsY0FBQTs7RUFFRDtJQUNDLGtCQUFBOzs7QUFJRjtFQUNDLGVBQUE7RUFDQSxjQUFBOztBQUdELFlBQWE7RUFDWixlQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBOztBQUNBLFFBQTJCO0VBQTNCLFlBSlk7SUFLWCxpQkFBQTs7O0FBRUQsUUFBMEI7RUFBMUIsWUFQWTtJQVFYLGlCQUFBOzs7QUFFRCxRQUEwQjtFQUExQixZQVZZO0lBV1gsaUJBQUE7OztBQUlGLFVBQVc7RUFDVixpQkFBQTtFQUNBLGFBQUE7O0FBR0Q7RUFDQyxlQUFBOztBQUVEO0VBQ0MsZUFBQTtFQUNBLGFBQUE7O0FDL0REO0VBQ0MseUJBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7O0FBR0Q7RUFDQyxrQkFBQTtFQUNBLGtCQUFBOztBQUZELGNBR0M7RUFDQyxrQkFBQTs7QUFKRixjQU1DO0VBQ0MsZ0JBQUE7RUFDQSxpQkFBQTs7QUFSRixjQVVDO0VBQ0MsbUJBQUE7O0FBWEYsY0FhQztFQUNDLGdCQUFBO0VBQ0EsaUJBQUE7O0FBRUQsY0FBQztFQUNBLFdBQUE7O0FBbEJGLGNBb0JDO0VBQ0MsY0FBQTtFQUNBLGlCQUFBOztBQzhCRjtFQUNDLHFCQUFBOztBQUdELFdBQ0M7RUFDQyxjQUFBOztBQUlGLE9BQVE7RUFDUCxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQSIsImZpbGUiOiJzaXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qXG5cbkFuaW1hdGUubGVzc1xuQ3Jvc3MtYnJvd3NlciBMRVNTIGFuaW1hdGlvbiBsaWJyYXJ5IGZvciBCb290c3RyYXBcbkxpY2Vuc2VkIHVuZGVyIHRoZSDimLogbGljZW5zZSAoaHR0cDovL2xpY2VuY2UudmlzdWFsaWRpb3QuY29tLylcbkRvY3VtZW5hdGlvbjogaHR0cHM6Ly9naXRodWIuY29tL21hY2hpdG8vYW5pbWF0ZS5sZXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Db3B5cmlnaHQgwqkgMjAxMiBNaWNoYWVsIENhc3RpbGxhXG5FbWFpbDogeW9AbWFjaGl0by5jb1xuVHdpdHRlcjogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWNyMGJpdHpcblxuKi9cblxuQGFuaW1hdGlvbkxlc3NUaW1lOiAxcztcbkBhbmltYXRpb25MZXNzTG9jYXRpb246ICcuL3NvdXJjZSc7XG5cbi8vIHJlcXVpcmVkIGZvciBhbGxcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vYW5pbWF0ZWQubGVzc1wiO1xuXG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2JvdW5jZS5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2JvdW5jZUluLmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vYm91bmNlSW5Eb3duLmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vYm91bmNlSW5MZWZ0Lmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vYm91bmNlSW5SaWdodC5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2JvdW5jZUluVXAubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9ib3VuY2VPdXQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9ib3VuY2VPdXREb3duLmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vYm91bmNlT3V0TGVmdC5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2JvdW5jZU91dFJpZ2h0Lmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vYm91bmNlT3V0VXAubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlSW4ubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlSW5Eb3duLmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vZmFkZUluRG93bkJpZy5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2ZhZGVJbkxlZnQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlSW5MZWZ0QmlnLmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vZmFkZUluUmlnaHQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlSW5SaWdodEJpZy5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2ZhZGVJblVwLmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vZmFkZUluVXBCaWcubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlT3V0Lmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vZmFkZU91dERvd24ubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlT3V0RG93bkJpZy5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2ZhZGVPdXRMZWZ0Lmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vZmFkZU91dExlZnRCaWcubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlT3V0UmlnaHQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlT3V0UmlnaHRCaWcubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlT3V0VXAubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mYWRlT3V0VXBCaWcubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mbGFzaC5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2ZsaXAubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9mbGlwSW5YLmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vZmxpcEluWS5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2ZsaXBPdXRYLmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vZmxpcE91dFkubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9oaW5nZS5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2xpZ2h0U3BlZWRJbi5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L2xpZ2h0U3BlZWRPdXQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9wdWxzZS5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L3JvbGxJbi5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L3JvbGxPdXQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9yb3RhdGVJbi5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L3JvdGF0ZUluRG93bkxlZnQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9yb3RhdGVJbkRvd25SaWdodC5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L3JvdGF0ZUluVXBMZWZ0Lmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vcm90YXRlSW5VcFJpZ2h0Lmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vcm90YXRlT3V0Lmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vcm90YXRlT3V0RG93bkxlZnQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9yb3RhdGVPdXREb3duUmlnaHQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9yb3RhdGVPdXRVcExlZnQubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9yb3RhdGVPdXRVcFJpZ2h0Lmxlc3NcIjtcbkBpbXBvcnQgXCJAe2FuaW1hdGlvbkxlc3NMb2NhdGlvbn0vc2hha2UubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS9zd2luZy5sZXNzXCI7XG5AaW1wb3J0IFwiQHthbmltYXRpb25MZXNzTG9jYXRpb259L3RhZGEubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS93aWdnbGUubGVzc1wiO1xuQGltcG9ydCBcIkB7YW5pbWF0aW9uTGVzc0xvY2F0aW9ufS93b2JibGUubGVzc1wiO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGVcblxuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vL1xuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4vLyAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuLy8gYWN0aXZlL2hvdmVyIHN0YXRlLlxuLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuLy8gY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8vXG4vLyBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbi8vXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gR3JvdXBpbmcgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuLy9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbi8vXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8vIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbi8vIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbi8vXG5cbi8vXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAzXG59XG5cbi8vXG4vLyBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuLy8gQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4vLyBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4vL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4vLyAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbi8vIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbi8vIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4vLyAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4vL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIDFcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbn1cblxuLy9cbi8vIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4vL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4vL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbi8vIHRoZSBVQSBzdHlsZXNoZWV0LlxuLy9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vL1xuLy8gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuLy8gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vXG4vLyAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuLy8gMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbi8vXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbi8vIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4vLyBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4vL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy9cbi8vIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy8gMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8yXG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6IGg1YnAuY29tL3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBwcmludCB7XG4gICosXG4gICo6YmVmb3JlLFxuICAqOmFmdGVyIHtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuXG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cblxuICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLy8gaDVicC5jb20vdFxuICB9XG5cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG5cbiAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAubmF2YmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5idG4sXG4gIC5kcm9wdXAgPiAuYnRuIHtcbiAgICA+IC5jYXJldCB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5sYWJlbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAudGFibGUtYm9yZGVyZWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlciwgdmFsdWUtbGlzdC1jb21tYS1zcGFjZS1hZnRlciwgaW5kZW50YXRpb24sIGRlY2xhcmF0aW9uLWNvbG9uLW5ld2xpbmUtYWZ0ZXIsIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuXG4vL1xuLy8gR2x5cGhpY29ucyBmb3IgQm9vdHN0cmFwXG4vL1xuLy8gU2luY2UgaWNvbnMgYXJlIGZvbnRzLCB0aGV5IGNhbiBiZSBwbGFjZWQgYW55d2hlcmUgdGV4dCBpcyBwbGFjZWQgYW5kIGFyZVxuLy8gdGh1cyBhdXRvbWF0aWNhbGx5IHNpemVkIHRvIG1hdGNoIHRoZSBzdXJyb3VuZGluZyBjaGlsZC4gVG8gdXNlLCBjcmVhdGUgYW5cbi8vIGlubGluZSBlbGVtZW50IHdpdGggdGhlIGFwcHJvcHJpYXRlIGNsYXNzZXMsIGxpa2Ugc286XG4vL1xuLy8gPGEgaHJlZj1cIiNcIj48c3BhbiBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24tc3RhclwiPjwvc3Bhbj4gU3RhcjwvYT5cblxuLy8gSW1wb3J0IHRoZSBmb250c1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gIHNyYzogdXJsKFwiQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5lb3RcIik7XG4gIHNyYzogdXJsKFwiQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgIHVybChcIkB7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgdXJsKFwiQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgICAgdXJsKFwiQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgICAgdXJsKFwiQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5zdmcjQHtpY29uLWZvbnQtc3ZnLWlkfVwiKSBmb3JtYXQoXCJzdmdcIik7XG59XG5cbi8vIENhdGNoYWxsIGJhc2VjbGFzc1xuLmdseXBoaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIEluZGl2aWR1YWwgaWNvbnNcbi5nbHlwaGljb24tYXN0ZXJpc2sgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwMmFcIjsgfSB9XG4uZ2x5cGhpY29uLXBsdXMgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMDJiXCI7IH0gfVxuLmdseXBoaWNvbi1ldXJvLFxuLmdseXBoaWNvbi1ldXIgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBhY1wiOyB9IH1cbi5nbHlwaGljb24tbWludXMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIyMTJcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNjAxXCI7IH0gfVxuLmdseXBoaWNvbi1lbnZlbG9wZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjcwOVwiOyB9IH1cbi5nbHlwaGljb24tcGVuY2lsICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI3MGZcIjsgfSB9XG4uZ2x5cGhpY29uLWdsYXNzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAxXCI7IH0gfVxuLmdseXBoaWNvbi1tdXNpYyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwMlwiOyB9IH1cbi5nbHlwaGljb24tc2VhcmNoICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYXJ0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA1XCI7IH0gfVxuLmdseXBoaWNvbi1zdGFyICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwNlwiOyB9IH1cbi5nbHlwaGljb24tc3Rhci1lbXB0eSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDdcIjsgfSB9XG4uZ2x5cGhpY29uLXVzZXIgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA4XCI7IH0gfVxuLmdseXBoaWNvbi1maWxtICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwOVwiOyB9IH1cbi5nbHlwaGljb24tdGgtbGFyZ2UgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRoICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDExXCI7IH0gfVxuLmdseXBoaWNvbi10aC1saXN0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMlwiOyB9IH1cbi5nbHlwaGljb24tb2sgICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTNcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE0XCI7IH0gfVxuLmdseXBoaWNvbi16b29tLWluICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNVwiOyB9IH1cbi5nbHlwaGljb24tem9vbS1vdXQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTZcIjsgfSB9XG4uZ2x5cGhpY29uLW9mZiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE3XCI7IH0gfVxuLmdseXBoaWNvbi1zaWduYWwgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxOFwiOyB9IH1cbi5nbHlwaGljb24tY29nICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyYXNoICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIwXCI7IH0gfVxuLmdseXBoaWNvbi1ob21lICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMVwiOyB9IH1cbi5nbHlwaGljb24tZmlsZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjJcIjsgfSB9XG4uZ2x5cGhpY29uLXRpbWUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIzXCI7IH0gfVxuLmdseXBoaWNvbi1yb2FkICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNFwiOyB9IH1cbi5nbHlwaGljb24tZG93bmxvYWQtYWx0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjVcIjsgfSB9XG4uZ2x5cGhpY29uLWRvd25sb2FkICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI2XCI7IH0gfVxuLmdseXBoaWNvbi11cGxvYWQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyN1wiOyB9IH1cbi5nbHlwaGljb24taW5ib3ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjhcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYXktY2lyY2xlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI5XCI7IH0gfVxuLmdseXBoaWNvbi1yZXBlYXQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMFwiOyB9IH1cbi5nbHlwaGljb24tcmVmcmVzaCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWxpc3QtYWx0ICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMyXCI7IH0gfVxuLmdseXBoaWNvbi1sb2NrICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzM1wiOyB9IH1cbi5nbHlwaGljb24tZmxhZyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzRcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYWRwaG9uZXMgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM1XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtb2ZmICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNlwiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzdcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS11cCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM4XCI7IH0gfVxuLmdseXBoaWNvbi1xcmNvZGUgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzOVwiOyB9IH1cbi5nbHlwaGljb24tYmFyY29kZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDBcIjsgfSB9XG4uZ2x5cGhpY29uLXRhZyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQxXCI7IH0gfVxuLmdseXBoaWNvbi10YWdzICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MlwiOyB9IH1cbi5nbHlwaGljb24tYm9vayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDNcIjsgfSB9XG4uZ2x5cGhpY29uLWJvb2ttYXJrICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ0XCI7IH0gfVxuLmdseXBoaWNvbi1wcmludCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NVwiOyB9IH1cbi5nbHlwaGljb24tY2FtZXJhICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDZcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ3XCI7IH0gfVxuLmdseXBoaWNvbi1ib2xkICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0OFwiOyB9IH1cbi5nbHlwaGljb24taXRhbGljICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtaGVpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUwXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LXdpZHRoICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MVwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tbGVmdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTJcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLWNlbnRlciAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUzXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1yaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NFwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tanVzdGlmeSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTVcIjsgfSB9XG4uZ2x5cGhpY29uLWxpc3QgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU2XCI7IH0gfVxuLmdseXBoaWNvbi1pbmRlbnQtbGVmdCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1N1wiOyB9IH1cbi5nbHlwaGljb24taW5kZW50LXJpZ2h0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNThcIjsgfSB9XG4uZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU5XCI7IH0gfVxuLmdseXBoaWNvbi1waWN0dXJlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2MFwiOyB9IH1cbi5nbHlwaGljb24tbWFwLW1hcmtlciAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjJcIjsgfSB9XG4uZ2x5cGhpY29uLWFkanVzdCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYzXCI7IH0gfVxuLmdseXBoaWNvbi10aW50ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NFwiOyB9IH1cbi5nbHlwaGljb24tZWRpdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNoYXJlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY2XCI7IH0gfVxuLmdseXBoaWNvbi1jaGVjayAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2N1wiOyB9IH1cbi5nbHlwaGljb24tbW92ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjhcIjsgfSB9XG4uZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY5XCI7IH0gfVxuLmdseXBoaWNvbi1mYXN0LWJhY2t3YXJkICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MFwiOyB9IH1cbi5nbHlwaGljb24tYmFja3dhcmQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzFcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYXkgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcyXCI7IH0gfVxuLmdseXBoaWNvbi1wYXVzZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3M1wiOyB9IH1cbi5nbHlwaGljb24tc3RvcCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzRcIjsgfSB9XG4uZ2x5cGhpY29uLWZvcndhcmQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc1XCI7IH0gfVxuLmdseXBoaWNvbi1mYXN0LWZvcndhcmQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NlwiOyB9IH1cbi5nbHlwaGljb24tc3RlcC1mb3J3YXJkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzdcIjsgfSB9XG4uZ2x5cGhpY29uLWVqZWN0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc4XCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3OVwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1yaWdodCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODBcIjsgfSB9XG4uZ2x5cGhpY29uLXBsdXMtc2lnbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH0gfVxuLmdseXBoaWNvbi1taW51cy1zaWduICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MlwiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlLXNpZ24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODNcIjsgfSB9XG4uZ2x5cGhpY29uLW9rLXNpZ24gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH0gfVxuLmdseXBoaWNvbi1xdWVzdGlvbi1zaWduICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NVwiOyB9IH1cbi5nbHlwaGljb24taW5mby1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODZcIjsgfSB9XG4uZ2x5cGhpY29uLXNjcmVlbnNob3QgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4OFwiOyB9IH1cbi5nbHlwaGljb24tb2stY2lyY2xlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODlcIjsgfSB9XG4uZ2x5cGhpY29uLWJhbi1jaXJjbGUgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkwXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1sZWZ0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MVwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctcmlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTJcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LXVwICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkzXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1kb3duICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NFwiOyB9IH1cbi5nbHlwaGljb24tc2hhcmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTVcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1mdWxsICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk2XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtc21hbGwgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5N1wiOyB9IH1cbi5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDFcIjsgfSB9XG4uZ2x5cGhpY29uLWdpZnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAyXCI7IH0gfVxuLmdseXBoaWNvbi1sZWFmICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwM1wiOyB9IH1cbi5nbHlwaGljb24tZmlyZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDRcIjsgfSB9XG4uZ2x5cGhpY29uLWV5ZS1vcGVuICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA1XCI7IH0gfVxuLmdseXBoaWNvbi1leWUtY2xvc2UgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNlwiOyB9IH1cbi5nbHlwaGljb24td2FybmluZy1zaWduICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDdcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYW5lICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA4XCI7IH0gfVxuLmdseXBoaWNvbi1jYWxlbmRhciAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwOVwiOyB9IH1cbi5nbHlwaGljb24tcmFuZG9tICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTBcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbW1lbnQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTExXCI7IH0gfVxuLmdseXBoaWNvbi1tYWduZXQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMlwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi11cCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tZG93biAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE0XCI7IH0gfVxuLmdseXBoaWNvbi1yZXR3ZWV0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNVwiOyB9IH1cbi5nbHlwaGljb24tc2hvcHBpbmctY2FydCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTZcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbGRlci1jbG9zZSAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE3XCI7IH0gfVxuLmdseXBoaWNvbi1mb2xkZXItb3BlbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExOFwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLXZlcnRpY2FsICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTlcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1ob3Jpem9udGFsICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIwXCI7IH0gfVxuLmdseXBoaWNvbi1oZGQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMVwiOyB9IH1cbi5nbHlwaGljb24tYnVsbGhvcm4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjJcIjsgfSB9XG4uZ2x5cGhpY29uLWJlbGwgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIzXCI7IH0gfVxuLmdseXBoaWNvbi1jZXJ0aWZpY2F0ZSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNFwiOyB9IH1cbi5nbHlwaGljb24tdGh1bWJzLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjVcIjsgfSB9XG4uZ2x5cGhpY29uLXRodW1icy1kb3duICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI2XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLXJpZ2h0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyN1wiOyB9IH1cbi5nbHlwaGljb24taGFuZC1sZWZ0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjhcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtdXAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI5XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLWRvd24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMFwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0ICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMyXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzM1wiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd24gICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzRcIjsgfSB9XG4uZ2x5cGhpY29uLWdsb2JlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM1XCI7IH0gfVxuLmdseXBoaWNvbi13cmVuY2ggICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNlwiOyB9IH1cbi5nbHlwaGljb24tdGFza3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzdcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbHRlciAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM4XCI7IH0gfVxuLmdseXBoaWNvbi1icmllZmNhc2UgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzOVwiOyB9IH1cbi5nbHlwaGljb24tZnVsbHNjcmVlbiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDBcIjsgfSB9XG4uZ2x5cGhpY29uLWRhc2hib2FyZCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQxXCI7IH0gfVxuLmdseXBoaWNvbi1wYXBlcmNsaXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MlwiOyB9IH1cbi5nbHlwaGljb24taGVhcnQtZW1wdHkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDNcIjsgfSB9XG4uZ2x5cGhpY29uLWxpbmsgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ0XCI7IH0gfVxuLmdseXBoaWNvbi1waG9uZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NVwiOyB9IH1cbi5nbHlwaGljb24tcHVzaHBpbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDZcIjsgfSB9XG4uZ2x5cGhpY29uLXVzZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ4XCI7IH0gfVxuLmdseXBoaWNvbi1nYnAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0OVwiOyB9IH1cbi5nbHlwaGljb24tc29ydCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUxXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdCAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MlwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlciAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTNcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU0XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NVwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzLWFsdCB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTZcIjsgfSB9XG4uZ2x5cGhpY29uLXVuY2hlY2tlZCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU3XCI7IH0gfVxuLmdseXBoaWNvbi1leHBhbmQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1OFwiOyB9IH1cbi5nbHlwaGljb24tY29sbGFwc2UtZG93biAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTlcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbGxhcHNlLXVwICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYwXCI7IH0gfVxuLmdseXBoaWNvbi1sb2ctaW4gICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MVwiOyB9IH1cbi5nbHlwaGljb24tZmxhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjJcIjsgfSB9XG4uZ2x5cGhpY29uLWxvZy1vdXQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYzXCI7IH0gfVxuLmdseXBoaWNvbi1uZXctd2luZG93ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NFwiOyB9IH1cbi5nbHlwaGljb24tcmVjb3JkICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNhdmUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY2XCI7IH0gfVxuLmdseXBoaWNvbi1vcGVuICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2N1wiOyB9IH1cbi5nbHlwaGljb24tc2F2ZWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjhcIjsgfSB9XG4uZ2x5cGhpY29uLWltcG9ydCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY5XCI7IH0gfVxuLmdseXBoaWNvbi1leHBvcnQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MFwiOyB9IH1cbi5nbHlwaGljb24tc2VuZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzFcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1kaXNrICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcyXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktc2F2ZWQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3M1wiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXJlbW92ZSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzRcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc1XCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktb3BlbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NlwiOyB9IH1cbi5nbHlwaGljb24tY3JlZGl0LWNhcmQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzdcIjsgfSB9XG4uZ2x5cGhpY29uLXRyYW5zZmVyICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc4XCI7IH0gfVxuLmdseXBoaWNvbi1jdXRsZXJ5ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3OVwiOyB9IH1cbi5nbHlwaGljb24taGVhZGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODBcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbXByZXNzZWQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgxXCI7IH0gfVxuLmdseXBoaWNvbi1lYXJwaG9uZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MlwiOyB9IH1cbi5nbHlwaGljb24tcGhvbmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODNcIjsgfSB9XG4uZ2x5cGhpY29uLXRvd2VyICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg0XCI7IH0gfVxuLmdseXBoaWNvbi1zdGF0cyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NVwiOyB9IH1cbi5nbHlwaGljb24tc2QtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODZcIjsgfSB9XG4uZ2x5cGhpY29uLWhkLXZpZGVvICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg3XCI7IH0gfVxuLmdseXBoaWNvbi1zdWJ0aXRsZXMgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4OFwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtc3RlcmVvICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODlcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLWRvbGJ5ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkwXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC01LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MVwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNi0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTJcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTctMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkzXCI7IH0gfVxuLmdseXBoaWNvbi1jb3B5cmlnaHQtbWFyayAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5NFwiOyB9IH1cbi5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcmsgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTVcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkLWRvd25sb2FkICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk3XCI7IH0gfVxuLmdseXBoaWNvbi1jbG91ZC11cGxvYWQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5OFwiOyB9IH1cbi5nbHlwaGljb24tdHJlZS1jb25pZmVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAwXCI7IH0gfVxuLmdseXBoaWNvbi1jZCAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwMVwiOyB9IH1cbi5nbHlwaGljb24tc2F2ZS1maWxlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDJcIjsgfSB9XG4uZ2x5cGhpY29uLW9wZW4tZmlsZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAzXCI7IH0gfVxuLmdseXBoaWNvbi1sZXZlbC11cCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwNFwiOyB9IH1cbi5nbHlwaGljb24tY29weSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDVcIjsgfSB9XG4uZ2x5cGhpY29uLXBhc3RlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA2XCI7IH0gfVxuLy8gVGhlIGZvbGxvd2luZyAyIEdseXBoaWNvbnMgYXJlIG9taXR0ZWQgZm9yIHRoZSB0aW1lIGJlaW5nIGJlY2F1c2Vcbi8vIHRoZXkgY3VycmVudGx5IHVzZSBVbmljb2RlIGNvZGVwb2ludHMgdGhhdCBhcmUgb3V0c2lkZSB0aGVcbi8vIEJhc2ljIE11bHRpbGluZ3VhbCBQbGFuZSAoQk1QKS4gT2xkZXIgYnVnZ3kgdmVyc2lvbnMgb2YgV2ViS2l0IGNhbid0IGhhbmRsZVxuLy8gbm9uLUJNUCBjb2RlcG9pbnRzIGluIENTUyBzdHJpbmcgZXNjYXBlcywgYW5kIHRodXMgY2FuJ3QgZGlzcGxheSB0aGVzZSB0d28gaWNvbnMuXG4vLyBOb3RhYmx5LCB0aGUgYnVnIGFmZmVjdHMgc29tZSBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgQW5kcm9pZCBCcm93c2VyLlxuLy8gTW9yZSBpbmZvOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEwMTA2XG4vLyAuZ2x5cGhpY29uLWRvb3IgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwxZjZhYVwiOyB9IH1cbi8vIC5nbHlwaGljb24ta2V5ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDFmNTExXCI7IH0gfVxuLmdseXBoaWNvbi1hbGVydCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwOVwiOyB9IH1cbi5nbHlwaGljb24tZXF1YWxpemVyICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTBcIjsgfSB9XG4uZ2x5cGhpY29uLWtpbmcgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjExXCI7IH0gfVxuLmdseXBoaWNvbi1xdWVlbiAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxMlwiOyB9IH1cbi5nbHlwaGljb24tcGF3biAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTNcIjsgfSB9XG4uZ2x5cGhpY29uLWJpc2hvcCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE0XCI7IH0gfVxuLmdseXBoaWNvbi1rbmlnaHQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxNVwiOyB9IH1cbi5nbHlwaGljb24tYmFieS1mb3JtdWxhICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTZcIjsgfSB9XG4uZ2x5cGhpY29uLXRlbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNmZhXCI7IH0gfVxuLmdseXBoaWNvbi1ibGFja2JvYXJkICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxOFwiOyB9IH1cbi5nbHlwaGljb24tYmVkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTlcIjsgfSB9XG4uZ2x5cGhpY29uLWFwcGxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmOGZmXCI7IH0gfVxuLmdseXBoaWNvbi1lcmFzZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyMVwiOyB9IH1cbi5nbHlwaGljb24taG91cmdsYXNzICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIzMWJcIjsgfSB9XG4uZ2x5cGhpY29uLWxhbXAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjIzXCI7IH0gfVxuLmdseXBoaWNvbi1kdXBsaWNhdGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyNFwiOyB9IH1cbi5nbHlwaGljb24tcGlnZ3ktYmFuayAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNjaXNzb3JzICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI2XCI7IH0gfVxuLmdseXBoaWNvbi1iaXRjb2luICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyN1wiOyB9IH1cbi5nbHlwaGljb24tYnRjICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjdcIjsgfSB9XG4uZ2x5cGhpY29uLXhidCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxuLmdseXBoaWNvbi15ZW4gICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMDBhNVwiOyB9IH1cbi5nbHlwaGljb24tanB5ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwYTVcIjsgfSB9XG4uZ2x5cGhpY29uLXJ1YmxlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH0gfVxuLmdseXBoaWNvbi1ydWIgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBiZFwiOyB9IH1cbi5nbHlwaGljb24tc2NhbGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzBcIjsgfSB9XG4uZ2x5cGhpY29uLWljZS1sb2xseSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMxXCI7IH0gfVxuLmdseXBoaWNvbi1pY2UtbG9sbHktdGFzdGVkICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzMlwiOyB9IH1cbi5nbHlwaGljb24tZWR1Y2F0aW9uICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzNcIjsgfSB9XG4uZ2x5cGhpY29uLW9wdGlvbi1ob3Jpem9udGFsICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM0XCI7IH0gfVxuLmdseXBoaWNvbi1vcHRpb24tdmVydGljYWwgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzNVwiOyB9IH1cbi5nbHlwaGljb24tbWVudS1oYW1idXJnZXIgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzZcIjsgfSB9XG4uZ2x5cGhpY29uLW1vZGFsLXdpbmRvdyAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM3XCI7IH0gfVxuLmdseXBoaWNvbi1vaWwgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzOFwiOyB9IH1cbi5nbHlwaGljb24tZ3JhaW4gICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzlcIjsgfSB9XG4uZ2x5cGhpY29uLXN1bmdsYXNzZXMgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQwXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LXNpemUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0MVwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1jb2xvciAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDJcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQzXCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdG9wICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0NFwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWJvdHRvbSAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDVcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFseyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ2XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tbGVmdCAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0N1wiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXZlcnRpY2FsICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDhcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodCAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ5XCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS1yaWdodCAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1MFwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtbGVmdCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTFcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbSAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUyXCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS10b3AgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1M1wiOyB9IH1cbi5nbHlwaGljb24tY29uc29sZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTRcIjsgfSB9XG4uZ2x5cGhpY29uLXN1cGVyc2NyaXB0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU1XCI7IH0gfVxuLmdseXBoaWNvbi1zdWJzY3JpcHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1NlwiOyB9IH1cbi5nbHlwaGljb24tbWVudS1sZWZ0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTdcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtcmlnaHQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU4XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWRvd24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1OVwiOyB9IH1cbi5nbHlwaGljb24tbWVudS11cCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNjBcIjsgfSB9XG4iLCIvL1xuLy8gU2NhZmZvbGRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gUmVzZXQgdGhlIGJveC1zaXppbmdcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyByZXNldCBtYXkgY2F1c2UgY29uZmxpY3RzIHdpdGggc29tZSB0aGlyZC1wYXJ0eSB3aWRnZXRzLlxuLy8gRm9yIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuLy8gaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2RvY3MvMy40L2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZ1xuKiB7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cblxuLy8gQm9keSByZXNldFxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmc7XG59XG5cbi8vIFJlc2V0IGZvbnRzIGZvciByZWxldmFudCBlbGVtZW50c1xuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogQGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBAbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgLnRhYi1mb2N1cygpO1xuICB9XG59XG5cblxuLy8gRmlndXJlc1xuLy9cbi8vIFdlIHJlc2V0IHRoaXMgaGVyZSBiZWNhdXNlIHByZXZpb3VzbHkgTm9ybWFsaXplIGhhZCBubyBgZmlndXJlYCBtYXJnaW5zLiBUaGlzXG4vLyBlbnN1cmVzIHdlIGRvbid0IGJyZWFrIGFueW9uZSdzIHVzZSBvZiB0aGUgZWxlbWVudC5cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5cbi8vIEltYWdlc1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi5pbWctcmVzcG9uc2l2ZSB7XG4gIC5pbWctcmVzcG9uc2l2ZSgpO1xufVxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi5pbWctcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xufVxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byB0aHVtYm5haWxzLmxlc3MgZm9yIGAudGh1bWJuYWlsYC5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogQHRodW1ibmFpbC1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEB0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIC50cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICAuaW1nLXJlc3BvbnNpdmUoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBzZXQgcmFkaXVzIGluIHBlcmNlbnRzXG59XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuXG5ociB7XG4gIG1hcmdpbi10b3A6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAaHItYm9yZGVyO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XHRMRVNTIEVsZW1lbnRzIDAuNlxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0XHRBIHNldCBvZiB1c2VmdWwgTEVTUyBtaXhpbnMgYnkgRG1pdHJ5IEZhZGV5ZXZcblx0XHRTcGVjaWFsIHRoYW5rcyBmb3IgbWl4aW4gc3VnZ2VzdGlvbnMgdG86XG5cdFx0XHRLcmlzIFZhbiBIZXJ6ZWVsZSxcblx0XHRcdEJlbm9pdCBBZGFtLFxuXHRcdFx0UG9ydGVuYXJ0IEVtaWxlLVZpY3Rvcixcblx0XHRcdFJ5YW4gRmFlcm1hblxuXG5cdFx0TW9yZSBpbmZvIGF0OiBodHRwOi8vbGVzc2VsZW1lbnRzLmNvbVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uYm94LXNpemluZyAoQHR5cGU6IGJvcmRlci1ib3gpIHtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBAdHlwZTtcblx0LW1vei1ib3gtc2l6aW5nOiAgICBAdHlwZTtcblx0Ym94LXNpemluZzogICAgICAgICBAdHlwZTtcbn1cblxuXG4uYnctZ3JhZGllbnQoQGNvbG9yOiAjRjVGNUY1LCBAc3RhcnQ6IDAsIEBzdG9wOiAyNTUpIHtcblx0YmFja2dyb3VuZDogQGNvbG9yO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxlZnQgYm90dG9tLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bGVmdCB0b3AsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvci1zdG9wKDAsIHJnYihAc3RhcnQsQHN0YXJ0LEBzdGFydCkpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3Itc3RvcCgxLCByZ2IoQHN0b3AsQHN0b3AsQHN0b3ApKSk7XG5cdGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoYm90dG9tLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJnYihAc3RhcnQsQHN0YXJ0LEBzdGFydCkgMCUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmdiKEBzdGFydCxAc3RhcnQsQHN0YXJ0KSAxMDAlKTtcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZ2IoQHN0YXJ0LEBzdGFydCxAc3RhcnQpIDAlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJnYihAc3RvcCxAc3RvcCxAc3RvcCkgMTAwJSk7XG59XG4uYm9yZGVyZWQoQHRvcC1jb2xvcjogI0VFRSwgQHJpZ2h0LWNvbG9yOiAjRUVFLCBAYm90dG9tLWNvbG9yOiAjRUVFLCBAbGVmdC1jb2xvcjogI0VFRSkge1xuXHRib3JkZXItdG9wOiBzb2xpZCAxcHggQHRvcC1jb2xvcjtcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDFweCBAbGVmdC1jb2xvcjtcblx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggQHJpZ2h0LWNvbG9yO1xuXHRib3JkZXItYm90dG9tOiBzb2xpZCAxcHggQGJvdHRvbS1jb2xvcjtcbn1cbi5kcm9wLXNoYWRvdyhAeC1heGlzOiAwLCBAeS1heGlzOiAxcHgsIEBibHVyOiAycHgsIEBjb2xvcikge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IEB4LWF4aXMgQHktYXhpcyBAYmx1ciBAY29sb3I7XG5cdC1tb3otYm94LXNoYWRvdzogQHgtYXhpcyBAeS1heGlzIEBibHVyIEBjb2xvcjtcblx0Ym94LXNoYWRvdzogQHgtYXhpcyBAeS1heGlzIEBibHVyIEBjb2xvcjtcbn1cbi50ZXh0LXNoYWRvdyAoQHgtYXhpczogMCwgQHktYXhpczogMXB4LCBAYmx1cjogMnB4LCBAY29sb3IpIHtcblx0dGV4dC1zaGFkb3c6IEB4LWF4aXMgQHktYXhpcyBAYmx1ciBAY29sb3I7XG59XG4ucm91bmRlZChAcmFkaXVzOiAycHgpIHtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuXHQtbW96LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG5cdGJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG5cdC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG59XG4uYm9yZGVyLXJhZGl1cyhAdG9wcmlnaHQ6IDAsIEBib3R0b21yaWdodDogMCwgQGJvdHRvbWxlZnQ6IDAsIEB0b3BsZWZ0OiAwKSB7XG5cdC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEB0b3ByaWdodDtcblx0LXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvdHRvbXJpZ2h0O1xuXHQtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3R0b21sZWZ0O1xuXHQtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEB0b3BsZWZ0O1xuXHQtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IEB0b3ByaWdodDtcblx0LW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiBAYm90dG9tcmlnaHQ7XG5cdC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiBAYm90dG9tbGVmdDtcblx0LW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IEB0b3BsZWZ0O1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHRvcHJpZ2h0O1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvdHRvbXJpZ2h0O1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm90dG9tbGVmdDtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHRvcGxlZnQ7XG5cdC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nOyAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG59XG4ub3BhY2l0eShAb3BhY2l0eTogMC41KSB7XG5cdC1tb3otb3BhY2l0eTogQG9wYWNpdHk7XG5cdC1raHRtbC1vcGFjaXR5OiBAb3BhY2l0eTtcblx0LXdlYmtpdC1vcGFjaXR5OiBAb3BhY2l0eTtcblx0b3BhY2l0eTogQG9wYWNpdHk7XG59XG4udHJhbnNpdGlvbi1kdXJhdGlvbihAZHVyYXRpb246IDAuMnMpIHtcblx0LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XG5cdC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XG59XG4ucm90YXRpb24oQGRlZzo1ZGVnKXtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVnKTtcblx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZShAZGVnKTtcblx0dHJhbnNmb3JtOiByb3RhdGUoQGRlZyk7XG59XG4uc2NhbGUoQHJhdGlvOjEuNSl7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKEByYXRpbyk7XG5cdC1tb3otdHJhbnNmb3JtOnNjYWxlKEByYXRpbyk7XG5cdHRyYW5zZm9ybTpzY2FsZShAcmF0aW8pO1xufVxuLnRyYW5zaXRpb24oQGR1cmF0aW9uOjAuMnMsIEBlYXNlOmVhc2Utb3V0KSB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIEBkdXJhdGlvbiBAZWFzZTtcblx0LW1vei10cmFuc2l0aW9uOiBhbGwgQGR1cmF0aW9uIEBlYXNlO1xuXHR0cmFuc2l0aW9uOiBhbGwgQGR1cmF0aW9uIEBlYXNlO1xufVxuLnRyYW5zaXRpb24tbm9uZSgpIHtcblx0LW1vei10cmFuc2l0aW9uOiBub25lO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IG5vbmU7XG59XG4udHJhbnNpdGlvbi1wcm9wZXJ0eShAcHJvcGVydHk6YWxsLCBAZHVyYXRpb246MC4ycywgQGVhc2U6ZWFzZS1vdXQpIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBAcHJvcGVydHkgQGR1cmF0aW9uIEBlYXNlO1xuXHQtbW96LXRyYW5zaXRpb246IEBwcm9wZXJ0eSBAZHVyYXRpb24gQGVhc2U7XG5cdHRyYW5zaXRpb246IEBwcm9wZXJ0eSBAZHVyYXRpb24gQGVhc2U7XG59XG4udHJhbnNpdGlvbi1wcm9wZXJ0eS1ub25lKEBwcm9wZXJ0eSkge1xuXHQtbW96LXRyYW5zaXRpb246IEBwcm9wZXJ0eSBub25lO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IEBwcm9wZXJ0eSBub25lO1xuXHR0cmFuc2l0aW9uOiBAcHJvcGVydHkgbm9uZTtcbn1cbi5pbm5lci1zaGFkb3coQGhvcml6b250YWw6MCwgQHZlcnRpY2FsOjFweCwgQGJsdXI6MnB4LCBAYWxwaGE6IDAuNCkge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IEBob3Jpem9udGFsIEB2ZXJ0aWNhbCBAYmx1ciByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XG5cdC1tb3otYm94LXNoYWRvdzogaW5zZXQgQGhvcml6b250YWwgQHZlcnRpY2FsIEBibHVyIHJnYmEoMCwgMCwgMCwgQGFscGhhKTtcblx0Ym94LXNoYWRvdzogaW5zZXQgQGhvcml6b250YWwgQHZlcnRpY2FsIEBibHVyIHJnYmEoMCwgMCwgMCwgQGFscGhhKTtcbn1cbi5ib3gtc2hhZG93KEBhcmd1bWVudHMpIHtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBAYXJndW1lbnRzO1xuXHQtbW96LWJveC1zaGFkb3c6IEBhcmd1bWVudHM7XG5cdGJveC1zaGFkb3c6IEBhcmd1bWVudHM7XG59XG4uY29sdW1ucyhAY29sd2lkdGg6IDI1MHB4LCBAY29sY291bnQ6IDAsIEBjb2xnYXA6IDUwcHgsIEBjb2x1bW5SdWxlQ29sb3I6ICNFRUUsIEBjb2x1bW5SdWxlU3R5bGU6IHNvbGlkLCBAY29sdW1uUnVsZVdpZHRoOiAxcHgpIHtcblx0LW1vei1jb2x1bW4td2lkdGg6IEBjb2x3aWR0aDtcblx0LW1vei1jb2x1bW4tY291bnQ6IEBjb2xjb3VudDtcblx0LW1vei1jb2x1bW4tZ2FwOiBAY29sZ2FwO1xuXHQtbW96LWNvbHVtbi1ydWxlLWNvbG9yOiBAY29sdW1uUnVsZUNvbG9yO1xuXHQtbW96LWNvbHVtbi1ydWxlLXN0eWxlOiBAY29sdW1uUnVsZVN0eWxlO1xuXHQtbW96LWNvbHVtbi1ydWxlLXdpZHRoOiBAY29sdW1uUnVsZVdpZHRoO1xuXHQtd2Via2l0LWNvbHVtbi13aWR0aDogQGNvbHdpZHRoO1xuXHQtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbGNvdW50O1xuXHQtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2xnYXA7XG5cdC13ZWJraXQtY29sdW1uLXJ1bGUtY29sb3I6IEBjb2x1bW5SdWxlQ29sb3I7XG5cdC13ZWJraXQtY29sdW1uLXJ1bGUtc3R5bGU6IEBjb2x1bW5SdWxlU3R5bGU7XG5cdC13ZWJraXQtY29sdW1uLXJ1bGUtd2lkdGg6IEBjb2x1bW5SdWxlV2lkdGg7XG5cdGNvbHVtbi13aWR0aDogQGNvbHdpZHRoO1xuXHRjb2x1bW4tY291bnQ6IEBjb2xjb3VudDtcblx0Y29sdW1uLWdhcDogQGNvbGdhcDtcblx0Y29sdW1uLXJ1bGUtY29sb3I6IEBjb2x1bW5SdWxlQ29sb3I7XG5cdGNvbHVtbi1ydWxlLXN0eWxlOiBAY29sdW1uUnVsZVN0eWxlO1xuXHRjb2x1bW4tcnVsZS13aWR0aDogQGNvbHVtblJ1bGVXaWR0aDtcbn1cbi50cmFuc2xhdGUoQHg6MCwgQHk6MCkge1xuXHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcblx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcblx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG5cbi5ncmFkaWVudCAoQGNvbG9yMSwgQGNvbG9yMil7XG5cdGJhY2tncm91bmQ6IEBjb2xvcjE7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQGNvbG9yMSAwJSwgQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAY29sb3IxIDAlLEBjb2xvcjIgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQGNvbG9yMSAwJSxAY29sb3IyIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj1AY29sb3IxLCBlbmRDb2xvcnN0cj1AY29sb3IyLEdyYWRpZW50VHlwZT0wICk7XG59XG4uZ3JhZGllbnRfbm9faWUgKEBjb2xvcjEsIEBjb2xvcjIpe1xuXHRiYWNrZ3JvdW5kOiBAY29sb3IxO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBjb2xvcjEgMCUsIEBjb2xvcjIgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQGNvbG9yMSAwJSxAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAY29sb3IxIDAlLEBjb2xvcjIgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcbn1cblxuLmdyYWRpZW50IChAY29sb3IxLCBAY29sb3IyLCBAY29sb3IzKXtcblx0YmFja2dyb3VuZDogQGNvbG9yMztcblx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBAY29sb3IxIDAlLCBAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQGNvbG9yMSAwJSxAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAY29sb3IxIDAlLCBAY29sb3IyIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj1AY29sb3IxLCBlbmRDb2xvcnN0cj1AY29sb3IyLEdyYWRpZW50VHlwZT0wICk7XG59XG4vLyAudmVydGljYWwtZ3JhZGllbnQgPSAuZ3JhZGllbnRcbi52ZXJ0aWNhbC1ncmFkaWVudCAoQGNvbG9yMSxAY29sb3IyKSB7LmdyYWRpZW50KEBjb2xvcjEsQGNvbG9yMil9XG4udmVydGljYWwtZ3JhZGllbnQgKEBjb2xvcjEsQGNvbG9yMixAY29sb3IzKSB7LmdyYWRpZW50KEBjb2xvcjEsQGNvbG9yMixAY29sb3IzKX1cbi5ob3Jpem9udGFsLWdyYWRpZW50IChAY29sb3IxLCBAY29sb3IyKSB7XG5cdGJhY2tncm91bmQ6IEBjb2xvcjE7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBjb2xvcjEgMCUsIEBjb2xvcjIgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAY29sb3IxIDAlLCBAY29sb3IyIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj1AY29sb3IxLCBlbmRDb2xvcnN0cj1AY29sb3IyLEdyYWRpZW50VHlwZT0xICk7XG5cbn1cbi5ob3Jpem9udGFsLWdyYWRpZW50IChAY29sb3IxLCBAY29sb3IyLCBAY29sb3IzKSB7XG5cdGJhY2tncm91bmQ6IEBjb2xvcjM7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBjb2xvcjEgMCUsIEBjb2xvcjIgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAY29sb3IxIDAlLCBAY29sb3IyIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj1AY29sb3IxLCBlbmRDb2xvcnN0cj1AY29sb3IyLEdyYWRpZW50VHlwZT0xICk7XG59XG4uaG9yaXpvbnRhbC1ncmFkaWVudCAoQGNvbG9yMSwgQGxlZnQsIEBjb2xvcjIsIEByaWdodCwgQGNvbG9yMykge1xuXHRiYWNrZ3JvdW5kOiBAY29sb3IzO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAY29sb3IxIHBlcmNlbnRhZ2UoQGxlZnQpLCBAY29sb3IyIHBlcmNlbnRhZ2UoQHJpZ2h0KSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAY29sb3IxIHBlcmNlbnRhZ2UoQGxlZnQpLCBAY29sb3IyIHBlcmNlbnRhZ2UoQHJpZ2h0KSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPUBjb2xvcjEsIGVuZENvbG9yc3RyPUBjb2xvcjIsR3JhZGllbnRUeXBlPTEgKTtcbn1cbi5kaWFnb25hbC1ncmFkaWVudCAoQGNvbG9yMSwgQGNvbG9yMikge1xuXHRiYWNrZ3JvdW5kOiBAY29sb3IxO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIEBjb2xvcjEgMzAlLCBAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIEBjb2xvcjEgMzAlLEBjb2xvcjIgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIEBjb2xvcjEgMzAlLEBjb2xvcjIgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIEBjb2xvcjEgMzAlLEBjb2xvcjIgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPUBjb2xvcjEsIGVuZENvbG9yc3RyPUBjb2xvcjIsR3JhZGllbnRUeXBlPTEgKTtcbn1cbi5kaWFnb25hbC1ncmFkaWVudCAoQGNvbG9yMSwgQHBvczEsIEBjb2xvcjIsIEBwb3MyKSB7XG5cdGJhY2tncm91bmQ6IEBjb2xvcjE7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgQGNvbG9yMSBAcG9zMSwgQGNvbG9yMiBAcG9zMik7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgQGNvbG9yMSBAcG9zMSwgQGNvbG9yMiBAcG9zMik7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIEBjb2xvcjEgQHBvczEsIEBjb2xvcjIgQHBvczIpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBAY29sb3IxIEBwb3MxLCBAY29sb3IyIEBwb3MyKTtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9QGNvbG9yMSwgZW5kQ29sb3JzdHI9QGNvbG9yMixHcmFkaWVudFR5cGU9MSApO1xufVxuLmRpYWdvbmFsLWdyYWRpZW50IChAY29sb3IxLCBAY29sb3IyLEBjb2xvcjMpIHtcblx0YmFja2dyb3VuZDogQGNvbG9yMztcblx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCBAY29sb3IxIDAlLCBAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KC00NWRlZywgQGNvbG9yMSAwJSxAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBAY29sb3IxIDAlLEBjb2xvcjIgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPUBjb2xvcjEsIGVuZENvbG9yc3RyPUBjb2xvcjIsR3JhZGllbnRUeXBlPTEgKTtcbn1cbi5yYWRpYWwtZ3JhZGllbnQgKEBjb2xvcjEsIEBjb2xvcjIpIHtcblx0YmFja2dyb3VuZDogQGNvbG9yMTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBAY29sb3IxIDAlLCBAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgQGNvbG9yMSAwJSxAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoYXQgY2VudGVyLCBAY29sb3IxIDAlLEBjb2xvcjIgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPUBjb2xvcjEsIGVuZENvbG9yc3RyPUBjb2xvcjIsR3JhZGllbnRUeXBlPTEgKTtcbn1cbi5yYWRpYWwtZ3JhZGllbnQgKEBjb2xvcjEsIEBjb2xvcjIsIEBjb2xvcjMpIHtcblx0YmFja2dyb3VuZDogQGNvbG9yMztcblx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBAY29sb3IxIDAlLCBAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIEBjb2xvcjEgMCUsQGNvbG9yMiAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgQGNvbG9yMSAwJSxAY29sb3IyIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoYXQgY2VudGVyLCBAY29sb3IxIDAlLEBjb2xvcjIgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPUBjb2xvcjEsIGVuZENvbG9yc3RyPUBjb2xvcjIsR3JhZGllbnRUeXBlPTEgKTtcbn1cblxuLmFuaW1hdGlvbiAoLi4uKSB7XG5cdC13ZWJraXQtYW5pbWF0aW9uOiBAYXJndW1lbnRzO1xuXHQtbW96LWFuaW1hdGlvbjogQGFyZ3VtZW50cztcblx0LW8tYW5pbWF0aW9uOiBAYXJndW1lbnRzO1xuXHRhbmltYXRpb246IEBhcmd1bWVudHM7XG59XG4uYW5pbWF0ZSAoLi4uKSB7LmFuaW1hdGlvbihAYXJndW1lbnRzKTt9XG4uYW5pbWUgKC4uLikgey5hbmltYXRpb24oQGFyZ3VtZW50cyk7fVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbkBncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwO1xuQGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oQGdyYXktYmFzZSwgMTMuNSUpOyAvLyAjMjIyXG5AZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbihAZ3JheS1iYXNlLCAyMCUpOyAgIC8vICMzMzNcbkBncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKEBncmF5LWJhc2UsIDMzLjUlKTsgLy8gIzU1NVxuQGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oQGdyYXktYmFzZSwgNDYuNyUpOyAvLyAjNzc3XG5AZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbihAZ3JheS1iYXNlLCA5My41JSk7IC8vICNlZWVcblxuQGJyYW5kLXByaW1hcnk6ICAgICAgICAgZGFya2VuKCM0MjhiY2EsIDYuNSUpOyAvLyAjMzM3YWI3XG5AYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjO1xuQGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZTtcbkBicmFuZC13YXJuaW5nOiAgICAgICAgICNmMGFkNGU7XG5AYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmO1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG5AYm9keS1iZzogICAgICAgICAgICAgICAjZmZmO1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbkB0ZXh0LWNvbG9yOiAgICAgICAgICAgIEBncmF5LWRhcms7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbkBsaW5rLWNvbG9yOiAgICAgICAgICAgIEBicmFuZC1wcmltYXJ5O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbkBsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbihAbGluay1jb2xvciwgMTUlKTtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuQGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbkBmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuQGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG5AZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbkBmb250LWZhbWlseS1iYXNlOiAgICAgICAgQGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbkBmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweDtcbkBmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpOyAvLyB+MThweFxuQGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKChAZm9udC1zaXplLWJhc2UgKiAuODUpKTsgLy8gfjEycHhcblxuQGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogMi42KSk7IC8vIH4zNnB4XG5AZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKChAZm9udC1zaXplLWJhc2UgKiAyLjE1KSk7IC8vIH4zMHB4XG5AZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuNykpOyAvLyB+MjRweFxuQGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKChAZm9udC1zaXplLWJhc2UgKiAxLjI1KSk7IC8vIH4xOHB4XG5AZm9udC1zaXplLWg1OiAgICAgICAgICAgIEBmb250LXNpemUtYmFzZTtcbkBmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogLjg1KSk7IC8vIH4xMnB4XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbkBsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS40Mjg1NzE0Mjk7IC8vIDIwLzE0XG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuQGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogQGxpbmUtaGVpZ2h0LWJhc2UpKTsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuQGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0O1xuQGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDA7XG5AaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMTtcbkBoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cbkBpY29uLWZvbnQtcGF0aDogICAgICAgICAgXCIuLi9mb250cy9cIjtcbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbkBpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCI7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG5AaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCI7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbkBwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHg7XG5AcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweDtcblxuQHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHg7XG5AcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweDtcblxuQHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweDtcbkBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4O1xuXG5AcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4O1xuQHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweDtcblxuQGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMzsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG5AbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41O1xuXG5AYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4O1xuQGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweDtcbkBib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHg7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbkBjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmO1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG5AY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgQGJyYW5kLXByaW1hcnk7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRlIGRyb3Bkb3ducy5cbkBjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHg7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbkBjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHg7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuQHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHg7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbkB0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuQHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuQHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuQHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1O1xuQHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICBAdGFibGUtYmctaG92ZXI7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuQHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkO1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuQGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsO1xuXG5AYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xuQGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcbkBidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2M7XG5cbkBidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmY7XG5AYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcbkBidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbihAYnRuLXByaW1hcnktYmcsIDUlKTtcblxuQGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZjtcbkBidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgIEBicmFuZC1zdWNjZXNzO1xuQGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKEBidG4tc3VjY2Vzcy1iZywgNSUpO1xuXG5AYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xuQGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgQGJyYW5kLWluZm87XG5AYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oQGJ0bi1pbmZvLWJnLCA1JSk7XG5cbkBidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmY7XG5AYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICBAYnJhbmQtd2FybmluZztcbkBidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbihAYnRuLXdhcm5pbmctYmcsIDUlKTtcblxuQGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZjtcbkBidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgIEBicmFuZC1kYW5nZXI7XG5AYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oQGJ0bi1kYW5nZXItYmcsIDUlKTtcblxuQGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgQGdyYXktbGlnaHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbkBidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XG5AYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbkBidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgIEBib3JkZXItcmFkaXVzLXNtYWxsO1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbkBpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG5AaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICBAZ3JheS1saWdodGVyO1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbkBpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgIEBncmF5O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG5AaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjO1xuXG4vLyBUT0RPOiBSZW5hbWUgYEBpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgQGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG5AaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuQGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG5AaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuQGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOTtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG5AaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5O1xuXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuQGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKTtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuQGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoQGZvbnQtc2l6ZS1sYXJnZSAqIEBsaW5lLWhlaWdodC1sYXJnZSkgKyAoQHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpO1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG5AaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoQGZvbnQtc2l6ZS1zbWFsbCAqIEBsaW5lLWhlaWdodC1zbWFsbCkgKyAoQHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpO1xuXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXG5AZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4O1xuXG5AbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICBAZ3JheS1kYXJrO1xuQGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNTtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuQGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgQGdyYXktbGlnaHRlcjtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuQGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogQGlucHV0LWJvcmRlcjtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG5AY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuQGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZjtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbkBkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjE1KTtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbkBkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2M7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG5AZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbkBkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgIEBncmF5LWRhcms7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbkBkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbihAZ3JheS1kYXJrLCA1JSk7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuQGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNTtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG5AZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICBAY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuQGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtYmc7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG5AZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICBAZ3JheS1saWdodDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbkBkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgIEBncmF5LWxpZ2h0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYEBkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG5AZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwO1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG5AemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwO1xuQHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMDtcbkB6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjA7XG5AemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwO1xuQHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMDtcbkB6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDA7XG5AemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwO1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG5Ac2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4O1xuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG5Ac2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgIEBzY3JlZW4teHM7XG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICBAc2NyZWVuLXhzLW1pbjtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweDtcbkBzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgQHNjcmVlbi1zbTtcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICBAc2NyZWVuLXNtLW1pbjtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG5Ac2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4O1xuQHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICBAc2NyZWVuLW1kO1xuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICBAc2NyZWVuLW1kLW1pbjtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuQHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHg7XG5Ac2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgIEBzY3JlZW4tbGc7XG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG5Ac2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgIEBzY3JlZW4tbGctbWluO1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbkBzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKEBzY3JlZW4tc20tbWluIC0gMSk7XG5Ac2NyZWVuLXNtLW1heDogICAgICAgICAgICAgIChAc2NyZWVuLW1kLW1pbiAtIDEpO1xuQHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoQHNjcmVlbi1sZy1taW4gLSAxKTtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuQGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyO1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbkBncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbkBncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICBAc2NyZWVuLXNtLW1pbjtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbkBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoQGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpO1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbkBjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyBAZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy8qKiBGb3IgYEBzY3JlZW4tc20tbWluYCBhbmQgdXAuXG5AY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgQGNvbnRhaW5lci10YWJsZXQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG5AY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgQGdyaWQtZ3V0dGVyLXdpZHRoKTtcbi8vKiogRm9yIGBAc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuQGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgIEBjb250YWluZXItZGVza3RvcDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG5AY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArIEBncmlkLWd1dHRlci13aWR0aCk7XG4vLyoqIEZvciBgQHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbkBjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICBAY29udGFpbmVyLWxhcmdlLWRlc2t0b3A7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuQG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4O1xuQG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5AbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XG5AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG5AbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoQG5hdmJhci1oZWlnaHQgLSBAbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMik7XG5AbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4O1xuXG5AbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3Nzc7XG5AbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4Zjg7XG5AbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpO1xuXG4vLyBOYXZiYXIgbGlua3NcbkBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3O1xuQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzM7XG5AbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG5AbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NTtcbkBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oQG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKTtcbkBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjO1xuQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbkBuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbkBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oQG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpO1xuQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG5AbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZDtcbkBuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4O1xuQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQ7XG5cblxuLy89PT0gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG5AbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oQGdyYXktbGlnaHQsIDE1JSk7XG5AbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjI7XG5AbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyLWludmVyc2UtYmcsIDEwJSk7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKEBncmF5LWxpZ2h0LCAxNSUpO1xuQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmO1xuQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcbkBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG5AbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyLWludmVyc2UtYmcsIDEwJSk7XG5AbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQ7XG5AbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5AbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmY7XG5AbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG5AbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzM7XG5AbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmY7XG5AbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzM7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuQG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHg7XG5AbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XG5cbkBuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHQ7XG5AbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xuXG4vLz09IFRhYnNcbkBuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZDtcblxuQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICBAZ3JheS1saWdodGVyO1xuXG5AbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIEBib2R5LWJnO1xuQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBAZ3JheTtcbkBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZDtcblxuQG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkO1xuQG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICBAYm9keS1iZztcblxuLy89PSBQaWxsc1xuQG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuQG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICBAY29tcG9uZW50LWFjdGl2ZS1iZztcbkBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG5AcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICBAbGluay1jb2xvcjtcbkBwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG5AcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkO1xuXG5AcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICBAbGluay1ob3Zlci1jb2xvcjtcbkBwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XG5AcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkO1xuXG5AcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmO1xuQHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XG5AcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcblxuQHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgQGdyYXktbGlnaHQ7XG5AcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmO1xuQHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZDtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG5AcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1iZztcbkBwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgIEBwYWdpbmF0aW9uLWJvcmRlcjtcbkBwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHg7XG5cbkBwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgIEBwYWdpbmF0aW9uLWhvdmVyLWJnO1xuXG5AcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG5AcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG5cbkBwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgIEBwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuXG5cbi8vPT0gSnVtYm90cm9uXG4vL1xuLy8jI1xuXG5AanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4O1xuQGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdDtcbkBqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XG5AanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0O1xuQGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS41KSk7XG5AanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplOiAgICBjZWlsKChAZm9udC1zaXplLWJhc2UgKiA0LjUpKTtcblxuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG5Ac3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkO1xuQHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkODtcbkBzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEBzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSk7XG5cbkBzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGY7XG5Ac3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3O1xuQHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKHNwaW4oQHN0YXRlLWluZm8tYmcsIC0xMCksIDclKTtcblxuQHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYjtcbkBzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTM7XG5Ac3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpO1xuXG5Ac3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyO1xuQHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZTtcbkBzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihzcGluKEBzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKTtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG5AdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG5AdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmO1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbkB0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDA7XG5AdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOTtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG5AdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHg7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbkB0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgIEB0b29sdGlwLWJnO1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbkBwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG5AcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuQHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4yKTtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbkBwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYztcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbkBwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKEBwb3BvdmVyLWJnLCAzJSk7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuQHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG5AcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgIEBwb3BvdmVyLWJnO1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbkBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKEBwb3BvdmVyLWFycm93LXdpZHRoICsgMSk7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbkBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZWluKEBwb3BvdmVyLWJvcmRlci1jb2xvciwgNSUpO1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG5AcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbihAcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSk7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG5AbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICBAZ3JheS1saWdodDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG5AbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG5AbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICBAYnJhbmQtc3VjY2Vzcztcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG5AbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICBAYnJhbmQtaW5mbztcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG5AbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICBAYnJhbmQtd2FybmluZztcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbkBsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgIEBicmFuZC1kYW5nZXI7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG5AbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbkBsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmY7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG5AbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbkBtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHg7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG5AbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICBAbGluZS1oZWlnaHQtYmFzZTtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuQG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuQG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4yKTtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbkBtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OTtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG5AbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwO1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG5AbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNTtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNTtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuQG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG5cbkBtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4O1xuQG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHg7XG5AbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbkBhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHg7XG5AYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuQGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZDtcblxuQGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgQHN0YXRlLXN1Y2Nlc3MtYmc7XG5AYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICBAc3RhdGUtc3VjY2Vzcy10ZXh0O1xuQGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgQHN0YXRlLXN1Y2Nlc3MtYm9yZGVyO1xuXG5AYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICBAc3RhdGUtaW5mby1iZztcbkBhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgIEBzdGF0ZS1pbmZvLXRleHQ7XG5AYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICBAc3RhdGUtaW5mby1ib3JkZXI7XG5cbkBhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgIEBzdGF0ZS13YXJuaW5nLWJnO1xuQGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgQHN0YXRlLXdhcm5pbmctdGV4dDtcbkBhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgIEBzdGF0ZS13YXJuaW5nLWJvcmRlcjtcblxuQGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgQHN0YXRlLWRhbmdlci1iZztcbkBhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgIEBzdGF0ZS1kYW5nZXItdGV4dDtcbkBhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgIEBzdGF0ZS1kYW5nZXItYm9yZGVyO1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbkBwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjU7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG5AcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmO1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuQHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuQHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG5AcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICBAYnJhbmQtc3VjY2Vzcztcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbkBwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgIEBicmFuZC13YXJuaW5nO1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG5AcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICBAYnJhbmQtZGFuZ2VyO1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuQHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgQGJyYW5kLWluZm87XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG5AbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmY7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbkBsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG5AbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuQGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG5AbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgIEBjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG5AbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgIEBjb21wb25lbnQtYWN0aXZlLWJnO1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbkBsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgQGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuQGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKEBsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKTtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbkBsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgIEBncmF5LWxpZ2h0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbkBsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbkBsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuXG5AbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTU7XG5AbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgIEBsaXN0LWdyb3VwLWxpbmstY29sb3I7XG5AbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzM7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbkBwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmY7XG5AcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4O1xuQHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4O1xuQHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgQHBhbmVsLWhlYWRpbmctcGFkZGluZztcbkBwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG5AcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZGRkO1xuQHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNTtcblxuQHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgQGdyYXktZGFyaztcbkBwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQ7XG5AcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1O1xuXG5AcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmO1xuQHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgQGJyYW5kLXByaW1hcnk7XG5AcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICBAYnJhbmQtcHJpbWFyeTtcblxuQHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgQHN0YXRlLXN1Y2Nlc3MtdGV4dDtcbkBwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgIEBzdGF0ZS1zdWNjZXNzLWJvcmRlcjtcbkBwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgIEBzdGF0ZS1zdWNjZXNzLWJnO1xuXG5AcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICBAc3RhdGUtaW5mby10ZXh0O1xuQHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgQHN0YXRlLWluZm8tYm9yZGVyO1xuQHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgQHN0YXRlLWluZm8tYmc7XG5cbkBwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgIEBzdGF0ZS13YXJuaW5nLXRleHQ7XG5AcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICBAc3RhdGUtd2FybmluZy1ib3JkZXI7XG5AcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICBAc3RhdGUtd2FybmluZy1iZztcblxuQHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgQHN0YXRlLWRhbmdlci10ZXh0O1xuQHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgQHN0YXRlLWRhbmdlci1ib3JkZXI7XG5AcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICBAc3RhdGUtZGFuZ2VyLWJnO1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG5AdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHg7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG5AdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICBAYm9keS1iZztcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuQHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbkB0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuQHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgQHRleHQtY29sb3I7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuQHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbkB3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjU7XG5Ad2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oQHdlbGwtYmcsIDclKTtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuQGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZjtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbkBiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmY7XG5AYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICBAZ3JheS1saWdodDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuQGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgQGxpbmstY29sb3I7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG5AYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmO1xuXG5AYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkO1xuQGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMTtcbkBiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHg7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuQGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHg7XG5AYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHg7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuQGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1O1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbkBicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2NjYztcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbkBicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgQGdyYXktbGlnaHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbkBicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCI7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuQGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC42KTtcblxuQGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XG5AY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlO1xuQGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41O1xuQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHg7XG5cbkBjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmO1xuQGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmY7XG5cbkBjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbkBjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQ7XG5AY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwO1xuQGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmO1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuQGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZTtcbkBjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQ7XG5cbkBrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmY7XG5Aa2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzO1xuXG5AcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1O1xuQHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgQGdyYXktZGFyaztcbkBwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2M7XG5AcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbkBjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG5AdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICBAZ3JheS1saWdodDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG5AYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICBAZ3JheS1saWdodDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbkBoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgIEBncmF5LWxpZ2h0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG5AYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICBAZ3JheS1saWdodDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbkBibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgIChAZm9udC1zaXplLWJhc2UgKiAxLjI1KTtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbkBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgIEBncmF5LWxpZ2h0ZXI7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuQHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgQGdyYXktbGlnaHRlcjtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuQGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgQGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggLmRsLWhvcml6b250YWwgYmVjb21lcyBob3Jpem9udGFsXG5AZGwtaG9yaXpvbnRhbC1icmVha3BvaW50OiAgICBAZ3JpZC1mbG9hdC1icmVha3BvaW50O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG5AaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICBAZ3JheS1saWdodGVyO1xuIiwiLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5cbi50YWItZm9jdXMoKSB7XG4gIC8vIFdlYktpdC1zcGVjaWZpYy4gT3RoZXIgYnJvd3NlcnMgd2lsbCBrZWVwIHRoZWlyIGRlZmF1bHQgb3V0bGluZSBzdHlsZS5cbiAgLy8gKEluaXRpYWxseSB0cmllZCB0byBhbHNvIGZvcmNlIGRlZmF1bHQgdmlhIGBvdXRsaW5lOiBpbml0aWFsYCxcbiAgLy8gYnV0IHRoYXQgc2VlbXMgdG8gZXJyb25lb3VzbHkgcmVtb3ZlIHRoZSBvdXRsaW5lIGluIEZpcmVmb3ggYWx0b2dldGhlci4pXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRodW1ibmFpbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTWl4aW4gYW5kIGFkanVzdCB0aGUgcmVndWxhciBpbWFnZSBjbGFzc1xuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiBAdGh1bWJuYWlsLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICAudHJhbnNpdGlvbihib3JkZXIgLjJzIGVhc2UtaW4tb3V0KTtcblxuICA+IGltZyxcbiAgYSA+IGltZyB7XG4gICAgJjpleHRlbmQoLmltZy1yZXNwb25zaXZlKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAvLyBBZGQgYSBob3ZlciBzdGF0ZSBmb3IgbGlua2VkIHZlcnNpb25zIG9ubHlcbiAgYSY6aG92ZXIsXG4gIGEmOmZvY3VzLFxuICBhJi5hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogQGxpbmstY29sb3I7XG4gIH1cblxuICAvLyBJbWFnZSBjYXB0aW9uc1xuICAuY2FwdGlvbiB7XG4gICAgcGFkZGluZzogQHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc7XG4gICAgY29sb3I6IEB0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgbWVkaWEtZmVhdHVyZS1uYW1lLW5vLXVua25vd25cblxuLy9cbi8vIENhcm91c2VsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgZm9yIHRoZSBzbGlkZSBjb250YWluZXIgYW5kIGluZGljYXRvcnNcbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA+IC5pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAudHJhbnNpdGlvbiguNnMgZWFzZS1pbi1vdXQgbGVmdCk7XG5cbiAgICAvLyBBY2NvdW50IGZvciBqYW5raXR1ZGUgb24gaW1hZ2VzXG4gICAgPiBpbWcsXG4gICAgPiBhID4gaW1nIHtcbiAgICAgICY6ZXh0ZW5kKC5pbWctcmVzcG9uc2l2ZSk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAvLyBXZWJLaXQgQ1NTMyB0cmFuc2Zvcm1zIGZvciBzdXBwb3J0ZWQgZGV2aWNlc1xuICAgIEBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgICAgIC50cmFuc2l0aW9uLXRyYW5zZm9ybSh+XCIwLjZzIGVhc2UtaW4tb3V0XCIpO1xuICAgICAgLmJhY2tmYWNlLXZpc2liaWxpdHkoflwiaGlkZGVuXCIpO1xuICAgICAgLnBlcnNwZWN0aXZlKDEwMDBweCk7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLm5leHQubGVmdCxcbiAgICAgICYucHJldi5yaWdodCxcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbn1cblxuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogQGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGZvbnQtc2l6ZTogQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplO1xuICBjb2xvcjogQGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IEBjYXJvdXNlbC10ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgLy8gRml4IElFOSBjbGljay10aHJ1IGJ1Z1xuICAub3BhY2l0eShAY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5KTtcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgI2dyYWRpZW50ID4gLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTsgQGVuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDAwMSkpO1xuICB9XG4gICYucmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgI2dyYWRpZW50ID4gLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wMDAxKTsgQGVuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNSkpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC5vcGFjaXR5KC45KTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAuaWNvbi1wcmV2IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAzOVwiOy8vIFNJTkdMRSBMRUZULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwMzkpXG4gICAgfVxuICB9XG4gIC5pY29uLW5leHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDNhXCI7Ly8gU0lOR0xFIFJJR0hULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwM0EpXG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIHVub3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogNjAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gSUU4LTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcbiAgICAvL1xuICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDgtOSBkb2VzIG5vdCBzdXBwb3J0IGNsaWNrcyBvbiBlbGVtZW50cyB3aXRob3V0IGEgc2V0XG4gICAgLy8gYGJhY2tncm91bmQtY29sb3JgLiBXZSBjYW5ub3QgdXNlIGBmaWx0ZXJgIHNpbmNlIHRoYXQncyBub3Qgdmlld2VkIGFzIGFcbiAgICAvLyBiYWNrZ3JvdW5kIGNvbG9yIGJ5IHRoZSBicm93c2VyLiBUaHVzLCBhIGhhY2sgaXMgbmVlZGVkLlxuICAgIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjSW50ZXJuZXRfRXhwbG9yZXJcbiAgICAvL1xuICAgIC8vIEZvciBJRTgsIHdlIHNldCBzb2xpZCBibGFjayBhcyBpdCBkb2Vzbid0IHN1cHBvcnQgYHJnYmEoKWAuIEZvciBJRTksIHdlXG4gICAgLy8gc2V0IGFscGhhIHRyYW5zcGFyZW5jeSBmb3IgdGhlIGJlc3QgcmVzdWx0cyBwb3NzaWJsZS5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIFxcOTsgLy8gSUU4XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgLy8gSUU5XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCBAY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhpZGRlbiBieSBkZWZhdWx0IGZvciBzbWFsbGVyIHZpZXdwb3J0c1xuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNSU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogMTUlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogQGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IEBjYXJvdXNlbC10ZXh0LXNoYWRvdztcblxuICAmIC5idG4ge1xuICAgIHRleHQtc2hhZG93OiBub25lOyAvLyBObyBzaGFkb3cgZm9yIGJ1dHRvbiBlbGVtZW50cyBpbiBjYXJvdXNlbC1jYXB0aW9uXG4gIH1cbn1cblxuXG4vLyBTY2FsZSB1cCBjb250cm9scyBmb3IgdGFibGV0cyBhbmQgdXBcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG5cbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsXG4gICAgLmljb24tcHJldixcbiAgICAuaWNvbi1uZXh0IHtcbiAgICAgIHdpZHRoOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICAgIGhlaWdodDogKEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAqIDEuNSk7XG4gICAgICBtYXJnaW4tdG9wOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgICAgZm9udC1zaXplOiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogKEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAvIC0yKTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICByaWdodDogMjAlO1xuICAgIGxlZnQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC8vIE1vdmUgdXAgdGhlIGluZGljYXRvcnNcbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMjBweDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgbWVkaWEtZmVhdHVyZS1uYW1lLW5vLXZlbmRvci1wcmVmaXgsIG1lZGlhLWZlYXR1cmUtcGFyZW50aGVzZXMtc3BhY2UtaW5zaWRlLCBtZWRpYS1mZWF0dXJlLW5hbWUtbm8tdW5rbm93biwgaW5kZW50YXRpb24sIGF0LXJ1bGUtbmFtZS1zcGFjZS1hZnRlclxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cbi5pbWctcmVzcG9uc2l2ZShAZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogQGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS4gTm90ZSB0aGF0IHRoZVxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXG4uaW1nLXJldGluYShAZmlsZS0xeDsgQGZpbGUtMng7IEB3aWR0aC0xeDsgQGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMXh9XCIpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTJ4fVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IEB3aWR0aC0xeCBAaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvbiwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCwgc2VsZWN0b3Itbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBWZW5kb3IgUHJlZml4ZXNcbi8vXG4vLyBBbGwgdmVuZG9yIG1peGlucyBhcmUgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgZHVlIHRvIHRoZSBpbnRyb2R1Y3Rpb24gb2Zcbi8vIEF1dG9wcmVmaXhlciBpbiBvdXIgR3J1bnRmaWxlLiBUaGV5IGhhdmUgYmVlbiByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG4uYW5pbWF0aW9uKEBhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEBhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbn1cbi5hbmltYXRpb24tbmFtZShAbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBAbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogQG5hbWU7XG59XG4uYW5pbWF0aW9uLWR1cmF0aW9uKEBkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xufVxuLmFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oQHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbn1cbi5hbmltYXRpb24tZGVsYXkoQGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XG59XG4uYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudChAaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogQGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBAaXRlcmF0aW9uLWNvdW50O1xufVxuLmFuaW1hdGlvbi1kaXJlY3Rpb24oQGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbn1cbi5hbmltYXRpb24tZmlsbC1tb2RlKEBmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBAZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IEBmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLy9cbi8vIE5vdGU6IERlcHJlY2F0ZWQgYC5ib3gtc2hhZG93KClgIGFzIG9mIHYzLjEuMCBzaW5jZSBhbGwgb2YgQm9vdHN0cmFwJ3Ncbi8vIHN1cHBvcnRlZCBicm93c2VycyB0aGF0IGhhdmUgYm94IHNoYWRvdyBjYXBhYmlsaXRpZXMgbm93IHN1cHBvcnQgaXQuXG5cbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6IEBzaGFkb3c7XG59XG5cbi8vIEJveCBzaXppbmdcbi5ib3gtc2l6aW5nKEBib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogQGJveG1vZGVsO1xufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuLmNvbnRlbnQtY29sdW1ucyhAY29sdW1uLWNvdW50OyBAY29sdW1uLWdhcDogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbi5wbGFjZWhvbGRlcihAY29sb3I6IEBpbnB1dC1jb2xvci1wbGFjZWhvbGRlcikge1xuICAvLyBGaXJlZm94XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgb3BhY2l0eTogMTsgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiBAY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6IEBjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG59XG4uc2NhbGUoQHJhdGlvWDsgQHJhdGlvWSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW9YLCBAcmF0aW9ZKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7XG59XG4uc2NhbGVYKEByYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7XG59XG4uc2NhbGVZKEByYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVkoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7XG59XG4uc2tldyhAeDsgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTtcbn1cbi50cmFuc2xhdGUoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGUzZChAeDsgQHk7IEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xufVxuLnJvdGF0ZShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5yb3RhdGVYKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbn1cbi5yb3RhdGVZKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbn1cbi5wZXJzcGVjdGl2ZShAcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbn1cbi5wZXJzcGVjdGl2ZS1vcmlnaW4oQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG59XG4udHJhbnNmb3JtLW9yaWdpbihAb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbn1cblxuXG4vLyBUcmFuc2l0aW9uc1xuXG4udHJhbnNpdGlvbihAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuLnRyYW5zaXRpb24tcHJvcGVydHkoQHRyYW5zaXRpb24tcHJvcGVydHkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbi50cmFuc2l0aW9uLWRlbGF5KEB0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XG59XG4udHJhbnNpdGlvbi1kdXJhdGlvbihAdHJhbnNpdGlvbi1kdXJhdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuLnRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKEB0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRyYW5zZm9ybShAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQHRyYW5zaXRpb247XG59XG5cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyLCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSGVhZGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseTogQGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogQGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogQGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogQGhlYWRpbmdzLWNvbG9yO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IEBoZWFkaW5ncy1zbWFsbC1jb2xvcjtcbiAgfVxufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMge1xuICBtYXJnaW4tdG9wOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDY1JTtcbiAgfVxufVxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgbWFyZ2luLXRvcDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gIH1cbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNjsgfVxuXG5cbi8vIEJvZHkgdGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xufVxuXG4ubGVhZCB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogMS4xNSkpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIH1cbn1cblxuXG4vLyBFbXBoYXNpcyAmIG1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRXg6ICgxMnB4IHNtYWxsIGZvbnQgLyAxNHB4IGJhc2UgZm9udCkgKiAxMDAlID0gYWJvdXQgODUlXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKDEwMCUgKiBAZm9udC1zaXplLXNtYWxsIC8gQGZvbnQtc2l6ZS1iYXNlKSk7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6IC4yZW07XG4gIGJhY2tncm91bmQtY29sb3I6IEBzdGF0ZS13YXJuaW5nLWJnO1xufVxuXG4vLyBBbGlnbm1lbnRcbi50ZXh0LWxlZnQgICAgICAgICAgIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRleHQtY2VudGVyICAgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi50ZXh0LWp1c3RpZnkgICAgICAgIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG4udGV4dC1sb3dlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbi50ZXh0LXVwcGVyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogQHRleHQtbXV0ZWQ7XG59XG4udGV4dC1wcmltYXJ5IHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7XG59XG4udGV4dC1zdWNjZXNzIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbn1cbi50ZXh0LWluZm8ge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1pbmZvLXRleHQpO1xufVxuLnRleHQtd2FybmluZyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLXdhcm5pbmctdGV4dCk7XG59XG4udGV4dC1kYW5nZXIge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1kYW5nZXItdGV4dCk7XG59XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi8vIEZvciBub3cgd2UnbGwgbGVhdmUgdGhlc2UgYWxvbmdzaWRlIHRoZSB0ZXh0IGNsYXNzZXMgdW50aWwgdjQgd2hlbiB3ZSBjYW5cbi8vIHNhZmVseSBzaGlmdCB0aGluZ3MgYXJvdW5kIChwZXIgU2VtVmVyIHJ1bGVzKS5cbi5iZy1wcmltYXJ5IHtcbiAgLy8gR2l2ZW4gdGhlIGNvbnRyYXN0IGhlcmUsIHRoaXMgaXMgdGhlIG9ubHkgY2xhc3MgdG8gaGF2ZSBpdHMgY29sb3IgaW52ZXJ0ZWRcbiAgLy8gYXV0b21hdGljYWxseS5cbiAgY29sb3I6ICNmZmY7XG4gIC5iZy12YXJpYW50KEBicmFuZC1wcmltYXJ5KTtcbn1cbi5iZy1zdWNjZXNzIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLXN1Y2Nlc3MtYmcpO1xufVxuLmJnLWluZm8ge1xuICAuYmctdmFyaWFudChAc3RhdGUtaW5mby1iZyk7XG59XG4uYmctd2FybmluZyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS13YXJuaW5nLWJnKTtcbn1cbi5iZy1kYW5nZXIge1xuICAuYmctdmFyaWFudChAc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuXG4vLyBQYWdlIGhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpO1xuICBtYXJnaW46IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAyKSAwIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBwYWdlLWhlYWRlci1ib3JkZXItY29sb3I7XG59XG5cblxuLy8gTGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXG51bCxcbm9sIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gTGlzdCBvcHRpb25zXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICAubGlzdC11bnN0eWxlZCgpO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbn1cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbi8vIEhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBEZWZhdWx0cyB0byBiZWluZyBzdGFja2VkIHdpdGhvdXQgYW55IG9mIHRoZSBiZWxvdyBzdHlsZXMgYXBwbGllZCwgdW50aWwgdGhlXG4vLyBncmlkIGJyZWFrcG9pbnQgaXMgcmVhY2hlZCAoZGVmYXVsdCBvZiB+NzY4cHgpLlxuXG4uZGwtaG9yaXpvbnRhbCB7XG4gIGRkIHtcbiAgICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTsgLy8gQ2xlYXIgdGhlIGZsb2F0ZWQgYGR0YCBpZiBhbiBlbXB0eSBgZGRgIGlzIHByZXNlbnRcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZGwtaG9yaXpvbnRhbC1icmVha3BvaW50KSB7XG4gICAgZHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogKEBkbC1ob3Jpem9udGFsLW9mZnNldCAtIDIwKTtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAudGV4dC1vdmVyZmxvdygpO1xuICAgIH1cbiAgICBkZCB7XG4gICAgICBtYXJnaW4tbGVmdDogQGRsLWhvcml6b250YWwtb2Zmc2V0O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXNcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICAudGV4dC11cHBlcmNhc2UoKTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogQGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBAYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gICAgfVxuICB9XG59XG5cbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXG4vL1xuLy8gSGVhZHMgdXA6IGBibG9ja3F1b3RlLnB1bGwtcmlnaHRgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMS4wLlxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG5cbiAgLy8gQWNjb3VudCBmb3IgY2l0YXRpb25cbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMEEwIFxcMjAxNFwiOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCJAYmFzZS1mb250OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbkBmb250LXNpemUtYmFzZTogMTVweDtcblxuQGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG5cbmh0bWwsYm9keXtcblx0Zm9udC1mYW1pbHk6IEBiYXNlLWZvbnQ7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGEmOmhvdmVyLFxuICBhJjpmb2N1cyB7XG4gICAgY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuLmJnLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgYSY6aG92ZXIsXG4gIGEmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbi50ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vXG4vLyBDb2RlIChpbmxpbmUgYW5kIGJsb2NrKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogQGNvZGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2RlLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiBAa2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAa2JkLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAuMjUpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAxKSAvIDIpO1xuICBtYXJnaW46IDAgMCAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAtIDEpOyAvLyAxNHB4IHRvIDEzcHhcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQHByZS1jb2xvcjtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcmUtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwcmUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiBAcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy9cbi8vIEdyaWQgc3lzdGVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi5jb250YWluZXIge1xuICAuY29udGFpbmVyLWZpeGVkKCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6IEBjb250YWluZXItc207XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6IEBjb250YWluZXItbWQ7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgd2lkdGg6IEBjb250YWluZXItbGc7XG4gIH1cbn1cblxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIC5jb250YWluZXItZml4ZWQoKTtcbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG4ucm93IHtcbiAgLm1ha2Utcm93KCk7XG59XG5cbi5yb3ctbm8tZ3V0dGVycyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuLm1ha2UtZ3JpZC1jb2x1bW5zKCk7XG5cblxuLy8gRXh0cmEgc21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciBleHRyYSBzbWFsbCBkZXZpY2VzIGxpa2Vcbi8vIHNtYXJ0cGhvbmVzLlxuXG4ubWFrZS1ncmlkKHhzKTtcblxuXG4vLyBTbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBzbWFsbCBkZXZpY2UgcmFuZ2UsIGZyb20gcGhvbmVzXG4vLyB0byB0YWJsZXRzLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgLm1ha2UtZ3JpZChzbSk7XG59XG5cblxuLy8gTWVkaXVtIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgLm1ha2UtZ3JpZChtZCk7XG59XG5cblxuLy8gTGFyZ2UgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgbGFyZ2UgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAubWFrZS1ncmlkKGxnKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuLmNvbnRhaW5lci1maXhlZChAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoQGd1dHRlciAvIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBmbG9vcigoQGd1dHRlciAvIDIpKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG4ubWFrZS1yb3coQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKEBndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tbGVmdDogY2VpbCgoQGd1dHRlciAvIC0yKSk7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuLm1ha2UteHMtY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKEBndXR0ZXIgLyAyKTtcbn1cbi5tYWtlLXhzLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xufVxuLm1ha2UteHMtY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG4ubWFrZS14cy1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG4ubWFrZS1zbS1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoQGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG4ubWFrZS1tZC1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoQGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbi5tYWtlLWxnLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9XG4gIDMwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9XG4gIDQ1JSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9XG4gIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDE1JSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7IH1cbiAgNDUlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsgfVxuICA2MCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfVxuICA3NSUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxNSUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTsgfVxuICAzMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7IH1cbiAgNDUlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOyB9XG4gIDc1JSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbn1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbiAgMTUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9XG4gIDQ1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9XG4gIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfVxuICA3NSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG59XG5cbi53b2JibGUge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcblx0YW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn0iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYEBncmlkLWNvbHVtbnNgLlxuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKSB7XG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGFsbCBzaXplcyBvZiBncmlkIGNvbHVtbnMsIHdpZHRocyAxLTEyXG4gIC5jb2woQGluZGV4KSB7IC8vIGluaXRpYWxcbiAgICBAaXRlbTogflwiLmNvbC14cy1Ae2luZGV4fSwgLmNvbC1zbS1Ae2luZGV4fSwgLmNvbC1tZC1Ae2luZGV4fSwgLmNvbC1sZy1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCBAaXRlbSk7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsOyBcIj08XCIgaXNuJ3QgYSB0eXBvXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgflwiQHtsaXN0fSwgQHtpdGVtfVwiKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcbiAgICBAe2xpc3R9IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjZWlsKChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgfVxuICB9XG4gIC5jb2woMSk7IC8vIGtpY2tzdGFydCBpdFxufVxuXG4uZmxvYXQtZ3JpZC1jb2x1bW5zKEBjbGFzcykge1xuICAuY29sKEBpbmRleCkgeyAvLyBpbml0aWFsXG4gICAgQGl0ZW06IH5cIi5jb2wtQHtjbGFzc30tQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgQGl0ZW0pO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID08IEBncmlkLWNvbHVtbnMpIHsgLy8gZ2VuZXJhbFxuICAgIEBpdGVtOiB+XCIuY29sLUB7Y2xhc3N9LUB7aW5kZXh9XCI7XG4gICAgLmNvbCgoQGluZGV4ICsgMSksIH5cIkB7bGlzdH0sIEB7aXRlbX1cIik7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPiBAZ3JpZC1jb2x1bW5zKSB7IC8vIHRlcm1pbmFsXG4gICAgQHtsaXN0fSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cbiAgLmNvbCgxKTsgLy8ga2lja3N0YXJ0IGl0XG59XG5cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSB3aWR0aCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tQHtpbmRleH0ge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdXNoKSBhbmQgKEBpbmRleCA+IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdXNoLUB7aW5kZXh9IHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdXNoKSBhbmQgKEBpbmRleCA9IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdWxsKSBhbmQgKEBpbmRleCA+IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdWxsLUB7aW5kZXh9IHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVsbCkgYW5kIChAaW5kZXggPSAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVsbC0wIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IG9mZnNldCkge1xuICAuY29sLUB7Y2xhc3N9LW9mZnNldC1Ae2luZGV4fSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBCYXNpYyBsb29waW5nIGluIExFU1Ncbi5sb29wLWdyaWQtY29sdW1ucyhAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEBpbmRleCA+PSAwKSB7XG4gIC5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSk7XG4gIC8vIG5leHQgaXRlcmF0aW9uXG4gIC5sb29wLWdyaWQtY29sdW1ucygoQGluZGV4IC0gMSksIEBjbGFzcywgQHR5cGUpO1xufVxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3Ncbi5tYWtlLWdyaWQoQGNsYXNzKSB7XG4gIC5mbG9hdC1ncmlkLWNvbHVtbnMoQGNsYXNzKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgd2lkdGgpO1xuICAubG9vcC1ncmlkLWNvbHVtbnMoQGdyaWQtY29sdW1ucywgQGNsYXNzLCBwdWxsKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgcHVzaCk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIG9mZnNldCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSwgc2VsZWN0b3ItbWF4LWNvbXBvdW5kLXNlbGVjdG9ycywgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmc7XG5cbiAgLy8gVGFibGUgY2VsbCBzaXppbmdcbiAgLy9cbiAgLy8gUmVzZXQgZGVmYXVsdCB0YWJsZSBiZWhhdmlvclxuXG4gIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiBAdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6IEB0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy8gQmFzZWxpbmUgc3R5bGVzXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgLy8gQ2VsbHNcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICA+IGNhcHRpb24gKyB0aGVhZCxcbiAgPiBjb2xncm91cCArIHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBOZXN0aW5nXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmc7XG4gIH1cbn1cblxuXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG5cbi50YWJsZS1jb25kZW5zZWQge1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogQHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGhlYWQgPiB0ciB7XG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZS1iZy1hY2NlbnQ7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnLWhvdmVyO1xuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbi50YWJsZS1yb3ctdmFyaWFudChhY3RpdmU7IEB0YWJsZS1iZy1hY3RpdmUpO1xuLnRhYmxlLXJvdy12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnKTtcbi50YWJsZS1yb3ctdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZyk7XG4udGFibGUtcm93LXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmcpO1xuLnRhYmxlLXJvdy12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBtaW4taGVpZ2h0OiAuMDElOyAvLyBXb3JrYXJvdW5kIGZvciBJRTkgYnVnIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNDgzNylcbiAgb3ZlcmZsb3cteDogYXV0bztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAuNzUpO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgLy8gVGlnaHRlbiB1cCBzcGFjaW5nXG4gICAgPiAudGFibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLy8gRW5zdXJlIHRoZSBjb250ZW50IGRvZXNuJ3Qgd3JhcFxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBvdmVycmlkZXMgZm9yIHRoZSBib3JkZXJlZCB0YWJsZXNcbiAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICBib3JkZXI6IDA7XG5cbiAgICAgIC8vIE51a2UgdGhlIGFwcHJvcHJpYXRlIGJvcmRlcnMgc28gdGhhdCB0aGUgcGFyZW50IGNhbiBoYW5kbGUgdGhlbVxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT25seSBudWtlIHRoZSBsYXN0IHJvdydzIGJvdHRvbS1ib3JkZXIgaW4gYHRib2R5YCBhbmQgYHRmb290YCBzaW5jZVxuICAgICAgLy8gY2hhbmNlcyBhcmUgdGhlcmUgd2lsbCBiZSBvbmx5IG9uZSBgdHJgIGluIGEgYHRoZWFkYCBhbmQgdGhhdCB3b3VsZFxuICAgICAgLy8gcmVtb3ZlIHRoZSBib3JkZXIgYWx0b2dldGhlci5cbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbi50YWJsZS1yb3ctdmFyaWFudChAc3RhdGU7IEBiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuQHtzdGF0ZX0sXG4gICAgPiB0aC5Ae3N0YXRlfSxcbiAgICAmLkB7c3RhdGV9ID4gdGQsXG4gICAgJi5Ae3N0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuQHtzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC5Ae3N0YXRlfTpob3ZlcixcbiAgICAmLkB7c3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC5Ae3N0YXRlfSxcbiAgICAmLkB7c3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXgsIG1lZGlhLWZlYXR1cmUtbmFtZS1uby12ZW5kb3ItcHJlZml4XG5cbi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICAvLyBDaHJvbWUgYW5kIEZpcmVmb3ggc2V0IGEgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGl0IGJlaGF2ZXMgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTkuXG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IEBsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cblxuLy8gTm9ybWFsaXplIGZvcm0gY29udHJvbHNcbi8vXG4vLyBXaGlsZSBtb3N0IG9mIG91ciBmb3JtIHN0eWxlcyByZXF1aXJlIGV4dHJhIGNsYXNzZXMsIHNvbWUgYmFzaWMgbm9ybWFsaXphdGlvblxuLy8gaXMgcmVxdWlyZWQgdG8gZW5zdXJlIG9wdGltdW0gZGlzcGxheSB3aXRoIG9yIHdpdGhvdXQgdGhvc2UgY2xhc3NlcyB0byBiZXR0ZXJcbi8vIGFkZHJlc3MgYnJvd3NlciBpbmNvbnNpc3RlbmNpZXMuXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcblxuICAvLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuICAvL1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5OyAvLyBJRTgtOVxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gIC8vIEFwcGx5IHNhbWUgZGlzYWJsZWQgY3Vyc29yIHR3ZWFrIGFzIGZvciBpbnB1dHNcbiAgLy8gU29tZSBzcGVjaWFsIGNhcmUgaXMgbmVlZGVkIGJlY2F1c2UgPGxhYmVsPnMgZG9uJ3QgaW5oZXJpdCB0aGVpciBwYXJlbnQncyBgY3Vyc29yYC5cbiAgLy9cbiAgLy8gTm90ZTogTmVpdGhlciByYWRpb3Mgbm9yIGNoZWNrYm94ZXMgY2FuIGJlIHJlYWRvbmx5LlxuICAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBNYWtlIHJhbmdlIGlucHV0cyBiZWhhdmUgbGlrZSB0ZXh0dWFsIGZvcm0gY29udHJvbHNcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gTWFrZSBtdWx0aXBsZSBzZWxlY3QgZWxlbWVudHMgaGVpZ2h0IG5vdCBmaXhlZFxuc2VsZWN0W211bHRpcGxlXSxcbnNlbGVjdFtzaXplXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9jdXMgZm9yIGZpbGUsIHJhZGlvLCBhbmQgY2hlY2tib3hcbmlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgLnRhYi1mb2N1cygpO1xufVxuXG4vLyBBZGp1c3Qgb3V0cHV0IGVsZW1lbnRcbm91dHB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbn1cblxuXG4vLyBDb21tb24gZm9ybSBjb250cm9sc1xuLy9cbi8vIFNoYXJlZCBzaXplIGFuZCB0eXBlIHJlc2V0cyBmb3IgZm9ybSBjb250cm9scy4gQXBwbHkgYC5mb3JtLWNvbnRyb2xgIHRvIGFueVxuLy8gb2YgdGhlIGZvbGxvd2luZyBmb3JtIGNvbnRyb2xzOlxuLy9cbi8vIHNlbGVjdFxuLy8gdGV4dGFyZWFcbi8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdXG4vLyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZVwiXVxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cIndlZWtcIl1cbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl1cbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXVxuLy8gaW5wdXRbdHlwZT1cInVybFwiXVxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXVxuLy8gaW5wdXRbdHlwZT1cInRlbFwiXVxuLy8gaW5wdXRbdHlwZT1cImNvbG9yXCJdXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIHBhZGRpbmc6IEBwYWRkaW5nLWJhc2UtdmVydGljYWwgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgQGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpKTtcbiAgLnRyYW5zaXRpb24oflwiYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1c1wiKTtcblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIC5mb3JtLWNvbnRyb2wtZm9jdXMoKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAucGxhY2Vob2xkZXIoKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmW2Rpc2FibGVkXSxcbiAgJltyZWFkb25seV0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogMTsgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NVxuICB9XG5cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgZm9yIGB0ZXh0YXJlYWBzXG4gIHRleHRhcmVhJiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cblxuLy8gU3BlY2lhbCBzdHlsZXMgZm9yIGlPUyB0ZW1wb3JhbCBpbnB1dHNcbi8vXG4vLyBJbiBNb2JpbGUgU2FmYXJpLCBzZXR0aW5nIGBkaXNwbGF5OiBibG9ja2Agb24gdGVtcG9yYWwgaW5wdXRzIGNhdXNlcyB0aGVcbi8vIHRleHQgd2l0aGluIHRoZSBpbnB1dCB0byBiZWNvbWUgdmVydGljYWxseSBtaXNhbGlnbmVkLiBBcyBhIHdvcmthcm91bmQsIHdlXG4vLyBzZXQgYSBwaXhlbCBsaW5lLWhlaWdodCB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIGhlaWdodCBvZiB0aGUgaW5wdXQsIGJ1dCBvbmx5XG4vLyBmb3IgU2FmYXJpLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg0OFxuLy9cbi8vIE5vdGUgdGhhdCBhcyBvZiA5LjMsIGlPUyBkb2Vzbid0IHN1cHBvcnQgYHdlZWtgLlxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1zbSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XG4gICAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiBAZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgLy8gVGhlc2UgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBsYWJlbCB7XG4gICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDsgLy8gRW5zdXJlIHRoZSBpbnB1dCBkb2Vzbid0IGp1bXAgd2hlbiB0aGVyZSBpcyBubyB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogNHB4IFxcOTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBUaGVzZSBhcmUgdXNlZCBkaXJlY3RseSBvbiA8bGFiZWw+c1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIHNwYWNlIG91dCBjb25zZWN1dGl2ZSBpbmxpbmUgY29udHJvbHNcbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIGBwYCBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluXG4vLyBhIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgbWluLWhlaWdodDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIEBmb250LXNpemUtYmFzZSk7XG4gIC8vIFNpemUgaXQgYXBwcm9wcmlhdGVseSBuZXh0IHRvIHJlYWwgZm9ybSBjb250cm9sc1xuICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgcGFkZGluZy1ib3R0b206IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGBwYFxuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICYuaW5wdXQtbGcsXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5pbnB1dC1zbSB7XG4gIC5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQtc21hbGw7IEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbi5mb3JtLWdyb3VwLXNtIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsIEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogQGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIG1pbi1oZWlnaHQ6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyBAZm9udC1zaXplLXNtYWxsKTtcbiAgICBwYWRkaW5nOiAoQHBhZGRpbmctc21hbGwtdmVydGljYWwgKyAxKSBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LXNtYWxsO1xuICB9XG59XG5cbi5pbnB1dC1sZyB7XG4gIC5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQtbGFyZ2U7IEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cbi5mb3JtLWdyb3VwLWxnIHtcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsIEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtbGFyZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogQGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICB9XG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbiAgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIG1pbi1oZWlnaHQ6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyBAZm9udC1zaXplLWxhcmdlKTtcbiAgICBwYWRkaW5nOiAoQHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKyAxKSBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWxhcmdlO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5oYXMtZmVlZGJhY2sge1xuICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEVuc3VyZSBpY29ucyBkb24ndCBvdmVybGFwIHRleHRcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogKEBpbnB1dC1oZWlnaHQtYmFzZSAqIDEuMjUpO1xuICB9XG59XG4vLyBGZWVkYmFjayBpY29uIChyZXF1aXJlcyAuZ2x5cGhpY29uIGNsYXNzZXMpXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xufVxuLmlucHV0LXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xufVxuXG4vLyBGZWVkYmFjayBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtc3VjY2Vzcy10ZXh0OyBAc3RhdGUtc3VjY2Vzcy10ZXh0OyBAc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uaGFzLXdhcm5pbmcge1xuICAuZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHN0YXRlLXdhcm5pbmctdGV4dDsgQHN0YXRlLXdhcm5pbmctdGV4dDsgQHN0YXRlLXdhcm5pbmctYmcpO1xufVxuLmhhcy1lcnJvciB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtZGFuZ2VyLXRleHQ7IEBzdGF0ZS1kYW5nZXItdGV4dDsgQHN0YXRlLWRhbmdlci1iZyk7XG59XG5cbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxuLmhhcy1mZWVkYmFjayBsYWJlbCB7XG5cbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHRvcDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cbiAgfVxuICAmLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBIZWxwIHRleHRcbi8vXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB5b3Ugd2lzaCB0byBjcmVhdGUgbGlnaHQgdGV4dCBmb3IgcGxhY2VtZW50IGltbWVkaWF0ZWx5XG4vLyBiZWxvdyBhIGZvcm0gY29udHJvbC4gVXNlIGZvciBnZW5lcmFsIGhlbHAsIGZvcm1hdHRpbmcsIG9yIGluc3RydWN0aW9uYWwgdGV4dC5cblxuLmhlbHAtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgLy8gYWNjb3VudCBmb3IgYW55IGVsZW1lbnQgdXNpbmcgaGVscC1ibG9ja1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiBsaWdodGVuKEB0ZXh0LWNvbG9yLCAyNSUpOyAvLyBsaWdodGVuIHRoZSB0ZXh0IHNvbWUgZm9yIGNvbnRyYXN0XG59XG5cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIGAubmF2YmFyLWZvcm1gIGluIG5hdmJhcnMubGVzcy5cblxuLmZvcm0taW5saW5lIHtcblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gSW4gbmF2YmFyLWZvcm0sIGFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAgIC5pbnB1dC1ncm91cC1idG4sXG4gICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5wdXQgZ3JvdXBzIG5lZWQgdGhhdCAxMDAlIHdpZHRoIHRob3VnaFxuICAgIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsIGZvcm1zXG4vL1xuLy8gSG9yaXpvbnRhbCBmb3JtcyBhcmUgYnVpbHQgb24gZ3JpZCBjbGFzc2VzIGFuZCBhbGxvdyB5b3UgdG8gY3JlYXRlIGZvcm1zIHdpdGhcbi8vIGxhYmVscyBvbiB0aGUgbGVmdCBhbmQgaW5wdXRzIG9uIHRoZSByaWdodC5cblxuLmZvcm0taG9yaXpvbnRhbCB7XG5cbiAgLy8gQ29uc2lzdGVudCB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzXG4gIC8vXG4gIC8vIExhYmVscyBhbHNvIGdldCBzb21lIHJlc2V0IHN0eWxlcywgYnV0IHRoYXQgaXMgc2NvcGVkIHRvIGEgbWVkaWEgcXVlcnkgYmVsb3cuXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lIHtcbiAgICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgcGFkZGluZyB3ZSdyZSBhZGRpbmcgdG8gZW5zdXJlIHRoZSBhbGlnbm1lbnQgYW5kIG9mIGhlbHAgdGV4dFxuICAvLyBhbmQgb3RoZXIgY29udGVudCBiZWxvdyBpdGVtc1xuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSkpO1xuICB9XG5cbiAgLy8gTWFrZSBmb3JtIGdyb3VwcyBiZWhhdmUgbGlrZSByb3dzXG4gIC5mb3JtLWdyb3VwIHtcbiAgICAubWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlc2V0IHNwYWNpbmcgYW5kIHJpZ2h0IGFsaWduIGxhYmVscywgYnV0IHNjb3BlIHRvIG1lZGlhIHF1ZXJpZXMgc28gdGhhdFxuICAvLyBsYWJlbHMgb24gbmFycm93IHZpZXdwb3J0cyBzdGFjayB0aGUgc2FtZSBhcyBhIGRlZmF1bHQgZm9ybSBleGFtcGxlLlxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIHN0YXRlc1xuICAvL1xuICAvLyBSZXBvc2l0aW9uIHRoZSBpY29uIGJlY2F1c2UgaXQncyBub3cgd2l0aGluIGEgZ3JpZCBjb2x1bW4gYW5kIGNvbHVtbnMgaGF2ZVxuICAvLyBgcG9zaXRpb246IHJlbGF0aXZlO2Agb24gdGhlbS4gQWxzbyBhY2NvdW50cyBmb3IgdGhlIGdyaWQgZ3V0dGVyIHBhZGRpbmcuXG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgcmlnaHQ6IGZsb29yKChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cblxuICAvLyBGb3JtIGdyb3VwIHNpemVzXG4gIC8vXG4gIC8vIFF1aWNrIHV0aWxpdHkgY2xhc3MgZm9yIGFwcGx5aW5nIGAuaW5wdXQtbGdgIGFuZCBgLmlucHV0LXNtYCBzdHlsZXMgdG8gdGhlXG4gIC8vIGlucHV0cyBhbmQgbGFiZWxzIHdpdGhpbiBhIGAuZm9ybS1ncm91cGAuXG4gIC5mb3JtLWdyb3VwLWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IChAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWdyb3VwLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IChAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEB0ZXh0LWNvbG9yOiAjNTU1OyBAYm9yZGVyLWNvbG9yOiAjY2NjOyBAYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvcjtcbiAgICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgQHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggbGlnaHRlbihAYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgLmJveC1zaGFkb3coQHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgQGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbi5mb3JtLWNvbnRyb2wtZm9jdXMoQGNvbG9yOiBAaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gIEBjb2xvci1yZ2JhOiByZ2JhKHJlZChAY29sb3IpLCBncmVlbihAY29sb3IpLCBibHVlKEBjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAuYm94LXNoYWRvdyh+XCJpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDhweCBAe2NvbG9yLXJnYmF9XCIpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLmlucHV0LXNpemUoQGlucHV0LWhlaWdodDsgQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xuXG4gIHNlbGVjdCYge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhJixcbiAgc2VsZWN0W211bHRpcGxlXSYge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXG4gIGZvbnQtd2VpZ2h0OiBAYnRuLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1iYXNlLXZlcnRpY2FsOyBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7IEBmb250LXNpemUtYmFzZTsgQGxpbmUtaGVpZ2h0LWJhc2U7IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgLnVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIC50YWItZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogQGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIC5vcGFjaXR5KC42NSk7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICBhJiB7XG4gICAgJi5kaXNhYmxlZCxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGVmYXVsdC1jb2xvcjsgQGJ0bi1kZWZhdWx0LWJnOyBAYnRuLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXByaW1hcnktY29sb3I7IEBidG4tcHJpbWFyeS1iZzsgQGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXN1Y2Nlc3MtY29sb3I7IEBidG4tc3VjY2Vzcy1iZzsgQGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYmx1ZS1ncmVlblxuLmJ0bi1pbmZvIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4taW5mby1jb2xvcjsgQGJ0bi1pbmZvLWJnOyBAYnRuLWluZm8tYm9yZGVyKTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXdhcm5pbmctY29sb3I7IEBidG4td2FybmluZy1iZzsgQGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGFuZ2VyLWNvbG9yOyBAYnRuLWRhbmdlci1iZzsgQGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuXG4vLyBMaW5rIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogQGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJ1dHRvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1sZyB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgZXZlbi1udW1iZXJlZCBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gbGFyZ2UgaW5wdXRcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAbGluZS1oZWlnaHQtbGFyZ2U7IEBidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmJ0bi14cyB7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy14cy12ZXJ0aWNhbDsgQHBhZGRpbmcteHMtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYnRuLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuXG5cbi8vIEJsb2NrIGJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4uYnV0dG9uLXZhcmlhbnQoQGNvbG9yOyBAYmFja2dyb3VuZDsgQGJvcmRlcikge1xuICBjb2xvcjogQGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxMCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDI1JSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDEwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSYge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCAxMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgMTIlKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDE3JSk7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbi5idXR0b24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gT3BhY2l0eVxuXG4ub3BhY2l0eShAb3BhY2l0eSkge1xuICBAb3BhY2l0eS1pZTogKEBvcGFjaXR5ICogMTAwKTsgIC8vIElFOCBmaWx0ZXJcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eS1pZX0pXCI7XG4gIG9wYWNpdHk6IEBvcGFjaXR5O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG5cbi8vXG4vLyBCdXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuLmJ0bi1ncm91cCB7XG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDsgLy8gT2Zmc2V0IHRoZSBmaXJzdCBjaGlsZCdzIG1hcmdpblxuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICAuYnRuLFxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLy8gTmVlZCAuZHJvcGRvd24tdG9nZ2xlIHNpbmNlIDpsYXN0LWNoaWxkIGRvZXNuJ3QgYXBwbHksIGdpdmVuIHRoYXQgYSAuZHJvcGRvd24tbWVudSBpcyB1c2VkIGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBDdXN0b20gZWRpdHMgZm9yIGluY2x1ZGluZyBidG4tZ3JvdXBzIHdpdGhpbiBidG4tZ3JvdXBzICh1c2VmdWwgZm9yIGluY2x1ZGluZyBkcm9wZG93biBidXR0b25zIHdpdGhpbiBhIGJ0bi1ncm91cClcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgLmJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAteHMgPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi14cyk7IH1cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi1zbSk7IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi1sZyk7IH1cblxuXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG59XG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KSk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IEBjYXJldC13aWR0aC1sYXJnZSBAY2FyZXQtd2lkdGgtbGFyZ2UgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCBAY2FyZXQtd2lkdGgtbGFyZ2UgQGNhcmV0LXdpZHRoLWxhcmdlO1xufVxuXG5cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhciBmbG9hdHMgc28gZHJvcGRvd24gbWVudXMgY2FuIGJlIHByb3Blcmx5IHBsYWNlZFxuICA+IC5idG4tZ3JvdXAge1xuICAgICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICAgID4gLmJ0biB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgLmJvcmRlci1ib3R0b20tcmFkaXVzKEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQ29tcG9uZW50IGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlYWRzIHVwIVxuLy9cbi8vIFdlIGRvbid0IHVzZSB0aGUgYC5vcGFjaXR5KClgIG1peGluIGhlcmUgc2luY2UgaXQgY2F1c2VzIGEgYnVnIHdpdGggdGV4dFxuLy8gZmllbGRzIGluIElFNy04LiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzM1NTIuXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgLnRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGxpbmVhcik7XG5cbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaW4gICAgICB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRyJi5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0Ym9keSYuaW4geyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLnRyYW5zaXRpb24tcHJvcGVydHkoflwiaGVpZ2h0LCB2aXNpYmlsaXR5XCIpO1xuICAudHJhbnNpdGlvbi1kdXJhdGlvbiguMzVzKTtcbiAgLnRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UpO1xufVxuIiwiLy9cbi8vIERyb3Bkb3duIG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6IEBjYXJldC13aWR0aC1iYXNlIGRhc2hlZDtcbiAgYm9yZGVyLXRvcDogQGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgflwiXFw5XCI7IC8vIElFOFxuICBib3JkZXItcmlnaHQ6IEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogQGNhcmV0LXdpZHRoLWJhc2Ugc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChkaXYpXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudSAodWwpXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI7IC8vIElFOCBmYWxsYmFja1xuICBib3JkZXI6IDFweCBzb2xpZCBAZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAuYm94LXNoYWRvdygwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSkpO1xuXG4gIC8vIEFsaWducyB0aGUgZHJvcGRvd24gbWVudSB0byByaWdodFxuICAvL1xuICAvLyBEZXByZWNhdGVkIGFzIG9mIDMuMS4wIGluIGZhdm9yIG9mIGAuZHJvcGRvd24tbWVudS1bZGlyXWBcbiAgJi5wdWxsLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIHRoZSBkcm9wZG93blxuICAuZGl2aWRlciB7XG4gICAgLm5hdi1kaXZpZGVyKEBkcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgfVxuXG4gIC8vIExpbmtzIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3RpdmUgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBzdGF0ZVxuLy9cbi8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIE51a2UgaG92ZXIvZm9jdXMgZWZmZWN0c1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICAucmVzZXQtZmlsdGVyKCk7XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4ub3BlbiB7XG4gIC8vIFNob3cgdGhlIG1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBNZW51IHBvc2l0aW9uaW5nXG4vL1xuLy8gQWRkIGV4dHJhIGNsYXNzIHRvIGAuZHJvcGRvd24tbWVudWAgdG8gZmxpcCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93blxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIGAuZHJvcGRvd24tbWVudWBcbn1cbi8vIFdpdGggdjMsIHdlIGVuYWJsZWQgYXV0by1mbGlwcGluZyBpZiB5b3UgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiBhIHJpZ2h0XG4vLyBhbGlnbmVkIG5hdiBjb21wb25lbnQuIFRvIGVuYWJsZSB0aGUgdW5kb2luZyBvZiB0aGF0LCB3ZSBwcm92aWRlIGFuIG92ZXJyaWRlXG4vLyB0byByZXN0b3JlIHRoZSBkZWZhdWx0IGRyb3Bkb3duIG1lbnUgYWxpZ25tZW50LlxuLy9cbi8vIFRoaXMgaXMgb25seSBmb3IgbGVmdC1hbGlnbmluZyBhIGRyb3Bkb3duIG1lbnUgd2l0aGluIGEgYC5uYXZiYXItcmlnaHRgIG9yXG4vLyBgLnB1bGwtcmlnaHRgIG5hdiBjb21wb25lbnQuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IChAemluZGV4LWRyb3Bkb3duIC0gMTApO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQsIGJyby5cbi8vIFRPRE86IGFic3RyYWN0IHRoaXMgc28gdGhhdCB0aGUgbmF2YmFyIGZpeGVkIHN0eWxlcyBhcmUgbm90IHBsYWNlZCBoZXJlP1xuXG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogQGNhcmV0LXdpZHRoLWJhc2UgZGFzaGVkO1xuICAgIGJvcmRlci1ib3R0b206IEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIH5cIlxcOVwiOyAvLyBJRThcbiAgfVxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZWl0ZXJhdGUgcGVyIG5hdmJhci5sZXNzIGFuZCB0aGUgbW9kaWZpZWQgY29tcG9uZW50IGFsaWdubWVudCB0aGVyZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1yaWdodCB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgLmRyb3Bkb3duLW1lbnUtcmlnaHQoKTtcbiAgICB9XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBvdmVycmlkZXMgb2YgdGhlIGRlZmF1bHQgcmlnaHQgYWxpZ25lZCBtZW51LlxuICAgIC8vIFdpbGwgcmVtb3ZlIGNvbWUgdjQgaW4gYWxsIGxpa2VsaWhvb2QuXG4gICAgLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gICAgICAuZHJvcGRvd24tbWVudS1sZWZ0KCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbi5uYXYtZGl2aWRlcihAY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG4ucmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCIpKTtcbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLmJvcmRlci10b3AtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItYm90dG9tLXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1sZWZ0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIElucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGRyb3Bkb3duc1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgLy8gcHJldmVudCBpbnB1dCBncm91cHMgZnJvbSBpbmhlcml0aW5nIGJvcmRlciBzdHlsZXMgZnJvbSB0YWJsZSBjZWxscyB3aGVuIHBsYWNlZCB3aXRoaW4gYSB0YWJsZVxuXG4gIC8vIFVuZG8gcGFkZGluZyBhbmQgZmxvYXQgb2YgZ3JpZCBjbGFzc2VzXG4gICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAvLyBFbnN1cmUgdGhhdCB0aGUgaW5wdXQgaXMgYWx3YXlzIGFib3ZlIHRoZSAqYXBwZW5kZWQqIGFkZG9uIGJ1dHRvbiBmb3JcbiAgICAvLyBwcm9wZXIgYm9yZGVyIGNvbG9ycy5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIC8vIElFOSBmdWJhcnMgdGhlIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBpbiB0ZXh0IGlucHV0cyBhbmQgdGhlIGFycm93cyBvblxuICAgIC8vIHNlbGVjdCBlbGVtZW50cyBpbiBpbnB1dCBncm91cHMuIFRvIGZpeCBpdCwgd2UgZmxvYXQgdGhlIGlucHV0LiBEZXRhaWxzOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgLmlucHV0LWxnKCk7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICAuaW5wdXQtc20oKTtcbn1cblxuXG4vLyBEaXNwbGF5IGFzIHRhYmxlLWNlbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4vLyBBZGRvbiBhbmQgYWRkb24gd3JhcHBlciBmb3IgYnV0dG9uc1xuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBpbnB1dC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIFNpemluZ1xuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICAmLmlucHV0LWxnIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgLmJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi8vIEJ1dHRvbiBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEphbmtpbHkgcHJldmVudCBpbnB1dCBidXR0b24gZ3JvdXBzIGZyb20gd3JhcHBpbmcgd2l0aCBgd2hpdGUtc3BhY2VgIGFuZFxuICAvLyBgZm9udC1zaXplYCBpbiBjb21iaW5hdGlvbiB3aXRoIGBpbmxpbmUtYmxvY2tgIG9uIGJ1dHRvbnMuXG4gIGZvbnQtc2l6ZTogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIHNwYWNpbmcsIHBvc2l0aW9uIGZvciBicmluZ2luZyBob3ZlcmVkL2ZvY3VzZWQvYWN0aXZlZFxuICAvLyBlbGVtZW50IGFib3ZlIHRoZSBzaWJsaW5ncy5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIDFweCBib3JkZXIgYmV0d2VlbiB0aGUgdHdvXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZVxuXG4vL1xuLy8gTmF2c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHVsL29sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IEBuYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogQG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGRyb3Bkb3duc1xuICAub3BlbiA+IGEge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQGxpbmstY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IGRpdmlkZXJzIChkZXByZWNhdGVkIHdpdGggdjMuMC4xKVxuICAvL1xuICAvLyBUaGlzIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2MyB3aXRoIHRoZSBkcm9wcGluZyBvZiBgLm5hdi1saXN0YCwgYnV0XG4gIC8vIHdlIG1pc3NlZCBpdC4gV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBhbnl3aGVyZSwgYnV0IGluIHRoZSBpbnRlcmVzdFxuICAvLyBvZiBtYWludGFpbmluZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIGNhc2UgeW91IHVzZSBpdCwgaXQncyBkZXByZWNhdGVkLlxuICAubmF2LWRpdmlkZXIge1xuICAgIC5uYXYtZGl2aWRlcigpO1xuICB9XG5cbiAgLy8gUHJldmVudCBJRTggZnJvbSBtaXNwbGFjaW5nIGltZ3NcbiAgLy9cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy85ODQjaXNzdWVjb21tZW50LTM5ODU5ODlcbiAgPiBsaSA+IGEgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIFRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgdGFicyBzb21ldGhpbmcgdG8gc2l0IG9uXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcHVsbGluZyB0aGlzIGluIG1haW5seSBmb3IgbGVzcyBzaG9ydGhhbmRcbiAgJi5uYXYtanVzdGlmaWVkIHtcbiAgICAubmF2LWp1c3RpZmllZCgpO1xuICAgIC5uYXYtdGFicy1qdXN0aWZpZWQoKTtcbiAgfVxufVxuXG5cbi8vIFBpbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xuICAgID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBAbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhY2tlZCBwaWxsc1xuLm5hdi1zdGFja2VkIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgdmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgID4gYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxuLy9cbi8vIE1peGluIGZvciBhZGRpbmcgb24gdG9wIHRoZSBzaGFyZWQgYC5uYXYtanVzdGlmaWVkYCBzdHlsZXMgZm9yIG91ciB0YWJzXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA+IGxpID4gYSB7XG4gICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZyb20gLm5hdi10YWJzXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhLFxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTcGVjaWZpYyBkcm9wZG93bnNcbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSwgc2VsZWN0b3ItbWF4LWNvbXBvdW5kLXNlbGVjdG9ycywgc2VsZWN0b3ItbWF4LWNvbWJpbmF0b3JzLCBzZWxlY3Rvci1tYXgtY2xhc3MsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBOYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgYW5kIGJhc2UgY2xhc3Ncbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IEBuYXZiYXItaGVpZ2h0OyAvLyBFbnN1cmUgYSBuYXZiYXIgYWx3YXlzIHNob3dzIChlLmcuLCB3aXRob3V0IGEgLm5hdmJhci1icmFuZCBpbiBjb2xsYXBzZWQgbW9kZSlcbiAgbWFyZ2luLWJvdHRvbTogQG5hdmJhci1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAvLyBQcmV2ZW50IGZsb2F0cyBmcm9tIGJyZWFraW5nIHRoZSBuYXZiYXJcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiBAbmF2YmFyLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgaGVhZGluZ1xuLy9cbi8vIEdyb3VwcyBgLm5hdmJhci1icmFuZGAgYW5kIGAubmF2YmFyLXRvZ2dsZWAgaW50byBhIHNpbmdsZSBjb21wb25lbnQgZm9yIGVhc3lcbi8vIHN0eWxpbmcgb2YgcmVzcG9uc2l2ZSBhc3BlY3RzLlxuXG4ubmF2YmFyLWhlYWRlciB7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgY29sbGFwc2UgKGJvZHkpXG4vL1xuLy8gR3JvdXAgeW91ciBuYXZiYXIgY29udGVudCBpbnRvIHRoaXMgZm9yIGVhc3kgY29sbGFwc2luZyBhbmQgZXhwYW5kaW5nIGFjcm9zc1xuLy8gdmFyaW91cyBkZXZpY2Ugc2l6ZXMuIEJ5IGRlZmF1bHQsIHRoaXMgY29udGVudCBpcyBjb2xsYXBzZWQgd2hlbiA8NzY4cHgsIGJ1dFxuLy8gd2lsbCBleHBhbmQgcGFzdCB0aGF0IGZvciBhIGhvcml6b250YWwgZGlzcGxheS5cbi8vXG4vLyBUbyBzdGFydCAob24gbW9iaWxlIGRldmljZXMpIHRoZSBuYXZiYXIgbGlua3MsIGZvcm1zLCBhbmQgYnV0dG9ucyBhcmUgc3RhY2tlZFxuLy8gdmVydGljYWxseSBhbmQgaW5jbHVkZSBhIGBtYXgtaGVpZ2h0YCB0byBvdmVyZmxvdyBpbiBjYXNlIHlvdSBoYXZlIHRvbyBtdWNoXG4vLyBjb250ZW50IGZvciB0aGUgdXNlcidzIHZpZXdwb3J0LlxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgcGFkZGluZy1yaWdodDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmctbGVmdDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAmLmluIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHNldHRpbmdcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pbiB7XG4gICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIFVuZG8gdGhlIGNvbGxhcHNlIHNpZGUgcGFkZGluZyBmb3IgbmF2YmFycyB3aXRoIGNvbnRhaW5lcnMgdG8gZW5zdXJlXG4gICAgLy8gYWxpZ25tZW50IG9mIHJpZ2h0LWFsaWduZWQgY29udGVudHMuXG4gICAgLm5hdmJhci1maXhlZC10b3AgJixcbiAgICAubmF2YmFyLXN0YXRpYy10b3AgJixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBtYXgtaGVpZ2h0OiBAbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ7XG5cbiAgICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6IEBzY3JlZW4teHMtbWluKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIEZpeCB0aGUgdG9wL2JvdHRvbSBuYXZiYXJzIHdoZW4gc2NyZWVuIHJlYWwgZXN0YXRlIHN1cHBvcnRzIGl0XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbn1cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBvdmVycmlkZSAubmF2YmFyIGRlZmF1bHRzXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbn1cblxuXG4vLyBCb3RoIG5hdmJhciBoZWFkZXIgYW5kIGNvbGxhcHNlXG4vL1xuLy8gV2hlbiBhIGNvbnRhaW5lciBpcyBwcmVzZW50LCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBoZWFkZXIgYW5kIGNvbGxhcHNlLlxuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gID4gLm5hdmJhci1oZWFkZXIsXG4gID4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLWxlZnQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gTmF2YmFyIGFsaWdubWVudCBvcHRpb25zXG4vL1xuLy8gRGlzcGxheSB0aGUgbmF2YmFyIGFjcm9zcyB0aGUgZW50aXJldHkgb2YgdGhlIHBhZ2Ugb3IgZml4ZWQgaXQgdG8gdGhlIHRvcCBvclxuLy8gYm90dG9tIG9mIHRoZSBwYWdlLlxuXG4vLyBTdGF0aWMgdG9wICh1bmZpeGVkLCBidXQgMTAwJSB3aWRlKSBuYXZiYXJcbi5uYXZiYXItc3RhdGljLXRvcCB7XG4gIHotaW5kZXg6IEB6aW5kZXgtbmF2YmFyO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cblxuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiBAbmF2YmFyLWhlaWdodDtcbiAgcGFkZGluZzogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsIEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAmLFxuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdG9nZ2xlXG4vL1xuLy8gQ3VzdG9tIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIGAubmF2YmFyLWNvbGxhcHNlYCwgcG93ZXJlZCBieSB0aGUgY29sbGFwc2Vcbi8vIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nOiA5cHggMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKEBuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpIC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICA+IGxpID4gYSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICA+IGxpID4gYSxcbiAgICAgIC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDtcbiAgICAgIH1cbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVuY29sbGFwc2UgdGhlIG5hdlxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcblxuICAgID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBmb3JtXG4vL1xuLy8gRXh0ZW5zaW9uIG9mIHRoZSBgLmZvcm0taW5saW5lYCB3aXRoIHNvbWUgZXh0cmEgZmxhdm9yIGZvciBvcHRpbXVtIGRpc3BsYXkgaW5cbi8vIG91ciBuYXZiYXJzLlxuXG4ubmF2YmFyLWZvcm0ge1xuICBwYWRkaW5nOiAxMHB4IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLWxlZnQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBzaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSksIDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7XG4gIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuXG4gIC8vIE1peGluIGJlaGF2aW9yIGZvciBvcHRpbXVtIGRpc3BsYXlcbiAgLmZvcm0taW5saW5lKCk7XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsbHkgY2VudGVyIGluIGV4cGFuZGVkLCBob3Jpem9udGFsIG5hdmJhclxuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gRHJvcGRvd24gbWVudXNcblxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldHNcbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXQgc3VwcG9ydCBmb3IgZHJvcHVwcyB2aWEgZXh0cmEgZHJvcHVwIGNsYXNzXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoQG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgLmJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xufVxuXG5cbi8vIEJ1dHRvbnMgaW4gbmF2YmFyc1xuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGEgYnV0dG9uIHdpdGhpbiBhIG5hdmJhciAod2hlbiAqbm90KiBpbiBhIGZvcm0pLlxuXG4ubmF2YmFyLWJ0biB7XG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAmLmJ0bi1zbSB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigyMik7XG4gIH1cbn1cblxuXG4vLyBUZXh0IGluIG5hdmJhcnNcbi8vXG4vLyBBZGQgYSBjbGFzcyB0byBtYWtlIGFueSBlbGVtZW50IHByb3Blcmx5IGFsaWduIGl0c2VsZiB2ZXJ0aWNhbGx5IHdpdGhpbiB0aGUgbmF2YmFycy5cblxuLm5hdmJhci10ZXh0IHtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAbGluZS1oZWlnaHQtY29tcHV0ZWQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tbGVmdDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVwdXJwb3NlIHRoZSBwdWxsIHV0aWxpdGllcyBhcyB0aGVpciBvd24gbmF2YmFyIHV0aWxpdGllcyB0byBhdm9pZCBzcGVjaWZpY2l0eVxuLy8gaXNzdWVzIHdpdGggcGFyZW50cyBhbmQgY2hhaW5pbmcuIE9ubHkgZG8gdGhpcyB3aGVuIHRoZSBuYXZiYXIgaXMgdW5jb2xsYXBzZWRcbi8vIHRob3VnaCBzbyB0aGF0IG5hdmJhciBjb250ZW50cyBwcm9wZXJseSBzdGFjayBhbmQgYWxpZ24gaW4gbW9iaWxlLlxuLy9cbi8vIERlY2xhcmVkIGFmdGVyIHRoZSBuYXZiYXIgY29tcG9uZW50cyB0byBlbnN1cmUgbW9yZSBzcGVjaWZpY2l0eSBvbiB0aGUgbWFyZ2lucy5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1sZWZ0ICB7IC5wdWxsLWxlZnQoKTsgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICAucHVsbC1yaWdodCgpO1xuICAgIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgfiAubmF2YmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgbmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCBuYXZiYXJcbi5uYXZiYXItZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1iZztcbiAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gbWVudSBpdGVtc1xuICAgIC8vIFJlbW92ZSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gb3BlbiBkcm9wZG93blxuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuICB9XG5cblxuICAvLyBMaW5rcyBpbiBuYXZiYXJzXG4gIC8vXG4gIC8vIEFkZCBhIGNsYXNzIHRvIGVuc3VyZSBsaW5rcyBvdXRzaWRlIHRoZSBuYXZiYXIgbmF2IGFyZSBjb2xvcmVkIGNvcnJlY3RseS5cblxuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSW52ZXJzZSBuYXZiYXJcblxuLm5hdmJhci1pbnZlcnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJnO1xuICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93bnNcbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5XG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIERhcmtlbiB0aGUgcmVzcG9uc2l2ZSBuYXYgdG9nZ2xlXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgNyUpO1xuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG4ubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKEBuYXZiYXItaGVpZ2h0IC0gQGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKEBuYXZiYXItaGVpZ2h0IC0gQGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRmxvYXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jbGVhcmZpeCB7XG4gIC5jbGVhcmZpeCgpO1xufVxuLmNlbnRlci1ibG9jayB7XG4gIC5jZW50ZXItYmxvY2soKTtcbn1cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuXG4vLyBUb2dnbGluZyBjb250ZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLmhpZGUgaW4gZmF2b3Igb2YgLmhpZGRlbiBvciAuc3Itb25seSAoYXMgYXBwcm9wcmlhdGUpIGluIHYzLjAuMVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIC50ZXh0LWhpZGUoKTtcbn1cblxuXG4vLyBIaWRlIGZyb20gc2NyZWVucmVhZGVycyBhbmQgYnJvd3NlcnNcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gRm9yIEFmZml4IHBsdWdpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWZmaXgge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4iLCIvL1xuLy8gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiBAYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsIEBicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJlYWRjcnVtYi1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICArIGxpOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGNvbG9yOiBAYnJlYWRjcnVtYi1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IFwiQHticmVhZGNydW1iLXNlcGFyYXRvcn1cXDAwYTBcIjsgLy8gVW5pY29kZSBzcGFjZSBhZGRlZCBzaW5jZSBpbmxpbmUtYmxvY2sgbWVhbnMgbm9uLWNvbGxhcHNpbmcgd2hpdGUtc3BhY2VcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGNvbG9yOiBAYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBQYWdpbmF0aW9uIChtdWx0aXBsZSBwYWdlcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IEBsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgLy8gUmVtb3ZlIGxpc3Qtc3R5bGUgYW5kIGJsb2NrLWxldmVsIGRlZmF1bHRzXG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gQ29sbGFwc2Ugd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6IEBwYWRkaW5nLWJhc2UtdmVydGljYWwgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdpbmF0aW9uLWJvcmRlcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBjb2xvcjogQHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6IEBwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgLmJvcmRlci1sZWZ0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKEBib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IHNwYW4ge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gID4gLmRpc2FibGVkIHtcbiAgICA+IHNwYW4sXG4gICAgPiBzcGFuOmhvdmVyLFxuICAgID4gc3Bhbjpmb2N1cyxcbiAgICA+IGEsXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4ucGFnaW5hdGlvbi1sZyB7XG4gIC5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBsaW5lLWhlaWdodC1sYXJnZTsgQGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuXG4vLyBTbWFsbFxuLnBhZ2luYXRpb24tc20ge1xuICAucGFnaW5hdGlvbi1zaXplKEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2VyIHBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IEBsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAcGFnZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogQHBhZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5leHQge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmV2aW91cyB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzLFxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogQHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2VyLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogQGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cbiAgLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xuICBhJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbGFiZWwtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGxhYmVscyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBDb2xvcnNcbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGxhYmVscyBnZXQgZGFya2VyIG9uIDpob3ZlcilcblxuLmxhYmVsLWRlZmF1bHQge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtZGVmYXVsdC1iZyk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLXByaW1hcnktYmcpO1xufVxuXG4ubGFiZWwtc3VjY2VzcyB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1zdWNjZXNzLWJnKTtcbn1cblxuLmxhYmVsLWluZm8ge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtaW5mby1iZyk7XG59XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLXdhcm5pbmctYmcpO1xufVxuXG4ubGFiZWwtZGFuZ2VyIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWRhbmdlci1iZyk7XG59XG4iLCIvLyBMYWJlbHNcblxuLmxhYmVsLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYWRnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHBhZGRpbmc6IDNweCA3cHg7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6IEBiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IEBiYWRnZS1saW5lLWhlaWdodDtcbiAgY29sb3I6IEBiYWRnZS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFkZ2UtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBiYWRnZS1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5IChub3QgYXZhaWxhYmxlIGluIElFOClcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbiAgLmJ0biAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICB9XG5cbiAgLmJ0bi14cyAmLFxuICAuYnRuLWdyb3VwLXhzID4gLmJ0biAmIHtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMXB4IDVweDtcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlLCBidXQgb25seSBmb3IgbGlua3NcbiAgYSYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGJhZGdlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gQWNjb3VudCBmb3IgYmFkZ2VzIGluIG5hdnNcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgPiAmLFxuICAubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiAmIHtcbiAgICBjb2xvcjogQGJhZGdlLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFkZ2UtYWN0aXZlLWJnO1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmICsgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAubmF2LXBpbGxzID4gbGkgPiBhID4gJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgfVxufVxuIiwiLy9cbi8vIEp1bWJvdHJvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6IEBqdW1ib3Ryb24tcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEBqdW1ib3Ryb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogQGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogQGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGp1bWJvdHJvbi1iZztcblxuICBoMSxcbiAgLmgxIHtcbiAgICBjb2xvcjogQGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogKEBqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICAgIGZvbnQtc2l6ZTogQGp1bWJvdHJvbi1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gID4gaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbihAanVtYm90cm9uLWJnLCAxMCUpO1xuICB9XG5cbiAgLmNvbnRhaW5lciAmLFxuICAuY29udGFpbmVyLWZsdWlkICYge1xuICAgIHBhZGRpbmctcmlnaHQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTsgLy8gT25seSByb3VuZCBjb3JuZXJzIGF0IGhpZ2hlciByZXNvbHV0aW9ucyBpZiBjb250YWluZWQgaW4gYSBjb250YWluZXJcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgcGFkZGluZy10b3A6IChAanVtYm90cm9uLXBhZGRpbmcgKiAxLjYpO1xuICAgIHBhZGRpbmctYm90dG9tOiAoQGp1bWJvdHJvbi1wYWRkaW5nICogMS42KTtcblxuICAgIC5jb250YWluZXIgJixcbiAgICAuY29udGFpbmVyLWZsdWlkICYge1xuICAgICAgcGFkZGluZy1yaWdodDogKEBqdW1ib3Ryb24tcGFkZGluZyAqIDIpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAoQGp1bWJvdHJvbi1wYWRkaW5nICogMik7XG4gICAgfVxuXG4gICAgaDEsXG4gICAgLmgxIHtcbiAgICAgIGZvbnQtc2l6ZTogQGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogQGFsZXJ0LXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBhbGVydC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyAvLyBTcGVjaWZpZWQgZm9yIHRoZSBoNCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyBAaGVhZGluZ3MtY29sb3JcbiAgfVxuXG4gIC8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4gIC5hbGVydC1saW5rIHtcbiAgICBmb250LXdlaWdodDogQGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIH1cblxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XG4gID4gcCxcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLy8gVGhlIG1pc3NwZWxsZWQgLmFsZXJ0LWRpc21pc3NhYmxlIHdhcyBkZXByZWNhdGVkIGluIDMuMi4wLlxuLmFsZXJ0LWRpc21pc3NhYmxlLFxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogKEBhbGVydC1wYWRkaW5nICsgMjApO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogLTIxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LXN1Y2Nlc3MtYmc7IEBhbGVydC1zdWNjZXNzLWJvcmRlcjsgQGFsZXJ0LXN1Y2Nlc3MtdGV4dCk7XG59XG5cbi5hbGVydC1pbmZvIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LWluZm8tYmc7IEBhbGVydC1pbmZvLWJvcmRlcjsgQGFsZXJ0LWluZm8tdGV4dCk7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LXdhcm5pbmctYmc7IEBhbGVydC13YXJuaW5nLWJvcmRlcjsgQGFsZXJ0LXdhcm5pbmctdGV4dCk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICAuYWxlcnQtdmFyaWFudChAYWxlcnQtZGFuZ2VyLWJnOyBAYWxlcnQtZGFuZ2VyLWJvcmRlcjsgQGFsZXJ0LWRhbmdlci10ZXh0KTtcbn1cbiIsIi8vIEFsZXJ0c1xuXG4uYWxlcnQtdmFyaWFudChAYmFja2dyb3VuZDsgQGJvcmRlcjsgQHRleHQtY29sb3IpIHtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oQHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGF0LXJ1bGUtbm8tdmVuZG9yLXByZWZpeFxuXG4vL1xuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXIgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBXZWJLaXRcbkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi8vIFNwZWMgYW5kIElFMTArXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuXG4vLyBCYXIgaXRzZWxmXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE91dGVyIGNvbnRhaW5lclxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByb2dyZXNzLWJnO1xuICBib3JkZXItcmFkaXVzOiBAcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjEpKTtcbn1cblxuLy8gQmFyIG9mIHByb2dyZXNzXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGNvbG9yOiBAcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcm9ncmVzcy1iYXItYmc7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgLjE1KSk7XG4gIC50cmFuc2l0aW9uKHdpZHRoIC42cyBlYXNlKTtcbn1cblxuLy8gU3RyaXBlZCBiYXJzXG4vL1xuLy8gYC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXJgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGluIGZhdm9yIG9mIHRoZVxuLy8gYC5wcm9ncmVzcy1iYXItc3RyaXBlZGAgY2xhc3MsIHdoaWNoIHlvdSBqdXN0IGFkZCB0byBhbiBleGlzdGluZ1xuLy8gYC5wcm9ncmVzcy1iYXJgLlxuLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICNncmFkaWVudCA+IC5zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4O1xufVxuXG4vLyBDYWxsIGFuaW1hdGlvbiBmb3IgdGhlIGFjdGl2ZSBvbmVcbi8vXG4vLyBgLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLmFjdGl2ZWAgYXBwcm9hY2guXG4ucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLmFjdGl2ZSB7XG4gIC5hbmltYXRpb24ocHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlKTtcbn1cblxuXG4vLyBWYXJpYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWluZm8ge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci1pbmZvLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci13YXJuaW5nIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItd2FybmluZy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItZGFuZ2VyLWJnKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLW1heC1pZFxuXG4jZ3JhZGllbnQge1xuXG4gIC8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuICAvL1xuICAvLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuICAvLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuICAuaG9yaXpvbnRhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gT3BlcmEgMTJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIiwgYXJnYihAc3RhcnQtY29sb3IpLCBhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLnZlcnRpY2FsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIiwgYXJnYihAc3RhcnQtY29sb3IpLCBhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgfVxuXG4gIC5kaXJlY3Rpb25hbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIH1cbiAgLmhvcml6b250YWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsIGFyZ2IoQHN0YXJ0LWNvbG9yKSwgYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsIGFyZ2IoQHN0YXJ0LWNvbG9yKSwgYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnJhZGlhbChAaW5uZXItY29sb3I6ICM1NTU7IEBvdXRlci1jb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lci1jb2xvciwgQG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5zdHJpcGVkKEBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpOyBAYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG4ucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgI2dyYWRpZW50ID4gLnN0cmlwZWQoKTtcbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgLy8gUHJvcGVyIHNwYWNpbmcgYmV0d2VlbiBpbnN0YW5jZXMgb2YgLm1lZGlhXG4gIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ubWVkaWEsXG4ubWVkaWEtYm9keSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHpvb206IDE7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgd2lkdGg6IDEwMDAwcHg7XG59XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAvLyBGaXggY29sbGFwc2UgaW4gd2Via2l0IGZyb20gbWF4LXdpZHRoOiAxMDAlIGFuZCBkaXNwbGF5OiB0YWJsZS1jZWxsLlxuICAmLmltZy10aHVtYm5haWwge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEgPiAucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEgPiAucHVsbC1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEtcmlnaHQsXG4ubWVkaWEtYm9keSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5tZWRpYS1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubWVkaWEtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBoZWFkaW5ncyBmb3IgdGlnaHRlciBkZWZhdWx0IHNwYWNpbmdcbi5tZWRpYS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy9cbi8vIFVuZG8gZGVmYXVsdCB1bC9vbCBzdHlsZXNcbi5tZWRpYS1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBMaXN0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQGxpc3QtZ3JvdXAtYm9yZGVyO1xuXG4gIC8vIFJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoQGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cyhAbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICYuZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQ6aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMge1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG5cbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBjbGFzcyBvbiBpdGVtIGl0c2VsZiwgbm90IHBhcmVudFxuICAmLmFjdGl2ZSxcbiAgJi5hY3RpdmU6aG92ZXIsXG4gICYuYWN0aXZlOmZvY3VzIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogQGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlIGl0ZW1zLlxuLy8gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzaG93aW5nIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogQGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnOyBAc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZzsgQHN0YXRlLWluZm8tdGV4dCk7XG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmc7IEBzdGF0ZS13YXJuaW5nLXRleHQpO1xuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZzsgQHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChAc3RhdGU7IEBiYWNrZ3JvdW5kOyBAY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS1Ae3N0YXRlfSB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcblxuICAgIGEmLFxuICAgIGJ1dHRvbiYge1xuICAgICAgY29sb3I6IEBjb2xvcjtcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlLCBzZWxlY3Rvci1tYXgtY29tcG91bmQtc2VsZWN0b3JzLCBzZWxlY3Rvci1tYXgtY29tYmluYXRvcnMsIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcblxuLy9cbi8vIFBhbmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYW5lbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBwYW5lbC1ib3JkZXItcmFkaXVzO1xuICAuYm94LXNoYWRvdygwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDUpKTtcbn1cblxuLy8gUGFuZWwgY29udGVudHNcbi5wYW5lbC1ib2R5IHtcbiAgcGFkZGluZzogQHBhbmVsLWJvZHktcGFkZGluZztcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIE9wdGlvbmFsIGhlYWRpbmdcbi5wYW5lbC1oZWFkaW5nIHtcbiAgcGFkZGluZzogQHBhbmVsLWhlYWRpbmctcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFdpdGhpbiBoZWFkaW5nLCBzdHJpcCBhbnkgYGgqYCB0YWcgb2YgaXRzIGRlZmF1bHQgbWFyZ2lucyBmb3Igc3BhY2luZy5cbi5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS4xMjUpKTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBhLFxuICA+IHNtYWxsLFxuICA+IC5zbWFsbCxcbiAgPiBzbWFsbCA+IGEsXG4gID4gLnNtYWxsID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgZm9vdGVyIChzdGF5cyBncmF5IGluIGV2ZXJ5IG1vZGlmaWVyIGNsYXNzKVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6IEBwYW5lbC1mb290ZXItcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBhbmVsLWZvb3Rlci1iZztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBwYW5lbC1pbm5lci1ib3JkZXI7XG4gIC5ib3JkZXItYm90dG9tLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG59XG5cblxuLy8gTGlzdCBncm91cHMgaW4gcGFuZWxzXG4vL1xuLy8gQnkgZGVmYXVsdCwgc3BhY2Ugb3V0IGxpc3QgZ3JvdXAgY29udGVudCBmcm9tIHBhbmVsIGhlYWRpbmdzIHRvIGFjY291bnQgZm9yXG4vLyBhbnkga2luZCBvZiBjdXN0b20gY29udGVudCBiZXR3ZWVuIHRoZSB0d28uXG5cbi5wYW5lbCB7XG4gID4gLmxpc3QtZ3JvdXAsXG4gID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8vIEFkZCBib3JkZXIgdG9wIHJhZGl1cyBmb3IgZmlyc3Qgb25lXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG4vLyBDb2xsYXBzZSBzcGFjZSBiZXR3ZWVuIHdoZW4gdGhlcmUncyBubyBhZGRpdGlvbmFsIGNvbnRlbnQuXG4ucGFuZWwtaGVhZGluZyArIC5saXN0LWdyb3VwIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuLmxpc3QtZ3JvdXAgKyAucGFuZWwtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLy8gVGFibGVzIGluIHBhbmVsc1xuLy9cbi8vIFBsYWNlIGEgbm9uLWJvcmRlcmVkIGAudGFibGVgIHdpdGhpbiBhIHBhbmVsIChub3Qgd2l0aGluIGEgYC5wYW5lbC1ib2R5YCkgYW5kXG4vLyB3YXRjaCBpdCBnbyBmdWxsIHdpZHRoLlxuXG4ucGFuZWwge1xuICA+IC50YWJsZSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAudGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBjYXB0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgfVxuICB9XG4gIC8vIEFkZCBib3JkZXIgdG9wIHJhZGl1cyBmb3IgZmlyc3Qgb25lXG4gID4gLnRhYmxlOmZpcnN0LWNoaWxkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0aGVhZDpmaXJzdC1jaGlsZCxcbiAgICA+IHRib2R5OmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEFkZCBib3JkZXIgYm90dG9tIHJhZGl1cyBmb3IgbGFzdCBvbmVcbiAgPiAudGFibGU6bGFzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQge1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRib2R5Omxhc3QtY2hpbGQsXG4gICAgPiB0Zm9vdDpsYXN0LWNoaWxkIHtcbiAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAucGFuZWwtYm9keSArIC50YWJsZSxcbiAgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuICA+IC50YWJsZSArIC5wYW5lbC1ib2R5LFxuICA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgPiAudGFibGUgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG4gID4gLnRhYmxlLWJvcmRlcmVkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiB0aGVhZCxcbiAgICA+IHRib2R5IHtcbiAgICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cblxuLy8gQ29sbGFwc2libGUgcGFuZWxzIChha2EsIGFjY29yZGlvbilcbi8vXG4vLyBXcmFwIGEgc2VyaWVzIG9mIHBhbmVscyBpbiBgLnBhbmVsLWdyb3VwYCB0byB0dXJuIHRoZW0gaW50byBhbiBhY2NvcmRpb24gd2l0aFxuLy8gdGhlIGhlbHAgb2Ygb3VyIGNvbGxhcHNlIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4ucGFuZWwtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG5cbiAgLy8gVGlnaHRlbiB1cCBtYXJnaW4gc28gaXQncyBvbmx5IGJldHdlZW4gcGFuZWxzXG4gIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiBAcGFuZWwtYm9yZGVyLXJhZGl1cztcblxuICAgICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtaGVhZGluZyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHksXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAucGFuZWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFuZWwtaW5uZXItYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9uc1xuLnBhbmVsLWRlZmF1bHQge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtZGVmYXVsdC1ib3JkZXI7IEBwYW5lbC1kZWZhdWx0LXRleHQ7IEBwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc7IEBwYW5lbC1kZWZhdWx0LWJvcmRlcik7XG59XG4ucGFuZWwtcHJpbWFyeSB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1wcmltYXJ5LWJvcmRlcjsgQHBhbmVsLXByaW1hcnktdGV4dDsgQHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzsgQHBhbmVsLXByaW1hcnktYm9yZGVyKTtcbn1cbi5wYW5lbC1zdWNjZXNzIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOyBAcGFuZWwtc3VjY2Vzcy10ZXh0OyBAcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOyBAcGFuZWwtc3VjY2Vzcy1ib3JkZXIpO1xufVxuLnBhbmVsLWluZm8ge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtaW5mby1ib3JkZXI7IEBwYW5lbC1pbmZvLXRleHQ7IEBwYW5lbC1pbmZvLWhlYWRpbmctYmc7IEBwYW5lbC1pbmZvLWJvcmRlcik7XG59XG4ucGFuZWwtd2FybmluZyB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC13YXJuaW5nLWJvcmRlcjsgQHBhbmVsLXdhcm5pbmctdGV4dDsgQHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzsgQHBhbmVsLXdhcm5pbmctYm9yZGVyKTtcbn1cbi5wYW5lbC1kYW5nZXIge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtZGFuZ2VyLWJvcmRlcjsgQHBhbmVsLWRhbmdlci10ZXh0OyBAcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc7IEBwYW5lbC1kYW5nZXItYm9yZGVyKTtcbn1cbiIsIi8vIFBhbmVsc1xuXG4ucGFuZWwtdmFyaWFudChAYm9yZGVyOyBAaGVhZGluZy10ZXh0LWNvbG9yOyBAaGVhZGluZy1iZy1jb2xvcjsgQGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6IEBoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEVtYmVkcyByZXNwb25zaXZlXG4vL1xuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBNb2RpZmllciBjbGFzcyBmb3IgMTY6OSBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDQ6MyBhc3BlY3QgcmF0aW9cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuIiwiLy9cbi8vIFdlbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi53ZWxsIHtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdlbGwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEB3ZWxsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KSk7XG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgLjE1KTtcbiAgfVxufVxuXG4vLyBTaXplc1xuLndlbGwtbGcge1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cbi53ZWxsLXNtIHtcbiAgcGFkZGluZzogOXB4O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6IEBjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBAY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiBAY2xvc2UtdGV4dC1zaGFkb3c7XG4gIC5vcGFjaXR5KC4yKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLm9wYWNpdHkoLjUpO1xuICB9XG5cbiAgLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuICAvLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbiAgLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4gIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuICBidXR0b24mIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIC50cmFuc2xhdGUoMCwgLTI1JSk7XG4gICAgLnRyYW5zaXRpb24tdHJhbnNmb3JtKH5cIjAuM3MgZWFzZS1vdXRcIik7XG4gIH1cbiAgJi5pbiAubW9kYWwtZGlhbG9nIHsgLnRyYW5zbGF0ZSgwLCAwKTsgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCBAbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxuICBib3JkZXI6IDFweCBzb2xpZCBAbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xuICAuYm94LXNoYWRvdygwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAuNSkpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbW9kYWwtYmFja2Ryb3AtYmc7XG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IC5vcGFjaXR5KDApOyB9XG4gICYuaW4geyAub3BhY2l0eShAbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiBAbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbn1cbi8vIENsb3NlIGljb25cbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcbiAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiBAbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBAbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiBAbW9kYWwtaW5uZXItcGFkZGluZztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8vIHJpZ2h0IGFsaWduIGJ1dHRvbnNcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcblxuICAvLyBQcm9wZXJseSBzcGFjZSBvdXQgYnV0dG9uc1xuICAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbiAgLy8gYnV0IG92ZXJyaWRlIHRoYXQgZm9yIGJ1dHRvbiBncm91cHNcbiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cbiAgLy8gYW5kIG92ZXJyaWRlIGl0IGZvciBibG9jayBidXR0b25zIGFzIHdlbGxcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6IEBtb2RhbC1tZDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgfVxuICAubW9kYWwtY29udGVudCB7XG4gICAgLmJveC1zaGFkb3coMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIC41KSk7XG4gIH1cblxuICAvLyBNb2RhbCBzaXplc1xuICAubW9kYWwtc20geyB3aWR0aDogQG1vZGFsLXNtOyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAubW9kYWwtbGcgeyB3aWR0aDogQG1vZGFsLWxnOyB9XG59XG4iLCIvL1xuLy8gVG9vbHRpcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IEB6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgLnJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuXG4gIC5vcGFjaXR5KDApO1xuXG4gICYuaW4geyAub3BhY2l0eShAdG9vbHRpcC1vcGFjaXR5KTsgfVxuICAmLnRvcCB7XG4gICAgcGFkZGluZzogQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gICYucmlnaHQge1xuICAgIHBhZGRpbmc6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgfVxuICAmLmJvdHRvbSB7XG4gICAgcGFkZGluZzogQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cbiAgJi5sZWZ0IHtcbiAgICBwYWRkaW5nOiAwIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICB9XG5cbiAgLy8gTm90ZTogRGVwcmVjYXRlZCAudG9wLWxlZnQsIC50b3AtcmlnaHQsIC5ib3R0b20tbGVmdCwgYW5kIC5ib3R0b20tcmlnaHQgYXMgb2YgdjMuMy4xXG4gICYudG9wIC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHJpZ2h0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiBAdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGNvbG9yOiBAdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbiIsIi5yZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgbGluZS1icmVhazogYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuIiwiLy9cbi8vIFBvcG92ZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiBAcG9wb3Zlci1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDFweDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgcG9wb3ZlcnMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICAucmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgQHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgLmJveC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIC4yKSk7XG5cbiAgLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4gICYudG9wIHsgbWFyZ2luLXRvcDogLUBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYucmlnaHQgeyBtYXJnaW4tbGVmdDogQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiBAcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmxlZnQgeyBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG5cbiAgLy8gQXJyb3dzXG4gIC8vIC5hcnJvdyBpcyBvdXRlciwgLmFycm93OmFmdGVyIGlzIGlubmVyXG4gID4gLmFycm93IHtcbiAgICBib3JkZXItd2lkdGg6IEBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuXG4gICAgJixcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItd2lkdGg6IEBwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gICYudG9wID4gLmFycm93IHtcbiAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuICAmLnJpZ2h0ID4gLmFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuICAmLmJvdHRvbSA+IC5hcnJvdyB7XG4gICAgdG9wOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQgPiAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4ucG9wb3Zlci10aXRsZSB7XG4gIHBhZGRpbmc6IDhweCAxNHB4O1xuICBtYXJnaW46IDA7IC8vIHJlc2V0IGhlYWRpbmcgbWFyZ2luXG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9wb3Zlci10aXRsZS1iZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbihAcG9wb3Zlci10aXRsZS1iZywgNSUpO1xuICBib3JkZXItcmFkaXVzOiAoQGJvcmRlci1yYWRpdXMtbGFyZ2UgLSAxKSAoQGJvcmRlci1yYWRpdXMtbGFyZ2UgLSAxKSAwIDA7XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiA5cHggMTRweDtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbi5jbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG4uY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZvbnQtZmFtaWx5LW5hbWUtcXVvdGVzLCBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xIChoYXMgYmVlbiByZW1vdmVkIGluIHY0KVxuLmhpZGUtdGV4dCgpIHtcbiAgZm9udDogflwiMC8wXCIgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbi50ZXh0LWhpZGUoKSB7XG4gIC5oaWRlLXRleHQoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4XG5cbi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cHM6Ly9nZXRib290c3RyYXAuY29tL2RvY3MvMy40L2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHBzOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoL1xuLy8gU291cmNlOiBodHRwczovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXhzLFxuLnZpc2libGUtc20sXG4udmlzaWJsZS1tZCxcbi52aXNpYmxlLWxnIHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG59XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZS14cyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtc20ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtbGcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4teHMge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuLmhpZGRlbi1zbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi5oaWRkZW4tbWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4uaGlkZGVuLWxnIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcbi52aXNpYmxlLXByaW50IHtcbiAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRkZW4tcHJpbnQge1xuICBAbWVkaWEgcHJpbnQge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdGFibGUmICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHImICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoJixcbiAgdGQmICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4ucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsImJvZHkge1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5hbmltYXRlZChAYW5pbWF0aW9uTGVzc1RpbWU6MXMpIHtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IEBhbmltYXRpb25MZXNzVGltZTtcblx0ICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IEBhbmltYXRpb25MZXNzVGltZTtcblx0ICAgICAtby1hbmltYXRpb24tZHVyYXRpb246IEBhbmltYXRpb25MZXNzVGltZTtcblx0ICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBhbmltYXRpb25MZXNzVGltZTtcblx0LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHQgICAtbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdCAgICAgLW8tYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0ICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuIiwiQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG5cdDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG5cdDQwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO31cblx0NjAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlIHtcblx0MCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cblx0NDAlIHstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fVxuXHQ2MCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTt9XG59XG5cbkAtby1rZXlmcmFtZXMgYm91bmNlIHtcblx0MCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgey1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG5cdDQwJSB7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTt9XG5cdDYwJSB7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTt9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG5cdDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fVxuXHQ0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fVxuXHQ2MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fVxufVxuXG4uYm91bmNlIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG5cdGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTtcblx0fVxuXHRcblx0NTAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0fVxuXHRcblx0NzAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjkpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZUluIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1vei10cmFuc2Zvcm06IHNjYWxlKC4zKTtcblx0fVxuXHRcblx0NTAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0fVxuXHRcblx0NzAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogc2NhbGUoLjkpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBib3VuY2VJbiB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogc2NhbGUoLjMpO1xuXHR9XG5cdFxuXHQ1MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW8tdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0fVxuXHRcblx0NzAlIHtcblx0XHQtby10cmFuc2Zvcm06IHNjYWxlKC45KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSguMyk7XG5cdH1cblx0XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXHR9XG5cdFxuXHQ3MCUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoLjkpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG59XG5cbi5ib3VuY2VJbiB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuXHRhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuXHR9XG5cdFxuXHQ2MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG5cdH1cblx0XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG5cdH1cblx0XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcblx0fVxuXHRcblx0ODAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuXHR9XG5cdFxuXHQ2MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuXHR9XG5cdFxuXHQ4MCUge1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcblx0fVxuXHRcblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcblx0fVxuXHRcblx0ODAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLmJvdW5jZUluRG93biB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcblx0LW1vei1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuXHQtby1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuXHRhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcblx0fVxuXHRcblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuXHR9XG5cdFxuXHQ4MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuXHR9XG5cdFxuXHQ2MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG5cdH1cblx0XG5cdDgwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxufVxuXG5ALW8ta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcblx0fVxuXHRcblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcblx0fVxuXHRcblx0ODAlIHtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG5cdH1cblx0XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG5cdH1cblx0XG5cdDgwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbi5ib3VuY2VJbkxlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG5cdH1cblx0XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG5cdH1cblx0XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcblx0fVxuXHRcblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcblx0fVxuXHRcblx0ODAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG5cdH1cblx0XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuXHR9XG5cdFxuXHQ4MCUge1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuXHR9XG5cdFxuXHQ2MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcblx0fVxuXHRcblx0ODAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuXHRhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG5cdH1cblx0XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG5cdH1cblx0XG5cdDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5ALW1vei1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG5cdH1cblx0XG5cdDYwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG5cdH1cblx0XG5cdDgwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuXHR9XG5cdFxuXHQ2MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcblx0fVxuXHRcblx0ODAlIHtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcblx0fVxuXHRcblx0NjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG5cdH1cblx0XG5cdDgwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLmJvdW5jZUluVXAge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuXHQtby1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcblx0YW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblx0XG5cdDI1JSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45NSk7XG5cdH1cblx0XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xuXHR9XHRcbn1cblxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dCB7XG5cdDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblx0XG5cdDI1JSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHNjYWxlKC45NSk7XG5cdH1cblx0XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtbW96LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xuXHR9XHRcbn1cblxuQC1vLWtleWZyYW1lcyBib3VuY2VPdXQge1xuXHQwJSB7XG5cdFx0LW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0fVxuXHRcblx0MjUlIHtcblx0XHQtby10cmFuc2Zvcm06IHNjYWxlKC45NSk7XG5cdH1cblx0XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiBzY2FsZSguMyk7XG5cdH1cdFxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHR9XG5cdFxuXHQyNSUge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcblx0fVxuXHRcblx0NTAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKC4zKTtcblx0fVx0XG59XG5cbi5ib3VuY2VPdXQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcblx0YW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRcblx0MjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcblx0MCUge1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdFxuXHQyMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcblx0MCUge1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRcblx0MjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRcblx0MjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG5cdH1cbn1cblxuLmJvdW5jZU91dERvd24ge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuXHQtby1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcblx0YW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuXHQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcblx0fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG5cdDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG5cdDAlIHtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuXHR9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcblx0LW1vei1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG5cdDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuXHQwJSB7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdFxuXHQyMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG5cdH1cbn1cblxuLmJvdW5jZU91dFJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuXHQtby1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuXHQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcblx0fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuXHQwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcblx0fVxufVxuXG5ALW8ta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcblx0MCUge1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRcblx0MjAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDIwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuXHR9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuXHRhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG5cdDAlIHtvcGFjaXR5OiAwO31cdFxuXHQxMDAlIHtvcGFjaXR5OiAxO31cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGZhZGVJbiB7XG5cdDAlIHtvcGFjaXR5OiAwO31cdFxuXHQxMDAlIHtvcGFjaXR5OiAxO31cbn1cblxuQC1vLWtleWZyYW1lcyBmYWRlSW4ge1xuXHQwJSB7b3BhY2l0eTogMDt9XHRcblx0MTAwJSB7b3BhY2l0eTogMTt9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcblx0MCUge29wYWNpdHk6IDA7fVx0XG5cdDEwMCUge29wYWNpdHk6IDE7fVxufVxuXG4uZmFkZUluIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG4uZmFkZUluRG93biB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuXHRhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcblx0LW1vei1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbi5mYWRlSW5MZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcblx0LW1vei1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cbkAtbW96LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cbkAtby1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuLmZhZGVJbkxlZnRCaWcge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuXHQtby1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuLmZhZGVJblJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuXHQtby1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG59XG5cbi5mYWRlSW5SaWdodEJpZyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuXHRhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGZhZGVJblVwIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBmYWRlSW5VcCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLmZhZGVJblVwIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuXHQtby1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi5mYWRlSW5VcEJpZyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuXHRhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuXHQwJSB7b3BhY2l0eTogMTt9XG5cdDEwMCUge29wYWNpdHk6IDA7fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtvcGFjaXR5OiAxO31cblx0MTAwJSB7b3BhY2l0eTogMDt9XG59XG5cbkAtby1rZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtvcGFjaXR5OiAxO31cblx0MTAwJSB7b3BhY2l0eTogMDt9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtvcGFjaXR5OiAxO31cblx0MTAwJSB7b3BhY2l0eTogMDt9XG59XG5cbi5mYWRlT3V0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcblx0LW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXHR9XG59XG5cbi5mYWRlT3V0RG93biB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuXHRhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcblx0fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcblx0fVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcblx0LW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcblx0fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcblx0fVxufVxuXG4uZmFkZU91dExlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcblx0LW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuXHR9XG59XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuXHRhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcblx0fVxufVxuXG5ALW8ta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuXHR9XG59XG5cbi5mYWRlT3V0UmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcblx0fVxufVxuQC1tb3ota2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG5cdH1cbn1cbkAtby1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcblx0fVxufVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcblx0fVxufVxuQC1tb3ota2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcblx0fVxufVxuQC1vLWtleWZyYW1lcyBmYWRlT3V0VXAge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcblx0fVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcblx0fVxufVxuXG4uZmFkZU91dFVwIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcblx0fVxufVxuXG5ALW8ta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuXHR9XG59XG5cbi5mYWRlT3V0VXBCaWcge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcblx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuXHQwJSwgNTAlLCAxMDAlIHtvcGFjaXR5OiAxO31cdFxuXHQyNSUsIDc1JSB7b3BhY2l0eTogMDt9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmbGFzaCB7XG5cdDAlLCA1MCUsIDEwMCUge29wYWNpdHk6IDE7fVx0XG5cdDI1JSwgNzUlIHtvcGFjaXR5OiAwO31cbn1cblxuQC1vLWtleWZyYW1lcyBmbGFzaCB7XG5cdDAlLCA1MCUsIDEwMCUge29wYWNpdHk6IDE7fVx0XG5cdDI1JSwgNzUlIHtvcGFjaXR5OiAwO31cbn1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG5cdDAlLCA1MCUsIDEwMCUge29wYWNpdHk6IDE7fVx0XG5cdDI1JSwgNzUlIHtvcGFjaXR5OiAwO31cbn1cblxuLmZsYXNoIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuXHQtby1hbmltYXRpb24tbmFtZTogZmxhc2g7XG5cdGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG5cdFx0LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0fVxuXHQ0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdH1cblx0NTAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcblx0XHQtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cblx0ODAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0fVxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuXHRcdC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblx0fVxufVxuQC1tb3ota2V5ZnJhbWVzIGZsaXAge1xuXHQwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuXHRcdC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdH1cblx0NDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTtcblx0XHQtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDUwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG5cdFx0LW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHR9XG5cdDgwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTtcblx0XHQtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cblx0MTAwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTtcblx0XHQtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cbn1cbkAtby1rZXlmcmFtZXMgZmxpcCB7XG5cdDAlIHtcblx0XHQtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuXHRcdC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDQwJSB7XG5cdFx0LW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuXHRcdC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDUwJSB7XG5cdFx0LW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuXHRcdC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cblx0ODAlIHtcblx0XHQtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTtcblx0XHQtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHR9XG5cdDEwMCUge1xuXHRcdC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuXHRcdC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cbn1cbkBrZXlmcmFtZXMgZmxpcCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDQwJSB7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHR9XG5cdDUwJSB7XG5cdFx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cblx0ODAlIHtcblx0XHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTtcblx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG5cdH1cbn1cblxuLmZsaXAge1xuXHQtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cdC1tb3otdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0LW8tdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG5cdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuXHQtby1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIFxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICA3MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbkAtbW96LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgICAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIFxuICAgIDQwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICA3MCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbkAtby1rZXlmcmFtZXMgZmxpcEluWCB7XG4gICAgMCUge1xuICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgXG4gICAgNDAlIHtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICA3MCUge1xuICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgICB9XG4gICAgXG4gICAgMTAwJSB7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICBcbiAgICA0MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7XG4gICAgfVxuICAgIFxuICAgIDcwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5mbGlwSW5YIHtcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG5cdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuXHQtby1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIFxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICA3MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbkAtbW96LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgICAwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIFxuICAgIDQwJSB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICA3MCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbkAtby1rZXlmcmFtZXMgZmxpcEluWSB7XG4gICAgMCUge1xuICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgXG4gICAgNDAlIHtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICA3MCUge1xuICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgICB9XG4gICAgXG4gICAgMTAwJSB7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICBcbiAgICA0MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gICAgfVxuICAgIFxuICAgIDcwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5mbGlwSW5ZIHtcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG5cdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuXHQtby1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXHQxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXHQxMDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkAtby1rZXlmcmFtZXMgZmxpcE91dFgge1xuICAgIDAlIHtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cdDEwMCUge1xuICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cdDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5mbGlwT3V0WCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcblx0LW1vei1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG5cdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHQtby1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG5cdC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcblx0YW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cdDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cbkAtbW96LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gICAgMCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXHQxMDAlIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5ALW8ta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgICAwJSB7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXHQxMDAlIHtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblx0MTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLmZsaXBPdXRZIHtcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuXHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcblx0LW1vei1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG5cdC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuXHQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cdFxuXHQyMCUsIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOyAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XHRcblx0NDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cdFxuXHQ4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApOyBvcGFjaXR5OiAxOyAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XHRcblx0MTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTsgb3BhY2l0eTogMDsgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgaGluZ2Uge1xuXHQwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cdFxuXHQyMCUsIDYwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOyAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XHRcblx0NDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cdFxuXHQ4MCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApOyBvcGFjaXR5OiAxOyAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XHRcblx0MTAwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTsgb3BhY2l0eTogMDsgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIGhpbmdlIHtcblx0MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgLW8tdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XHRcblx0MjAlLCA2MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7IC1vLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVx0XG5cdDQwJSB7IC1vLXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsgLW8tdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XHRcblx0ODAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IDE7IC1vLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVx0XG5cdDEwMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpOyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuXHQwJSB7IHRyYW5zZm9ybTogcm90YXRlKDApOyB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cdFxuXHQyMCUsIDYwJSB7IHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XHRcblx0NDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOyB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cdFxuXHQ4MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XHRcblx0MTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7IG9wYWNpdHk6IDA7IH1cbn1cblxuLmhpbmdlIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuXHQtby1hbmltYXRpb24tbmFtZTogaGluZ2U7XG5cdGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcblx0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9XG5cdDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTsgb3BhY2l0eTogMTsgfVxuXHQ4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsgb3BhY2l0eTogMTsgfVxuXHQxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuXHQwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7IG9wYWNpdHk6IDA7IH1cblx0NjAlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOyBvcGFjaXR5OiAxOyB9XG5cdDgwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOyBvcGFjaXR5OiAxOyB9XG5cdDEwMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH1cbn1cblxuQC1vLWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuXHQwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9XG5cdDYwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7IG9wYWNpdHk6IDE7IH1cblx0ODAlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOyBvcGFjaXR5OiAxOyB9XG5cdDEwMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcblx0MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsgb3BhY2l0eTogMDsgfVxuXHQ2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOyBvcGFjaXR5OiAxOyB9XG5cdDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsgb3BhY2l0eTogMTsgfVxuXHQxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfVxufVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gICAgLW1vei1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICAgIC1vLWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcblxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gICAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH1cblx0MTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7IG9wYWNpdHk6IDA7IH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuXHQwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfVxuXHQxMDAlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsgb3BhY2l0eTogMDsgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQge1xuXHQwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH1cblx0MTAwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG5cdDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfVxuXHQxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7IG9wYWNpdHk6IDA7IH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gICAgLW1vei1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgICAtby1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcblxuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgLW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufSIsIi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHRcblx0NTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5ALW1vei1rZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHRcblx0NTAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgICAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5ALW8ta2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAwJSB7IC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cdFxuXHQ1MCUgeyAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgICAxMDAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHRcblx0NTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuLnB1bHNlIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuXHQtby1hbmltYXRpb24tbmFtZTogcHVsc2U7XG5cdGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn0iLCIvKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG5cdDAlIHsgb3BhY2l0eTogMDsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfVxuXHQxMDAlIHsgb3BhY2l0eTogMTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvbGxJbiB7XG5cdDAlIHsgb3BhY2l0eTogMDsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfVxuXHQxMDAlIHsgb3BhY2l0eTogMTsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH1cbn1cblxuQC1vLWtleWZyYW1lcyByb2xsSW4ge1xuXHQwJSB7IG9wYWNpdHk6IDA7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9XG5cdDEwMCUgeyBvcGFjaXR5OiAxOyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH1cbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuXHQwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9XG5cdDEwMCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH1cbn1cblxuLnJvbGxJbiB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcblx0LW1vei1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuXHQtby1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuXHRhbmltYXRpb24tbmFtZTogcm9sbEluO1xufSIsIi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gICAgMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG5cdH1cblxuICAgIDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvbGxPdXQge1xuICAgIDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuXHR9XG5cbiAgICAxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgcm9sbE91dCB7XG4gICAgMCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuXHR9XG5cbiAgICAxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICAgIDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcblx0fVxuXG4gICAgMTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG5cdH1cbn1cblxuLnJvbGxPdXQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuXHQtby1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cbkAtbW96LWtleWZyYW1lcyByb3RhdGVJbiB7XG5cdDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5ALW8ta2V5ZnJhbWVzIHJvdGF0ZUluIHtcblx0MCUge1xuXHRcdC1vLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5yb3RhdGVJbiB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuXHRhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuXHQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuXHQwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcblx0MCUge1xuXHRcdC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5yb3RhdGVJbkRvd25MZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcblx0LW1vei1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcblx0MCUge1xuXHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5ALW8ta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcblx0MCUge1xuXHRcdC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuXHRhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcblx0MCUge1xuXHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG5cdDAlIHtcblx0XHQtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5yb3RhdGVJblVwTGVmdCB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuXHRhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuXHQwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5ALW8ta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG5cdDAlIHtcblx0XHQtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG4ucm90YXRlSW5VcFJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59IiwiQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG5cdDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyByb3RhdGVPdXQge1xuXHQwJSB7XG5cdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcblx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtby10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5yb3RhdGVPdXQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuXHQwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5ALW1vei1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuXHQwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5ALW8ta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcblx0MCUge1xuXHRcdC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuXHQtby1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG5cdGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG5cdDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcblx0MCUge1xuXHRcdC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcblx0MCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkAtbW96LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuXHQwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQC1vLWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuXHQwJSB7XG5cdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcblx0MCUge1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcblx0XHQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5yb3RhdGVPdXRVcExlZnQge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcblx0YW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG5cdDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdDEwMCUge1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuXHQwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdFxuXHQxMDAlIHtcblx0XHQtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkAtby1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG5cdDAlIHtcblx0XHQtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0LW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMCk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHRcblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcblx0LW1vei1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG5cdGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG5cdDAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9XG5cdDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7fVxuXHQyMCUsIDQwJSwgNjAlLCA4MCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO31cbn1cblxuQC1tb3ota2V5ZnJhbWVzIHNoYWtlIHtcblx0MCUsIDEwMCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO31cblx0MTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTt9XG5cdDIwJSwgNDAlLCA2MCUsIDgwJSB7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fVxufVxuXG5ALW8ta2V5ZnJhbWVzIHNoYWtlIHtcblx0MCUsIDEwMCUgey1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9XG5cdDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO31cblx0MjAlLCA0MCUsIDYwJSwgODAlIHstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcblx0MCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9XG5cdDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO31cblx0MjAlLCA0MCUsIDYwJSwgODAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fVxufVxuXG4uc2hha2Uge1xuXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcblx0LW1vei1hbmltYXRpb24tbmFtZTogc2hha2U7XG5cdC1vLWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcblx0YW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG5cdDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgfVxuXHQyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfVx0XG5cdDQwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuXHQ2MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XHRcblx0ODAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cdFxuXHQxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgc3dpbmcge1xuXHQyMCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfVx0XG5cdDQwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuXHQ2MCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XHRcblx0ODAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cdFxuXHQxMDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIHN3aW5nIHtcblx0MjAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9XHRcblx0NDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuXHQ2MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVx0XG5cdDgwJSB7IC1vLXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVx0XG5cdDEwMCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcblx0MjAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9XHRcblx0NDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuXHQ2MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVx0XG5cdDgwJSB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVx0XG5cdDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxufVxuXG4uc3dpbmcge1xuXHQtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG5cdC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcblx0LW8tdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcblx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG5cdC1tb3otYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuXHQtby1hbmltYXRpb24tbmFtZTogc3dpbmc7XG5cdGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG5cdDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7fVx0XG5cdDEwJSwgMjAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO31cblx0MzAlLCA1MCUsIDcwJSwgOTAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7fVxuXHQ0MCUsIDYwJSwgODAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO31cblx0MTAwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTt9XG59XG5cbkAtbW96LWtleWZyYW1lcyB0YWRhIHtcblx0MCUgey1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTt9XHRcblx0MTAlLCAyMCUgey1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7fVxuXHQzMCUsIDUwJSwgNzAlLCA5MCUgey1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTt9XG5cdDQwJSwgNjAlLCA4MCUgey1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7fVxuXHQxMDAlIHstbW96LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO31cbn1cblxuQC1vLWtleWZyYW1lcyB0YWRhIHtcblx0MCUgey1vLXRyYW5zZm9ybTogc2NhbGUoMSk7fVx0XG5cdDEwJSwgMjAlIHstby10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTt9XG5cdDMwJSwgNTAlLCA3MCUsIDkwJSB7LW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTt9XG5cdDQwJSwgNjAlLCA4MCUgey1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO31cblx0MTAwJSB7LW8tdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7fVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuXHQwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTt9XHRcblx0MTAlLCAyMCUge3RyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO31cblx0MzAlLCA1MCUsIDcwJSwgOTAlIHt0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO31cblx0NDAlLCA2MCUsIDgwJSB7dHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7fVxuXHQxMDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTt9XG59XG5cbi50YWRhIHtcblx0LXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcblx0LW1vei1hbmltYXRpb24tbmFtZTogdGFkYTtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG5cdGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufSIsIkAtd2Via2l0LWtleWZyYW1lcyB3aWdnbGUge1xuICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9XG4gICAgMTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAgIDIwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTsgfVxuICAgIDMwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH1cbiAgICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTRkZWcpOyB9XG4gICAgNjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9XG4gICAgNzAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICAgIDgwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxZGVnKTsgfVxuICAgIDkwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfVxuXHQxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG59XG5cbkAtbW96LWtleWZyYW1lcyB3aWdnbGUge1xuICAgIDAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9XG4gICAgMTAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAgIDIwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTsgfVxuICAgIDMwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH1cbiAgICA0MCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgICA1MCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goLTRkZWcpOyB9XG4gICAgNjAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9XG4gICAgNzAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICAgIDgwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgxZGVnKTsgfVxuICAgIDkwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfVxuXHQxMDAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG59XG5cbkAtby1rZXlmcmFtZXMgd2lnZ2xlIHtcbiAgICAwJSB7IC1vLXRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cbiAgICAxMCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAgIDIwJSB7IC1vLXRyYW5zZm9ybTogc2tld1goN2RlZyk7IH1cbiAgICAzMCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuICAgIDQwJSB7IC1vLXRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgICA1MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfVxuICAgIDYwJSB7IC1vLXRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cbiAgICA3MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICAgIDgwJSB7IC1vLXRyYW5zZm9ybTogc2tld1goMWRlZyk7IH1cbiAgICA5MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG5cdDEwMCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgd2lnZ2xlIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cbiAgICAxMCUgeyB0cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAgIDIwJSB7IHRyYW5zZm9ybTogc2tld1goN2RlZyk7IH1cbiAgICAzMCUgeyB0cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuICAgIDQwJSB7IHRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfVxuICAgIDYwJSB7IHRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cbiAgICA3MCUgeyB0cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICAgIDgwJSB7IHRyYW5zZm9ybTogc2tld1goMWRlZyk7IH1cbiAgICA5MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG5cdDEwMCUgeyB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG59XG5cbi53aWdnbGUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7XG4gICAgLW8tYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgICBhbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59IiwiLyohXHJcbiAqIEhvdmVyLmNzcyAoaHR0cDovL2lhbmx1bm4uZ2l0aHViLmlvL0hvdmVyLylcclxuICogVmVyc2lvbjogMi4zLjJcclxuICogQXV0aG9yOiBJYW4gTHVubiBASWFuTHVublxyXG4gKiBBdXRob3IgVVJMOiBodHRwOi8vaWFubHVubi5jby51ay9cclxuICogR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vSWFuTHVubi9Ib3ZlclxyXG5cclxuICogSG92ZXIuY3NzIENvcHlyaWdodCBJYW4gTHVubiAyMDE3LiBHZW5lcmF0ZWQgd2l0aCBTYXNzLlxyXG4gKi9cclxuLyogMkQgVFJBTlNJVElPTlMgKi9cclxuLyogR3JvdyAqL1xyXG4uaHZyLWdyb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxufVxyXG4uaHZyLWdyb3c6aG92ZXIsIC5odnItZ3Jvdzpmb2N1cywgLmh2ci1ncm93OmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG59XHJcblxyXG4vKiBTaHJpbmsgKi9cclxuLmh2ci1zaHJpbmsge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxufVxyXG4uaHZyLXNocmluazpob3ZlciwgLmh2ci1zaHJpbms6Zm9jdXMsIC5odnItc2hyaW5rOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG59XHJcblxyXG4vKiBQdWxzZSAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXB1bHNlIHtcclxuICAyNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItcHVsc2Uge1xyXG4gIDI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gIH1cclxufVxyXG4uaHZyLXB1bHNlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG4uaHZyLXB1bHNlOmhvdmVyLCAuaHZyLXB1bHNlOmZvY3VzLCAuaHZyLXB1bHNlOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXB1bHNlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2U7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbn1cclxuXHJcbi8qIFB1bHNlIEdyb3cgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdWxzZS1ncm93IHtcclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItcHVsc2UtZ3JvdyB7XHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgfVxyXG59XHJcbi5odnItcHVsc2UtZ3JvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1wdWxzZS1ncm93OmhvdmVyLCAuaHZyLXB1bHNlLWdyb3c6Zm9jdXMsIC5odnItcHVsc2UtZ3JvdzphY3RpdmUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZS1ncm93O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2UtZ3JvdztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XHJcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xyXG59XHJcblxyXG4vKiBQdWxzZSBTaHJpbmsgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdWxzZS1zaHJpbmsge1xyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1wdWxzZS1zaHJpbmsge1xyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gIH1cclxufVxyXG4uaHZyLXB1bHNlLXNocmluayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1wdWxzZS1zaHJpbms6aG92ZXIsIC5odnItcHVsc2Utc2hyaW5rOmZvY3VzLCAuaHZyLXB1bHNlLXNocmluazphY3RpdmUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZS1zaHJpbms7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZS1zaHJpbms7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xyXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcclxufVxyXG5cclxuLyogUHVzaCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXB1c2gge1xyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1wdXNoIHtcclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICB9XHJcbn1cclxuLmh2ci1wdXNoIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG4uaHZyLXB1c2g6aG92ZXIsIC5odnItcHVzaDpmb2N1cywgLmh2ci1wdXNoOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXB1c2g7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1wdXNoO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbn1cclxuXHJcbi8qIFBvcCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXBvcCB7XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1wb3Age1xyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICB9XHJcbn1cclxuLmh2ci1wb3Age1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcbi5odnItcG9wOmhvdmVyLCAuaHZyLXBvcDpmb2N1cywgLmh2ci1wb3A6YWN0aXZlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcG9wO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItcG9wO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbn1cclxuXHJcbi8qIEJvdW5jZSBJbiAqL1xyXG4uaHZyLWJvdW5jZS1pbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbn1cclxuLmh2ci1ib3VuY2UtaW46aG92ZXIsIC5odnItYm91bmNlLWluOmZvY3VzLCAuaHZyLWJvdW5jZS1pbjphY3RpdmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpO1xyXG59XHJcblxyXG4vKiBCb3VuY2UgT3V0ICovXHJcbi5odnItYm91bmNlLW91dCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbn1cclxuLmh2ci1ib3VuY2Utb3V0OmhvdmVyLCAuaHZyLWJvdW5jZS1vdXQ6Zm9jdXMsIC5odnItYm91bmNlLW91dDphY3RpdmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpO1xyXG59XHJcblxyXG4vKiBSb3RhdGUgKi9cclxuLmh2ci1yb3RhdGUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxufVxyXG4uaHZyLXJvdGF0ZTpob3ZlciwgLmh2ci1yb3RhdGU6Zm9jdXMsIC5odnItcm90YXRlOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0ZGVnKTtcclxufVxyXG5cclxuLyogR3JvdyBSb3RhdGUgKi9cclxuLmh2ci1ncm93LXJvdGF0ZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG59XHJcbi5odnItZ3Jvdy1yb3RhdGU6aG92ZXIsIC5odnItZ3Jvdy1yb3RhdGU6Zm9jdXMsIC5odnItZ3Jvdy1yb3RhdGU6YWN0aXZlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoNGRlZyk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSg0ZGVnKTtcclxufVxyXG5cclxuLyogRmxvYXQgKi9cclxuLmh2ci1mbG9hdCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWZsb2F0OmhvdmVyLCAuaHZyLWZsb2F0OmZvY3VzLCAuaHZyLWZsb2F0OmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG59XHJcblxyXG4vKiBTaW5rICovXHJcbi5odnItc2luayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXNpbms6aG92ZXIsIC5odnItc2luazpmb2N1cywgLmh2ci1zaW5rOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcclxufVxyXG5cclxuLyogQm9iICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItYm9iIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1ib2Ige1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItYm9iLWZsb2F0IHtcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1ib2ItZmxvYXQge1xyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XHJcbiAgfVxyXG59XHJcbi5odnItYm9iIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG4uaHZyLWJvYjpob3ZlciwgLmh2ci1ib2I6Zm9jdXMsIC5odnItYm9iOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWJvYi1mbG9hdCwgaHZyLWJvYjtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLWJvYi1mbG9hdCwgaHZyLWJvYjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMHMsIC4zcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XHJcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XHJcbn1cclxuXHJcbi8qIEhhbmcgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1oYW5nIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1oYW5nIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gIH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWhhbmctc2luayB7XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWhhbmctc2luayB7XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgfVxyXG59XHJcbi5odnItaGFuZyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1oYW5nOmhvdmVyLCAuaHZyLWhhbmc6Zm9jdXMsIC5odnItaGFuZzphY3RpdmUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1oYW5nLXNpbmssIGh2ci1oYW5nO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItaGFuZy1zaW5rLCBodnItaGFuZztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMHMsIC4zcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XHJcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XHJcbn1cclxuXHJcbi8qIFNrZXcgKi9cclxuLmh2ci1za2V3IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbn1cclxuLmh2ci1za2V3OmhvdmVyLCAuaHZyLXNrZXc6Zm9jdXMsIC5odnItc2tldzphY3RpdmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMGRlZyk7XHJcbiAgdHJhbnNmb3JtOiBza2V3KC0xMGRlZyk7XHJcbn1cclxuXHJcbi8qIFNrZXcgRm9yd2FyZCAqL1xyXG4uaHZyLXNrZXctZm9yd2FyZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcclxufVxyXG4uaHZyLXNrZXctZm9yd2FyZDpob3ZlciwgLmh2ci1za2V3LWZvcndhcmQ6Zm9jdXMsIC5odnItc2tldy1mb3J3YXJkOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEwZGVnKTtcclxuICB0cmFuc2Zvcm06IHNrZXcoLTEwZGVnKTtcclxufVxyXG5cclxuLyogU2tldyBCYWNrd2FyZCAqL1xyXG4uaHZyLXNrZXctYmFja3dhcmQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XHJcbn1cclxuLmh2ci1za2V3LWJhY2t3YXJkOmhvdmVyLCAuaHZyLXNrZXctYmFja3dhcmQ6Zm9jdXMsIC5odnItc2tldy1iYWNrd2FyZDphY3RpdmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcclxuICB0cmFuc2Zvcm06IHNrZXcoMTBkZWcpO1xyXG59XHJcblxyXG4vKiBXb2JibGUgVmVydGljYWwgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtdmVydGljYWwge1xyXG4gIDE2LjY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gIH1cclxuICA0OS45NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICB9XHJcbiAgODMuMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItd29iYmxlLXZlcnRpY2FsIHtcclxuICAxNi42NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gIH1cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcclxuICB9XHJcbiAgNDkuOTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuICB9XHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgfVxyXG4gIDgzLjI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG59XHJcbi5odnItd29iYmxlLXZlcnRpY2FsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG4uaHZyLXdvYmJsZS12ZXJ0aWNhbDpob3ZlciwgLmh2ci13b2JibGUtdmVydGljYWw6Zm9jdXMsIC5odnItd29iYmxlLXZlcnRpY2FsOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS12ZXJ0aWNhbDtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS12ZXJ0aWNhbDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG59XHJcblxyXG4vKiBXb2JibGUgSG9yaXpvbnRhbCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsIHtcclxuICAxNi42NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xyXG4gIH1cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTtcclxuICB9XHJcbiAgNDkuOTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcclxuICB9XHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7XHJcbiAgfVxyXG4gIDgzLjI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsIHtcclxuICAxNi42NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xyXG4gIH1cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTtcclxuICB9XHJcbiAgNDkuOTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcclxuICB9XHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7XHJcbiAgfVxyXG4gIDgzLjI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgfVxyXG59XHJcbi5odnItd29iYmxlLWhvcml6b250YWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcbi5odnItd29iYmxlLWhvcml6b250YWw6aG92ZXIsIC5odnItd29iYmxlLWhvcml6b250YWw6Zm9jdXMsIC5odnItd29iYmxlLWhvcml6b250YWw6YWN0aXZlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLWhvcml6b250YWw7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtaG9yaXpvbnRhbDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG59XHJcblxyXG4vKiBXb2JibGUgVG8gQm90dG9tIFJpZ2h0ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodCB7XHJcbiAgMTYuNjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCA4cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCA4cHgpO1xyXG4gIH1cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIC02cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgLTZweCk7XHJcbiAgfVxyXG4gIDQ5Ljk1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgNHB4KTtcclxuICB9XHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAtMnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIC0ycHgpO1xyXG4gIH1cclxuICA4My4yNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0IHtcclxuICAxNi42NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIDhweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIDhweCk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgLTZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNnB4LCAtNnB4KTtcclxuICB9XHJcbiAgNDkuOTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCA0cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCA0cHgpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIC0ycHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgLTJweCk7XHJcbiAgfVxyXG4gIDgzLjI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgfVxyXG59XHJcbi5odnItd29iYmxlLXRvLWJvdHRvbS1yaWdodCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0OmhvdmVyLCAuaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ6Zm9jdXMsIC5odnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDphY3RpdmUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG59XHJcblxyXG4vKiBXb2JibGUgVG8gVG9wIFJpZ2h0ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLXRvLXRvcC1yaWdodCB7XHJcbiAgMTYuNjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCAtOHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgLThweCk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIDZweCk7XHJcbiAgfVxyXG4gIDQ5Ljk1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIDJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAycHgpO1xyXG4gIH1cclxuICA4My4yNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLXdvYmJsZS10by10b3AtcmlnaHQge1xyXG4gIDE2LjY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgLThweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIC04cHgpO1xyXG4gIH1cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIDZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNnB4LCA2cHgpO1xyXG4gIH1cclxuICA0OS45NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCAtNHB4KTtcclxuICB9XHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAycHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgMnB4KTtcclxuICB9XHJcbiAgODMuMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTFweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxufVxyXG4uaHZyLXdvYmJsZS10by10b3AtcmlnaHQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcbi5odnItd29iYmxlLXRvLXRvcC1yaWdodDpob3ZlciwgLmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0OmZvY3VzLCAuaHZyLXdvYmJsZS10by10b3AtcmlnaHQ6YWN0aXZlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvLXRvcC1yaWdodDtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS10by10b3AtcmlnaHQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxufVxyXG5cclxuLyogV29iYmxlIFRvcCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10b3Age1xyXG4gIDE2LjY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7XHJcbiAgfVxyXG4gIDQ5Ljk1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtNmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICB9XHJcbiAgODMuMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLXdvYmJsZS10b3Age1xyXG4gIDE2LjY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7XHJcbiAgfVxyXG4gIDQ5Ljk1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtNmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICB9XHJcbiAgODMuMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgfVxyXG59XHJcbi5odnItd29iYmxlLXRvcCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xyXG59XHJcbi5odnItd29iYmxlLXRvcDpob3ZlciwgLmh2ci13b2JibGUtdG9wOmZvY3VzLCAuaHZyLXdvYmJsZS10b3A6YWN0aXZlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvcDtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS10b3A7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxufVxyXG5cclxuLyogV29iYmxlIEJvdHRvbSAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS1ib3R0b20ge1xyXG4gIDE2LjY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7XHJcbiAgfVxyXG4gIDQ5Ljk1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtNmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICB9XHJcbiAgODMuMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLXdvYmJsZS1ib3R0b20ge1xyXG4gIDE2LjY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7XHJcbiAgfVxyXG4gIDQ5Ljk1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtNmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICB9XHJcbiAgODMuMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgfVxyXG59XHJcbi5odnItd29iYmxlLWJvdHRvbSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xyXG59XHJcbi5odnItd29iYmxlLWJvdHRvbTpob3ZlciwgLmh2ci13b2JibGUtYm90dG9tOmZvY3VzLCAuaHZyLXdvYmJsZS1ib3R0b206YWN0aXZlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLWJvdHRvbTtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS1ib3R0b207XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxufVxyXG5cclxuLyogV29iYmxlIFNrZXcgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtc2tldyB7XHJcbiAgMTYuNjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTtcclxuICB9XHJcbiAgMzMuMyUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMTBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcclxuICB9XHJcbiAgNDkuOTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC02ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7XHJcbiAgfVxyXG4gIDY2LjYlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDRkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpO1xyXG4gIH1cclxuICA4My4yNSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygwKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItd29iYmxlLXNrZXcge1xyXG4gIDE2LjY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7XHJcbiAgfVxyXG4gIDQ5Ljk1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtNmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTtcclxuICB9XHJcbiAgODMuMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0yZGVnKTtcclxuICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7XHJcbiAgfVxyXG59XHJcbi5odnItd29iYmxlLXNrZXcge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcbi5odnItd29iYmxlLXNrZXc6aG92ZXIsIC5odnItd29iYmxlLXNrZXc6Zm9jdXMsIC5odnItd29iYmxlLXNrZXc6YWN0aXZlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXNrZXc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtc2tldztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG59XHJcblxyXG4vKiBCdXp6ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItYnV6eiB7XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItYnV6eiB7XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcclxuICB9XHJcbn1cclxuLmh2ci1idXp6IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG4uaHZyLWJ1eno6aG92ZXIsIC5odnItYnV6ejpmb2N1cywgLmh2ci1idXp6OmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWJ1eno7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1idXp6O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjE1cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuMTVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG59XHJcblxyXG4vKiBCdXp6IE91dCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJ1enotb3V0IHtcclxuICAxMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgfVxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xyXG4gIH1cclxuICA3MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7XHJcbiAgfVxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1idXp6LW91dCB7XHJcbiAgMTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xyXG4gIH1cclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xyXG4gIH1cclxuICAzMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgfVxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcclxuICB9XHJcbiAgNzAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xyXG4gIH1cclxuICA5MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTtcclxuICB9XHJcbn1cclxuLmh2ci1idXp6LW91dCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1idXp6LW91dDpob3ZlciwgLmh2ci1idXp6LW91dDpmb2N1cywgLmh2ci1idXp6LW91dDphY3RpdmUge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1idXp6LW91dDtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLWJ1enotb3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxufVxyXG5cclxuLyogRm9yd2FyZCAqL1xyXG4uaHZyLWZvcndhcmQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxufVxyXG4uaHZyLWZvcndhcmQ6aG92ZXIsIC5odnItZm9yd2FyZDpmb2N1cywgLmh2ci1mb3J3YXJkOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTtcclxufVxyXG5cclxuLyogQmFja3dhcmQgKi9cclxuLmh2ci1iYWNrd2FyZCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG59XHJcbi5odnItYmFja3dhcmQ6aG92ZXIsIC5odnItYmFja3dhcmQ6Zm9jdXMsIC5odnItYmFja3dhcmQ6YWN0aXZlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7XHJcbn1cclxuXHJcbi8qIEJBQ0tHUk9VTkQgVFJBTlNJVElPTlMgKi9cclxuLyogRmFkZSAqL1xyXG4uaHZyLWZhZGUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcclxufVxyXG4uaHZyLWZhZGU6aG92ZXIsIC5odnItZmFkZTpmb2N1cywgLmh2ci1mYWRlOmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwOThEMTtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi8qIEJhY2sgUHVsc2UgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1iYWNrLXB1bHNlIHtcclxuICA1MCUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMTUyLCAyMDksIDAuNzUpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1iYWNrLXB1bHNlIHtcclxuICA1MCUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMTUyLCAyMDksIDAuNzUpO1xyXG4gIH1cclxufVxyXG4uaHZyLWJhY2stcHVsc2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcclxufVxyXG4uaHZyLWJhY2stcHVsc2U6aG92ZXIsIC5odnItYmFjay1wdWxzZTpmb2N1cywgLmh2ci1iYWNrLXB1bHNlOmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWJhY2stcHVsc2U7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1iYWNrLXB1bHNlO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMC41cztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA5OEQxO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDk4ZDE7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4vKiBTd2VlcCBUbyBSaWdodCAqL1xyXG4uaHZyLXN3ZWVwLXRvLXJpZ2h0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxufVxyXG4uaHZyLXN3ZWVwLXRvLXJpZ2h0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbn1cclxuLmh2ci1zd2VlcC10by1yaWdodDpob3ZlciwgLmh2ci1zd2VlcC10by1yaWdodDpmb2N1cywgLmh2ci1zd2VlcC10by1yaWdodDphY3RpdmUge1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4uaHZyLXN3ZWVwLXRvLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1zd2VlcC10by1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItc3dlZXAtdG8tcmlnaHQ6YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxufVxyXG5cclxuLyogU3dlZXAgVG8gTGVmdCAqL1xyXG4uaHZyLXN3ZWVwLXRvLWxlZnQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItc3dlZXAtdG8tbGVmdDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItc3dlZXAtdG8tbGVmdDpob3ZlciwgLmh2ci1zd2VlcC10by1sZWZ0OmZvY3VzLCAuaHZyLXN3ZWVwLXRvLWxlZnQ6YWN0aXZlIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuLmh2ci1zd2VlcC10by1sZWZ0OmhvdmVyOmJlZm9yZSwgLmh2ci1zd2VlcC10by1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1zd2VlcC10by1sZWZ0OmFjdGl2ZTpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbn1cclxuXHJcbi8qIFN3ZWVwIFRvIEJvdHRvbSAqL1xyXG4uaHZyLXN3ZWVwLXRvLWJvdHRvbSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbn1cclxuLmh2ci1zd2VlcC10by1ib3R0b206YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApO1xyXG4gIHRyYW5zZm9ybTogc2NhbGVZKDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXN3ZWVwLXRvLWJvdHRvbTpob3ZlciwgLmh2ci1zd2VlcC10by1ib3R0b206Zm9jdXMsIC5odnItc3dlZXAtdG8tYm90dG9tOmFjdGl2ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbi5odnItc3dlZXAtdG8tYm90dG9tOmhvdmVyOmJlZm9yZSwgLmh2ci1zd2VlcC10by1ib3R0b206Zm9jdXM6YmVmb3JlLCAuaHZyLXN3ZWVwLXRvLWJvdHRvbTphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xyXG59XHJcblxyXG4vKiBTd2VlcCBUbyBUb3AgKi9cclxuLmh2ci1zd2VlcC10by10b3Age1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItc3dlZXAtdG8tdG9wOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbn1cclxuLmh2ci1zd2VlcC10by10b3A6aG92ZXIsIC5odnItc3dlZXAtdG8tdG9wOmZvY3VzLCAuaHZyLXN3ZWVwLXRvLXRvcDphY3RpdmUge1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4uaHZyLXN3ZWVwLXRvLXRvcDpob3ZlcjpiZWZvcmUsIC5odnItc3dlZXAtdG8tdG9wOmZvY3VzOmJlZm9yZSwgLmh2ci1zd2VlcC10by10b3A6YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcclxufVxyXG5cclxuLyogQm91bmNlIFRvIFJpZ2h0ICovXHJcbi5odnItYm91bmNlLXRvLXJpZ2h0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxufVxyXG4uaHZyLWJvdW5jZS10by1yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItYm91bmNlLXRvLXJpZ2h0OmhvdmVyLCAuaHZyLWJvdW5jZS10by1yaWdodDpmb2N1cywgLmh2ci1ib3VuY2UtdG8tcmlnaHQ6YWN0aXZlIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuLmh2ci1ib3VuY2UtdG8tcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJvdW5jZS10by1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItYm91bmNlLXRvLXJpZ2h0OmFjdGl2ZTpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7XHJcbn1cclxuXHJcbi8qIEJvdW5jZSBUbyBMZWZ0ICovXHJcbi5odnItYm91bmNlLXRvLWxlZnQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG59XHJcbi5odnItYm91bmNlLXRvLWxlZnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWJvdW5jZS10by1sZWZ0OmhvdmVyLCAuaHZyLWJvdW5jZS10by1sZWZ0OmZvY3VzLCAuaHZyLWJvdW5jZS10by1sZWZ0OmFjdGl2ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbi5odnItYm91bmNlLXRvLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJvdW5jZS10by1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tbGVmdDphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpO1xyXG59XHJcblxyXG4vKiBCb3VuY2UgVG8gQm90dG9tICovXHJcbi5odnItYm91bmNlLXRvLWJvdHRvbSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbn1cclxuLmh2ci1ib3VuY2UtdG8tYm90dG9tOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbn1cclxuLmh2ci1ib3VuY2UtdG8tYm90dG9tOmhvdmVyLCAuaHZyLWJvdW5jZS10by1ib3R0b206Zm9jdXMsIC5odnItYm91bmNlLXRvLWJvdHRvbTphY3RpdmUge1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4uaHZyLWJvdW5jZS10by1ib3R0b206aG92ZXI6YmVmb3JlLCAuaHZyLWJvdW5jZS10by1ib3R0b206Zm9jdXM6YmVmb3JlLCAuaHZyLWJvdW5jZS10by1ib3R0b206YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTtcclxufVxyXG5cclxuLyogQm91bmNlIFRvIFRvcCAqL1xyXG4uaHZyLWJvdW5jZS10by10b3Age1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG59XHJcbi5odnItYm91bmNlLXRvLXRvcDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItYm91bmNlLXRvLXRvcDpob3ZlciwgLmh2ci1ib3VuY2UtdG8tdG9wOmZvY3VzLCAuaHZyLWJvdW5jZS10by10b3A6YWN0aXZlIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuLmh2ci1ib3VuY2UtdG8tdG9wOmhvdmVyOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tdG9wOmZvY3VzOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tdG9wOmFjdGl2ZTpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7XHJcbn1cclxuXHJcbi8qIFJhZGlhbCBPdXQgKi9cclxuLmh2ci1yYWRpYWwtb3V0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbn1cclxuLmh2ci1yYWRpYWwtb3V0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItcmFkaWFsLW91dDpob3ZlciwgLmh2ci1yYWRpYWwtb3V0OmZvY3VzLCAuaHZyLXJhZGlhbC1vdXQ6YWN0aXZlIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuLmh2ci1yYWRpYWwtb3V0OmhvdmVyOmJlZm9yZSwgLmh2ci1yYWRpYWwtb3V0OmZvY3VzOmJlZm9yZSwgLmh2ci1yYWRpYWwtb3V0OmFjdGl2ZTpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xyXG59XHJcblxyXG4vKiBSYWRpYWwgSW4gKi9cclxuLmh2ci1yYWRpYWwtaW4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxufVxyXG4uaHZyLXJhZGlhbC1pbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDIpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMik7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXJhZGlhbC1pbjpob3ZlciwgLmh2ci1yYWRpYWwtaW46Zm9jdXMsIC5odnItcmFkaWFsLWluOmFjdGl2ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbi5odnItcmFkaWFsLWluOmhvdmVyOmJlZm9yZSwgLmh2ci1yYWRpYWwtaW46Zm9jdXM6YmVmb3JlLCAuaHZyLXJhZGlhbC1pbjphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxufVxyXG5cclxuLyogUmVjdGFuZ2xlIEluICovXHJcbi5odnItcmVjdGFuZ2xlLWluIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItcmVjdGFuZ2xlLWluOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6ICNlMWUxZTE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXJlY3RhbmdsZS1pbjpob3ZlciwgLmh2ci1yZWN0YW5nbGUtaW46Zm9jdXMsIC5odnItcmVjdGFuZ2xlLWluOmFjdGl2ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbi5odnItcmVjdGFuZ2xlLWluOmhvdmVyOmJlZm9yZSwgLmh2ci1yZWN0YW5nbGUtaW46Zm9jdXM6YmVmb3JlLCAuaHZyLXJlY3RhbmdsZS1pbjphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxufVxyXG5cclxuLyogUmVjdGFuZ2xlIE91dCAqL1xyXG4uaHZyLXJlY3RhbmdsZS1vdXQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbn1cclxuLmh2ci1yZWN0YW5nbGUtb3V0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXJlY3RhbmdsZS1vdXQ6aG92ZXIsIC5odnItcmVjdGFuZ2xlLW91dDpmb2N1cywgLmh2ci1yZWN0YW5nbGUtb3V0OmFjdGl2ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbi5odnItcmVjdGFuZ2xlLW91dDpob3ZlcjpiZWZvcmUsIC5odnItcmVjdGFuZ2xlLW91dDpmb2N1czpiZWZvcmUsIC5odnItcmVjdGFuZ2xlLW91dDphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxufVxyXG5cclxuLyogU2h1dHRlciBJbiBIb3Jpem9udGFsICovXHJcbi5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJhY2tncm91bmQ6ICNlMWUxZTE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpob3ZlciwgLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6Zm9jdXMsIC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmFjdGl2ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbi5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmhvdmVyOmJlZm9yZSwgLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG59XHJcblxyXG4vKiBTaHV0dGVyIE91dCBIb3Jpem9udGFsICovXHJcbi5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6ICNlMWUxZTE7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxufVxyXG4uaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDpob3ZlciwgLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmZvY3VzLCAuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YWN0aXZlIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmhvdmVyOmJlZm9yZSwgLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmZvY3VzOmJlZm9yZSwgLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmFjdGl2ZTpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XHJcbn1cclxuXHJcbi8qIFNodXR0ZXIgSW4gVmVydGljYWwgKi9cclxuLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbn1cclxuLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmhvdmVyLCAuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6Zm9jdXMsIC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDphY3RpdmUge1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4uaHZyLXNodXR0ZXItaW4tdmVydGljYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxufVxyXG5cclxuLyogU2h1dHRlciBPdXQgVmVydGljYWwgKi9cclxuLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6ICNlMWUxZTE7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxufVxyXG4uaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmhvdmVyLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmZvY3VzLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmFjdGl2ZSB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcbi5odnItc2h1dHRlci1vdXQtdmVydGljYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmZvY3VzOmJlZm9yZSwgLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xyXG59XHJcblxyXG4vKiBCT1JERVIgVFJBTlNJVElPTlMgKi9cclxuLyogQm9yZGVyIEZhZGUgKi9cclxuLmh2ci1ib3JkZXItZmFkZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICNlMWUxZTEsIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAvKiBIYWNrIHRvIGltcHJvdmUgYWxpYXNpbmcgb24gbW9iaWxlL3RhYmxldCBkZXZpY2VzICovXHJcbn1cclxuLmh2ci1ib3JkZXItZmFkZTpob3ZlciwgLmh2ci1ib3JkZXItZmFkZTpmb2N1cywgLmh2ci1ib3JkZXItZmFkZTphY3RpdmUge1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAjMjA5OEQxLCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqL1xyXG59XHJcblxyXG4vKiBIb2xsb3cgKi9cclxuLmh2ci1ob2xsb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAjZTFlMWUxLCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqL1xyXG59XHJcbi5odnItaG9sbG93OmhvdmVyLCAuaHZyLWhvbGxvdzpmb2N1cywgLmh2ci1ob2xsb3c6YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG59XHJcblxyXG4vKiBUcmltICovXHJcbi5odnItdHJpbSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5odnItdHJpbTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXI6IHdoaXRlIHNvbGlkIDRweDtcclxuICB0b3A6IDRweDtcclxuICBsZWZ0OiA0cHg7XHJcbiAgcmlnaHQ6IDRweDtcclxuICBib3R0b206IDRweDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xyXG59XHJcbi5odnItdHJpbTpob3ZlcjpiZWZvcmUsIC5odnItdHJpbTpmb2N1czpiZWZvcmUsIC5odnItdHJpbTphY3RpdmU6YmVmb3JlIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBSaXBwbGUgT3V0ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItcmlwcGxlLW91dCB7XHJcbiAgMTAwJSB7XHJcbiAgICB0b3A6IC0xMnB4O1xyXG4gICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgYm90dG9tOiAtMTJweDtcclxuICAgIGxlZnQ6IC0xMnB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItcmlwcGxlLW91dCB7XHJcbiAgMTAwJSB7XHJcbiAgICB0b3A6IC0xMnB4O1xyXG4gICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgYm90dG9tOiAtMTJweDtcclxuICAgIGxlZnQ6IC0xMnB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuLmh2ci1yaXBwbGUtb3V0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmh2ci1yaXBwbGUtb3V0OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvcmRlcjogI2UxZTFlMSBzb2xpZCA2cHg7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG59XHJcbi5odnItcmlwcGxlLW91dDpob3ZlcjpiZWZvcmUsIC5odnItcmlwcGxlLW91dDpmb2N1czpiZWZvcmUsIC5odnItcmlwcGxlLW91dDphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcmlwcGxlLW91dDtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLXJpcHBsZS1vdXQ7XHJcbn1cclxuXHJcbi8qIFJpcHBsZSBJbiAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXJpcHBsZS1pbiB7XHJcbiAgMTAwJSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1yaXBwbGUtaW4ge1xyXG4gIDEwMCUge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuLmh2ci1yaXBwbGUtaW4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uaHZyLXJpcHBsZS1pbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXI6ICNlMWUxZTEgc29saWQgNHB4O1xyXG4gIHRvcDogLTEycHg7XHJcbiAgcmlnaHQ6IC0xMnB4O1xyXG4gIGJvdHRvbTogLTEycHg7XHJcbiAgbGVmdDogLTEycHg7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxufVxyXG4uaHZyLXJpcHBsZS1pbjpob3ZlcjpiZWZvcmUsIC5odnItcmlwcGxlLWluOmZvY3VzOmJlZm9yZSwgLmh2ci1yaXBwbGUtaW46YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXJpcHBsZS1pbjtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLXJpcHBsZS1pbjtcclxufVxyXG5cclxuLyogT3V0bGluZSBPdXQgKi9cclxuLmh2ci1vdXRsaW5lLW91dCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5odnItb3V0bGluZS1vdXQ6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm9yZGVyOiAjZTFlMWUxIHNvbGlkIDRweDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQ7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0O1xyXG59XHJcbi5odnItb3V0bGluZS1vdXQ6aG92ZXI6YmVmb3JlLCAuaHZyLW91dGxpbmUtb3V0OmZvY3VzOmJlZm9yZSwgLmh2ci1vdXRsaW5lLW91dDphY3RpdmU6YmVmb3JlIHtcclxuICB0b3A6IC04cHg7XHJcbiAgcmlnaHQ6IC04cHg7XHJcbiAgYm90dG9tOiAtOHB4O1xyXG4gIGxlZnQ6IC04cHg7XHJcbn1cclxuXHJcbi8qIE91dGxpbmUgSW4gKi9cclxuLmh2ci1vdXRsaW5lLWluIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmh2ci1vdXRsaW5lLWluOmJlZm9yZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvcmRlcjogI2UxZTFlMSBzb2xpZCA0cHg7XHJcbiAgdG9wOiAtMTZweDtcclxuICByaWdodDogLTE2cHg7XHJcbiAgYm90dG9tOiAtMTZweDtcclxuICBsZWZ0OiAtMTZweDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdDtcclxufVxyXG4uaHZyLW91dGxpbmUtaW46aG92ZXI6YmVmb3JlLCAuaHZyLW91dGxpbmUtaW46Zm9jdXM6YmVmb3JlLCAuaHZyLW91dGxpbmUtaW46YWN0aXZlOmJlZm9yZSB7XHJcbiAgdG9wOiAtOHB4O1xyXG4gIHJpZ2h0OiAtOHB4O1xyXG4gIGJvdHRvbTogLThweDtcclxuICBsZWZ0OiAtOHB4O1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi8qIFJvdW5kIENvcm5lcnMgKi9cclxuLmh2ci1yb3VuZC1jb3JuZXJzIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlci1yYWRpdXM7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLXJhZGl1cztcclxufVxyXG4uaHZyLXJvdW5kLWNvcm5lcnM6aG92ZXIsIC5odnItcm91bmQtY29ybmVyczpmb2N1cywgLmh2ci1yb3VuZC1jb3JuZXJzOmFjdGl2ZSB7XHJcbiAgYm9yZGVyLXJhZGl1czogMWVtO1xyXG59XHJcblxyXG4vKiBVbmRlcmxpbmUgRnJvbSBMZWZ0ICovXHJcbi5odnItdW5kZXJsaW5lLWZyb20tbGVmdCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMTAwJTtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICBoZWlnaHQ6IDRweDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6Zm9jdXM6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6YWN0aXZlOmJlZm9yZSB7XHJcbiAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qIFVuZGVybGluZSBGcm9tIENlbnRlciAqL1xyXG4uaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlciB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICBsZWZ0OiA1MSU7XHJcbiAgcmlnaHQ6IDUxJTtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICBoZWlnaHQ6IDRweDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcjpob3ZlcjpiZWZvcmUsIC5odnItdW5kZXJsaW5lLWZyb20tY2VudGVyOmZvY3VzOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSB7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuLyogVW5kZXJsaW5lIEZyb20gUmlnaHQgKi9cclxuLmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIGxlZnQ6IDEwMCU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgaGVpZ2h0OiA0cHg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodDphY3RpdmU6YmVmb3JlIHtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4vKiBPdmVybGluZSBGcm9tIExlZnQgKi9cclxuLmh2ci1vdmVybGluZS1mcm9tLWxlZnQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5odnItb3ZlcmxpbmUtZnJvbS1sZWZ0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMTAwJTtcclxuICB0b3A6IDA7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICBoZWlnaHQ6IDRweDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLW92ZXJsaW5lLWZyb20tbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6YWN0aXZlOmJlZm9yZSB7XHJcbiAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qIE92ZXJsaW5lIEZyb20gQ2VudGVyICovXHJcbi5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICBsZWZ0OiA1MSU7XHJcbiAgcmlnaHQ6IDUxJTtcclxuICB0b3A6IDA7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICBoZWlnaHQ6IDRweDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyOmhvdmVyOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcjpmb2N1czpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSB7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuLyogT3ZlcmxpbmUgRnJvbSBSaWdodCAqL1xyXG4uaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIGxlZnQ6IDEwMCU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGJhY2tncm91bmQ6ICMyMDk4RDE7XHJcbiAgaGVpZ2h0OiA0cHg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDpob3ZlcjpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDphY3RpdmU6YmVmb3JlIHtcclxuICBsZWZ0OiAwO1xyXG59XHJcblxyXG4vKiBSZXZlYWwgKi9cclxuLmh2ci1yZXZlYWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5odnItcmV2ZWFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJvcmRlci1jb2xvcjogIzIwOThEMTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlci13aWR0aDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItd2lkdGg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItcmV2ZWFsOmhvdmVyOmJlZm9yZSwgLmh2ci1yZXZlYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXJldmVhbDphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XHJcbn1cclxuXHJcbi8qIFVuZGVybGluZSBSZXZlYWwgKi9cclxuLmh2ci11bmRlcmxpbmUtcmV2ZWFsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uaHZyLXVuZGVybGluZS1yZXZlYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiAjMjA5OEQxO1xyXG4gIGhlaWdodDogNHB4O1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLXVuZGVybGluZS1yZXZlYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1yZXZlYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1yZXZlYWw6YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4vKiBPdmVybGluZSBSZXZlYWwgKi9cclxuLmh2ci1vdmVybGluZS1yZXZlYWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5odnItb3ZlcmxpbmUtcmV2ZWFsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgYmFja2dyb3VuZDogIzIwOThEMTtcclxuICBoZWlnaHQ6IDRweDtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLW92ZXJsaW5lLXJldmVhbDpob3ZlcjpiZWZvcmUsIC5odnItb3ZlcmxpbmUtcmV2ZWFsOmZvY3VzOmJlZm9yZSwgLmh2ci1vdmVybGluZS1yZXZlYWw6YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4vKiBTSEFET1cvR0xPVyBUUkFOU0lUSU9OUyAqL1xyXG4vKiBHbG93ICovXHJcbi5odnItZ2xvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XHJcbn1cclxuLmh2ci1nbG93OmhvdmVyLCAuaHZyLWdsb3c6Zm9jdXMsIC5odnItZ2xvdzphY3RpdmUge1xyXG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG59XHJcblxyXG4vKiBTaGFkb3cgKi9cclxuLmh2ci1zaGFkb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xyXG59XHJcbi5odnItc2hhZG93OmhvdmVyLCAuaHZyLXNoYWRvdzpmb2N1cywgLmh2ci1zaGFkb3c6YWN0aXZlIHtcclxuICBib3gtc2hhZG93OiAwIDEwcHggMTBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbn1cclxuXHJcbi8qIEdyb3cgU2hhZG93ICovXHJcbi5odnItZ3Jvdy1zaGFkb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdywgdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3csIHRyYW5zZm9ybTtcclxufVxyXG4uaHZyLWdyb3ctc2hhZG93OmhvdmVyLCAuaHZyLWdyb3ctc2hhZG93OmZvY3VzLCAuaHZyLWdyb3ctc2hhZG93OmFjdGl2ZSB7XHJcbiAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxufVxyXG5cclxuLyogQm94IFNoYWRvdyBPdXRzZXQgKi9cclxuLmh2ci1ib3gtc2hhZG93LW91dHNldCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XHJcbn1cclxuLmh2ci1ib3gtc2hhZG93LW91dHNldDpob3ZlciwgLmh2ci1ib3gtc2hhZG93LW91dHNldDpmb2N1cywgLmh2ci1ib3gtc2hhZG93LW91dHNldDphY3RpdmUge1xyXG4gIGJveC1zaGFkb3c6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcclxufVxyXG5cclxuLyogQm94IFNoYWRvdyBJbnNldCAqL1xyXG4uaHZyLWJveC1zaGFkb3ctaW5zZXQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIHJnYmEoMCwgMCwgMCwgMC42KSwgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC8qIEhhY2sgdG8gaW1wcm92ZSBhbGlhc2luZyBvbiBtb2JpbGUvdGFibGV0IGRldmljZXMgKi9cclxufVxyXG4uaHZyLWJveC1zaGFkb3ctaW5zZXQ6aG92ZXIsIC5odnItYm94LXNoYWRvdy1pbnNldDpmb2N1cywgLmh2ci1ib3gtc2hhZG93LWluc2V0OmFjdGl2ZSB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpLCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqL1xyXG59XHJcblxyXG4vKiBGbG9hdCBTaGFkb3cgKi9cclxuLmh2ci1mbG9hdC1zaGFkb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbn1cclxuLmh2ci1mbG9hdC1zaGFkb3c6YmVmb3JlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgY29udGVudDogJyc7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIGxlZnQ6IDUlO1xyXG4gIGhlaWdodDogMTBweDtcclxuICB3aWR0aDogOTAlO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlLCByZ2JhKDAsIDAsIDAsIDAuMzUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XHJcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCByZ2JhKDAsIDAsIDAsIDAuMzUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XHJcbiAgLyogVzNDICovXHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xyXG59XHJcbi5odnItZmxvYXQtc2hhZG93OmhvdmVyLCAuaHZyLWZsb2F0LXNoYWRvdzpmb2N1cywgLmh2ci1mbG9hdC1zaGFkb3c6YWN0aXZlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XHJcbiAgLyogbW92ZSB0aGUgZWxlbWVudCB1cCBieSA1cHggKi9cclxufVxyXG4uaHZyLWZsb2F0LXNoYWRvdzpob3ZlcjpiZWZvcmUsIC5odnItZmxvYXQtc2hhZG93OmZvY3VzOmJlZm9yZSwgLmh2ci1mbG9hdC1zaGFkb3c6YWN0aXZlOmJlZm9yZSB7XHJcbiAgb3BhY2l0eTogMTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xyXG4gIC8qIG1vdmUgdGhlIGVsZW1lbnQgZG93biBieSA1cHggKGl0IHdpbGwgc3RheSBpbiBwbGFjZSBiZWNhdXNlIGl0J3MgYXR0YWNoZWQgdG8gdGhlIGVsZW1lbnQgdGhhdCBhbHNvIG1vdmVzIHVwIDVweCkgKi9cclxufVxyXG5cclxuLyogU2hhZG93IFJhZGlhbCAqL1xyXG4uaHZyLXNoYWRvdy1yYWRpYWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uaHZyLXNoYWRvdy1yYWRpYWw6YmVmb3JlLCAuaHZyLXNoYWRvdy1yYWRpYWw6YWZ0ZXIge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjb250ZW50OiAnJztcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBoZWlnaHQ6IDVweDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xyXG59XHJcbi5odnItc2hhZG93LXJhZGlhbDpiZWZvcmUge1xyXG4gIGJvdHRvbTogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCg1MCUgMTUwJSwgZWxsaXBzZSwgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XHJcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNTAlIDE1MCUsIHJnYmEoMCwgMCwgMCwgMC42KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA4MCUpO1xyXG59XHJcbi5odnItc2hhZG93LXJhZGlhbDphZnRlciB7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDUwJSAtNTAlLCBlbGxpcHNlLCByZ2JhKDAsIDAsIDAsIDAuNikgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTtcclxuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgLTUwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7XHJcbn1cclxuLmh2ci1zaGFkb3ctcmFkaWFsOmhvdmVyOmJlZm9yZSwgLmh2ci1zaGFkb3ctcmFkaWFsOmZvY3VzOmJlZm9yZSwgLmh2ci1zaGFkb3ctcmFkaWFsOmFjdGl2ZTpiZWZvcmUsIC5odnItc2hhZG93LXJhZGlhbDpob3ZlcjphZnRlciwgLmh2ci1zaGFkb3ctcmFkaWFsOmZvY3VzOmFmdGVyLCAuaHZyLXNoYWRvdy1yYWRpYWw6YWN0aXZlOmFmdGVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBTUEVFQ0ggQlVCQkxFUyAqL1xyXG4vKiBCdWJibGUgVG9wICovXHJcbi5odnItYnViYmxlLXRvcCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5odnItYnViYmxlLXRvcDpiZWZvcmUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICBjb250ZW50OiAnJztcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHgpO1xyXG4gIHRvcDogMDtcclxuICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxIHRyYW5zcGFyZW50O1xyXG59XHJcbi5odnItYnViYmxlLXRvcDpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLXRvcDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLXRvcDphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcclxufVxyXG5cclxuLyogQnViYmxlIFJpZ2h0ICovXHJcbi5odnItYnViYmxlLXJpZ2h0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmh2ci1idWJibGUtcmlnaHQ6YmVmb3JlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgY29udGVudDogJyc7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlMWUxZTE7XHJcbn1cclxuLmh2ci1idWJibGUtcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLXJpZ2h0OmFjdGl2ZTpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcclxufVxyXG5cclxuLyogQnViYmxlIEJvdHRvbSAqL1xyXG4uaHZyLWJ1YmJsZS1ib3R0b20ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uaHZyLWJ1YmJsZS1ib3R0b206YmVmb3JlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgY29udGVudDogJyc7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTtcclxuICBib3R0b206IDA7XHJcbiAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xyXG4gIGJvcmRlci1jb2xvcjogI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxufVxyXG4uaHZyLWJ1YmJsZS1ib3R0b206aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1ib3R0b206Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1ib3R0b206YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xyXG59XHJcblxyXG4vKiBCdWJibGUgTGVmdCAqL1xyXG4uaHZyLWJ1YmJsZS1sZWZ0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmh2ci1idWJibGUtbGVmdDpiZWZvcmUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICBjb250ZW50OiAnJztcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XHJcbiAgbGVmdDogMDtcclxuICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZTFlMWUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG59XHJcbi5odnItYnViYmxlLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1idWJibGUtbGVmdDphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcclxufVxyXG5cclxuLyogQnViYmxlIEZsb2F0IFRvcCAqL1xyXG4uaHZyLWJ1YmJsZS1mbG9hdC10b3Age1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbn1cclxuLmh2ci1idWJibGUtZmxvYXQtdG9wOmJlZm9yZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTBweCk7XHJcbiAgdG9wOiAwO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbn1cclxuLmh2ci1idWJibGUtZmxvYXQtdG9wOmhvdmVyLCAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6Zm9jdXMsIC5odnItYnViYmxlLWZsb2F0LXRvcDphY3RpdmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxufVxyXG4uaHZyLWJ1YmJsZS1mbG9hdC10b3A6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6YWN0aXZlOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XHJcbn1cclxuXHJcbi8qIEJ1YmJsZSBGbG9hdCBSaWdodCAqL1xyXG4uaHZyLWJ1YmJsZS1mbG9hdC1yaWdodCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxufVxyXG4uaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpiZWZvcmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgY29udGVudDogJyc7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDEwcHggMCAxMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxufVxyXG4uaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpob3ZlciwgLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6Zm9jdXMsIC5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmFjdGl2ZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XHJcbn1cclxuLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmFjdGl2ZTpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcclxufVxyXG5cclxuLyogQnViYmxlIEZsb2F0IEJvdHRvbSAqL1xyXG4uaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b20ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbn1cclxuLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmJlZm9yZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTBweCk7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xyXG4gIGJvcmRlci1jb2xvcjogI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbn1cclxuLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmhvdmVyLCAuaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206Zm9jdXMsIC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTphY3RpdmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xyXG59XHJcbi5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTphY3RpdmU6YmVmb3JlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcbn1cclxuXHJcbi8qIEJ1YmJsZSBGbG9hdCBMZWZ0ICovXHJcbi5odnItYnViYmxlLWZsb2F0LWxlZnQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbn1cclxuLmh2ci1idWJibGUtZmxvYXQtbGVmdDpiZWZvcmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAtMTtcclxuICBjb250ZW50OiAnJztcclxuICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XHJcbiAgbGVmdDogMDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDEwcHggMDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlMWUxZTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG59XHJcbi5odnItYnViYmxlLWZsb2F0LWxlZnQ6aG92ZXIsIC5odnItYnViYmxlLWZsb2F0LWxlZnQ6Zm9jdXMsIC5odnItYnViYmxlLWZsb2F0LWxlZnQ6YWN0aXZlIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XHJcbn1cclxuLmh2ci1idWJibGUtZmxvYXQtbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LWxlZnQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmFjdGl2ZTpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xyXG59XHJcblxyXG4vKiBJQ09OUyAqL1xyXG4vKiBJY29uIEJhY2sgKi9cclxuLmh2ci1pY29uLWJhY2sge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xyXG59XHJcbi5odnItaWNvbi1iYWNrIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbn1cclxuLmh2ci1pY29uLWJhY2s6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tYmFjazpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1iYWNrOmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTtcclxufVxyXG5cclxuLyogSWNvbiBGb3J3YXJkICovXHJcbi5odnItaWNvbi1mb3J3YXJkIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcclxufVxyXG4uaHZyLWljb24tZm9yd2FyZCAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItaWNvbi1mb3J3YXJkOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLWZvcndhcmQ6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tZm9yd2FyZDphY3RpdmUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xyXG59XHJcblxyXG4vKiBJY29uIERvd24gKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWRvd24ge1xyXG4gIDAlLFxyXG5cdDUwJSxcclxuXHQxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxuICAyNSUsXHJcblx0NzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItaWNvbi1kb3duIHtcclxuICAwJSxcclxuXHQ1MCUsXHJcblx0MTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbiAgMjUlLFxyXG5cdDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XHJcbiAgfVxyXG59XHJcbi8qIEljb24gRG93biAqL1xyXG4uaHZyLWljb24tZG93biB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1pY29uLWRvd24gLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbn1cclxuLmh2ci1pY29uLWRvd246aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZG93bjpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1kb3duOmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWRvd247XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWRvd247XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG5cclxuLyogSWNvbiBVcCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tdXAge1xyXG4gIDAlLFxyXG5cdDUwJSxcclxuXHQxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gIH1cclxuICAyNSUsXHJcblx0NzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1pY29uLXVwIHtcclxuICAwJSxcclxuXHQ1MCUsXHJcblx0MTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbiAgMjUlLFxyXG5cdDc1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcclxuICB9XHJcbn1cclxuLyogSWNvbiBVcCAqL1xyXG4uaHZyLWljb24tdXAge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcbi5odnItaWNvbi11cCAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxufVxyXG4uaHZyLWljb24tdXA6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tdXA6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tdXA6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tdXA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXVwO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbn1cclxuXHJcbi8qIEljb24gU3BpbiAqL1xyXG4uaHZyLWljb24tc3BpbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1pY29uLXNwaW4gLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDFzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbn1cclxuLmh2ci1pY29uLXNwaW46aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tc3Bpbjpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1zcGluOmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG59XHJcblxyXG4vKiBJY29uIERyb3AgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWRyb3Age1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICB9XHJcbiAgNTElLFxyXG5cdDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItaWNvbi1kcm9wIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgfVxyXG4gIDUxJSxcclxuXHQxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcbi8qIEljb24gRHJvcCAqL1xyXG4uaHZyLWljb24tZHJvcCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1pY29uLWRyb3AgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbn1cclxuLmh2ci1pY29uLWRyb3A6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZHJvcDpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1kcm9wOmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tZHJvcDtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tZHJvcDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuM3M7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7XHJcbn1cclxuXHJcbi8qIEljb24gRmFkZSAqL1xyXG4uaHZyLWljb24tZmFkZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1pY29uLWZhZGUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxufVxyXG4uaHZyLWljb24tZmFkZTpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1mYWRlOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLWZhZGU6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgY29sb3I6ICMwRjlFNUU7XHJcbn1cclxuXHJcbi8qIEljb24gRmxvYXQgQXdheSAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tZmxvYXQtYXdheSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24tZmxvYXQtYXdheSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7XHJcbiAgfVxyXG59XHJcbi8qIEljb24gRmxvYXQgQXdheSAqL1xyXG4uaHZyLWljb24tZmxvYXQtYXdheSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbn1cclxuLmh2ci1pY29uLWZsb2F0LWF3YXkgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuLmh2ci1pY29uLWZsb2F0LWF3YXk6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZmxvYXQtYXdheTpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1mbG9hdC1hd2F5OmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWZsb2F0LWF3YXk7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWZsb2F0LWF3YXk7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG5cclxuLyogSWNvbiBTaW5rIEF3YXkgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXNpbmstYXdheSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMWVtKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxZW0pO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1pY29uLXNpbmstYXdheSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMWVtKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxZW0pO1xyXG4gIH1cclxufVxyXG4vKiBJY29uIFNpbmsgQXdheSAqL1xyXG4uaHZyLWljb24tc2luay1hd2F5IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG4uaHZyLWljb24tc2luay1hd2F5IC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcbi5odnItaWNvbi1zaW5rLWF3YXk6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tc2luay1hd2F5OmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXNpbmstYXdheTphY3RpdmUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1zaW5rLWF3YXk7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXNpbmstYXdheTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcblxyXG4vKiBJY29uIEdyb3cgKi9cclxuLmh2ci1pY29uLWdyb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItaWNvbi1ncm93IC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbn1cclxuLmh2ci1pY29uLWdyb3c6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZ3Jvdzpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1ncm93OmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZVooMCk7XHJcbn1cclxuXHJcbi8qIEljb24gU2hyaW5rICovXHJcbi5odnItaWNvbi1zaHJpbmsge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItaWNvbi1zaHJpbmsgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWljb24tc2hyaW5rOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXNocmluazpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1zaHJpbms6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG59XHJcblxyXG4vKiBJY29uIFB1bHNlICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdWxzZSB7XHJcbiAgMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24tcHVsc2Uge1xyXG4gIDI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gIH1cclxufVxyXG4uaHZyLWljb24tcHVsc2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcbi5odnItaWNvbi1wdWxzZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbn1cclxuLmh2ci1pY29uLXB1bHNlOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXB1bHNlOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXB1bHNlOmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1bHNlO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxufVxyXG5cclxuLyogSWNvbiBQdWxzZSBHcm93ICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1ncm93IHtcclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1ncm93IHtcclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICB9XHJcbn1cclxuLmh2ci1pY29uLXB1bHNlLWdyb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcbi5odnItaWNvbi1wdWxzZS1ncm93IC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWljb24tcHVsc2UtZ3Jvdzpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1wdWxzZS1ncm93OmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXB1bHNlLWdyb3c6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2UtZ3JvdztcclxuICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2UtZ3JvdztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XHJcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xyXG59XHJcblxyXG4vKiBJY29uIFB1bHNlIFNocmluayAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcHVsc2Utc2hyaW5rIHtcclxuICB0byB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1zaHJpbmsge1xyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gIH1cclxufVxyXG4uaHZyLWljb24tcHVsc2Utc2hyaW5rIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxufVxyXG4uaHZyLWljb24tcHVsc2Utc2hyaW5rIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWljb24tcHVsc2Utc2hyaW5rOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXB1bHNlLXNocmluazpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1wdWxzZS1zaHJpbms6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2Utc2hyaW5rO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZS1zaHJpbms7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xyXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcclxufVxyXG5cclxuLyogSWNvbiBQdXNoICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdXNoIHtcclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24tcHVzaCB7XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xyXG4gIH1cclxufVxyXG4uaHZyLWljb24tcHVzaCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbn1cclxuLmh2ci1pY29uLXB1c2ggLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWljb24tcHVzaDpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1wdXNoOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXB1c2g6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVzaDtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVzaDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG59XHJcblxyXG4vKiBJY29uIFBvcCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcG9wIHtcclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24tcG9wIHtcclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgfVxyXG59XHJcbi5odnItaWNvbi1wb3Age1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItaWNvbi1wb3AgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWljb24tcG9wOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXBvcDpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1wb3A6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tcG9wO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wb3A7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxufVxyXG5cclxuLyogSWNvbiBCb3VuY2UgKi9cclxuLmh2ci1pY29uLWJvdW5jZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbn1cclxuLmh2ci1pY29uLWJvdW5jZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItaWNvbi1ib3VuY2U6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tYm91bmNlOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLWJvdW5jZTphY3RpdmUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDIuMDIsIDAuMzEsIC0wLjM2KTtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDIuMDIsIDAuMzEsIC0wLjM2KTtcclxufVxyXG5cclxuLyogSWNvbiBSb3RhdGUgKi9cclxuLmh2ci1pY29uLXJvdGF0ZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbn1cclxuLmh2ci1pY29uLXJvdGF0ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItaWNvbi1yb3RhdGU6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tcm90YXRlOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXJvdGF0ZTphY3RpdmUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7XHJcbn1cclxuXHJcbi8qIEljb24gR3JvdyBSb3RhdGUgKi9cclxuLmh2ci1pY29uLWdyb3ctcm90YXRlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxufVxyXG4uaHZyLWljb24tZ3Jvdy1yb3RhdGUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWljb24tZ3Jvdy1yb3RhdGU6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tZ3Jvdy1yb3RhdGU6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tZ3Jvdy1yb3RhdGU6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSkgcm90YXRlKDEyZGVnKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSkgcm90YXRlKDEyZGVnKTtcclxufVxyXG5cclxuLyogSWNvbiBGbG9hdCAqL1xyXG4uaHZyLWljb24tZmxvYXQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItaWNvbi1mbG9hdCAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi5odnItaWNvbi1mbG9hdDpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1mbG9hdDpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1mbG9hdDphY3RpdmUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XHJcbn1cclxuXHJcbi8qIEljb24gU2luayAqL1xyXG4uaHZyLWljb24tc2luayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbn1cclxuLmh2ci1pY29uLXNpbmsgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uaHZyLWljb24tc2luazpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi1zaW5rOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXNpbms6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxufVxyXG5cclxuLyogSWNvbiBCb2IgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWJvYiB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItaWNvbi1ib2Ige1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1ib2ItZmxvYXQge1xyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24tYm9iLWZsb2F0IHtcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xyXG4gIH1cclxufVxyXG4uaHZyLWljb24tYm9iIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxufVxyXG4uaHZyLWljb24tYm9iIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG59XHJcbi5odnItaWNvbi1ib2I6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tYm9iOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLWJvYjphY3RpdmUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1ib2ItZmxvYXQsIGh2ci1pY29uLWJvYjtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tYm9iLWZsb2F0LCBodnItaWNvbi1ib2I7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC4zcywgMS41cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IC4zcywgMS41cztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHMsIC4zcztcclxuICBhbmltYXRpb24tZGVsYXk6IDBzLCAuM3M7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSwgaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSwgaW5maW5pdGU7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlO1xyXG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlO1xyXG59XHJcblxyXG4vKiBJY29uIEhhbmcgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWhhbmcge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24taGFuZyB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xyXG4gIH1cclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcclxuICB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWhhbmctc2luayB7XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24taGFuZy1zaW5rIHtcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcclxuICB9XHJcbn1cclxuLmh2ci1pY29uLWhhbmcge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItaWNvbi1oYW5nIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG59XHJcbi5odnItaWNvbi1oYW5nOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLWhhbmc6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24taGFuZzphY3RpdmUgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1oYW5nLXNpbmssIGh2ci1pY29uLWhhbmc7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWhhbmctc2luaywgaHZyLWljb24taGFuZztcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMHMsIC4zcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XHJcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7XHJcbn1cclxuXHJcbi8qIEljb24gV29iYmxlIEhvcml6b250YWwgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsIHtcclxuICAxNi42NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpO1xyXG4gIH1cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcclxuICB9XHJcbiAgNDkuOTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcclxuICB9XHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7XHJcbiAgfVxyXG4gIDgzLjI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24td29iYmxlLWhvcml6b250YWwge1xyXG4gIDE2LjY1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7XHJcbiAgfVxyXG4gIDMzLjMlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xyXG4gIH1cclxuICA0OS45NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xyXG4gIH1cclxuICA2Ni42JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcclxuICB9XHJcbiAgODMuMjUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICB9XHJcbn1cclxuLmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxufVxyXG4uaHZyLWljb24td29iYmxlLWhvcml6b250YWwgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbn1cclxuLmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsOmhvdmVyIC5odnItaWNvbiwgLmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsOmZvY3VzIC5odnItaWNvbiwgLmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsOmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG59XHJcblxyXG4vKiBJY29uIFdvYmJsZSBWZXJ0aWNhbCAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24td29iYmxlLXZlcnRpY2FsIHtcclxuICAxNi42NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xyXG4gIH1cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICB9XHJcbiAgNDkuOTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuICB9XHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgfVxyXG4gIDgzLjI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgaHZyLWljb24td29iYmxlLXZlcnRpY2FsIHtcclxuICAxNi42NSUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xyXG4gIH1cclxuICAzMy4zJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICB9XHJcbiAgNDkuOTUlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcclxuICB9XHJcbiAgNjYuNiUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XHJcbiAgfVxyXG4gIDgzLjI1JSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG59XHJcbi5odnItaWNvbi13b2JibGUtdmVydGljYWwge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItaWNvbi13b2JibGUtdmVydGljYWwgLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbn1cclxuLmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDpob3ZlciAuaHZyLWljb24sIC5odnItaWNvbi13b2JibGUtdmVydGljYWw6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24td29iYmxlLXZlcnRpY2FsOmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDtcclxuICBhbmltYXRpb24tbmFtZTogaHZyLWljb24td29iYmxlLXZlcnRpY2FsO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbn1cclxuXHJcbi8qIEljb24gQnV6eiAqL1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tYnV6eiB7XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBodnItaWNvbi1idXp6IHtcclxuICA1MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xyXG4gIH1cclxufVxyXG4uaHZyLWljb24tYnV6eiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbn1cclxuLmh2ci1pY29uLWJ1enogLmh2ci1pY29uIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbn1cclxuLmh2ci1pY29uLWJ1eno6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tYnV6ejpmb2N1cyAuaHZyLWljb24sIC5odnItaWNvbi1idXp6OmFjdGl2ZSAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWJ1eno7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWJ1eno7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMTVzO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xNXM7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbn1cclxuXHJcbi8qIEljb24gQnV6eiBPdXQgKi9cclxuQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWJ1enotb3V0IHtcclxuICAxMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgfVxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xyXG4gIH1cclxuICA3MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7XHJcbiAgfVxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGh2ci1pY29uLWJ1enotb3V0IHtcclxuICAxMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7XHJcbiAgfVxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTtcclxuICB9XHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xyXG4gIH1cclxuICA3MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7XHJcbiAgfVxyXG4gIDkwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApO1xyXG4gIH1cclxufVxyXG4uaHZyLWljb24tYnV6ei1vdXQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG59XHJcbi5odnItaWNvbi1idXp6LW91dCAuaHZyLWljb24ge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxufVxyXG4uaHZyLWljb24tYnV6ei1vdXQ6aG92ZXIgLmh2ci1pY29uLCAuaHZyLWljb24tYnV6ei1vdXQ6Zm9jdXMgLmh2ci1pY29uLCAuaHZyLWljb24tYnV6ei1vdXQ6YWN0aXZlIC5odnItaWNvbiB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tYnV6ei1vdXQ7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWJ1enotb3V0O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxufVxyXG5cclxuLyogQ1VSTFMgKi9cclxuLyogQ3VybCBUb3AgTGVmdCAqL1xyXG4uaHZyLWN1cmwtdG9wLWxlZnQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uaHZyLWN1cmwtdG9wLWxlZnQ6YmVmb3JlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgY29udGVudDogJyc7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHdpZHRoOiAwO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIC8qIElFOSAqL1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHdoaXRlIDQ1JSwgI2FhYSA1MCUsICNjY2MgNTYlLCB3aGl0ZSA4MCUpO1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcpO1xyXG4gIC8qRm9yIElFNy04LTkqL1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0O1xyXG59XHJcbi5odnItY3VybC10b3AtbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItY3VybC10b3AtbGVmdDpmb2N1czpiZWZvcmUsIC5odnItY3VybC10b3AtbGVmdDphY3RpdmU6YmVmb3JlIHtcclxuICB3aWR0aDogMjVweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbn1cclxuXHJcbi8qIEN1cmwgVG9wIFJpZ2h0ICovXHJcbi5odnItY3VybC10b3AtcmlnaHQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uaHZyLWN1cmwtdG9wLXJpZ2h0OmJlZm9yZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGhlaWdodDogMDtcclxuICB3aWR0aDogMDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgLyogSUU5ICovXHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyNWRlZywgd2hpdGUgNDUlLCAjYWFhIDUwJSwgI2NjYyA1NiUsIHdoaXRlIDgwJSk7XHJcbiAgYm94LXNoYWRvdzogLTFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7XHJcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDtcclxufVxyXG4uaHZyLWN1cmwtdG9wLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1jdXJsLXRvcC1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItY3VybC10b3AtcmlnaHQ6YWN0aXZlOmJlZm9yZSB7XHJcbiAgd2lkdGg6IDI1cHg7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG59XHJcblxyXG4vKiBDdXJsIEJvdHRvbSBSaWdodCAqL1xyXG4uaHZyLWN1cmwtYm90dG9tLXJpZ2h0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmh2ci1jdXJsLWJvdHRvbS1yaWdodDpiZWZvcmUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjb250ZW50OiAnJztcclxuICBoZWlnaHQ6IDA7XHJcbiAgd2lkdGg6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIC8qIElFOSAqL1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMTVkZWcsIHdoaXRlIDQ1JSwgI2FhYSA1MCUsICNjY2MgNTYlLCB3aGl0ZSA4MCUpO1xyXG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0O1xyXG59XHJcbi5odnItY3VybC1ib3R0b20tcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLWN1cmwtYm90dG9tLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci1jdXJsLWJvdHRvbS1yaWdodDphY3RpdmU6YmVmb3JlIHtcclxuICB3aWR0aDogMjVweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbn1cclxuXHJcbi8qIEN1cmwgQm90dG9tIExlZnQgKi9cclxuLmh2ci1jdXJsLWJvdHRvbS1sZWZ0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMXB4KSB0cmFuc2xhdGVaKDApO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGhlaWdodDogMDtcclxuICB3aWR0aDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAvKiBJRTkgKi9cclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHdoaXRlIDQ1JSwgI2FhYSA1MCUsICNjY2MgNTYlLCB3aGl0ZSA4MCUpO1xyXG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0O1xyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7XHJcbn1cclxuLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmhvdmVyOmJlZm9yZSwgLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmFjdGl2ZTpiZWZvcmUge1xyXG4gIHdpZHRoOiAyNXB4O1xyXG4gIGhlaWdodDogMjVweDtcclxufVxyXG5cclxuLyojIHNvdXJjZU1hcHBpbmdVUkw9aG92ZXIuY3NzLm1hcCAqL1xyXG4iLCIvKiBMRVNTIC8gU29jaWFsIE1lZGlhIEJyYW5kIENvbG9ycyAqL1xuLy9mb3VuZCBoZXJlIGh0dHBzOi8vd3d3LmNvbXBldGV0aGVtZXMuY29tL3NvY2lhbC1tZWRpYS1jb2xvcnNcblxuQHNvY2lhbC1uZXR3b3JrczogJ3R3aXR0ZXInLCdmYWNlYm9vaycsJ2dvb2dsZXBsdXMnLCdwaW50ZXJlc3QnLCdsaW5rZWRpbicsJ3lvdXR1YmUnLCd2aW1lbycsJ3R1bWJscicsJ2luc3RhZ3JhbScsJ2ZsaWNrcicsJ2RyaWJiYmxlJywncXVvcmEnLCdmb3Vyc3F1YXJlJywnZm9ycnN0JywndmsnLCd3b3JkcHJlc3MnLCdzdHVtYmxldXBvbicsJ3lhaG9vJywnYmxvZ2dlcicsJ3NvdW5kY2xvdWQnO1xuXG5AdHdpdHRlci1icmFuZC1jb2xvcjogIzAwYWNlZDtcbkBmYWNlYm9vay1icmFuZC1jb2xvcjogIzNiNTk5ODtcbkBnb29nbGVwbHVzLWJyYW5kLWNvbG9yOiAjZGQ0YjM5O1xuQHBpbnRlcmVzdC1icmFuZC1jb2xvcjogI2NiMjAyNztcbkBsaW5rZWRpbi1icmFuZC1jb2xvcjogIzAwN2JiNjtcbkB5b3V0dWJlLWJyYW5kLWNvbG9yOiAjYmIwMDAwO1xuQHZpbWVvLWJyYW5kLWNvbG9yOiAjYWFkNDUwO1xuQHR1bWJsci1icmFuZC1jb2xvcjogIzMyNTA2ZDtcbkBpbnN0YWdyYW0tYnJhbmQtY29sb3I6ICM1MTdmYTQ7XG5AZmxpY2tyLWJyYW5kLWNvbG9yOiAjZmYwMDg0O1xuQGRyaWJiYmxlLWJyYW5kLWNvbG9yOiAjZWE0Yzg5O1xuQHF1b3JhLWJyYW5kLWNvbG9yOiAjYTgyNDAwO1xuQGZvdXJzcXVhcmUtYnJhbmQtY29sb3I6ICMwMDcyYjE7XG5AZm9ycnN0LWJyYW5kLWNvbG9yOiAjNUI5QTY4O1xuQHZrLWJyYW5kLWNvbG9yOiAjNDU2NjhlO1xuQHdvcmRwcmVzcy1icmFuZC1jb2xvcjogIzIxNzU5YjtcbkBzdHVtYmxldXBvbi1icmFuZC1jb2xvcjogI0VCNDgyMztcbkB5YWhvby1icmFuZC1jb2xvcjogIzdCMDA5OTtcbkBibG9nZ2VyLWJyYW5kLWNvbG9yOiAjZmI4ZjNkO1xuQHNvdW5kY2xvdWQtYnJhbmQtY29sb3I6ICNmZjNhMDA7XG5cblxuQGltcG9ydCBcImZvclwiO1xuXG4me1xuXHQuZm9yKEBzb2NpYWwtbmV0d29ya3MpOyAuLWVhY2goQG5ldHdvcmspIHtcblx0XHRAbmFtZTogZShAbmV0d29yayk7XG5cdFx0QGJyYW5kLWNvbG9yOiBcIkB7bmFtZX0tYnJhbmQtY29sb3JcIjtcblx0XHQuY29sb3ItQHtuYW1lfSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAQGJyYW5kLWNvbG9yICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdC5zb2Z0LWNvbG9yLUB7bmFtZX0ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogYXZlcmFnZShAQGJyYW5kLWNvbG9yLCAjYWFhKSAhaW1wb3J0YW50O1xuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQEBicmFuZC1jb2xvciAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIkB4bC1mYWN0b3I6IDEuNDtcbkBwYWRkaW5nLXhsLXZlcnRpY2FsOiBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIEB4bC1mYWN0b3I7XG5AcGFkZGluZy14bC1ob3Jpem9udGFsOiBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsICogQHhsLWZhY3RvcjtcbkBmb250LXNpemUteGw6IEBmb250LXNpemUtbGFyZ2UgKiBAeGwtZmFjdG9yO1xuQGxpbmUtaGVpZ2h0LXhsOiBAbGluZS1oZWlnaHQtbGFyZ2UgKiBAeGwtZmFjdG9yO1xuQGJvcmRlci1yYWRpdXMteGw6IEBib3JkZXItcmFkaXVzLWxhcmdlICogQHhsLWZhY3RvcjtcblxuLmJ0bi14bHtcblx0LmJ1dHRvbi1zaXplKEBwYWRkaW5nLXhsLXZlcnRpY2FsOyBAcGFkZGluZy14bC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXhsOyBAbGluZS1oZWlnaHQteGw7IEBib3JkZXItcmFkaXVzLXhsKTtcbn1cbi8vZ2l2ZSBuYXJyb3cgYnV0dG9ucyBzb21lIGV4dHJhIHdpZHRoXG4uYnRuLXdpZGV7XG5cdG1pbi13aWR0aDogMzAlO1xufVxuIiwiLnR5cG9ncmFwaHl7XG5cdGltZyB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdCYucmlnaHQge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcblx0XHR9XG5cdFx0Ji5sZWZ0IHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdFx0fVxuXHRcdCYubGVmdEFsb25lIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMDAlO1xuXHRcdH1cblx0XHQmLnJpZ2h0QWxvbmUge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwMCU7XG5cdFx0fVxuXHRcdCYuY2VudGVyIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblx0Ly9kb24ndCBsZXQgaGVhZGluZ3MgYmUgYWZmZWN0ZWQgYnkgbGVmdC9yaWdodCBhbGlnbmVkIGltYWdlc1xuXHRoMSxoMixoMyxoNCxoNSxoNntcblx0XHRjbGVhcjogbGVmdDtcblx0fVxufVxuIiwiQHZlcnRpY2FsLWdhcDogQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxucC5tZXNzYWdle1xuXHRwYWRkaW5nOiAxNXB4O1xuXHQuYmctaW5mbztcblx0Ji5iYWR7XG5cdFx0LmJnLWRhbmdlcjtcblx0fVxuXHQmLndhcm5pbmd7XG5cdFx0LmJnLXdhcm5pbmc7XG5cdH1cblx0Ji5nb29ke1xuXHRcdC5iZy1zdWNjZXNzO1xuXHR9XG59XG5cbmZvcm17XG5cdC5BY3Rpb25ze1xuXHRcdG1hcmdpbi10b3A6IEB2ZXJ0aWNhbC1nYXA7XG5cdH1cblx0dGV4dGFyZWF7XG5cdFx0cmVzaXplOiBub25lO1xuXHR9XG5cdCYuZm9ybS1pbmxpbmV7XG5cdFx0LmZpZWxkLCAuQWN0aW9ucywgLmNvbnRyb2xzLCBmaWVsZHNldHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdFx0LkFjdGlvbnN7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxufVxuXG4uZm9ybS1ncm91cHtcblx0Ji5ob2xkZXItdmFsaWRhdGlvbntcblx0XHQuaGFzLWVycm9yO1xuXHR9XG59XG5cbi5hY3Rpb25zcm93e1xuXHRtYXJnaW46IEB2ZXJ0aWNhbC1nYXAgMDtcbn1cblxuLmZvcm0taW5saW5lLmZvcm0tYWx3YXlzLWlubGluZXtcblx0LmZvcm0tZ3JvdXAsIGZpZWxkc2V0LCAuZm9ybS1jb250cm9sIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0LmZvcm0tY29udHJvbHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuIiwiYm9keXtcblx0LmFuaW1hdGVkO1xuXHQuZmFkZUluO1xufSIsIi8vYWRkcyBzaG93IG1lbnUgb24gaG92ZXIgdG8gYm9vdHN0cmFwIG1hdlxuLm5hdi1ob3Zlcntcblx0PiBsaXtcblx0XHQvL2NzcyBtZW51IGhvdmVyc1xuXHRcdCY6aG92ZXJ7XG5cdFx0XHQuZHJvcGRvd24tbWVudXtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvL2V4cGFuZCBhbGwgc3ViLW1lbnVzIG9uIG1vYmlsZVxuQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG5cdC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51e1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmbG9hdDogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG59IiwiLmhlYWRlcl9sb2dvIGltZ3tcblx0bWF4LWhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDEwcHggMDtcbn0iLCIvL3NlbnNpYmxlIGRlZmF1bHQgLSBkb24ndCBsZXQgaWZyYW1lcyBiZSB3aWRlciB0aGFuIHRoZSBwYWdlXG5pZnJhbWV7XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLy9hZGQgYSBnYXAgdG8gdGhlIGJvdHRvbSBvZiB0aGUgY29udGVudCBhcmVhXG4ubGF5b3V0e1xuXHRtaW4taGVpZ2h0OiA1MDBweDtcblx0cGFkZGluZy1ib3R0b206IDUwcHg7XG59XG4iLCIuaGVyb2Jhbm5lcntcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0Lmp1bWJvdHJvbntcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdFx0Ym9yZGVyOm5vbmU7XG5cdH1cbn1cblxuLmp1bWJvdHJvbntcblx0Ji5pbnZlcnR7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdH1cbn0iLCJcbi5uYXZiYXItaW52ZXJzZXtcblx0YmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuXHQubmF2YmFyLXRvZ2dsZXtcblx0XHRib3JkZXItY29sb3I6IEB3aGl0ZTtcblx0XHRjb2xvcjogQHdoaXRlO1xuXHR9XG5cdC5uYXZiYXItYnJhbmQge1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxufVxuI3RvcG5hdiB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW46IDA7XG5cdC5kcm9wZG93bi1tZW51e1xuXHRcdG1pbi13aWR0aDogMjYwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0bGl7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzcHg7XG5cdFx0XHRhe1xuXHRcdFx0XHRjb2xvcjogQGJsYWNrO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0cGFkZGluZzogMWVtO1xuXHRcdFx0fVxuXHRcdFx0Ji5hY3RpdmUgYXtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2RkZDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmRyb3Bkb3duLXN1Ym1lbnV7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cdCAjdG9wbmF2e1xuICAgICAgIC5uYXZiYXItZml4ZWQtdG9wO1xuICAgIH1cbn1cbiIsIi5zZWN0aW9uID4gLmNvbnRhaW5lcixcbi5zZWN0aW9uX2lubmVye1xuXHRwYWRkaW5nLXRvcDogNWVtO1xuXHRwYWRkaW5nLWJvdHRvbTogNWVtO1xuXG5cdC5idG57XG5cdFx0Zm9udC1zaXplOiAxMzAlO1xuXHR9XG59XG5cbi5zZWN0aW9uX2ludmVyc2V7XG5cdGNvbG9yOiBAd2hpdGU7XG5cdGF7XG5cdFx0Y29sb3I6IEB3aGl0ZTtcblx0fVxuXHQuYnRuLWRlZmF1bHR7XG5cdFx0LmJ0bi1kZWZhdWx0LWludmVyc2U7XG5cdH1cbn1cblxuLnNlY3Rpb25fZ3JleXtcblx0YmFja2dyb3VuZDogQGdyZXk7XG5cdC5zZWN0aW9uX2ludmVyc2U7XG59XG5cbi5zZWN0aW9uX2JsYWNre1xuXHRiYWNrZ3JvdW5kOiBAYmxhY2s7XG5cdC5zZWN0aW9uX2ludmVyc2U7XG59XG5cbi5zZWN0aW9uX2FxdWEge1xuXHRiYWNrZ3JvdW5kOiBAYXF1YTtcblx0LnNlY3Rpb25faW52ZXJzZTtcbn1cblxuLnNlY3Rpb25feWVsbG93IHtcblx0YmFja2dyb3VuZDogQHllbGxvdztcbn1cblxuLnNlY3Rpb25fcGhvdG8ge1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRtaW4taGVpZ2h0OiA2MDBweDtcblx0QG1lZGlhIChtYXgtd2lkdGg6IDEzMDBweCkge1xuXHRcdG1pbi1oZWlnaHQ6IDQwMHB4O1xuXHR9XG5cdEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuXHRcdG1pbi1oZWlnaHQ6IDMwMHB4O1xuXHR9XG59XG5cblxuLnNlY3Rpb25fbG9nb3tcblx0cGFkZGluZy1ib3R0b206IDVlbTtcbn1cbiIsIlxuLmJ0bi1kZWZhdWx0LCBmb3JtIGlucHV0LmJ0bntcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyLXdpZHRoOiAzcHg7XG5cdGJvcmRlci1jb2xvcjogQGJsYWNrO1xuXHRjb2xvcjogQGJsYWNrO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRtaW4td2lkdGg6IDVlbTtcblx0cGFkZGluZy1yaWdodDogMmVtO1xuXHRwYWRkaW5nLWxlZnQ6IDJlbTtcblx0Zm9udC1zaXplOiAxNjAlO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Jjpob3Zlcntcblx0XHRjb2xvcjogQGJsYWNrO1xuXHRcdGJvcmRlci1jb2xvcjogQGJsYWNrO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGZhZGVvdXQoQGJsYWNrLCA5MCUpXG5cdH1cbn1cblxuLmJ0bi1kZWZhdWx0LWludmVyc2V7XG5cdGJvcmRlci1jb2xvcjogQHdoaXRlO1xuXHRjb2xvcjogQHdoaXRlO1xuXHQmOmhvdmVye1xuXHRcdGNvbG9yOiBAd2hpdGU7XG5cdFx0Ym9yZGVyLWNvbG9yOiBAd2hpdGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogZmFkZW91dChAd2hpdGUsIDkwJSlcblx0fVxufVxuXG4uYnRuLWFjdGlvbnN7XG5cdG1hcmdpbi10b3A6IDJlbTtcbn1cblxuLy9UT0RPOiBhbmltYXRlIG9uIGhvdmVyXG4iLCJmb3Jte1xuXHRpbnB1dC50ZXh0LFxuXHR0ZXh0YXJlYXtcblx0XHRib3JkZXI6IDNweCBzb2xpZCBAYmxhY2s7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogNTAwcHg7XG5cdFx0cGFkZGluZzogMC4zZW07XG5cblx0fVxuXHR0ZXh0YXJlYSB7XG5cdFx0cmVzaXplOiB2ZXJ0aWNhbDtcblx0fVxuXHQuZmllbGR7XG5cdFx0bWFyZ2luLXRvcDogMC41ZW07XG5cdFx0bGFiZWwsIGxlZ2VuZHtcblx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxZW07XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHR9XG5cdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdCYuY2hlY2tib3h7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0XHRcdGlucHV0e1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdH1cblx0XHRcdGxhYmVsIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzcGFuLm1lc3NhZ2Uge1xuXHRcdFx0YmFja2dyb3VuZDogQGxpZ2h0LWdyZXk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBhZGRpbmc6IDAuM2VtO1xuXHRcdFx0Ji5lcnJvciwmLmJhZHtcblx0XHRcdFx0YmFja2dyb3VuZDogbGlnaHRlbihAcmVkLCA0MCUpO1xuXHRcdFx0XHRjb2xvcjogQHJlZDtcblx0XHRcdH1cblx0XHRcdCYud2FybmluZ3tcblx0XHRcdFx0YmFja2dyb3VuZDogbGlnaHRlbihAeWVsbG93LCA0MCUpO1xuXHRcdFx0XHRjb2xvcjogQHllbGxvdztcblx0XHRcdH1cblx0XHRcdCYuc3VjY2VzcywmLmdvb2R7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpZ2h0ZW4oQGdyZWVuLCA0MCUpO1xuXHRcdFx0XHRjb2xvcjogQGdyZWVuO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuQWN0aW9uc3tcblx0XHRtYXgtd2lkdGg6IDUwMHB4O1xuXHR9XG5cdC5zdGVwLWJ1dHRvbnN7XG5cdFx0cGFkZGluZzogMDtcblx0XHRidXR0b257XG5cdFx0XHQuYnRuO1xuXHRcdFx0LmJ0bi1kZWZhdWx0O1xuXHRcdH1cblx0fVxufVxuZm9ybS51c2VyZm9ybXtcblx0bWF4LXdpZHRoOiA1MDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdC5wcm9ncmVzcy10aXRsZXtcblx0XHRmb250LXNpemU6IDI4cHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxuXHRsZWdlbmR7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVxuIiwiaDF7XG5cdGZvbnQtd2VpZ2h0OmJvbGQ7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wYWdldGl0bGV7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4iLCIuaGVybyB7XG5cdGJhY2tncm91bmQtY29sb3I6IEBncmF5O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Lmhlcm9faW5uZXIge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUlO1xuXHRcdG1pbi1oZWlnaHQ6IDM4MHB4O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcblx0XHQmLm5vcGFyYWxsYXh7XG5cdFx0XHRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcblx0XHR9XG5cdH1cblxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcblx0Lmhlcm97XG5cdFx0Lmhlcm9faW5uZXIge1xuXHRcdFx0Ji5ub3BhcmFsbGF4e1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAyMDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIm9sLmJyZWFkY3J1bWJ7XG4gICBiYWNrZ3JvdW5kOiBub25lO1xuICAgYXtcbiAgICAgIGNvbG9yOiAjNTU1O1xuICAgfVxufVxuIiwidWwucGFnaW5hdGlvbntcblx0YSB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGNvbG9yOiBAYmxhY2s7XG5cdH1cblx0LmFjdGl2ZSBhe1xuXHRcdGJhY2tncm91bmQ6IEBibGFjaztcblx0fVxufVxuIiwiLnNvY2lhbC1saW5rc3tcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRhe1xuXHRcdHBhZGRpbmctbGVmdDogNnB4ICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Jjpob3Zlcntcblx0XHRcdGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0Ji54c3tcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cbn1cbiIsIi5hbGVydC5hbGVydC1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93O1xuICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uc2l0ZS1iYW5uZXItaW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn0iLCIuaG9tZXBhZ2VfbmF2aWdhdGlvbntcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdC5uYXZiYXItbmF2IHtcblx0XHRmbG9hdDogbm9uZTtcblx0fVxuXHQubmF2YmFyLW5hdiA+bGl7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0Lm5hdmJhci1jb2xsYXBzZSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0Lm5hdntcblx0XHRsaSBhe1xuXHRcdFx0Y29sb3I6IEBibGFjaztcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdH1cblx0fVxufVxuXG4uc2VjdGlvbl9jb250YWN0IGgxe1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5zZWN0aW9uX3NlcnZpY2Vze1xuXHRoM3tcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRmb250LXNpemU6IDEyMCU7XG5cdH1cbn1cblxuLnNlY3Rpb25fcGFzdG9yc3tcblx0aDEsaDIsaDN7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXHRoMXtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdGZvbnQtc2l6ZTogNDBweDtcblx0fVxuXHRoMntcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0fVxufVxuIiwiLnN0YWZmcHJvZmlsZXtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiA1MHB4O1xuXHRpbWd7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQGJsdWU7XG5cdFx0bWF4LXdpZHRoOiA5MCU7XG5cdH1cblx0LnN0YWZmcHJvZmlsZV9uYW1le1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRtYXJnaW4tYm90dG9tOiAzcHg7XG5cdH1cblx0LnN0YWZmcHJvZmlsZV90aXRsZXtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRjb2xvcjogQGdyYXk7XG5cdH1cbn1cblxuLnN0YWZmcHJvZmlsZV9tYWlue1xuXHRtYXJnaW4tYm90dG9tOiA1ZW07XG5cdC5pbWctY2lyY2xle1xuXHRcdG1hcmdpbi10b3A6IDJlbTtcblx0fVxuXHQuc3RhZmZwcm9maWxlX2JsdXJie1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblx0LnN0YWZmcHJvZmlsZV9uYW1le1xuXHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblx0LnN0YWZmcHJvZmlsZV90aXRsZXtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59XG4iLCIubWVkaWFpdGVte1xuXHRpbWd7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLm1lZGlhaXRlbV9kZXRhaWxze1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRjbGVhcjogYm90aDtcbn1cblxuLm1lZGlhaXRlbV90aXRsZXtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRtYXJnaW4tdG9wOiAwLjhlbTtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1lZGlhaXRlbV9kYXRle1xuXHRmb250LXNpemU6IDkwJTtcblx0bWFyZ2luLXRvcDogMC4zZW07XG5cdG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5tZWRpYWl0ZW0gaW1ne1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHR9XG5cdC5tZWRpYWl0ZW1fZGV0YWlsc3tcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuLm1lZGlhX2FyY2hpdmVsaW5re1xuXHRtYXJnaW46IDEuOGVtIDA7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVkaWFwbGF5ZXIgaWZyYW1le1xuXHRtYXJnaW4tdG9wOiAyZW07XG5cdG1pbi1oZWlnaHQ6IDYwMHB4O1xuXHR3aWR0aDogMTAwJTtcblx0QG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuXHRcdG1pbi1oZWlnaHQ6IDQwMHB4XG5cdH1cblx0QG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0bWluLWhlaWdodDogMzAwcHhcblx0fVxuXHRAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcblx0XHRtaW4taGVpZ2h0OiAyMDBweFxuXHR9XG59XG5cbi5NZWRpYVBhZ2UgLmxheW91dHtcblx0cGFkZGluZy1ib3R0b206IDA7XG5cdG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5tZWRpYXBhZ2Vfd2F0Y2hfdGl0bGV7XG5cdGZvbnQtc2l6ZTogMjFweDtcbn1cbi5tZWRpYXBhZ2Vfd2F0Y2hfZGF0ZXtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuIiwiLmNvbm5lY3QtZ3JvdXBzLWNhdGVnb3J5LXRpdGxle1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93O1xuXHRmb250LXNpemU6IDEuNmVtO1xuXHRwYWRkaW5nOiAwLjZlbTtcbn1cblxuLmNvbm5lY3QtZ3JvdXB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWJvdHRvbTogMmVtO1xuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiA3cHg7XG5cdH1cblx0LmNvbm5lY3QtZ3JvdXAtbmFtZXtcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG5cdC5jb25uZWN0LWdyb3VwLWRlc2NyaXB0aW9ue1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdH1cblx0LmNvbm5lY3QtZ3JvdXAtdGltZXBsYWNle1xuXHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblx0Ji5yZWdpc3RyYXRpb24tY2xvc2Vke1xuXHRcdGNvbG9yOiBncmV5O1xuXHR9XG5cdC5mdWxsLW5vdGljZXtcblx0XHRjb2xvcjogI0ZGNjY2Njtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVxuIiwiQHRoZW1lX3Jvb3Q6IFwiLi5cIjtcblxuLy8gYm93ZXIgY29tcG9uZW50c1xuQG5vZGU6IFwiQHt0aGVtZV9yb290fS9ub2RlX21vZHVsZXNcIjtcbkBpbXBvcnQgXCJAe25vZGV9L2Jvb3RzdHJhcC9sZXNzL2Jvb3RzdHJhcC5sZXNzXCI7XG5AaW1wb3J0IFwiQHtub2RlfS9sZXNzaGF0L2xlc3NoYXQtcHJlZml4ZWQubGVzc1wiO1xuQGltcG9ydCBcIkB7bm9kZX0vYW5pbWF0ZS5sZXNzL2FuaW1hdGUubGVzc1wiO1xuQGltcG9ydCAobGVzcykgXCJAe25vZGV9L2hvdmVyLmNzcy9jc3MvaG92ZXIuY3NzXCI7XG5cbi8vbGlicmFyaWVzIC0gZ2xvYmFsbHkgcmV1c2FibGUgdGhpbmdzXG4vL0BpbXBvcnQgXCJsaWIvYm9vdHN3YXRjaC10aGVtZS5sZXNzXCI7XG4vL0BpbXBvcnQgXCJsaWIvZm9udHMubGVzc1wiO1xuQGltcG9ydCBcImxpYi9zb2NpYWwtbWVkaWEtY29sb3JzLmxlc3NcIjtcblxuLy90aGlzIHRha2VzIGFwcHIuIDNzIHRvIGxvYWRcbi8vQGltcG9ydCBcImxpYi9pY29ucy5sZXNzXCI7XG5AaW1wb3J0IFwibGliL3hsLWJ1dHRvbi5sZXNzXCI7XG5AaW1wb3J0IFwibGliL3R5cG9ncmFwaHkubGVzc1wiO1xuQGltcG9ydCBcImxpYi9ib290c3RyYXAtc2lsdmVyc3RyaXBlLmxlc3NcIjtcbkBpbXBvcnQgXCJsaWIvcGFnZS10cmFuc2l0aW9ucy5sZXNzXCI7XG5AaW1wb3J0IFwibGliL25hdmhvdmVyLmxlc3NcIjtcbkBpbXBvcnQgXCJsaWIvbmF2bW9iaWxlLmxlc3NcIjtcblxuLy9jb21wb25lbnRzIC0gc3BlY2lmaWMgc2VjdGlvbnNcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlci5sZXNzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50Lmxlc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hvbWVwYWdlLmxlc3NcIjtcblxuLy8gbGlic1xuLy9UT0RPOiBnZXQgYm9vdHN0cmFwIGxpYnMgbG9hZGluZ1xuLy9AaW1wb3J0IFwiLi4vLi4vYm9vdHN0cmFwL2xlc3MvbGliL25hdm1vYmlsZVwiO1xuXG4vLyBsaWJzXG5AaW1wb3J0IFwibGliL2VsZW1lbnRzXCI7XG5cbi8vIG92ZXJhbGxcbkBpbXBvcnQgXCJjb2xvcnNcIjtcbkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcInRvcG5hdlwiO1xuQGltcG9ydCBcInNlY3Rpb25zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZXJvYmFubmVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc29jaWFsbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsZXJ0c1wiO1xuXG4vLyBwYWdlLXNwZWNpZmljXG5AaW1wb3J0IFwicGFnZXMvaG9tZXBhZ2VcIjtcbkBpbXBvcnQgXCJwYWdlcy9zdGFmZnByb2ZpbGVzXCI7XG5AaW1wb3J0IFwicGFnZXMvbWVkaWFwYWdlXCI7XG5AaW1wb3J0IFwicGFnZXMvY29ubmVjdGdyb3Vwc1wiO1xuXG5AYm9yZGVyLXJhZGl1cy1iYXNlOiAwO1xuXG4jQmV0dGVyTmF2aWdhdG9yIHtcblx0dG9wOiAxNTBweCAhaW1wb3J0YW50O1xufVxuXG4uRXZlbnRzUGFnZXtcblx0LmZiLXBhZ2V7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdH1cbn1cblxuLmZvb3RlciAuZm9vdGVyX2xlZ2Fse1xuXHRtYXJnaW4tdG9wOiAxZW07XG5cdGZvbnQtc2l6ZTogMC44ZW07XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
